Rabu, 10 April 2013

[Comp Security] Praktikum 4 - Digital Signature

Definisi

Secara mudahnya Digital Signature adalah bentuk tiruan tanda tangan konvensional ke dalam bentuk digital. Tetapi bukan file scan tanda tangan di kertas. Sebutan digital signature ini sebenarnya konsep. Dalam dunia nyata, tanda tangan digital itu bentuknya adalah rangkaian byte-byte yang jika diperiksa bisa digunakan untuk memeriksa apakah suatu dokumen digital, juga termasuk email, benar berasal dari orang tertentu atau tidak. tandatangan digital merupakan salah satu cara untuk memberikan authentication, integrity dan non - repudiation pada dokumen digital yang akan dikirimkan/didistribusikan. 

Prinsip yang digunakan dalam tanda tangan digital adalah data yang dikirimkan harus ditanda tangani oleh pengirim dan tanda tangan bisa diperiksa oleh penerima untuk memastikan keaslian data yang dikirimkan. Proses ini menganalogikan proses penandatanganan dokumen kertas oleh yang berwenang sebelum dikirimkan. Dengan cara ini pengirim bertanggungjawab terhadap isi dokumen dan dapat dicek keaslian dokumen oleh penerima.

Misalnya, Kuma mengirimkan dokumen penting kepada John melalui email. Ternyata, Vladimir yang tahu kabar ini kemudian mencoba memalsukan email Kuma. Dokumen attachment Kuma diganti. Ketika John terima email Kuma (yang attachmentnya sudah diganti oleh Vladimir), dia merasa aneh, karena isinya tidak sesuai dengan pembicaraan sebelumnya. John curiga. John memeriksa (mem-verifikasi) digital signature pada email tersebut. John tahu, ternyata surat itu tanda tangannya tidak cocok.
 

Implementasi:


Pre-requisit sebelum konsep ini bisa diimplementasikan?

Kuma harus punya pasangan public key dan private key. Caranya? Di-generate (dibangkitkan)!


Bagaimana membuat tanda tangan digital?


  1. Kuma mengambil nilai hash dari pesan/data. Fungsi hash yang bisa pakai misalnya MD5 atau SHA1
  2. Kuma mengenkrip nilai hash tersebut dengan algoritma enkripsi public key, contohnya RSA (dipakai di S/MIME; sedangkan PGP pakai algoritma El Gamal). Hasil enkripsi hash dengan private key pengirim inilah yang disebut digital signature.
  3. Kuma menempelkan (concat) digital signature ke pesan/data.
  4. Kuma mengirim pesan/data yang sudah ditempeli digital signature tersebut kepada John

Bagaimana mem-verifikasi tanda tangan digital?


  1. John mengambil emailnya, kemudian memisahkan bagian tanda tangan digital dengan bagian pesan / datanya
  2. John mendekrip digital signature pesan tersebut dengan public key Kuma. Public key Kuma sudah pernah diberikan oleh Kuma sebelumnya, atau bisa diambil dari website Kuma.
  3. Hasil dekripsi digital signature kemudian dicocokkan dengan nilai hash bagian pesan / data email tersebut
  4. Jika hasilnya sama, berarti tanda tangan digital dinilai valid sedangkan bila beda, berarti digital signature tidak valid (dokumen telah dipalsukan atau pengirimnya pasti bukan Kuma).

Sifat  tanda tangan digital 

Menurut Arrianto Mukti Wibowo sifat dimiliki oleh tanda tangan digital adalah:

  1. Otentik, tak bisa/sulit untuk ditulis/ditiru oleh orang lain. Pesan dan tanda tangan pesan tersebut juga dapat menjadi barang bukti, sehingga penandatangan tak bisa menyangkal bahwa dulu ia tidak pernah menandatanganinya.
  2. Hanya sah untuk dokumen (pesan) itu saja atau kopinya yang sama persis. Tanda tangan itu tidak bisa dipindahkan ke dokumen lainnya, meskipun dokumen lain itu hanya berbeda sedikit. Ini juga berarti bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan itu tidak lagi sah
  3. Dapat diperiksa dengan mudah, termasuk oleh pihak-pihak yang belum pernah bertatap muka langsung dengan penandatangan.

Menurut Arrianto Mukti Wibowo, dkk, penggunaan digital signature berawal dari penggunaan teknik kriptografi yang digunakan untuk mengamankan informasi yang hendak ditransmisikan/disampaikan kepada orang yang lain yang sudah digunakan sejak ratusan tahun yang lalu. Dalam suatu kriptografi suatu pesan dienkripsi (encrypt) dengan menggunakan suatu kunci (key). Hasil dari enkripsi ini adalah berupa chipertext tersebut kemudian dikirimkan kepada tujuan yang dikehendakinya. Chipertext tersebut kemudian didekripsi (decrypt) dengan suatu kunci untuk mendapatkan informasi yang telah enkripsi tersebut.
Terdapat dua macam cara dalam melakukan enkripsi yaitu dengan menggunakan kriptografi simetris (symetric crypthography/secret key crypthography) dan kriptografi non-simetris (asymetric cryptography) yang kemudian lebih dikenal sebagai public key cryptography.

Teknologi tanda tangan digital memanfaatkan teknologi kunci publik. Sepasang kunci publik-privat dibuat untuk keperluan seseorang. 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 yaitu fungsi hash dan sistem kripto kunci publik
 Konsep Digital Signature
*sumber: 
  • http://en.wikipedia.org/wiki/Digital_signature
  • Eko Aribowo, Herman Yuliansyah, Nur Rochmah. Petunjuk Praktikum Keamanan Komputer, Teknik Informatika Universitas Ahmad Dahlan, Yogyakarta 2013
  • http://geniuskronis.wordpress.com/2011/01/06/konsep-sederhana-tentang-digital-signature/

Tidak ada komentar: