PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA
SISTEM
E-PROCUREMENT
MENGGUNAKAN AES, RSA,
DAN SHA1
PERMADHI SANTOSA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa skripsi berjudul Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan SHA1 adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Juni 2014 Permadhi Santosa
ABSTRAK
PERMADHI SANTOSA. Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan SHA1. Dibimbing oleh ENDANG PURNAMA GIRI.
Penandaan digital merupakan bukti otentik dan fungsinya sama seperti tanda tangan pada dokumen tercetak, akan tetapi implementasinya pada dokumen digital. Dokumen yang dikirim melalui jaringan internet, perlu dipastikan tujuan dan asal dari dokumen tersebut. Penelitian ini dibuat untuk menerapkan protokol keamanan pada proses pengiriman dokumen digital di sistem e-procurement menggunakan algoritme AES, RSA, dan SHA1. Data yang digunakan pada penelitian ini berupa dokumen – dokumen digital yang terkompresi menggunakan format ZIP. Hasil dari penelitian ini menunjukkan bahwa sistem yang dibuat sudah mampu membangkitkan dan melakukan verifikasi tanda tangan digital. Layanan keamanan yang dimiliki oleh sistem ini ialah kerahasiaan, otentikasi entitas, otentikasi asal data, integritas, dan anti penyangkalan. Pengujian yang dilakukan terhadap layanan - layanan keamanan tersebut meliputi uji otentikasi, uji kerahasiaan, uji integritas serta pengujian terhadap anti penyangkalan. Kerahasiaan dijamin dengan adanya proses enkripsi menggunakan algoritme AES. Layanan Otentikasi, integritas, dan anti penyangkalan dijamin dengan adanya mekanisme pembangkit tanda tangan digital.
Kata kunci: E-Procurement, penandaan digital, lelang
ABSTRACT
PERMADHI SANTOSA. Digital Document Security Protocols on E-Procurement System using AES, RSA, and SHA1. Supervised by ENDANG PURNAMA GIRI.
Digital signature is an authentic evidence and also has a function like a signature on the printed document, but its use in digital documents. Documents that was sent through the internet, should be ensured their source and destination. This research is decided to implement a security protokol on file transfer process on e-procurement system using AES, RSA, and SHA1 algorithm. Data used in this research is a compressed digital document with ZIP format. The result of this research indicate that the system has been created already capable of generating and verify digital signature. The security services that owned by this system such as confidentiality, entity authentication, data origin authentication, integrity, and non repudiation. The testing process is performed on these security services including confidentiality test, authentication test, integrity test, and non repudiation test. Confidentiality is guaranteed by the encryption process using AES algorithm. In addition, authentication, integrity, and non repudiation service is guaranteed by the digital signature mechanism.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada
Departemen Ilmu Komputer
PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA
SISTEM
E-PROCUREMENT
MENGGUNAKAN AES, RSA,
DAN SHA1
PERMADHI SANTOSA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
Judul Skripsi : Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan SHA1
Nama : Permadhi Santosa NIM : G64114026
Disetujui oleh
Endang Purnama Giri, SKom, MKom Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi, MKom Ketua Departemen
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan September 2013 ini ialah Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan SHA1.
Terima kasih penulis ucapkan kepada Bapak Endang Purnama Giri dan selaku pembimbing, serta Ibu Shelvie Nidya Neyman dan Ibu Karlisa Priandana yang telah banyak memberi saran. Ungkapan terima kasih juga disampaikan kepada ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya.
Semoga karya ilmiah ini bermanfaat.
DAFTAR ISI
DAFTAR GAMBAR vi
PENDAHULUAN 1
Latar Belakang 1
Perumusan Masalah 2
Tujuan Penelitian 2
Manfaat Penelitian 2
Ruang Lingkup Penelitian 2
TINJAUAN PUSTAKA 2
Kriptografi 2
Protokol Kriptografi 3
Algoritme AES 3
Algoritme RSA 6
Algoritme SHA1 7
Digital Signature 9
METODE 11
Studi Literatur 11
Perancangan Sistem 11
Implementasi 14
Pengujian 15
HASIL DAN PEMBAHASAN 15
Pengujian 21
SIMPULAN DAN SARAN 23
Simpulan 23
Saran 24
DAFTAR PUSTAKA 24
LAMPIRAN 28
DAFTAR GAMBAR
1 Aplikasi LPSE pemerintah 1
2 Proses enkripsi dan dekripsi algoritme AES 4
3 Matriks state 4
4 Matriks round key 4
5 Tabel S-Box 5
6 Ilustrasi proses SubBytes 5
7 Ilustrasi proses ShiftRows 5
8 Ilustrasi proses MixColoum 6
9 Ilustrasi proses AddRoundKey 6
10 Ilustrasi proses algoritme SHA1 7
11 Skema penandaan digital 10
12 Skema verifikasi digital signature 10
13 Metode penelitian 11
14 Proses pembuatan kunci pengguna 12
15 Proses pembangkitan digital signature 13
16 Proses verifikasi digital signature 14
17 Alur proses sistem e-procurement 16
18 Tampilan awal E-Procurement 17
19 Form registrasi peserta 17
20 Halaman profil peserta 18
21 Form bilangan prima 18
22 Daftar bilangan prima 18
23 Pasangan kunci peserta tender 19
24 Tampilan awal aplikasi pengaman dokumen 19
25 Pembangkitan digital signature 20
26 Keluaran dari aplikasi pengaman dokumen 20
27 Data tender 20
28 Form upload berkas 21
29 Pesan validasi berkas 21
30 Uji kerahasiaan 21
31 Layanan otentikasi entitas 22
32 Uji otentikasi entitas 22
33 Uji otentikasi asal data 22
34 Hasil uji otentikasi asal data 23
PENDAHULUAN
Latar Belakang
Tanda tangan merupakan suatu karakter unik yang menunjukkan bukti otentik dari sebuah dokumen cetak yang dikirimkan kepada pihak penerima pesan. Seperti tanda tangan, penandaan digital atau digital signature memiliki fungsi yang sama, akan tetapi ruang lingkup penggunaanya pada dokumen digital.
Proses pengadaan barang atau jasa di suatu perusahaan terkadang melibatkan dokumen – dokumen yang menyimpan informasi yang sifatnya privat seperti sumber dokumen atau nominal harga barang yang dicantumkan. Selain itu, terdapat signature yang digunakan sebagai alat yang menunjukan keaslian dan keabsahan dokumen. Pada saat dokumen – dokumen tersebut dikirim melalui jaringan internet, perlu dipastikan pihak yang mengirimkan dokumen dan kepada siapa dokumen ini akan dikirimkan. Menezes et al. (1996) menjelaskan bahwa digital signature adalah sarana yang digunakan sebagai tempat menyimpan suatu identitas ke dalam sebuah informasi untuk proses verifikasi dan otentikasi. Oleh karena itu, penelitian ini bertujuan untuk menerapkan suatu skema pengamanan dokumen dengan menggunakan digital signature.
Solusi untuk masalah ini sudah diterapkan di dunia pemerintahan. Salah satu contohnya adalah Layanan Pengadaan Secara Elektronik (LPSE) (Gambar 1).
Layanan Pengadaan Secara Elektronik (LPSE) adalah salah satu contoh aplikasi E-Procurement yang disediakan oleh pemerintah bagi perusahaan yang bergerak di bidang pengadaan barang atau jasa yang ingin mengirimkan dokumen penawaran terkait dengan proses lelang pengadaan barang. E-Procurement memungkinkan adanya pertukaran informasi terkait dengan proses lelang barang atau jasa melalui jaringan internet (Presutti 2003). Akan tetapi, kasus yang lain timbul ketika organisasi atau lembaga swasta hendak membuat sebuah sistem yang sama seperti E-Procurement milik pemerintah.
2
Perumusan Masalah
Perumusan masalah pada penelitian ini adalah :
1. Bagaimana menerapkan protokol pengaman dokumen digital menggunakan algoritme AES, RSA dan SHA1.
2. Dengan protokol yang sudah dibuat, apakah dapat mengurangi resiko manipulasi dokumen digital oleh pihak yang tidak berwenang.
Tujuan Penelitian
Tujuan dari penelitian ialah menerapkan skema keamanan yang digunakan untuk proses pengiriman dokumen digital dan mengetahui kemungkinan terjadinya manipulasi dokumen digital.
Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat memberikan gambaran tentang proses otentikasi dan verifikasi dokumen digital menggunakan digital signature, sehingga dapat menjamin keabsahan dan kerahasiaan dari dokumen tersebut.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini meliputi :
1. Proses pembuatan digital signature menggunakan algoritme RSA.
2. Algoritme AES dengan ukuran kunci 128 bit digunakan pada proses enkripsi ketika data dikirimkan kepada pihak penerima.
3. Pada penelitian ini, data yang digunakan adalah data terkompresi dengan format zip.
4. Bilangan prima yang digunakan pada proses pembangkitan kunci peserta diperoleh dari proses pemilihan dan disimpan di dalam basis data.
TINJAUAN PUSTAKA
Kriptografi
Kriptografi merupakan studi yang mempelajari teknik – teknik pengamanan suatu informasi. Keamanan dalam kriptografi dapat dijamin melalui empat layanan keamanan, yaitu kerahasiaan, otentikasi, integritas, dan anti penyangkalan (Menezes et al. 1996).
a. Kerahasiaan
3 b. Otentikasi
Otentikasi merupakan layanan keamanan yang menjamin pihak – pihak yang terlibat dalam proses komunikasi merupakan pihak – pihak yang telah teridentifikasi. Layanan otentikasi ini dibagi menjadi dua mekanisme, yaitu otentikasi entitas dan otentikasi asal data. Otentikasi entitas memberikan jaminan terhadap pihak – pihak yang terlibat dalam proses komunikasi, sedangkan otentikasi asal data memberikan jaminan terhadap keabsahan sumber data (Stallings 2010).
c. Integritas
Integritas merupakan layanan keamanan yang menjamin keaslian suatu informasi. Dengan adanya layanan ini, pihak penerima dapat meyakini bahwa informasi yang diterima tidak berubah atau dimanipulasi pada saat proses pengiriman.
d. Anti Penyangkalan
Layanan anti penyangkalan merupakan layanan keamanan yang menjamin pihak pengirim tidak dapat menyangkal pesan yang telah dikirimnya.
Protokol Kriptografi
Scheiner (1996) mengemukakan bahwa protokol merupakan serangkaian mekanisme yang melibatkan dua pihak atau lebih dan dirancang untuk menyelasaikan suatu permasalahan. Protokol yang dibuat memiliki karakteristik seperti berikut :
1. Semua pihak yang terlibat harus mengetahui semua langkah yang ada di dalam protokol tersebut.
2. Semua pihak yang terlibat harus menyetujui dan mengikutinya.
3. Protokol yang dibuat tidak membingungkan, setiap langkah harus didefinisikan dengan jelas.
4. Protokol harus lengkap, selalu ada tindakan untuk setiap permasalahan. Protokol kriptografi merupakan protokol yang digunakan dalam kriptografi dan melibatkan dua entitas atau lebih. Protokol kriptografi terdiri atas algoritme kriptografi yang digunakan dan memiliki karakteristik protokol pada umumnya. Tujuan dibuatnya protokol kriptografi ialah menghindari tindakan penyadapan dan manipulasi terhadap informasi oleh pihak – pihak yang tidak berwenang.
Algoritme AES
4
Kunci yang digunakan untuk proses enkripsi terdiri atas beberapa ukuran blok yaitu 128 bit, 192 bit, dan 256 bit yang direpresentasikan ke dalam matriks array berukuran 4x4 yang disebut round key. Khusus untuk penelitian ini implementasi akan dibatasi pada blok pesan 128 bit dan blok kunci 128 bit. Ilustrasi dari matriks round key ditunjukkan pada Gambar 3.
Setiap kolom dari matriks round key merepresentasikan word yang berukuran 32 bit. Proses enkripsi pada algoritme AES diawali dengan proses ADDRoundKey, yaitu melakukan operasi XOR antara matriks state dengan round key. Kemudian diikuti dengan sembilan round yang terdiri atas empat proses, yaitu SubBytes, ShiftRows, MixColoum, dan ADDRoundKey. Akhir dari proses enkripsi merupakan round kesepuluh yang terdiri atas proses SubBytes, ShiftRows, dan AddRoundKey. Adapun proses enkripsi dan dekripsi algoritme AES secara umum ditunjukkan pada Gambar 4.
Gambar 4 Proses enkripsi dan dekripsi algoritme AES (http:// http://www.iis.ee.ethz.ch/~kgf/acacia/c3.html) Gambar 2 Matriks state (Stallings 2010)
5 1. SubBytes
Proses SubBytes merupakan proses yang melakukan operasi subtitusi setiap elemen dari matriks state kedalam nilai baru dengan mengganti setiap byte pada matriks state dengan byte pada tabel S-Box (Stallings 2010). Tabel S-Box yang digunakan pada proses ini ditunjukkan pada Gambar 5, dan ilustrasi dari proses SubBytes ditunjukkan pada Gambar 6.
Gambar 5 Tabel S-Box (Stallings 2010)
Pada Gambar 6 terlihat bahwa setiap elemen matriks state terdiri atas dua karakter hexadesimal. Karakter yang pertama menunjukkan nomor baris (x), sedangkan elemen kedua menunjukkan nomor kolom (y) pada tabel S-Box.
2. ShiftRows
Proses ShiftRows merupakan proses yang beroperasi pada setiap baris matriks state. Proses ini dilakukan dengan cara memutar tiga baris terakhir pada matriks state dan jumlah putaran tiap barisnya berbeda (Stallings 2010). Ilustrasi dari proses ini ditunjukkan pada Gambar 7.
Gambar 7 Ilustrasi proses ShiftRows (Stallings 2010) Gambar 6 Ilustrasi proses SubBytes (Stallings 2010)
6
3. MixColoum
Proses MixColoum beroperasi pada setiap baris matriks state. Proses ini beroperasi dengan melakukan transformasi yang merupakan operasi perkalian antara matriks state dengan matriks pengali yang dikenal dengan matriks forward mix coloum transformation yang berukuran 4x4 (Giri 2004). Ilustrasi dari proses ini terlihat pada Gambar 8.
4. AddRoundKey
Proses Forward add round key atau AddRoundKey merupakan operasi perhitungan XOR sederhana antara matriks state 4x4 dengan matriks 4x4 yang merupakan round key yang bersesuaian pada proses ekspansi kunci pada setiap round (Giri 2004). Ilustrasi proses ini terlihat pada Gambar 9.
Algoritme RSA
RSA adalah algoritme enkripsi pesan dengan arsitektur kunci asimetris. Algoritme ini pertama kali diperkenalkan pada tahun 1976. Algoritme ini terdiri dari tiga proses, yaitu proses membangkitkan sepasang kunci, enkripsi, dan dekripsi (Stallings 2010). Proses untuk membangkitkan sepasang kunci terdiri dari beberapa tahap, antara lain :
1. Memilih secara acak dua bilangan prima p dan q. 2. Menghitung nilai n = pq.
3. Menghitung nilai Ø(n) = (p-1)(q-1).
4. Menentukan bilangan bulat e yang relatif prima terhadap Ø(n). 5. Menghitung kunci dekripsi = −1 mod Ø( ).
Hasil dari proses pembangkitan kunci adalah pasangan kunci publik dan kunci privat yang bersesuaian. Kunci publik yang merupakan pasangan e dan n digunakan pada proses enkripsi, sedangkan kunci privat yang merupakan pasangan d dan n digunakan pada proses dekripsi.
Proses enkripsi pada algoritme ini dilakukan dengan perhitungan berbasis desimal. Masukan dari proses enkripsi adalah plaintext dengan panjang i bit. Perhitungan beroperasi pada setiap bit dari pesan asli (plaintext). Ciphertext yang merupakan keluaran dari proses enkripsi diperoleh dari hasil dari operasi modulus
7 antara n dan bit plaintext ke-i ( �) pangkat e. Perhitungan ini dapat dinotasikan sebagai � = � , dengan � sebagai ciphertex (Stallings 2010).
Pada proses dekripsi, plaintext diperoleh dari perhitungan modulus antara n dan bit ciphertext ke-i pangkat d. Perhitungan untuk proses dekripsi algoritme RSA dapat dinotasikan sebagai � = � , dengan � sebagai plaintext (Stallings 2010).
Algoritme SHA1
Menezes et al. (1996) mengemukakan bahwa fungsi hash merupakan fungsi yang memetakan input dengan ukuran yang bervariasi dan menghasilkan suatu nilai yang memiliki ukuran tetap yang disebut message digest. Fungsi hash digunakan untuk menunjukan integritas atau keaslian data, terutama pada skema penandaan digital.
Sedangkan algoritme SHA1 (Secure Hash Algorithm 1) merupakan salah satu algoritme fungsi hash yang menerima input dengan ukuran sembarang dan menghasilkan message digest dengan ukuran 160 bit. Algoritme ini dirancang khusus oleh National Institute of Standard and Technology (NIST) dan National Security Agency (NSA). Algoritme SHA1 juga merupakan hasil perkembangan dari algoritme MD4 (Prasetiya 2001). Proses umum algoritme SHA1 ditunjukkan pada Gambar 10.
Gambar 10 Ilustrasi proses algoritme SHA1 (Prasetiya 2001)
Proses algoritme SHA1 ini terdiri dari beberapa proses, antara lain message padding, penambahan panjang bit, inisialisasi buffer, pengolahan 16 subblok 32 bit, dan output (Prasetiya 2001).
8
sama dengan 512 bit. Blok terakhir akan mengalami message padding (Prasetiya 2001).
2. Proses Penambahan Panjang Bit
Proses message padding dilakukan dengan menambahkan bit 1 dan sejumlah bit 0 di bagian paling kiri pada blok terakhir sehingga panjang total setelah proses ini sama dengan 512 bit (Prasetiya 2001).
3. Proses Inisialisasi Buffer
Pada algoritme SHA1, nilai inisialisasi telah ditetapkan dan disimpan pada buffer 0, 1, 2, 3, dan 4, sedangkan untuk menyimpan hasil sementara dari
4. Proses Pengolahan 16 Subblok 32 Bit
Proses ini terdiri atas 4 putaran atau round, masing - masing round nya nilai yang sudah ditentukan, antara lain :
9 1. Membagi �� menjadi 16 subblok 32 bit, yaitu 0, 1, sampai
dengan 15. 0 adalah subblok paling kiri.
2. Untuk t = 16 sampai dengan 79, dilakukan proses rotasi terhadap nilai pada variabel � sebanyak satu kali. Nilai dari variabel � diperoleh dari perhitungan sebagai berikut :
� = �−3 XOR �−8 XOR �−14 XOR �−16
3. Melakukan inisialisasi A = 0, B = 1, C = 2, D = 3, E = 4 4. Untuk setiap langkah operasi pada algoritme SHA1, untuk t = 0
sampai dengan ≤ 79 melakukan operasi sebagai berikut :
• TEMP = hasil rotasi nilai A sebanyak lima kali +
5. Untuk proses penyelesaian terakhir, dilakukan perhitungan sebagai berikut : diselesaikan. Blok terakhir menghasilkan output berupa message digest dari pesan tersebut, yaitu nilai dari buffer 0, 1, 2, 3, dan 4 (Prasetiya 2001). Panjang message digest adalah 160 bit dan masing – masing buffer terdiri dari 8 digit hexadesimal.
Digital Signature
Digital signature merupakan mekanisme otentikasi yang memungkinkan pengirim pesan untuk menyisipkan sesuatu yang berfungsi sebagai tanda tangan dari pesan tersebut (Stallings 2010).
10
Gambar 11 Skema penandaan digital (Stallings 2010)
Gambar 12 Skema verifikasi digital signature (Stallings 2010) Mulai
Pesan Digital Signature
Pesan Kunci Publik
Digital Signature
Proses perhitungan message digest Proses
Dekripsi
Message Digest Message Digest
Proses verifikasi
Selesai Hasil Verifikasi Proses perhitungan
message digest Pesan Mulai
Kunci Privat
Message Digest
Proses enkripsi
Pesan Digital Signature
11
METODE
Penelitian ini dilakukan dalam beberapa tahap yang terurut dan membentuk sebuah kerangka kerja seperti yang terlihat pada Gambar 13.
Gambar 13 Metode penelitian
Studi Literatur
Tahap studi literatur dilakukan untuk mencari dan meninjau beberapa pustaka yang dapat mendukung penelitian ini.
Perancangan Sistem
Tahap perancangan sistem merupakan tahap yang dilakukan untuk merancang sebuah aplikasi e-procurement yang dapat mengamankan dokumen digital dengan menggunakan skema pembangkitan digital signature. Sistem ini memiliki tiga tahap yaitu proses pembuatan kunci pengguna, pembangkitan digital signature dan verifikasi digital signature.
1. Pembuatan Kunci Pengguna
Pada proses ini, kunci pengguna terdiri atas tiga jenis, yaitu kunci publik, kunci privat, dan kunci enkripsi. Proses ini diawali dengan menentukan batas minimun dan maksimum dari bilangan prima yang akan digunakan sebagai parameter p dan q untuk sepasang kunci publik dan kunci privat pengguna.
Studi Literatur
Perancangan Sistem
Implementasi
Pengujian Mulai
12
Setelah sepasang kunci berhasil dibuat, maka dilakukan proses pembuatan kunci simetris yang dilakukan dengan proses pemilihan secara acak. Adapun skema dari proses pembuatan kunci pengguna ditunjukkan pada Gambar 14.
Gambar 14 Proses pembuatan kunci pengguna
2. Pembangkitan Digital Signature
Pada tahap pembakitan digital signature terdapat tiga masukan proses yaitu dokumen digital, kunci privat, dan kunci simetris. Dokumen digital yang tersimpan dalam satu direktori akan melalui proses kompresi dan menghasilkan berkas dengan format zip. Kemudian nilai message digest dihitung. Nilai message digest yang dihasilkan dienkripsi menggunakan kunci privat sehingga hasil dari proses ini ialah digital signature yang bersesuaian dengan dokumen tersebut (Gambar 15).
Proses penyimpanan ke
13
Gambar 15 Proses pembangkitan digital signature
3. Verifikasi Digital Signature
Proses verifikasi digital signature memiliki empat masukan, yaitu kunci publik, kunci simetris, digital signature dan dokumen digital. Ilustrasi dari proses ini ditunjukan pada Gambar 16.
Mulai
Dokumen digital
Proses kompresi dokumen digital
Berkas zip
Pembentukan message
digest menggunakan
algoritme SHA 1
Proses enkripsi menggunakan algoritme AES
Kunci Simetris
Message digest Kunci
privat e
Dokumen terenkripsi Proses enkripsi
menggunakan algoritme RSA
Digital Signature
14
Gambar 16 Proses verifikasi digital signature
Implementasi
Pada tahap ini, dilakukan implementasi dari sistem e-procurement sebagai protokol pengamanan dokumen sesuai dengan perancangan yang sudah dibuat. Proses pembuatan digital signature disimulasikan dengan aplikasi berbasis desktop yang dibuat menggunakan bahasa pemrograman java, sedangkan proses verifikasi digital signature disimulasikan dengan aplikasi berbasis web yang dibuat menggunakan bahasa pemrograman PHP. Implementasi dirancang dan dibangun dengan menggunakan spesifikasi perangkat keras dan perangkat lunak, antara lain :
Perangkat Keras :
Processor Intel Core i3 2,4 GHz
RAM 4 GB Perangkat Lunak :
Sistem Operasi Windows 7 64 bit
XAMP 3.2.1 Digital Signature
Dokumen terenkripsi
Pembentukan message digest
15
Pada tahap ini, dilakukan pengujian secara fungsional serta analisis hasil proses pembangkitan dan verifikasi digital signature dari sistem yang dibuat. Pengujian juga dilakukan terhadap layanan – layanan keamanan yang dibangun untuk membuat protokol keamanan dokumen digital.
HASIL DAN PEMBAHASAN
Protokol pengaman dokumen pada sistem e-procurement ini memiliki beberapa langkah penggunaan. Langkah – langkah tersebut antara lain sebagai berikut :
1. Pihak pengelola atau administrator menentukan batas minimum dan maksimun untuk proses pembuatan bilangan – bilangan prima. Kemudian beberapa bilangan prima yang dihasilkan disimpan ke dalam database repositori kunci untuk selanjutnya digunakan sebagai parameter dalam proses pembuatan kunci yang dilakukan oleh peserta lelang.
2. Pengguna melakukan registrasi sebagai peserta lelang. Kemudian melakukan login dan selanjutnya melakukan proses pembangkitan kunci pengguna.
3. Peserta melakukan proses pembuatan kunci berdasarkan parameter p dan q yang diperoleh dari repositori kunci. Setelah berhasil membuat kunci privat dan publik, maka dilanjutkan dengan pembuatan kunci enkripsi yang ditentukan secara acak. Kunci pengguna yang terdiri dari kunci publik, kunci privat, dan kunci enkripsi tersimpan di dalam database repositori kunci.
4. Peserta melakukan proses pembangkitan digital signature untuk dokumen – dokumennya dengan menggunakan aplikasi pengaman dokumen. Aplikasi pengaman dokumen ini menerima masukan berupa dokumen digital, kunci privat, dan kunci enkripsi. Keluaran dari aplikasi ini ialah dokumen lelang pengguna dalam format zip yang terenkripsi dan berkas digital signature dari dokumen tersebut.
5. Peserta memilih lelang yang akan diikuti dan mengirimkan dokumennya beserta berkas digital signature melalui form upload pada aplikasi e-procurement.
16
beserta status valid atau tidak valid berdasarkan hasil dari proses dekripsi dari digital signature yang dikirimkan.
Secara umum, alur penggunaan sistem e-procurement diilustrasikan pada Gambar 17.
Gambar 17 Alur proses sistem e-procurement Mulai
Selesai
Proses registrasi pengguna sebagai peserta tender
Peserta tender membuka halaman awal aplikasi e-procurement dan melakukan login ke database repositori kunci
Proses lelang dan verifikasi berkas
17 Hingga tahap ini aplikasi e-procurement telah memiliki tampilan user interface, mampu membangkitkan digital signature, serta mampu melakukan proses verifikasi terhadap dokumen dan digital signature yang dikirimkan. Tampilan awal dari sistem ini ditunjukkan pada Gambar 18.
Penggunaan sistem ini diawali oleh proses registrasi peserta lelang dengan mengisi form pendaftaran. Tampilan dari form registrasi peserta ditunjukkan pada Gambar 19.
Halaman profil peserta dapat diakses setelah peserta berhasil melalui proses otentikasi peserta. Tampilan dari halaman profil peserta ditunjukkan pada Gambar 20.
18
Setelah berhasil memasukkan data peserta, maka peserta dapat mengikuti proses lelang barang dan jasa. Tahapan awal dari proses lelang ialah pembangkitan kunci pengguna.
1. Pembangkitan Kunci Pengguna
Proses pembangkitan sepasang kunci diawali proses pemilihan bilangan prima berdasarkan nilai minimum dan maksimum yang dilakukan oleh administrator melalui form bilangan prima (Gambar 21 ).
Keluaran dari proses pemilihan tersebut adalah bilangan – bilangan prima yang disimpan dalam database beserta status yang menandakan bahwa bilangan tersebut telah digunakan untuk pembangkitan kunci peserta (Gambar 22 ).
19 Kemudian peserta membuat sepasang kunci menggunakan dua bilangan prima yang dipilih secara acak dari database sebagai nilai dari parameter p dan q. Setelah nilai p dan q dipilih, akan dihasilkan pasangan kunci publik, kunci privat serta kunci simetris yang diperoleh dari proses pemilihan secara acak. Pasangan kunci privat, kunci publik, dan kunci simetris akan ditampilkan di halaman profil peserta, seperti yang ditunjukkan pada Gambar 23.
Setelah melalui proses pembuatan kunci peserta, maka status bilangan – bilangan prima yang terdapat pada repositori kunci diperbaharui seperti yang ditunjukkan pada Lampiran 1. Selanjutnya, peserta dapat melakukan proses pembangkitan digital signature untuk dokumen – dokumen lelang.
2. Pembangkitan Digital Signature
Proses pembangkitan digital signature dilakukan pada aplikasi pengaman dokumen berbasis desktop. Alur penggunaan dari aplikasi pengaman dokumen diawali dengan proses otentikasi pengguna. Tampilan awal dari aplikasi pengaman dokumen ditunjukkan pada Gambar 24.
Setelah melalui tahap otentikasi, selanjutnya peserta lelang melakukan proses pembangkitan digital signature dengan beberapa masukan, yaitu dokumen lelang, kunci privat, dan kunci simetris, seperti yang terlihat pada Gambar 25.
Gambar 23 Pasangan kunci peserta tender
20
Keluaran dari aplikasi pengaman dokumen ialah dua berkas, yaitu berkas zip yang terenkripsi dan berkas digital signature seperti yang ditunjukkan pada Gambar 26.
3. Verifikasi Digital Signature
Proses verifikasi berkas dilakukan ketika peserta lelang mengirimkan berkas zip dan digital signature, untuk mengikuti lelang barang yang ada di dalam aplikasi e-procurement. Data lelang barang atau tender yang dapat diikuti peserta ditunjukkan pada Gambar 27.
Gambar 27 Data tender
Gambar 25 Pembangkitan digital signature
21 Proses verifikasi diawali dengan membuka form upload berkas yang tautannya terdapat di setiap data tender. Tampilan dari form upload berkas dapat dilihat pada Gambar 28.
Setelah berkas terkirim dan tersimpan di dalam repositori berkas pada aplikasi e-procurement, maka dilakukan proses verifikasi berkas. Keluaran dari proses verifikasi adalah pesan valid jika berkas dan signature sesuai (Gambar 29).
Pengujian
1. Kerahasiaan
Layanan kerahasian dari sistem e-procurement ini telah dijamin dengan adanya proses enkripsi menggunakan algoritme AES pada aplikasi pengaman dokumen. Proses enkripsi ini dibuat dengan tujuan untuk mengamankan dokumen peserta dari tindakan manipulasi oleh pihak yang tidak berwenang. Layanan ini diuji dengan melakukan proses dekripsi berkas terkompresi dengan menggunakan kunci simetris yang berbeda (Gambar 30a). Hasil dari pengujian ini menunjukkan bahwa berkas zip hanya dapat dibuka setelah melalui proses dekripsi menggunakan kunci simetris dari pemilik berkas yang sesuai (Gambar 30c). Jika menggunakan kunci yang tidak sesuai, akan tampil pesan error pada proses dekripsinya (Gambar 30b).
(a)
(b) (c)
Gambar 30 Uji kerahasiaan Gambar 28 Form upload berkas
22
2. Otentikasi
Layanan otentikasi dibagi menjadi dua jenis, yaitu otentikasi entitas dan otentikasi asal data. Otentikasi entitas merupakan layanan keamanan yang menjamin bahwa pihak – pihak yang berkomunikasi merupakan pihak yang teridentifikasi. Otentikasi entitas diuji dengan mekanisme login yang digunakan untuk mengidentifikasi peserta lelang (Gambar 31). Peserta tender yang gagal melakukan otentikasi akan diblokir dan tidak dapat menggunakan aplikasi e-procurement seperti yang ditunjukkan pada Gambar 32.
Sedangkan otentikasi asal data merupakan layanan keamanan jaminan terhadap keabsahan suatu sumber data (Stallings 2010). Otentikasi asal data diuji dengan melakukan proses verifikasi dengan menggunakan kunci publik yang berbeda (Gambar 33).
Gambar 33Uji otentikasi asal data Gambar 31 Layanan otentikasi entitas
23
Hasil dari uji otentikasi asal data menunjukkan bahwa proses verifikasi berkas gagal (Gambar 34). Proses verifikasi berkas akan berhasil jika menggunakan kunci publik milik pihak pengirim.
3. Integritas
Layanan integritas dapat digunakan untuk menjamin keaslian dari dokumen yang dikirimkan. Layanan ini diuji dengan melakukan manipulasi terhadap berkas digital signature dan mengirim kembali bersama dengan berkasnya (Gambar 35).
Digital signature yang berbeda akan menghasilkan message digest yang tidak valid pada keluaran dari proses dekripsi. Hal ini terbukti dengan ditampilkannya pesan invalid yang sama seperti pada Gambar 34.
4. Anti Penyangkalan
Layanan anti penyangkalan diuji dengan adanya proses verifikasi digital signature. Jika berkas sesuai atau valid dengan signature yang dikirimkan, maka peserta lelang selaku pengirim berkas tidak dapat menyangkal bahwa berkas tersebut bukan miliknya.
SIMPULAN DAN SARAN
Simpulan
Hasil dari penelitian ini ialah aplikasi e-procurement telah mampu membangkitkan kunci peserta, membangkitkan digital signature, serta mampu melakukan proses verifikasi berkas. Berdasarkan hasil dari pengujian, aplikasi ini telah memiliki protokol keamanan dengan adanya layanan kerahasiaan, otentikasi entitas, otentikasi asal data, integritas, dan anti penyangkalan. Layanan kerahasiaan dijamin dengan adanya proses enkripsi. Layanan otentikasi entitas, otentikasi asal data, integritas dan anti penyangkalan dijamin dengan adanya skema verifikasi digital signature.
Proses pembangkitan digital signature dilakukan menggunakan aplikasi pengaman berkas dengan masukan berupa dokumen, kunci privat, dan kunci
24
enkripsi perusahaan, sedangkan proses verifikasi dilakukan menggunakan kunci publik. Hasil dekripsi dari digital signature akan menghasilkan message digest dan kemudian dibandingkan dengan message digest dari dokumen. Setelah proses verifikasi berhasil, akan ditampilkan pesan valid atau invalid yang menunjukkan ada tidaknya proses manipulasi terhadap dokumen pengguna atau berkas signature. Disamping layanan – layanan keamanan yang telah tersedia, sistem ini juga masih memiliki kelemahan, yaitu terdapat celah keamanan pada mekanisme penyimpanan kunci pengguna yang tersimpan pada basis data. Hal ini memungkinkan seorang administrator untuk mengetahui dan menyalahgunakan kunci pengguna terhadap pihak – pihak yang tidak memiliki wewenang.
Saran
Secara umum aplikasi yang telah dibuat sudah memiliki protokol keamanan dalam proses pengiriman dokumen digital. Akan tetapi, masih terdapat kekurangan pada mekanisme penandaan digital, yaitu terbatasnya bilangan – bilangan prima yang digunakan untuk proses pembangkitan kunci, serta berkas dan digital signature yang masih terpisah. Saran untuk penelitian selanjutnya ialah perlu adanya pengembangan terhadap mekanisme pembangkit sepasang kunci publik dan kunci privat pada proses pembuatan digital signature. Selain itu, juga perlu diterapkan mekanisme penyisipan signature ke dalam berkas terkompresi.
DAFTAR PUSTAKA
Giri EP. 2004. Analisis Algoritme dan Waktu Enkripsi Versus Dekripsi pada Advanced Encryption Standard (AES) [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Menezes A, Oorschot PV, Vanstone S. 1996. Handbook of Applied Cryptography. London:CRC Press.
Prasetiya M. 2001. Perbandingan Algoritme Message Digest 5 (MD5) dan Secure Hash Algorithm 1 (SHA1) [skripsi]. Bogor (ID): Institut Pertanian Bogor. Presutti WD. 2003. Supply management and e-procurement: creating value added
in the supply chain. Industrial Marketing Management. 32(3):219-226.
Schneier B. 1996. Applied Cryptography : Protocols, Algorithms, and Source Code in C. USA:John Wiley and Sons.
25
26
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 21 September 1989 di Serang, Banten. Penulis merupakan anak pertama dari tiga bersaudara dari pasangan Bapak Budi Santoso dan Ibu Dewi.