게시일: 2025년 5월 15일
패스키는 비밀번호보다 안전하고 간편하며 빠른 대안으로 빠르게 부상하고 있으며, 보안과 사용자 편의성을 향상합니다. 패스키의 잠재력을 최대한 실현하려면 패스키 관리를 둘러싼 사용자 경험을 신중하게 고려해야 합니다. 이 문서에서는 직관적이고 안전하며 강력한 패스키 관리 시스템을 설계하기 위한 가이드라인과 선택적 기능을 설명합니다.
여러 패스키 관리
사용자가 여러 패스키를 추가하고 두 개 이상의 제공업체를 사용할 수 있도록 허용 하지만 동일한 제공업체의 동일한 계정에 대해 두 개 이상의 패스키를 추가하도록 허용하지 마세요. 플랫폼에서 지원하지 않거나 사용자가 액세스 권한을 잃는 등 사용자가 한 제공업체에 액세스할 수 없게 되더라도 다른 제공업체의 다른 패스키로 로그인할 수 있습니다. 이 설정을 사용하면 계정 잠금 위험이 줄어듭니다. 데이터베이스가 사용자당 여러 개의 패스키를 저장할 수 있어야 합니다.
등록된 패스키 목록 표시
사용자가 패스키를 효과적으로 관리할 수 있도록 웹사이트 또는 앱에 주요 세부정보와 함께 등록된 패스키가 목록에 표시되어야 합니다. 이 스크린샷은 전용 패스키 관리 페이지의 모양을 보여줍니다. 사용자가 여러 플랫폼에서 패스키를 만들고 이를 관리할 수 있는 중앙 집중식 위치를 제공합니다.
다음은 웹사이트와 앱에서 패스키에 관해 표시할 수 있는 일반적인 세부정보와 기능입니다.
- 패스키 이름: 등록 시 부여된 패스키 이름을 표시합니다. 이 이름은 AAGUID에 따라 생성된 패스키 제공업체와 일치하는 것이 좋습니다. 일치하는 패스키 제공자가 없는 경우 사용자 에이전트 문자열에 기반한 기기 정보에 따라 이름을 지정하면 됩니다.
- 패스키 제공업체 로고: 패스키 제공업체 로고를 표시합니다. 이렇게 하면 사용자가 관리하려는 패스키를 식별하는 데 도움이 됩니다.
- 패스키가 생성되고 마지막으로 사용된 시점의 타임스탬프: 패스키 생성 타임스탬프와 마지막 사용 타임스탬프를 기록하고 표시하면 사용자가 관리하려는 패스키를 식별하는 데도 도움이 됩니다.
- 동기화되지 않음 표시기: 패스키는 기본적으로 동기화되지만 패스키 제공업체의 동기화 기능은 아직 발전 중입니다. 사용자의 예상과 달리 패스키가 동기화되지 않는 경우 혼동이 발생할 수 있습니다. 패스키의 동기화 불가능을 표시하면 사용자가 이러한 혼란을 해소하는 데 도움이 됩니다.
- 삭제 버튼: 사용자가 패스키를 삭제할 수 있도록 허용합니다. 자세한 내용은 패스키 삭제 허용을 참고하세요.
- 수정 버튼: 많은 사용자가 패스키 이름을 바꿀 수 있는 기능을 선호합니다. 예를 들어 동일한 패스키 제공업체의 패스키가 여러 개 있지만 제공업체 계정이 다른 경우입니다. 여러 패스키를 서로 다른 Google 계정에 저장한다고 가정해 보겠습니다. 사용자가 패스키 이름을 바꿀 수 있도록 하면 원하는 이름으로 변경할 수 있습니다.
- 마지막 로그인 브라우저, OS 또는 IP 주소: 마지막 로그인에 관한 세부정보를 제공하면 사용자가 의심스러운 로그인을 식별하는 데 도움이 됩니다. 로그인에 사용된 브라우저, OS 또는 IP 주소 (또는 위치)는 유용한 정보가 될 수 있습니다.
패스키 삭제 허용
사용자가 패스키를 삭제하도록 허용 이를 통해 사용자가 새 기기로 전환했지만 연결된 패스키가 이전 기기에 바인딩된 경우와 같이 목록을 정리할 수 있습니다. 또한 공격자가 사용자 계정을 도용하여 나중에 사용할 패스키를 만드는 경우에도 유용합니다.
업데이트된 패스키 목록을 알림
패스키를 삭제하면 서버 데이터베이스에서 인증 정보 항목과 공개 키가 삭제됩니다. 이렇게 하면 등록된 패스키 목록에서 패스키가 사라지고 사용자에게 패스키가 삭제된 것으로 표시됩니다. 하지만 실제로는 서버에서만 삭제되고 패스키 제공업체에 저장된 패스키는 그대로 남아 혼동을 야기할 수 있습니다. 사용자가 다음에 로그인하려고 하면 삭제된 패스키가 로그인 옵션으로 계속 표시됩니다. 하지만 일치하는 공개 키가 이미 서버에서 삭제되었으므로 이를 사용한 인증은 실패합니다.
혼동을 방지하려면 패스키 제공업체의 패스키와 서버의 공개 키를 일관되게 유지하는 것이 중요합니다. 패스키 제공업체에 업데이트된 패스키 목록을 알림으로써 이를 달성할 수 있습니다. 브라우저와 패스키 제공업체가 신호 API를 지원하는 경우 패스키 목록을 업데이트하고 불필요한 패스키를 삭제할 수 있습니다. API를 지원하지 않는 경우 사용자에게 패스키를 수동으로 삭제하도록 안내합니다.
마지막 패스키 삭제
사용자가 특정 계정의 마지막으로 남은 패스키를 삭제하려고 하면 마찰이 더 크고 보호 수준이 낮을 수 있는 다른 옵션으로 로그인해야 한다는 점을 이해해야 합니다. 이 방법이 사이트의 유일한 로그인 방법인 경우 사용자는 다시 로그인할 수 없습니다. 다음에 로그인하는 방법을 사용자에게 알립니다. 예를 들어 사용 가능한 경우 백업 방법을 사용하거나 계속하기 전에 다른 패스키를 등록하라는 메시지를 표시합니다. 패스키를 사용하지 않기로 한 이유에 대한 의견을 수집할 수 있는 좋은 기회입니다.
새 패스키 생성 허용
사용자 여정 전반에 걸쳐 패스키를 만들 수 있는 기회가 있지만(예: 로그인 직후) 사용자가 언제든지 새 패스키를 만들고, 패스키를 삭제하고, 패스키를 관리할 수 있는 중앙 허브가 있어야 합니다. 이러한 작업에는 패스키 관리 화면이 가장 적합합니다.
패스키 사용자 흐름을 만들려면 비밀번호 없는 로그인을 위한 패스키 만들기 개발자 가이드를 따르세요. 보안을 강화하려면 사용자가 하드웨어 보안 토큰에서 패스키를 만들 수 있도록 허용하는 것이 좋습니다. 패스키를 관리하려는 사용자는 지식이나 경험이 더 많을 수 있으므로 보안 키에 패스키를 생성할 수 있도록 허용하면 유연성이 향상됩니다.
패스키를 하드웨어 보안 토큰에 저장하도록 허용하려면 패스키 생성 요청에서 authenticatorSelection.authenticatorAttachment를 "platform"로 설정하는 대신 설정하지 않은 상태로 둡니다. 이렇게 하면 브라우저가 플랫폼 (기기) 및 로밍 인증자 (보안 키)를 모두 허용하므로 사용자 환경이 플랫폼 인증자만 허용하는 경우와 크게 다르지 않습니다. 보안 키에 패스키를 만드는 옵션이 보조 옵션으로 표시됩니다.
체크리스트
- 사용자가 패스키 관리 페이지에서 패스키를 관리하도록 허용
- 여러 패스키 등록 지원
- 사용자가 관리 페이지에서 새롭고 유연한 유형의 패스키를 추가할 수 있도록 허용
- 패스키 이름을 표시합니다.
- 패스키가 동기화 가능한지 여부를 나타냅니다.
- 사용자가 서버에서 공개 키를 삭제하도록 허용
- 연결된 공개 키가 서버에서 삭제될 때 패스키 목록을 알립니다.
기타 UX 가이드
- 일반 패스키 UX 가이드
- Android 가이드