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 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 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 giao dịch mua một cách nhanh chóng và liền mạch, đồng thời ngân hàng phát hành thẻ 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 tin cậy (RP). Bên phụ thuộc có thể là 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.
  • Xác thực: người thanh toán sử dụng thiết bị đã đăng ký để xác nhận danh tính của họ với RP ngay trên nền tảng của người bán trước khi xác nhận thanh toán.

Xác thực để ngăn chặn hành vi gian lận

Việc xác thực đóng vai trò quan trọng trong việc ngăn chặn hành vi gian lận thanh toán. Tuy nhiên, quy 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ủ thẻ hoặc mã CVC bổ sung được viết ở mặt sau của thẻ. Các cơ chế này dễ bị xâm phạm và mạo danh nếu thông tin thẻ bị rò rỉ do các sự cố bảo mật dữ liệu như xâm nhập tài khoản hoặc tấn công giả mạo.

Các cơ chế chống gian lận bổ sung đã được ra mắt, 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 khiến một số khách hàng hợp lệ hoàn tất giao dịch thanh toán. SPC nhằm giảm sự phiền hà trong quá trình xác thực, từ đó giảm tỷ lệ bỏ giỏ hàng.

Trong khi đó, có một tiêu chuẩn xác thực mới đang phát triển có tên là WebAuthn.

WebAuthn là gì?

Xác thực web (viết 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 cách sử dụng phương thức mã hoá khoá công khai thay vì mật khẩu.

RP 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ý). Các khoá được tạo này là duy nhất cho thiết bị, giúp 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 tiêu 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 một 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 gọi là trình xác thực nền tảng. WebAuthn được hỗ trợ trên tất cả trình duyệt chính (máy tính và thiết bị di động), đồng thời 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ọ trên nền tảng.

SPC được thiết kế để hoạt động với Trình xác thực 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).

Tính năng 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 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ể dùng những thông tin xác thực này để xác thực trên các trang web chưa đăng ký có thể đang mạo danh người bán. Tính năng này giúp WebAuthn hiệu quả trong việc 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 để tổ chức 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 phụ thuộc, 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 phụ thuộc 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 phát hành chính thức của họ, trong khuôn khổ các 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ỷ lệ thanh toán nhanh hơn gấp ba lần. Hãy đọc về kết quả của họ trong báo cáo SPC trong Nhóm làm việc về 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ị của họ 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ị có thể được dùng để xác thực người dùng và xác nhậ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 RP.
  • Đăng ký gián tiếp tại trang web của người bán.

Đăng ký trên trang web của RP

Trên trang web của RP, việc đăng ký SPC không khác gì việc đăng ký WebAuthn. Bạn nên yêu cầu khách hàng đăng ký UVPA trong quy trình đăng nhập.

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

  1. Khách hàng đăng nhập vào trang web của ngân hàng 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 hiển thị yêu cầu cấp quyền để khách hàng đăng ký thiết bị của họ (UVPA).
  3. Sau khi 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 sinh trắc học.
  5. Bây giờ, khách hàng có thể đăng nhập và thanh toán an toàn bằng thiết bị của mình.

Với tính năng xác thực lại, người dùng đã đăng nhập nhưng được yêu cầu xác thực lại để đảm bảo vẫn là cùng một người dùng. Thiết kế này thường xuất hiện trong một thao tác 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 thanh toán. Với UVPA WebAuthn, quá trình xác thực lại nhanh và mạnh 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 để xác thực lại trong phần 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 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, họ có thể đăng ký ngay trên trang web của người bán. Giao diện vẫn giống như vậy, nhưng mã của RP sẽ khởi tạo quá trình đăng ký của người dùng.

Đây là lựa chọn lý tưởng khi khách hàng không thường xuyên truy cập vào trang web của RP nhưng RP 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 trong khi thực hiện giao dịch thanh toán.

  1. Người thanh toán cung cấp thông tin xác thực thanh toán (chẳng hạn như thông tin thẻ tín dụng).
  2. Người bán 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 thức xác thực hiện có.
  4. Người thanh toán xác nhận thông tin 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 trên nền tảng sinh trắc học).

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

Google Chrome trên macOS và Windows hiện hỗ trợ phương thức Xác nhận thanh toán an toàn. Các nền tảng khác, bao gồm cả 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