Tanda Tangan Digital Digital Signature

29

2.8. Tanda Tangan Digital Digital Signature

Tanda tangan digital digital signature adalah mekanisme otentikasi yang mengijinkan pemilik pesan membubuhkan sebuah sandi pada pesannya yang bertindak sebagai tanda tangan. Tanda tangan dibentuk dengan mengambil nilai hash dari pesan dan mengenkripsi nilai hash pesan tersebut dengan kunci privat pemilik pesan. Jika dalam proses pengiriman pesan saluran komunikasi yang digunakan sudah aman dan kunci hanya diketahui oleh pihak yang berhak, sekarang masalahnya siapa yang menjamin bahwa pesan yang dikirim memang berasal dari orang yang berhak. Atau bagaimana meyakinkan pihak yang akan menerima kiriman data bahwa memang benar-benar berasal dari pengirim aslinya. Untuk mengatasi validitas pengiriman tersebutlah digunakan teknologi tanda tangan digital. Tanda tangan digital berfungsi untuk melakukan validasi terhadap setiap data yang dikirim. Dalam pengiriman data, walaupun saluran komunikasi yang digunakan sudah sangat aman, tentu saja perlu diperhatikan validitasnya. Validitas tersebut berkaitan dengan pertanyaan apakah data yang sampai ke penerima dalam keadaan utuh dengan aslinya saat dikirim tanpa sedikitpun adanya gangguan-gangguan dari pihak lain. Teknik yang umum digunakan untuk membentuk tanda-tangan digital adalah dengan fungsi hash dan melibatkan algoritma kriptografi kunci-publik Munir, 2004. Fungsi tersebut akan menghasilkan sebuah kombinasi karakter yang unik yang disebut dengan message digest. Keunikannya adalah jika di tengah perjalanan data mengalami modifikasi, penghapusan maupun di sadap diam-diam oleh hacker walaupun hanya 1 karakter saja, maka message digest yang berada si penerima akan berbeda dengan yang dikirimkan pada awalnya. Keunikan lainnya adalah message digest tersebut tidak bisa dikembalikan lagi ke dalam bentuk awal seperti sebelum disentuh dengan fungsi algoritma, sehingga disebutlah sebagai one-way hash. Berikut skema proses tanda tangan digital dapat dilihat pada gambar 2.9. Universitas Sumatera Utara 30 Gambar 2.9 Skema proses tanda tangan digital Munir, 2005 Mekanisme kerja untuk menghasilkan tanda tangan digital tersebut adalah sebagai berikut: 1. Proses hashing algorithm akan mengambil nilai hash dari pesan yang akan dikirim dan menghasilkan message digest. Kemudian message digest tersebut dienkripsi mengunakan kunci privat dan menghasilkan tanda tangan digital. 2. Kemudian tanda tangan digital tersebut dikirimkan bersama isi pesan tersebut. 3. Sesampainya di penerima, akan dilakukan proses hashing algorithm terhadap pesan tersebut seperti yang dilakukan saat pengiriman. Dari proses tersebut menghasilkan message digest sekunder MD‟. 4. Secara paralel digital signature yang diterima tadi langsung didekripsi oleh kunci publik. Hasil dekripsi tersebut akan memunculkan message digest yang serupa seperti message digest sebelum dienkripsi oleh pengirim pesan. Message digest disebut message digest primer MD. 5. Proses selanjutnya adalah membandingkan message digest primer dengan message digest sekunder. Jika saja saat diperjalanan ada hacker yang mengubah isi pesan, maka message digest sekunder akan berbeda dengan Universitas Sumatera Utara 31 message digest primer. Segera mekanisme tanda tangan digital tersebut akan menyampaikan peringatan bahwa telah terjadi pengubahan isi pesan. SHA-1 menerima masukkan berupa pesan dengan ukuran maksimum adalah 264-bit dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari yang dihasilkan oleh MD5 yaitu 128-bit. Langkah-langkah proses SHA-1 secara garis besar adalah sebagai berikut : 1. Penambahan bit-bit pengganjal padding bits 2. Penambahan nilai panjang pesan semula 3. Inisialisasi penyangga buffer MD 4. Pengelolaan pesan dalam blok berukuran 512 bit. Mula-mula pesan diberi tambahan untuk membuat panjangnya menjadi kelipatan 512-bit L x 512. Jumlah bit data asal adalah K bit. Tambahkan bit „1‟ kemudian tambahkan bit „0‟ secukupnya sampai 64-bit kurangnya dari kelipatan 512 512 - 64 = 448, yang disebut juga sebagai kongruen dengan 448 mod 512. Akhirnya tambahkan 64-bit yang menyatakan panjang pesan sebelum diberi tambahan. Pesan dibagi-bagi menjadi blok-blok berukuran 512-bit dan setiap blok diolah. Keluaran setiap blok digabungkan dengan keluaran blok berikutnya. Sehingga akhirnya diperoleh digest. Pengubahan satu huruf dapat menghasilkan cipher yang jauh berbeda. Contoh enkripsi SHA: Plaintext : “I heard you crying loud all the way accross the town” Ciphertext : eaeb1b86f6e41c1b40d7c288f6d7fbff3f948a6e Menghilangkan huruf “d” pada kata “heard” Plaintext : “I hear you crying loud all the way accross the town” akan menghasilkan: Ciphertext : d9aee3365c0ef380f4021fd618b4d4ea3ad9e5a4 Dari hasil ciphertext terakhir yang diperoleh terdapat perbedaan yang berarti pesan sudah diubah. Universitas Sumatera Utara 32

2.9. Penelitian Terdahulu