Cara kerja dompet seluler pada contoh aplikasi "Mir Pay"

Seperti yang Anda ketahui, pada tahun 2015 kami meluncurkan sistem pembayaran Mir, dan kartu Mir diterima di mana-mana di Rusia. Ini tentu saja sangat keren, tetapi sekarang penggunaan dompet seluler untuk membayar pembelian semakin populer. Menurut statistik, pada 2019, 19% dari semua transaksi adalah pembayaran menggunakan smartphone. Pada 2017, jumlah mereka hanya 3%. Di tahun 2018, sistem pembayaran Mir Pay juga menghadirkan aplikasi pembayaran Mir Pay sendiri . Mir Pay ditulis di Kotlin dan dapat berjalan di ponsel dengan dukungan NFC dan Android 6.0 dan yang lebih baru.







Nama saya Valery Bogdanov, saya adalah kepala grup pengujian di tim pembayaran seluler dari departemen teknologi informasi NSPK, dan saya akan memberi tahu Anda tentang cara kerja dompet seluler menggunakan aplikasi Mir Pay kami sebagai contoh .



Pertama, mari kita lihat cara kerja pembayaran menggunakan kartu plastik. Dalam kasus klasik, kartu dikeluarkan untuk pemegangnya oleh bank penerbit. Dalam hal ini, kartu di area terlindung memori menyimpan kunci MK-AC ( Kunci Master Kriptogram Aplikasi ) yang dibagikan dengan penerbit . Pada saat pembayaran (jika operasi online ) menghasilkan peta berdasarkan kunci sesi MK-AC SK-AC ( Application Cryptogram Session Key ) dan kemudian, menggunakan data peta dan data pada operasi yang diterima dari terminal, menghasilkan kriptogram ARQC ( Otorisasi Minta Kriptogram ). Pembuatan kriptogram didasarkan pada algoritma 3DES (Triple DES ). Dalam kasus umum, data transaksi dikirim dari kartu ke terminal, kemudian ke host bank penerima (yaitu melayani pedagang), lalu ke sistem pembayaran dan pada tahap terakhir ke bank penerbit (yaitu, menerbitkan kartu) untuk otorisasi.







Penerbit memeriksa kriptogram dengan membuatnya sendiri berdasarkan data transaksi yang disertakan dengan ARQC dan membandingkannya dengan nilai dari data yang diterima. Bank penerbit dapat menyetujui atau menolak operasi berdasarkan hasil analisis data kartu, kriptogram, limit yang ditetapkan, penilaian risiko, dan parameter lainnya.



Sekarang mari kita lihat perbedaan antara pembayaran dengan dompet seluler. Di sini, bank penerbit tidak memberikan apa pun kepada pemegang dompet (kecuali kartu, tentu saja, tetapi tidak secara langsung berpartisipasi dalam pembayaran), sebagai gantinya, pemegang kartu memasukkan datanya ke dalam dompet, dan itu "muncul" di dalamnya, atau lebih tepatnya, bukan, tetapi token khusus -profil yang dihasilkan berdasarkan peta ini. Sudah jelas bahwa tidak mungkin mengatur pembayaran, seperti dalam kasus klasik, karena ponsel tidak memiliki data kartu dan kunci penerbit MK-AC - alih-alih mereka, profil token dan kunci khususnya digunakan. Sebelum berurusan dengan pembayaran, mari kita pahami apa yang terjadi ketika kartu "ditambahkan" ke dompet seluler.







Pemegang kartu memasukkan data ke dalam aplikasi (1), yang mentransfernya dalam bentuk terenkripsi (lebih lanjut tentang itu nanti) melalui host dari penyedia layanan dompet seluler ( WSP - Penyedia Layanan Dompet ) ke sistem pembayaran. Dalam kasus Mir Pay, penyedia layanan dompet adalah NSPK, sehingga datanya langsung masuk ke sistem pembayaran (2) . Pemrosesan lebih lanjut berlangsung di platform pembayaran seluler (PMP). PMP mendekripsi data, menentukan nomor kartu penerbitnya, dan meminta konfirmasi dari dia tentang kemungkinan menambahkan kartu ke dompet (3) . Dalam kasus jawaban positif (4) untuk kartu ini, prosedur untuk membuat profil token (5) dan mengirimkannya ke telepon (6)... Jadi, alih-alih data kartu, perangkat seluler akan menyimpan profil token yang terkait dengan kartu ini dan perangkat ini. Perhatikan bahwa konversi profil token ke data kartu asli tidak dapat dilakukan di luar platform pembayaran seluler. Setelah menyimpan profil token di perangkat pengguna, Mir Pay meminta paket kunci satu kali dari PMP (7) , yang akan digunakan oleh aplikasi saat melakukan pembelian sebagai kunci sesi, mirip dengan SK-AC yang disebutkan di atas . Sesuai dengan namanya, one-time key tidak dapat digunakan lebih dari satu kali, oleh karena itu, selama penggunaan, aplikasi Mir Pay secara berkala mendownload bagian kunci baru dari PMP. Ini melengkapi menambahkan peta ke aplikasi.



Sekarang mari kita lihat bagaimana proses pembayaran berubah dibandingkan dengan pembayaran dengan kartu plastik.







Tahap pertama hampir sama, hanya data profil token yang digunakan sebagai pengganti data kartu, dan kriptogram ARQC dihasilkan pada kunci satu kali yang diterima dari PMP sebagai sesi SK-AC . Perbedaan lain antara Mir Pay dan kartu plastik adalah bahwa ketika membuat kriptogram, alih-alih 3DES , digunakan algoritma penyandian blok simetris yang lebih modern AES ( Advanced Encryption Standard ).



Selanjutnya, data pada operasi juga melewati terminal, tuan rumah bank penerima dan masuk ke sistem pembayaran. Dengan nomor token (dari profil token), sistem pembayaran menentukan bahwa itu tidak berurusan dengan kartu biasa, tetapi dengan token, dan mengirimkan operasi ke PMP untuk memverifikasi kriptogram dan apa yang disebut detokenisasi - mengubah token kembali menjadi data kartu asli. Ya, kriptogram sekarang diverifikasi bukan oleh penerbit, tetapi oleh PMP, karena di kedalaman platform itulah kunci satu kali dan profil token tersebut dibuat. Selanjutnya, operasi dengan data kartu yang sudah dikirim ke bank penerbit untuk otorisasi. Dalam perjalanan kembali - transformasi terbalik.



Di Mir Payskema dengan kunci satu kali digunakan, tetapi ada pendekatan lain - menyimpan satu kunci pada perangkat. Pendekatan ini membutuhkan elemen keamanan pada perangkat dan beberapa dompet dapat menerapkannya mengingat perangkat tertentu memiliki elemen keamanan tersebut. Dalam kasus kami, mengingat banyaknya variasi ponsel Android, ini sama sekali tidak dapat dicapai. Kekhususan ini menjelaskan skema yang dipilih.



Mempertimbangkan proses tokenisasi yang dijelaskan di atas, satu hal halus dapat diperhatikan: saat membayar dengan dompet, data profil token digunakan, namun, saat kartu ditambahkan, datanya dikirim ke host sistem pembayaran, dan data ini sangat rahasia. Untuk melindungi data kartu di Mir Paysistem perlindungan multi-tahap disediakan. Saat permulaan, mekanisme untuk mengontrol integritas aplikasi dan memeriksa lingkungan diaktifkan secara otomatis, yang tidak mengizinkan penggunaan aplikasi palsu yang dimodifikasi oleh orang yang tidak berwenang. Jika risiko signifikan terdeteksi, aplikasi memberi tahu pengguna tentang hal itu dan secara otomatis menghapus semua profil token yang disimpan. Selain itu, hasil pemeriksaan ini juga dianalisis di sisi PMP.



Untuk pertukaran data rahasia PMP dan Mir Paymenghasilkan pasangan kunci dan bertukar komponen publik. Karena fakta bahwa kami tidak dapat 100% mempercayai penyimpanan kunci internal, skema dikembangkan dengan penyimpanan komponen kunci yang berbeda di tempat yang berbeda: baik di penyimpanan kunci dan di RAM. Artinya, untuk memulai operasi penipuan, pertama-tama perlu mengekstrak kriptogram dari semua kunci ini, dan kedua, mereka juga perlu didekripsi! Tetapi ini tidak begitu mudah dan tidak terlalu efektif, karena kunci satu kali digunakan untuk operasi. Dan hanya setelah Mir Paydan PMP bertukar kunci publik, yaitu, mereka benar-benar membuat saluran aman, transfer data sensitif diperbolehkan, yang dienkripsi dengan algoritma tahan kripto. Melalui mekanisme ini, profil token, dan kunci satu kali untuk melakukan operasi, dan data tentang operasi yang sudah selesai dikirimkan ke perangkat pengguna.



Seperti yang dapat Anda lihat dari uraian ini, keamanan pembayaran berdasarkan dompet seluler tidak hanya dijaga pada level kartu plastik, dan dalam beberapa kasus bahkan melampaui itu! Aplikasi Mir Pay sesuai dengan persyaratan keamanan internasional dan domestik dan memungkinkan pemegang kartu Mir menggunakan ponsel mereka untuk pembayaran tanpa takut kebocoran data pribadi.



Saat ini pengembangan Mir Payterus - setelah merilis versi pertama dalam waktu singkat, kami sudah memperkenalkan perkembangan baru ke dalam aplikasi, tidak lupa untuk meningkatkan apa yang telah dilakukan.



Sejumlah poin memerlukan pengembangan - Anda perlu mempertimbangkan model smartphone yang baru dirilis dan direncanakan, tanpa layanan Google, - beralihlah ke mitra Rusia atau kembangkan solusi Anda sendiri.



All Articles