게시일: 2026년 7월 10일
국민보건서비스 (NHS)는 영국의 공공 자금 지원을 받는 의료보건 시스템입니다. NHS 잉글랜드 및 NHS 웨일스의 보안 디지털 ID 제공업체인 NHS 로그인은 수천만 명의 시민이 의료 및 사회 복지 서비스에 액세스할 수 있는 단일의 신뢰할 수 있는 방법을 제공합니다. 이러한 규모의 사용자 기반과 민감한 데이터로 인해 인증 마찰과 보안이 가장 중요합니다.
NHS팀은 디지털 서비스 파트너인 Hippo와 협력하여 패스키를 구현했습니다. Hippo는 UX 연구와 패스키의 기술 통합을 주도하여 지원 및 운영 비용을 크게 절감하는 동시에 사용자에게 더 빠르고 쉽고 안전한 액세스를 제공했습니다.
주요 결과
- 로그인 시간 단축: 사용자는 패스키를 사용하여 8배 더 빠르게 인증합니다. 중간 로그인 시간이 43초 (비밀번호 + SMS OTP)에서 조건부 UI를 사용하는 경우 5초로 단축되었습니다.
- 높은 채택률 및 확장성: 2년 전 기능 출시 이후 사용자가 670만 개의 패스키를 생성하여 매달 600만 건의 패스키 로그인을 유도합니다.
- 거래 비용 절감: 출시 이후 OTP 비용을 최대 120만 파운드 절감 했습니다.
| 주요 측정항목 | 영향 |
|---|---|
| 8배 | 패스키를 사용한 로그인 시간 단축 (5초 대 43초) |
| 670만 개 | 출시 이후 사용자가 생성한 패스키 |
| 600만 개 | 매달 패스키 로그인 |
| 120만 파운드 | 출시 이후 SMS OTP 비용 절감 |
마찰, 비용, 비밀번호 피로감
NHS 로그인은 다양한 의료 서비스에 액세스하는 사용자를 위한 중앙 디지털 게이트웨이 역할을 합니다. 모든 사용자가 의료 서비스에 액세스할 수 있도록 플랫폼은 비밀번호 및 SMS 기반 다단계 인증 (MFA) 방법을 지원합니다. 그러나 이러한 방법에는 다음과 같은 시스템적 문제가 있습니다.
- 비밀번호를 잊어버림: 사용자는 비밀번호를 잊어버려 의료 서비스에서 자주 로그아웃됩니다.
- 보안 위험: 비밀번호와 SMS 코드는 피싱 공격에 취약합니다.
- 비용 증가: 2단계 인증을 위해 수백만 건의 SMS 문자 메시지를 보내는 것은 재정적으로 부담이 큽니다.
- 포용성 문제: SMS를 사용하려면 안정적인 신호가 있는 휴대전화가 있어야 하므로 일부 사용자에게는 장벽이 될 수 있습니다.
NHS와 Hippo가 패스키를 구현한 방법
팀의 접근 방식은 사용자 중심의 반복적인 방식으로, 패스키를 강제적인 대체가 아닌 새로운 선택적 인증 방법으로 통합하는 데 중점을 두었습니다. 이를 통해 점진적인 채택과 실제 사용자 의견을 수렴할 수 있었습니다.
팀은 기존 플랫폼 내에서 패스키 등록 및 인증이라는 두 가지 기본 개발자 흐름에 집중했습니다.
원활한 패스키 등록을 통해 사용자 업그레이드
팀은 모든 사용자에게 즉시 패스키를 등록하도록 강요하는 대신 활성 인증된 사용자를 타겟팅합니다. 사용자가 표준 방법 (비밀번호 + SMS)을 사용하여 로그인하면 향후 더 빠르고 안전한 로그인을 위해 패스키를 만들도록 안내하는 명확한 메시지가 표시됩니다.
가장 큰 과제는 사용자를 교육하고 지원하는 것 사이에서 적절한 균형을 찾는 것이었습니다. 패스키를 설명하려고 할수록 사용자는 더 주저했습니다. Google은 '지문' 및 'Face ID'와 같은 익숙한 용어를 사용하여 기기 중심 환경으로 전환했습니다. 사용자는 패스키를 사용함으로써 개념을 훨씬 더 빠르게 이해했습니다.
Pelin Demir, Hippo UX 디자이너
등록 흐름은 표준 브라우저 기본 WebAuthn API를 사용합니다. 다음은 등록 시퀀스의 개념적 예입니다.
// Simplified example of the registration call
async function createPasskey() {
try {
// 1. Fetch challenge and options from the NHS Login server
const createOptions = await fetch('/api/passkey/register-options', {
method: 'POST'
}).then(r => r.json());
// 2. Trigger the browser/OS to create the passkey
const credential = await navigator.credentials.create({
publicKey: createOptions
});
// 3. Send the public key credential back to the server for verification and storage
await fetch('/api/passkey/register-verify', {
method: 'POST',
body: JSON.stringify(credential)
});
// 4. Show success message to the user
showSuccess('Passkey saved');
} catch (err) {
console.error('Error creating passkey:', err);
showError('Could not create passkey. Please try again.');
}
}
조건부 UI를 사용하여 로그인 흐름 간소화
가장 중요한 사용자 환경 개선은 조건부 UI(WebAuthn 자동 완성)에서 비롯됩니다. 로그인
필드에 autocomplete="username webauthn"을 추가하면 브라우저에서 사용자에게 생체 인식을 사용하여 인증하라는 메시지를 표시합니다.
<form action="/login" method="post">
<label for="username">Email or NHS number</label>
<input type="text"
id="username"
name="username"
autocomplete="username webauthn"
required>
<button type="submit">Continue</button>
</form>
조건부 UI를 구현하면 패스키 사용량이 거의 1.7배 증가하여 입력 마찰을 제거하면 채택이 직접적으로 가속화된다는 것을 보여줍니다.
Signal API로 오래된 키 처리
패스키의 알려진 운영상의 문제는 오래된 사용자 인증 정보입니다. 사용자가 계정 설정에서 사용자 인증 정보를 삭제하지만 패스키는 기기의 비밀번호 관리자에 저장된 상태로 유지되는 경우입니다. 오래된 키를 사용하려고 하면 혼란스러운 인증 실패가 발생합니다.
이 문제를 해결하기 위해 팀은 WebAuthn Signal API 를 통합했습니다. 백엔드에서 사용자 인증 정보가 취소되거나 업데이트되면 서버는 패스키 제공업체에 동기화하라는 신호를 보내 사용자 자동 완성 추천에서 잘못된 키를 원활하게 삭제합니다.
원활한 액세스 및 향상된 보안 제공
사용자는 인증 메커니즘으로 패스키를 점점 더 많이 채택하고 있습니다.
- 원활한 사용자 환경: 인증 마찰을 제거하면 사용자가 잊어버린 사용자 인증 정보로 인한 불편함이나 이탈 없이 NHS 서비스에 액세스하고 건강을 적극적으로 관리할 수 있습니다.
- 보안 손상 없음: 패스키는 기본 제공 피싱 방지 기능을 제공하여 매우 민감한 건강 데이터를 보호하는 동시에 비밀번호 와 SMS가 없는 미래를 위한 길을 열어줍니다.
- 운영 효율성: SMS OTP에 대한 직접적인 재정적 절감 외에도 비밀번호 의존도를 줄이면 NHS의 효율성이 근본적으로 개선됩니다. 비밀번호 관련 지원 전화가 줄어들면 직원이 더 복잡한 쿼리를 처리할 수 있습니다.
핵심 내용
NHS 서비스 전반에 패스키를 통합하는 동안 팀은 다음과 같은 핵심 내용을 파악했습니다.
- 기술적 복잡성보다 UX: WebAuthn의 기술적 구현은 간단했습니다. 주요 과제는 광범위한 인구통계학적 채택을 위해 UX를 최적화하는 것이었습니다.
- 교육보다 지원: 사용자는 플랫폼에서 보안을 자동으로 관리할 것으로 기대합니다. 패스키 메커니즘을 과도하게 설명하면 인지 부하가 발생합니다. 익숙한 기기 메시지 (생체 인식)를 신뢰하는 것이 훨씬 더 효과적이었습니다.
- 기기 간 여정: 사용자는 휴대전화에서 패스키를 만들었지만 나중에 도서관 컴퓨터에서 로그인하려고 할 수 있습니다. 기기 간 흐름(데스크톱에 휴대전화로 스캔한 QR 코드가 표시됨)을 처리하는 것은 설계하고 테스트해야 하는 중요한 여정이었습니다. 또한 패스키 관리를 지원하기 위해 사용자의 계정 관리에 패스키와 ID를 표시하는 새 섹션을 추가했습니다 (AAGUID로 패스키 제공업체 결정 참고).
- 계정 복구: 패스키로도 강력한 계정 복구의 필요성을 없앨 수는 없습니다. 팀은 기기를 분실한 사용자가 의료 관련 서비스의 중요한 흐름인 계정에 안전하게 다시 액세스할 수 있도록 해야 했습니다.
- 포용성과 혁신의 균형: 패스키는 우수한 환경을 제공하지만 일부 취약한 사용자를 남겨두지 않고는 기존 시스템을 하룻밤 사이에 완전히 대체할 수 없습니다. 팀은 기기 요구사항 또는 열악한 네트워크 연결로 인해 사용자가 제외되지 않도록 지속적인 비용을 감수하면서 비밀번호 + SMS OTP를 병행 경로로 유지했습니다.
다음 단계
670만 개 이상의 패스키가 생성된 Hippo는 이제 사용자에게 패스키를 만들도록 안내하는 메시지를 개선하는 데 주력하고 있습니다. 전환을 강요하는 대신 테스트를 사용하여 패스키를 제공하기에 가장 적합한 순간을 찾아 더 많은 사용자가 원활하게 업그레이드할 수 있도록 지원합니다.