스물두줄

정보관리기술사 · 정보보안

FIDO 비밀번호 없는 인증

FIDO는 비밀번호 없이 공개 키 암호와 로컬 인증으로 사용자를 확인하는 개방형 인증 표준이다. 핵심은 비밀번호를 쓰지 않는 것, 공개 키 암호를 쓰는 것, 생체나 PIN 확인을 기기 안에서 처리하는 것이다. 패스워드 유출과 크리덴셜 스터핑 피해가 이어지면서 비밀번호…

주요 장면

  1. 0:02 FIDO 정의
  2. 0:26 구성 요소
  3. 0:56 등록과 인증 흐름
  4. 1:21 UAF·U2F·FIDO2 비교
  5. 1:48 1.0과 2.0 연혁
  6. 2:24 흔한 실수와 직접 풀기
  7. 3:01 정리와 정답

대본

FIDO 정의

FIDO는 비밀번호 없이 공개 키 암호와 로컬 인증으로 사용자를 확인하는 개방형 인증 표준이다.

핵심은 비밀번호를 쓰지 않는 것, 공개 키 암호를 쓰는 것, 생체나 PIN 확인을 기기 안에서 처리하는 것이다.

패스워드 유출과 크리덴셜 스터핑 피해가 이어지면서 비밀번호 없는 인증이 실무 과제가 됐다.

구성 요소

FIDO 인증은 인증자, 클라이언트, 의존 당사자 세 요소가 프로토콜로 연결된 구조다.

인증자와 클라이언트 사이는 CTAP으로, 클라이언트와 RP 사이는 WebAuthn으로 통신한다.

인증자는 개인키를 가진 유일한 주체이고, RP는 공개키만 가진다.

클라이언트는 키 내용을 모른 채 메시지만 전달하므로, 서버가 유출돼도 인증에 쓸 비밀이 남지 않는다.

등록과 인증 흐름

FIDO 방식은 등록과 인증 두 단계로 이루어진다.

등록은 로컬 인증으로 기기를 풀면 키 쌍이 생성되고, 공개키가 서버에 등록되는 과정이다.

인증은 RP가 챌린지를 보내면 기기가 개인키로 서명해 응답하는 과정이다.

서버는 등록된 공개키로 서명을 검증하고, 성공하면 로그인을 완료한다.

UAF·U2F·FIDO2 비교

세 규격은 인증 요소와 사용 목적이 달라 표로 나란히 비교한다.

UAF는 생체 정보를 단말에서 처리하고 결과만 보내므로, 서버에 생체 원본이 남지 않는다.

U2F는 기존 패스워드 로그인 위에 보안 토큰의 서명을 덧붙이는 구조다.

FIDO2는 두 규격의 장점을 웹 표준으로 통합한 결과다.

1.0과 2.0 연혁

FIDO 규격은 2013년 출범 이후 U2F, UAF, FIDO 2.0 순으로 발표됐다.

2019년 3월에는 W3C의 WebAuthn 권고안이 공식 웹 표준이 되었다.

1.0은 2014년의 U2F·UAF 제안 표준이고, 2.0은 WebAuthn과 CTAP2를 묶은 FIDO2다.

초기 U2F는 비밀번호에 더하는 2차 요소였고, 이후 FIDO2는 비밀번호 없는 웹 인증을 목표로 확장됐다.

흔한 실수와 직접 풀기

흔한 실수는 서버에 생체정보가 저장된다고 쓰는 것이다.

생체정보와 개인키는 로컬 장치를 떠나지 않고, 서버에는 공개키만 등록된다.

UAF는 생체 등으로 패스워드 없이 인증하고, U2F는 패스워드 뒤에 토큰으로 추가 인증한다.

FIDO2는 U2F와 같은 것이 아니라 WebAuthn과 CTAP2로 구성된 규격 세트다.

정리와 정답

정답은 UAF다. 패스워드 없이 생체 등으로 인증하는 방식이다.

이 장면의 핵심은 UAF와 U2F의 구분, 그리고 FIDO2의 구성이다.

채점에서는 공개키 등록과 개인키 서명 구조를 정확히 쓰는지 본다.

같은 장의 영상