06.21
0
Assalamualaikum..

Apakah kalian tahu Digital signature itu?



Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan. Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian, Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity. Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya. Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.


Tanda tangan digital bukanlah seperti bayangan orang awan yang (mungkin) berpikiran bahwa tanda tangan digital adalah tanda tangan asli seseorang yang di scan dan ditampilkan di dalam dokumen yang kita upload atau kita kirimkan kepada seseorang melalui internet atau pengiriman file dengan menggunakan media penyimpanan digital (disk storge). Tanda tangan digital muncul akibat keresahan orang ketika akan mengirimkan dokumen yang penting… muncul pikiran apakah file yang dikirimkan tersebut tidak mengalami perubahan ketika dikirimkan dan isinya sangat berbeda sekali ketika diterima oleh penerima dokumen, tapi apabila si pengirim mencantumkan tanda tangan digital pada dokumen itu, si penerima dapat meyakini bahwa setelah ditandatangani pengirim, dokumen itu tidak ada yang memanipulasi pada saat menjalani proses pengiriman.
Beberapa konvensi yang ada pada tanda tangan digital :

1. bersifat otentik, pesan yang terdapat tanda tangan digital juga dapat menjadi barang bukti, sehingga pihak yang melakukan pengesahan (yang menandatangani) tak dapat menyangkal bahwa dulu ia tidak pernah menandatanganinya.
2. bersifat ekslusif, hanya sah untuk dokumen (pesan) itu saja atau kopiannya yang sama persis. Tanda tangan itu tidak dapat dipindahkan ke dokumen lainnya. Ini juga berarti bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan tersebut tidak lagi sah.
3. bersifat global verification, pemeriksaan dapat dilakukan dengan mudah, bahkan oleh orang-orang yang tidak berhubungan atau belum pernah bertemu dengan pihak yang melakukan pengesahan (yang menandatangani) sekalipun.

Konsep tanda tangan digital :

Tanda tangan digital memanfaatkan teknologi kunci publik (public key).Sepasang kunci publik-privat dibuat unik dan tidak ada pasangannya. Kunci privat disimpan oleh pemiliknya, dan dipergunakan untuk membuat tanda tangan digital. Sedangkan kunci publik dapat diserahkan kepada siapa saja yang ingin memeriksa tanda tangan digital yang bersangkutan pada suatu dokumen. Proses pembuatan dan pemeriksaan tanda tangan ini melibatkan sejumlah teknik kriptografi seperti one-way hashing dan enkripsi asimetris.

Contoh penggunaan tanda tangan digital lewat pengiriman e-mail:


  1. menggunakan proses hashing algorithm untuk mengambil intisari dari isi e-mail yang akan dikirim, memprosesnya dengan menggunakan algoritma one-way hash dan menghasilkan hashed data. Kemudian hashed data tersebut di enkripsi menggunakan private key dan menghasilkan apa yang disebut dengan Digital Signature (tanda tangan digital). Di dalam Digital Signature tersebut juga disertakan informasi mengenai metode hashing algorithm yang digunakan.
  1. Digital Signature tersebut dikirimkan bersama isi e-mail.
  1. Ketika file atau dokumen telah sampai pada si penerima, dilakukan proses hashing algorithm pada isi e-mail tersebut. Proses one-way hash persis seperti yang dilakukan saat pengiriman, karena algoritmanya turut dibawa dalam Digital Signature. Dari proses tersebut menghasilkan hashed-data sekunder.
  1. Digital Signature yang diterima tadi langsung didekripsi oleh public key. Hasil dekripsi tersebut tentunya akan memunculkan hashed data yang serupa seperti hashed data sebelum dienkripsi oleh pengirim e-mail. Hashed data disebut hashed data primer.
  1. Terakhir yang dilakukan adalah membandingkan hashed data primer dengan hashed data sekunder. Jika saja saat diperjalanan ada hacker yang mengubah atau menyadap isi e-mail, paka hashed data sekunder akan berbeda dengan hashed data primer. Apabila hal tersebut terjadi maka digital signature akan memberikan peringatan kepada si penerima bahwa telah terjadi sesuatu pada file atau dokumen yang dikirimkan tersebut.
  1. Paidun hendak mengirimkan kunci publiknya (PKP) untuk diserahkan Samin.
  1. Pada saat kunci itu dikirim lewat jaringan publik, Maling mencuri kunci PKP.
  1. Kemudian Maling menyerahkan kunci publiknya (PKM) kepada Samin, sambil mengatakan bahwa kunci itu adalah kunci publik milik Paidun.
  1. Oleh Samin, karena tidak pernah memegang kunci publik Paidun yang asli, percaya saja saat menerima PKM.
  1. Saat Paidun hendak mengirim dokumen yang telah ditandatanganinya dengan kunci privatnya (PRKP) kepada Samin, sekali lagi Maling mencurinya.
  1. Tanda tangan Paidun pada dokumen itu lalu dihapus, dan kemudian Maling membubuhkan tanda tangannya dengan kunci privatnya (PRKM).
  1. Maling mengirim dokumen itu ke Samin sambil mengatakan bahwa dokumen ini berasal dari Paidun dan ditandatangani oleh Paidun.
  1. Samin kemudian memeriksa tanda tangan itu, dan mendapatkan bahwa tanda tangan itu sah dari Paidun.
  1. Terakhir Samin tidak menyadari kesalahannya dan mengira tanda tangan itu asli, kenapa? karena Samin memeriksanya dengan kunci publik PKM, bukan dengan PKP.
  1. Pada bulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan algoritma sidik digital yang disebut Digital Signature Algorithm (DSA). DSA dijadikan sebagai bakuan (standard) dari Digital Signature Standard (DSS).
  1. 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)
  1. DSA termasuk ke dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama:
  1. Pembentukan sidik digital (signature generation), dan
  1. Pemeriksaan keabsahan sidik digital (signature verivication).
  1. 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.
  1. DSA menggunakan fungsi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadimessage digest yang berukuran 160 bit (SHA akan dijelaskan pada kuliah selanjutnya).
Parameter DSA
Pembentukan Sepasang Kunci

  1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
  1. Hitung kunci publik y = gx mod p.
  1. Ubah pesan m menjadi message digest dengan fungsi hash SHA, H.
  1. Kirim pesan m dan sidik digital r dan s.
Verifikasi Keabsahan Sidik Digital (Verifying)
Contoh Perhitungan DSA

  1. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan h(p – 1)/q mod p > 1.
  1. Tentukan kunci rahasia x, yang dalam hal ini x < q.
  1. Hitung nilai hash dari pesan, misalkan H(m) = 4321
  1. Tentukan bilangan acak k < q.
  1. Hitung r dan s sebagai berikut:
  1. Kirim pesan m dan sidik digital r dan s.
Verifikasi Keabsahan Sidik Digital
  1. Hitung
  1. Karena v = r, maka sidik digital sah.






Kelemahan tanda tangan digital :

Contoh kasus Paidun dan Samin…


Algoritma yang digunakan dalam tanda tangan digital (merujuk pada situs yang ditulis oleh IF5054 Kriptografi/Digital Signature Algorithm/Rinaldi Munir/IF-ITB )
Beberapa fakta tentang algoritma tanda tangan digital :


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 ££ 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 < p – 1 sedemikian sehingga h(p – 1)/q mod p > 1. Parameter g bersifat publik.
4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci rahasia.
5. y = gx mod p, adalah kunci publik.
6. m, pesan yang akan diberi sidik digital.



2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan h(p – 1)/q mod p > 1.
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.

Pembentukan Sidik Digital (Signing)

2. Tentukan bilangan acak k < q.
3. Sidik digital dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai berikut:
r = (gk mod p) mod q
s = (k– 1 (H(m) + x * r)) mod q



1. Hitung

w = s– 1 mod q
u1 = (H(m) * w) mod q
u2 = (r * w) mod q
v = ((gu1 * yu2) mod p) mod q)
2. Jika v = r, maka sidik digital sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.
a. Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
p = 59419
q = 3301 (memenuhi 3301 * 18 = 59419 – 1)
g = 18870 (dengan h = 100)
x = 3223
4. Hitung kunci publik y = gx mod p.

y = 29245

b. Pembentukan Sidik Digital (Signing)
k = 997
k– 1 = 2907 (mod 3301)
r = (gk mod p) mod q = 848
s = (k– 1 (H(m) + x * r)) mod q
= 7957694475 mod 3301 = 183

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
Diambil dari berbagai sumber dengan beberapa penyesuaian.

0 komentar:

Posting Komentar