FIDO2 및 WebAuthn 용어 가이드

World Wide Web Consortium(W3C)은 2019년 3월에 WebAuthn이 비밀번호가 필요 없는 로그인을 위한 공식 웹 표준으로 선정되었다고 발표했습니다. 광범위한 애플리케이션(Microsoft Edge, Chrome, Firefox, Mobile)에서 지원되기 때문에 앞으로 WebAuthn의 도입이 확산될 것으로 예상됩니다. 우리는 이전 블로그 포스트에서 몇 가지 사례를 통해 WebAuthn이 고객 경험을 개선하고 보안 역량을 강화하는 데 어떤 도움이 되는지 알아보았습니다.

이번 블로그 포스트에서는 새로운 표준을 도입하는 데 유용했던 기술적 빌딩 블록과 프로토콜에 대해서 알아보겠습니다.

FIDO2란 무엇인가?

FIDO2는 FIDO Alliance와 World Wide Web Consortium(W3C)에서 시행한 프로젝트입니다. 이 표준은 W3C Web Authentication(WebAuthN) 브라우저 API 표준과 FIDO Client to Authenticator Protocol(CTAP)로 구성되어 있습니다. 또한 FIDO Alliance가 Universal 2nd Factor(U2F) 인증 표준화를 위해 이전에 실행한 작업에 기반을 두고 있습니다.

FIDO2는 기본적인 로그인을 넘어서는 빌딩 블록과 함께 특히 강력한 첫 번째 웹 인증 표준을 나타냅니다.

 

FIDO2%253D

CTAP란 무엇인가?

Client to Authenticator Protocol의 줄임말인 CTAP는 FIDO2 기반 디바이스가 블루투스, USB 또는 근거리 무선 통신(NFC)을 통해 외부/로밍 인증자에게 연결되도록 프로토콜을 말합니다.

 

unnamed 0

이 프로토콜은 디바이스 간 인증 채널을 안전하게 보호합니다. 디바이스 간 통신은 일반적으로 사용자가 소유한 암호화 로밍 인증자(예: 스마트폰, 하드웨어 키)와 클라이언트 플랫폼(예: 노트북) 간에 이루어집니다.

CTAP 프로토콜은 엔드 유저가 로밍 인증자(예: 스마트폰 등)와 상호작용해야 하는 플랫폼(예: Mac)에서 신뢰 당사자(웹사이트 또는 기본 앱)와 상호작용하는 시나리오에 사용됩니다.

CTAP1은 외부 인증자가 2차 인증 요소를 제공할 것이라고 예상되는 경우에 적용되는 이전 표준입니다. CTAP2에서는 외부 인증자가 1차 인증 요소와 2차 인증 요소로 사용되어 비밀번호에 대한 의존도가 사라집니다.

 

CTAP_defined

인증자란 무엇인가?

인증자란 필요할 때 비밀번호나 생체인식 입력과 같은 사용자 제스처를 인식할 수 있는 디바이스를 말합니다.

더 나아가 플랫폼 인증자라고 하면 노트북과 같은 디바이스에 통합되는 인증자를 가리킵니다. 디바이스와 밀접하게 결합되기 때문에 사용자 제스처를 인식하기 위해 USB, NFC, 블루투스와 같은 보안 전송 프로토콜이 필요하지 않습니다. 일반적인 플랫폼 인증자로는 TouchID, FaceID, Windows Hello 등이 있습니다.

로밍 인증자는 보안 전송 프로토콜을 통해 어떤 노트북이든 연결할 수 있는 휴대용 인증자를 말합니다. 이러한 인증자는 반드시 CTAP 프로토콜을 지원해야 합니다. 일반적인 로밍 인증자로는 YubiKeys, 블루투스 지원형 스마트폰 애플리케이션 등이 있습니다.

 

인증자

전체 FIDO2 인증자 목록은 FIDO Alliance 웹사이트에 나와 있습니다.

브라우저는 무슨 역할을 하는가?

WebAuthn에서 지원되는 브라우저는 다음과 같은 기능이 필수입니다.

  1. 작업 메시지 작성
  2. 확장자 처리
  3. 기능이 부족한 인증자에게 사용자 인터페이스 제공
  4. 오류 처리 및 기록 관리

이미 대부분의 최신 브라우저가 WebAuthn API를 지원하고 있습니다. 다음은 WebAuthn 표준을 지원하는 유용한 브라우저 목록입니다.

 

unnamed 1 0

이미지 출처: https://github.com/apowers313/fido2-webauthn-status

신뢰 당사자(웹 서버)란 무엇인가?

신뢰 당사자란 FIDO2 표준에 따라 강력한 자격 증명을 사용해 인증할 수 있는 애플리케이션을 말합니다. 애플리케이션 유형에 따라 다르지만 webauthn을 호출하는 네이티브 애플리케이션도 webauthn 클라이언트가 될 수 있습니다. 혹은 호출을 중개하는 웹 브라우저도 가능합니다.

U2F와 UAF 무엇인가?

Universal 2nd Factor의 줄임말인 U2F는 USB 또는 NFC 전용 디바이스를 사용해 이중 요소 인증을 강화 및 간소화하는 개방형 인증 표준으로, 표준 공개 키 암호화 방식을 사용합니다.

Universal Authentication Factor의 줄임말인 UAF는 비밀번호를 대체할 수 있는 기본 인증 프레임워크로서 '비밀번호가 필요 없는 경험'을 제공합니다.

UAF와 U2F를 모두 지원하는 웹 서비스는 로컬 디바이스를 통해 인증을 요청한 후 다시 해당 인증을 수신하여 사용자의 로그인을 허용합니다.

 

 

UAF_U2F

 

passwordless_second_factor

이미지 출처: FIDO Alliance

다음 단계

지금까지 기본적인 용어에 대해 살펴보았으므로 다음 시리즈 포스트에서는 사용자 등록, 인증 및 계정 복구 프로세스에 대해 알아보겠습니다. 그 밖에 자세한 내용은 아래 Oktane19 세션을 참조하십시오. Webauthn에 대해 자세히 설명되어 있습니다.