FIDO2(Fast IDentity Online 2)는 비밀번호 없는 강력한 인증을 실현하기 위한 개방형 표준 프레임워크다. FIDO Alliance와 W3C가 공동 개발했으며, 공개키 암호화 기반의 하드웨어/생체 인증을 웹과 애플리케이션에 통합한다.
FIDO2는 두 가지 핵심 사양으로 구성된다:
WebAuthn(Web Authentication API): W3C 표준, 브라우저와 웹 플랫폼 인터페이스
CTAP(Client-to-Authenticator Protocol): FIDO Alliance 표준, 클라이언트(브라우저/OS)와 외부 인증 장치 간 통신 프로토콜
배경 및 역사
2013년: FIDO Alliance 창설 (PayPal, Lenovo, Nok Nok Labs 등)
2014년: FIDO 1.0 표준 발표 (U2F, UAF)
2018년: FIDO2/WebAuthn 발표
2019년: W3C WebAuthn Level 1 공식 권고안 채택
2021년: WebAuthn Level 2 권고안
2022년: Apple, Google, Microsoft의 패스키(Passkey) 공동 선언으로 FIDO2 생태계 폭발적 성장
기술 구조
인증 흐름 (등록)
1. 서버(Relying Party)가 챌린지(무작위 바이트) 생성 및 전송
2. 클라이언트가 챌린지를 인증기(Authenticator)에 전달
3. 인증기가 공개키/개인키 쌍 생성
4. 개인키는 인증기 내부 보안 저장소(TEE, SE)에 저장
5. 공개키, 자격증명 ID, 서명(챌린지+장치 정보) → 서버로 전송
6. 서버는 공개키와 자격증명 ID 저장
인증 흐름 (로그인)
1. 서버가 새 챌린지 전송
2. 인증기가 사용자 검증(생체인식, PIN 등) 후 개인키로 챌린지 서명
3. 서명값 → 서버로 전송
4. 서버가 저장된 공개키로 서명 검증 → 인증 완료
인증기(Authenticator) 유형
| 유형 | 예시 | 특징 |
|------|------|------|
| 플랫폼 인증기 | Face ID, Windows Hello, Touch ID | 기기에 내장, 별도 장치 불필요 |
| 로밍 인증기 | YubiKey, FIDO 보안키 | USB/NFC/BLE 연결, 기기 독립 |
WebAuthn 주요 개념
Relying Party (RP)
WebAuthn을 사용하는 서비스 제공자. RP ID는 도메인 기반(예: example.com).
자격증명 ID (Credential ID)
각 인증기-서비스 조합에 고유한 식별자. 서버가 저장.
사용자 검증(UV)과 사용자 존재(UP)
UP: 사용자가 인증기를 물리적으로 터치/조작했는지 확인
UV: 사용자가 생체인식 또는 PIN으로 신원 증명
증명(Attestation)
인증기 제조사가 해당 인증기의 진위를 증명하는 메커니즘. 기업 환경에서 장치 신뢰성 검증에 활용.
CTAP (Client-to-Authenticator Protocol)
CTAP1 (U2F)
구 FIDO U2F와 호환, 2차 인증(MFA) 보안키로 사용
CTAP2
JSON/CBOR 기반 명령 세트
주요 전송: USB HID, NFC, BLE
PIN/UV 관리, 복수 자격증명 지원
보안 특성
피싱 방지
RP ID가 도메인에 바인딩되어 있어, 피싱 사이트에서는 진짜 도메인의 개인키를 사용할 수 없음. 기존 OTP/SMS 2FA의 가장 큰 약점을 해결.
서버 측 유출 영향 최소화
서버는 공개키만 저장하므로 DB 유출 시에도 개인키 노출 없음.
중간자 공격(MITM) 방어
챌린지-응답 방식 + TLS 채널 바인딩으로 재전송 공격 불가.
지원 현황 (2026 기준)
브라우저: Chrome, Firefox, Safari, Edge 모두 지원
OS: Windows 10+, macOS 12+, iOS 16+, Android 9+ 기본 지원
하드웨어 보안키: YubiKey 5 시리즈, Google Titan Key, SoloKey 등
기업 도입 사례
Google: 직원 전원 FIDO2 보안키 필수 사용 (2018년~, 피싱 사고 0건)
Microsoft: Azure AD FIDO2 지원, 암호 없는 조직 전환 프로그램
GitHub, Dropbox, Twitter/X: FIDO2 2차 인증 지원
한계와 과제
기기 분실 시 복구 절차 필요 (패스키로 일부 해결)
레거시 시스템 연동 복잡성
기업 환경에서 인증기 관리 정책 수립 필요
접근성: 일부 장애인 사용자를 위한 대안 필요
FIDO2 - 비밀번호 없이 로그인하는 미래 기술
한 줄 요약
FIDO2는 비밀번호 대신 지문·얼굴·보안키로 로그인하는 국제 표준이야.
비밀번호의 문제점
비밀번호를 쓰면 이런 문제들이 생겨:
비밀번호 유출 → 해킹 피해
피싱 사이트에 속아서 비밀번호 입력
너무 많은 사이트에 같은 비밀번호 재사용
기억하기 어려워서 단순한 비밀번호 사용
FIDO2는 이 모든 문제를 해결하기 위해 만들어진 기술이야!
FIDO2가 뭐야?
FIDO = Fast IDentity Online (빠른 온라인 신원 확인)
FIDO Alliance라는 단체(구글, 애플, MS, 삼성 등이 참여)가 만든 국제 표준이야.
두 가지 기술로 이루어져 있어:
WebAuthn: 웹 브라우저가 이해하는 언어 (W3C 표준)
CTAP: 보안키 같은 외부 장치와 통신하는 프로토콜
어떻게 동작하나?
공개키 암호화의 원리
FIDO2는 자물쇠-열쇠 시스템을 이용해:
공개키(자물쇠): 서버에 저장 (유출돼도 위험 없음)
개인키(열쇠): 내 기기에만 저장 (절대 외부로 나가지 않음)
로그인 시 서버가 "이 문제를 개인키로 풀어봐"라는 퀴즈를 보내면, 내 기기가 지문이나 얼굴 인식으로 신원 확인 후 개인키로 답을 보내. 서버는 공개키로 답이 맞는지 확인해.
등록 과정
1. 서비스에 처음 가입할 때 지문/얼굴로 등록
2. 내 기기에 공개키·개인키 쌍이 생성됨
3. 공개키만 서버로 전송
4. 개인키는 내 기기의 보안 칩(TEE)에 저장
로그인 과정
1. 서비스 접속 → 서버가 무작위 퀴즈 전송
2. 내 기기 → 지문/얼굴로 잠금 해제
3. 개인키로 퀴즈에 서명
4. 서버가 공개키로 서명 확인 → 로그인 완료!
피싱을 막는 비법
가장 똑똑한 점이야!
네가 가짜 네이버 사이트(예: naver-login.com)에 속아도:
FIDO2는 진짜 도메인(naver.com)에만 작동하도록 설정돼 있어
가짜 사이트에서는 절대 로그인이 안 돼!
비밀번호처럼 입력만 하면 도둑맞는 일이 없어
실제로 어떻게 생겼어?
지문/얼굴 인식 (플랫폼 인증기)
스마트폰이나 노트북의 내장 센서를 사용해.
아이폰의 Face ID, Touch ID
갤럭시의 지문 인식
윈도우 Hello (얼굴 인식)
물리 보안키 (로밍 인증기)
USB 형태의 작은 열쇠야.
YubiKey: 전 세계에서 가장 많이 쓰이는 보안키
Google Titan Key
구글 직원들은 이걸 쓴 이후로 해킹 0건!
지원 현황
크롬, 사파리, 파이어폭스, 엣지 모두 지원
아이폰 iOS 16+, 안드로이드 9+ 지원
GitHub, Google, Microsoft, Dropbox 등에서 사용 가능
FIDO2 vs 기존 방식 비교
| | 비밀번호 | OTP(문자 인증) | FIDO2 |
|--|---------|-------------|-------|
| 피싱 방어 | ❌ | ❌ | ✅ |
| 서버 유출 위험 | ❌ | ❌ | ✅ |
| 사용 편의성 | 보통 | 불편 | 편리 |
| 기기 분실 시 | - | - | 백업 필요 |
FIDO2 - 비밀번호 없이 로그인해요!
FIDO2가 뭐예요?
FIDO2는 비밀번호 없이 지문이나 얼굴로 로그인하는 특별한 기술이에요!
지금 많은 사람들이 여러 사이트에서 비밀번호를 쓰는데, 비밀번호는 도둑맞거나 잊어버리기 쉬워요. FIDO2는 이 문제를 해결해줘요.
어떻게 동작하나요?
자물쇠와 열쇠를 생각해봐요
FIDO2는 두 개의 키를 사용해요:
공개 키(자물쇠): 서버에 보관 - 누가 봐도 괜찮아요
개인 키(열쇠): 내 폰/컴퓨터에만 보관 - 절대 밖에 나가지 않아요
로그인할 때 서버가 "열쇠로 이 자물쇠 열어봐!"라고 하면, 내 기기가 지문이나 얼굴을 확인하고 열쇠로 열어줘요.
실제로 어떻게 써요?
지문으로 로그인
스마트폰이나 노트북에 있는 지문 인식기를 써요.
엄지손가락을 올려놓으면 바로 로그인!
얼굴로 로그인
카메라가 얼굴을 인식해서 로그인해요.
아이폰의 Face ID가 바로 이 방식이에요!
보안키로 로그인
USB 모양의 작은 열쇠를 컴퓨터에 꽂아요.
버튼을 누르면 로그인 완료!
왜 비밀번호보다 좋아요?
1. 잊어버릴 걱정 없어요! - 지문과 얼굴은 항상 가지고 다니니까요
2. 도둑맞지 않아요! - 개인 키는 내 기기 안에만 있어요
3. 가짜 사이트에 속지 않아요! - 진짜 사이트에서만 작동해요
4. 빠르고 편해요! - 비밀번호 입력 없이 바로 로그인!
어디서 사용해요?
구글 계정
마이크로소프트 계정
깃허브
드롭박스
그리고 점점 더 많은 서비스들!
재미있는 사실
구글 회사에서는 직원들이 전부 FIDO2 보안키를 사용하기 시작한 후로 해킹 사고가 0번이 됐어요!
비밀번호보다 훨씬 안전하고 편리한 미래의 로그인 방식이에요!
FIDO2
Overview
FIDO2 (Fast IDentity Online 2) is an open standard framework designed to implement robust, password-less authentication across web and application platforms. Developed collaboratively by FIDO Alliance and W3C, it integrates hardware and biometric authentication leveraging public key cryptography into web environments seamlessly.
FIDO2 comprises two core specifications:
WebAuthn (Web Authentication API): A W3C standard facilitating interaction between browsers and web platforms.
CTAP (Client-to-Authenticator Protocol): A FIDO Alliance standard defining communication protocols between client devices (browsers/OS) and external authentication devices.
Background and History
2013: Establishment of FIDO Alliance (founded by entities including PayPal, Lenovo, and Nok Nok Labs)
2014: Introduction of FIDO 1.0 standards (U2F, UAF)
2018: Launch of FIDO2 and WebAuthn
2019: Adoption of W3C WebAuthn Level 1 Recommendation
2021: Publication of WebAuthn Level 2 Recommendation
2022: Significant growth in FIDO2 ecosystem following joint declarations by Apple, Google, and Microsoft on Passkeys
Technical Architecture
Authentication Flow (Registration)
1. Server (Relying Party) generates and sends a challenge (random byte sequence).
2. Client forwards this challenge to the authenticator device.
3. Authenticator creates a pair of public and private keys.
4. The private key is securely stored within the device’s Trusted Execution Environment (TEE) or Secure Element (SE).
5. The authenticator sends the public key, credential ID, and a signature (combining challenge and device information) back to the server.
6. Server stores the public key and credential ID for future verification.
Authentication Flow (Login)
1. Server sends a new challenge.
2. Authenticator verifies the user (through biometrics or PIN) and generates a signature using the private key for the challenge.
3. The signature is sent back to the server.
4. Server verifies the signature against the stored public key, confirming authentication.
Types of Authenticators
| Type | Examples | Features |
|---------------------|-------------------------------|-----------------------------------------------|
| Platform Authenticator | Face ID, Windows Hello, Touch ID | Built into devices, no need for additional hardware |
| Remote Authenticator | YubiKey, FIDO Security Keys | Connect via USB/NFC/BLE, device agnostic |
Key Concepts in WebAuthn
Relying Party (RP)
Service providers utilizing WebAuthn, identified by domain names (e.g., example.com).
Credential ID (Certificate Identifier)
Unique identifier for each authenticator-service pairing, stored by the server.
User Verification (UV) and Presence Verification (UP)
UP: Ensures physical interaction with the authenticator (touch/manipulation).
UV: Confirms user identity through biometric data or PIN entry.
Attestation
Mechanism by which authenticator manufacturers verify the authenticity of their devices, crucial for enterprise trust validation.
CTAP (Client-to-Authenticator Protocol)
CTAP1 (U2F)
Backward compatible with older FIDO U2F standards, primarily used for multi-factor authentication (MFA) security keys.
CTAP2
Command Set: Based on JSON/CBOR formats.
Transmission Methods: USB HID, NFC, BLE.
Features: PIN management, support for multiple credentials.
Security Attributes
Protection Against Phishing
RP IDs are domain-bound, preventing phishing attacks from accessing genuine device keys, addressing a major vulnerability in traditional OTP/SMS MFA.
Minimized Impact of Server Data Breaches
Servers store only public keys, mitigating risks even if databases are compromised, ensuring private key security remains intact.
Defense Against Man-in-the-Middle (MITM) Attacks
Combination of challenge-response mechanisms and TLS binding prevents replay attacks effectively.
Adoption Status (as of 2026)
Browsers: Full support across Chrome, Firefox, Safari, and Edge.