Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 2012) Jakarta, 7 Juli 2012
ISSN 2086-8251
Keamanan Transaksi Internet Banking dengan Digital Signature Standard (DSS) Setiyo Budiyanto
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Mercu Buana JL. Raya Meruya Selatan, Kembangan, Jakarta, 11650 Telepon: 021-5857722 (hunting), 5840816 ext. 2600 Fax: 021-5857733
[email protected]
Abstract - A method of data security of banking transactions using the Digital Signature Standard
(DSS) algorithm consists of the Digital Signature Algorithm (DSA) and Secure Hash Algorithm (SHA). Constituent phases of the method in
question is: The process of data encryption with SHA transaction that generates a message digest, then the message digest is to be input to the authentication process with the provision ofdigital signatures using DSA. Customer transaction data
is transmitted over the internet media is prone to attacks by intruders, to maintain the authenticity of the data when the data arrive at the receiver
side (bank) carried out the verification process. If the received data passes the verification test data transactions will be executed, otherwise if not then
the transaction data will be blocked. Test results
show the DSS as a standard managed to maintain the security of transactions from the transaction data manipulation attacks factors.
Keywords: Internet Banking Security, DSS, SHA, DSA
oleh Budiono [1]. Dalam penelitian tersebut digunakan algoritma otentifikasi DSA yang dikombinasikan dengan algoritma enkripsi RSA untuk menjaga keamanan transaksi
SMS Banking. Platform aplikasi dibangun dengan teknologi J2ME. Hasil menunjukkan bahwa sistem berhasil menerapkan kombinasi kedua algoritma tersebut untuk
menjaga transaksi sms banking yang disimulasikan.
Naskah penelitian ini menerapakan kombinasi yang berbeda yaitu algoritma DSA sebagai algoritma otentifikasi
dan SHA untuk enkripsinya. Kombinasi dua algoritma ini ditetapkan sebagai sebuah standar tanda tangan digital oleh National Institute of Standards and Technology (NIS.T). Standar ini diterapkan untuk menjaga keamanan layanan internet banking yang diujikan dengan website simulasi
internet banking serta beberapa skenario pengujian. Sistem ini dibangun menggunakan PHP dan MySQL. Penelitian ini diharapkan bermanfaat sebagai literatur tambahan dalam penerapan algoritma keamanan data
khususnya tanda tangan digital untuk kasus di dunia nyata. II. SECURE HASH ALGORITHM (SHA) SHA adalah fungsi hash satu arah yang dibuat oleh NIST [2]. NIST bersama dengan NSA mendesain SHA untuk
I. PENDAHULUAN
Internet banking merupakan salah satu layanan perbankan yang memudahkan akses informasi dan
transaksi keuangan antara nasabah dengan pihak bank. Isu yang banyak menjadi perhatian dari layanan ini adalah keamanan yang masih sering diragukan, seiring dengan banyaknya penipuan dan kelihaian para intruder di jaringan internet.
digunakan sebagai komponen DSS. SHA didasarkan pada MD4 yang dibuat oleh Ronald L. Rivest dari MIT. Ketika pesan dengan sembarang panjang < 2 M bit dimasukkan,
SHA menghasilkan 160 bit keluaran yang disebut sebagai message digest (MD). MD biasanya jauh lebih kecil dari pesan aslinya. Adapun langkah-langkah membuat MD dengan SHA akan dijelaskan sebagai berikut:" padding (penambahan bit-bit a) Message pengganjal)
Sebuah metode keamanan yaitu tanda tangan digital dibangun dengan menggabungkan dua teknik enkripsi dan otentifikasi. Metode ini dengan berbagai kombinasi algoritmanya telah banyak digunakan untuk menjaga keamanan data yang mengalir di jaringan internet, baik itu untuk layanan keuangan atau data rahasia lainnya. Salah satu penelitian yang
Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 module 512.
Pesan
dengan panjang 448 bit pun ditambah dengan bitbit pengganjal. Jika panjang pesan 448 bit maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit, Jadi panjang bit pengganjal adalah antara 1 sampai 512. Bit-bit pengganjal terdiri dari bit 1
menjadi tinjauan pustaka utama dalam naskah ini
adalah "Penerapan Tanda Tangan Digital Untuk Keamanan Transaksi SMS-Banking" yang disusun
diikuti sisanya 0
74
Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 2012)
ISSN 2086-8251
Jakarta, 7 Juli 2012
b) Penambahan nilai panjang pesan semula
Setelah pesan diberi bit-bit pengganjal maka akan ditambah lagi 64 bit yang menyatakan panjang pesan semula, setelah ditambah
dengan 64 bit maka panjang pesan sekarang kelipatan 512. Contoh : 960 + 64 = 1024 c)
Inisialisasi penyangga (buffer) MD.
SHA membutuhkan 5 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 5 x 32=
160 bit. Kelima penyangga ini menampung hasil antara dan hasil akhir, kelima penyangga tersebut diberi nama A, B, C, D, dan E. Setiap penyangga diinisialisasi
dengan nilai-nilai (dalam notasi HEX) d)
Pengolahan pesan dalam blok berukuran 512 bitseperti pada gambar 1.
Gambar 2. Operasi dasar satu putaran SHA
r.
Pada proses b-1, c-1 dan d-1 terlebih dahulu melalui proses ft, adapun proses ft pada setiap putaran dijelaskan pada tabel 1. B,
c
D
\ JMCDI~-fiA3COZ.T A
g
C
D
ZlJ
Tabel 1. Fungsi logikay? pada setiap putaran
r.
•*\ ABCDEf-jW^Qjir*J
A b\ c\ pj 4
*C .t3CC£t-f(,.iSCDE,r,.K,) ~)
Gambar 1. Pengelolaan blok 512 bit.
Putaran
M. c.J)
0„ 19
(bnc)\j(~br\ d)
20.. 39
b®c®d
40.59
(bfic)\j(bnd)\i(cr\d)
60.. 79
b®c®d
Nilai Wi sampai Wi6 berasal dari 16 word pada blok yang sedang diproses, sedangkan nilai Wt berikutnya didapat dari persamaan:
Proses HsHAterdiri dari 80 putaran, dimana masingmasing putaran menggunakan bilangan penambah Ki yaitu :
• • • •
Putaran0< 19 Putaran 20 < t < 39 Putaran 40 < t < 59 Putaran 60 < / < 79
/0=5A827999 K,= 6ED9EBA1 K,= 8F1BBCDC K, = CA62C1D6
Adapun operasi dasar pada setiap putaran dijelaskan pada gambar 2.
Setelah melalui 4 proses maka akan diperoleh keluaran sebesar 160 bit
HI. DIGITAL SIGNATURE ALGORITHM (DSA) DSA adalah algoritma kunci publik yang memiliki dua proses utama yaitu pembentukan tandatangan dan
memeriksa keabsahan tandatangan [2]. DSA merupakan algoritma tanda tangan Schnorr dan EIGamal. Algoritma ini memiliki parameter-parameter sebagai berikut: •
P = bilangan primasepanjang L bit
•
Lbemilai antara 512 sampai 1024 dan merupakan
•
q = faktor prima dari p-1 sepanjang 160 bit.
kelipatan dari 64
75
Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 20121
Jakarta, 7 Juli 2012
g h qm p, hmerupakan bilangan yang
ke internet banking. SSL akan mengacak data yang dikirim menjadi kode-kode rahasia dengan menggunakan 128-bit encryption yang artinya terdapat 2 pangkat 128 kombinasi angka kunci
kurang dari p-1 sedemikian sehingga h'p"'^
modp> .
•
x= bilangan yang kurang dari q
• •
y = g"mod p m, pesan yangakan diberi tanda tangan.
ISSN 2086-8251
'
tetapi hanya satu kombinasi yang dapat membuka kode-kode tersebut. Pada sistem teknik ini tidak
Berikut proses-proses yang dilalui DSA : a) Pembangkitan sepasang kunci
b)
diterapkan. User ID dan PIN
User harus memasukkan User ID dan PIN internet
1. Pilih bilangan prima p dan q, yang dalam
banking setiap kali User login ke internet banking.
hal ini (p-1) mod q = 0
c) Otomatis Logout.
2. Hitung g= h(p-,yi1 mod p, dalam hal ini 1< h
l
Sistem akan melakukan logout secara otomatis bila user tidak melakukan transaksi selama 10
3. Tentukan kunci private x, dimana x
menit.
4. Hitung kunci public y=gx mod p Jadi dapat diambil kesimpulan bahwa kunci public adalah (p, q, g, y), dan kunci
d)
Notifikasi.
User akan medapat surat pemberitahuan yang
dikirim ke alamat email user sebagai konfirmasi
priva/eadalah (p, q, g, x).
atas transaksi finansial yang telah user lakukan melalui internet banking.
b) Pembentukan tandatangan disisi pengirim 1. Pesan mdiubah terlebih dahulu menjadi
e)
Token
message digest dengan algoritma SHA.
Token pada dasarnya adalah alat untuk otentikasi.
3. Cari modulo invers dari k yaitu k'1 4. Tanda tangan dari pesan m adalah
user sebenarnya, apakah user benar-benar orang
j2. Lalu tentukan bilangan acak k
Otentikasi ini bertujuan untuk membuktikan siapa
yang user klaim sebagai dia (who you claim to
bilangan r dan s.
be). Pada otentikasi pada online banking
Lalu hitung r dans sebagai berikut: - r = (g mod p) mod q
menggunakan Two Factor Authentication yang
menggunakan 2 dari factor (metode) yang berbeda dengan tujuan untuk meningkatkan keamanan. Otentikasi pada e-banking mengkombinasikan ''Something You Know" Berupa PIN dan
-s=(k_l (H(m) +x*r)) mod q
5. Kirim pesan mbeserta tanda tangan r &s c)Verifikasi tandatangan disisi penerima 1. Hitung
"Something You Have" berupa banking token itv sendiri. Pada internet banking, token berfungsi untuk generate password/PIN menjadi sebuah
- w=s"1 mod q -ul = (H(m) * w) mod q - u2 = (r * w) mod q
sandi yang dinamis dimana sandi ini akan dihasilkan setiap satuan waktu tertentu. Semakin pendek rentang waktu dalam pembuatan sandi ini maka tingkat keamanan sistem akan semakin
-v =((gul*yu2)modp)modq) 2. Jika v - r, maka tanda tangan sah, yang berarti bahwa pesan tersebut asli dan pengirimnya benar.
tinggi. Pada sistem hal ini tidak diterapkan dan digantikan dengan penggunaan tanda tangan
IV. PERANCANGAN SISTEM
Sistem dibangun berbasis web dengan dua eksternal
digital.
Pemodelan fungsi sistem digambarkan lewat context
entity yaitu nasabah dan pihak bank. Dalam bussines diagram seperti pada gambar 3. Hasil dekomposisi dari rule implementasi account internet banking nasabah gambar 3terlampir. Pemodelan data sistem terlampir didaftarkan terlebih dahulu oleh bank bukan melalui pendaftaran online. Proses transaksi yang ditangani datalogin
oleh sistem hanya cek saldo serta transfer Berdasarkan survei lapangan diperoleh skenario
bahwa sebuah account internet banking bisa merepresentasikan beberapa account nasabah pada
\ pesandan tandatam pesan dan tanda tai Nasabah
bank tersebut. Pada beberapa bank yang disurvei ditemu. model-model keamanan yang digunakan
jjslem Internet data verifikasi Banking *•
data validasi login data status transaksi
dalam layanan internet banking mereka antara lain :
Bank data user
\
./
a) SSL 128 bitencryption.
Seluruh data di Internet banking BCA dikirimkan melalui Secure Socket Layer (SSL) yang mulai diaktifkan sejak user login
Gambar 3.Context Diagram Sistem
76
Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 2012)
ISSN 2086-8251
Jakarta, 7 Juli 2012 V. HASIL DAN PENGUJIAN
Pengujian sistem dilakukan untuk mengetahui apakah tanda tangan digital dapat menjaga kerahasiaan dan keamanan transaksi. Aplikasi yang dirancang terbukti mampu membentuk sepasang kunci dan tanda tangan
Jika tombol ujicoba diklik akan ditampilkan beberapa value data transaksi yang bisa dirubah dari nilai sebenamya sehingga verifikasi akan gagal, seperti diperlihatkan pada gambar 7. Data transaksi sendiri terdiri atas beberapa field
digital, Hasil potongan antarmuka aplikasi ditampilkan pada gambar 4. Selain membangun
yaitu : rekening pengirim, rekening penerima, nama
sistem internet bangking untuk sisi nasabah, sistem juga menyediakan antarmuka bagi pihak bank,
dengan dan dua buah bilangan yang merepresentasikan
sebagai admin sistem. 210O0OMO5
Jioooocob} NuuPmniai
penerima, jumlah. Data-data tersebut dikirim bersama tandatangan digital untuk transaksi tersebut.
Haslr- -i M»m»js ! ID^r-n.^k.xi ICck X'enciiiiu
Alnir»Dn»i
Ktki'onprima.
:w •
Name»
t> •Pubityay
KtaciMEc -
Jmtih.b
-.
Ti&ia Tangan r.
Kunci Public rrmjj riuiami j
-* 'Signattfo
Tioii Tanpa1
: -.inl.i T^iU\ I
Gambar 4. Potongan data transaksi detail
:4cSebagai skenario pengujian dilakukan- dengan melakukan manipulasi pesan yang tengah dikirim di
Gambar 7. Data transaksi yang akan dirubah dalam skenario uji coba
jaringan. Data yang akan dieksekusi di database
server (bank) adalah data yang telah lulus uji
Pada dasarnya mengubah data transaksi berarti akan
verfikasi. Untuk itu diabuat sebuah antarmukauntuk
mengubah nilai message digest dari proses enkripsi SHA yang sudah dilakukan sebelumnya disisi pengirim. Perubahan satu karakter saja dari pesan akan merubah total nilai message digest yang dihasilkannya. Mengingat bahwa message digest adalah inputan bagi proses pembentukan
uj coba penyerangan dengan mengubah data transaksi yang masih berada di database temporary sebelum dieksekusi secara permanen ke database server sesungguhnya.
tanda
tangan digital, ••:•'''fay ;.'-' "~; .^j*nt**+-^pfe'~, po .
bank bisa memblok transaksi karena data transaksi telah
K-1
[is
maka inputan yang berbeda akan
membentuk nilai tanda tangan yang berbeda pula. Hal inilah yang akan membuat proses pengecekan keabsahan tanda tangan atau verifikasi menjadi gagal, sehingga sisi dimanipulasi.
—r
Gambar 5. Antarmuka untuk verifikasi atau ujicoba
.
manipulasi pesan
•
'
"ii • ATA
VERIFIKASI
.:- • ,
•
~ "-".""" "-!'"""•• „-.
• • ' ' ;1! ui4IUMIiWlittUUIUmmm •
Data
Jika tombol verifikasi diklik maka sistem akan
I t . !.,„,
menampilkan proses verifikasi yang berjalan normal
JSCMXiV
Rrk Vr igmm
- 21ftO00fi0O0
R«L,F«
• 210000000';
.-rim j
Nam-.
MiJuranid fci-i
Jumlah rill:.; y
'J-WOOOO
NJoj,
2100000005
j
Fidnk Sesuni, V«ifiliiiS. Gngtd! '
" ."•
2
:' -4%l'.p&::
Nilai r
£3O02S 2:0000000-1
^L*i
6
<-B»i&-.-
•
2000 6
Gambar 8. Verifikasi gagal karena tanda tangan tidak
'1
sesuai
19
VI. KESIMPULAN
Gambar 6. Pesan Verifikasi sukses
Dari penelitian yang dilakukan, dipcroleh beberapa kesimpulan sebagai berikut,diantaranya:
77
Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 2012)
ISSN 2086-8251
Jakarta, 7 Juli 2012 I.
Penelitian berhasil menerapkan standar tanda
perbankan dikarenakan untuk memperoleh level
tangan digital DSS untuk kasus keamanan
transaksi
internet
banking
keamanan yang bagus tidak membutuhkan lebih banyak media yang lain.
khususnya
transaksi transfer. 2.
3.
Beberapa model internet banking pada dunia nyata diadopsi di sistem ini sebagai fitur pelengkap dengan fokus pengujian dilakukan dengan skenario mengubah data transaksi.
Daftar Pustaka
[1] Budiono (2007). Penerapan Tanda TanganDigital untuk Keamanan Transaksi SMSBanking. Bandung
Operasional sistem diharapkan mampu menjadi
efisiensi
[2] Kurniawan, Yusuf. (2004). Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung: Informatika
kinerja dalam dunia
LAMPIRAN
Pemodelan Fungsi DFD Level I /
data login
1\
-*\ Leg.il
datatocjin
Djsauser
data login v--.._--'
data pesan
HmMi
Msiginn
dan tod private faMfck fransate hni pufcfcdan tanfatang*, \TJ /
tata status transaksi
Bank
3 \
Membuka |
tsUuser
data verifiasi
ft
data transaksi
status transiksi
CXitai>ansika
"4\
Input dataV~
78
data user
Seminar Nasional Pengaplikasian Telematika (SINAPTIKA 2012) Jakarta, 7 Juli 2012 Pemodelan Data ERD
RokCfllHQ,
• ••- i— I
•
•:
:
:
•
79
ISSN 2086-8251