SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
1
Cryptographic and Software Based E-Money Security Holes
Sandromedo Christa Nugroho1
, Agus Winarno2
Lembaga Sandi Negara
sandromedo.christa@bssn.go.id1
|| major.ruft@gmail.com1
agus.winarno@bssn.go.id2
Pendahuluan
Pertumbuhan dan penggunaan uang elektronik (e-money) di Indonesia telah mengalami
peningkatan yang cukup pesat. Menurut laporan ststistik Bank Indonesia pertumbuhan
penggunaan e-money mencapai dua digit pada akhir tahun 2016. 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 salah satunya
didukung dengan salah satu kebijakan pemerintah yang menerapkan transaksi uang secara
elektronik pada jalur masuk dan keluar toll. Penggunaan e-money harus diikuti peningkatan
layanan keamanan terhadap pelanggan, adanya isu keamanan pada e-money dapat
menyebabkan turunnya tingkat kepercayaan pengguna dalam menggunakan e-money.
E-money yang beredar di masyarakat berbentuk kartu dengan chip digital yang dapat
digunakan untuk mempermudah proses jual-beli atau pembayaran terhadap barang/jasa.
Bentuknya yang ringkas dan simpel menjadi kemudahan tersendiri, khusunya dalam hal
penyimpanan dan mobilitas. Pembahasan keamannya dari sitem e-money dapat dilihat dari
beberapa aspek, seperti software, hardware, server, pengguna, operator, keamanan dan aspek-
aspek lainnya. Secara keamanan kartu e-money dilindungi dengan menggunakan teknik
kriptografi, dimana algoritma kriptografi yang digunakan pada kartu tersebut adalah algoritma
DES, Triple DES, IDEA dan AES (tergantung versi kartu yang digunakan) [Darmawan, Adhi,
2012]. Secara kriptografi penggunaan algoritma-algoritma kriptografi tersebut dapat
menyajikan kecepatan dan keamanan dengan teknik enkripsi, namun penggunaan algoritma
DES dan Triple DES memiliki beberapa kelemahan dan kerentanan yang dapat dimanfaatkan
oleh kriptanalis dalam menyerang kartu e-money secara kriptografis. Selain itu aplikasi android
yang dikembangkan oleh pihak penyedia e-money di google play juga belum diamankan
dengan menggunakan teknik obfuscate ataupun enkripsi, sehingga memungkinkan untuk
dianalisis lebih dalam. Paper ini akan membahas mengenai defferential attack dan security
holes pada algoritma DES, serta reverse engineering pada aplikasi e-money.
2
Landasan Teori
1. Pengertian e-money
Menurut Bank Indonesia, e-money adalah alat pembayaran yang memenuhi
beberapa unsur, antara lain :
a. Diterbitkan atas dasar nilai uang yang disetor terlebih dahulu oleh pemegang
kepada penyedia.
b. Nilai uang disimpan secara elektronik dalam suatu media seperti server atau
chip.
c. Digunakan sebagai alat pembayaran kepada pedagang yang bukan merupakan
penyedia e-money tersebut.
d. Nilai e-money yang disetor oleh pemegang dan dikelola oleh penyedia bukan
merupakan simpanan sebagaimana dimaksud dalam undang-undang yang
mengatur mengenai perbankan.
Tahun 2016 jumlah penyedia layanan e-money adalah 25 penyedia, yang terdiri dari 11
perusahaan perbankan dan 14 perusahaan swasta. Secara garis besar penyimpanan e-
money dibagi menjadi dua penyimpanannya, yaitu penyimpanan dalam bentuk chip
yaitu Bank Mandiri (e-money), Bank BCA (Flazz BCA) dan Bank BRI (Brizzi), serta
penyimpana dalam bentuk server, yaitu Telkomsel T-Cast, Finnet Indonesia dan Go
Pay. Daftar penyedia e-money yang mendapat ijin dari bank Indonesia, antara lain :
a. Perbankan (seperti Bank Mandiri, Bank BCA )
b. Perusahaan (seperti Bima Sakti Multisinergi, PT. Finnet Indonesia)
c. Telekomunikasi (sepertiTelkomsel T-Cast, XL Axiata)
d. Perhubungan ( GO-Pay, Grab-pay)
Berdasarkan daftar tersebut Bank Mandiri dan Bank BCA telah menyediakan e-money
dalam bentuk kartu chip yang disertai dengan aplikasi mobile yang dapat digunakan
untuk mengecek dan top up saldo pengguna.
2. Java Card Oven Platform (JCOP)
JCOP adalah open IBM smart card operating system yang bersifat bebas. JCOP
memiliki spsesifikasi sebagai berikut :
a. Memenuhi standar global
JCOP menggunakan standar yang bersifat global seperti menggunakan java
card 2.1.1 , GlobalPlatform 2.0.1, EMV & ISO7816, ISO14443 dan 3GPP 03.19
& 11.14. Penggunaan standar tersebut bertujuan untuk membuat sistem yang
3
interoperability pada aplikasinya. JCOP memberikan jaminan memiliki tingkat
interoperbilititas 100% terhadap aplet-aplet pihak ketiga.
b. Menggunakan hardware dengan spsesifikasi rendah
JCOP menggunakan hardware yang menggunakan prosesor 8 bit, 48Kb ROM
dan Custom Mask Process. Tujuannya adalah untuk menyediakan hardware
yang murah untuk diproduksi secara masal dengan prosesor yang cukup
mumpuni.
c. Memiliki performa yang unggul dalam benchmark dan application
Berdasarkan dokumen IBM, JCOP sudah lulus tes interoperability dan secara
konsisten dapat mengalahkan java card lainnya, termasuk terhadap java card
yang sudah mengimplementasikan platform 32 bit.
d. Memiliki fitur RSA 2048
JCOP sudah mendukung penggunaan kunci public sepanjang 2048, sehingga
memungkinkan penyedia e-money untuk memberikan layannan otentikasi yang
baik.
e. Teknologi yang bersifat lintas bisnis
Penggunaan JCOP sudah tersebar luas dalam multibisnis yang meliputi industri
keuangan, komunikasi, kesehatan dan transportasi. Berikut adalah versi JCOP
yang tersedia di pasar global :
4
3. Konsep Keamanan Informasi
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan
data, integritas data, serta autentikasi data (Menezes, Alfred J et al, 1997). Terdapat 4
tujuan dasar kriptografi yang juga merupakan aspek keamanan informasi, antara lain :
a. Confidentiality (kerahasiaan), berhubungan dengan layanan yang ditujukan untuk
menjaga isi informasi dari siapapun, kecuali pihak yang memiliki kunci rahasia
untuk membuka informasi yang telah disandikan.
b. Integrity (integritas data), berhubungan dengan penjagaan data dari perubahan-
perubahan yang tidak sah. Untuk dapat menjaga integritas data, suatu sistem harus
memiliki kemampuan untuk mendeteksi manipulasi data yang dilakukan oleh
pihak-pihak yang tidak berhak, antara lain yaitu penyisipan, penghapusan, dan
pendistribusian data lain ke dalam data asli.
c. Authentication (otentikasi), berhubungan dengan identifikasi, baik secara kesatuan
sistem maupun informasi itu sendiri. 2 (dua) pihak yang saling berkomunikasi harus
saling memperkenalkan diri, dan informasi yang dikirimkan harus diotentikasi
keasliannya, isi datanya, waktu pengirimannya, dan lain sebagainya.
d. Non-repudiation (anti penyangkalan), berhubungan dengan usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh
yang mengirimkan atau yang membuat informasi tersebut.
4. Algoritma DES
Algoritma DES merupakan salah satu algoritma enkripsi simetrik standar
berdasarkan pada dokumen NIST FIPS 46-3. Algoritma DES dikembangkan oleh NSA
(National Security Agency) yang bekerja sama dengan IBM (International Business
Machines Corporation). Desain dan rancang bangun awal algoritma DES adalah
algoritma Lucifer yang kemduian dimodifikasi, salah satunya adalah pengurangan
ukuran bit block data dan ukuran bit kunci. Pengurangan kedua ukuran bit tersebut
dilakukan agar proses enkripsi/dekripsi algoritma DES dapat berjalan dengan lebih
cepat dan dapat diimplementasikan kedalam satu chip prosesor.
Algoritma DES melakukan proses enkripsi/dekripsi blok data sepanjang 64 bit
dengan menggunakan kunci sepanjang 64 bit (56 bit kunci + 8 bit parity) dalam 16
round. Algoritma DES membutuhkan 16 subkunci (đŸđŸ1, đŸđŸ2, 
 , đŸđŸ16), masing-masing
sepanjang 48 bit yang berasal dari ekspansi kunci input (seed) untuk melakukan proses
5
enkripsi/dekripsi. Gambar dibawah menunjukkan proses pembangkitan subkunci pada
algoritma DES.
Kunci Input (seed)
Permutasi
PC-1
C0 D0
Left Shift Left Shift
C1 D1
Left Shift Left Shift
Permutasi
PC-2 K1
Cj Dj
Permutasi
PC-2 Kj
 
 
Left Shift Left Shift
C16 D16
Permutasi
PC-2 K16
Gambar Proses Pembangkitan Subkunci pada Algoritma DES.
Algoritma DES menggunakan jaringan feistel (feistel network) sebagai struktur utama
algoritmanya. Selain itu algoritma tersebut juga menerapkan proses pre-whitening dan
post-whitening dengan menggunakan fungsi permutasi IP sebelum dan IP-1
setelah
proses round. Gambar dibawah menunjukkan skema algoritma DES.
Plainteks
IP
L0
R0
f
⊕
),( 1001 KRfLR ⊕=L1
= R0
K1
f
⊕
),( 2112 KRfLR ⊕=L2
= R1
K2
),( 15141415 KRfLR ⊕=L15
= R14
K16
),( 16151516 KRfLR ⊕= L16
= R15
IP-1
Cipherteks
f
⊕
Gambar Skema Algoritma DES.
6
Sedangkan tabel dibawah menunjukkan spesifikasi algoritma DES.
Tabel Spesifikasi Algoritma DES.
No. Keterangan Deskripsi
1. Pengembang/Pemublikasi IBM dan NSA
2. Tahun Publikasi 1975
3. Ukuran Kunci 64 bit
(54 bit + 8 bit parity)
4. Ukuran Block Data 64 bit
5. Struktur Balance Feistel Network
6. Round 48 (Empat Puluh Delapan)
7. Dokumen Standar NIST FIPS 46-3
5. Attack on Algoritma
Differential attack merupakan salah satu serangan kriptanalisis yang paling
umum digunakan terhadap algoritma-algoritma block cipher. Differential attack
dipublikasikan pertama kali oleh Eli Bilham dan Adi Shamir pada tahun 1990 untuk
menyerang algoritma block cipher Data Encryption Standard (DES). Dalam
perkembangannya, walaupun serangan tersebut pertama kali ditargetkan terhadap
algoritma DES, namun differential attack juga dapat diaplikasikan pada algoritma
block cipher lainnya. Hal tersebut menyebabkan pentingnya teknik antisipasi terhadap
kemungkinan terjadinya serangan differential attack pada desain dan rancang bangun
sebuah algoritma block cipher. Contoh, sebagian besar kandidat yang dikirimkan dalam
proses pemilihan algoritma block cipher Advanced Encryption Standard (AES) yang
diadakan oleh National Institute of Standards (NIST), Amerika Serikat di desain
dengan menggunakan teknik-teknik yang secara spesifik kuat terhadap differential
attack. Differential attack adalah serangan yang termasuk ke dalam tipe choosen
plaintext attack, ide dasar dalam teknik serangan tersebut, yaitu pemilihan 2 plaintext
dengan adanya “perbedaan”/“difference” P’ antara keduanya. Perbedaan tersebut
diukur dengan menggunakan operasi bitwise XOR (⊕), setelah itu kedua plaintext
tersebut dienkripsikan untuk mendapatkan 2 ciphertext yang juga memiliki
7
“perbedaan”/“difference” C’ diantara keduanya. Pasangan nilai (P’, C’) disebut sebagai
karakteristik. Bergantung pada algoritma block cipher dan analis yang dilakukan oleh
penyerang, dimana sifat nilai karakteristik ini dapat berguna untuk menemukan
beberapa bit tertentu yang terdapat pada kunci.
Pembahasan
1. E-money dan Aplikasi
Pertumbuhan pesat penggunaan e-money membuat penyedia layanan e-money
menyediakan kemudahan dalam transaksi dan aksesibilitas. Banyak para penyedia yang
sudah berkerjasama dengan aplet-aplet lain untuk proses pembayran tol, belanja, parkir,
dan akses transportasi. Untuk kemudahan akses, penyedia menerbitkan aplikasi yang
memudahkan pengguna untuk cek saldo dan top up. Bank mandiri menerbitkan aplikasi
mandiri e-money info dan mandiri e-money isi ulang. Bank BCA menerbitkan BCA
mobile yang terintegrasi kegiatan perbankan lainnya. Pada paper ini akan dibahas
reverse engineering aplikasi mandiri e-money info dan serangan pada algoritma DES
pada Java Card yang menggunakan algoritma DES.
2. Keamanan pada Aplikasi E-money Mandiri Info
Reverse engineering pada aplikasi e-money mandiri info dapat dilakukan
dengan menggunakan tool java decompile. Aplikasi *.apk yang telah di reverse adalah
mandiri e-money info dan mandiri e-money isi ulang. Hasil reverse engineering pada
mandiri e-money info didapatkan source code crypto.java yang berisi algoritma yang
digunakan pada aplikasi untuk mengecek saldodo e-money, yaitu algoritma AES 128
bit mode CBC.
8
Selain itu ditemukan juga library untuk koneksi dengan nfc yaitu libmandirinfc.so,
library tersbut bertujuan untuk proses akses aplikasi dengan nfc. Library
libmandirinfc.so dapat direverse untuk mendapatkan source code C dan didapatkan
libmandirinfc.c. dengan menggunakan aplikasi Retargetable Decompiler diperoleh
beberapa fungsi yang digunakan antara lain :
a. int32_t Java_noi_mandiri_util_NFC_commandAPDUforNumber();
b. int32_t Java_noi_mandiri_util_NFC_commandAPDUforPrepaid();
c. int32_t Java_noi_mandiri_util_NFC_commandAPDUforBalance();
Fungsi-fungsi tersebut digunakan untuk Application Protocol Data Unit (APDU) yang
dipanggil pada fungsi MainActivity.java yang bertujuan untuk proses pertukaran data
antara smart card dan card reader.
Command APDU adalah fungsi yang dikirim oleh NFC card reader kepada smart card
yang berisi 4 byte header dan data (0-65536), sedangkan untuk response APDU adalah
fungsi yang dikirim smardcard kepada NFC card reader yang berisi 0-65536 data dan
2 mandatory status.
3. Keamanan pada Aplikasi BCA Flazz
Aplikasi android untuk mendukung BCA Flazz terintegrasi dengan BCA
mobile. Aplikasi ini mengetahui saldo BCA Flazz. Aplikasi ini telah dicoba di-reverse
engineering dengan aplikasi decompiller java. Setelah direverse ditemukan bahwa
algoritma kriptograpfi yang digunakan adalah algoritma AES dengan Mode CBC.
9
Sedangkan komunikasinya client dan server menggunakan tls yang mencover algoritma
: AES, DES, TRIPLE DES, IDEA,RC2 dan RC 4.
Sementara itu untuk komunikasi nfc dengan menggunakan library android.nfc.tech dan
android.nfc.tag.
Secara software, algoritma yang digunakan sudah menggunakan algoritma standar,
namun secara masih menggunakan algoritma DES algoritma [Darmawan, Adhi 2012].
Algoritma DES memiliki kerentanan terhadap defferential attack. Algoritma DES juga
sudah ditemukan weak keys dan semi weak keys.
4. Differential Attack on DES
Teknik differential attack pada DES dilakukan dengan memanfaatkan
karakteristik fungsi F-nya. Gambar dibawah menunjukkan fungsi F pada algoritma
DES.
10
Gambar Fungsi F Algoritma DES.
Secara umum langkah yang dilakukan untuk melakukan diffrential attack tersebut
adalah :
a. Input difference P (L , R)
b. Input pada fungsi F adalah bagian R (32 bit)
c. Ekspansi bit dari 32 bit menjadi 48 bit dapat diabaikan kerena ΔX = 0
d. XOR dengan subkunci dapat diabaikan kerena ΔX = 0
e. S-Layer pada dari 48 bit menjadi 32 bit (sangat diperlukan, khususnya untuk
menghitung sbox aktif dan nilai probabilitas serangan)
f. Permutasi 32 bit dapat diabaikan kerena ΔX = 0
Dengan menggunakan langkah serangan diatas, maka dapat dilakukan pengambilan
input difference dengan karakteristik tertentu, contoh dibawah adalah differential attack
pada 3 round algoritma DES :
a. Pilih input difference dengan karakteristik
1) R = 60 00 00 00 (32 bit) masuk kedalam fungsi F
2) L = 00 80 82 00 (32 bit)
b. Ekspansi input difference 60 (0110) menjadi 12 (001100)
c. S-Layer input difference 12 (C) menjadi 14 (E) (dipilih berdasarkan probabilitas
terbesar)
d. Permutasi input difference 14 00 00 00 menjadi 00 80 82 00
e. Output fungsi F XOR input difference L = 0
11
f. Demikian seterusnya sampai dengan round ke 3 (probabilitas nya adalah
(14/64)*(1)*(14/64) = (14/64)2
). Gambar dibawah menunjukkan differential attack
3 round pada algoritma DES.
Gambar Differential Attack 3 Round pada Algoritma DES.
5. Weak Keys
Seperti algoritma block cipher dasarnya, yaitu algoritma DES, sifat kunci lemah
(weak keys) dan kunci setengah lemah (semi weak keys) juga menurun pada algoritma
DES. Secara definisi, kunci lemah 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.
Kunci lemah terjadi pada algoritma DES, karena subkunci yang dibangkitkan
dengan menggunakan proses algoritma pembangkitan subkunci setiap roundnya
bernilai sama atau dalam hal ini K1 = K2 = 
 = K16. Secara praktek kunci lemah pada
algoritma DES dapat terjadi apabila kunci input (seed) semuanya bernilai bit 0 atau bit
1 atau setengah dari kunci input bernilai 1 dan setengahnya lagi bernilai 0. Tabel
dibawah menunjukkan kunci lemah pada algoritma DES.
12
Tabel Kunci Lemah Pada Algoritma DES.
No. Kunci Input (64 bit)
dalam hesadesimal
Kunci Input (64 bit)
dalam biner
Kunci Efektif (56 bit)
dalam heksadesimal
1 01 01 01 01
01 01 01 01
00000001 00000001
00000001 00000001
00000001 00000001
00000001 00000001
0000000 0000000
2 1F 1F 1F 1F
1F 1F 1F 1F
00011111 00011111
00011111 00011111
00011111 00011111
00011111 00011111
0000000 FFFFFFF
3 E0 E0 E0 E0
F1 F1 F1 1F
11100000 11100000
11100000 11100000
11110001 11110001
11110001 11110001
FFFFFFF 0000000
4 FE FE FE FE
FE FE FE FE
11111110 11111110
11111110 11111110
11111110 11111110
11111110 11111110
FFFFFFF FFFFFFF
6. Semi Weak Keys
Sedangkan kunci setengah lemah adalah jika suatu algoritma kriptografi
melakukan dekripsi terhadap cipherteks dengan menggunakan pasangan kunci setengah
lemah, 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 kunci
setengah lemah).
Kunci setengah lemah terjadi pada algoritma DES, karena kunci input (seed)
yang diberikan untuk membangkitkan subkunci pada algoritma DES membentuk pola
pada blok kiri subkunci (C) dan blok kiri subkunci (D). Secara praktek kunci setengah
lemah pada algoritma block cipher DES dapat terjadi apabila blok kiri subkunci (C) dan
blok kanan subkunci (D) memiliki pola 0101
0101 atau 1010
1010 atau
0000
0000 atau 1111
1111 atau 0101
0101 dan/atau 1010
1010. Tabel dibawah
menunjukkan pasangan kunci setengah lemah pada algoritma DES.
13
Tabel Pasangan Kunci Setengah Lemah Pada Algoritma DES.
No. Kunci Input A (64 bit)
dalam hesadesimal
Kunci Input B (64 bit)
dalam hesadesimal
1. 01 FE 01 FE
01 FE 01 FE
FE 01 FE 01
FE 01 FE 01
2. 1F E0 1F E0
0E F1 0E F1
E0 1F E0 1F
F1 0E F1 0E
3. 01 E0 01 E0
01 F1 01 F1
E0 01 E0 01
F1 01 F1 01
4. 1F FE 1F FE
0E FE 0E FE
FE 1F FE 1F
FE 0E FE 0E
5. 01 1F 01 1F
01 0E 01 0E
1F 01 1F 01
0E 01 0E 01
6. E0 FE E0 FE
F1 FE F1 FE
FE E0 FE E0
FE F1 FE F1
Kesimpulan dan Saran
Keberadaan e-money telah memberikan kemudahan dalam melakukan transaksi non-
tunai. Untuk mendukung kemudahan tersebut, pihak penyedia mengeluarkan kartu e-money
dan aplikasinya, Bank Mandiri menyediakan aplikasi mandiri e-money info dan mandiri e-
money isi ulang, sedangkan Bank BCA menerbitkan aplikasi BCA Mobile. Kedua aplikasi
tersebut telah mengimplementasikan algoritma standar AES dengan mode CBC, namun secara
hardware masih menggunakan algoritma DES yang memiliki kelemahan dan kerentanan yang
dapat dimanfaatkan oleh kriptanalis untuk melakukan diffrential attack dan memanfaatkan
weak keys, serta semi weak keys. Selain celah keamanan secara kriptografis, celah keamanan
secara software pada kedua aplikasi *.apk, baik yang dikembangkan oleh Bank Mandiri
ataupun Bank BCA, sehingga masih dapat di reverse engineering oleh pihak penyerang. Salah
satu solusi alternatif untuk meningkatkan keamanan aplikasi e-money adalah dengan
menggunakan algoritma AES pada pengamanan hardware dan teknik obfuscation serta
enkripsi pada source code.
Referensi
[1] http://www.bi.go.id/id/sistem-pembayaran/informasi-perizinan/uang-
elektronik/Contents/Default.aspx
[2] https://inet.detik.com/business/d-3249623/bank-indonesia-catat-pertumbuhan-pesat-e-
money
[3] http://keuangan.kontan.co.id/news/bi-transaksi-e-money-tumbuh-dua-digit-di-2016
14
[4] http://www.bi.go.id/id/statistik/metadata/sistempembayaran/Documents/MetadataEMon
ey.pdf
[5] http://www.javadecompilers.com/
[6] https://retdec.com/decompilation-run/
[7] Darmawan, Adhi. 2012. “Kriptografi pada sistem e-money”. Bandung: Makalalah
IF3058 Kriptografi ITB

Weitere Àhnliche Inhalte

Was ist angesagt?

Metasploit
MetasploitMetasploit
Metasploit
henelpj
 

Was ist angesagt? (20)

Best Practice TLS for IBM Domino
Best Practice TLS for IBM DominoBest Practice TLS for IBM Domino
Best Practice TLS for IBM Domino
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance Boost
 
Recon in Pentesting
Recon in PentestingRecon in Pentesting
Recon in Pentesting
 
Metasploit
MetasploitMetasploit
Metasploit
 
IBM Connect 2014 BP103: Ready, Aim, Fire: Mastering the Latest in the Adminis...
IBM Connect 2014 BP103: Ready, Aim, Fire: Mastering the Latest in the Adminis...IBM Connect 2014 BP103: Ready, Aim, Fire: Mastering the Latest in the Adminis...
IBM Connect 2014 BP103: Ready, Aim, Fire: Mastering the Latest in the Adminis...
 
IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)
 
Windows 10 Forensics: OS Evidentiary Artefacts
Windows 10 Forensics: OS Evidentiary ArtefactsWindows 10 Forensics: OS Evidentiary Artefacts
Windows 10 Forensics: OS Evidentiary Artefacts
 
9P Overview
9P Overview9P Overview
9P Overview
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing Techniques
 
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
 
Module: Welcome to Web 3.0
Module: Welcome to Web 3.0Module: Welcome to Web 3.0
Module: Welcome to Web 3.0
 
Hydra
HydraHydra
Hydra
 
ColdFusion for Penetration Testers
ColdFusion for Penetration TestersColdFusion for Penetration Testers
ColdFusion for Penetration Testers
 
Http request smuggling
Http request smugglingHttp request smuggling
Http request smuggling
 
Introduction to FIDO2 (Korean Language)
Introduction to FIDO2 (Korean Language)Introduction to FIDO2 (Korean Language)
Introduction to FIDO2 (Korean Language)
 
Mantis Bug Tracker & Task Management System
Mantis Bug Tracker & Task Management SystemMantis Bug Tracker & Task Management System
Mantis Bug Tracker & Task Management System
 
Thick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptxThick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptx
 
ConfiguraciĂłn proftpd (Ayar Pardo)
ConfiguraciĂłn proftpd (Ayar Pardo)ConfiguraciĂłn proftpd (Ayar Pardo)
ConfiguraciĂłn proftpd (Ayar Pardo)
 
Extending Apache Ranger Authorization Beyond Hadoop: Review of Apache Ranger ...
Extending Apache Ranger Authorization Beyond Hadoop: Review of Apache Ranger ...Extending Apache Ranger Authorization Beyond Hadoop: Review of Apache Ranger ...
Extending Apache Ranger Authorization Beyond Hadoop: Review of Apache Ranger ...
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
 

Ähnlich wie (paper) Cryptographic and Software Based E-Money Security Holes

SIA_E-Commerce
SIA_E-CommerceSIA_E-Commerce
SIA_E-Commerce
ventilunaa
 
Information Security System
Information Security SystemInformation Security System
Information Security System
SiintaEllisa68
 
Pengabdian 2
Pengabdian 2Pengabdian 2
Pengabdian 2
Ratzman III
 
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
-
 
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
ynsinaga
 
Ecomerence php
Ecomerence phpEcomerence php
Ecomerence php
Haswi Haswi
 

Ähnlich wie (paper) Cryptographic and Software Based E-Money Security Holes (20)

Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
 
Cryptographic and software based e money security holes
Cryptographic and software based e money security holesCryptographic and software based e money security holes
Cryptographic and software based e money security holes
 
Sim
SimSim
Sim
 
Keamanan_E_Commerce_perdagangan elektronik.ppt
Keamanan_E_Commerce_perdagangan elektronik.pptKeamanan_E_Commerce_perdagangan elektronik.ppt
Keamanan_E_Commerce_perdagangan elektronik.ppt
 
SIA_E-Commerce
SIA_E-CommerceSIA_E-Commerce
SIA_E-Commerce
 
SIM, Rita Anggraeni, Prof. Dr. Ir. Hapzi Ali, MM, CMA, Sistem Manajemen Datab...
SIM, Rita Anggraeni, Prof. Dr. Ir. Hapzi Ali, MM, CMA, Sistem Manajemen Datab...SIM, Rita Anggraeni, Prof. Dr. Ir. Hapzi Ali, MM, CMA, Sistem Manajemen Datab...
SIM, Rita Anggraeni, Prof. Dr. Ir. Hapzi Ali, MM, CMA, Sistem Manajemen Datab...
 
Pengantar Sistem Informasi
Pengantar Sistem InformasiPengantar Sistem Informasi
Pengantar Sistem Informasi
 
Ade Rahman 18311006 SI18B
Ade Rahman 18311006 SI18BAde Rahman 18311006 SI18B
Ade Rahman 18311006 SI18B
 
Information Security System
Information Security SystemInformation Security System
Information Security System
 
Pengabdian 2
Pengabdian 2Pengabdian 2
Pengabdian 2
 
18311375 ayu pipin ariska jarkom si 18 c
18311375 ayu pipin ariska  jarkom si 18 c18311375 ayu pipin ariska  jarkom si 18 c
18311375 ayu pipin ariska jarkom si 18 c
 
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
Perancangan algoritma sistem keamanan data menggunakan metode kriptografi asi...
 
Pengantar e-business
Pengantar e-businessPengantar e-business
Pengantar e-business
 
TUGAS KSI E-CURRENCY
TUGAS KSI E-CURRENCY  TUGAS KSI E-CURRENCY
TUGAS KSI E-CURRENCY
 
(paper) Implementasi Digital Signature pada E-Government
(paper) Implementasi Digital Signature pada E-Government(paper) Implementasi Digital Signature pada E-Government
(paper) Implementasi Digital Signature pada E-Government
 
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
Tugas sim, yenni nalam sinaga, yananto mahadi putra, sumber daya komputasi da...
 
Ecomerence php
Ecomerence phpEcomerence php
Ecomerence php
 
Ecomerence php
Ecomerence phpEcomerence php
Ecomerence php
 
Makalah lan2
Makalah lan2Makalah lan2
Makalah lan2
 
(6) SIM, Nurli Hardianto, Hapzi Ali, Sistem Manajemen Database, Universitas M...
(6) SIM, Nurli Hardianto, Hapzi Ali, Sistem Manajemen Database, Universitas M...(6) SIM, Nurli Hardianto, Hapzi Ali, Sistem Manajemen Database, Universitas M...
(6) SIM, Nurli Hardianto, Hapzi Ali, Sistem Manajemen Database, Universitas M...
 

Mehr von idsecconf

Mehr von idsecconf (20)

idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
 
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
 
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
 
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdfidsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
 
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
 
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
 
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfAli - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
 
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
 
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfRama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
 
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
 
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfNosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
 
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
 
Utian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfUtian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdf
 
Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...
 
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika TriwidadaPerkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullah
 
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaHacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi DwiantoDevsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
 
Stream crime
Stream crime Stream crime
Stream crime
 

(paper) Cryptographic and Software Based E-Money Security Holes

  • 1. 1 Cryptographic and Software Based E-Money Security Holes Sandromedo Christa Nugroho1 , Agus Winarno2 Lembaga Sandi Negara sandromedo.christa@bssn.go.id1 || major.ruft@gmail.com1 agus.winarno@bssn.go.id2 Pendahuluan Pertumbuhan dan penggunaan uang elektronik (e-money) di Indonesia telah mengalami peningkatan yang cukup pesat. Menurut laporan ststistik Bank Indonesia pertumbuhan penggunaan e-money mencapai dua digit pada akhir tahun 2016. 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 salah satunya didukung dengan salah satu kebijakan pemerintah yang menerapkan transaksi uang secara elektronik pada jalur masuk dan keluar toll. Penggunaan e-money harus diikuti peningkatan layanan keamanan terhadap pelanggan, adanya isu keamanan pada e-money dapat menyebabkan turunnya tingkat kepercayaan pengguna dalam menggunakan e-money. E-money yang beredar di masyarakat berbentuk kartu dengan chip digital yang dapat digunakan untuk mempermudah proses jual-beli atau pembayaran terhadap barang/jasa. Bentuknya yang ringkas dan simpel menjadi kemudahan tersendiri, khusunya dalam hal penyimpanan dan mobilitas. Pembahasan keamannya dari sitem e-money dapat dilihat dari beberapa aspek, seperti software, hardware, server, pengguna, operator, keamanan dan aspek- aspek lainnya. Secara keamanan kartu e-money dilindungi dengan menggunakan teknik kriptografi, dimana algoritma kriptografi yang digunakan pada kartu tersebut adalah algoritma DES, Triple DES, IDEA dan AES (tergantung versi kartu yang digunakan) [Darmawan, Adhi, 2012]. Secara kriptografi penggunaan algoritma-algoritma kriptografi tersebut dapat menyajikan kecepatan dan keamanan dengan teknik enkripsi, namun penggunaan algoritma DES dan Triple DES memiliki beberapa kelemahan dan kerentanan yang dapat dimanfaatkan oleh kriptanalis dalam menyerang kartu e-money secara kriptografis. Selain itu aplikasi android yang dikembangkan oleh pihak penyedia e-money di google play juga belum diamankan dengan menggunakan teknik obfuscate ataupun enkripsi, sehingga memungkinkan untuk dianalisis lebih dalam. Paper ini akan membahas mengenai defferential attack dan security holes pada algoritma DES, serta reverse engineering pada aplikasi e-money.
  • 2. 2 Landasan Teori 1. Pengertian e-money Menurut Bank Indonesia, e-money adalah alat pembayaran yang memenuhi beberapa unsur, antara lain : a. Diterbitkan atas dasar nilai uang yang disetor terlebih dahulu oleh pemegang kepada penyedia. b. Nilai uang disimpan secara elektronik dalam suatu media seperti server atau chip. c. Digunakan sebagai alat pembayaran kepada pedagang yang bukan merupakan penyedia e-money tersebut. d. Nilai e-money yang disetor oleh pemegang dan dikelola oleh penyedia bukan merupakan simpanan sebagaimana dimaksud dalam undang-undang yang mengatur mengenai perbankan. Tahun 2016 jumlah penyedia layanan e-money adalah 25 penyedia, yang terdiri dari 11 perusahaan perbankan dan 14 perusahaan swasta. Secara garis besar penyimpanan e- money dibagi menjadi dua penyimpanannya, yaitu penyimpanan dalam bentuk chip yaitu Bank Mandiri (e-money), Bank BCA (Flazz BCA) dan Bank BRI (Brizzi), serta penyimpana dalam bentuk server, yaitu Telkomsel T-Cast, Finnet Indonesia dan Go Pay. Daftar penyedia e-money yang mendapat ijin dari bank Indonesia, antara lain : a. Perbankan (seperti Bank Mandiri, Bank BCA ) b. Perusahaan (seperti Bima Sakti Multisinergi, PT. Finnet Indonesia) c. Telekomunikasi (sepertiTelkomsel T-Cast, XL Axiata) d. Perhubungan ( GO-Pay, Grab-pay) Berdasarkan daftar tersebut Bank Mandiri dan Bank BCA telah menyediakan e-money dalam bentuk kartu chip yang disertai dengan aplikasi mobile yang dapat digunakan untuk mengecek dan top up saldo pengguna. 2. Java Card Oven Platform (JCOP) JCOP adalah open IBM smart card operating system yang bersifat bebas. JCOP memiliki spsesifikasi sebagai berikut : a. Memenuhi standar global JCOP menggunakan standar yang bersifat global seperti menggunakan java card 2.1.1 , GlobalPlatform 2.0.1, EMV & ISO7816, ISO14443 dan 3GPP 03.19 & 11.14. Penggunaan standar tersebut bertujuan untuk membuat sistem yang
  • 3. 3 interoperability pada aplikasinya. JCOP memberikan jaminan memiliki tingkat interoperbilititas 100% terhadap aplet-aplet pihak ketiga. b. Menggunakan hardware dengan spsesifikasi rendah JCOP menggunakan hardware yang menggunakan prosesor 8 bit, 48Kb ROM dan Custom Mask Process. Tujuannya adalah untuk menyediakan hardware yang murah untuk diproduksi secara masal dengan prosesor yang cukup mumpuni. c. Memiliki performa yang unggul dalam benchmark dan application Berdasarkan dokumen IBM, JCOP sudah lulus tes interoperability dan secara konsisten dapat mengalahkan java card lainnya, termasuk terhadap java card yang sudah mengimplementasikan platform 32 bit. d. Memiliki fitur RSA 2048 JCOP sudah mendukung penggunaan kunci public sepanjang 2048, sehingga memungkinkan penyedia e-money untuk memberikan layannan otentikasi yang baik. e. Teknologi yang bersifat lintas bisnis Penggunaan JCOP sudah tersebar luas dalam multibisnis yang meliputi industri keuangan, komunikasi, kesehatan dan transportasi. Berikut adalah versi JCOP yang tersedia di pasar global :
  • 4. 4 3. Konsep Keamanan Informasi Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes, Alfred J et al, 1997). Terdapat 4 tujuan dasar kriptografi yang juga merupakan aspek keamanan informasi, antara lain : a. Confidentiality (kerahasiaan), berhubungan dengan layanan yang ditujukan untuk menjaga isi informasi dari siapapun, kecuali pihak yang memiliki kunci rahasia untuk membuka informasi yang telah disandikan. b. Integrity (integritas data), berhubungan dengan penjagaan data dari perubahan- perubahan yang tidak sah. Untuk dapat menjaga integritas data, suatu sistem harus memiliki kemampuan untuk mendeteksi manipulasi data yang dilakukan oleh pihak-pihak yang tidak berhak, antara lain yaitu penyisipan, penghapusan, dan pendistribusian data lain ke dalam data asli. c. Authentication (otentikasi), berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. 2 (dua) pihak yang saling berkomunikasi harus saling memperkenalkan diri, dan informasi yang dikirimkan harus diotentikasi keasliannya, isi datanya, waktu pengirimannya, dan lain sebagainya. d. Non-repudiation (anti penyangkalan), berhubungan dengan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau yang membuat informasi tersebut. 4. Algoritma DES Algoritma DES merupakan salah satu algoritma enkripsi simetrik standar berdasarkan pada dokumen NIST FIPS 46-3. Algoritma DES dikembangkan oleh NSA (National Security Agency) yang bekerja sama dengan IBM (International Business Machines Corporation). Desain dan rancang bangun awal algoritma DES adalah algoritma Lucifer yang kemduian dimodifikasi, salah satunya adalah pengurangan ukuran bit block data dan ukuran bit kunci. Pengurangan kedua ukuran bit tersebut dilakukan agar proses enkripsi/dekripsi algoritma DES dapat berjalan dengan lebih cepat dan dapat diimplementasikan kedalam satu chip prosesor. Algoritma DES melakukan proses enkripsi/dekripsi blok data sepanjang 64 bit dengan menggunakan kunci sepanjang 64 bit (56 bit kunci + 8 bit parity) dalam 16 round. Algoritma DES membutuhkan 16 subkunci (đŸđŸ1, đŸđŸ2, 
 , đŸđŸ16), masing-masing sepanjang 48 bit yang berasal dari ekspansi kunci input (seed) untuk melakukan proses
  • 5. 5 enkripsi/dekripsi. Gambar dibawah menunjukkan proses pembangkitan subkunci pada algoritma DES. Kunci Input (seed) Permutasi PC-1 C0 D0 Left Shift Left Shift C1 D1 Left Shift Left Shift Permutasi PC-2 K1 Cj Dj Permutasi PC-2 Kj     Left Shift Left Shift C16 D16 Permutasi PC-2 K16 Gambar Proses Pembangkitan Subkunci pada Algoritma DES. Algoritma DES menggunakan jaringan feistel (feistel network) sebagai struktur utama algoritmanya. Selain itu algoritma tersebut juga menerapkan proses pre-whitening dan post-whitening dengan menggunakan fungsi permutasi IP sebelum dan IP-1 setelah proses round. Gambar dibawah menunjukkan skema algoritma DES. Plainteks IP L0 R0 f ⊕ ),( 1001 KRfLR ⊕=L1 = R0 K1 f ⊕ ),( 2112 KRfLR ⊕=L2 = R1 K2 ),( 15141415 KRfLR ⊕=L15 = R14 K16 ),( 16151516 KRfLR ⊕= L16 = R15 IP-1 Cipherteks f ⊕ Gambar Skema Algoritma DES.
  • 6. 6 Sedangkan tabel dibawah menunjukkan spesifikasi algoritma DES. Tabel Spesifikasi Algoritma DES. No. Keterangan Deskripsi 1. Pengembang/Pemublikasi IBM dan NSA 2. Tahun Publikasi 1975 3. Ukuran Kunci 64 bit (54 bit + 8 bit parity) 4. Ukuran Block Data 64 bit 5. Struktur Balance Feistel Network 6. Round 48 (Empat Puluh Delapan) 7. Dokumen Standar NIST FIPS 46-3 5. Attack on Algoritma Differential attack merupakan salah satu serangan kriptanalisis yang paling umum digunakan terhadap algoritma-algoritma block cipher. Differential attack dipublikasikan pertama kali oleh Eli Bilham dan Adi Shamir pada tahun 1990 untuk menyerang algoritma block cipher Data Encryption Standard (DES). Dalam perkembangannya, walaupun serangan tersebut pertama kali ditargetkan terhadap algoritma DES, namun differential attack juga dapat diaplikasikan pada algoritma block cipher lainnya. Hal tersebut menyebabkan pentingnya teknik antisipasi terhadap kemungkinan terjadinya serangan differential attack pada desain dan rancang bangun sebuah algoritma block cipher. Contoh, sebagian besar kandidat yang dikirimkan dalam proses pemilihan algoritma block cipher Advanced Encryption Standard (AES) yang diadakan oleh National Institute of Standards (NIST), Amerika Serikat di desain dengan menggunakan teknik-teknik yang secara spesifik kuat terhadap differential attack. Differential attack adalah serangan yang termasuk ke dalam tipe choosen plaintext attack, ide dasar dalam teknik serangan tersebut, yaitu pemilihan 2 plaintext dengan adanya “perbedaan”/“difference” P’ antara keduanya. Perbedaan tersebut diukur dengan menggunakan operasi bitwise XOR (⊕), setelah itu kedua plaintext tersebut dienkripsikan untuk mendapatkan 2 ciphertext yang juga memiliki
  • 7. 7 “perbedaan”/“difference” C’ diantara keduanya. Pasangan nilai (P’, C’) disebut sebagai karakteristik. Bergantung pada algoritma block cipher dan analis yang dilakukan oleh penyerang, dimana sifat nilai karakteristik ini dapat berguna untuk menemukan beberapa bit tertentu yang terdapat pada kunci. Pembahasan 1. E-money dan Aplikasi Pertumbuhan pesat penggunaan e-money membuat penyedia layanan e-money menyediakan kemudahan dalam transaksi dan aksesibilitas. Banyak para penyedia yang sudah berkerjasama dengan aplet-aplet lain untuk proses pembayran tol, belanja, parkir, dan akses transportasi. Untuk kemudahan akses, penyedia menerbitkan aplikasi yang memudahkan pengguna untuk cek saldo dan top up. Bank mandiri menerbitkan aplikasi mandiri e-money info dan mandiri e-money isi ulang. Bank BCA menerbitkan BCA mobile yang terintegrasi kegiatan perbankan lainnya. Pada paper ini akan dibahas reverse engineering aplikasi mandiri e-money info dan serangan pada algoritma DES pada Java Card yang menggunakan algoritma DES. 2. Keamanan pada Aplikasi E-money Mandiri Info Reverse engineering pada aplikasi e-money mandiri info dapat dilakukan dengan menggunakan tool java decompile. Aplikasi *.apk yang telah di reverse adalah mandiri e-money info dan mandiri e-money isi ulang. Hasil reverse engineering pada mandiri e-money info didapatkan source code crypto.java yang berisi algoritma yang digunakan pada aplikasi untuk mengecek saldodo e-money, yaitu algoritma AES 128 bit mode CBC.
  • 8. 8 Selain itu ditemukan juga library untuk koneksi dengan nfc yaitu libmandirinfc.so, library tersbut bertujuan untuk proses akses aplikasi dengan nfc. Library libmandirinfc.so dapat direverse untuk mendapatkan source code C dan didapatkan libmandirinfc.c. dengan menggunakan aplikasi Retargetable Decompiler diperoleh beberapa fungsi yang digunakan antara lain : a. int32_t Java_noi_mandiri_util_NFC_commandAPDUforNumber(); b. int32_t Java_noi_mandiri_util_NFC_commandAPDUforPrepaid(); c. int32_t Java_noi_mandiri_util_NFC_commandAPDUforBalance(); Fungsi-fungsi tersebut digunakan untuk Application Protocol Data Unit (APDU) yang dipanggil pada fungsi MainActivity.java yang bertujuan untuk proses pertukaran data antara smart card dan card reader. Command APDU adalah fungsi yang dikirim oleh NFC card reader kepada smart card yang berisi 4 byte header dan data (0-65536), sedangkan untuk response APDU adalah fungsi yang dikirim smardcard kepada NFC card reader yang berisi 0-65536 data dan 2 mandatory status. 3. Keamanan pada Aplikasi BCA Flazz Aplikasi android untuk mendukung BCA Flazz terintegrasi dengan BCA mobile. Aplikasi ini mengetahui saldo BCA Flazz. Aplikasi ini telah dicoba di-reverse engineering dengan aplikasi decompiller java. Setelah direverse ditemukan bahwa algoritma kriptograpfi yang digunakan adalah algoritma AES dengan Mode CBC.
  • 9. 9 Sedangkan komunikasinya client dan server menggunakan tls yang mencover algoritma : AES, DES, TRIPLE DES, IDEA,RC2 dan RC 4. Sementara itu untuk komunikasi nfc dengan menggunakan library android.nfc.tech dan android.nfc.tag. Secara software, algoritma yang digunakan sudah menggunakan algoritma standar, namun secara masih menggunakan algoritma DES algoritma [Darmawan, Adhi 2012]. Algoritma DES memiliki kerentanan terhadap defferential attack. Algoritma DES juga sudah ditemukan weak keys dan semi weak keys. 4. Differential Attack on DES Teknik differential attack pada DES dilakukan dengan memanfaatkan karakteristik fungsi F-nya. Gambar dibawah menunjukkan fungsi F pada algoritma DES.
  • 10. 10 Gambar Fungsi F Algoritma DES. Secara umum langkah yang dilakukan untuk melakukan diffrential attack tersebut adalah : a. Input difference P (L , R) b. Input pada fungsi F adalah bagian R (32 bit) c. Ekspansi bit dari 32 bit menjadi 48 bit dapat diabaikan kerena ΔX = 0 d. XOR dengan subkunci dapat diabaikan kerena ΔX = 0 e. S-Layer pada dari 48 bit menjadi 32 bit (sangat diperlukan, khususnya untuk menghitung sbox aktif dan nilai probabilitas serangan) f. Permutasi 32 bit dapat diabaikan kerena ΔX = 0 Dengan menggunakan langkah serangan diatas, maka dapat dilakukan pengambilan input difference dengan karakteristik tertentu, contoh dibawah adalah differential attack pada 3 round algoritma DES : a. Pilih input difference dengan karakteristik 1) R = 60 00 00 00 (32 bit) masuk kedalam fungsi F 2) L = 00 80 82 00 (32 bit) b. Ekspansi input difference 60 (0110) menjadi 12 (001100) c. S-Layer input difference 12 (C) menjadi 14 (E) (dipilih berdasarkan probabilitas terbesar) d. Permutasi input difference 14 00 00 00 menjadi 00 80 82 00 e. Output fungsi F XOR input difference L = 0
  • 11. 11 f. Demikian seterusnya sampai dengan round ke 3 (probabilitas nya adalah (14/64)*(1)*(14/64) = (14/64)2 ). Gambar dibawah menunjukkan differential attack 3 round pada algoritma DES. Gambar Differential Attack 3 Round pada Algoritma DES. 5. Weak Keys Seperti algoritma block cipher dasarnya, yaitu algoritma DES, sifat kunci lemah (weak keys) dan kunci setengah lemah (semi weak keys) juga menurun pada algoritma DES. Secara definisi, kunci lemah 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. Kunci lemah terjadi pada algoritma DES, karena subkunci yang dibangkitkan dengan menggunakan proses algoritma pembangkitan subkunci setiap roundnya bernilai sama atau dalam hal ini K1 = K2 = 
 = K16. Secara praktek kunci lemah pada algoritma DES dapat terjadi apabila kunci input (seed) semuanya bernilai bit 0 atau bit 1 atau setengah dari kunci input bernilai 1 dan setengahnya lagi bernilai 0. Tabel dibawah menunjukkan kunci lemah pada algoritma DES.
  • 12. 12 Tabel Kunci Lemah Pada Algoritma DES. No. Kunci Input (64 bit) dalam hesadesimal Kunci Input (64 bit) dalam biner Kunci Efektif (56 bit) dalam heksadesimal 1 01 01 01 01 01 01 01 01 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 0000000 0000000 2 1F 1F 1F 1F 1F 1F 1F 1F 00011111 00011111 00011111 00011111 00011111 00011111 00011111 00011111 0000000 FFFFFFF 3 E0 E0 E0 E0 F1 F1 F1 1F 11100000 11100000 11100000 11100000 11110001 11110001 11110001 11110001 FFFFFFF 0000000 4 FE FE FE FE FE FE FE FE 11111110 11111110 11111110 11111110 11111110 11111110 11111110 11111110 FFFFFFF FFFFFFF 6. Semi Weak Keys Sedangkan kunci setengah lemah adalah jika suatu algoritma kriptografi melakukan dekripsi terhadap cipherteks dengan menggunakan pasangan kunci setengah lemah, 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 kunci setengah lemah). Kunci setengah lemah terjadi pada algoritma DES, karena kunci input (seed) yang diberikan untuk membangkitkan subkunci pada algoritma DES membentuk pola pada blok kiri subkunci (C) dan blok kiri subkunci (D). Secara praktek kunci setengah lemah pada algoritma block cipher DES dapat terjadi apabila blok kiri subkunci (C) dan blok kanan subkunci (D) memiliki pola 0101
0101 atau 1010
1010 atau 0000
0000 atau 1111
1111 atau 0101
0101 dan/atau 1010
1010. Tabel dibawah menunjukkan pasangan kunci setengah lemah pada algoritma DES.
  • 13. 13 Tabel Pasangan Kunci Setengah Lemah Pada Algoritma DES. No. Kunci Input A (64 bit) dalam hesadesimal Kunci Input B (64 bit) dalam hesadesimal 1. 01 FE 01 FE 01 FE 01 FE FE 01 FE 01 FE 01 FE 01 2. 1F E0 1F E0 0E F1 0E F1 E0 1F E0 1F F1 0E F1 0E 3. 01 E0 01 E0 01 F1 01 F1 E0 01 E0 01 F1 01 F1 01 4. 1F FE 1F FE 0E FE 0E FE FE 1F FE 1F FE 0E FE 0E 5. 01 1F 01 1F 01 0E 01 0E 1F 01 1F 01 0E 01 0E 01 6. E0 FE E0 FE F1 FE F1 FE FE E0 FE E0 FE F1 FE F1 Kesimpulan dan Saran Keberadaan e-money telah memberikan kemudahan dalam melakukan transaksi non- tunai. Untuk mendukung kemudahan tersebut, pihak penyedia mengeluarkan kartu e-money dan aplikasinya, Bank Mandiri menyediakan aplikasi mandiri e-money info dan mandiri e- money isi ulang, sedangkan Bank BCA menerbitkan aplikasi BCA Mobile. Kedua aplikasi tersebut telah mengimplementasikan algoritma standar AES dengan mode CBC, namun secara hardware masih menggunakan algoritma DES yang memiliki kelemahan dan kerentanan yang dapat dimanfaatkan oleh kriptanalis untuk melakukan diffrential attack dan memanfaatkan weak keys, serta semi weak keys. Selain celah keamanan secara kriptografis, celah keamanan secara software pada kedua aplikasi *.apk, baik yang dikembangkan oleh Bank Mandiri ataupun Bank BCA, sehingga masih dapat di reverse engineering oleh pihak penyerang. Salah satu solusi alternatif untuk meningkatkan keamanan aplikasi e-money adalah dengan menggunakan algoritma AES pada pengamanan hardware dan teknik obfuscation serta enkripsi pada source code. Referensi [1] http://www.bi.go.id/id/sistem-pembayaran/informasi-perizinan/uang- elektronik/Contents/Default.aspx [2] https://inet.detik.com/business/d-3249623/bank-indonesia-catat-pertumbuhan-pesat-e- money [3] http://keuangan.kontan.co.id/news/bi-transaksi-e-money-tumbuh-dua-digit-di-2016
  • 14. 14 [4] http://www.bi.go.id/id/statistik/metadata/sistempembayaran/Documents/MetadataEMon ey.pdf [5] http://www.javadecompilers.com/ [6] https://retdec.com/decompilation-run/ [7] Darmawan, Adhi. 2012. “Kriptografi pada sistem e-money”. Bandung: Makalalah IF3058 Kriptografi ITB