Xác nhận thanh toán an toàn

Xác nhận thanh toán an toàn (SPC) là một tiêu chuẩn web được đề xuất cho phép khách hàng xác thực với tổ chức phát hành thẻ tín dụng, ngân hàng hoặc nhà cung cấp dịch vụ thanh toán khác bằng trình xác thực nền tảng:

  • Tính năng mở khoá (bao gồm cả Touch ID) trên thiết bị macOS
  • Windows Hello trên thiết bị Windows

Với SPC, người bán có thể cho phép khách hàng xác thực các giao dịch mua một cách nhanh chóng và liền mạch, trong khi các ngân hàng phát hành sẽ bảo vệ khách hàng khỏi hành vi gian lận.

SPC có hai giai đoạn: đăng ký và xác thực.

  • Đăng ký: người thanh toán liên kết thiết bị của họ với một bên đáng tin cậy (RP). Bên trung thành có thể là công ty phát hành thẻ tín dụng, ngân hàng hoặc nhà cung cấp dịch vụ thanh toán khác.
  • Xác thực: người thanh toán sử dụng thiết bị đã đăng ký để xác nhận danh tính với RP ngay trên nền tảng của người bán trước khi xác nhận khoản thanh toán.

Xác thực để chống lừa đảo

Xác thực đóng vai trò quan trọng trong việc ngăn chặn gian lận thanh toán. Tuy nhiên, quá trình xác minh này thường dựa vào các cơ chế yếu, chẳng hạn như tổ hợp số thẻ tín dụng và tên chủ sở hữu thẻ hoặc một mã CVC bổ sung được viết ở mặt sau của thẻ. Các cơ chế này rất dễ bị xâm phạm và bị mạo danh nếu thông tin thẻ bị rò rỉ do các sự cố vi phạm bảo mật dữ liệu, chẳng hạn như chiếm đoạt tài khoản hoặc tấn công giả mạo.

Google đã ra mắt các cơ chế chống gian lận khác, chẳng hạn như EMV® 3-D Secure, trong đó người thanh toán có thể được yêu cầu xác thực với công ty phát hành thẻ hoặc ngân hàng. Để xác thực, người dùng đăng nhập bằng tên người dùng và mật khẩu hoặc mật khẩu một lần (OTP) được gửi đến điện thoại của người thanh toán qua SMS. Điều này giúp bảo vệ khách hàng khỏi hành vi gian lận, nhưng có thể trở thành rào cản đối với một số khách hàng hợp lệ hoàn tất giao dịch thanh toán. Mục đích của SPC là giảm thiểu phiền hà khi xác thực, do đó giảm tỷ lệ bỏ dở giỏ hàng.

Trong khi đó, đang ngày càng có nhiều tiêu chuẩn xác thực mới có tên WebAuthn.

WebAuthn là gì?

Xác thực web (gọi tắt là WebAuthn) là một tiêu chuẩn web cho phép máy chủ của bên phụ thuộc (RP) đăng ký và xác thực người dùng trong trình duyệt bằng tiêu chuẩn mã hoá khoá công khai thay vì mật khẩu.

Bên bị hạn chế dựa vào trình xác thực vật lý, chẳng hạn như khoá bảo mật. RP yêu cầu khoá bảo mật để tạo một cặp khoá riêng tư – công khai, sau đó lưu trữ khoá công khai trên máy chủ (đăng ký). Những khoá được tạo này là dành riêng cho thiết bị để ngăn kẻ tấn công mạo danh người dùng. Tiêu chuẩn này có khả năng chống lừa đảo vì cặp khoá được liên kết với nguồn gốc.

Liên minh FIDO chuẩn hoá hành vi của trình xác thực. Một số trình xác thực hỗ trợ xác minh người dùng cục bộ bằng một yếu tố sinh trắc học (chẳng hạn như vân tay hoặc nhận dạng khuôn mặt) hoặc yếu tố tri thức (chẳng hạn như mã PIN). Nhiều trình xác thực được tích hợp vào các thiết bị điện toán, chẳng hạn như máy tính xách tay hoặc điện thoại thông minh, còn được gọi là trình xác thực nền tảng. WebAuthn được hỗ trợ trên tất cả các trình duyệt chính (máy tính và thiết bị di động) và trình xác thực có sẵn trên hàng tỷ thiết bị. Người dùng có thể tự đăng ký và xác thực bằng cách xác minh danh tính của họ ngay trên nền tảng.

SPC được thiết kế để hoạt động với Trình xác minh nền tảng xác minh người dùng (UVPA).

Ví dụ về UVPA bao gồm Apple Touch ID và máy ảnh trên điện thoại di động
Nhiều thiết bị tích hợp cảm biến sinh trắc học. Các trình xác thực đó được gọi là trình xác thực nền tảng xác minh người dùng (UVPA).

Dịch vụ Xác nhận thanh toán an toàn hoạt động như thế nào?

Xác nhận thanh toán an toàn (SPC) được xây dựng dựa trên WebAuthn và được thiết kế riêng cho các mục đích thanh toán. Vì thông tin xác thực WebAuthn đã được đăng ký cho các miền cụ thể, nên bạn không thể sử dụng các thông tin đăng nhập này để xác thực trên các trang web chưa đăng ký có khả năng đang mạo danh người bán. Tính năng này giúp WebAuthn chống lại các cuộc tấn công giả mạo.

SPC thêm một lớp thông tin thanh toán lên trên WebAuthn để công ty phát hành thẻ hoặc ngân hàng có thể cung cấp trải nghiệm thanh toán nhất quán. Sau khi người thanh toán đăng ký trình xác thực với bên đáng tin cậy, trình xác thực đó có thể được dùng để xác thực trên nhiều trang web của người bán. Bên tin cậy cũng có thể chọn sử dụng thông tin xác thực thanh toán làm thông tin xác thực WebAuthn thông thường.

Stripe đã chạy một thử nghiệm với SPC trên môi trường thực tế, trong khuôn khổ bản dùng thử theo nguyên gốc của Chrome. Trong thử nghiệm này, Stripe đạt được tỷ lệ chuyển đổi cao hơn 8% và tốc độ thanh toán nhanh hơn gấp 3 lần. Hãy đọc về kết quả của họ trong báo cáo SPC trong Nhóm công tác thanh toán trên web của W3C.

Người dùng trải nghiệm SPC như thế nào?

Giao diện người dùng SPC bao gồm hai giai đoạn: đăng ký và xác thực.

Trước tiên, khách hàng phải đăng ký thiết bị bằng trình xác thực nền tảng xác minh người dùng (UVPA). Sau khi đăng ký thiết bị, bạn có thể sử dụng thiết bị để xác thực người dùng và xác nhận các khoản thanh toán bất cứ khi nào SPC được thực hiện trên trang web của người bán.

Đăng ký

Người dùng có thể đăng ký SPC theo 2 cách:

  • Đăng ký trực tiếp trên trang web của bên bị hạn chế.
  • Đăng ký gián tiếp tại trang web của người bán.

Đăng ký trên trang web của bên bị hạn chế

Trên trang web của bên bị hạn chế, việc đăng ký SPC không khác với quy trình đăng ký WebAuthn. Theo chúng tôi thì RP yêu cầu khách hàng đăng ký UVPA của họ trong quy trình đăng nhập.

Tình huống điển hình có thể như sau:

  1. Khách hàng đăng nhập vào trang web ngân hàng của bạn bằng tên người dùng, mật khẩu và một bước xác minh bổ sung (thường là mật khẩu một lần hoặc OTP).
  2. Sau khi xác thực thành công, hãy cho thấy một yêu cầu cấp quyền để đề nghị khách hàng đăng ký thiết bị (UVPA).
  3. Sau khi được cấp quyền, trình duyệt sẽ hiển thị hộp thoại đăng ký WebAuthn.
  4. Khách hàng đồng ý đăng ký thiết bị bằng cách xác thực bằng sinh trắc học.
  5. Giờ đây, khách hàng có thể đăng nhập và thanh toán một cách an toàn bằng thiết bị của mình.

Với tính năng reauthentication, người dùng đã đăng nhập nhưng được yêu cầu xác thực lại để đảm bảo người dùng đó vẫn hiện diện. Thiết kế này thường xuất hiện trong một hoạt động quan trọng về bảo mật, chẳng hạn như yêu cầu thay đổi mật khẩu hoặc khi thực hiện một khoản thanh toán. Với WebAuthn UVPA, quá trình xác thực lại sẽ nhanh hơn và mạnh mẽ hơn nhiều so với việc sử dụng mật khẩu.

Tìm hiểu cách tạo quy trình đăng ký và xác thực WebAuthn cho quy trình xác thực lại tại bài viết Tạo ứng dụng WebAuthn đầu tiên.

Đăng ký trên trang web của người bán trong khi thanh toán

Nếu khách hàng của bạn không đăng ký thiết bị của họ trên trang web của công ty phát hành thanh toán, thì họ có thể đăng ký trực tiếp trên trang web của người bán. Giao diện trông giống như vậy, nhưng hoạt động đăng ký của người dùng được khởi tạo bằng mã của RP.

Điều này rất lý tưởng khi khách hàng không thường xuyên truy cập vào trang web của bên bị hạn chế nhưng bên đó vẫn muốn cung cấp phương thức xác thực.

Xác thực (Xác nhận thanh toán)

Yêu cầu xác thực khi người thanh toán cung cấp thông tin xác thực thanh toán trong một giao dịch thanh toán.

  1. Người thanh toán cung cấp thông tin thanh toán (chẳng hạn như thông tin thẻ tín dụng).
  2. Người bán sẽ kiểm tra xem trình duyệt có hỗ trợ tính năng Xác nhận thanh toán an toàn hay không.
  3. Nếu trình duyệt hỗ trợ SPC, hãy gọi API yêu cầu thanh toán với SPC làm phương thức thanh toán. Nếu không, hãy quay lại phương pháp xác thực hiện tại.
  4. Người thanh toán xác nhận chi tiết giao dịch và hoàn tất quy trình xác thực (chẳng hạn như bằng cách chạm vào trình xác thực nền tảng sinh trắc học của họ).

Nền tảng được hỗ trợ

Google Chrome hiện hỗ trợ phương thức Xác nhận thanh toán an toàn trên macOS và Windows. Các nền tảng khác, bao gồm Android, iOS và ChromeOS, sẽ không được hỗ trợ kể từ tháng 5 năm 2022.

Các bước tiếp theo