Yahoo! 일본은 비밀번호 없는 ID 시스템을 구축했습니다.
Yahoo! JAPAN은 검색, 뉴스, 전자상거래, 이메일과 같은 서비스를 제공하는 일본 최대 미디어 기업 중 하나입니다. 5,000만 명 이상의 사용자가 Yahoo!에 로그인합니다. JAPAN 서비스를 이용합니다.
지난 몇 년간 사용자 계정에 대한 많은 공격과 계정 액세스 권한 상실로 이어진 문제가 있었습니다. 이러한 문제의 대부분은 인증을 위한 비밀번호 사용과 관련이 있습니다.
최근 인증 기술의 발전으로 Yahoo! JAPAN은 비밀번호 기반 인증에서 비밀번호가 없는 인증으로 전환하기로 결정했습니다.
비밀번호가 없는 인증을 사용하는 이유는 무엇인가요?
Yahoo! JAPAN은 전자상거래 및 기타 금전 관련 서비스를 제공하므로 무단 액세스 또는 계정 손실이 발생할 경우 사용자에게 상당한 피해가 발생할 수 있습니다.
비밀번호와 관련된 가장 일반적인 공격은 비밀번호 목록 공격과 피싱 사기였습니다. 비밀번호 목록 공격이 흔하고 효과적인 이유 중 하나는 많은 사용자가 여러 애플리케이션과 웹사이트에 동일한 비밀번호를 사용하는 습관이 있기 때문입니다.
다음은 Yahoo!에서 실시한 설문조사의 결과입니다. JAPAN
50 %
6개 이상의 사이트에서 동일한 ID와 비밀번호를 사용
60 %
여러 사이트에서 동일한 비밀번호 사용
70 %
비밀번호를 기본 로그인 방법으로 사용
사용자는 비밀번호를 잊어버리는 경우가 많으며, 비밀번호 관련 문의의 대부분이 비밀번호를 잊어버린 것과 관련이 있습니다. 비밀번호뿐만 아니라 로그인 ID도 잊어버린 사용자의 문의도 있었습니다. 이러한 문의는 최대 3분의 1 이상이 모든 계정 관련 문의의 비중을 차지했습니다.
비밀번호 없이 로그인하면 Yahoo! JAPAN은 사용자에게 추가적인 부담을 주지 않으면서 보안뿐만 아니라 사용성도 개선하는 것을 목표로 삼았습니다.
보안 관점에서 사용자 인증 프로세스에서 비밀번호를 삭제하면 목록 기반 공격으로 인한 피해가 줄어들고, 사용성 관점에서 비밀번호 기억을 사용하지 않는 인증 방법을 제공하면 사용자가 비밀번호를 잊어버려 로그인할 수 없는 상황을 방지할 수 있습니다.
Yahoo! JAPAN의 비밀번호 없는 이니셔티브
Yahoo! 일본은 비밀번호 없는 인증을 장려하기 위해 여러 조치를 취하고 있으며, 이러한 조치는 크게 세 가지 카테고리로 나눌 수 있습니다.
- 비밀번호에 대한 대체 인증 수단을 제공합니다.
- 비밀번호 비활성화
- 비밀번호가 없는 계정 등록
처음 두 가지 이니셔티브는 기존 사용자를 대상으로 했지만 비밀번호 없는 등록은 신규 사용자를 대상으로 합니다.
1. 비밀번호에 대한 대체 인증 수단 제공
Yahoo! 일본에서는 비밀번호 대신 다음과 같은 대안을 제공합니다.
또한 이메일 인증, SMS OTP (일회용 비밀번호)와 결합된 비밀번호, 이메일 OTP와 결합된 비밀번호와 같은 인증 방법도 제공합니다.
SMS 인증
SMS 인증은 등록된 사용자가 SMS를 통해 6자리 인증 코드를 받을 수 있는 시스템입니다. 사용자가 SMS를 수신하면 앱 또는 웹사이트에 인증 코드를 입력할 수 있습니다.
Apple은 오랫동안 iOS가 SMS 메시지를 읽고 텍스트 본문에서 인증 코드를 제안하도록 허용했습니다. 최근에는 입력 요소의 autocomplete
속성에 'one-time-code'를 지정하여 추천을 사용할 수 있게 되었습니다. Android, Windows, Mac의 Chrome은 WebOTP API를 사용하여 동일한 환경을 제공할 수 있습니다.
예를 들면 다음과 같습니다.
<form>
<input type="text" id="code" autocomplete="one-time-code"/>
<button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
const input = document.getElementById('code');
if (!input) return;
const ac = new AbortController();
const form = input.closest('form');
if (form) {
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
input.value = otp.code;
}).catch(err => {
console.log(err);
});
}
두 접근 방식 모두 SMS 본문에 도메인을 포함하고 지정된 도메인에 대해서만 추천을 제공하여 피싱을 방지하도록 설계되었습니다.
WebOTP API 및 autocomplete="one-time-code"
에 관한 자세한 내용은 SMS OTP 양식 권장사항을 참고하세요.
WebAuthn을 사용한 FIDO
WebAuthn을 사용하는 FIDO는 하드웨어 인증자를 사용하여 공개 키 암호화 쌍을 생성하고 소유권을 증명합니다. 스마트폰을 인증자로 사용하면 생체 인식 인증 (예: 지문 센서 또는 얼굴 인식)과 결합하여 원스텝 2단계 인증을 실행할 수 있습니다. 이 경우 생체 인식 인증의 서명과 성공 표시만 서버로 전송되므로 생체 인식 데이터 도용 위험이 없습니다.
다음 다이어그램은 FIDO의 서버-클라이언트 구성을 보여줍니다. 클라이언트 인증자는 생체 인식으로 사용자를 인증하고 공개 키 암호화를 사용하여 결과에 서명합니다. 서명을 만드는 데 사용되는 비공개 키는 TEE (신뢰할 수 있는 실행 환경) 또는 유사한 위치에 안전하게 저장됩니다. FIDO를 사용하는 서비스 제공업체를 RP(신뢰 당사자)라고 합니다.
자세한 내용은 FIDO 연합의 인증 가이드라인을 참고하세요.
Yahoo! 일본은 Android (모바일 앱 및 웹), iOS (모바일 앱 및 웹), Windows (Edge, Chrome, Firefox), macOS (Safari, Chrome)에서 FIDO를 지원합니다. FIDO는 소비자 서비스이므로 거의 모든 기기에서 사용할 수 있으므로 비밀번호 없는 인증을 홍보하는 데 적합합니다.
Yahoo! 일본에서는 사용자가 아직 다른 방법으로 인증하지 않은 경우 WebAuthn으로 FIDO를 등록하는 것이 좋습니다. 사용자가 동일한 기기로 로그인해야 하는 경우 생체 인식 센서를 사용하여 빠르게 인증할 수 있습니다.
사용자는 Yahoo!에 로그인하는 데 사용하는 모든 기기에 FIDO 인증을 설정해야 합니다. JAPAN
비밀번호 없는 인증을 장려하고 비밀번호를 사용하지 않는 사용자를 배려하기 위해 Google에서는 여러 인증 수단을 제공합니다. 즉, 사용자마다 인증 방법 설정이 다를 수 있으며 사용할 수 있는 인증 방법은 브라우저마다 다를 수 있습니다. Google은 사용자가 매번 동일한 인증 방법을 사용하여 로그인하는 것이 더 나은 환경이라고 생각합니다.
이러한 요구사항을 충족하려면 이전 인증 방법을 추적하고 쿠키 등의 형식으로 저장하여 이 정보를 클라이언트에 연결해야 합니다. 그러면 인증에 다양한 브라우저와 애플리케이션이 사용되는 방식을 분석할 수 있습니다. 사용자에게 사용자의 설정, 이전에 사용한 인증 방식, 필요한 최소 인증 수준에 따라 적절한 인증을 제공하라는 메시지가 표시됩니다.
2. 비밀번호 비활성화
Yahoo! 일본에서는 사용자에게 대체 인증 방법을 설정하고 비밀번호를 사용하지 못하도록 사용 중지하도록 요청합니다. 대체 인증을 설정하는 것 외에도 비밀번호 인증을 사용 중지하면 (따라서 비밀번호만으로 로그인할 수 없게 됨) 목록 기반 공격으로부터 사용자를 보호하는 데 도움이 됩니다.
Google에서는 사용자가 비밀번호를 사용 중지하도록 유도하기 위해 다음과 같은 조치를 취했습니다.
- 사용자가 비밀번호를 재설정할 때 대체 인증 방법을 홍보합니다.
- 사용자에게 사용하기 쉬운 인증 방법 (예: FIDO)을 설정하고 빈번한 인증이 필요한 상황에서는 비밀번호를 사용 중지하도록 권장합니다.
- 사용자에게 전자상거래 결제와 같은 고위험 서비스를 사용하기 전에 비밀번호를 사용 중지하라고 요청합니다.
사용자가 비밀번호를 잊어버린 경우 계정 복구를 실행할 수 있습니다. 이전에는 비밀번호 재설정이 필요했습니다. 이제 사용자는 다른 인증 방법을 설정할 수 있으며 그렇게 하는 것이 좋습니다.
3. 비밀번호 없는 계정 등록
신규 사용자는 비밀번호가 없는 Yahoo! JAPAN 계정. 사용자는 먼저 SMS 인증으로 등록해야 합니다. 사용자가 로그인하면 FIDO 인증을 설정하는 것이 좋습니다.
FIDO는 기기별 설정이므로 기기를 사용할 수 없게 되면 계정을 복구하기 어려울 수 있습니다. 따라서 사용자가 추가 인증을 설정했더라도 전화번호를 등록된 상태로 유지해야 합니다.
패스워드리스 인증의 주요 과제
비밀번호는 인간의 기억에 의존하며 기기와 무관합니다. 반면 지금까지 비밀번호 없는 이니셔티브에서 도입된 인증 방법은 기기에 따라 다릅니다. 이로 인해 몇 가지 문제가 발생합니다.
여러 기기를 사용하면 사용성과 관련된 몇 가지 문제가 있습니다.
- SMS 인증을 사용하여 PC에서 로그인하는 경우 사용자는 휴대전화에서 수신된 SMS 메시지를 확인해야 합니다. 이 방법은 언제든지 사용자의 휴대전화를 사용할 수 있고 쉽게 액세스할 수 있어야 하므로 불편할 수 있습니다.
- FIDO, 특히 플랫폼 인증자를 사용하는 경우 여러 기기를 사용하는 사용자는 등록되지 않은 기기에서 인증할 수 없습니다. 사용할 기기마다 등록을 완료해야 합니다.
FIDO 인증은 특정 기기에 연결되므로 기기가 사용자의 소유에 있고 활성 상태여야 합니다.
- 서비스 계약이 취소되면 등록된 전화번호로 더 이상 SMS 메시지를 보낼 수 없습니다.
- FIDO는 비공개 키를 특정 기기에 저장합니다. 기기를 분실하면 이러한 키를 사용할 수 없습니다.
Yahoo! 일본은 이러한 문제를 해결하기 위해 다양한 조치를 취하고 있습니다.
가장 중요한 해결 방법은 사용자가 여러 인증 방법을 설정하도록 권장하는 것입니다. 이렇게 하면 기기를 분실했을 때 대체 계정 액세스 권한을 제공할 수 있습니다. FIDO 키는 기기에 종속되므로 여러 기기에 FIDO 비공개 키를 등록하는 것이 좋습니다.
또는 사용자는 WebOTP API를 사용하여 Android 휴대전화에서 PC의 Chrome으로 SMS 인증 코드를 전달할 수 있습니다.
비밀번호 없는 인증이 확산됨에 따라 이러한 문제를 해결하는 것이 더욱 중요해질 것입니다.
패스워드리스 인증 홍보
Yahoo! 일본은 2015년부터 이러한 비밀번호 없는 이니셔티브를 추진해 왔습니다. 이는 2015년 5월 FIDO 서버 인증을 획득한 것에서 시작되었으며, 이후 SMS 인증, 비밀번호 비활성화 기능, 각 기기의 FIDO 지원이 도입되었습니다.
현재 3, 000만 명 이상의 월간 활성 사용자가 이미 비밀번호를 사용 중지하고 비밀번호가 아닌 인증 방법을 사용하고 있습니다. Yahoo! 일본의 FIDO 지원은 Android용 Chrome에서 시작되었으며 현재 1, 000만 명 이상의 사용자가 FIDO 인증을 설정했습니다.
Yahoo! JAPAN의 이니셔티브로 인해 잊어버린 로그인 ID 또는 비밀번호와 관련된 문의의 비율이 이러한 문의가 가장 많았던 기간에 비해 25% 감소했으며, 비밀번호가 없는 계정 수가 증가함에 따라 무단 액세스가 감소한 것으로 확인되었습니다.
FIDO는 설정이 매우 간편하므로 전환율이 특히 높습니다. 실제로 Yahoo! 일본에서는 FIDO의 CVR이 SMS 인증보다 높다는 사실을 확인했습니다.
25 %
비밀번호 분실 요청 감소
74 %
사용자가 FIDO 인증을 통해 성공적으로 로그인함
65 %
SMS 인증으로 성공하기
FIDO는 SMS 인증보다 성공률이 높고 평균 및 중간 인증 시간이 더 빠릅니다. 비밀번호의 경우 일부 그룹의 인증 시간이 짧습니다. 이는 브라우저의 autocomplete="current-password"
때문인 것으로 의심됩니다.
비밀번호 없는 계정을 제공하는 데 가장 큰 어려움은 인증 방법을 추가하는 것이 아니라 인증자 사용을 대중화하는 것입니다. 비밀번호 없는 서비스를 사용하는 환경이 사용자 친화적이지 않으면 전환이 쉽지 않습니다.
Google은 보안을 개선하려면 먼저 사용성을 개선해야 한다고 생각하며, 이를 위해서는 각 서비스에 맞는 고유한 혁신이 필요합니다.
결론
비밀번호 인증은 보안 측면에서 위험하며 사용성 측면에서도 문제가 됩니다. 이제 WebOTP API 및 FIDO와 같이 비밀번호가 아닌 인증을 지원하는 기술이 더 광범위하게 사용 가능해졌으므로 비밀번호 없는 인증을 향한 작업을 시작할 때입니다.
Yahoo! 일본의 경우 이 접근 방식을 통해 사용성과 보안 모두에 확실한 영향을 미쳤습니다. 하지만 여전히 많은 사용자가 비밀번호를 사용하고 있으므로 Google은 더 많은 사용자가 비밀번호 없는 인증 방법으로 전환하도록 계속 권장할 것입니다. 또한 암호 없는 인증 방법에 맞게 사용자 환경을 최적화하기 위해 제품을 지속적으로 개선해 나갈 것입니다.
사진: Unsplash의 olieman.eth 제공