FIDO 2.0 Signature Format
FIDO의 3가지 스펙 문서 중 두 번째인 Signature Format에 대해서 정리한다.
Client encoding of assertions
Client Platform 은 Authenticator Assertion을 사용하여 아래와 같은 형태의 FIDOASSertion 객체를 생성하여 Relying Party에 반환해야 한다.
1 | interface FIDOASSertion { |
- Credential credential
Assertion을 생성하는 데 사용된 자격 증명을 나타내는 객체 - DOMString clientData
clientDataJSON을 base64url 기반으로 인코딩한 값 - DOMString authenticatorData
authenticatorData base64url 기반으로 인코딩한 값 - DOMString signature
Authenticator가 반환한 Raw Signature를 base64url 기반으로 인코딩한 값
FIDOASSertion은 FIDO Web API에 따라 플랫폼 특정 방식을 따르지만 Web 애플리케이션의 경우 Relying Party로 전달된다.
이 FIDOASSertion에는 Relying Party의 FIDO 서버가 Signature를 기반으로 한 문자열을 재구성하고 클라이언트 및 Authenticator Data를 디코딩하거나 유효성을 검증하는 데 필요한 정보가 모두 들어있다.