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
[email protected],
[email protected],
[email protected],
[email protected]
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 fiturfitur 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. 1
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.
2
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 disigning 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 3
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.
4
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
5
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 6
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.
7
Tabel 1. Pengujian kecepatan generating dan signing Approval Manager. Tipe handphone
Processor
Nokia N95 Dopod D810
332 MHz 400MHz
Waktu rata-rata generating (ms) 7619,639583 5592,666667
Waktu rata-rata signing (ms) 528,3666667 362,4666667
D. Analisis Tabel 2. Hasil analisis Approval Manager. No 1. 2. 3.
4.
5. 6.
7. 8.
Fitur Keamanan Login Password Pembangkitan public dan private key Penggunaan Protokol Digital Signature with timestamp
Analisis Sebagai otorisasi user Dilakukan sendiri oleh client dari aplikasi Tidak membutuhkan pihak ketiga untuk melakukan signing atau mendistribusikan secret key Penggunaan DSA Menghasilkan otentikasi, integriti, dan non-repudiasi. Keamanan pada DSA bergantung pada permasalahan logaritma diskrit Penggunaan AES untuk enkripsi inputan kunci yang digunakan untuk private key enkripsi yaitu nilai hash password Penggunaan script user agent Menghindari akses web server approval dengan menggunakan browser biasa Penggunaan push registry spesifik Memfilter penerimaan approval ke port tertentu 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.
8
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.
9