보안 결제 확인 (SPC)은 고객이 플랫폼 인증자를 사용하여 신용카드 발급기관, 은행 또는 기타 결제 서비스 제공업체로 인증할 수 있도록 제안된 웹 표준입니다.
- macOS 기기에서 Touch ID를 포함한 기능 잠금 해제
- Windows 기기의 Windows Hello
SPC를 사용하면 판매자는 고객이 빠르고 원활하게 구매를 인증할 수 있으며, 발급 은행은 고객을 사기로부터 보호할 수 있습니다.
SPC는 등록과 인증이라는 두 단계로 구성됩니다.
- 등록: 결제자가 기기를 신뢰 당사자 (RP)에 연결합니다. 신뢰 당사자는 신용카드 발급기관, 은행 또는 기타 결제 서비스 제공업체일 수 있습니다.
- 인증: 결제자는 결제를 확인하기 전에 등록된 기기를 사용하여 판매자 플랫폼에서 직접 RP로 ID를 확인합니다.
사기 방지를 위한 인증
인증은 결제 사기를 방지하는 데 중요한 역할을 합니다. 그러나 이 인증 프로세스는 신용카드 번호와 카드 소유자 이름의 조합이나 카드 뒷면에 쓰여진 추가 CVC 코드와 같은 취약한 메커니즘을 사용하는 경우가 많습니다. 이러한 메커니즘은 계정 도용이나 피싱 공격과 같은 데이터 보안 침해로 인해 카드 정보가 유출되는 경우 쉽게 손상되고 명의 도용이 됩니다.
결제자가 카드 발급기관 또는 은행에 인증하도록 요청할 수 있는 EMV® 3-D Secure와 같은 추가적인 사기 방지 메커니즘이 도입되었습니다. 인증을 위해 사용자는 사용자 이름과 비밀번호 또는 SMS를 통해 결제자의 휴대전화로 전송된 일회용 비밀번호 (OTP)로 로그인합니다. 이는 고객을 사기로부터 보호하는 데 효과적이지만 일부 유효한 고객이 결제를 완료하는 데 걸림돌이 될 수 있습니다. SPC의 목표는 인증 문제를 줄여 장바구니 이탈을 줄이는 것입니다.
한편 WebAuthn이라는 새로운 인증 표준이 부상하고 있습니다.
WebAuthn이란 무엇인가요?
웹 인증 (WebAuthn)은 신뢰 당사자(RP) 서버가 비밀번호 대신 공개 키 암호화를 사용하여 브라우저에서 사용자를 등록하고 인증할 수 있도록 하는 웹 표준입니다.
RP는 보안 키와 같은 물리적 인증자를 사용합니다. RP는 보안 키를 요청하여 비공개-공개 키 쌍을 생성한 후 공개 키를 서버에 저장합니다 (등록). 이렇게 생성된 키는 기기마다 고유하여 공격자가 사용자를 사칭하는 것을 방지합니다. 이 표준은 키 쌍이 출처에 바인딩되므로 피싱을 방지합니다.
FIDO Alliance는 인증자 동작을 표준화합니다. 일부 인증자는 생체 인식 요소 (예: 지문 또는 얼굴 인식) 또는 지식 계수 (예: PIN 코드)를 사용하여 로컬 사용자 인증을 지원합니다. 대부분은 플랫폼 인증자라고 하는 노트북이나 스마트폰과 같은 컴퓨팅 기기에 통합되어 있습니다. WebAuthn은 모든 주요 브라우저 (데스크톱 및 모바일)에서 지원되며 인증자는 수십억 대의 기기에서 사용할 수 있습니다. 사용자는 플랫폼에서 로컬로 ID를 확인하여 직접 등록하고 인증할 수 있습니다.
SPC는 사용자 확인 플랫폼 인증자 (UVPA)와 함께 작동하도록 설계되었습니다.
보안 결제 확인은 어떻게 작동하나요?
보안 결제 확인 (SPC)은 WebAuthn을 기반으로 하며 결제용으로 특별히 설계되었습니다. WebAuthn 사용자 인증 정보는 특정 도메인에 등록되므로 이러한 사용자 인증 정보는 판매자를 가장할 수 있는 등록되지 않은 사이트에서 인증하는 데 사용할 수 없습니다. 이 기능을 사용하면 WebAuthn이 피싱 공격에 효과적으로 대응할 수 있습니다.
SPC는 카드 발급기관 또는 은행이 일관된 결제 환경을 제공할 수 있도록 WebAuthn 위에 결제 정보 레이어를 추가합니다. 결제자가 신뢰 당사자에 인증자를 등록하면 여러 판매자 사이트에서 인증하는 데 사용할 수 있습니다. 신뢰 당사자는 결제 사용자 인증 정보를 일반 WebAuthn 사용자 인증 정보로 사용하도록 선택할 수도 있습니다.
Stripe는 Chrome 오리진 트라이얼의 일환으로 프로덕션 환경에서 SPC를 사용한 실험을 실행했습니다. 이 실험에서 Stripe의 전환율은 8% 증가했고 결제 속도는 3배 더 빨라졌습니다. W3C Web Payments Working Group의 SPC 보고서에서 결과를 읽어보세요.
사용자는 SPC를 어떻게 사용하나요?
SPC 프런트엔드는 등록과 인증이라는 두 단계로 구성됩니다.
고객은 먼저 사용자 확인 플랫폼 인증자 (UVPA)를 사용하여 기기를 등록해야 합니다. 기기가 등록되면 판매자 사이트에서 SPC를 수행할 때마다 사용자를 인증하고 결제를 확인하는 데 사용할 수 있습니다.
등록
사용자는 두 가지 방법으로 SPC에 등록할 수 있습니다.
- RP 웹사이트에 직접 등록하세요.
- 판매자 웹사이트에 간접적으로 등록합니다.
RP 웹사이트에 등록
RP 웹사이트에서 SPC 등록은 WebAuthn 등록과 다르지 않습니다. RP가 고객에게 로그인 절차의 일부로 UVPA를 등록하도록 요청하는 것이 좋습니다.
일반적인 시나리오는 다음과 같습니다.
- 고객이 사용자 이름, 비밀번호, 추가 확인 단계 (일반적으로 일회용 비밀번호 또는 OTP)를 사용하여 은행 웹사이트에 로그인합니다.
- 인증에 성공하면 고객에게 기기 (UVPA)를 등록하도록 요청하는 권한 요청을 표시합니다.
- 권한이 부여되면 브라우저에 WebAuthn 등록 대화상자가 표시됩니다.
- 고객은 생체 인식 인증을 통해 기기 등록에 동의합니다.
- 이제 고객이 기기를 사용하여 안전하게 로그인하고 결제할 수 있습니다.
reauthentication을 사용하면 사용자가 이미 로그인되어 있지만 동일한 사용자가 계속 존재하는지 확인하기 위해 다시 인증하라는 메시지가 표시됩니다. 이러한 설계는 일반적으로 비밀번호 변경을 요청하거나 결제할 때와 같이 보안이 중요한 작업에서 볼 수 있습니다. WebAuthn UVPA를 사용하면 재인증이 비밀번호를 사용하는 것보다 훨씬 빠르고 강력합니다.
재인증을 위한 WebAuthn 등록 및 인증 흐름을 빌드하는 방법은 첫 번째 WebAuthn 앱 빌드를 참조하세요.
결제 중 판매자 웹사이트에 등록
고객이 결제 발급기관의 웹사이트에 기기를 등록하지 않은 경우 판매자 웹사이트에서 직접 등록할 수 있습니다. 인터페이스는 똑같아 보이지만, 사용자 등록은 RP의 코드에 의해 시작됩니다.
이는 고객이 RP 웹사이트를 자주 방문하지는 않지만 RP에서 인증 옵션을 제공하려는 경우에 이상적입니다.
인증 (결제 확인)
결제 거래 중에 결제자가 결제 사용자 인증 정보를 제공하는 경우 인증이 필요합니다.
- 결제자가 결제 사용자 인증 정보 (예: 신용카드 정보)를 제공합니다.
- 판매자는 브라우저가 보안 결제 확인을 지원하는지 확인합니다.
- 브라우저에서 SPC를 지원하는 경우 SPC를 결제 수단으로 사용하여 Payment Request API를 호출합니다. 그렇지 않으면 기존 인증 방법으로 대체합니다.
- 결제자는 거래 세부정보를 확인하고 생체 인식 플랫폼 인증자를 터치하는 등의 방법으로 인증을 완료합니다.
지원되는 플랫폼
보안 결제 확인은 현재 macOS 및 Windows용 Chrome에서 지원됩니다. Android, iOS, ChromeOS를 포함한 다른 플랫폼은 2022년 5월부터 지원되지 않습니다.