서버 측 패스키 구현 소개

개요

동기화된 패스키를 사용하는 경우 사용자는 패스키 제공업체를 통해 인증합니다.

패스키를 만들고 인증하려면 웹에는 WebAuthn API를, Android 앱에는 Credential Manager API를 사용합니다. 이러한 API는 클라이언트와 패스키 제공자 간의 통신을 처리합니다.

이러한 API는 클라이언트(예: 웹페이지 또는 Android 앱)에서 호출되지만 인증 사용 사례를 완료하려면 나머지 기능을 서버에 구현해야 합니다.

패스키 구현은 다음 두 가지 기능으로 구성됩니다.

  1. 패스키 등록. WebAuthn API 또는 Credential Manager API를 사용하여 사용자가 패스키를 만들 수 있도록 합니다. 연결된 공개 키를 서버에 저장합니다.
  2. 패스키로 인증 서버에서 인증 질문을 가져오고 WebAuthn API 또는 인증 관리자 API를 사용하여 사용자가 패스키로 본인 확인 요청에 서명하도록 허용합니다. 서버에서 서명을 확인합니다. 서명이 유효하면 사용자를 인증합니다.

서버 측 라이브러리

서버 측 패스키 기능을 처음부터 구현할 수도 있지만 대신 라이브러리를 사용하는 것이 좋습니다.

패스키 생성 및 인증을 지원하는 서버를 FIDO2 서버 또는 줄여서 FIDO 서버라고 합니다. 더 나아가 여기에서 패스키 지원을 구현하는 서버 측 라이브러리를 FIDO 서버 측 라이브러리라고 합니다.

라이브러리를 사용해야 하는 이유

FIDO 서버 측 라이브러리를 사용하면 다음과 같은 몇 가지 이점이 있습니다.

  • 시간 및 개발자 환경. WebAuthn 사양은 복잡합니다. FIDO 서버 측 라이브러리는 패스키 구현을 위한 간단한 API를 제공하여 시간과 개발 리소스를 절약할 수 있습니다.
  • 유지 관리성: WebAuthn 사양은 여전히 변경될 수 있습니다. 활발하게 유지관리되는 최신 버전의 라이브러리를 사용하면 구현을 최신 상태로 유지하는 데 도움이 됩니다.
  • 보안 및 규정 준수. 패스키 구현이 WebAuthn 사양 및 보안 요구사항을 준수하도록 해야 합니다. FIDO 서버 측 라이브러리를 사용하면 구현을 안전하게 유지하고 사양을 준수하는 데 도움이 됩니다. 제품 및 산업에 따라 인증에 특정 보안 표준을 사용하도록 요구하는 규정이 적용될 수도 있습니다.

가능하다면 제품에 의존하는 오픈소스 프로젝트를 재정적으로 지원하는 방안을 고려하세요.

라이브러리

다음 단계