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
BOGOR 2014
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
BOGOR 2014
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.
Bogor, Juni 2014 Permadhi Santosa
DAFTAR ISI
DAFTAR GAMBAR vi PENDAHULUAN 1 Latar Belakang 1 Perumusan Masalah 2 Tujuan Penelitian 2 Manfaat Penelitian 2Ruang 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 BelakangTanda 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
KriptografiKriptografi 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
Layanan kerahasiaan merupakan layanan keamanan yang menjaga suatu informasi dari pihak – pihak yang tidak berhak memilikinya. Layanan ini dapat dijamin dengan adanya proses enkripsi.
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
AES merupakan algoritme enkripsi dengan kunci simetris dan berbasis cipher blok. Setiap pesan atau plaintext yang diterima akan dibagi ke dalam beberapa blok, dengan ukuran masing - masing bloknya adalah 128 bit. Blok pesan ini dikenal dengan istilah state yang merupakan array yang direpresentasikan dalam bentuk matriks berukuran 4x4 dan setiap elemennya dinotasikan dalam bilangan heksadesimal (Stallings 2010). Ilustrasi dari matriks state ditunjukkan pada Gambar 2.
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
Gambar 9 Ilustrasi proses AddRoundKey (Stallings 2010) Gambar 8 Ilustrasi proses MixColoum (Stallings 2010)
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).
1. Message Padding
Pada proses ini, pesan masukan dibagi ke dalam blok – blok pesan berukuran 512 bit. Akibatnya blok terakhir pesan akan berukuran kurang atau
A B C D E A B C D E <<<5 <<<30 <<<30 𝑤𝑡 𝑘𝑡(𝐷𝐼𝑉 20)
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 setiap proses menggunakan buffer A, B, C, D, dan E (Prasetiya 2001). Nilai dari buffer 𝐻0, 𝐻1, 𝐻2, 𝐻3, dan 𝐻4 yang ditentukan pada tahap inisialisasi awal adalah sebagai berikut : 𝐻0 = 67452301 𝐻1 = 𝐸𝐹𝐶𝐷𝐴𝐵89 𝐻2 = 98𝐵𝐴𝐷𝐶𝐹𝐸 𝐻3 = 10325476 𝐻4 = C3D2E1F0
4. Proses Pengolahan 16 Subblok 32 Bit
Proses ini terdiri atas 4 putaran atau round, masing - masing round nya mempunyai 20 operasi dan untuk setiap satu blok pesan 512 bit diperlukan 80 operasi (Prasetiya 2001).
a. Pada setiap round didefinisikan suatu fungsi 𝑓𝑡 , 0 ≤ t ≤ 79 yang dioperasikan pada buffer B, C, D berukuran 32 bit. Fungsi 𝑓𝑡(B,C,D) adalah sebagai berikut :
1. Untuk t = 0 sampai dengan 19, definisi fungsi 𝑓𝑡 ialah :
𝑓𝑡 𝐵, 𝐶, 𝐷 = 𝐵 AND 𝐶 OR ( NOT 𝐵 AND 𝐷)
2. Untuk t = 20 sampai dengan 39, definisi fungsi 𝑓𝑡 ialah : 𝑓𝑡 𝐵, 𝐶, 𝐷 = 𝐵 XOR 𝐶 XOR 𝐷
3. Untuk t = 40 sampai dengan 59, definisi fungsi 𝑓𝑡 ialah :
𝑓𝑡 𝐵, 𝐶, 𝐷 = 𝐵 AND 𝐶 OR 𝐵 AND 𝐷 OR (𝐶 AND D)
4. Untuk t = 60 sampai dengan 79 fungsi 𝑓𝑡 didefinisikan sama seperti pada t = 20 sampai dengan 39.
b. Inisialisasi deret konstanta 32 bit 𝐾0, 𝐾1, sampai dengan 𝐾79dengan nilai yang sudah ditentukan, antara lain :
• Untuk t = 0 sampai dengan 19, inisialisasi nilai dari 𝐾𝑡 ialah :
𝐾𝑡 = 5𝐴827999
• Untuk t = 20 sampai dengan 39, inisialisasi nilai dari 𝐾𝑡 ialah :
𝐾𝑡 = 6ED9EBA1
• Untuk t = 40 sampai dengan 59, inisialisasi nilai dari 𝐾𝑡 ialah :
𝐾𝑡 = 8F1BBCDC
• Untuk t = 40 sampai dengan 59, inisialisasi nilai dari 𝐾𝑡 ialah :
𝐾𝑡 = CA62C1D6
c. Blok pesan 512 bit dinotasikan sebagai 𝑀𝑖 dan untuk setiap satu blok pesan dilakukan langkah – langkah sebagai berikut :
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 + 𝑓𝑡 𝐵, 𝐶, 𝐷 + E + 𝑊𝑡 + 𝐾𝑡.
• E = D. • D = C.
• C = hasil rotasi dari nilai pada bufferB sebanyak30 kali. • B = A.
• A = TEMP.
5. Untuk proses penyelesaian terakhir, dilakukan perhitungan sebagai berikut : • 𝐻0 = 𝐻0 + A. • 𝐻1 = 𝐻1 + B. • 𝐻2 = 𝐻2 + C. • 𝐻3 = 𝐻3 + D. • 𝐻4 = 𝐻4 + E. 5. Output
Output diperoleh setelah proses untuk semua blok 𝑀𝑛 pesan 512 bit 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).
Skema dari pembuatan digital signature terdiri dari dua proses yaitu penandaan digital dan verifikasi. Digital signature adalah nilai yang didapat dari proses enkripsi message hash dari suatu informasi menggunakan kunci privat (Gambar 11). Sedangkan, proses verifikasi digital signature dilakukan dengan menggunakan kunci publik. Pesan dan digital signature dipisahkan kemudian masing- masing melalui proses dekripsi dan proses perhitungan message digest. Proses verifikasi dilakukan terhadap kedua parameter, yaitu message digest yang diperoleh dari hasil dekripsi digital signature dan message digest yang diperoleh dari pesan asli (Gambar 12).
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 Selesai
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 Selesai
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). Batas minimum dan maksimum Mulai Proses pembuatan bilangan - bilangan prima Bilangan – bilangan prima Proses penyimpanan ke
database repositoro kunci
Pengguna membuat sepasang kunci Parameter p dan q Repositori kunci Kunci publik dan privat Proses pembuatan kunci simetris Kunci pengguna Selesai Admin User
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 Selesai
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
menggunakan algoritme SHA1 Mulai Proses dekripsi menggunakan algoritme RSA Proses dekripsi menggunakan algoritme AES Kunci publik Kunci simetris Message digest Dokumen asli Message digest Proses verifikasi Selesai
15 Apache 2.0 MYSQL 5.0.11 Netbeans IDE 6.9.1 Macromedia Dreamwaver 8 Mozilla Firefox Pengujian
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.
6. Proses verifikasi dokumen peserta dilakukan pada aplikasi e-procurement dengan kunci publik dan kunci enkripsi sebagai parameter masukan. Hasil dari proses verifikasi dokumen akan disimpan di database 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 Repositori kunci Login berhasil ? Proses pembangkitan kunci peserta Kunci peserta Kunci dibangkitkan
Proses penyimpanan kunci peserta ke database repositori kunci
Proses lelang dan verifikasi berkas
Proses penyimpanan berkas dan hasil verifikasi ke database e-procurement Database e-procurement Berkas dan hasil verifikasi Ya Ya Tidak Tidak Verifikasi ? Ya Tidak
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.
Gambar 19 Form registrasi peserta Gambar 18 Tampilan awal E-Procurement
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 ).
Gambar 22 Daftar bilangan prima Gambar 21 Form bilangan prima Gambar 20 Halaman profil peserta
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
Gambar 24 Tampilan awal aplikasi pengaman dokumen
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
SimpulanHasil 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
Gambar 35 Uji manipulasi signature Gambar 34 Hasil uji otentikasi asal data
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.
Stallings W. 2010. Crypthography and Network Security Principles and Practice. Ed ke-5. London (UK): Prentice Hall.
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.
Penulis lulus dari Sekolah Menengah Atas Negeri 1 Kramatwatu Serang pada tahun 2008. Pada tahun yang sama penulis melanjutkan pendidikan di Program Diploma Institut Pertanian Bogor, Jurusan Teknik Komputer. Penulis lulus dari program diploma pada tahun 2011 dan pada tahun yang sama, penulis melanjutkan studi di Program Alih Jenis Ilmu Komputer, Institut Pertanian Bogor untuk mendapatkan gelar sarjana. Selama mengikuti perkuliahan di Program Alih Jenis Ilmu Komputer. Pada tahun 2012 penulis juga menjadi asisten mata kuliah Sistem Operasi, Jaringan Komputer, dan Dasar Jaringan Komputer di Program Diploma Institut Pertanian Bogor.