Konfirmasi Pembayaran Aman

Konfirmasi Pembayaran Aman (SPC) adalah standar web yang diusulkan yang memungkinkan pelanggan melakukan autentikasi dengan penerbit kartu kredit, bank, atau penyedia layanan pembayaran lainnya menggunakan pengautentikasi platform:

  • Buka kunci fitur termasuk Touch ID di perangkat macOS
  • Windows Hello di perangkat Windows

Dengan SPC, penjual dapat mengizinkan pelanggan mengautentikasi pembelian mereka dengan cepat dan lancar, sementara bank penerbit melindungi pelanggan mereka dari penipuan.

SPC memiliki dua tahap: pendaftaran dan autentikasi.

  • Pendaftaran: pembayar menautkan perangkatnya ke pihak tepercaya (RP). Pihak yang mengandalkan dapat berupa penerbit kartu kredit, bank, atau penyedia layanan pembayaran lainnya.
  • Autentikasi: pembayar menggunakan perangkat terdaftar untuk mengonfirmasi identitasnya dengan RP langsung dari platform penjual sebelum mengonfirmasi pembayaran.

Autentikasi untuk pencegahan penipuan

Autentikasi berperan penting dalam pencegahan penipuan pembayaran. Namun, proses verifikasi ini sering kali mengandalkan mekanisme yang lemah, seperti kombinasi nomor kartu kredit dan nama pemilik kartu, atau kode CVC tambahan yang ditulis di bagian belakang kartu. Mekanisme ini mudah disusupi dan dipalsukan jika informasi kartu bocor karena pelanggaran keamanan data seperti pembajakan akun atau serangan phishing.

Mekanisme pencegahan penipuan tambahan telah diperkenalkan, seperti EMV® 3-D Secure, tempat pembayar dapat diminta untuk melakukan autentikasi terhadap penerbit kartu atau bank. Untuk melakukan autentikasi, pengguna login dengan nama pengguna dan sandi, atau sandi sekali pakai (OTP) yang dikirim ke ponsel pembayar melalui SMS. Hal ini berfungsi untuk melindungi pelanggan dari penipuan, tetapi dapat menjadi hambatan bagi beberapa pelanggan yang valid untuk menyelesaikan pembayaran. SPC bertujuan untuk mengurangi friksi autentikasi, sehingga mengurangi pengabaian keranjang.

Sementara itu, ada standar autentikasi baru yang sedang berkembang yang disebut WebAuthn.

Apa itu WebAuthn?

Autentikasi Web (disingkat WebAuthn) adalah standar web yang memungkinkan server pihak yang mengandalkan (RP) mendaftarkan dan mengautentikasi pengguna di browser menggunakan kriptografi kunci publik, bukan sandi.

RP mengandalkan pengautentikasi fisik, seperti kunci keamanan. RP meminta kunci keamanan untuk menghasilkan pasangan kunci pribadi-publik, lalu menyimpan kunci publik di server (pendaftaran). Kunci yang dihasilkan ini bersifat unik untuk perangkat, yang mencegah penyerang meniru identitas pengguna. Standar ini tahan terhadap phishing karena pasangan kunci terikat dengan asalnya.

FIDO Alliance menstandarkan perilaku pengautentikasi. Beberapa pengautentikasi mendukung verifikasi pengguna lokal dengan faktor biometrik (seperti sidik jari atau pengenalan wajah) atau faktor pengetahuan (seperti kode PIN). Banyak di antaranya terintegrasi ke dalam perangkat komputasi, seperti laptop atau smartphone, yang dikenal sebagai pengautentikasi platform. WebAuthn didukung di semua browser utama (desktop dan seluler), dan pengautentikasi tersedia di miliaran perangkat. Pengguna dapat mendaftar dan mengautentikasi diri mereka sendiri dengan memverifikasi identitas mereka secara lokal di platform.

SPC dirancang agar dapat digunakan dengan Pengautentikasi Platform Verifikasi Pengguna (UVPA).

Contoh UVPA mencakup Apple Touch ID dan kamera ponsel
Banyak perangkat yang mengintegrasikan sensor biometrik. Pengautentikasi tersebut disebut pengautentikasi platform verifikasi pengguna (UVPA).

Bagaimana cara kerja Konfirmasi Pembayaran Aman?

Konfirmasi Pembayaran Aman (SPC) dibangun berdasarkan WebAuthn dan dirancang khusus untuk tujuan pembayaran. Karena kredensial WebAuthn terdaftar untuk domain tertentu, kredensial ini tidak dapat digunakan untuk melakukan autentikasi di situs yang tidak terdaftar yang mungkin meniru identitas penjual. Fitur ini membuat WebAuthn efektif melawan serangan phishing.

SPC menambahkan lapisan informasi pembayaran di atas WebAuthn sehingga penerbit kartu atau bank dapat memberikan pengalaman pembayaran yang konsisten. Setelah pembayar mendaftarkan pengautentikasi dengan pihak tepercaya, pengautentikasi tersebut dapat digunakan untuk melakukan autentikasi di berbagai situs penjual. Pihak tepercaya juga dapat memilih untuk menggunakan kredensial pembayaran sebagai kredensial WebAuthn reguler.

Stripe menjalankan eksperimen dengan SPC di lingkungan produksinya, sebagai bagian dari uji coba origin Chrome. Dalam eksperimen ini, Stripe mencapai rasio konversi 8% lebih baik dan rasio checkout tiga kali lebih cepat. Baca tentang hasilnya di laporan SPC di Grup Kerja Pembayaran Web W3C.

Bagaimana pengguna menggunakan SPC?

Frontend SPC terdiri dari dua tahap: pendaftaran dan autentikasi.

Pelanggan harus mendaftarkan perangkatnya terlebih dahulu menggunakan pengautentikasi platform verifikasi pengguna (UVPA). Setelah didaftarkan, perangkat dapat digunakan untuk mengautentikasi pengguna dan mengonfirmasi pembayaran setiap kali SPC dilakukan di situs penjual.

Pendaftaran

Pengguna dapat mendaftar ke SPC dengan dua cara:

  • Daftar langsung di situs RP.
  • Mendaftar secara tidak langsung di situs penjual.

Pendaftaran di situs RP

Di situs RP, pendaftaran SPC tidak berbeda dengan pendaftaran WebAuthn. Rekomendasi kami adalah RP meminta pelanggan untuk mendaftarkan UVPA mereka sebagai bagian dari alur login.

Skenario umum mungkin terlihat seperti ini:

  1. Pelanggan login ke situs bank Anda menggunakan nama pengguna, sandi, dan langkah verifikasi tambahan (biasanya sandi sekali pakai atau OTP).
  2. Setelah autentikasi berhasil, tampilkan permintaan izin yang meminta pelanggan untuk mendaftarkan perangkat mereka (UVPA).
  3. Setelah izin diberikan, browser akan menampilkan dialog pendaftaran WebAuthn.
  4. Pelanggan setuju untuk mendaftarkan perangkat dengan melakukan autentikasi biometrik.
  5. Pelanggan kini dapat login dan membayar dengan aman menggunakan perangkat mereka.

Dengan autentikasi ulang, pengguna sudah login, tetapi diminta untuk melakukan autentikasi lagi untuk memastikan pengguna yang sama masih ada. Desain ini biasanya terlihat dalam operasi yang sangat penting bagi keamanan, seperti permintaan untuk mengubah sandi atau saat melakukan pembayaran. Dengan UVPA WebAuthn, autentikasi ulang jauh lebih cepat dan lebih kuat daripada menggunakan sandi.

Pelajari cara mem-build alur pendaftaran dan autentikasi WebAuthn untuk autentikasi ulang di Mem-build aplikasi WebAuthn pertama Anda.

Pendaftaran di situs penjual selama pembayaran

Jika pelanggan tidak mendaftarkan perangkatnya di situs penerbit pembayaran, mereka dapat melakukannya langsung di situs penjual. Antarmuka terlihat sama, tetapi pendaftaran pengguna dimulai oleh kode RP.

Hal ini ideal jika pelanggan tidak sering mengunjungi situs RP, tetapi RP masih ingin menawarkan opsi autentikasi.

Autentikasi (Konfirmasi Pembayaran)

Autentikasi diperlukan saat pembayar memberikan kredensial pembayaran selama transaksi pembayaran.

  1. Pembayar memberikan kredensial pembayaran (seperti informasi kartu kredit).
  2. Penjual memeriksa apakah browser mendukung Konfirmasi Pembayaran aman.
  3. Jika browser mendukung SPC, panggil Payment Request API dengan SPC sebagai metode pembayaran. Jika tidak, gunakan kembali metode autentikasi yang ada.
  4. Pembayar mengonfirmasi detail transaksi dan menyelesaikan autentikasi (misalnya dengan menyentuh pengautentikasi platform biometriknya).

Platform yang didukung

Konfirmasi Pembayaran Aman saat ini didukung oleh Google Chrome di macOS dan Windows. Platform lain, termasuk Android, iOS, dan ChromeOS, tidak didukung mulai Mei 2022.

Langkah berikutnya