2026-02-04

1일 1아티클

요즘IT

WebAuthn(Web Autentication)

탄생 배경

  • 기존 웹사이트
    • ID / PW 기반 로그인이 일반적
    • 안전을 담보로, 특수문자나 대소문자 포함한 길고 복잡한 PW 요구
    • 주기적 PW 변경 요구
    • 사용자 불편 증가
  • 기존 로그인 문제 해결을 위해 등장
    • 주체 : FIDO Alliance (MS, Google, Apple, Amazon, etc.)
    • 의미 : Passkey의 기술적 용어, “공개 키 암호화로 보호되는 피싱 저항 신원 증명”

구성 요소

  1. 인증기(Authenticator)
    • W3C 표준에서 명시된 바가 없어, 다양한 인증기 사용 가능
    • ex. Apple Keychain, MS Windows Hello, Google 비밀번호 관리자
  2. 웹 브라우저
  3. 신뢰 당사자(Relying party)

웹 사이트별 고유한 자격 증명 보장, 인증 과정에서 사용자의 생체 정보가 브라우저나 신뢰 당사자로 미전송 (인증기 내부에서만 사용) → 신뢰 당사자는 전달받은 공개 키만을 활용, 웹 브라우저가 보낸 서명 유효성 검증

동작 원리

  • 사용자가 입력한 정보(이메일, 이름, etc.)와 함께 패스키 등록
  • 패스키 등록 : 인증기에 웹 서버 도메인과 연결된 개인키 / 공개키 생성 → 공개키를 웹 서버 DB에 저장
  • 챌린지 송수신 : 서버가 생성한 일회용 무작위 난수 → 보안 측면에서 재전송 공격 방지를 위한 요소 (인증 안정성 보장)
  • 사용자 입장에서는 정보 입력 후 지문/얼굴/PIN 등으로 본인 확인만 거침 → 인증 과정 단순
  • 로그인 절차 : 패스키 인증 과정 (인증기가 개인키로 서명한 정보를 웹 서버로 전송 → 웹 서버는 등록해둔 공개키로 서명 검증)
  • 패스키 관리 : 도메인과 한 쌍, 가짜 사이트에서 키 생성 및 사용 불가

관련 라이브러리

  • Java
    • webauthn4j/webauthn4j
    • java-webauthn-server
    • vertx-auth/webauthn

한계

  • 2019년에 W3C 권고안으로 지정 → 사용 기기 제약 존재

오늘 배운 것

  1. 리팩토링, 오류 해결 등 기타 업무
  2. PPT 마무리

내일 할 일

  1. UT 가이드라인 작성

참고자료

results matching ""

    No results matching ""