Tanda Tangan Digital
Pada tahun 2017 lalu, pemerintah Indonesia melalui Kementerian Komunikasi dan Informatika (KOMINFO) mulai memperkenalkan penggunaan tanda tangan digital kepada beberapa perusahaan perbankan dan instansi pemerintah. Hal ini dilakukan untuk menginformasikan masyarakat bahwa tanda tangan digital akan digunakan secara massal di tahun yang akan datang. Banyak orang yang masih asing dengan istilah tanda tangan digital akan berpikir bahwa tanda tangan digital adalah hasil skanlasi dokumen cetak yang telah ditandatangani dan berbentuk soft file. Padahal, tanda tangan digital yang sesungguhnya tidak didapatkan melalui metode tersebut.
Apa itu tanda tangan digital?
Tanda tangan digital adalah bentuk dari tanda tangan elektronik yang dapat memenuhi fungsi dari tanda tangan basah. Tanda tangan digital memiliki kekuatan hukum dan akibat hukum yang sama dengan tanda tangan manual atau yang juga biasa disebut sebagai tanda tangan basah. Teknologi tanda tangan digital juga memiliki kelebihan berupa dapat menjamin validitas tanda tangan seseorang. Akan tetapi, tanda tangan digital hanya berlaku untuk menandatangani dokumen elektronik saja, sama halnya dengan tanda tangan basah yang hanya dapat digunakan pada dokumen kertas.
Secara garis besar tanda tangan digital atau Digital Signature adalah sebuah skema matematis yang memiliki keunikan dalam mengidentifikasikan seorang (subjek hukum) di dunia digital. Fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
Tanda tangan digital merupakan mekanisme kriptografi yang digunakan untuk mem-verifikasi keaslian dan kebenaran dari data digital. Dapat dikatakan bahwa ini adalah versi digital dari tanda tangan biasa yang ditulis tangan, tetapi dengan kerumitan dan keamanan yang tingkat tinggi.
Kita dapat menggambarkan sebuah tanda tangan digital sebagai sebuah kode yang dilampirkan pada pesan atau dokumen. Setelah dihasilkan, kode ini akan bertindak sebagai bukti bahwa pesan belum dirusak sepanjang jalan dari pengirim ke penerima.
Walaupun konsep pengamanan komunikasi menggunakan kriptografi telah ada pada zaman dulu, skema tanda tangan digital memungkinkan untuk menjadi kenyataan pada tahun 1970an – berkat bantuan pengembangan Public-Key Cryptography (PKC).
Hashing adalah salah satu unsur inti dari sistem tanda tangan digital. Proses hashing melibatkan pengubahan data dalam ukuran apa pun menjadi output berukuran tetap. Ini dilakukan oleh algoritma bersifat khusus yang dikenal dengan fungsi hash. Output dihasilkan oleh sebuah fungsi hash yang dikenal dengan nilai hash atau intisari pesan (message digest).
Jika digabungkan dengan kriptografi, fungsi-fungsi hash kriptografi dapat digunakan untuk menghasilkan nilai hash (digest) yang bertindak sebagai sidik jari digital yang unik. Ini berarti bahwa setiap perubahan dalam data masukan (pesan) akan menghasilkan output yang sangat berbeda (nilai hash). Inilah alasannya kenapa fungsi-fungsi hash kriptografi yang sangat banyak digunakan untuk mem-verifikasi keaslian data digital.
Kriptografi public-key, atau PKC, mengacu pada sistem kriptografi yang menggunakan satu pasang kunci: satu public key dan satu private key. Kedua kunci ini memiliki hubungan secara matematik dan dapat digunakan untuk enkripsi data dan tanda tangan digital.
Sebagai alat enkripsi, PKC lebih aman daripada metode enkripsi yang lebih mendasar. Jika sistem yang lama mengandalkan kunci yang sama untuk mengenkripsi dan mendekripsi informasi, PKC memungkinkan untuk enkripsi data dengan public key dan dekripsi data dengan private key.
Selain itu, skema PKC juga dapat diterapkan dalam menghasilkan tanda tangan digital. Intinya, proses terdiri dari kegiatan hashing sebuah pesan (atau data digital) bersamaan dengan private key penanda tangan. Kemudian, penerima pesan dapat memeriksa apakah tanda tangan valid dengan menggunakan public key yang disediakan oleh penanda tangan.
Pada keadaan tertentu tanda tangan digital dapat melibatkan enkripsi, tetapi ini tidak selalu terjadi. Sebagai contoh, blockchain Bitcoin menggunakan PKC dan tanda tangan digital, tetapi tidak seperti yang diduga kebanyakan orang, dalam proses ini tidak ada enkripsi. secara teknis, Bitcoin menyebarkan sesuatu yang disebut dengan Elliptic Curve Digital Signature Algorithm (ECDSA) untuk menguji keaslian transaksi-transaksi.
Bagaimana cara kerja tanda tangan digital
Dalam konteks mata uang kripto, sistem tanda tangan digital biasanya terdiri dari beberapa langkah dasar: hashing, penandatanganan, dan verifikasi.
Hashing data
Pertama : proses hash pesan atau data digital. Ini dilakukan dengan memasukkan data melalui sebuah algoritma hashing sehingga nilai hash dihasilkan (contohnya message digest). Pesan dapat berukuran sangat berbeda, tetapi ketika melalui proses hash, semua nilai hash memiliki panjang yang sama. Ini merupakan unsur paling dasar dari sebuah fungsi hash.
Proses hashing data bukanlah suatu keharusan untuk menghasilkan tanda tangan digital, karena siapapun dapat menggunakan private key untuk menandatangani sebuah pesan yang tidak melalui proses hash sama sekali. Tetapi untuk mata uang kripto, data selalu melalui proses hash karena digest yang memiliki panjang tetap akan memudahkan seluruh proses.
Penandatanganan
Setelah informasi di-hash, pengirim pesan harus menandatanganinya. Saat ini kriptografi public-key berperan. Ada beberapa jenis algoritma tanda tangan digital, masing-masing dengan mekanisme sendiri. Tetapi pada dasarnya, pesan hash akan ditandatangani dengan private key, dan penerima pesan kemudian dapat memeriksa keabsahannya dengan menggunakan public key yang sesuai (disediakan oleh penanda tangan).
Jika private key tidak dimasukkan ketika tanda tangan dihasilkan, penerima pesan tidak akan dapat menggunakan public key yang sesuai untuk memverifikasi keabsahannya. Public key dan private key keduanya dihasilkan oleh pengirim pesan, tetapi hanya public key yang dibagikan kepada penerima.
Tanda tangan digital terkait langsung dengan konten setiap pesan. Jadi tidak seperti tanda tangan dengan tulisan tangan, yang cenderung sama dalam pesan yang berbeda-beda, setiap pesan yang ditandatangani secara digital akan memiliki tanda tangan digital yang berbeda.
Verifikasi
Sebagai contoh. Seseorang menulis pesan kepada temannya, melakukan proses hash terhadap pesan tersebut, dan kemudian menggabungkan nilai hash dengan private key-nya untuk menghasilkan tanda tangan digital. Tanda tangan akan berfungsi sebagai sidik jari digital unik khusus untuk pesan itu.
Ketika temannya menerima pesan, dia dapat memeriksa keabsahan tanda tangan digital dengan menggunakan public key yang disediakan orang tersebut.
Sumber: