2023년 6월 12일
패스키 (Passkey)
1. 사용자 인증 방식 발전 과정
![]() |
- 초기 인증 방식은 비밀번호만 사용하여, 비밀번호 유출로 인한 보안 사고 발생 증가
- 비밀번호+MFA 방식은 사용자 단말 분실/교체 시 복원이 어렵고, 피싱 등 사회공학 공격에 취약
- 패스키 방식은 사용자 단말 분실/교체 시에도 복원 쉽고, 등록된 웹사이트나 APP/브라우저만 허용하여 인증하므로 기존 인증 방식의 근본적인 문제점 해결 가능
2. 비밀번호 없는 안전한 인증 방식, 패스키의 개요
(1) 패스키 (Passkey)의 개념
(2) 패스키의 특징
비밀번호 불필요 | Relying party에서 비밀번호 대신 공개키를 저장 및 관리 |
서비스 별 고유성 | 서비스/웹사이트 별 고유한 패스키 생성, 재사용 불가 |
비정상 인증 방지 | 패스키는 사용자 장치에 저장, 개인키는 Authenticator에 저장, 보안 강화 |
피싱 방지 | 패스키 생성 시 등록된 웹사이트나 APP, 브라우저에서만 사용 가능 |
- 피싱 공격 방지를 위해 사용자가 정확한 웹사이트 주소 확인 및 APP/브라우저 해킹 인지 불필요
- 비밀번호 방식 등 기존 인증 방식의 근본적인 문제점을 해결하여, 사용자는 비밀번호 기억이 불필요하고 서비스 제공자는 비밀번호 유출에 따른 법적 리스크 감소
3. 패스키 인증 메커니즘 및 구성 요소
(1) 패스키 인증 메커니즘
![]() |
(2) 패스키 인증 환경 구성 요소
구분 | 구성 요소 | 역할 |
---|---|---|
사용자/인증 상호작용 측면 | Authenticator | – 사용자의 신원 증명을 위한 인증 – 인증 대상 개인키를 저장/서명 |
Client application | – 사용자와 상호작용하는 Front-end APP – 사용자의 패스키 인증 및 등록 절차 수행 | |
Relying party | – 사용자가 요청한 리소스 접근 여부 결정 – 패스키 인증 및 등록 Back-end APP | |
인증 수행 측면 | Application layer | – 자격 증명 관리 핵심 비즈니스 로직 담당 – 자격 증명 저장소 참조하여 패스키 등록/인증 |
Identity provider | – 인증 토큰(OAuth2) 발급 서비스 – 솔루션 유형에 무관한 패스키(WebAuthn) 지원 | |
Credential repository | – 인증에 사용되는 자격 증명(공개키) 저장소 – 공개키, 자격 증명 ID 및 사용자 핸들 저장 | |
Metadata repository | – 등록된 인증자의 제조사와 모델 식별 – 모범 사례에 포함되는 옵션 구성 요소 |
- 패스키는 FIDO Alliance에서 표준화, Google, Microsoft, Apple 등 빅테크 기업을 시작으로 적용 확산
4. 패스키 등록/인증 과정
(1) 패스키 등록 과정
![]() |
(2) 패스키 인증 과정
![]() |
- Google, Microsoft, Apple 등 빅테크 기업을 시작으로 패스키 사용 환경이 확대되고 있으며, SK텔레콤 등 국내에서도 패스키 인증 지원을 통한 패스키 사용 환경 확대중
[참고]
- fido alliance, Passkeys
- dev.yubico, Passkeys