FIDO UAF
From IT Wiki
- FIDO Universal Authentication Framework
아키텍처
디바이스
- 서비스를 제공하는 응용 애플리케이션(Relying-Party Application)과 사용자 인증을 수행하기 위한 FIDO 클라이언트로 나뉜다.
응용 애플리케이션(Relying-Party Application)
- RP(Relying Party) 애플리케이션이라고도 부른다.
- 인증 서비스를 제공하는 어플리케이션을 의미
- 뱅킹 앱, 공동인증 앱, 신용카드 결제 앱 등
- FIDO 클라이언트를 통해 인증기능 이용
FIDO 클라이언트
- 표준화된 ASM을 통하여 RP 애플리케이션에서 필요로하는 인증장치 검색 및 연동
ASM(Authenticator Specific Module)
- 인증장치 사용을 위한 드라이버
인증장치(Authenticator)
- 지문, 홍채, 얼굴 등 실제 바이오인식을 담당하는 모듈
서버
응용 서버(Relying-Party Server)
- RP(Relying Party) 서버라고도 부른다.
- RP 애플리케이션의 서비스를 처리하며, 인증요청을 FIDO 서버로 전달
FIDO 서버
- RP 서버의 요청을 받아서 인증을 처리하고 결과를 RP 서버로 반환
프로토콜
- 크게 등록(Registration), 인증(Authentication), 거래확인(Transaction Confirmation), 해지(Deregistration)로 구성
등록(Registration)
- FIDO 인증장치에서 생성된 보안 정보를 FIDO 서버에 등록하는 과정
- 사용자의 인증정보(예:지문특징정보)를 어떻게 FIDO 인증장치에 등록해야 하는지 다루지 않음
- FIDO 인증장치를 제공하는 기업에서 사용자 인증정보 등록절차를 스스로 결정
- 프로세스
- 사용자가 응용 서비스에 ID와 패스워드를 등록한 상태에서 응용 애플리케이션을 통해 인증 수단을 패스워드에서 지문으로 변경 요청한다.
- 응용 애플리케이션과 서버는 사용자 패스워드를 확인한 후에 FIDO 등록 요청 메시지를 FIDO 서버에 요청한다.
- FIDO 서버는 응용 서비스의 인증정책이 포함된 FIDO 등록 요청 메시지를 생성하고 응용 서버와 응용 애플리케이션을 통해 FIDO 클라이언트에 전달한다.
- FIDO 인증장치는 사용자로부터 지문을 입력 받고 등록된 지문과 일치한다고 판단하면, 해당 FIDO 서버에 사용자를 등록하기 위한 공개키-개인키 쌍을 생성한다.
- FIDO 인증장치는 생성된 공개키와 공개키의 증명(attestation) 정보가 포함된 FIDO 등록 응답 메시지를 응용 애플리케이션과 응용 서버를 통해 FIDO 서버에 전달하며, 생성된 개인키는 FIDO 인증장치 내에 저장한다.
- FIDO 서버는 공개키의 증명 정보를 인증장치 메타데이터를 이용해 확인하고, FIDO 등록 응답 메시지 내의 사용자 공개키를 FIDO 서버에 저장한 후, 그 결과를 반환한다.