FIDO 인증은 공개 키 암호화(PKC)를 사용하여 사용자 계정과 연결된 고유의 암호화 키 쌍을 생성합니다. '패스키'라고 하는 이 키 쌍은 서비스 제공업체에 보관되는 공개 키와 사용자 장치에 있는 개인 키로 구성됩니다.
사용자가 계정에 로그인하면 서비스 제공자는 사용자의 장치에 도전 과제(주로 무작위 문자열)를 보냅니다. 그러면 이 장치는 사용자가 PIN 입력이나 생체 인증을 통해 본인임을 인증하도록 요청합니다.
사용자가 인증에 성공하면 장치는 개인 키를 사용하여 도전 과제에 서명하고 서비스 제공업체에 다시 전송합니다. 서비스 제공업체는 공개 키를 사용하여 올바른 개인 키가 사용되었는지 검증하고, 개인 키가 정확하면 사용자에게 계정 액세스 권한을 부여합니다.
한 장치에 저장된 암호 키를 사용해서 다른 장치에서 서비스에 로그인할 수 있습니다. 예를 들어 사용자가 휴대전화에서 이메일 계정에 대한 패스키를 설정해도, 노트북에서 해당 계정에 로그인하는 데 문제가 없습니다. 사용자는 등록된 모바일 장치에서 인증 도전 과제를 완료합니다.
또한 FIDO는 '하드웨어 토큰'이라고 부르기도 하는 보안 키를 인증 수단으로 사용하도록 지원합니다. FIDO 보안 키는 키 쌍을 만들고 도전 과제에 서명할 수 있는 작은 전용 실물 장치이며 블루투스, NFC(근거리 통신) 프로토콜, USB 포트를 통해 다른 장치에 연결됩니다. FIDO 보안 키는 인증 프로세스에서 생체 인식 데이터나 PIN 대신 사용할 수 있습니다. 키를 소유했다는 사실을 통해 사용자를 인증하는 것입니다.
개인 키는 사용자의 장치에 저장되고 절대 외부로 유출되지 않기 때문에 보안 위반 가능성이 최소화됩니다. 해커는 데이터베이스에 침입하거나 통신을 가로채는 방법으로 이 장치를 훔칠 수 없습니다. 서비스 공급자가 가지고 있는 공개 키에는 민감한 정보가 들어있지 않아서 해커에게 별 쓸모가 없습니다.