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