본문으로 건너뛰기

패스키 (Passkeys, WebAuthn)

패스키 (Passkey)는 기존 비밀번호보다 더 안전하고 사용자 친화적인 대안을 제공합니다. 공개키 암호화 방식을 사용하여, 패스키는 사용자의 디바이스, 서비스 도메인, 사용자 ID를 연결함으로써 피싱 및 비밀번호 공격을 효과적으로 방지하고 보안을 강화합니다. 다양한 디바이스 또는 브라우저와 호환되며, 사용자는 생체 인증 및 하드웨어 보안 기능을 활용하여 편리하게 인증 (Authentication)할 수 있습니다. WebAuthn은 웹사이트가 패스키를 구현할 수 있도록 API를 제공합니다.

Logto는 이제 다단계 인증 (MFA)을 위한 패스키(WebAuthn)를 지원합니다. 패스키 로그인 기능은 곧 제공될 예정입니다. 업데이트를 기대해 주세요.

개념 (Concepts)

고객들은 일반적으로 WebAuthn보다는 패스키(Passkeys)를 더 잘 알고 있습니다. 그렇다면 이 둘의 관계는 무엇이며, 어떻게 사용해야 할까요? 다음 개념을 살펴보세요:

  • 패스키 (Passkeys): 패스키는 비밀번호를 대체하는 FIDO 기반의 피싱 저항 인증 정보입니다. 비대칭 공개키 암호화를 활용하여 보안을 강화합니다. USB 또는 Bluetooth 장치와 같은 하드웨어 토큰이나 보안 키가 될 수 있습니다. "패스키"는 사용자에게 표시되는 인증 (Authentication) 방식이므로, 제품 클라이언트 내에서 사용해야 합니다.
  • WebAuthn: W3C와 FIDO Alliance가 개발한 JavaScript API로, 웹 애플리케이션 인증 (Authentication)에 FIDO2 표준을 적용할 수 있게 해줍니다. 패스키는 WebAuthn이 지원하는 인증 (Authentication) 방식 중 하나입니다. Logto 콘솔에서는 이 통합을 전문적으로 "WebAuthn"이라고 부릅니다.

WebAuthn은 사용자가 선택할 수 있는 다양한 인증기(Authenticator)를 제공합니다. 로컬 및 클라우드 용도로 두 가지 유형이 있습니다:

  • 플랫폼 인증기 (Platform authenticator, 내부 인증기): 단일 및 특정 디바이스 OS(컴퓨터, 노트북, 휴대폰, 태블릿 등)에 연결되어 있습니다. 사용자는 해당 디바이스에서 생체 인증 또는 디바이스 암호 등으로 인가 (Authorization)를 진행할 수 있어 빠른 인증 (Authentication)이 가능합니다. 예: macOS 또는 iOS에서 Touch ID, Face ID, 디바이스 암호로 검증되는 iCloud Keychain; Windows Hello의 얼굴 인식, 지문, PIN 등.
  • 로밍 인증기 (Roaming authenticator, 외부 인증기, 크로스 플랫폼 인증기): 별도의 휴대용 디바이스 또는 소프트웨어 애플리케이션(예: 하드웨어 보안 키, 스마트폰 등)입니다. USB 연결 또는 NFC, Bluetooth를 활성화하여 디바이스를 연결해야 합니다. 로밍 인증기는 단일 디바이스나 브라우저에 국한되지 않아 더 큰 유연성을 제공합니다.

WebAuthn의 원리와 프로세스에 대해 더 깊이 알고 싶다면, 우리의 블로그 글 WebAuthn과 패스키 101WebAuthn 통합 전 알아야 할 것들을 참고하세요.

MFA를 위한 패스키 인증 (Authentication) 설정

  1. 콘솔 > 다단계 인증 (MFA)로 이동하세요.
  2. "패스키 (WebAuthn)" 요소를 활성화하세요. 단일 요소 의존도를 줄이기 위해 패스키를 다른 MFA 요소(TOTP, SMS, 백업 코드)와 함께 사용하는 것을 권장합니다.
  3. 원하는 MFA 정책(필수 vs. 선택)을 설정하세요.
  4. 설정 변경 사항을 저장하세요.
제한 사항에 주의하세요:

WebAuthn을 구현할 때 몇 가지 제한 사항을 반드시 인지해야 합니다:

  1. 플랫폼 및 브라우저 제한: Logto는 현재 네이티브 애플리케이션에 대한 WebAuthn 지원을 제공하지 않습니다. 또한, WebAuthn 인증기의 사용 가능 여부는 브라우저 및 디바이스의 기능에 따라 다릅니다 (지원 목록 확인). 따라서 WebAuthn은 항상 다단계 인증 (MFA)을 구현하는 유일한 옵션이 아니며, 그렇지 않으면 제품에 접근할 수 있는 브라우저와 디바이스를 직접 제어해야 합니다.
  2. 도메인 제한: 도메인이 변경되면 기존 WebAuthn 계정을 통한 사용자 인증 (Authentication)이 어려워질 수 있습니다. 패스키는 현재 웹 페이지의 특정 도메인에 바인딩되며, 서로 다른 도메인 간에는 사용할 수 없습니다.
  3. 디바이스 제한: 디바이스를 분실하면, 특히 "이 디바이스" 플랫폼 인증기를 사용하는 경우 계정 접근 권한을 잃을 수 있습니다. 인증 (Authentication) 접근성을 높이기 위해 사용자에게 두 개 이상의 인증 (Authentication) 요소를 제공하는 것이 좋습니다.

패스키 관리 설정

Account API를 사용하여 사용자가 자신의 패스키를 추가, 조회, 이름 변경, 삭제할 수 있는 맞춤형 계정 관리 인터페이스를 구축할 수 있습니다. 이는 개인화된 계정 센터를 만들거나 크로스 디바이스 백업 시나리오를 구현할 때 유용합니다.

구현 단계 및 API 엔드포인트에 대한 자세한 내용은 Account API로 계정 설정을 참고하세요.

패스키 등록 플로우

패스키 사양에 따라 사용자는 현재 페이지에서 버튼을 직접 클릭하여 인증 (Authentication) 컴포넌트를 시작해야 합니다. 즉, 등록 및 인증 (Authentication) 플로우 모두에서 사용자는 WebAuthn을 시작하기 위해 랜딩 페이지로 리디렉션되어야 합니다.

WebAuthn 등록 플로우

패스키 인증 (Authentication) 플로우

사용자가 패스키를 포함한 여러 MFA 방식을 설정한 경우, 패스키는 보안성과 편의성 때문에 첫 화면에서 추천 MFA 인증 (Authentication) 방식으로 표시됩니다. 사용자는 아래의 "다른 방법으로 인증 (Authentication) 시도"를 클릭하여 다른 인증 (Authentication) 방식으로 전환할 수 있습니다. 자세한 내용은 MFA 구성을 참고하세요.

WebAuthn 인증 (Authentication) 플로우 WebAuthn 통합 전 알아야 할 것들 WebAuthn과 패스키 101