Authentication Mechanisms
사람이나 사물이 누구인지 물리적으로 증명하는 다양한 인증 수단들과, 그 뒤에 숨겨진 수리적 검증 로직 및 하드웨어 보안 키의 역학을 다룹니다.
sys.entry
M
Me
hyunyoun's Blog
posts7 min read
1. Overview
인증 메커니즘(Authentication Mechanisms, AMN)은 "당신이 정말 당신인가?"라는 수리적 질문에 대해, 사용자가 가진 지식, 소유물, 혹은 신체적 특징을 통해 하드웨어가 납득할 수 있는 증거를 제시하는 '신원 확증 물리학'입니다.
학습자는 가장 원시적인 형태인 패스워드부터, 최근 하이엔드 하드웨어 보안 기술인 **FIDO2(Passkey)**까지의 물리적 진화 과정을 배웁니다. 특히, 단일 방어선이 뚫려도 시스템을 지켜내는 **다요소 인증(MFA)**의 결합 수순과, 생체 정보를 수리적 특징점으로 변환하여 물리적으로 안전하게 보관하는 법을 익깁니다. 이를 통해 서비스 진입점에서 가짜 사용자를 99.9% 확률로 수치 차단하는 하이엔드 신뢰 환경 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- Knowledge Based: 패스워드, PIN, 질문 답변의 수리적 취약성 및 강화 방안
- Possession Based: OTP, 하드웨어 보안 키(U2F), 스마트카드의 물리적 작동 원리
- Inherence Based: 지문, 안면, 홍채 인식의 수리적 매칭 알고리즘 및 위조 방지
- Multi-factor Authentication (MFA): 서로 다른 신원 입증 요소의 물리적 결합 수순
- Passwordless Mechanics: 생체 정보를 기반으로 키 쌍(Public/Private)을 이용한 비대칭 인증
Out-of-Scope
- 로그인 성공 후 어떤 데이터에 접근할지 결정하는 권한 부여(Authorization) (10-04-02 영역에서 분담)
- 암호 키 자체의 생성 및 보관을 위한 하드웨어 HSM 상세 (10-01-04 DRI 영역에서 분담)
Boundaries
- AMN vs. Authorization: AMN이 '문 앞에 선 사람의 신분증을 확인하는 일'이라면, Authorization(10-04-02)은 '신분증이 확인된 사람에게 어떤 방의 열쇠를 줄지 결정하는 일'로 구분합니다.
3. Counterexample
- 단순히 "아이디/패스워드 입력받기"라 설명하는 것은 AMN 학습이 아닙니다. 왜 일반 SMS OTP가 'SIM Swapping'과 같은 물리적 공격에 수리적으로 취약할 수밖에 없는지 증명할 수 있어야 하며, 생체 인증 정보가 서버 하드웨어 DB에 원본 이미지 형태로 저장될 때 발생하는 '유출 시 영구적 신분 상실'의 물리적 대재양을 논증하지 못한다면 인증 메커니즘의 정수를 이해하지 못한 것입니다.
4. Prerequisites
- Symmetric & Asymmetric Algorithms (Basic): 10-01-01의 공개키 기반 암호화 기초 이해가 필수입니다.
- Hash Functions & Digital Signatures (Basic): 10-01-02의 해시 함수 및 디지털 서명 이해가 필수입니다.
5. Learning Map
- The Secret Word: 가장 오래된 물리적 약속인 패스워드의 한계와 수리적 보완책(Salt 등)을 배웁니다.
- Something You Have: 휴대폰이나 보안 키라는 물리적 실체를 신분증으로 활용하는 법을 익힙니다.
- The Uniqueness of Body: 나만이 가진 신체 물리 정보를 수치화하여 가장 강력한 열쇠로 바꿉니다.
- Transparent Trust: 사용자가 아무것도 입력하지 않아도 기기 보안(Passkey)만으로 로그인이 완료되는 하이엔드 무인증 시대를 엽니다.
6. Learning Topics
Basic
Core: 지식 기반 인증과 패스워드 거버넌스 (Knowledge Physics)
- Why to Learn: 사용자가 기억하기 쉽고 해커가 맞히기 어려운 물리적 수준의 패스워드 정책을 수립하기 위해서입니다.
- What to Learn:
- Entropy vs Length: 패스워드 길이에 따른 수리적 조합 가짓수 분석
- Brute-force & Dictionary Attacks: 무차별 대입의 물리적 소요 시간() 연산
- Password Polices: 복잡도 강제와 주기적 변경의 수치적 실효성 논란
- How to Learn:
Hashcat을 사용하여 8자리 소문자 패스워드를 찾는 데 걸리는 하드웨어 연산 시간을 측정하는 실습- 대량 유출된 패스워드 리스트를 분석하여 사용자들이 갖는 물리적 선호 패턴(123456 등) 식별 훈련
- Implement: 패스워드의 엔트로피를 계산하여 점수를 매기는
StrengthMeter
Recommended
Core: 소유 기반 인증과 다요소 인증 (Multi-factor Physics)
- Why to Learn: 패스워드 하나가 털려도 물리적인 휴대폰이나 하드웨어 키 없이는 로그인을 원천 차단하기 위함입니다.
- What to Learn:
- TOTP (Time-based One Time Password): 시간 수치를 씨앗값()으로 사용하는 해시 인증
- Push-based Auth: 서버가 사용자의 하드웨어 앱에 직접 승인을 요청하는 물리 수순
- Recovery Codes: 물리적 인증 장치를 분실했을 때를 대비한 수리적 비상구
- How to Learn:
- Google Authenticator의 QR 코드를 뜯어보고, 그 안의 시크릿 키가 매 30초마다 어떻게 수리적으로 변하는지 알고리즘 대조 실습
- MFA를 해제하기 위한 '사회 공학적 공격'이 실제 기술 인증망을 어떻게 무력화하는지 시나리오 연구
- Implement: 표준 RFC 6238을 구현하여 30초마다 번호를 생성하는 기초
OTPGenerator
Practical
Core: 생체 인증과 FIDO 표준 (Biometric Standards)
- Why to Learn: 복사가 불가능한 나만의 하드웨어적 특징(지문, 눈)을 가장 안전한 수리 모델로 활용하기 위해서입니다.
- What to Learn:
- FAR (False Acceptance Rate): 남을 나로 오인할 확률의 수치적 관리
- FRR (False Rejection Rate): 나를 거부할 확률과 사용자 UX의 물리적 충돌
- FIDO2 / WebAuthn: 생체 정보를 서버에 보내지 않고 공개키 서명으로만 인증하는 표준 물리 로직
- How to Learn:
- 자신의 스마트폰 하드웨어가 지문 정보를 수리적 벡터값으로 변환한 뒤, 'Secure Enclave'에 어떻게 격리 보관하는지 아키텍처 실습
- WebAuthn 라이브러리를 통해 브라우저에서 '패스키(Passkey)'를 생성하고 서버와 자격 증명을 교환하는 전문 분석
- Implement: FIDO2 규격에 따라 등록(Registration)과 인증(Authentication) 흐름을 처리하는 가상
TrustNode
Advanced
Core: 위험 기반 인증 및 무마찰 사용자 경험 (Risk-based Trust)
- Why to Learn: 매번 로그인을 요구하지 않으면서도, 평소와 다른 지역이나 수치 징후가 보일 때만 물리적으로 검문하기 위함입니다.
- What to Learn:
- Adaptive Authentication: IP, 기기지문(Fingerprinting), 시간 수치를 종합하여 리스크 점수화
- Step-up Logic: 리스크가 특정 수치를 넘을 때만 추가 MFA를 물리적으로 강제하는 기제
- Continuous Authentication: 로그인 후에도 마우스 움직임 등 행위 수치를 상시 분석하여 세션 유지
- How to Learn:
- 공격자가 훔친 쿠키로 '세션 하이재킹'을 시도할 때, 접속 기기 정보()가 달라짐을 감지하여 차단하는 로직 설계 실습
- 수조 건의 로그인 데이터에서 '봇 계정의 수리적 특징'을 추출하여 자동으로 차단 목록에 올리는 물리 엔진 연구
- Implement: 다양한 신호(Signals)를 입력받아 리스크 등급(Low/Med/High)을 정하는
IntelligentGate
7. Terminology
8. References
Primary
- [P3] CyBOK - Software Security Knowledge Area (Authentication) — Definitive theory.
- [P5] SFIA v9 - Software Engineering / Methods and tools (Information security) — Professional skills.
Secondary
- [User Authentication Principles and Practice] — The comprehensive academic guide.
- [RFC 6238: TOTP: Time-Based One-Time Password Algorithm] — Technical standard.
Industry
- [FIDO Alliance: What is FIDO?] — Modern authentication ecosystem.
- NIST SP 800-63B: Digital Identity Guidelines (Authentication) — Regulatory benchmark.
9. Final Checklist
Primary
- '패스워드' 방식이 물리 암호 보안 측면에서 다른 인증 요소보다 수리적으로 왜 가장 취약한지 설명 가능한가? (P3)
- 'MFA' 구성 시 '동일 요소(예: 패스워드와 PIN)'를 두 번 쓰는 것이 보안 수치상 왜 의미가 없는지 기술할 수 있는 가? (P3)
Secondary
- 'TOTP' 알고리즘에서 서버와 클라이언트의 '시간 오차()'를 수리적으로 처리하는 윈도우 구간 기법을 소통 가능한가?
- Passkey가 피싱() 공격을 물리적으로 원천 차단할 수 있는 구조적 배경을 논증할 수 있는 가?
Industry
- 실무 서비스에서 보안 강도()와 사용자 편의성()의 수치적 상충 관계를 정량적으로 제안할 수 있는 가? (SFIA)
- Biometric Data의 법적 보호 규정(GDPR 등)을 준수하기 위해 해당 수치를 하드웨어 내부에서 어떻게 수리적으로 처리해야 하는지 분석할 수 있는 가?