사용자가 패스키를 효과적으로 관리하도록 지원

패스키는 비밀번호보다 더 안전하고 간편하며 빠른 대안으로 급부상하고 있으며 향상된 보안과 사용자 편의성을 제공합니다. 패스키의 잠재력을 최대한 활용하려면 패스키 관리와 관련된 사용자 환경을 신중하게 고려해야 합니다. 이 문서에서는 직관적이고 안전하며 강력한 패스키 관리 시스템을 설계하기 위한 가이드라인과 선택적 기능을 간략히 설명합니다.

여러 패스키 관리하기

사용자가 여러 패스키를 추가하고 두 개 이상의 제공업체를 사용할 수 있도록 허용합니다. 하지만 동일한 제공업체에서 동일한 계정에 패스키를 두 개 이상 추가하도록 허용하지 마세요. 사용자가 한 공급자의 액세스 권한을 상실한 경우(예: 플랫폼에서 지원하지 않거나 사용자가 액세스 권한을 상실한 경우)에도 다른 공급자의 다른 패스키로 로그인할 수 있습니다. 이렇게 하면 계정 잠김 위험이 줄어듭니다. 데이터베이스가 사용자당 여러 패스키 저장을 지원하는지 확인합니다.

등록된 패스키 목록 표시

웹사이트 또는 앱은 사용자가 패스키를 효과적으로 관리하는 데 도움이 되는 주요 세부정보와 함께 등록된 패스키를 목록에 표시해야 합니다. 이 스크린샷은 전용 패스키 관리 페이지가 어떻게 표시되는지 보여줍니다. 사용자가 여러 플랫폼에서 패스키를 만드는 방법을 보여주고 패스키를 관리할 수 있는 중앙 집중식 장소를 제공합니다.

권장사항을 보여주는 패스키 관리 페이지의 예
권장사항을 보여주는 패스키 관리 페이지의 예시

다음은 웹사이트와 앱에서 패스키에 관해 표시할 수 있는 일반적인 세부정보와 기능입니다.

  • 패스키 이름: 등록 시 제공된 패스키 이름을 표시합니다. 이 이름은 AAGUID를 기반으로 생성된 패스키 제공업체와 일치하는 것이 좋습니다. 일치하는 패스키 제공업체를 찾을 수 없는 경우 사용자 에이전트 문자열을 기반으로 기기 정보의 이름을 따서 지정해도 됩니다.
  • 패스키 제공업체 로고: 패스키 제공업체 로고를 표시합니다. 이렇게 하면 사용자가 관리하려는 패스키를 식별하는 데 도움이 됩니다.
  • 패스키가 생성되고 마지막으로 사용된 시점의 타임스탬프: 패스키 생성 타임스탬프와 마지막 사용 타임스탬프를 기록하고 표시하면 사용자가 관리하려는 패스키를 식별하는 데도 도움이 될 수 있습니다.
  • 비동기화 표시기: 패스키는 기본적으로 동기화되지만 패스키 제공업체 동기화 기능은 아직 발전 중입니다. 패스키가 사용자의 예상과 달리 동기화되지 않는 경우 일반적으로 혼란스러워합니다. 패스키의 동기화 불가능성을 표시하면 사용자가 이 혼란을 명확히 이해하는 데 도움이 될 수 있습니다.
  • 삭제 버튼: 사용자가 패스키를 삭제하도록 허용합니다. 자세한 내용은 패스키 삭제 허용을 참고하세요.
  • 수정 버튼: 패스키의 이름을 바꿀 수 있다는 점이 많은 사용자에게 호평을 받고 있습니다. 예를 들어 동일한 패스키 제공업체의 패스키가 여러 개 있지만 제공업체 계정이 서로 다른 경우입니다. 여러 Google 계정에 여러 패스키를 저장한다고 가정해 보겠습니다. 사용자가 패스키의 이름을 변경할 수 있도록 허용하면 원하는 이름으로 변경할 수 있습니다.
  • 마지막 로그인 브라우저, OS 또는 IP 주소: 원하는 경우 마지막 로그인에 관한 세부정보를 제공하면 사용자가 의심스러운 로그인을 식별하는 데 도움이 됩니다. 로그인하는 데 사용된 브라우저, OS 또는 IP 주소 (또는 위치)는 유용한 정보가 될 수 있습니다.

패스키 삭제 허용

사용자가 패스키를 삭제하도록 허용합니다. 이렇게 하면 목록을 정리하는 데 도움이 됩니다. 예를 들어 사용자가 새 기기로 전환했지만 연결된 패스키가 이전 기기에 바인딩된 경우입니다. 공격자가 사용자 계정을 도용하여 향후 사용할 패스키를 만드는 경우에도 유용합니다.

업데이트된 패스키 목록 신호

패스키를 삭제하면 서버 데이터베이스에서 사용자 인증 정보 항목과 공개 키가 삭제됩니다. 이렇게 하면 패스키가 등록된 패스키 목록에서 사라지고 사용자에게 패스키가 삭제된 것처럼 표시됩니다. 하지만 실제로는 서버에서만 삭제되고 패스키 제공업체에 저장된 패스키는 계속 남아 혼란을 야기할 수 있습니다. 사용자가 다음에 로그인하려고 하면 삭제된 패스키가 로그인 옵션으로 계속 표시됩니다. 하지만 일치하는 공개 키가 이미 서버에서 삭제되었으므로 이 키로 인증하면 실패합니다.

혼동을 피하려면 패스키 제공업체의 패스키와 서버의 공개 키를 일관되게 유지하는 것이 중요합니다. 패스키 제공업체에 업데이트된 패스키 목록을 신호로 전달하면 됩니다. 브라우저와 패스키 제공업체가 Signal API를 지원하는 경우 패스키 목록을 업데이트하고 불필요한 패스키를 삭제할 수 있습니다. API를 지원하지 않는 경우 사용자에게 패스키를 수동으로 삭제하도록 안내합니다.

마지막 패스키 삭제

사용자가 특정 계정에 남아 있는 마지막 패스키를 삭제하려고 하는 경우 사용자에게 더 번거롭고 잠재적으로 보안이 취약한 다른 옵션으로 로그인해야 한다고 설명합니다. 이 방법이 사이트의 유일한 로그인 방법인 경우 다시 로그인할 수 없습니다. 가능한 경우 백업 방법을 사용하거나 계속하기 전에 다른 패스키를 등록하라는 메시지를 표시하는 등 다음에 로그인하는 방법을 사용자에게 안내합니다. 패스키를 사용하지 않는 이유에 관한 의견을 수집할 수 있는 좋은 기회입니다.

새 패스키 생성 허용

사용자 여정 중에 패스키를 만들 수 있는 기회가 있습니다(예: 로그인 직후). 하지만 사용자가 언제든지 새 패스키를 만들고, 패스키를 삭제하고, 패스키를 관리할 수 있는 중앙 허브가 있어야 합니다. 패스키 관리 화면이 가장 좋습니다.

패스키 사용자 흐름을 만들려면 비밀번호 없는 로그인을 위한 패스키 생성 개발자 가이드를 따르세요. 고급 보안을 위해 사용자가 하드웨어 보안 토큰에서 패스키를 만들 수 있도록 허용하는 것이 좋습니다. 패스키를 관리하려는 사용자는 지식이나 경험이 더 풍부할 것으로 예상할 수 있으므로 보안 키에서 패스키를 만들 수 있도록 허용하면 유연성이 향상됩니다.

패스키를 하드웨어 보안 토큰에 저장하도록 허용하려면 패스키 생성 요청에서 authenticatorSelection.authenticatorAttachment"platform"로 설정하는 대신 unset으로 둡니다. 이렇게 하면 브라우저가 플랫폼 (기기) 인증자와 로밍 인증자 (보안 키)를 모두 허용하면서 사용자 환경이 플랫폼 인증자만 허용하는 것과 크게 다르지 않습니다. 보안 키에서 패스키를 만드는 옵션이 보조 옵션으로 표시됩니다.

체크리스트

  • 사용자가 패스키 관리 페이지에서 패스키를 관리하도록 허용합니다.
  • 여러 패스키 등록을 지원합니다.
  • 사용자가 관리 페이지에서 유연한 새 유형의 패스키를 추가할 수 있도록 허용합니다.
  • 패스키 이름을 표시합니다.
  • 패스키를 동기화할 수 있는지 여부를 나타냅니다.
  • 사용자가 서버에서 공개 키를 삭제하도록 허용합니다.
  • 연결된 공개 키가 서버에서 삭제되면 패스키 목록을 신호합니다.

기타 UX 가이드