2026-02-04
1일 1아티클
요즘IT
WebAuthn(Web Autentication)
탄생 배경
- 기존 웹사이트
- ID / PW 기반 로그인이 일반적
- 안전을 담보로, 특수문자나 대소문자 포함한 길고 복잡한 PW 요구
- 주기적 PW 변경 요구
- 사용자 불편 증가
- 기존 로그인 문제 해결을 위해 등장
- 주체 : FIDO Alliance (MS, Google, Apple, Amazon, etc.)
- 의미 :
Passkey의 기술적 용어, “공개 키 암호화로 보호되는 피싱 저항 신원 증명”
구성 요소
- 인증기(Authenticator)
- W3C 표준에서 명시된 바가 없어, 다양한 인증기 사용 가능
- ex. Apple Keychain, MS Windows Hello, Google 비밀번호 관리자
- 웹 브라우저
- 신뢰 당사자(Relying party)
웹 사이트별 고유한 자격 증명 보장, 인증 과정에서 사용자의 생체 정보가 브라우저나 신뢰 당사자로 미전송 (인증기 내부에서만 사용) → 신뢰 당사자는 전달받은 공개 키만을 활용, 웹 브라우저가 보낸 서명 유효성 검증
동작 원리
- 사용자가 입력한 정보(이메일, 이름, etc.)와 함께 패스키 등록
- 패스키 등록 : 인증기에 웹 서버 도메인과 연결된 개인키 / 공개키 생성 → 공개키를 웹 서버 DB에 저장
- 챌린지 송수신 : 서버가 생성한 일회용 무작위 난수 → 보안 측면에서 재전송 공격 방지를 위한 요소 (인증 안정성 보장)
- 사용자 입장에서는 정보 입력 후 지문/얼굴/PIN 등으로 본인 확인만 거침 → 인증 과정 단순
- 로그인 절차 : 패스키 인증 과정 (인증기가 개인키로 서명한 정보를 웹 서버로 전송 → 웹 서버는 등록해둔 공개키로 서명 검증)
- 패스키 관리 : 도메인과 한 쌍, 가짜 사이트에서 키 생성 및 사용 불가
관련 라이브러리
- Java
webauthn4j/webauthn4jjava-webauthn-serververtx-auth/webauthn
한계
- 2019년에 W3C 권고안으로 지정 → 사용 기기 제약 존재
오늘 배운 것
- 리팩토링, 오류 해결 등 기타 업무
- PPT 마무리
내일 할 일
- UT 가이드라인 작성