- HSM adalah singkatan dari Hardware Security Module
- HSM bukan tempat penyimpanan key, dia hanya menyimpan satu key saja, yang disebut dengan Local Master Key (LMK)
- Semua key lain digenerate oleh HSM, kemudian diencrypt dengan LMK, baru diberikan ke kita. Key yang terencrypt dengan LMK ini yang kita simpan di database.
- Fitur terpenting HSM adalah anti-tampering. Dia bisa menghapus LMKnya bila terjadi pembongkaran paksa, sehingga LMK kita bisa disimpan dengan aman.
Beberapa istilah dalam penggunaan HSM :
- LMK : Local Master Key. Key utama yang digunakan untuk mengenkripsi key lain
- TMK : Terminal Master Key. Key di terminal (ATM atau EDC) yang digunakan untuk mengenkripsi key transaksi
- TPK : Terminal Pin Key. Key yang digunakan untuk mengenkripsi data transaksi (misalnya PIN nasabah)
Referensi :
LMK diinisialisasi dengan prosedur Key Ceremony. Biasanya ada beberapa orang (Key Custodian) yang bergiliran memasukkan key. LMK nantinya akan dihasilkan dari gabungan key yang diinput oleh Key Custodian
Secara periodik, TPK di masing-masing terminal diganti baru untuk menghindari replay attack. Berikut adalah prosedur penggantian key.
Di bawah ini akan ada beberapa gambar prosedur pemrosesan transaksi keuangan menggunakan PIN (Personal Identification Number). Penulisan PIN pada diagram di bawah sangat disederhanakan menjadi [PIN]LMK
atau PIN yang dienkripsi dengan LMK.
Akan tetapi, prosedur aslinya tidak sesederhana itu. Ada beberapa perhitungan lagi yang melibatkan beberapa komponen PIN seperti :
- PAN : Primary Account Number, atau gampangnya adalah nomer kartu debit/kredit
- PIN asli. Yaitu nomer rahasia yang dipilih pemegang kartu debit/kredit
- PIN Generation/Verification Key : key yang digunakan untuk proses generate PIN
- PIN natural. Yaitu nilai yang dihasilkan dari mengenkripsi sebagian PAN dengan PIN Generation Key
- PIN Offset : selisih antara PIN asli dengan PIN natural. PIN Offset inilah yang disimpan di database aplikasi
- PIN block. Yaitu gabungan antara PIN dan nomer kartu (PAN). Ini adalah nilai yang dikirim oleh ATM/EDC ke server.
Berikut adalah beberapa referensi tentang prosedur perhitungan dan pemrosesan PIN :
- Penjelasan alur pemrosesan PIN
- Algoritma perhitungan PIN offset
- Algoritma perhitungan PIN block
- Panduan keamanan PIN
Jadi, kalau pada diagram di bawah ada tulisan [PIN]LMK
, jangan dibaca PIN dienkripsi dengan LMK, tapi bacalah PIN diproses oleh HSM.