“Encryption works. Properly implemented
strong crypto systems are one of the few things
that you can rely on. Unfortunately, endpoint
security is so terrifically weak that NSA can
frequently find ways around it.”
Jumlah pengguna e-money pada akhir tahun
2016 mengalami kenaikan sebesar 49,22%
atau naik menjadi 51,20 juta pengguna dari
34,31 juta di akhir tahun 2015. Peningkatan
penggunaan e-money juga harus diikuti
peningkatan layanan keamanan terhadap
terhadap pelanggan.
Pengertian E-money
Java Card Open Platform (JCOP)
Konsep Keamanan Informasi
Data Encryption Standard (DES)
Menurut Bank Indonesia, e-money adalah alat pembayaran yang memenuhi unsur-unsur sebagai berikut :
diterbitkan atas dasar nilai uang yang disetor terlebih dahulu oleh pemegang kepada penerbit.
nilai uang disimpan secara elektronik dalam suatu media seperti server atau chip.
digunakan sebagai alat pembayaran kepada pedagang yang bukan merupakan penerbit uang elektonik tersebut.
nilai uang elektronik yang disetor oleh pemegang dan dikelola oleh penerbit bukan merupakan simpanan sebagaimana dimaksud dalam undang-undang yang mengatur mengenai perbankan
Memenuhi Standar Global
Hardware Spseifikasi Rendah
Memiliki performa unggul dalam Bechmark
dan Aplikasi
Memiliki RSA 2048
Teknologi Bersifat Lintas Bisnis
Confidentiality (kerahasiaan)
Integrity (integritas data)
Authentication (otentikasi)
Non-repudiation (anti penyangkalan)
Dikembang National Security Agancy (NSA)
NIST FIPS 46-3
Panjang Block Data 64 bit
Panjang Kunci 64 bit (56 bit Kunci + 8 bit
Parity)
Feistel
16 Round
Differential Attack
o Eli Bilham dan Adi Shamir (1990)
o Karakteristik Pada Pasangan Plaintext
dan Ciphertext
Input difference P (L , R)
Input pada fungsi F adalah bagian R (32 bit)
Ekspansi bit dari 32 bit menjadi 48 bit dapat diabaikan kerena ΔX = 0
XOR dengan subkunci dapat diabaikan kerena ΔX = 0
S-Layer pada dari 48 bit menjadi 32 bit (sangat diperlukan, khususnya untuk menghitung sbox aktif dan nilai probabilitas serangan)
Permutasi 32 bit dapat diabaikan kerena ΔX = 0
Pertumbuhan pesat penggunaan emoney
membuat penyedia layanan emoney
menyediakan kemudahan dalam transaksi
dan aksesibilitas
Untuk kemudahan akses, penyedia
menerbitkan aplikasi yang memudahkan
pengguna untuk cek saldo dan top up
int32_t Java_noi_mandiri_util_NFC_commandAPDUforNumber();
int32_t Java_noi_mandiri_util_NFC_commandAPDUforPrepaid();
int32_t Java_noi_mandiri_util_NFC_commandAPDUforBalance();
Pilih input difference dengan karakteristik
R = 60 00 00 00 (32 bit) masuk kedalam fungsi F
L = 00 80 82 00 (32 bit) › Ekspansi input difference 60 (0110) menjadi 12 (001100)
› S-Layer input difference 12 (C) menjadi 14 (E) (dipilih berdasarkan probabilitas terbesar)
› Permutasi input difference 14 00 00 00 menjadi 00 80 82 00
› Output fungsi F XOR input difference L = 0
Demikian seterusnya sampai dengan round ke 3 (probabilitas nya adalah (14/64)*(1)*(14/64) = (14/64)2).
Weak Keys adalah jika suatu algoritma
kriptografi melakukan enkripsi 2 kali secara
berturut-turut terhadap 1 plainteks yang
sama, maka akan menghasilkan plainteks
semula atau dengan kata lain plainteks
terenkripsi menjadi terdekripsi melalui fungsi
enkripsi.
Semi Weak Keys adalah jika suatu algoritma
kriptografi melakukan dekripsi terhadap
cipherteks dengan menggunakan pasangan
Semi Weak Keys , maka akan menghasilkan
plainteks yang sama atau dengan kata lain
terdapat kunci B yang dapat mendekripsikan
cipherteks yang dienkripsikan dengan
menggunakan kunci A (dalam hal ini kunci A
dan kunci B merupakan pasangan Semi Weak
Keys ).
Aplikasi e-money sudah menggunakanalgoritma standar AES 128 dengan mode CBC
Hardware masih menggunakan DES
Pengamanan Aplikasi *.apk dengan metodeObfuscation dan encryption Source Code.
Algoritma dikoding dengan C/ C++ dandiakses dengan Java Native Interface (JNI)