• Tidak ada hasil yang ditemukan

Protokol Izin Usaha Perdagangan Secara Elektronik Di Indonesia.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Protokol Izin Usaha Perdagangan Secara Elektronik Di Indonesia."

Copied!
64
0
0

Teks penuh

(1)

PROTOKOL IZIN USAHA PERDAGANGAN

SECARA ELEKTRONIK DI INDONESIA

PIZAINI

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI TESIS DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa tesis berjudul Protokol Izin Usaha Perdagangan Secara Elektronik di Indonesia adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. 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 tesis ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

(4)
(5)

RINGKASAN

PIZAINI. Protokol Izin Usaha Perdagangan Secara Elektronik di Indonesia. Dibimbing oleh SUGI GURITMAN dan HERU SUKOCO.

Surat Izin Usaha Perdagangan (SIUP) merupakan sebuah dokumen yang diterbitkan pemerintah sebagai salah satu legalitas usaha di bidang perdagangan. Legalitas usaha tersebut diberikan dalam bentuk cetak dan cukup mudah untuk dipalsukan baik isi dokumen maupun tanda tangannya. Oleh karena itu, diperlukan sebuah gagasan yang mampu mengatasi permasalahan pemalsuan serta mampu menjamin integritas maupun keabsahan dokumen SIUP. Protokol izin usaha perdagangan yang dibuat merupakan bentuk digital dari proses penandatanganan dan verifikasi surat izin usaha perdagangan dengan media kertas. Tanda tangan yang digunakan adalah tanda tangan digital (digital signature) yang dapat diverifikasi baik sebelum atau sesudah dokumen dicetak. Salah satu algoritme tanda tangan digital adalah Digital Signature Algoritm (DSA). Untuk verifikasi dokumen cetak maka diterapkan QR Code, yaitu sebuah struktur dua dimensi yang dapat mentransmisikan data dengan cara dipindai (scan). Tujuan dari penelitian ini adalah membangun protokol SIUP elektronik dengan menerapkan algoritme tanda tangan yaitu DSA dan menerapkan QR Code untuk verifikasi jika dokumen telah dicetak.

Metodologi pada penelitian ini terdiri dari analisis permasalahan, perancangan protokol kriptografi, membuat simulasi dan analisis keamanan informasi. Rancangan protokol kriptografi yang dibangun terdiri dari protokol penandatanganan dan protokol verifikasi. Protokol penandatanganan terdiri dari penandatanganan QR Code dan penandataganan file Portable Document Format (PDF). Sedangkan protokol verifikasi terdiri dari verifikasi QR Code dan verifikasi PDF. Rancangan protokol ini menerapkan digital certificate yang mengikat identitas penandatangan dan sebagai jaminan kepemilikan kunci publik. Untuk menjamin keabsahan dokumen, diterapkan time-stamp signature yang ditandatangani oleh pihak ketiga terpercaya (trusted third party) agar dokumen dinyatakan valid selama masa berlaku dokumen. Untuk proses verifikasi melalui QR Code, dilakukan verifikasi terhadap QR Code menggunakan digital certificate milik penandatangan dokumen dan Certification Authority (CA). Sedangkan verifikasi melalui file PDF, diperlukan tambahan informasi hierarki digital certificate milik Time Stamp Authority (TSA).

Simulasi protokol izin usaha perdagangan secara elektronik ini dibuat menggunakan bahasa pemrograman Java dan library (pustaka) pendukung yaitu Bouncy Castle, Google ZXing dan Apache PdfBox. Simulasi ini menggunakan algoritme DSA dengan parameter p = 2048 bit dan q = 256 bit serta fungsi hash Secure Hash Algorithm (SHA) 256. Berdasarkan simulasi yang dibuat, protokol penandatanganan dan verifikasi dapat diterapkan pada dokumen usaha perdagangan dengan proses verifikasi melalui QR Code dan PDF. Penerapan QR Code memungkinkan dokumen dapat diverifikasi jika dokumen dicetak. Sehingga, rancangan ini mudah dan layak untuk diimplementasikan di Indonesia. Kata kunci: digital certificate, digital signature, QR Code, surat izin usaha

(6)

SUMMARY

PIZAINI. An Electronic Trade Business License Protocol in Indonesia. Supervised by SUGI GURITMAN and HERU SUCOKO.

The trade business license (SIUP) is a paper-based license issued by the government as the legality to carry out business activities. The protocol of electronic trade business license is a digital form of the signing process and verifying process of the trading license. It applied the digital signature that can be verified either before or after the document is printed. This research aimed to build an electronic trade business license protocol by implementing the digital signature algorithm (DSA) and the QR Code.

The methodology in this study included the problems analysis, the design of the cryptographic protocol, builded the prototype, and the security analysis. The design of cryptographic protocols included the signing protocol and the verification protocols. Signing protocol consisted of the QR Code signing and the signing of Portable Document Format (PDF). The verification protocol consisted of the QR Code verification and the PDF verification. This protocol implemented the digital certificate that binds the signatory's identity and the public key ownership. To ensure the documents validity, this study applied time-stamp signature signed by a trusted third party to ensure the validity of the document. First, the verification process through QR code, utilized a digital certificate belonging to the document signatory and certification authority (CA). Second, the verification through a PDF file, included the digital certificate hierarchy of the time stamp authority (TSA).

The prototype of electronic trade business license was built utilizing the Java programming language and some libraries included Bouncy Castle, Google ZXing and Apache PDFBox. This prototype applied the DSA algorithm with parameters p = 2048 bits and q = 256 bits and Secure Hash Algorithm (SHA) 256 as the hash function. Based on the prototype, the signing protocol and verification could be applied to the document of trade business license including a verification process through the QR Code and PDF. This study implemented the digital signature, the QR Code, the digital certificates, and the timestamp signature. It guaranteed the document integrity, authentication, and nonrepudiation. Implementation of QR Code allows the document can be verified after the document is printed. Thus, this design is easy and feasible to be implemented in Indonesia.

(7)

©

Hak Cipta Milik IPB, Tahun 2015

Hak Cipta Dilindungi Undang-Undang

(8)

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apapun tanpa izin IPB

PROTOKOL IZIN USAHA PERDAGANGAN

SECARA ELEKTRONIK DI INDONESIA

PIZAINI

Tesis

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Magister Komputer

pada

Program Studi Ilmu Komputer

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

(9)

2015

(10)

Judul Penelitian Protokol Izin Usaha Perdagangan Secara Elektronik di Indonesia

Nama Pizaini

NIM G651130501

Disetujui oleh Komisi Pembimbing

Dr Drs Sugi Guritman Ketua

DrEng Heru Sukoco, SSi MT Anggota

Diketahui oleh

Ketua Program Studi Magister Ilmu Komputer

DrEng Wisnu Ananta Kusuma, ST MT

Dekan Sekolah Pascasarjana

Dr Ir Dahrul Syah, MScAgr

(11)

PRAKATA

Alhamdulillah, ungkapan rasa syukur penulis kepada Allah subhanahu wa

ta’ala atas segala limpahan rahmat dan karunia-Nya sehingga karya ilmiah ini

berhasil diselesaikan. Penelitian ini mengambil tema keamanan informasi yang dilaksakanan sejak bulan Januari 2015 dengan judul Protokol Izin Usaha Perdagangan Secara Elektronik di Indonesia.

Terima kasih penulis kepada istri tercinta, Widia Fuji Hastuti atas semangat dan perjuangannya mendampingi penulis selama menyelesaikan karya ilmiah ini serta Ayah, Ibu dan seluruh keluarga penulis atas do’a dan dukungan yang diberikan. Ungkapan terima kasih penulis kepada Bapak Dr Drs Sugi Guritman dan Bapak DrEng Heru Sukoco, SSi MT selaku pembimbing serta Ibu Dr Ir Sri Wahjuni, MT selaku penguji yang telah banyak memberikan saran dan masukan pada penelitian ini. Di samping itu, penghargaan penulis kepada seluruh dosen dan staf Departemen Ilmu Komputer yang telah membantu selama pelaksanaan penelitian. Ungkapan rasa bangga penulis kepada rekan-rekan S2 Ilmu Komputer angkatan tahun 2013 atas semangat dan motivasi yang diberikan serta terima kasih penulis kepada seluruh pihak yang terlibat langsung maupun tidak langsung dari penelitian ini.

Semoga karya ilmiah ini bermanfaat.

(12)

DAFTAR ISI

Kriptografi dan Protokol Kriptografi 4

Tanda Tangan Digital 4

QR Code 5

Digital Certificate 7

Digital Signature Algorithm (DSA) 8

Time Stamp Signature 8

Portable Document Format (PDF) 9

3 METODE PENELITIAN 11

Analisis Permasalahan 11

Perancangan Protokol 12

Membuat Simulasi Protokol 12

Analisis Keamanan Protokol 12

4 HASIL DAN PEMBAHASAN 13

Rancangan Protokol Izin Usaha Perdagangan Elektronik 13

Rancangan Protokol Kriptografi 13

A. Pembangkitan Pasangan Kunci (key pair generation) 14

B. Penandatanganan (Signing) 15

C. Abstract Syntax Notation 1 (ASN.1) 17

D. Verifikasi (Verification) 17

Verifikasi Sertifikat Digital 19

Verifikasi Masa Berlaku Dokumen 19

Persiapan Simulasi 20

Pengujian Ukuran QR Code 37

5 SIMPULAN 38

DAFTAR PUSTAKA 39

LAMPIRAN 42

(13)

DAFTAR TABEL

1 Percobaan Penandatanganan Dokumen SIUP 37

2 Pengujian Ukuran QR Code 37

DAFTAR GAMBAR

1 Perbandingan QR Code dan Barcode 6

2 Struktur Hierarki CA Indonesia 8

3 Skema Time Stamp Signature 9

4 Struktur Umum PDF 10

5 Struktur Tanda Tangan Digital pada PDF 10

6 Metode Penelitian 11

7 Rancangan Protokol SIUP Elektronik 13

8 Rancangan Protokol Kriptografi 14

9 Protokol Penandatanganan QR Code (QR Code Signing) 15 10 Protokol Penandatanganan PDF File (PDF Signing) 16 11 Protokol Verifikasi Melalui QR Code (QR Code verification) 18 12 Protokol Verifikasi Melalui File PDF (PDF verification) 18

13 Sertifikat Digital Root CA 21

14 Sertifikat Digital CA 22

15 Sertifikat Digital Kepala PTSP 22

16 Antarmuka Utama 23

17 Simulasi Input Data 23

18 Input Password untuk Private Key 24

19 QR Code Hasil Penandatanganan SIUP 24

20 Simulasi SIUP yang Telah Ditandatangani 27

21 Memilih Image QR Code 28

22 Verifikasi Berdasarkan QR Code 28

23 Menampilkan Dokumen yang Telah Diverifikasi 29

24 Memilih File Dokumen 29

25 Verifikasi Dokumen Melalui File 30

26 Informasi Sertifikat Penandatangan 30

27 Informasi Time Stamp 31

28 Validasi Menggunakan Nitro PDF 32

29 Perubahan Data Pada QR Code 32

30 Analisis Integritas pada QR Code 33

31 Analisis Integritas pada PDF 33

32 Analisis Autentikasi pada QR Code 34

33 Analisis Autentikasi pada PDF 35

34 Analisis Non-repudiasi pada PDF 36

DAFTAR LAMPIRAN

1 Contoh SIUP 42

2 Pengujian Ukuran QR Code 43

(14)
(15)

1

PENDAHULUAN

Latar Belakang

Surat Izin Usaha Perdagangan (SIUP) merupakan surat izin untuk dapat melaksanakan kegiatan usaha dan merupakan salah satu bentuk legalitas yang diberikan pemerintah kepada pelaku usaha di bidang perdagangan. Setiap perorangan atau badan usaha perdagangan kecil, menengah atau besar wajib memiliki SIUP yang dikeluarkan dan ditandatangani oleh pemerintah setempat di mana usaha tersebut dijalankan. SIUP diterbitkan oleh pemerintah daerah melalui pejabat yang bertanggung jawab dalam pelaksanaan Pelayanan Terpadu Satu Pintu (Kemendag 2007).

Legalitas usaha tersebut diberikan dalam bentuk cetak atau hardcopy kepada para pelaku usaha. Dokumen hardcopy cukup mudah untuk dipalsukan baik isi dokumen maupun tanda tangannya. Sebagaimana diketahui, pemalsuan surat izin usaha dapat merugikan pelaku usaha sendiri serta pemerintah selaku pihak yang menerbitkan SIUP. Oleh karena itu, diperlukan sebuah gagasan yang mampu mengatasi permasalahan pemalsuan serta mampu menjamin integritas maupun keabsahan (authentication) dokumen SIUP yang dikeluarkan oleh pemerintah.

Beberapa pendekatan telah dilakukan dari beberapa penelitian terkait proteksi maupun integritas dokumen cetak. Salah satu bentuk keamanan dokumen cetak adalah dengan menampatkan produk tertentu pada kertas misalnya watermark. Pendekatan lain yang telah dilakukan adalah dengan menampatkan zat kimia tertentu agar tanda pada dokumen tidak dapat dihapus maupun dimanipulasi. Pendekatan ini tergolong mahal dan membutuhkan bahan khusus (Eldefrawy et al. 2012).

Pendekatan lainnya untuk memverifikasi dan autentikasi dokumen cetak adalah menggunakan QR Code, yaitu sebuah struktur dua dimensi yang dapat mentransmisikan data dengan cara dipindai (scan). Pada sistem verifikasi dokumen hardcopy, verifikasi dilakukan dengan memindai (scan) dokumen dan membandingkan data di QR Code yang tertempel pada dokumen (Salleh dan Yew 2009). Autentikasi dokumen cetak menggunakan enkripsi kunci publik dan QR Code juga dikemukakan oleh (Eldefrawy et al. 2012), yaitu dengan menyimpan data di dalam QR Code yang terdiri dari hash value dari dokumen, nomor dokumen, timestamp dan tanda tangan. Autentikasi menggunakan QR Code dan digital signature pada dokumen cetak juga dikenalkan oleh (Warasart dan Kuacharoen 2012). Pada skema ini, tanda tangan disisipkan ke dalam QR Code. Proses autentukasi dan verifikas dilakukan dengan membandingkan hasil scan dokumen dengan hasil decoding data di QR Code.

Autentikasi dokumen juga dilakukan berdasarkan pada tanda tangan yang tertera pada dokumen tersebut. Skema yang dikenalkan oleh (Garain dan Halder 2008), proses autentikasi melalui pendekatan artificial intelligent dengan melakukan scanning tanda tangan pada dokumen. Pendekatan autentikasi tanda tangan secara offline dengan artificial intelligent membutuhkan model tanda tangan asli sebagai pembanding, namun tingkat akurasinya masih perlu ditingkatkan (Mushtaq dan Mir 2013).

(16)

(ISO/IEC 18004 2006) oleh Denso Wave Incorporated. QR Code telah digunakan pada aplikasi tracking produk ikan yang dikombinasikan dengan digital signature (Seino et al. 2004). Kemampuan QR Code tidak hanya pada kapasitas data yang mampu ditampung, tetapi juga mampu menyimpan beberapa jenis atau tipe data seperti kontak, alamat web dan beberapa jenis data lainnya (Narayanan 2012). Kemampuan tersebut dapat dimanfaatkan sebagai watermark dokumen (Cho 2013). Aplikasi tracking product juga dikemukakan oleh (Melgar dan Santander 2014). Proses verifikasi dan autentikasi produk dengan cara men-scan QR Code lalu mencocokkan dengan data yang tersimpan server internet. Aplikasi ini bertujuan agar konsumen dapat memverifikasi kebenaran merek, nomor serial dan tanggal produksi.

Proses autentikasi dokumen yang diajukan pada penelitian ini memanfaatkan digital signature. Digital signature yang diterapkan melekat pada dokumen yang ditandatangani, sehingga setiap dokumen diberikan tanda tangan yang unique (Munir 2006). Berdasarkan Peraturan Pemerintah Nomor 82 Tahun 2012 dijelaskan bahwa Tanda Tangan Elektronik adalah tanda tangan yang terdiri atas Informasi Elektronik yang dilekatkan, terasosiasi atau terkait dengan Informasi Elektronik lainnya yang digunakan sebagai alat verifikasi dan autentikasi. Dijelaskan pula bahwa digital signature merupakan kumpulan data string yang menghubungkan pesan dengan entitas asal (Menezes et al. 1996).

Digital signature menggunakan algoritme kriptografi kunci publik. Salah satu algoritme kunci publik yang didesain khusus untuk tanda tangan digital adalah Digital Signature Algorithm (DSA). DSA dikenalkan oleh National Institute of Standards and Technology (NIST) pada tahun 1991. DSA merupakan varian dari skema ElGamal dan merupakan skema digital signature pertama yang dikenali oleh pemerintahan (Menezes et al. 1996).

Keamanan DSA terletak pada faktorisasi bilangan prima dan sulitnya dalam komputasi logaritma diskret. DSA memiliki kompleksitas , yang berarti bahwa DSA merupakan algoritme tanda tangan yang efisien di dalam operasi pembangkitan dan verifikasi tanda tangan (Situmorang 2006). Setiap algoritme tanda tangan digital menggunakan fungsi hash satu arah sebagai integritas data (Ariyus 2008). DSA telah diimplementasikan pada protokol surat kuasa elektronik (Sholihah 2013). Selain itu, DSA juga digunakan pada sistem tanda tangan digital pada naskah dinas (Somad 2013).

Pada digital signature, kunci publik harus diketahui oleh penerima dokumen untuk verifikasi. Namun, distribusi kunci publik sangat rentan dipalsukan oleh orang lain yang menimbulkan ketidakpercayaan penerima pesan. Untuk itu, diperlukan sertifikasi kunci publik oleh pihak ketiga terpercaya (trusted third party) untuk menjamin identias pemilik kunci publik.

(17)

Rumusan Masalah

Bagaimana agar proses penerbitan SIUP dapat dilakukan secara elektronik, aman dan terdokumentasi dengan baik. Selain itu, autentikasi dan verifikasi SIUP tidak hanya melalui file, tetapi juga dapat dilakukan melalui QR Code.

Tujuan Penelitian

Tujuan penelitian ini adalah membangun protokol SIUP elektronik dengan menerapkan Digital Signature Algorithm (DSA) dan QR Code untuk memberikan jaminan keabsahan dokumen dan tanda tangan sebagai legalitas usaha perdagangan.

Manfaat Penelitian

Manfaat penelitian ini adalah:

1. Proses menerbitan SIUP menjadi lebih aman dan lebih cepat 2. Tanda tangan pemberi izin tidak mudah dipalsukan

3. Integritas dan keabsahan surat izin dapat terjamin

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini adalah:

1. Protokol SIUP yang dibuat tidak termasuk cap (stempel)

(18)

2

TINJAUAN PUSTAKA

Kriptografi dan Protokol Kriptografi

Kriptografi merupakan seni (art) dalam merahasiakan sebuah pesan agar tidak diketahui maknanya oleh orang lain yang tidak berhak (Ariyus 2008). Algoritme kriptografi saling berkaitan antara enkripsi dan dekripsi. Hal ini karena algoritme kriptografi merupakan fungsi matematika dan dapat dibuktikan keterkaitannnya. Secara umum, kriptografi terdiri dari algoritme simetris dan algoritme asimetris (kunci publik). Perbedaan antara keduanya terletak pada kunci yang digunakan. Algoritme simetris menggunakan kunci yang sama antara enkripsi dan dekripsi. Sedangkan pada algoritme asimetris, kunci untuk enkripsi adalah kunci private (rahasia) dan untuk dekripsi menggunakan kunci publik (Schneier 1996).

Protokol kriptografi terdiri dari langkah-langkah (urutan) untuk komunikasi antara dua orang atau lebih yang mengadopsi algoritme kriptografi dalam langkah-langkahnya (Schneier 1996). Tujuan umum protokol kriptografi adalah kerahasiaan. Namun, protokol juga dibangun untuk memudahkan komunikasi dalam sebuah kelompok seperti penandatangan surat elektronik, kontrak dan lain sebagainya. Kegagalan protokol (protocol failure) dapat terjadi jika tujuan protokol tersebut tidak tercapai atau gagal (Menezes et al. 1996)

Tanda Tangan Digital

Menezes et al. (1996) mendefinisikan bahwa digital signature merupakan sekumpulan data string yang terasosiasi (terhubung) dengan pesan aslinya. Digital signature dihasilkan oleh algoritme tertentu yang secara umum terdiri dari penandatanganan (sign) dan verifikasi (verify). Definisi lainnya, dijelaskan bahwa tanda tangan digital merupakan kumpulan bit yang bisa melakukan fungsi elektronik yang memakai fungsi hash satu arah (Ariyus 2008). Penggunaan digital signature banyak digunakan pada berbagai bidang. Salah satunya adalah pemanfaatan digital signature di surat kuasa elektronik (Sholihah 2013).

Legalitas penggunaan digital signature di Indonesia diatur dalam Undang-Undang Nomor 11 Tahun 2008 tentang Informasi dan Transaksi Eletronik. Namun implementasin digital signature masih belum maksimal. Di dalam undang-undang tersebut dijelaskan beberapa istilah elektronik serta mekanisme atau aturan traksaksi secara elektronik di Indonesia.

Salah satu algoritme tanda tangan digital dalam Digital Signature Standard (DSS) adalah Digital Signature Algirithm (DSA). Secara umum algoritme DSA terdiri dari tiga bagian yaitu pembangkitan kunci, pembangkitan tanda tangan dan verifikasi. Berdasarkan Federal Information Processing Standar Publication (FIPS PUB) 186-4 tahun 2013, agloritme DSA dapat dijelaskan sebagai berikut:

(19)

ii. Jika , kembali ke langkah 3.i

4. Pilih bilangan secara acak, dimana 5. Hitung

6. Parameter merupakan parameter publik yang harus disebarluaskan. Sedangkan paramater adalah parameter yang rahasia B. Pembangkitan tanda tangan

1. Pilih bilangan secara acak, dimana 2. Hitung

3. Hitung 4. Tanda tangan adalah untuk pesan adalah C. Verifikasi tanda tangan

1. Verifikasi tanda tangan memerlukan pesan , parameter publik 7. Jika v = r, maka tanda tangan terverifikasi

Berdasarkan standar FIPS-PUB 186-4 dijelaskan bahwa panjang parameter (panjang parameter ) dan (panjang paramater ) berpasangan sebagai

Sedangkan HASH() merupakan fungsi hash yang digunakan berdasarkan FPIS 180-4 tentang Secure Hash Standard (SHS). Pada penelitian ini, algoritme DSA yang digunakan adalah panjang L = 2048 bit dan panjang N = 256 bit dengan fungsi hash SHA-256. Fungsi hash SHA-256 merupakan standar SHS yang memproses blok dengan panjang 512 bit dengan output 256 bit hash value.

QR Code

(20)

Gambar 1 Perbandingan QR Code dan Barcode (Narayanan 2012)

Perbandingan QR Code dan Barcode seperti yang digambarkan pada Gambar 1, bahwa data yang tersimpan baik secara horizontal maupun vertikal. Sehingga, QR Code dapat menyimpan informasi lebih banyak daripada barcode. Beberapa kelebihan QR Code diantaranya adalah:

1. QR Code dapat dipindai (scan) dari berbagai arah hingga rotasi 360 derajat. Hal ini karena terdapat titik pada tiga sudut QR Code sebagai penanda posisi.

2. QR Code dapat menyimpan informasi hingga 7.089 angka (200 kali lebih banyak dari barcode 1D)

3. QR Code dapat menyimpan informasi dengan beberapa tipe data dan simbol, seperti karakter alfanumerik, huruf kanji dan tipe data biner

4. QR Code menggunakan error correction level yang digunakan untuk melakukan recovery data hingga 30% kerusakan gambar

Berdasarkan ISO 18004:2006, tahapan utama pembangkitan (encoding) QR Code terdiri dari:

1. Data analysis

Pada tahap ini, data yang akan diproses akan dianalisis jenis karakter (angka, alfanumerik, kanji atau mix-mode). Di tahap ini, data akan dikonveri menjadi binary string, menambahkan informasi error correction level dan menghitung versi terkecil yang mampu menampung data.

2. Data encodating

Data dikonversi menjadi bit berdasarkan hasil analisis. Penambahan mode indicator dan penambahan padding karakter

3. Error correction coding

Pada tahap ini akan ditambahkan error correction codeword yang digunakan untuk mengembalikan (recovery) data jika terjadi kerusakan.

4. Structure final message

Data akan distrukturkan dengan menggabungkan data dan error correction codeword

5. Module placement in matrix

Module codeword akan diletakkan ke dalam matrik yang merepresentasikan data 0 dan 1

6. Data Masking

Pada tahap ini, data masking akan membentuk pola untuk membentuk simbol dan mengevaluasi keseimbangan warna putih dan hitam.

7. Format and version information

(21)

Sedangkan tahapan utama pembacaan (decoding) QR Code berdasarkan ISO 18004:2006 terdiri dari:

1. Recognize black/white modules

Tahap awal proses decoding adalah membaca informasi berdasarkan warna hitam/putih untuk menentukan data 0 dan 1.

2. Decode format information

Mengidentifikasi format yang digunakan, error correction level dan masking pattern

3. Determine version

Membaca informasi versi yang digunakan oleh QR Code yang dipindai (scan) 4. Release masking

Masking yang telah dibaca akan diproses menggunakan operasi XOR. 5. Restore data

Pada tahap ini, karakter akan dibaca bersama dengan error correction codeword

6. Detect error using the error correction

Jika terjadi error, data akan diperbaiki berdasarkan error correction codeword yang telah dibaca.

7. Decode data

Tahap akhir proses decoding adalah membangkitkan kembali data yang diproses berdasarkan mode yang digunakan.

Digital Certificate

Penerapan kriptografi kunci publik membutuhkan pendukung yang dikenal dengan Publik Key Infrastructure (PKI). PKI sendiri merupakan pengaturan yang menjamin penggunaan kunci publik secara aman bagi pihak-pihak yang ingin berkomunikasi. Salah satu komponen PKI adalah digital certificate. Digital certificate dikeluarkan oleh Certification Authority (CA). Di dalam sertifikat, terdapat informasi seperti nama subjek (individu atau perusahaan), kunci publik milik subjek, tanggal kadaluarsa dan beberapa informasi penting lainnya.

Adanya informasi tersebut memungkinkan sertifikat digital mengikat kunci publik dengan identias pemilik kunci. Sertifikat tidak bersifat rahasia dan dapat diverifikasi oleh siapapun. Dengan demikian, kunci publik milik CA harus dikatahui secara luas sebagai jaminan kepemilikan kunci publik yang tertera dalam sertifikat (Munir 2006).

Digital certificate juga telah diatur dalam Undang-Undang ITE (Indonesia 2008). Mekanisme penerbitan digital certificate dan penyelenggara sertifikasi elektronik juga diamanatkan dalam Pertaturan Pemerintah (Indonesia 2012). Sebagai langkah awal dalam implementasi digital certificate di Indonesia, Kementerian Komunikasi dan Informatika telah meluncurkan Root Certification Authority (Root CA) pada Desember 2014. Dimana, CA yang ada di Indonesia harus berada dibawah root CA nasional dan memiliki sertifikat digital yang ditandatangani oleh pemerintah. Dengan hadirnya CA di Indonesia, baik pemerintah maupun swasta dapat memiliki sertifikat digital di bawah pengawasan pemerintah pusat (Mantra 2014).

(22)

Root CA Nasional

Intermediate CA

End user

Gambar 2 Struktur Hierarki CA Indonesia

Berdasarkan Gambar 2, Root CA membawahi beberapa intermediate CA yang berhubungan langsung dengan end user. Sertifikat end user, diterbitkan oleh intermediate CA yang telah disertifikasi oleh root CA nasional.

Digital Signature Algorithm (DSA)

Digital signature terbagi menjadi dua kelas utama yaitu digital signature dengan appendiks dan digital signature dengan message recovery. Pada digital signature dengan appendiks, proses verifikasi signature memerlukan pesan asli. Sedangkan pada skema message recovery, proses verifikasi tidak memerlukan pesan asli karena pesan asli dipulihkan dari tanda tangan itu sendiri. Algoritme tanda tangan yang menggunakan skema appendiks diantaranya adalah DSA dan ElGamal (Menezes et al. 1996).

Kekuatan DSA terletak pada Discrete Logarithm Problem (DLP). Sukarnya mengkalkulasi logaritme diskrit sama dengan sukarnya menguraikan bilangan bulat yang besar. Metode Silver-Pohlig-Hellman hanya efektif pada bilangan prima yang relatif kecil. Tetapi tidak efektif pada bilangan prima yang cukup bisar misalnya 100 digit. Metode Baby Step – Giant Step dan Giant Calculus juga dinyatakan tidak efektif untuk memecahkan DLP (Kromodimoeljo 2009). Parameter kunci DSA yang digunakan pada penelitian ini adalah . Hal ini sesuai dengan standar penggunakan algoritme DSA saat ini (NIST 2013). Secara khusus, parameter yang digunakan adalah L = 2048 bit dan N = 256 bit. Dengan demikian, maka fungsi hash yang harus digunakan adalah fungsi hash yang memiliki output 256 bit, yaitu Secure Hash Algorithm (SHA) 256.

SHA-256 adalah salah satu standar fungsi hash yang digunakan untuk algoritme DSA (NIST 2013) dari beberapa algoritme hash yang terdapat pada standar fungsi hash (NIST 2012). SHA-256 memiliki level keamanan yang lebih baik dari fungsi hash pendahulunya. Hingga saat ini, publikasi terhadap serangan (attack) terhadap SHA-256 telah menemukan collusion pada round 38 dari 64 round milik SHA-256 (Mendel et al. 2013). Dengan demikian, fungsi hash ini masih relevan untuk digunakan saat ini.

Time Stamp Signature

(23)

sebuah permintaan time-stamp (request) dari user menggunakan kunci private milik TSA setelah ditambahkan informasi timestamp. Response dari TSA berisi informasi time stamp dan signature yang dikemas dalam format time-stamp response (Adams et al. 2001). Keunggulan time stamp adalah jika user menandatangan sebuah dokumen, maka dokumen tersebut tetap valid walaupun sertifikat kunci publik milik user sudah tidak berlaku atau revoked.

c9b4bfdcf6

Gambar 3 Skema Time Stamp Signature (Gipp et al. 2015)

Skema validasi menggunakan time stamp signature pada Gambar 3 di atas, dapat dijelaskan sebagai berikut:

1. Pengguna membangkitkan nilai hash dari suatu dokumen dan dikirim ke server TSA terpercaya.

2. Nilai hash dokumen disisipkan informasi-informasi time stamp, kemudian TSA menghitung nilai hash gabung informasi tersebut dan mengenkripsi dengan kunci private milik TSA.

3. Hasil enkripsi tersebut disisipkan time stamp dan dikirimkan kepada penguna 4. Selanjutnya, pengguna menyisipkan time stamp signature tersebut ke

dokumen asal. Sehingga terdapat tiga komponen yang terdiri dari signature, time stamp dan dokumen itu sendiri.

Portable Document Format (PDF)

(24)

Private Key

Gambar 4 Struktur Umum PDF

Standar ini untuk menjamin agar pembaca (reader) pdf dapat membaca isi dokumen serta komponen yang disisipkan seperti tanda tangan, sertifikat digital dan time stamp. Sedangkan struktur tanda tangan digital terdapat pada bagian ByteRange. Yaitu empat angka positif yang menandai posisi sebuah tanda tangan digital pada dokumen PDF (Gambar 5).

% PDF

(25)

3

METODE PENELITIAN

Metodologi pada penelitian ini terdiri dari beberapa tahapan yaitu analisis permasalahan yang merujuk pada studi pustaka, pembuatan protokol SIUP elektronik yang terdiri dari protokol penandaan (sign) dan verifikasi (verify), membuat simulasi dan analisis keamanan protokol yang dibangun. Metode penelitian ini dapat digambarkan sebagai berikut:

Mulai

Perancangan protokol

Analisis Keamanan Protokol

Selesai Analisis permasalahan

Membuat Simulasi Protokol

Gambar 6 Metode Penelitian

Berdasarkan Gambar 6, metodologi pada penelitian ini dapat dijelaskan sebagai berikut:

Analisis Permasalahan

Tahap awal pada penelitian ini adalah melakukan analisis permasalahan yang yang timbul karena penggunaan kertas cetak sebagai bukti legalitas kegiatan usaha. Penggunaan kertas untuk surat izin usaha perdagangan memiliki beberapa kelemahan seperti tanda tangan mudah dipalsukan dan tidak adanya jaminan integritas isi surat tersebut. Oleh karena itu, penggunaan media kertas pada SIUP dapat digantikan dengan surat izin elektronik. Namun demikian, penggunaan media kertas belum bisa digantikan secara masif. Oleh karena itu, diperlukan pendekatan yang mampu menjembatani penggunaan SIUP elektronik dan media kertas, namun tetap menjamin integritas dan autentikasi dokumen tersebut.

(26)

Perancangan Protokol

Perancangan protokol pada penelitian ini terdiri dari protokol izin usaha perdagangan elektronik dan protokol kriptografi yang meliputi protokol penandatanganan (signing) dan protokol verifikasi (verifiy) baik verifikasi QR Code maupun verifikasi file. Protokol kriptografi memiliki ruang lingkup antara kepala PTSP selaku penandatangan dokumen (signatory), pihak ketiga terpercara (TTP: trusted third party) dan pihak yang memverifikasi (verifier). TTP merupakan pihak ketiga yang menjamin keabsahan serifikat digital milik kepala PTSP mapupun time stamp signer. Pihak ketiga dimaksudkan agar verifier dapat memastikan keabsahan tandatangan, memberikan kepercayaan (trust) kepada verifier dan menjamin agar pihak lain tidak mudah untuk memalsukan tandatangan serta dokumen yang diterbitkan.

Membuat Simulasi Protokol

Pada penelitian ini dibuat sebuah simulasi berdasarkan rancangan protokol SIUP elektronik dengan membangun perangkat lunak yang mengimplementasikan algoritma DSA dan pustaka (library) pendukung menggunakan bahasa pemrograman Java berbasis desktop dengan spesifikasi sebagai berikut:

1. Input data

Simulasi input data siup yang terdiri dari field-field SIUP seperti nama perusahaan, nama pemilik, tanggal terbit hingga penandatangan dokumen 2. Penandatanganan (signing)

Data yang telah diinputkan ditandatangani menggunakan DSA private key. Selanjutnya dibangkitkan QR Code dan file dokumen berdasarkan input data, tanda tangan, sertifkat digital dan time stamp.

3. Verifikasi

Proses verifikasi dapat dilakukan baik melalui QR Code maupun file dengan memverifikasi dokumen, tanda tangan digital, sertifikat digital.

Analisis Keamanan Protokol

Pada tahapan ini, dilakukan analisis keamanan protokol SIUP elektronik yang digunakan oleh pemerintah serta menganalisis keamanan informasi yang meliputi algoritme tanda tangan, QR Code dan sertifikat digital. Pada praktiknya, SIUP elektronik dipandang layak jika memenuhi aspek-aspek kriptografi sebagai berikut:

1. Autentikasi

Memastikan bahwa surat izin usaha elektronik ditandatangai oleh orang yang benar (sah)

2. Integritas Data

Surat izin usaha elektronik yang telah diserahkan kepada pemohon, dapat dipastikan bahwa surat izin masih asli dan tidak ada perubahan

3. Non-repudiation

(27)

4

HASIL DAN PEMBAHASAN

Rancangan Protokol Izin Usaha Perdagangan Elektronik

Rancangan protokol izin usaha perdagangan secara elektronik dapat dijelaskan pada gambar berikut:

Gambar 7 Rancangan Protokol SIUP Elektronik

Pada Gambar 7 dapat dijelaskan bahwa (1) pemohon memasukkan (input) data yang terdiri dari nama perusahaan, nama penanggung jawab dan jabatannya, alamat perusahaan, nomor telepon, fax dan modal (dalam rupiah). Sedangkan jenis kelembagaan dan kode Klasifikasi Baku Lapangan Usaha Indonesia (KBLI) akan dilengkapi oleh petugas PTSP pada saat pemrosesan permohonan untuk menghindari kesalahan input. Pemohon juga diminta untuk mengunggah (upload) beberapa dokumen persyaratan seperti KTP, Nomor Pokok Wajib Pajak (NPWP) dan beberapa dokumen lainnya berdasarkan Permendagri No. 36 Tahun 2007.

Selanjutnya, (2) petugas PTSP akan memverifikasi berkas dan kelangkapan permohonan termasuk melakukan peninjauan lapangan (jika ada). Jika permohonan dinyatakan diterima, maka dokumen dapat ditandatangani dan (3) diproses pada protokol kriptografi. Pemohon juga melihat informasi dokumen yang diajukan apakah diterima atau ditolak. Jika dokumen telah ditandatangani oleh kepala PTSP, dokumen akan dikirim kepada pemohon berupa file PDF.

Rancangan Protokol Kriptografi

(28)

Signatory Certification

Gambar 8 Rancangan Protokol Kriptografi

Berdasarkan Gambar 8, protokol kriptografi yang dibangun terdiri dari protokol penandatanganan (siging) yaitu (3.1) penandatanganan QR Code (QR Code signing) dan (3.2) penandatanganan file PDF (PDF signing) serta protokol verifikasi (verification) yaitu (3.3) verifikasi melalui QR Code (QR Code verification) dan (3.4) verifikasi pdf file (PDF verification). Pada protokol ini, penandatangan terlebih dahulu membangkitkan pasangan kunci serta permohonan sertifikat digital kepada CA.

A. Pembangkitan Pasangan Kunci (key pair generation)

1. Penandatangan membangkitkan pasangan kunci publik dan private secara acak dengan parameter L = 2048 bit dan N = 256 bit.

(29)

maka harus disertifikasi oleh Certification Authority (CA). Parameter private disimpan oleh A untuk menandatangani dokumen.

3. Penandatangan mengajukan Certification Signing Request (CSR) sebagai permintaan digital certificate kepada CA. Proses pembangkitan kunci dan pengajuan CSR tidak dilakukan setiap kali mendatangani dokumen.

B. Penandatanganan (Signing)

Penandatanganan (signing) merupakan protokol yang dijalankan pada proses penandatanganan SIUP. Proses ini dibagi menjadi dua tahap yang

Gambar 9 Protokol Penandatanganan QR Code (QR Code Signing)

Berikut adalah tahapan pada QR Code signing (proses 3.1) berdasarkan Gambar 9:

1. Penandatangan memproses pesan M yang terdiri dari field-field penting dari SIUP, seperti nama pemilik, nama perusahaan, tanggal terbit dan lain sebagainya. Field tersebut dibentuk format ASN.1 untuk mepermudah penyusunan field-field dokumen dan mempermudah menampilkan data setelah proses verifikasi.

2. Hitung hash value dari pesan M, . Langkah ini bertujuan untuk memastikan integritas pesan M dapat terjamin (3.1.1). Fungsi hash yang digunakan adalah Secure Hash Algoritm (SHA-256).

3. Penanadatangan mengenkripsi h dengan kunci private (3.1.2). Hal ini bertujuan untuk menjamin kerahasiaan pesan dan mencapai tujuan non-repudiation. Kunci private adalah milik kepala PTSP dan tidak diketahui pihak lain.

Dimana E adalah fungsi enkripsi dan S adalah signature.

4. Data D terdiri informasi (M), tanda tangan (S) dan certificate hash (Cert):

Data yang disimpan ke dalam QR Code terdiri:

(30)

disampakan kepada verifier sebagai perbandingan dengan data yang tertera pada dokumen cetak

b. Tanda tangan (S). S digunakan untuk verifikasi. Nilai hash hasil dekripsi S akan dibandingkan dengan nilai hash dari informasi dokumen M

c. Certificate Hash (Cert) merupakan hash value dari sertifikat milik penandatangan dibangkitkan dengan algoritme SHA-1 (3.1.4). Penggunaan fungsi hash ini bertujuan untuk meminimalkan jumlah data yang disimpan ke dalam QR Code karena SHA-1 membangkitkan 160 bit hash value dan masih relevan (aman) untuk digunakan.

5. Penandatangan membangkitkan QR Code berdasarkan data membangkitkan file pdf yang berisi pesan M (3.1.5).

(3.2.1)

Gambar 10 Protokol Penandatanganan PDF File (PDF Signing)

Pada Gambar 10 dijelaskan bahwa penandatanganan pdf (proses 3.2) oleh kepala PTSP dilakukan setelah penandatanganan pada QR Code selesai dilakukan. Langkah ini diawali dengan menambahkan QR Code sebagai visual signature dokumen SIUP berdasarkan standar penandatanganan dokumen pdf. Berikut adalah langkah-langkah yang dilakukan:

1. Signatory menyisipkan image QR Code ke dokumen pdf (3.2.1)

2. Signatory menambahkan informasi penandatanganan dokumen. Informasi-informasi tersebut terdiri dari Informasi-informasi algoritme yang digunakan, penambahan sertifikat digital ke file pdf hingga sertifikat root CA (3.2.2) 3. Signatory membangkitkan nilai hash dokumen menggunakan SHA-256 dan

mengenkripsi hash tersebut menggunakan private key (3.2.3).

4. Signatory mengirimkan time stamp request (TSQ) kepada time stamp atrhority (TSA) dengan menyertakan informasi nilai hash dari dokumen. Algoritme yang digunakan untuk membangkitkan hash TSQ adalah SHA-1. Selanjutnya time stamp reply (TSR) diproses sebagai time stamp signature oleh signatory dan disisipkan pada dokumen untuk digunakan pada proses verifikasi (3.2.4).

(31)

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)

(32)

(3.3.1)

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

Gambar 12 Protokol Verifikasi Melalui File PDF (PDF verification)

(33)

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

(34)

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.

(35)

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

(36)

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

(37)

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.

(38)

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)

(39)

UTF8String(Pengecer)

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.

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.

(40)

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

(41)

Gambar 20 Simulasi SIUP yang Telah Ditandatangani

(42)

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.

(43)

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

(44)

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.

(45)

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).

(46)

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

(47)

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

(48)

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 tanda tangan digital harus menjamin integritas dokumen yang ditandatangani. Algoritme DSA yang digunakan pada penelitian ini menjamin integritas suatu dokumen menggunakan Secure Hash Algorithm (SHA) 256. Pada penerapannya, dokumen SIUP harus tetap valid selama lima tahun. Sehingga, penerapan time stamp signature memberikan jaminan integritas yang lebih baik.

Pada pengujian di atas menggambarkan bahwa jaminan integritas dokumen juga terletak pada penerapan sertifikat digital yang berjenjang. Dimana, verifier dapat memverifikasi dokumen menggunakan sertifikat digital dari kepala PTSP, intermediate CA dan root CA. Pada QR Code terdapat nilah hash sertifikat kepala PTSP, hal ini juga menjamin integritas sertifikat digital. Dengan jaminan-jaminan integritas tersebut, maka dokumen dapat terjamin keasliannya dan belum ada perubahan apapaun.

Autentikasi

Pada penelitian ini juga dilakukan analisis autentikasi yaitu bahwa dokumen hanya bisa diverifikasi menggunakan kunci publik (sertifikat) milik kepala PTSP. Analisis autentikasi pada QR Code, dilakukan pengujian dengan mengganti nilai hash sertifikat digital pada format ASN.1 setelah ditandatangani menggunakan kunci private yang tidak valid. Sehingga, nilai hash sertifikat digital setelah diganti adalah:

a00bd442ee46b53a8a7b0dea10f1a463b9d60c5e

Sedangkan nilai hash sertifikat digital yang benar adalah:

c39bb215b6ecc6acc55966e450acd8b79e2e1f3c

Pada analisis ini, juga dilakukan penandatanganan QR Code menggunakan kunci private lain yang dibangkitkan tanpa disertifikaasi oleh CA terpercaya. Kunci DSA yang dibangkitkan menggunakan paramete yang sama yaitu p = 2048 bit dan q = 256 bit. Hasil verifikasi berdasarkan pengujian di atas menyatakan bahwa tandatangan dinyatakan tidak valid dan nilai hash sertifikat digital juga tidak valid. Hal ini dapat menjadi jaminan kepada verifier bahwa protokol dapat mengidentifikasi perubahan dokumen dan perubahan nilai hash sertifikat yang diganti dengan sertifikat yang tidak valid sepertinya pada Gambar 32 (a).

Gambar 32 Analisis Autentikasi pada QR Code

(49)

Jika sertifikat digital milik kepala PTSP juga diganti dengan sertifikat lain yang tidak valid, maka protokol dapat mengidentifikasi bahwa sertifikat dinyatakan tidak valid hierarki sertifikat digital (chain of trust) juga dinyatakan tidak valid seperti yang digambarkan pada Gambar 32 (b).

Analisis autentikasi pada file PDF dilakukan dengan memverifikasi dokumen berdasarkan perubahan dokumen PDF di atas. Berikut adalah hasil verifikasi dokumen PDF yang telah dimodifikasi:

Gambar 33 Analisis Autentikasi pada PDF

Gambar 33 menjelaskan bahwa dokumen yang diverifikasi dinyatakan tidak autentik (tidak valid) karena dokumen telah mengalami perubahan. Hal tersebut dapat ditunjukkan pada perbandingan nilai hash seperti di atas. Hal serupa akan terjadi jika sertifikat penandatangan dokumen dinyatakan tidak valid. Protokol verifikasi mengidentifikasi bahwa dokumen telah ditandatangani oleh pihak yang tidak terpercaya, sehingga dokumen dinyatakan tidak valid. Begitu juga dengan analisis autentikasi pada TSA. Jika time stamp dinyatakan tidak valid, maka protokol dapat mengidentifikasi bahwa time stamp ditandatangani oleh pihak yang tidak terpercaya atau time stamp tidak sesuai dengan dokumen yang ditandatangani oleh PTSP.

Jaminan autentikasi seperti pengujian di atas dapat memberikan kepastian bahwa dokumen ditandatangani oleh orang yang benar yaitu kepala PTSP. Jaminan tersebut diterapkan pada algoritme tanda tangan digital (DSA). Algoritme DSA menggunakan skema kunci publik, dimana pemilik kunci private hanya memiliki satu pasangan kunci publik. Secara matematis, keamanan algoritme DSA bertumpu pada pemasalahan NP-complete yaitu discrete logarithm problem (DLP). Untuk memecahkan pasangan kunci private dan kunci publik dinyatakan sangat tidak efisien. Dengan demikian, selama kunci private tidak diketahui oleh orang lain, maka dokumen tetap autentik.

(50)

dokumen yang ditandatangani oleh kepala PTSP adalah autentik dan dapat dipertanggung jawabkan yaitu dengan memverifikasi tanda tangan pada dokumen dan sertifikat digital.

Non-repudiasi

Pada analisis non-repudiasi, pengujian dilakukan dengan menadatangani dokumen menggunakan kunci private yang tidak valid serta verifikasi menggunakan kunci publik yang tidak disertifikasi. Hasil verifikasi tersebut adalah:

Gambar 34 Analisis Non-repudiasi pada PDF

Berdasarkan Gambar 34, tergambar bahwa dokumen yang tidak valid dan diverifikasi menggunakan sertifikat yang tidak disertifikasi, maka protokol dapat mengidentifikasi bahwa dokumen dinyatakan tidak valid sehingga dapat menjami bahwa dokumen tidak ditandatangani oleh kepala PTSP. Pada analisis autentikasi di atas, tergambar bahwa dokumen hanya dapat diverifikasi menggunakan kunci publik yang autentik. Yaitu dokumen dinyatakan tidak valid jika telah terjadi perubahan baik pada isi QR Code maupun pada file PDF. Analisis autentikasi di atas juga menjelaskan bahwa jika dokumen telah ditandatangani, maka dokumen hanya dapat diverifikasi menggunakan kunci publik yang benar. Hal ini merupakan jaminan non-repudiasi yaitu jaminan nir-penyangkalan kepada kepala PTSP. Jika sebuah dokumen telah diverifikasi menggunakan kunci publik yang benar milik kepala PTSP dan telah disertifikasi serta hasil verifikasi menyatakan bahwa dokumen valid, maka kepala PTSP tidak dapat menyangkal telah menandatangani dokuemn tersebut.

Gambar

Gambar 2 Struktur Hierarki CA Indonesia
Gambar 3 Skema Time Stamp Signature (Gipp et al. 2015)
Gambar 4 Struktur Umum PDF
Gambar 6 Metode Penelitian
+7

Referensi

Dokumen terkait

membawa serta dokumen asli beserta rekamannya 1 (satu) rangkap sesuai dengan persyaratan dokumen yang di upload/di unggah dalam isian kualifikasi pada aplikasi SPSE.

4 Bajing Terbang Petaurista elegants 32 Elang Coklat Accipiter fasciatus 61 Raja Udang biru jawa Halchyon cyanoventris. 5 Landak Hystrix brachyura 33 Elang Tikus

Jaya Mahar Maligan,

Ph.D selaku dosen pembimbing yang telah banyak memberikan bimbingan, arahan, ilmu dan waktu kepada penulis selama penulis melakukan penelitian hingga penulisan skripsi ini

O1: Tes awal (pretest) dilakukan untuk mengetahui keterampilan awal siswa membaca teks bahasa Jerman sebelum dilakukan perlakuan dengan menggunakan model

[r]

Oats, carrots, fruits, and beans are especially high in the kind of fiber that helps to lower cholesterol levels in the blood. If you are interested in more specific guidelines for

- Pengenalan Jendela Kerja PAda Visual Basic (menu bar, tool bar, form, properties, toolbox, project explorer) - Pengenalan object-object yang. terdapat di Visual Basic termasuk