Apa yang Dimaksud dengan Tanda Tangan Digital?
Beranda
Artikel
Apa yang Dimaksud dengan Tanda Tangan Digital?

Apa yang Dimaksud dengan Tanda Tangan Digital?

Tingkat Menengah
Diterbitkan Aug 19, 2019Diperbarui Jan 31, 2023
7m

Sebuah tanda tangan digital adalah mekanisme kriptografi yang digunakan untuk memverifikasi keaslian dan kebenaran dari data digital. Kita dapat mengatakan bahwa ini adalah versi digital dari tanda tangan biasa yang ditulis tangan, tetapi dengan kerumitan dan keamanan yang tingkat tinggi.

Sederhananya, 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 jaman dahulu kala, skema tanda tangan digital memungkinkan untuk menjadi kenyataan pada tahun 1970an - berkat bantuan pengembangan Public-Key Cryptography (PKC). Jadi, untuk mempelajari bagaimana cara kerja tanda tangan digital, kita harus mengerti lebih dulu dasar-dasar fungi hash dan kriptografi public-key.


Fungsi-fungsi Hash

Hashing adalah salah satu unsur inti dari sistem tand atangan digital. Proses hashing melibatkan pengubahan data dalam ukuran apa pun menjadi output berukuran tetap. Ini dilakukan oleh algoritma bersifat khusus yang dikenal dengan funsgi 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 memverifikasi keaslian data digital.


Kriptografi Public-key (PKC)

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.

Dalam beberapa keadaan, 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 kebayakan 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

Langkap pertama adalah proses hash pesan atau data digital. Ini dilakukan dengan memasukkan data melalui sebuah algoritme hashing sehingga nilai hash dihasilkan (contohnya message digest). Sebagaimana telah disebutkan, 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.

Namun, proses hashing data bukanlah suatu keharusan untuk menghasilkan tanda tangan digital, karena siapa pun dapat menggunakan private key untuk menandatangani sebuah pesan yang tidak melaui 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. Ini adalah saat di mana kriptografi public-key berperan. Ada beberapa jenis algoritme 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).

Dengan kata lain, 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.

Perlu dicatat bahwa 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

Mari kita ambil contoh untuk mengilustrasikan seluruh proses hingga langkah akhir verifikasi. Bayangkan bahwa Alice menulis pesan kepada Bob, melakukan proses hash terhadap pesan tersebut, dan kemudian menggabungkan nilai hash dengan private keynya untuk menghasilkan tanda tangan digital. Tanda tangan akan berfungsi sebagai sidik jari digital unik khusus untuk pesan itu.

Ketika Bob menerima pesan, dia dapat memeriksa keabsahan tanda tangan digital dengan menggunakan public key yang disediakan Alice. Dengan begitu, Bob dapat memastikan bahwa tanda tangan yang dihasilkan Alice adalah sah karena hanya Alice yang memiliki private key yang sesuai dengan public key tersebut (paling tidak itu yang kita harapakan).

Jadi, sangat penting bagi Alice untuk merahasiakan privatenya. Jika orang lain menggunakan private key Alice, mereka dapat membuat tanda tangan digital dan berpura-pura menjadi Alice. Dalam konteks Bitcoin, ini berarti seseorang dapat menggunakan private key Alice untuk memindahkan atau menghabiskan Bitcoinnya tanpa izin.


Mengapa tanda tangan digital penting?

Tanda tangan digital biasa digunakan untuk mencapai tiga hasil: kebenaran data, keaslian, dan tidak dapat disangkal.

  • Kebenaran data. Bob dapat memverifikasi bahwa pesan Alice tidak pernah diganti di sepanjang jalan. Setiap perubahan dalam pesan akan menghasilkan tanda tangan yang sangat berbeda.
  • Keaslian. Sepanjang private key Alice tidak diketahui siapapun, Bob dapat menggunakan public keynya untuk mengkonfirmasi bahwa tanda tangan digital hanya dihasilkan oleh Alice.
  • Tidak dapat disangkal. Ketika tanda tangan sudah dihasilkan, Alice tidak akan dapat menyangkal di masa depan bahwa dia pernah menanda tangani, kecuali jika private keynya diketahui pihak lain.


Kegunaan

Tanda tangan digital dapat diterapkan pada bermacam-macam dokumen dan sertifikat digital. Beberapa kegunaan yang paling sering ditemui meliputi:  

  • Teknologi informasi. Untuk meningkatkan keamanan sistem komunikasi Internet.
  • Keuangan. Tanda tangan digital dapat diterapkan terhadap audit, laporan biaya, persetujuan hutang, dan lain sebagainya.
  • Hukum. Penandatanganan secara digital untuk semua yang berhubugan dengan kontrak bisnis dan persetujuan sesuai hukum, termasuk dokumen-dokumen pemerintahan.
  • Kesehatan. Tanda tangan digital dapat mencegah kecurangan resep dan rekaman medis.
  • Blockchain. Skema tanda tangan digital memastikan bahwa hanya pemilik sah mata uang kripto yang dapat menandatangani sebuah transaksi untuk memindahkan dana (sepanjang private key aman dan tidak deketahui pihak lain).


Keterbatasan

Tantangan terbesar yang dihadapi skema tanda tangan digital terletak pada paling tidak tiga hal: 

  • Algoritme. Kualitas algoritme yang digunakan dalam skema tanda tangan digital sangat penting. Ini meliputi pilihan hfungsi-fungsi hash yang dapat diandalkan dan sistem kriptografi.
  • Implementasi. Jika algoritme cukup bagus, tetapi implementasinya buruk, sistem tanda tangan digital kemungkinan besar akan cacat.
  • Private Key. Jika private key bocor atau diketahui pihak lain, sifat-sifat keaslian dan tak-tersangkalkan akan hilang. Untuk para pengguna mata uang kripto, kehilangan private key dapat mengakibatkan kerugian keuangan yang signifikan.


Tanda tangan elektronik vs. tanda tangan digital

Secara sederhana, tanda tangan digital merupakan salah satu jenis tertentu dari tanda tangan elektronik - yang merujuk pada setiap metode elektronik untuk menandatangani dokumen dan pesan. Dengan demikian, semua tanda tangan digital adalah tanda tangan elektronik, tetapi tanda tangan elektronik belum tentu merupakan tanda tangan digital.

Perbedaan mendasar antara keduanya adalah metode autentikasi. Tanda tangan digital menggunakan sistem kriptografi, seperti fungsi hash, kriptografi public-key, dan teknik-teknik enkripsi.


Penutup

Fungi-fungsu hash dan kriptografi public-key adalah inti dari sistem tanda tangan digital, yang sekarang diterapkan dalam banyak penggunaan. Jika diterapkan dengan benar, tanda tangan digital dapat meningkatkan keamanan, menjamin kebenaran, dan mempermudah proses autentikasi semua jenis data digital.

Di ranah blockchain, tanda tangan digital digunakan untuk menandatangani dan mengesahkan transaksi mata uang kripto. Tanda tangan digital sangat penting untuk Bitcoin karena tanda tangan memastikan bahwa koin hanya dapat digunakan oleh individu yang memiliki private key yang sesuai.

Meskipun kita telah menggunakan tanda tangan elektronik dan digital selama bertahun-tahun, masih banyak hal yang perlu dikembangkan. Sebagian besar dari birokrasi hari ini masih didasarkan pada dokumen kertas, tetapi kita mungkin akan melihat lebih banyak adopsi skema tanda tangan digital ketika kita berpindah ke sistem yang lebih digital.