Kamis, 12 Juli 2012

Digital Signature


Impelementasi algoritma kriptografi adalah salah satunya pada tanda tangan digital (digital signature). Tanda tangan digital merupakan tanda tangan yang dilakukan dengan memakai alat elektronik yang berfungsi sama dengan tanda tangan manual. Tanda tangan digital merupakan kumpulan bit yang bisa melakukan fungsi elektronik yang memakai fungsi Hash satu arah (Ariyus, 2006). Saat ini, tanda tangan digital banyak diaplikasikan untuk kemanan informasi, hal tersebut dilakukan karena mencegah pemalsuan suatu file atau pesan, kerena di era yang semakin berkembang dunia teknologi pasti menuntut kira untuk mengamankan data perusahaan termasuk diantaranya kita harus melakukan otentikasi pengirim, kepercayaan pada file atau pesan yang dikirim. Tanda tangan dgital yang dibubuhkan dalam suatu data/pesan dapat memvalidasi darimana data tersebut berasal. Tanda tangan ini memberikan rasa aman kepada penerima data/pesan kerena dapat mengetahui siapa yang mengirim pesan/data tersebut. Pada pembahasan selanjutnya akan dijelaskan secara detail mengenai implementasi tanda tangan digital secara spesifik, kita akan mempelajari schema tanda tanggan digital serta implementasinya. Sehingga kita dapat mengetahui dengan jelas tujuan serta manfaat tanda tangan digital untuk kemanan data.

Digital Signature

Digital Signature (tanda tangan digital) adalah suatu tandatangan elektronik yang dapat digunakan untuk membuktikan keaslian identitas pengirim dari suatu pesan atau penandatangan dari suatu dokumen, dan untuk memastikan isi yang asli dari pesan atau dokumen itu sudah dikirim tanpa perubahan. Tanda tangan digital dengan mudah dapat dipindahkan, tidak bisa ditiru oleh orang lain, dan dapat secara otomatis dilakukan time-stamp. Kemampuan itu untuk memastikan bahwa pesan asli yang tiba di pengirim tidak bisa dengan mudah diganti. Suatu tanda tangan digital dapat digunakan di segala macam pesan, apakah itu terenkripsi atau tidak, sehingga penerima dapat memastikan identitas pengirim itu dan pesan tiba secara utuh. Suatu sertifikat digital berisi tanda tangan digital dari sertifikat yang mengeluarkan otoritas sehingga siapapun dapat memverifikasi bahwa sertifikat itu adalah nyata. Di bawah ini terdapat beberapa aspek keamanan pada kriptografi adalah sebagai berikut :
  1. Kerahasiaan (confidentiality), adalah layanan yang digunakan untuk menjaga isi pesan dari siapapun yang tidak berhak untuk membacanya. Di dalam kriptografi, layanan ini umumnya direalisasikan dengan cara menyandikan pesan menjadi bentuk yang tidak dapat dimengerti.
  2. Integritas Data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan: “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?”. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubstitusian data lain kedalam pesan yang sebenarnya.
  3. Otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan: “Apakah pesan yang diterima benar-benar berasal dari pengirim yang benar?”. Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan.
  4. Nir penyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. Nirpenyangkalan tampak dalam kalimat berikut: “Saya menyangkal telah mengirim pesan ini termasuk isinya”.

Konsep Tanda Tangan Digital

Sejak berabad-abad lamanya, tanda tangan digunakan untuk membuktikan otentikasi dokumen kertas (misalnya surat, piagam, ijazah, buku, karya seni, dan sebagainya). Tanda-tangan mempunyai karakteristik sebagai berikut:
  1. Tanda tangan adalah bukti yang otentik.
  2. Tanda-tangan tidak dapat dilupakan.
  3. Tanda-tangan tidak dapat dipindah untuk digunakan ulang.
  4. Dokumen yang telah ditanda-tangani tidak dapat diubah.
  5. Tanda-tangan tidak dapat disangkal (repudiation).

Fungsi tanda-tangan pada dokumen kertas juga diterapkan untuk otentikasi pada data digital seperti pesan yang dikirim melalui saluran komunikasi dan dokumen elektronis yang disimpan di dalam memori komputer. Tanda-tangan pada data digital ini dinamakan tanda-tangan digital (digital signature). Yang dimaksud dengan tanda-tangan digital bukanlah tanda tangan yang di-digitisasi dengan alat scanner, tetapi suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan (Hal ini kontras dengan tanda tangan pada dokumen kertas yang bergantung hanya pada pengirim dan selalu sama untuk semua dokumen). Dengan tanda-tangan digital, maka integritas data dapat dijamin, disamping itu ia juga digunakan untuk membuktikan asal pesan (keabsahan pengirim), dan nirpenyangkalan. Menandatangani pesan dapat dilakukan dengan salah satu dari dua cara:
  1. Enkripsi Pesan. Mengenkripsi pesan dengan sendirinya juga menyediakan ukuran otentikasi. Pesan yang terenkripsi sudah menyatakan bahwa pesan tersebut telah ditandatangani.
  2. Tanda tangan digital dengan fungsi hash (hash function). Tanda-tangan digital dibangkitkan dari hash terhadap pesan. Nilai hash adalah kode ringkas dari pesan. Tanda tangan digital berlaku seperti tanda-tangan pada dokumen kertas. Tanda-tangan digital ditambahkan (append) pada pesan.

Skema Tanda Tangan

Pada Skema tanda tangan terdapat dua skema yang akan kami jelaskan, skema yang pertama merupakan simple skema tanda tangan digital, skema ini merupakan skema konevensional. Skema ini masih terdapat kekurangan yaitu kerena semua pesan masih bisa dirubah tanpa diketahui oleh si penerima pesan, untuk itulah pada skema ini diperharui dengan menggunakan sertifikat yang akan dijelaskan secara rinci.

Skema Simple Digital Signature

Dibawah ini terdapat skema simple tanda tangan digital, yang merupakan skema konvensional :
Penjelasan dari skema simple tanda tangan digital sebagai berikut :
  1. Si A mengirim pesan ke Si B, dengan contoh pesan “Digital Signature Yes”.
  2. Si A menandatangai pesan dengan melakukan Hashing terlebih dahulu terhadap pesan yang akan dikirim
  3. Setelah dilakukan Hashing, Si A melakukan enkripsi terhadap pesan yang sudah di hashing dan disinilah fungsi Tanda Tangan Digital.
  4. Setelah selesai melakukan tanda tangan, maka Si A mengirimkan pesan yang sudah di tanda tangani.
  5. Si B penerima pesan yang diterima dari Si A
  6. Setelah itu Si B mendekrip pesan yang dikirim oleh Si A. Pada proses dekrip tersebut Pesan dilakukan hasing terlebih dahulu dan Sign akan didekrip. Jika keduanya sama (pesan dan sign) maka pesan tersebut asli. Jika tidak sama, maka tidak asli.

Kelemahan dari simple tanda tangan adalah, tanda tangan tidak disimpan pada database, jadi tidak ada verifikasi (pencocokan) tanda tangan pada database. Misal, di tengah jalan pesan tersebut di serang oleh attacker dan dirubah pesanya, maka pesan tersebut di anggap sah oleh si penerima, karena si penerima tidak mempunyai database dari tanda tangan si pengirim.

Skema Certificated Digital Signature

Di bawah ini merupakan skema dari tanda tangan digital yang memiliki sertifikat :

  1. Si A mengirim pesan ke Si B, dengan contoh pesan “Digital Signature Yes”.
  2. Si A menandatangai pesan dengan melakukan Hashing terlebih dahulu terhadap pesan yang akan dikirim.
  3. Setelah dilakukan Hashing, Si A melakukan enkripsi terhadap pesan yang sudah di hashing dan disinilah fungsi Tanda Tangan Digital.
  4. Setelah selesai melakukan tanda tangan, maka Si A mengirimkan pesan yang sudah di tanda tangani.
  5. Si B penerima pesan yang diterima dari Si A
  6. Setelah itu Si B mendekrip pesan yang dikirim oleh Si A. Pada proses dekrip tersebut Pesan dilakukan hasing terlebih dahulu dan Sign akan didekrip.
  7. Si B melakukan verifikasi ( Menayakan kepada pihak ke 3 (vendor sertifikat tanda tangan) apakah tanda tangan tersebut benar dari Si A atau bukan ) pada tanda tangan yang dikirim oleh Si A.

1 komentar:

  1. This post is a rich source of information about this popular and useful scheme. I am studying about it and found this article very helpful. You have explained all the main things about this technique in detail. Thanks !!
    digital signature

    BalasHapus