1 PERANCANGAN APLIKASI APPROVAL MANAGER UNTUK ELECTRONIC
APPROVAL PADA MOBILE DEVICE
DENGAN MEMANFAATKAN KONSEP DIGITAL SIGNATURE
Alvin Devara Lesmana1 , Sandromedo Christa Nugroho2 , Anggrahito3 , Danang Jaya4 Lembaga Sandi Negara
Jl. Harsono RM No.70 Ragunan Ps.Minggu Jakarta Selatan -12550 Telp.021-7805814, Fax.021-78844104
alvin._dev@yahoo.com1, major.ruft@gmail.com2, anggrahito.22@gmail.com3, querydanangjaya@yahoo.com4
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 approvalmanager
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
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
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.
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
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. LoginPassword 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.