DIGITAL SIGNATURE

DIGITAL SIGNATURE
Digital signature merupakan sistem keamanan kriptografi simetris (symetric crypthography/secret key crypthography) atau public key cryptography system yang dikenal sebagai kriptografi simetris, menggunakan kunci yang sama dalam melakukan enkripsi dan dekripsi terhadap suatu pesan (message), disini pengirim dan penerima menggunakan kunci yang sama sehingga mereka harus menjaga kerahasian (secret) terhadap kuci tersebut. Salah satu algoritma yang terkenal dalam kriptografi simetris ini adalah Data Encryption Stkitard (DES) yang bertujuan untuk memastikan otentisitas dari dokumen tersebut. Suatu digital signature sebenarnya bukan tanda tangan biasa, tapi tanda tangan dengan menggunakan cara yang berbeda untuk menandai suatu dokumen sehingga dokumen atau data tidak mengidentifikasi dari pengirim, namun juga memastikankeutuhan dari dokumen tersebut tidak berubah selama proses transmisi, digital signature didasarkan dari isi dari pesan itu sendiri.
Kriptografi simetris menggunakan dua kunci yaitu satu kunci untuk melakukan enkripsi terhadap suatu pesan (messages) dan kunci yang lain digunakan untuk melakukan dekripsi terhadap pesan tersebut. Antara kedua kunci tersebutberhubungan secara matematis sehingga suatu pesan yang dienkripsi dengan suatu kunci hanya dapat didekripsi dengan kunci pasangannya.
Pada digital signature suatu data/pesan akan dienkripsi dengan kunci simetris yang diciptakan secara acak (randomly generated symmetric key) yang kemudian akan dienkripsi dengan menggunakan kunci publik dari penerima. Hasil dari enkripsi ini kemudian dikenal/disebut sebagai “digital envelope” yang akan dikirimkan bersama pesan/data yang telah dienkripsi.
Tanda tangan kita secara digital adalah memberikan suatu ciri khas terhadap suatu pesan. Message digest adalah suatu besaran (value) yang berasal dari suatu data/pesan yang memiliki sifat yang unik yang menkitai bahwa pesan tersebut mempunyai suatu besaran tertentu yang diciptakan dengan melakukan enkripsi terhadap suatu data dengan menggunakan kriptografi satu arah (one way crypthography), yaitu suatu tehnik kriptografi yang terhadapnya tidak dapat dilakukan proses pembalikan (reversed). Pada saat message digests dienkripsi dengan menggunakan kunci privat dari pengirim dan “ditambahkan” kepada data/pesan yang asli maka hasil yang didapat adalah digital signature dari pesan tersebut.
a. Authenticity (Ensured)
Dengan memberikan digital signature pada data elektronik yang dikirimkan maka akan dapat ditunjukkan darimana data elektronis tersebut sesungguhnya berasal. Integritas pesan tersebut akan terjamin karena keberadaan dari Digital Certificate yang diperoleh atas dasar aplikasi kepada Cerfication Authority oleh user/subscriber. digital certificate berisi informasi mengenai pengguna yaitu identitas, kewenangan, kedudukan hokum serta status dari user. Digital certificate ini memiliki berbagai tingkatan/level yang menentukan berapa besar kewenangan yang dimiliki oleh pengguna.
b. Integrity
Integritas/integrity yaitu jika seorang penerima pesan/data merasa yakin bahwa pesan/data tersebut pernah dimodifikasi atau diubah selama proses pengiriman atau penyimpanan. Penggunaan digital signature yang diaplikasikan pada pesan/data elektronik yang dikirimkan dapat menjamin bahwa pesan/data elektronik tersebut tidak mengalami suatu perubahan atau modifikasi oleh pihak yang tidak berwenang. Jaminan authenticity ini dapat dilihat dari adanya hash function dalam sistem digital signature dimana penerima data (recipient) dapat melakukan pembandingan hash value. Apabila hash value-nya sama dan sesuai, maka data tersebut benar-benar otentik, tidak pernah terjadi suatu tindakan yang sifatnya merubah (modify) dari data tersebut pada saat proses pengiriman, sehingga terjamin authenticity-nya. Sebaliknya apabila hash value-nya berbeda, maka patut dicurigai dan langsung dapat disimpulkan bahwa recipient menerima data yang telah dimodifikasi.
c. Non-Repudiation (Tidak dapat disangkal keberadaannya)
Non repudiation timbul dari keberadaan digital signature yang menggunakan enkripsi asimetris (asymmetric encryption) yang melibatkan keberadaan dari kunci prifat dan kunci public. Pengirim pesan tidak dapat menyangkal bahwa ia telah mengirimkan suatu pesan apabila ia sudah mengirimkan suatu pesan. Non repudiation adalah hal yang sangat penting bagi e-commerce apabila suatu transaksi dilakukan melalui suatu jaringan internet, kontrak elektronik (electronic contracts), ataupun transaksi pembayaran. Pesan yang telah dienkripsi dengan menggunakan kunci prifat maka ia hanya dapat dibuka/dekripsi dengan menggunakan kunci publik dari pengirim.
d. Confidentiality
Pesan dalam bentuk data elektronik yang dikirimkan bersifat rahasia/confidential, sehingga tidak semua orang dapat mengetahui isi data elektronik yang telah di-sign dan dimasukkan dalam digital envelope. Keberadaan digital envelope yang termasuk bagian yang integral dari digital signature menyebabkan suatu pesan yang telah dienkripsi hanya dapat dibuka oleh orang yang berhak. Tingkat kerahasiaan dari suatu pesan yang telah dienkripsi ini, tergantung dari panjang kunci/key yang dipakai untuk melakukan enkripsi. Pada saat ini stkitar panjang kunci yang digunakan adalah sebesar 128 bit. Pengamanan data dalam e-commerce dengan metode kriptografi melalui skema digital signature tersebut secara teknis sudah dapat diterima dan diterapkan, namun apabila kita bahas dari sudut pandang ilmu hukum ternyata masih kurang mendapatkan perhatian. Kurangnya perhatian dari ilmu hukum dapat dimengerti karena, khususnya di Indonesia, penggunaan komputer sebagai alat komunikasi melalui jaringan internet baru dikenal semenjak tahun 1994. Dengan demikian pengamanan jaringan internet dengan metode digital signature di Indonesia tentu masih merupakan hal yang baru bagi kalangan pengguna komputer.
http://jsignpdf.sourceforge.net/ Contoh software digital signature adalah JsignPdfJSignPdf adalah aplikasi Java yang menambahkan tanda tangan digital untuk dokumen PDF. Hal ini dapat digunakan sebagai aplikasi standalone atau sebagai Add-On pada OpenOffice.org. JSignPdf adalah perangkat lunak open source dan dapat digunakan secara bebas baik di sektor swasta dan bisnis.
Fitur utama adalah,
* Beberapa keystore jenis yang berbeda (seperti yang disediakan oleh Java)
* Menambahkan tanda tangan digital untuk PDF
* Menetapkan tingkat sertifikasi
* PDF enkripsi dan pengaturan hak
* Menambahkan ikon tanda tangan ke PDF (terlihat tanda tangan)
* Komprehensif swing GUI
* Dukungan untuk pemrosesan batch (dikontrol oleh argumen baris perintah, tanpa GUI)
Author
Penulis JSignPdf adalah pengembang berkebangsaan Ceko, Josef Cacek. Dia bekerja di Java dari tahun 2000. Dia adalah anggota komunitas pengembang OpenOffice.org dan ia membuat rilisan pertama Windows OpenOffice.org dalam bahasa Ceko.
2. Digital Signature Algorithm (DSA)
Source : ewinarko.staff.ugm.ac.id/kripto/DSA.pdf
 Pada bulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan algoritma sidik dijital yang disebut Digital Signature Algorithm (DSA). DSA dijadikan sebagai bakuan (standard) dari Digital Signature Standard (DSS).
 DSS adalah standard, sedangkan DSA adalah algoritma. Standard tersebut menggunakan algoritma ini, sedangkan algoritma adalah bagian dari standard (selain DSA, DSS menggunakan Secure Hash Algorithm atau SHA sebagai fungsi hash)
 DSA termasuk ke dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama:
1. Pembentukan sidik dijital (signature generation), dan
2. Pemeriksaan keabsahan sidik dijital (signature verivication).
 Sebagaimana halnya pada algoritma kriptografi kunci-publik, DSA menggunakan dua buah kunci, yaitu kunci publik dan kunci rahasia. Pembentukan sidik digital menggunakan kunci rahasia pengirim, sedangkan verifikasi sidik digital menggunakan kunci publik pengirim.
 DSA menggunakan fungsi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadi message digest yang berukuran 160 bit (SHA akan dijelaskan pada kuliah selanjutnya).

a. Parameter DSA
 DSA dikembangkan dari algoritma Elgamal. DSA menggunakan beberapa parameter sebagai berikut:

1. p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini 512  L  1024 dan L harus kelipatan 64. Parameter p bersifat publik dan dapat digunakan bersama-sama oleh orang di dalam kelompok.
2. q, bilangan prima 160 bit, merupakan faktor dari p –1.Dengan kata lain, (p – 1) mod q=0. Parameter q berisfat publik.

3. g = h(p – 1)/q mod p, yang dalam hal ini h

1. Parameter g bersifat publik.
4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci rahasia.
5. y = gxmod p, adalah kunci publik.
6. m, pesan yang akan diberi sidik dijital.
b. Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h

1.
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.
4. Hitung kunci publik y = gxmod p.
c. Pembentukan Sidik Dijital (Signing)
1. Ubah pesan m menjadi message digest dengan fungsi hash SHA, H.
2. Tentukan bilangan acak k < q.
3. Sidik dijital dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai berikut
r = (kmod p) mod q
s = (k– 1 (H(m) + x * r)) mod q
4. Kirim pesan m dan sidik dijital r dan s.
d. Verifikasi Keabsahan Sidik Dijital (Verifying)
1. Hitungw = s– 1mod qu1= (H(m) * w) mod qu
2= (r * w) mod qv = ((gu1* yu2) mod p) mod q)
2. Jika v = r, maka sidik dijital sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.
e. Contoh Perhitungan DSA
a. Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.p = 59419q = 3301 (memenuhi 3301 * 18 = 59419 – 1)
2. Hitung g = h(p – 1)/qmod p, yang dalam hal ini 1 < h

1.g = 18870 (dengan h = 100)
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.x = 3223
4. Hitung kunci publik y = gxmod p.y = 29245
b. Pembentukan Sidik Dijital (Signing)
1. Hitung nilai hash dari pesan, misalkan H(m) = 4321
2. Tentukan bilangan acak k < q.k = 997k– 1= 2907 (mod 3301)
3. Hitung r dan s sebagai berikut:r = (gkmod p) mod q = 848s = (k– 1 (H(m) + x * r)) mod q= 7957694475 mod 3301 = 183
4. Kirim pesan m dan sidik dijital r dan s.
c. Verifikasi Keabsahan Sidik Dijital
s– 1 = 469 (mod 3301)
w = s– 1 mod q = 469
u1= (H(m) * w) mod q 2026549 mod 3301 = 3036
u2= (r * w) mod q = 397712 mod 3301 = 1592
v = ((gu1* yu2) mod p) mod q) = 848 mod 3301 = 848
2. Karena v = r, maka sidik digital sah.
f. Implementasi DSA
• Adanya batasan bahwa nilai p mempunyai panjang 512 sampai 1024 bit dan q 160-bit, menyebabkan DSA hampir tidak mungkin diimplementasikan dalam perangkat lunak. Panjang bit yang besar ini dimaksudkan agar upaya untuk memecahkan parameter yang lain sangat sulit dilakukan.
.

Tinggalkan komentar