• Tidak ada hasil yang ditemukan

Abstract Syntax Notation 1 (ASN.1)

4 HASIL DAN PEMBAHASAN

C. Abstract Syntax Notation 1 (ASN.1)

Dokomen yang ditandatanganai terdiri dari beberapa field yang memiliki format tertentu dan bersifat tetap. Untuk mempermudah verifikasi dan mempermudah untuk menampilkan data yang telah terverifikasi melalui QR Code, maka dibentuk format ASN.1 untuk dokumen SIUP yaitu:

ASN1Siup ::= SEQUENCE { nomor UTF8String, namaPerusahaan UTF8String, namaPenanggungJawab UTF8String, jabatanPenanggungJawab UTF8String, alamatPerusahaan UTF8String, noTelp UTF8String, fax UTF8String, modal INTEGER, kelambagaan UTF8String, kbli UTF8String, tanggalTtd UTF8String, penandatangan UTF8String }

ASN1Siup merupakan rangkaian dari tipe data sequance dari format ASN.1 yang berisi informasi dari SIUP. Format ini mempermudah proses mengambilan kembali data yang telah ditandatangani. Sedangkan format ASN.1 untuk data yang dimuat dalam QR Code merupakan sequence dari tipe data ASN1Siup, informasi tandatangan (siupSignature) dan informasi nilai hash dari sertifikat kepala PTSP (signatoryCertDigest).

ASN1QrData ::= SEQUENCE { siup ASN1Siup,

siupSignature OCTET STRING. signatoryCertDigest OCTET STRING }

D. Verifikasi (Verification)

Protokol verifikasi merupakan skema saat melakukan verifikasi dokumen. Protokol ini terdiri dari dua jenis input yaitu berdasarkan QR Code dan berdasarkan file SIUP (proses 3.3). Berikut adalah skema protokol verifikasi melalui QR Code:

(3.3.1) scan QR code M Signature Certificate’s hash Certification Authority (CA) (3.3.4) Compute digest Hash value h’ (3.3.3) Decrypt Hash value h equal? N Document Y (3.3.2) Verify certificate Valid ? Y Invalid N certificate Invalid

Gambar 11 Protokol Verifikasi Melalui QR Code (QR Code verification) Proses verifikasi dilakukan berdasarkan dokumen SIUP yang telah disisipkan QR Code. Berdasarkan Gambar 11, jika dokumen tercetak maka input berupa QR Code yang dapat dijelaskan sebagai berikut:

1. Verifier membaca data QR Code dengan QR Scanner (3.3.1). Hasil scanning mengembalikan data asli D yang terdiri dari informasi dokumen M, tanda tangan S dan sertifikat

2. Verifier memvalidasi sertifikat dan membandingkan dengan nilai hash sertifikat yang diperoleh dari QR Code (3.3.2).

3. Jika valid, verifier memverifikasi tanda tangan S dengan mendekripsi S menggunakan kunci publik yang dari sertifikat milik kepala PTSP (3.3.3).

4. Verifier mengitung nilai hash h’ dari M (3.3.4) dan membandingkan dengan h. Jika h dan h’ sama, maka verifikasi selesai. Selanjutnya, verifier memperoleh informasi M yang digunakan sebagai pembanding antar M pada QR Code dengan data dokumen yang telah dicetak. Sehingga verifier dapat memutuskan apakah dokumen yang telah dicetak itu sah atau tidak.

Signed PDF document

(3.4.1) Verify signature

(3.4.2) Verify time stamp

Is validated? Y Valid Invalid N Certification Authority (CA) TSA certificate certificate

Gambar 12 Protokol Verifikasi Melalui File PDF (PDF verification)

Jika input berupa file berdasarkan Gambar 12 (proses 3.4), verifier menjadikan file SIUP sebagai input verifikasi. Tahapan verifiakasi file pdf yaitu dengan memverifikasi signature pada dokumen (3.4.1), verifikasi sertifikat digital

yang terdapat pada dokumen dan verifikasi time stamp yang diperoleh dari TSA (3.4.2). Verifiaksi file pdf berdasarkan standar verifikasi dokumen pdf.

Komponen-komponen tersebut juga dibandingkan dengan sertifikat digital yang dimiliki oleh verifier, yaitu sertifikat digital penandatangan dokumen dan sertifikat TSA. Hal ini untuk memastikan bahwa penandatangan dan TSA adalah pihak yang benar dan memiliki sertifikat digital yang sama seperti yang dimiliki oleh verifier. Jika seluruh komponen tersebut valid, maka dokumen dinyatakan valid atau terverifikasi.

Verifikasi Sertifikat Digital

Setiap melakukan verifikasi tanda tangan pada dokumen SIUP dengan input QR Code maupun file, pihak yang memverifikasi harus memvalidasi keabsahan sertifikat kunci publik tersebut. Hal yang dilakukan dalam validasi sertifikat kunci publik adalah:

1. Certificate’s component

Komponen yang divalidasi antara lain issuer (penerbit sertifikat), subject (pemilik sertifikat) dan komponen pendukung lainnya.

2. Authority's digital signature

Verifikasi ini bertujuan untuk memverifikasi sertifikat digital menggunakan kunci publik milik CA. Jika suatu sertifikat digital ditandatangani oleh pihak terpercaya, maka validasi sertifikat dapat dilakukan dengan menggunakan kunci publik milik CA. Algoritme yang digunakan berdasarkan algoritme yang digunakan untuk menandatangani sertifikat (terdapat pada sertifikat). 3. Priode sertifikat

Priode sertifikat menggambarkan masa berlaku sebuah sertifikat. Misalnya, jika masa berlaku sertifikat adalah satu tahun terhitung tanggal 1 Januari 2015 s.d 31 Desember 2015, maka sertifikat tidak berlaku untuk tanggal sebelum 1 Januari 2015 dan setelah 31 Desember 2015.

4. Revoked status

Secara umum, untuk melihat status sebuah sertifikat telah dicabut (revoked) oleh CA, dapat menggunakan Certification Revocation List (CRL) atau Online Certificate Status Protocol (OCSP). Kedua fasilitas tersebut dapat digunakan sesuai dengan fasilitas yang dimiliki oleh CA. Alamat CRL disertakan di dalam sertifikat. Pihak yang memvalidasi sertifikat, men-download file CRL sesuai dengan alamat pada sertifikat. Selanjutnya, verifier mencari sertifikat telah di-revoke berdasarkan serial number serta tanggal revoke sebuah sertifikat. Jika menggunakan OCSP, verifier melakukan query ke alamat OCSP address, dan memperoleh informasi “normal” atau “revoke” sebuah sertifikat.

5. Chain of trust

Jika sertifikat milik penandatangan (signatory) dinyatakan valid, maka selanjutnya validasi sertifikat dilanjutkan dengan memvalidasi sertifikat milik CA sampai ke Root CA hingga secara keseluruhan sertifikat dinyatakan valid.

Verifikasi Masa Berlaku Dokumen

Masa berlaku SIUP adalah lima tahun sejak diterbitkan. Pada skema SIUP elektronik pada penelitian ini, kunci publik penandatangan (signatory)

disertifikasi oleh CA yang mempunyai keterbatasan yaitu masa berlaku sertifikat yang relatif singkat (kurang dari lima tahun). Sertifikat kunci publik juga dapat ditarik (revoke) sebelum masa berlaku habis karena alasan tertentu. Oleh karena itu, penelitian ini juga menggunakan skema time stamp signature yang ditandatangani oleh Time Stamp Authority (TSA) terpercaya. Proses time stamp signature menggunkan koneksi internet ke server milik TSA.

Pada pengiriman permintaan time stamp signature berupa Time Stamp Request (TSQ), signatory mengitung nilai hash dari dokumen. Dengan demikian, pihak TSA tidak mengertahui isi dari dokumen tersebut. Hal ini bertujuan untuk menjaga kerahasiaan dokumen. TSA mengirim balasan berupa Time Stamp Response (TSR) dan selanjutnya disisipkan pada dokumen yang ditandatanganani. Proses verifikasi dokumen SIUP tidak hanya terbatas pada sertifikat kunci publik milik signatory, tetapi dapat juga divalidasi berdasarkan time stamp dari TSA. Dengan demikian, jika sertifikat kunci publik dalam status expired atau revoke, SIUP tetap berlaku dengan memvalidasi time stamp.

Verifikasi dokumen yang menerapkan timestamp signature, dilakukan dengan mendekripsi time stamp signature yang ada pada dokumen asal termasuk certificate chain milik TSA. Secara sederhana, verifikasi tersebut dapat dijelaskan sebagai berikut:

1. Pemeriksa (verifier) menghitung hash value dokumen asal.

2. Verifier menggabungkan hash value dokumen dengan time stamp, kemudian menghitung nilai hash dari gabungan tersebut

3. Verifier mendekripsi signature menggunakan kunci publik milik TSA

4. Hasil dekripsi signature adalah nilai hash yang dibandingkan dengan nilai hash pada langkah 2. Jika sama, maka dokumen tersebut valid.

Persiapan Simulasi

Pada penelitian ini dibangun sebuah simulasi penandatanganan SIUP elektronik dan verifikasi dokumen. Kebutuhan simulasi terdiri dari:

1. Perangkat lunak dengan mengimplementasikan algoritma DSA menggunakan bahasa pemrograman Java (Java 1.8.0_45)

2. Bouncy Castle sebagai pustaka (library) atau kumpulan fungsi kriptografi (BC Provider 152 dan BC PKIX 152)

3. Google ZXing sebagai library untuk pembangkitan QR Code (ZXing 3.2.1) yang menerapkan standar ISO 18004:2006 dalam pembangkitan (encoding) dan pembacaan (decoding) QR Code

4. Apache PdfBox sebagai library pengolahan dokumen Portable Document Format (PDFBox 1.8.9).

Simulasi yang dibangun menggunakan standar Abstract Syntax Notation (ASN.1) sebagai format pengolahan data SIUP dan bentuk data yang disisipkan ke QR Code. Untuk memvalidari tanda tangan digital pada dokumen, maka kunci publik milik signatory harus disertifikasi oleh certification authority (CA). Simulasi ini juga menerapkan time stamp signature untuk menjamin keabsahan dokumen selama masa berlaku dokumen masih valid.

Selanjutnya, persiapan simulasi terdiri dari pembuatan sertifikat digital (root CA, intermediate CA dan kepala PTSP selaku end user). Sertifikat digital ini digunakan sebagai certificate chain of trust. Hierarki sertifikat digital yang disimulasikan yaitu:

1. Root CA, yaitu pihak paling atas pada hiearki sertifikat digital. Pada sertifikat digital milik Root CA, kunci publik dan identitasnya dienkripsi menggunakan kunci private Root CA sendiri (self-signed)

2. Intermediate CA, yaitu pihak yang berada dibawah pengawasan Root CA.

Sertifikat Intermediate CA diterbitkan oleh Root CA dan ditandai bahwa Intermediate CA dapat menerbitkan sertifikat digital.

3. End user, yaitu pihak yang menggunakan sertifikat digital untuk tanda tangan

digital. Sertifikat ini diterbitkan oleh Intermediate CA dan memiliki masa berlaku tertentu. End user tidak dapat menerbitkan sertifikat digital yang di bawahnya.

Gambar 13 Sertifikat Digital Root CA

Sertifikat digital pada Gambar 13 merupakan sertifikat self-signed dimana, Root CA membangkitkan pasangan kunci private dan kunci publik dan membuat sebuah sertifikat yang ditandatangani oleh Root CA sendiri.

Gambar 14 Sertifikat Digital CA

Pada simulasi ini, CA merupakan pihak yang menerbitkan sertifikat digital untuk pengguna (end user). CA membangkitkan pasangan kunci private dan

public dan kunci publik beserta identitas CA ditandatangani oleh Root CA seperti

Gambar 14.

Gambar 15 Sertifikat Digital Kepala PTSP

Kepala PTSP selaku individu yang menandatangani SIUP, memiliki sebuah sertifikat digital yang diterbitkan oleh CA. Pada Gambar 15 di atas adalah contoh sertifikat atas nama individu (bukan organisasi) yang menandatangani SIUP. Informasi yang dapat dimuat dalam sertifikat digital antara lain nama lengkap, organisasi, unit kerja, privinsi dan negara. Sertifikat yang diterbitkan oleh CA kepada kepala PTSP mengikat informasi tersebut dengan kunci publik yang dibangkitkan oleh kepala PTSP. Pada simulasi ini, algoritme yang digunakan untuk membangkitkan kunci milik kepala PTSP adalah DSA dengan parameter L = 2048 bit dan N = 256 bit. Pasangan kunci ini digunakan untuk tandatangan digital menggunakan fungsi hash SHA-256.

Penandatanganan dokumen pada simulasi ini menggunakan koneksi internet untuk memperloleh time stamp signature dari time stamp authority (TSA) online. Hal ini bertujuan agar verifier dapat memverifikasi waktu penandatanganan yang valid. Penggunanan time stamp signature juga untuk menghidari pemalsuan dokumen oleh pihak lain.

Verifikasi dokumen yang telah ditandatangani, dapat dilakukan dengan dua cara yaitu melalui QR Code atau melalui file dokumen itu sendiri. Proses verifikasi dapat dilakukan secara offline (tanpa memerlukan koneksi internet). Sebelum melakukan verifikasi, verifier harus memenuhi syarat berikut:

1. Perangkat komputer atau mobile

2. Barcode scanner atau barcode reader yang digunakan untuk membaca data dari QR Code

4. Sertifikat digital kepala PTSP hingga root CA 5. Sertifikat digital TSA hingga root CA

6. Aplikasi verifikasi SIUP

Simulasi

Berikut adalah tampilan simulasi protokol izin usaha perdagangan elektronik. Gambar 16 merupakan antarmuka utama simulasi yang terdiri dari penandatanganan dan verifikasi.

Gambar 16 Antarmuka Utama

Gambar 17 di bawah ini merupakan form input data SIUP. Pada bagian ini, diasumsikan pemohon telah memasukkan data dan petugas PTSP melengkapi data berdasarkan field-filed SIUP.

Field-fieldinput data terdiri dari nama perusahaan, nama penanggung jawab dan jabatannya, alamat perusahaan, no telp dan fax, modal (dalam rupiah), jenis kelembagaan dan kode Klasifikasi Baku Lapangan Usaha Indonesia (KBLI). Selanjutnya, kepala PTSP menekan tombol sign dan memasukkan password

penyimpanan kunci private seperti pada Gambar 18.

Gambar 18 Input Password untuk Private Key

Kepala PTSP kemudian menandatangai SIUP menggunakan kunci private dan membangkitkan QR Code yang berisi informasi field-filed SIUP, signature dan hash value dari sertifikat kepala PTSP. Informasi ini dimuat ke dalam QR Code. Untuk memaksimalkan kapasitas data yang mampu disimpan, penelitian ini menggunakan error correction level L yang mampu mengembalikan (recovery) kerusakan data hingga 7 %. Gambar 19 berikut adalah hasil QR Code yang telah dibangkitkan:

Gambar 19 QR Code Hasil Penandatanganan SIUP

Data yang disisipkan pada QR Code, disimpan dalam format ASN.1 yang terdiri dari tiga data seperti berikut:

Sequence Sequence

UTF8String(4494/XI/JBR/BPPTPM/1X/2015) UTF8String(PT. Nusantara Agrowisata) UTF8String(Abdul Noah)

UTF8String(Pemilik)

UTF8String(Jl. Grand Citra No. 5E Bogor - Jawa Barat)

UTF8String(0251-902345) UTF8String(0251-902345) Integer(400000000)

UTF8String(Pengecer) UTF8String(47597) UTF8String(2015-09-03) UTF8String(Drs. Fulan, MM) DER Octet String[70]

DER Octet String[20]

Sequence pertama merupakan data SIUP yang diproses dari field-field pada

form input. Sedangkan sequence kedua yaitu octet string yang berisi informasi

signature (70 byte) dan sequence ketiga adalah octet string yang berisi informasi

nilai hash sertifikat (20 byte).

Informasi data signature terdiri dari parameter r dan s, sedangkan dan nilai

hash sertifikat disimpan dalam tipe data hexadecimal yang dibangkitkan menggunakan SHA-1.

DSA signature parameters:

r = 226254001094106245560312356297614983324196216814351563386777 22204705139561373 s = 456863697891876925479115780899462878544732405889130568585601 45727251824078256

Nilai hash sertifikat digital kepala PTSP:

c39bb215b6ecc6acc55966e450acd8b79e2e1f3c

Nilai r dan s merupakan parameter yang dibangkitkan dari algoritme DSA pada saat penandatanganan QR Code. Parameter tersebut disimpan dalam satu kesatuan sebagai signature dalam format ASN.1. Sedangkat parameter k tidak disertakan karena merupakan parameter acak (random). Nilai k merupakan nilai yang diambil secara acak sebelum penandatanganan dilakukan. Sehingga, dapat disimpulkan bahwa nilai pada parameter k akan berbeda meskipun dokumen yang ditandatangani sama.

Nilai hash sertifikat yang yang disisipkan ke dalam QR Code dibangkitkan menggunakan SHA-1. Algoritme tersebut menghasilkan output 160 bit yang direpresentasikan ke dalam hexadecimal. Agar karakter yang disimpan ke dalam QR Code dapat terbaca dengan baik, representasi data di dalamnya dikonveri ke dalam format base64 encoding. Sehingga, data yang disisipkan ke dalam QR Code menjadi: MIIBJTCBxAwaNDQ5NC9YSS9KQlIvQlBQVFBNLzFYLzIwMTUMGFBULiBOdXNh bnRhcmEgQWdyb3dpc2F0YQwKQWJkdWwgTm9haAwHUGVtaWxpawwqSmwuIEdy YW5kIENpdHJhIE5vLiA1RSBCb2dvciAtIApKYXdhIEJhcmF0DAswMjUxLTkw MjM0NQwLMDI1MS05MDIzNDUCBBfXhAAMCFBlbmdlY2VyDAU0NzU5NwwKMjAx NS0wOS0wMwwORHJzLiBGdWxhbiwgTU0ERjBEAiANLuidTOue0NudOKev4Bkv

G35U4nXmszrq/JdgkdpwnQIgcv22T+anoXY4yl4CdQqQ/dRzRb95/a5Z5c/4 T02rS5YEFMObshW27MasxVlm5FCs2LeeLh88

QR Code di atas ditempelkan ke dalam dokumen. Selanjutnya, kepala PTSP menandatangani dokumen tersebut dengan menambahkan informasi time stamp

signature. Time stamp request (TSQ) dikirimkan oleh signatory kepada TSA.

Berikut adalah TSQ dalam format ASN.1:

Sequence Integer(1) Sequence Sequence ObjectIdentifier(1.3.14.3.2.26) NULL

DER Octet String[20]

Contoh TSQ di atas terdiri dari dua sequence yang terdiri dari version dan message imprint. Dan message imprint memiliki dua sequnce yaitu object identifier (OId) dan nilai hash dokumen dalam format octet string. OId 1.3.14.3.2.26 merupakan identifier untuk algoritme SHA-1 sebagaimana yang digunakan untuk membangkitkan nilai hash dokumen. Sedangkan nilai hash dokumen terdapat pada octet string dengan panjang 20 byte (160 bit). Untuk time stamp response (TSR) dapat dilihat pada Lampiran 3.

Informasi sertifikat baik sertifikat kepala PTSP dan TSA serta chain of trust

dari keduanya disertakan ke dalam file. File dibangkitkan dan disimpan ke dalam format Portable Document Format (PDF). Penandatanganan pdf mengikuti standar pdf signing agar berbagai pdf reader dapat memverifikasi dan dapat menampilkan dokumen dengan benar. Dengan penyisipan QR Code ke dalam file, verifikasi dapat dilakukan baik melalui file itu sendiri maupun dengan memindai (scan) QR Code jika dokumen telah dicetak (Lampiran 1).

Gambar 20 Simulasi SIUP yang Telah Ditandatangani

Dokomen yang telah telah tandatangani secara elektronik dan telah disisipkan QR Code, dapat dicetak sebagai bukti telah memiliki SIUP. Penyisipakn QR Code memungkinkan verifier untuk memverifikasi dokumen tanpa harus memiliki file dokumen yang ingin diverifikasi. Dengan demikian, verifikasi juga dilakukan dengan cara yang berbeda.

Gambar 21 Memilih Image QR Code

Untuk memverifikasi dokumen yang telah dicetak, verifier harus memindai (scan) gambar QR Code menggunakan suatu scanner dan memdekoding data yang terdapat pada QR Code. Pada simulasi ini, data QR Code diperoleh dengan mendekoding file QR Code seperti yang ditampilkan pada Gambar 21.

Gambar 22 Verifikasi Berdasarkan QR Code

Verifikasi dokumen yang telah dicetak dilakukan dengan memindai (scan) QR Code yang tertera pada dokumen. Hal ini dapat dilakukan menggunakan perangkat yang dapat membaca data dari QR Code. Misalnya, dokumen yang diverifikasi adalah dokumen seperti Gambar 20. Verifier memindai (scan) untuk memdapatkan informasi dari image tersebut. Jika telah terbaca, verifer melakuan verifikasi pada data QR Code yang terdiri dari infromasi tanda tangan.

Selanjutnya, verifikasi dilakukan menggunakan algoritme DSA terhadap informasi tanda tangan dan pesan asli yang diperolah dari scanner. Proses verifikasi yang dilakukan dengan memverifikasi tanda tangan berdasarkan dokumen dan membandingkan digest sertifikat pada QR Code dengan sertifikat yang digunakan untuk verifikasi. Dengan demikian, verifier harus memiliki sertifikat digital yang valid.

Hasil verifikasi ini memberikan informasi kepada verifier apakah tanda tangan terverifikasi, apakah setifikat digital yang digunakan valid hingga verifier memperoleh informasi dokuemen asli yang diperoleh dari QR Code (Gambar 22). Tujuan untuk menampilkan informasi dokumen asli agar verifier dapat membandingkan data yang diperoleh dari QR Code dengan dokumen yang tercetak. Jika informasi yang diperolah dari QR Code tidak sama dengan dokumen yang telah dicetak, maka dokumen dianggap tidak valid (Gambar 23).

Gambar 23 Menampilkan Dokumen yang Telah Diverifikasi

Sedangkan verifikasi tipe kedua adalah verifikasi dengan file dokumen sebagai input. Jika verifier memiliki file dokumen, verifikasi tipe ini dapat dilakukan. Gambar 24 menjelaskan bahwa verifier memilih file dokumen yang diverifikasi.

Gambar 24 Memilih File Dokumen

Kemudian, verifier memperoleh informasi tandatangan dari file PDF dan melakukan verifikasi berdasarkan standar Cryptographic Message Syntax (CMS). Gambar 25 menjelaskan mekanisme verifikasi dengan melibatkan seluruh

informasi yang terdapat pada dokumen yaitu tanda tangan, sertifikat digital penandatangan hingga root CA, time stamp dan sertifikat digital TSA.

Keseluruhan informasi tersebut diverifikasi dan dibandingkan dengan sertifikat yang dimiliki oleh verifier. Jika dokumen dinyatakan valid baik tanda tangan maupun time stamp, maka dokumen tersebut dikatakan valid atau sah.

Gambar 25 Verifikasi Dokumen Melalui File

Gambar 25 menjelaskan beberapa hal yang dapat menjadi acuan verifier terhadap hasil verifikasi dokumen yang telah dilakukan. Bagian “signature” menjelaskan informasi bahwa dokumen telah diverifikasi menggunakan kunci publik penandatangan. Verifier juga dapat melihat informasi algoritme yang digunakan oleh panandatangan dan nama penandatangan. Selanjutnya, verifier juga dapat melihat waktu penandatangann dokumen.

Jika verifier ingin melihat informasi sertifikat penandatangan dan informasi time stamp, dapat memilih opsi “Show certificate” pada Gambar 26 atau “Time Stamp Info” pada Gambar 27.

Gambar 27 Informasi Time Stamp

Pada Gambar 27, verifier memperoleh informasi time stamp authority (TSA), serial number sertifikat dan OId algoritme hash yang digunakan oleh TSA. Pada simulasi ini, TSA yang digunakan adalah freetsa.org dan pada gambar di atas algoritme yang digunakan adalah SHA-1 (OId: 1.3.14.3.2.26).

Dokumen yang telah ditandatangani juga dapat divalidasi menggunakan perangkan lunak (pdf reader) lain. Pada Gambar 28, simulasi ini menggunakan Nitro PDF untuk memvalidasi keabsahan digital signature yang telah dibuat. Jika diperhatikan, informasi yang ditampilkan oleh Nitro PDF dan simulasi memiliki kesamaan yaitu nama penandatangan dan waktu penandatanganan. Pdf reader ini juga menampilkan informasi bahwa tanda tangan dinyatakan valid dan dokumen belum mengalami perubahan apapun dan memberikan informasi bahwa dokumen ditandatangani menggunakan time stamp.

Gambar 28 Validasi Menggunakan Nitro PDF

Analisis Keamanan Protokol Integritas

Pada penelitian ini, analisis keamanan yang diuji adalah integritas data. Dimana, protokol yang telah dibangun harus menjamin integritas dokumen yaitu jaminan bahwa dokumen tidak berubah baik dihapus, diganti (edit) atau ditambah isi dokumen. Sehingga, jika terdapat perubahan pada dokumen walaupun satu bit, protokol verifikasi dapat mengidentifikasi dan memberikan informasi bahwa dokumen telah mengalami perubahan.

Pada analisis integritas, dilakukan pengujian terhadap perubahan dokumen dengan mengubah alamat perusahaan pada struktur ASN.1 dari QR Code. Perbandingan dokumen ditampilkan pada gambar berikut (gambar kiri adalah dokumen asli dan gambar kanan adalah dokumen yang telah dimodifikasi):

Gambar 29 Perubahan Data Pada QR Code

Pada Gambar 29, perbedaan data terdapat pada baris ke-6 dengan mengganti satu huruf. Nilai hash menggunakan SHA-1 pada dokumen asli adalah:

305e341cce10c79aba2e78eeb30a7009a5457554

Sedangkan nilai hash dari dokumen yang telah dimodifikasi pada gambar kanan adalah:

d4ed5c7814bb7a0dc8485ea96bb31a69d8af5e05

Hasil perhitungan nilai hash di atas dapat menjadi perbandingan bahwa dokumen telah mengalami perubahan. Hal ini menunjukkan bahwa integritas dokumen asli dapat terjamin dengan membandingkan nilai hasil perhitungan suatu fungsi hash. Hasil verifikasi QR Code berdasarkan perubahan di atas menunjukkan bahwa dokumen telah mengalami perubahan dan tanda tangan dinyatakan tidak valid (Gambar 30).

Gambar 30 Analisis Integritas pada QR Code

Analisis integritas dokumen juga dilakukan pada file PDF yang telah ditandatangani. Pengujian dilakukan dengan mengubah salah satu huruf ada dokumen seperti pada gambar berikut:

Gambar 31 Analisis Integritas pada PDF

Pada Gambar 31 di atas, terlihat bahwa dokumen asli (kiri) telah diubah seperti pada gambar kanan. Perubahan yang dilakukan adalah mengganti salah satu huruf pada baris ke-12. Hasil perhitungan nilai hash (SHA-256) pada dokumen asli adalah:

d70dbe7f939cb18a150d4d53602a78b6f6438a2699e9476c4e7615e3b500 fb2c

Sedangkan nilai hash pada dokumen yang diubah adalah:

5cc6120981ff48f9fd660e2936bd78acf47b7ce6aab177a8cbd30d6ecf09 76ef

Hasil perbandingan hash tersebut dapat menjelaskan bahwa dokumen telah mengalami perubahan dan dapat diketahui yaitu menguji integritas dokumen dengan menghitung nilai hash. Dengan perbedaan nilai hash di atas, maka dokumen yang telah dimodifikasi dinyatakan tidak valid setelah verifikasi

tandatangan oleh verifier. Selanjutnya, protokol mengidentifikasi bahwa nilai hash dokumen tidak sesuai atau dokumen telah mengalami perubahan.

Pada pengujian integritas di atas dapat menggambarkan bahwa penerapan

Dokumen terkait