Approval manager berbasis Digial Signature (paper) - Alvin
-
Upload
idsecconf -
Category
Technology
-
view
1.718 -
download
0
description
Transcript of Approval manager berbasis Digial Signature (paper) - Alvin
1
PERANCANGAN APLIKASI APPROVAL MANAGER UNTUK ELECTRONIC
APPROVAL PADA MOBILE DEVICE
DENGAN MEMANFAATKAN KONSEP DIGITAL SIGNATURE
Alvin Devara Lesmana
1 , Sandromedo Christa Nugroho
2 , Anggrahito
3 , Danang Jaya
4
Lembaga Sandi Negara
Jl. Harsono RM No.70 Ragunan Ps.Minggu Jakarta Selatan -12550
Telp.021-7805814, Fax.021-78844104
[email protected], [email protected]
4
ABSTRAK
Persetujuan memegang salah satu peranan penting dalam jalannya suatu kegiatan. Proses
persetujuan yang cepat dan praktis dapat meningkatkan efisiensi dan efektifitas suatu
perusahaan/instansi. Namun, proses persetujuan yang dilakukan dengan tanda tangan
tradisional masih memiliki permasalahan dalam hal faktor keamanan, biaya, serta distribusi
dokumennya. Saat ini terdapat salah satu solusi dengan memanfaatkan Sistem Informasi
Berbasis Komputer, namun aplikasi yang ada masih berbasis PC Desktop sehingga pihak yang
mengakses harus berada di depan komputernya untuk melakukan suatu persetujuan. Maka, pada
kesempatan kali ini akan dilakukan penelitian mengenai perancangan aplikasi approval manager
pada mobile device untuk electronic approval dengan memanfaatkan konsep digital signature.
Hasil dari penelitian ini berupa aplikasi Approval Manager sebagai salah satu solusi dalam
pemanfaatan mobile electronic approval. Dari hasil pengujian aplikasi didapatkan bahwa fitur-
fitur keamanan aplikasi pada sisi kriptografi telah diimplementasikan, namun masih terdapat
keterbatasan pada sisi counterfeiting.
Kata Kunci : Aplikasi Approval Manager (1), Digital Signature (2), Electronic Approval (3),
DSA (4)
1. Pendahuluan
Semakin konvergennya perkembangan teknologi informasi dan komunikasi telah
mengakibatkan semakin berkembangnya pula jasa-jasa komunikasi dan teknologi informasi
yang ada, contohnya electronic business. Demikian pula dalam sebuah persetujuan,
perkembangan teknologi telah membuat sistem persetujuan yang ada menjadi suatu
persetujuan yang berbasiskan dokumen elektronik (e-approval). Persetujuan elektronik dapat
digunakan untuk mengatasi permasalahan yang ada pada perusahaan atau instansi yang
membutuhkan proses persetujuan yang cepat.
Dalam suatu persetujuan, tanda tangan diperlukan sebagai bukti sahnya sebuah
persetujuan. Tanda tangan dapat dibuat secara tradisional pada dokumen kertas maupun
secara elektronik pada dokumen elektronik. Namun, tanda tangan tradisional cenderung
rentan akan upaya pemalsuan. Nicholas Leeson memalsukan tanda tangan (handwritten)
bosnya sehingga menyebabkan keruntuhan Barings Bank, sebuah bank investasi tertua di
United Kingdom (Wikipedia, 2010). Disamping masalah keamanan, proses distribusi
dokumen pada tanda tangan biasa cenderung lebih lambat daripada dokumen elektronik
dengan tanda tangan elektronik. Oleh karena itu, tanda tangan elektronik dengan sistem
electronic approval lebih tepat digunakan dalam mengatasi permasalahan persetujuan yang
cepat. Salah satu tanda tangan elektronik yang dapat digunakan untuk electronic approval
adalah digital signature.
2
Dalam mengatasi permasalahan kebutuhan akan kecepatan dan keamanan sebelumnya,
maka dari itu diperlukan mekanisme lain untuk mengatasi tantangan permasalahan yang ada
terkait mobilitas dan validitas data serta otentikasi dokumen pada proses persetujuan.
Berangkat dari permasalahan tersebut, pada penelitian kali ini dibahas mengenai perancangan
aplikasi Approval Manager pada mobile device untuk electronic approval dengan
memanfaatkan konsep digital signature. Adapun ‘Approval Manager’ adalah nama dari
aplikasi yang akan dibangun. Aplikasi ini merupakan aplikasi yang dapat mengatur dan
menjawab persetujuan yang masuk dari server, dimana mendukung sistem informasi berbasis
komputer yang sudah ada. Persetujuan yang datang dari server akan diterima aplikasi dan
diolah sehingga siap untuk diproses oleh signer.
Paper ini disusun menjadi lima bagian. Bab pertama berisi pendahuluan yang berupa latar
belakang, pokok permasalahan dan sistematika penulisan. Bab kedua membahas tentang
teori-teori yang melandasi penulisan penelitian ini antara lain teori Tanda Tangan Elektronik,
Digital Signature, dan Digital Signature Algorithm. Bab ketiga menjelaskan mengenai
perancangan sistem. Bab keempat menjelaskan mengenai implementasi dari aplikasi dan
pengujian yang disertai analisis terhadap hasil implementasi aplikasi Approval Manager ke
dalam handphone. Bab kelima berisi kesimpulan berdasarkan hasil penelitian yang dibahas
pada bab-bab sebelumnya.
2. Landasan Teori
Tanda tangan merupakan otentikasi seseorang yang dapat mewakili identitasnya. Tanda
tangan digunakan untuk membuktikan kepemilikan seseorang atau persetujuan pada suatu
dokumen. Tanda tangan elektronik mempunyai kekuatan hukum dan akibat hukum yang sah
selama memenuhi persyaratan yang sebagaimana tertulis pada pasal 11 ayat 1 UU ITE.
Digital signature mengambil konsep tanda tangan tradisional dengan mengubahnya
menjadi ‘sidik jari’ digital yang unik untuk tiap penandatangan dan dokumen yang
ditandatangani (www.arx.com, 2010). Digital signature merupakan bagian dari electronic
signatures. Tujuan digital signature adalah sebagai media bagi seseorang untuk mengikat
identitasnya ke sebuah informasi (Menezes et.al, 1996). Digital signature dapat digunakan
untuk melakukan identifikasi dan otentikasi penandatangan serta melakukan verifikasi
apakah informasi telah diubah setelah ditandatangani (www.nist.gov, 1994).
DSA merupakan skema digital signature pertama yang diakui pemerintah dan menjadi
standar U.S. Federal Information Processing Standard (FIPS 186). DSA merupakan varian
dari skema ElGamal, dan merupakan digital signature schemes with appendix. DSA
termasuk ke dalam system kriptografi public key. Meskipun demikian, DSA tidak dapat
digunakan untuk enkripsi. DSA mempunyai dua fungsi utama, yaitu :
1. Pembentukan digital signature (signature generation), dan
2. Pemeriksaan keabsahan digital signature (signature verification).
Sebagaimana halnya pada algoritma kriptografi public key, DSA menggunakan dua buah
kunci, yaitu public key dan private key. Pembentukan digital signature menggunakan private
key pengirim, sedangkan verifikasinya menggunakan public key pengirim. DSA
menggunakan fungsi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadi
message digest yang berukuran 160 bit.
3
3. Perancangan
A. Gambaran Umum
Terdapat dua macam entitas pada aplikasi Approval Manager ini, yaitu pada sisi
server dan client. Server merupakan entitas yang berperan sebagai pengolah data
persetujuan (approval) dan menyimpan database persetujuanpersetujuan yang telah atau
akan diajukan ke client. Sedangkan, client merupakan entitas yang berperan untuk
melakukan jawaban approval yang diajukan oleh server. Dalam hal ini client adalah
signer approval.
Client dapat membangkitkan public key dan private key miliknya sendiri serta
mengirim public key miliknya ke server. Kunci ini digunakan client untuk melakukan
signing pada jawaban approval tersebut. Server dapat memverifikasi jawaban yang di-
signing oleh client dengan menggunakan public key client.
Aplikasi Approval Manager yang akan dibuat merupakan aplikasi pada sisi client,
sedangkan server hanya berperan sebagai Sistem Informasi Berbasis Komputer atau
Computer Based Information System (CBIS) yang mendukung jalannya aplikasi
Approval Manager. Gambaran umum sistem dapat dilihat pada gambar 1.
Gambar 1. Gambaran umum sistem Approval Manager.
Pihak tertentu pada server melakukan input terhadap suatu persetujuan tertentu yang
akan diajukan ke signer (client) dan memasukkan datanya ke dalam database pada CBIS
Server. Kemudian, SMS Server yang ada pada CBIS Server akan secara otomatis
mengirimkan inputan approval tersebut menuju handphone client sekaligus melakukan
trigger untuk menjalankan aplikasi Approval Manager pada client (Push Registry).
Berikutnya setelah trigger diterima, handphone secara otomatis memberikan notifikasi
4
agar signer (client) menjalankan aplikasi. Setelah aplikasi dijalankan, aplikasi akan
menampilkan data approval yang dikirim dari server pada interface aplikasi untuk
selanjutnya diproses oleh client. Selanjutnya user melakukan jawaban terhadap approval
yang diajukan (approve atau reject) dan aplikasi akan secara otomatis melakukan proses
signing serta mengirim hasil jawaban tersebut menuju CBIS Server. Jawaban tersebut
dikirim bersamaan dengan digital signature-nya. Kemudian, server akan melakukan
proses validasi terhadap digital signature client dan memberikan notifikasi apakah
approval berhasil ataupun gagal.
Proses pendaftaran
Dalam proses pendaftaran, terdapat pihak tertentu pada CBIS Server yang ditugaskan
untuk mengisi entri data signer pada database CBIS Server. Jika keseluruhan data
mengenai signer sudah diisi, pihak tersebut akan secara langsung memberikan Job ID
user dan registration key untuk mengaktifkan aplikasi Approval Manager. Kemudian,
pihak tersebut akan mengirim SMS ke signer (client) melalui sms server yang berisi link
download aplikasi dari web server approval. Selanjutnya, signer dapat melakukan
download dan meng-install aplikasi Approval Manager tersebut pada handphone
miliknya.
Proses inisialisasi kunci
Setting inisialisasi awal pada aplikasi dilakukan dengan membangkitkan public dan
private key melalui fitur yang ada pada aplikasi, lalu menyimpan public dan private key
tersebut pada RMS handphone. Saat client melakukan pembangkitkan kunci, aplikasi
akan meminta client untuk memasukkan Job ID beserta registration key yang telah
didapatkan dari tahap sebelumnya.
Proses pengiriman kunci
Proses pengiriman kunci dilakukan secara otomatis setiap kali client membangkitkan
public key dan private key baru miliknya. Aplikasi akan mengirimkan public key tersebut
ke server. Sebelum public key dikirim menuju server, aplikasi akan melakukan hash
terhadap public key (p, q, g, y) dan registration key (k) yang telah dimasukkan client saat
membangkitkan kunci. Kemudian, public key tersebut akan dikirim bersamaan dengan
nilai hash dari public key dan registration key. Selanjutnya, server akan menerima public
key beserta nilai hash tersebut dan membandingkan nilai hash yang didapat dengan
perhitungan nilai hash yang dilakukan server. Jika nilai hash sama, server akan
melakukan update pada database public key dan mengirimkan client User ID untuknya.
Gambar 2 menunjukan proses pengiriman kunci Approval Manager.
Gambar 2. Proses pengiriman kunci Approval Manager.
5
Keterangan :
Pbc = Public key client
jid = Job ID client
uid = User ID client
H(Pbc||k) = nilai hash dari public key dan registration key
H(uid||k) = nilai hash dari User ID dan registration key
Proses komunikasi
Komunikasi berupa pengajuan approval dapat dilakukan jika server telah memiliki
public key client. Setiap kali terdapat inputan approval yang baru maka server akan
mengirim approval tersebut menuju handphone client. Selanjutnya, client akan menerima
dan menjawab approval yang diajukan sebelumnya, apakah approve atau reject. Jika
client sudah melakukan jawaban, aplikasi akan melakukan signing terhadap jawaban
dengan public key dan private key client sehingga didapatkan digital signature dari
jawaban tersebut. Kemudian aplikasi akan mengirim jawaban tersebut beserta digital
signatu re-nya menuju server. Kemudian, server akan menerima jawaban approval dan
melakukan verifikasi untuk membuktikan bahwa client yang menjawab merupakan client
yang benar dengan mencocokan nilai digital signature yang ada dengan nilai hasil
perhitungan validasi approval dengan public key client yang ada pada server. Jika digital
signature-nya cocok, maka jawaban approval tersebut sah dan akan diterima. Gambar 3
menunjukan proses komunikasi terhadap approval yang diajukan.
Gambar 3. Proses komunikasi Approval Manager.
Keterangan :
Pbc = Public key client
Pvc = Private key client
rc = Digital signature pertama client
sc = Digital signature kedua client
ms = Pesan approval dari server
mc = Pesan jawaban approval dari client
H(mc) = Hasil hash pesan jawaban approval
6
B. Perancangan Server
Perancangan aplikasi
Untuk mendukung aplikasi Approval Manager, dibutuhkan beberapa aplikasi pada
server, diantaranya SMS server dan web server. SMS server yang terkoneksi dengan
handphone berlaku sebagai pengirim data approval baru. Sedangkan, web server
digunakan sebagai media untuk memasukkan data approval yang akan diajukan ke dalam
database.
Perancangan database
Database digunakan server untuk menyimpan data-data yang berkaitan dalam
melakukan suatu proses approval. Data pada database ini yang nantinya akan diolah oleh
aplikasi SMS server dan Approval Manager.
4. IMPLEMENTASI DAN PENGUJIAN
A. Implementasi Client
Implementasi pada client dilakukan dengan menggunakan handphone yang support
Java dengan spesifikasi sebagai berikut :
Handphone Nokia N95.
MIDP 2.0
CLDC 1.1
Memori Eksternal 1 GB
Gambar 4 menunjukkan tampilan pada aplikasi.
Gambar 4. Tampilan aplikasi Approval Manager.
B. Implementasi Server
Implementasi pada server akan dilakukan dengan menggunakan notebook yang
dikoneksikan dengan handphone. Pada penelitian kali ini penulis menggunakan notebook
dan handphone dengan spesifikasi sebagai berikut :
Notebook : HP Pavilion dv2913cl
Prosesor : 2,0 GHz
RAM : 2 GHz
Harddisk : 250 GB HDD
Sistem Operasi : Windows Vista Home Premium 64 bit
7
Handphone Nokia 2600 classic untuk digunakan sebagai modem pada server sebagai
sms gateway.
Notebook dan handphone terhubung melalui koneksi bluetooth. Untuk aplikasinya,
penulis menggunakan aplikasi SMS server with Timer yang merupakan hasil modifikasi
dari aplikasi SMS server Smitdev. Selain itu digunakan pula web server, database, dan
aplikasi tambahan DSA verify untuk memverifikasi jawaban client. Gambar 5
menunjukkan implementasi server dan gambar 6 menunjukkan tampilan aplikasi SMS
Server with Timer.
Gambar 5. Implementasi server.
Gambar 6. Tampilan SMS Server with Timer.
C. Pengujian
Uji performa ini dilakukan untuk menguji berapa lama waktu yang dibutuhkan user
atau client dalam melakukan proses terhadap suatu approval. Pengujian ini dilakukan
dengan mengukur kecepatan pemrosesan pada saat melakukan pembangkitan kunci.
Pengujian ini dilakukan dengan dua buah handphone, yaitu Nokia N95 dan Dopod D810.
Untuk memperoleh waktu rata-rata, dilakukan 30 kali percobaan. Tabel 1 menunjukkan
waktu rata-rata yang dibutuhkan aplikasi untuk membangkitkan kunci.
8
Tabel 1. Pengujian kecepatan generating dan signing Approval Manager.
Tipe handphone
Processor
Waktu rata-rata
generating (ms)
Waktu rata-rata
signing (ms)
Nokia N95 332 MHz 7619,639583 528,3666667
Dopod D810 400MHz 5592,666667 362,4666667
D. Analisis
Tabel 2. Hasil analisis Approval Manager.
No Fitur Keamanan Analisis
1. Login Password Sebagai otorisasi user
2. Pembangkitan public dan private
key
Dilakukan sendiri oleh client dari
aplikasi
3. Penggunaan Protokol Digital
Signature with timestamp
Tidak membutuhkan pihak ketiga
untuk melakukan signing atau
mendistribusikan secret key
4. Penggunaan DSA Menghasilkan otentikasi, integriti,
dan non-repudiasi. Keamanan pada
DSA bergantung pada permasalahan
logaritma diskrit
5. Penggunaan AES untuk enkripsi
private key
inputan kunci yang digunakan untuk
enkripsi yaitu nilai hash password
6. Penggunaan script user agent Menghindari akses web server
approval dengan menggunakan
browser biasa
7. Penggunaan push registry spesifik Memfilter penerimaan approval ke
port tertentu
8. counterfeiting Tidak tersedia pada aplikasi
Dari tabel 2 di atas, penulis menyimpulkan bahwa fitur-fitur keamanan aplikasi pada sisi
kriptografi telah diimplementasikan, namun masih terdapat keterbatasan pada sisi counterfeiting.
Otentikasi server dari aplikasi hanya berdasarkan pada nomor handphone-nya. Jika terdapat
pihak lain yang dapat melakukan penggandaan terhadap nomor server asli, maka aplikasi tidak
dapat melindungi hal ini. Selain itu, penggunaan digital signature pada aplikasi Approval
Manager telah memenuhi keseluruhan aspek hukum yang terdapat pada persyaratan-persyaratan
yang tertulis pada pasal 11 ayat 1 UU ITE.
5. KESIMPULAN
Berdasarkan penelitian yang dilakukan pada bab-bab sebelumnya, maka diperoleh
kesimpulan sebagai berikut :
1. Aplikasi Approval Manager merupakan sebuah aplikasi yang dapat mendukung jalannya
suatu proses persetujuan pada CBIS secara mobile dengan memanfaatkan konsep digital
signature.
9
2. Aplikasi Approval Manager dapat menjadi suatu alternatif dalam melakukan proses
persetujuan secara cepat dan otentik.
3. Aplikasi Approval Manager yang dibuat telah berhasil dibuat dan diimplementasikan
pada handphone yang mendukung java.
4. Aplikasi Approval Manager sah di mata hukum yang sebagaimana dinyatakan pada UU
ITE pasal 11 ayat 1.
6. DAFTAR PUSTAKA
[1]. Achour, Mehdi. et.al. 1997. PHP Manual. http://www.php.net/docs.php. Diakses
5Agustus 2007.
[2]. Daley, William M. Digital Signature Standard (DSS) FIPS PUB. NIST. 2000.
[3]. McLeod, Raymond. 1998. Management Information System, 7th ed. New Jersey :
Prentice Hall.
[4]. Menezes, Alfred J., Paul C. van Oorschot, & Scott A. Vanstone. 1996. Handbook of
Applied Cryptography. Boca Raton : CRC Press.
[5]. Munir, Rinaldi. 2006. Kriptografi. Penerbit Informatika.
[6]. Potts, Anthony & David H. Friedel, Jr. 1996. Java Programming Language
Handbook. Corolis group inc.
[7]. Pressman, Roger S. Ph.D. 2001. Software Engineering: a practitioners approach fifth
edition. McGraw-Hill series in computer science.
[8]. Priwardani, Restia. 2009. Rancang Bangun Secure SMS Pada Telepon Selular. Skripsi
Tidak Diterbitkan. Bogor. Sekolah Tinggi Sandi Negara.
[9]. Purnomo, Adi. 2007. Pemrograman Java : Membangun Beragam Aplikasi Layanan
SMS. Jakarta : Salemba Infotek.
[10]. Pustikasari, Ayu. 2007. Penerapan Otentikasi One-Time Password Berbasis Protokol
S/KEY Pada Layanan Transaksi Finansial Internet Banking. Skripsi Tidak
Diterbitkan. Bogor. Sekolah Tinggi Sandi Negara.
[11]. Rosenberg, Doug and Matt Stephens. 2007. Use Case Driven Object Modeling with
UML: Theory and Practice.
[12]. Schneier, Bruce. 1996. Applied Cryptography : Protocols, Algorithms, and Source
Code in C, Second Edition. New York : John Wiley & Sons, Inc.
[13]. Shalahuddin, M. & S. Rosa A. 2006. Pemrograman J2ME Belajar Cepat
Pemrograman Perangkat Telekomunikasi Mobile. Bandung : Informatika.
[14]. Thalib, Abdul. 2003. Keamanan Pada Aplikasi Web Dengan PHP. Skripsi tidak
diterbitkan. Institut Teknologi Bandung.
[15]. Undang Undang ITE No 11 tahun 2008 tentang Informasi dan Transaksi Elektronik.
Willy Bayuardi Suwarno, SP, MSi. Pemrograman PHP dan MySQL. Dipublikasikan
di http://willy.situshijau.co.id, 7 Mei 2008.