Digital Signature (Tanda Tangan Digital)

Daftar Isi

Digital signature atau tanda tangan digital adalah adalah suatu tanda tangan (penanda) yang dibubuhkan pada data digital (Luthfi, 2010). Tanda tangan digital bukanlah tulisan tanda tangan yang didigitisasi (discan), melainkan suatu nilai kriptografis yang bergantung pada isi pesan dan kunci. Menurut Undang-undang ITE (Informasi dan Transaksi Elektronik), tanda tangan elektronik memiliki kekuatan hukum dan akibat hukum yang sah selama memenuhi ketentuan dalam undang-undang.

Digital Signature (Tanda Tangan Digital)

Tanda tangan digital pertama kali diperkenalkan oleh Diffie and Hellman pada tahun 1976. Tanda tangan digital adalah suatu mekanisme otentikasi yang mengizinkan pemilik ataupun pengirim pesan untuk menambahkan sebuah sandi pada pesannya yang bertindak sebagai tanda tangan. Selain digunakan untuk menjamin integritas data, tanda tangan digital juga dapat digunakan untuk membuktikan asal pesan (keabsahan pengirim) dan nirpenyangkalan.


Fungsi Digital Signature 

Menurut Harris (2008), digital signature atau tanda tangan digital memiliki beberapa fungsi antara lain adalah sebagai berikut: 

  1. Menyediakan proses pengecekan Integritas. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  2. Menyediakan proses Otentikasi. Otentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain. 
  3. Menyediakan proses Non-Repudiasi. Non-Repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.


Aspek-aspek Digital Signature 

Tanda tangan digital menjamin keamanan sebuah pesan dalam aspek integrity, authentication, serta non-repudiation. Adapun penjelasan dari ketiga aspek utama dari tanda tangan digital tersebut adalah sebagai berikut:

a. Integrity 

Tanda tangan digital dapat memastikan bahwa pesan yang dikirim adalah pesan yang sebenarnya dan tidak dimodifikasi pada saat proses pengiriman pesan. Hal ini dikarenakan karena pada saat pengiriman pesan, pesan yang asli tidak dienkripsi dan dapat dibaca ataupun dilihat oleh orang lain. Aspek integrity terletak pada proses perbandingan message digest yang didapat dari pesan yang dikirim oleh pengirim dan message digest yang didapat dari proses hashing oleh penerima, jika sama maka dapat dipastikan pesan itu asli.

b. Authenticity 

Tanda tangan digital dibuat dengan mengenkripsi message digest dari pesan asli menggunakan kunci privat pengirim. Ciphertext ini hanya bisa didekripsi menggunakan pasangan kunci publik dari kunci privat si pengirim , sehingga jika hasil verifikasi membuktikan bahwa message digest dokumen atau pesan yang didapat sama dengan hasil dekripsi dari ciphertext, maka dapat dipastikan bahwa pengirim adalah benar orang yang memiliki kunci privat tersebut.

c. Non-repudiation 

Jika tanda tangan digital telah terbukti ditandatangani menggunakan kunci privat tertentu, maka tidak dapat disangkal bahwa pemilik kunci privat tersebut yang telah menulis dokumen tersebut. Hal ini dikarenakan sebuah kunci public hanya memilik 1 kunci privat.


Metode Digital Signature 

Tanda tangan digital dapat dilakukan melalai salah satu dari dua metode berikut ini, yaitu: 

  1. Enkripsi pesan. Mengenkripsi pesan dengan sendirinya telah menyediakan ukuran otentikasi. Pesan yang terenkripsi telah menyatakan pesan tersebut telah ditandatangani. Algoritma yang digunakan untuk mengenkripsi pesan tersebut bisa dengan algoritma kunci private (simetris) atau kunci publik (asimetris). Proses penandatanganan dengan algoritma kunci simetris memerlukan pihak penengah, sedangkan kunci asimetris tidak memerlukan pihak penengah. 
  2. Menggunakan fungsi hash. Nilai hash dari pesan tersebut adalah kode ringkas dari pesan. Setelah itu tanda tangan tersebut ditambahkan pada pesan. Tanda tangan digital di dalam dokumen tersebut adalah string yang diawali oleh begin PGP Signature dan diakhiri oleh end PGP signature.

Secara umum skema tanda tangan digital dibagi menjadi dua jenis, yaitu:

a. Skema tanda tangan digital dengan penambahan 

Skema tanda tangan ini adalah skema yang banyak digunakan dan juga sangat bergantung pada nilai-nilai kriptografis dari fungsi hash. Secara definisi skema dari tanda tangan digital yang membutuhkan pesan sebagai input untuk proses verifikasi disebut dengan digital signature scheme with appendix (skema tanda tangan digital dengan penambahan). Contohnya dalam skema tanda tangan DSA, ElGamal, dan Ong-Shnorr-Shamir.

b. Skema tanda tangan digital dengan menutupi pesan 

Skema tanda tangan digital yang memungkinkan suatu pesan yang telah ditandatangani dapat ditutupi oleh tanda tangan itu sendiri biasa digunakan untuk pesan singkat. Secara definisi tanda tangan digital dimana keutamaan untuk mengetahui pesan tidak dibutuhkan dalam proses verifikasi. Contohnya skema tanda tangan RSA, Rabin, dan Nyberg-Rueppel.


Mekanisme dan Proses Digital Signature 

Tanda tangan digital menerapkan teori kriptografi asimetrik. Kriptografi asimetrik merupakan jenis kriptografi yang menggunakan kunci yang berbeda untuk mengenkripsi dan mendekripsi pesan. Kriptografi asimetrik ini dimungkinkan setelah dikenalkannya konsep penggunaan kunci publik dan kunci privat pada kriptografi. Dengan adanya sepasang kunci publik dan kunci privat ini, pengirim dapat membubuhi data yang dikirimkannya dengan tanda tangan yang telah dienkripsi. Tanda tangan digital yang telah dienkripsi ini lebih memberikan rasa aman dan kepercayaan bagi pihak penerima.

Mekanisme Digital Signature

Mekanisme dan proses tahapan tanda tangan digital dan bagian-bagian algoritmanya dapat digambarkan dan dijelaskan sebagai berikut: 

  1. Public Key Generator. Algoritma untuk menggenerate sepasang kunci publik dan kunci privat. Kunci publik merupakan kunci yang digunakan untuk mengekripsi pesan atau dalam hal ini tanda tangan yang dibubuhkan, sedangkan kunci privat digunakan untuk mendekripsi ulang tanda tangan yang telah dienkripsi. 
  2. Hash Function. Algoritma untuk membuat tanda tangan digital atau Signing Algorithm. Fungsi hash akan menghasilkan nilai tertentu yang unik berdasarkan data yang digunakan sebagai masukan fungsi hash. 
  3. Verification Function. Algoritma untuk memverifikasi tanda tangan yang dibubuhkan. Bagian ini sebenarnya sama dengan bagian untuk mengekripsi tanda tangan. Karena dengan menggunakan pasangan kunci publik dan privat, seharusnya proses enkripsi dan dekripsi bisa dilakukan dengan algoritma yang sama dengan tambahan fungsi hash yang sama pula.

Group digital signature adalah metode yang membuat seorang anggota sebuah grup untuk menanda-tangani sebuah pesan sebagai wakil dari grup. Pada skema group digital signature, anggota dari suatu kelompok dapat melakukan tanda tangan digital pada suatu dokumen atas nama seluruh anggota kelompok. Tanda tangan tersebut dapat diverifikasi dengan menggunakan kunci publik kelompok (group public key).

Selanjutnya, group signature ini harus didesain sehingga tidak ada seorang anggota kelompok pun yang dapat memalsukan tanda tangan anggota kelompok lainnya. Jadi, pada group digital signature, terdapat satu kunci publik kelompok dan lebih dari satu kunci privat anggota kelompok. Hanya ketua kelompok yang dapat mengetahui siapa anggota kelompok yang telah menanda tangani dokumen yang ada, dalam group digital signature tanda tangan tidak dapat dipalsukan oleh anggota lain dalam satu kelompok. 

Adapun mekanisme prosedur tanda tangan digital adalah sebagai berikut: 

  1. Setup. dalam proses ini dilakukan pembangkitan kunci publik kelompok dan sebuah kunci rahasia administrasi yang dilakukan oleh ketua kelompok.
  2. Join. pembangkitan kunci individu (private key) untuk setiap anggota kelompok dilakukan oleh ketua kelompok. 
  3. Sign. proses penanda tanganan oleh anggota kelompok menggunakan kunci private yang telah diberikan kepada anggota yang bersangkutan. 
  4. Verify. proses verifikasi tanda tangan yang ada pada dokumen yang diterima dari pengirim pesan, verifikasi dilakukan menggunakan kunci publik yang dimiliki kelompok pengirim pesan. proses ini dilakukan oleh penerima pesan. 
  5. Open. proses ini ditujukan untuk mengetahui anggota yang telah melakukan tanda tangan, proses ini hanya bisa dilakukan oleh ketua kelompok yang mengirim pesan beserta tanda tangan dengan menggunakan kunci private yang dimiliki kelompok yang bersangkutan.