Tanda Tangan Digital – Pengertian dan Cara Kerja

Tanda Tangan Digital
Tanda Tangan Digital

Kolonginfo.comTanda tangan digital dan cara kerjanya. Tanda tangan digital adalah tanda tangan elektronik yang didistribusikan melalui sistem informasi. Tanda tangan digital dibuat dengan menggunakan teknik kriptografi, suatu cabang dari matematika terapan yang menangani tentang pengubahan suatu informasi menjadi bentuk lain yang tidak dapat dimengerti dan dikembalikan seperti semula.

Tanda tangan digital menggunakan “public key cryptography” (kriptografi kunci publik), dimana algoritmanya menggunakan dua buah kunci, yang pertama adalah kunci untuk membentuk tanda tangan digital atau mengubah data ke bentuk lain yang tidak dapat dimengerti, dan kunci kedua digunakan untuk verifikasi tanda tangan digital ataupun mengembalikan pesan ke bentuk semula. Konsep ini juga dikenal sebagai “assymmetric cryptosystem” (sistem kriptografi non simetris). 

Sistem Kriptografi

Sistem kriptografi ini menggunakan kunci privat, yang hanya diketahui oleh penandatangan dan digunakan untuk membentuk tanda tangan digital, serta kunci publik, yang digunakan untuk verifikasi tanda tangan digital. Jika beberapa orang ingin memverifikasi suatu tanda tangan digital yang dikeluarkan oleh seseorang, maka kunci publik tersebut harus disebarkan ke orang-orang tersebut. Kunci privat dan kunci publik ini sesungguhnya secara matematis ‘berhubungan’ (memenuhi persamaan-persamaan dan kaidah-kaidah tertentu). Walaupun demikian, kunci privat tidak dapat ditemukan menggunakan informasi yang didapat dari kunci publik.

Fungsi Hash

Proses lain yang tak kalah penting adalah “fungsi hash”, digunakan untuk membentuk sekaligus memverifikasi tanda tangan digital. Fungsi hash adalah sebuah algoritma yang membentuk representasi digital atau semacam “sidik jari” dalam bentuk “nilai hash” (hash value) dan biasanya jauh lebih kecil dari dokumen aslinya dan unik hanya berlaku untuk dokumen tersebut. Perubahan sekecil apapun pada suatu dokumen akan mengakibatkan perubahan pada “nilai hash” yang berkorelasi dengan dokumen tersebut. Fungsi hash yang demikian disebut juga “fungsi hash satu arah”, karena suatu nilai hash tidak dapat digunakan untuk membentuk kembali dokumen aslinya.

Oleh karenanya, fungsi hash dapat digunakan untuk membentuk tanda tangan digital. Fungsi hash ini akan menghasilkan “sidik jari” dari suatu dokumen (sehingga unik hanya berlaku untuk dokumen tersebut) yang ukurannya jauh lebih kecil daripada dokumen aslinya serta dapat mendeteksi apabila dokumen tersebut telah diubah dari bentuk aslinya.

Baca Juga:  Atmel AVR ATMega128

Proses Tanda Tangan Digital

Penggunaan tanda tangan digital memerlukan dua proses, yaitu dari pihak penandatangan serta

dari pihak penerima. Secara rinci kedua proses tersebut dapat dijelaskan sebagai berikut:

  1. Pembentukan tanda tangan digital menggunakan nilai hash yang dihasilkan dari dokumen serta kunci privat yang telah didefinisikan sebelumnya. Untuk menjamin keamanan nilai hash maka seharusnya terdapat kemungkinan yang sangat kecil bahwa tanda tangan digital yang sama dapat dihasilkan dari dua dokumen serta kunci privat yang berbeda.
  2. Verifikasi tanda tangan digital adalah proses pengecekan tanda tangan digital dengan mereferensikan ke dokumen asli dan kunci publik yang telah diberikan, dengan cara demikian dapat ditentukan apakah tanda tangan digital dibuat untuk dokumen yang sama menggunakan kunci privat yang berkorespondensi dengan kunci publik. Untuk menandatangani sebuah dokumen atau informasi lain, penandatangan pertama-tama membatasi secara tepat bagian-bagian mana yang akan ditandatangani. Informasi yang dibatasi tersebut dinamakan “message”. Kemudian aplikasi tanda tangan digital akan membentuk nilai hash menjadi tanda tangan digital menggunakan kunci privat. Tanda tangan digital yang terbentuk adalah unik baik untuk message dan juga kunci privat.

Umumnya, sebuah tanda tangan digital disertakan pada dokumennya dan juga disimpan dengan dokumen tersebut juga. Bagaimanapun, tanda tangan digital juga dapat dikirim maupun disimpan sebagai dokumen terpisah, sepanjang masih dapat diasosiasikan dengan dokumennya. Karena tanda tangan digital bersifat unik pada dokumennya, maka pemisahan tanda tangan digital seperti itu merupakan hal yang tidak perlu dilakukan.

Unsur-unsur Tanda Tangan Digital

Proses pembentukan dan verifikasi tanda tangan digital memenuhi unsur-unsur paling penting yang diharapkan dalam suatu tujuan legal, yaitu:

  1. Otentikasi Penandatangan: Jika pasangan kunci publik dan kunci privat berasosiasi dengan pemilik sah yang telah didefinisikan, maka tanda tangan digital akan dapat menghubungkan/mengasosiasikan dokumen dengan penandatangan. Tanda tangan digital tidak dapat dipalsukan, kecuali penandatangan kehilangan kontrol dari kunci privat miliknya.
  2. Otentikasi Dokumen: Tanda tangan digital juga mengidentikkan dokumen yang ditandatangani dengan tingkat kepastian dan ketepatan yang jauh lebih tinggi daripada tanda tangan di atas kertas.
  3. Penegasan: Membuat tanda tangan digital memerlukan penggunaan kunci privat dari penandatangan. Tindakan ini dapat menegaskan bahwa penandatangan setuju dan bertanggung jawab terhadap isi dokumen.
  4. Efisiensi: Proses pembentukan dan verifikasi tanda tangan digital menyediakan tingkat kepastian yang tinggi bahwa tanda tangan yang ada merupakan tanda tangan sah dan asli dari pemilik kunci privat. Dengan tanda tangan digital , tidak perlu ada verifikasi dengan melihat secara teliti (membandingkan) antara tanda tangan yang terdapat di dokumen dengan contoh tanda tangan aslinya seperti yang biasa dilakukan dalam pengecekan tanda tangan secara manual.
Baca Juga:  Penerapan Data Mining - Mengenal Lebih Dalam Data Mining

Contoh Kasus

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).

Collision Pada Hashing

Collision adalah situasi yang terjadi ketika dua potong yang berbeda dari data yang memiliki nilai hash yang sama, checksum, sidik jari, atau pencernaan kriptografi. Jika 2 buah data atau lebih dengan key yang berbeda tetapi memiliki alamat hash yang sama, maka akan terjadi tabrakan (Collision).
Solusi untuk mengatasi collision pada hash disebut Collision Resolution.
Collision Resolution dapat dilakukan dengan 3 strategi, yakni :

  • Linier Resolution
  • Overflow
  • Double Hash
Baca Juga:  Metasistem Identitas (Identity Metasystem), Mengenal Kegunaannya

Linier Resolution

Resolusi linear memanfaatkan nilai H (K) yang sebelumnya untuk mencari alamat kosong dengan menghitung nilai hash yang baru (Rehashing).
H’i (K) = (H’i – 1 (K) + 1) mod N
Hal ini dilakukan hingga ditemukan tempat kosong untuk menampung K atau sampai dilakukan penelusuran 1 kali lintasan ukuran tabel dan tidak ditemukan tempat kosong karena tabel telah penuh.

Overflow

Overflow mengurangi frekwensi tabrakan dengan membagi tabel menjadi 2 buah yakni tabel Utama dan tabel Overflow, dengan ketentuan ukuran tabel Utama harus lebih besar. Penempatan / pencarian data diprioritaskan pada tabel Utama, jika terjadi tabrakan maka dilakukan penempatan / pencarian pada tabel Overflow.
Penempatan / pencarian pada Tabel Overflow dapat dilakukan secara sequential atau menggunakan fungsi Hash yang baru.

Double Hash

Double Hash mirip dengan Overflow, bedanya ukuran ke-2 tabel adalah sama. Ke-2 tabel dapat diberi nama T1 dan T2. Penempatan / pencarian data diprioritaskan pada T1, jika terjadi tabrakan, maka cek ke T2. Apabila posisi pada T2 juga terjadi tabrakan, maka dilakukan Linier Resolution dengan mengecek alamat pada T1 dan T2 hingga diperoleh tempat kosong atau tabel telah penuh.

Baca artikel lainnya

Be the first to comment

Leave a Reply

Your email address will not be published.


*