Penyiapan web sidik jari perangkat
Penyiapan sidik jari perangkat dilakukan dalam dua fase.
- Konfigurasikan sertifikat Domain Name Server (DNS) Secure Sockets Layer (SSL), dan unggah ke portal Perlindungan Penipuan.
- Menerapkan sidik jari perangkat.
Bagian ini menyediakan instruksi terperinci untuk kedua fase ini. Fase pertama harus diselesaikan hanya sekali. Namun, fase kedua harus diulang sekali untuk setiap situs web atau aplikasi seluler tempat sidik jari perangkat diterapkan.
Menyiapkan DNS dan membuat sertifikat SSL
Selesaikan prosedur berikut untuk menyiapkan DNS dan membuat sertifikat SSL. Penyiapan DNS dan SSL, sementara opsional, sangat disarankan untuk memastikan cakupan dan performa sidik jari yang optimal. Penyiapan DNS dan SSL memungkinkan skrip sidik jari dianggap sebagai integrasi pihak pertama, bukan cookie pihak ketiga.
Menyiapkan DNS
Untuk menyiapkan DNS, ikuti langkah-langkah ini.
- Pilih subdomain di bawah domain akar Anda, seperti
fpt.contoso.com
. Awalan apa pun dapat digunakan. - Untuk subdomain yang dipilih, buat nama kanonis (CNAME) yang menunjuk ke
fpt.dfp.microsoft.com
.
Membuat dan mengunggah sertifikat SSL
Untuk membuat dan mengunggah sertifikat SSL, ikuti langkah-langkah ini.
- Untuk onboarding back-end, buat sertifikat SSL untuk subdomain yang dipilih. Anda dapat membuat satu sertifikat SSL dan menambahkan semua subdomain di bidang Nama Alternatif Subjek Sertifikat.
- Buka portal Perlindungan Penipuan, lalu, di panel navigasi kiri, pilih Integrasi.
- Pada halaman Integrasi , pilih Edit, lalu, pada halaman berikutnya, pilih Berikutnya untuk membuka halaman Unggah sertifikat SSL.
- Pilih Pilih Sertifikat, lalu unggah sertifikat SSL yang Anda buat. Jika sertifikat Anda memiliki kata sandi, masukkan kata sandi tersebut di kotak teks. Lalu pilih Unggah.
Memvalidasi sertifikat SSL
Ada dua cara untuk memverifikasi bahwa sertifikat SSL berhasil disebarkan.
- Buka "https:///health/ping" dan periksa validitas sertifikat.
ATAU
- Buka "https://www.sslshopper.com/ssl-checker.html". Masukkan nama host server, pilih Periksa SSL, dan tinjau informasi sertifikat SSL yang ditampilkan di halaman.
Catatan
Hanya file .pfx yang didukung. Penyebaran sertifikat ke server sidik jari perangkat mungkin memakan waktu beberapa menit.
Menerapkan sidik jari perangkat
Situs web atau aplikasi Anda harus memulai permintaan sidik jari perangkat beberapa detik sebelum transaksi dikirim ke Perlindungan Penipuan untuk evaluasi risiko (seperti transaksi untuk menambahkan instrumen pembayaran, masuk, atau checkout). Persyaratan ini memastikan bahwa Perlindungan Penipuan menerima semua data yang diperlukan untuk membuat penilaian yang akurat. Bagian ini menyediakan instruksi terperinci untuk menerapkan sidik jari perangkat di situs web dan aplikasi seluler.
Untuk menerapkan sidik jari perangkat, ikuti langkah-langkah ini.
Ubah kode skrip JavaScript berikut, dan sisipkan di halaman web atau di aplikasi tempat Anda ingin mengumpulkan informasi sidik jari perangkat.
<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&instanceId=<instance_id>" type="text/javascript"></script>
- Your_Sub_Domain – Subdomain di bawah domain akar Anda.
- session_id – Pengidentifikasi sesi unik perangkat yang dibuat oleh klien. Panjangnya bisa hingga 128 karakter dan hanya dapat berisi karakter berikut: huruf romawi huruf besar dan kecil, digit, karakter garis bawah, dan tanda hubung (a–z, A–Z, 0–9, _, -). ID sesi harus berisi setidaknya 16 byte data yang dihasilkan secara acak. Saat menggunakan pengodean heksadesimal, ini diterjemahkan menjadi 32 karakter heksadesimal. Meskipun Microsoft menyarankan agar Anda menggunakan pengidentifikasi unik global (GUID) untuk ID sesi, itu tidak diperlukan.
- instance_id - Nilai yang diperlukan untuk mengintegrasikan situs web Anda dengan sidik jari perangkat. Gunakan nilai ID sidik jari perangkat yang tercantum di petak lingkungan Saat ini di halaman Integrasi lingkungan terkait di portal Perlindungan Penipuan.
Contoh
<script src="https://fpt.contoso.com/mdt.js?session_id=211d403b-2e65-480c-a231-fd1626c2560e&instanceId=b472dbc3-0928-4577-a589-b80090117691" type="text/javascript"></script>
Berikut adalah contoh respons untuk mdt.js.
window.dfp={url:"https://fpt.contoso.com/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",sessionId:"211d403b-2e65-480c-a231-fd1626c2560e",customerId:"b472dbc3-0928-4577-a589-b80090117691",dc:"uswest"};window.dfp.doFpt=function(doc){var frm,src;true&&(frm=doc.createElement("IFRAME"),frm.id="fpt_frame",frm.style.width="1px",frm.style.height="1px",frm.style.position="absolute",frm.style.visibility="hidden",frm.style.left="10px",frm.style.bottom="0px",frm.setAttribute("style","color:#000000;float:left;visibility:hidden;position:absolute;top:-100;left:-200;border:0px"),src="https://Your_Sub_Domain/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",frm.setAttribute("src",src),doc.body.appendChild(frm))};
Muat sidik jari perangkat setelah elemen halaman dimuat.
window.dfp.doFpt(this.document);
Saat Anda mengirimkan transaksi di API Perlindungan Penipuan, atur ID sesi di bidang deviceContextId . Untuk Penilaian, atur ID sesi di bidang deviceFingerprinting.id .
Atur bidang device.ipAddress ke alamat IP pelanggan yang diterima situs web Anda saat pelanggan menggunakan situs Anda. Untuk Penilaian, atur alamat IP pelanggan di bidang deviceFingerprinting.ipAddress . Bidang ini bersifat opsional dan tidak perlu diatur jika Anda tidak memilikinya.
Mengaktifkan integrasi sisi klien untuk sidik jari perangkat
Untuk skenario sidik jari web tertentu, Perlindungan Penipuan mendukung kelas integrasi khusus yang disebut integrasi sisi klien. Integrasi sisi klien berbeda dari praktik integrasi standar karena respons sidik jari dikembalikan langsung ke klien sebagai payload terenkripsi, melewati panggilan penilaian server-ke-server.
Integrasi sisi klien berguna untuk skenario latensi rendah di mana melewati panggilan server-ke-server menguntungkan. Untuk menentukan apakah integrasi sisi klien cocok untuk skenario Anda atau tidak, lihat panduan pertanyaan berikut.
Apakah sidik jari perangkat skenario saya hanya?
Jika skenario Anda bukan sidik jari perangkat saja, integrasi sisi klien tidak cocok untuk skenario Anda.
Apakah saya ingin data sidik jari saya berada di browser dibandingkan dengan server saya yang mengambilnya?
Dalam integrasi server-ke-server tradisional, setelah pengumpulan atribut selesai di situs web, data didorong ke server Perlindungan Penipuan, di mana Anda dapat memperoleh respons penilaian di server Anda dengan melakukan panggilan API penilaian standar. Namun, dalam integrasi sisi klien, ketika data pengumpulan atribut didorong ke server Perlindungan Penipuan, respons penilaian kembali dan dikembalikan langsung di browser. Dengan cara ini, server Anda dapat mengekstrak respons penilaian dari browser itu sendiri alih-alih melakukan panggilan server-ke-server, menghemat waktu. Perlu diingat bahwa sidik jari itu sendiri membutuhkan waktu beberapa detik, sehingga respons penilaian hanya ada di browser jika pengguna berada di halaman selama beberapa detik. Jika skenario Anda mendapat manfaat dari data yang sudah ada di browser, integrasi sisi klien mungkin tepat untuk Anda.
Secara umum, sebagian besar skenario sidik jari diselesaikan oleh integrasi server-ke-server standar, dan integrasi sisi klien bermanfaat untuk beberapa skenario tertentu di mana penurunan latensi sangat penting. Karena integrasi sisi klien adalah kelas integrasi khusus yang disederhanakan dan aman, prasyarat berikut harus dipenuhi untuk mengaktifkannya.
- Anda harus berada di lingkungan akar penyewa Perlindungan Penipuan.
- Anda harus menyiapkan panggilan eksternal yang mengembalikan respons kunci enkripsi dalam format JSON Web Key Sets (JWKS). Panggilan eksternal ini mengembalikan kunci yang digunakan Perlindungan Penipuan untuk mengenkripsi payload. Anda dapat menggunakan kunci ini setelah itu untuk mendekripsi sisi server respons Perlindungan Penipuan yang awalnya Anda terima dari sisi klien. Anda bertanggung jawab untuk menyediakan kunci untuk enkripsi dan dekripsi. Untuk informasi tentang menyiapkan panggilan eksternal, lihat Panggilan eksternal.
Kode berikut menunjukkan contoh format JWKS.
{
"keys":
[
{
"kty":null,
"use":null,
"kid":null,
"k":null
}
]
}
- Anda hanya boleh menggunakan bagian metadata dan sidik jari perangkat dari templat penilaian sidik jari perangkat. Jika ada bagian skema tambahan, atau jika Anda tidak menggunakan templat penilaian sidik jari perangkat, opsi integrasi sisi klien tidak tersedia untuk Anda.
Saat Anda mencapai halaman Pengaturan wizard penilaian untuk templat sidik jari perangkat, opsi integrasi sisi klien tersedia untuk Anda. Setelah memilih untuk mengaktifkan integrasi sisi klien, Anda akan memilih panggilan eksternal dengan format respons JWKS yang Anda siapkan.
Untuk menyelesaikan penyiapan integrasi sisi klien, untuk mengembalikan respons terenkripsi di browser, Anda harus menggunakan versi yang dimodifikasi dari contoh JavaScript berikut.
<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&customerId=<customer_id>&assessment=<assessment>&requestId=<request_id>" type="text/javascript"></script>
- Your_Sub_Domain – Subdomain di bawah domain akar Anda.
- session_id – Pengidentifikasi sesi unik perangkat yang dibuat oleh klien. Panjangnya bisa hingga 128 karakter dan hanya dapat berisi karakter berikut: huruf Romawi huruf besar dan kecil, digit, karakter garis bawah, dan tanda hubung (a–z, A–Z, 0–9, _, -). ID sesi harus berisi setidaknya 16 byte data yang dihasilkan secara acak. Saat menggunakan pengodean heksadesimal, ini diterjemahkan menjadi 32 karakter heksadesimal. Meskipun Microsoft menyarankan agar Anda menggunakan pengidentifikasi unik global (GUID) untuk ID sesi, itu tidak diperlukan.
- customer_id - Nilai yang diperlukan untuk mengintegrasikan situs web Anda dengan sidik jari perangkat. Gunakan nilai ID Lingkungan yang tercantum pada petak lingkungan Saat ini dari halaman Integrasi lingkungan terkait di portal Perlindungan Penipuan. Anda harus berada di lingkungan akar agar integrasi sisi klien berfungsi.
- penilaian – Nama API penilaian sidik jari perangkat yang disiapkan dengan integrasi sisi klien diaktifkan. Nama API peka huruf besar/kecil dan ditarik dari halaman konfigurasi penilaian.
- request_id – Pengidentifikasi unik untuk permintaan itu sendiri, terpisah dari ID sesi. Pengidentifikasi ini harus berupa GUID dengan panjang setidaknya 32 karakter.
Contoh berikut menunjukkan kode JavaScript dengan nilai contoh.
<script src="https://fpt.contoso.com/mdt.js?session_id=2b2a1f5e-afa7-4c6d-a905-ebf66eaedc83&customerId=b3f6d54b-961c-4193-95ee-b6b204c7fd23&assessment=CSI&requestId=b12e86a0-37b1-43a2-958b-3f04fe7cef6c" type="text/javascript"></script>
Setelah skrip ini disiapkan dan integrasi sisi klien diaktifkan, respons sidik jari dikembalikan sebagai payload terenkripsi di browser klien. Anda dapat menggunakan fungsi panggilan balik untuk mengambil payload respons terenkripsi. Contoh di bawah ini menunjukkan fungsi panggilan balik yang digunakan:
window.dfp.doFpt(document, function (response) {
if(response == null || response.startsWith('ServerError'))
console.log("Error Scenario");
else
console.log("Success Scenario"); // pass to server so it can decrypt and use response
});
Anda masih harus meneruskan payload ke server Anda untuk mendekripsinya dan menggunakan respons. Kami tidak mengharapkan Anda memanggil panggilan eksternal untuk mendapatkan kunci enkripsi yang Anda host untuk mendekripsi payload. Anda harus menyimpan dan mengakses kunci dengan cara yang sama amannya Anda mendapatkan dan mengelola rahasia lain yang digunakan di server Anda.
Sumber Daya Tambahan:
- Gambaran umum sidik jari perangkat
- Atribut dalam sidik jari perangkat
- Menyiapkan dan mengimplementasikan sidik jari perangkat
- Pelatihan: Menerapkan sidik jari perangkat di Dynamics 365 Perlindungan Penipuan.