Back to IF4020 Kriptografi
Konsep Tanda-tangan Digital
Questions/Cues
- Apa saja empat layanan keamanan dan alat untuk masing-masing?
- Apa karakteristik tanda tangan di dokumen cetak dan bagaimana padanannya secara digital?
- Apa bedanya tanda tangan digital dengan digitized signature?
- Apa persyaratan tanda tangan digital?
- Mengapa pesan harus dienkripsi dengan kunci privat pengirim, bukan kunci publik penerima?
Reference Points
- IF4020 Kriptografi — Tanda-tangan Digital (Slides 2-14)
Review: Empat Layanan Keamanan
(Definisi dan Layanan Kriptografi) Layanan 1 kerahasiaan direalisasikan dengan enkripsi/dekripsi; layanan 2 keaslian pesan (integritas) dengan fungsi hash dan MAC (Konsep MAC); layanan 3 otentikasi dan 4 anti-penyangkalan (non-repudiation) dengan tanda-tangan digital.
Tanda Tangan Biasa dan Padanan Digitalnya
Tanda tangan pada dokumen cetak memiliki lima karakteristik: (1) bukti otentik keaslian dokumen, (2) tidak dapat dilupakan, (3) tidak dapat dipindah untuk dipakai ulang, (4) dokumen yang sudah ditandatangani tidak dapat diubah, (5) tidak dapat disangkal.
Tanda-tangan digital menerapkan fungsi itu pada data digital. Ia tidak sama dengan digitized signature (tanda tangan yang dipindai atau difoto). Tanda tangan digital adalah nilai kriptografis yang bergantung pada isi pesan dan kunci. Tanda tangan di kertas selalu sama apa pun isi dokumennya, tetapi tanda tangan digital berbeda untuk tiap pesan dan/atau tiap kunci. Pada contoh slide 6 (surat Bob kepada Alice dari Paris, 31 Desember 2018), tanda tangan muncul sebagai blok heksadesimal di antara
-- BEGIN SIGNATURE --dan-- END SIGNATURE --:13706B6D42442620B2FD1098BD4D54ADFA9F7DC27576954ADCE5E5FC901. Contoh tanda tangan kertas pada slide 3 adalah surat undangan yang ditandatangani panitia; contoh digitized signature pada slide 4 adalah gambar tanda tangan yang dipindai (kartu The White House) dan tanda tangan di layar tablet; keduanya hanya gambar yang bisa disalin dan ditempel ke dokumen lain.Persyaratan Tanda Tangan Digital
- Berupa rangkaian bit yang bergantung pada pesan yang ditandatangani.
- Memakai informasi unik (kunci) pengirim, untuk mencegah pemalsuan dan penyangkalan.
- Mudah dibangkitkan.
- Mudah dikenali dan diverifikasi.
- Hampir mustahil dipalsukan: baik membuat pesan baru untuk tanda tangan yang sudah ada, maupun membuat tanda tangan curang untuk pesan tertentu.
- Mudah disimpan salinannya.
Dua Proses dan Dua Cara Menandatangani
Proses: signing (memberi tanda tangan) dan verification (memeriksa keabsahannya). Cara menandatangani: (1) mengenkripsi pesan (khusus pesan rahasia), atau (2) kombinasi fungsi hash dan kriptografi kunci publik (pesan yang tidak perlu rahasia; lihat Tanda-tangan Digital dengan Hash dan RSA).
Menandatangani dengan Mengenkripsi Pesan
Enkripsi normal kunci publik: dengan kunci publik penerima, dengan kunci privat penerima (Konsep Kriptografi Kunci Publik). Cara ini tidak mengotentikasi pengirim karena kunci publik diketahui siapa pun.
Agar kunci publik dapat berfungsi sebagai tanda tangan, prosesnya dibalik:
(, adalah kunci privat dan publik pengirim.) Cipherteks sekaligus menjadi signature. Mengenkripsi dengan kunci privat = menandatangani; mendekripsi dengan kunci publik = memverifikasi.
flowchart LR subgraph N["Enkripsi normal"] direction LR M1["M"] -->|"PK penerima"| C1["C"] -->|"SK penerima"| M2["M"] end subgraph T["Tanda tangan"] direction LR M3["M"] -->|"SK pengirim"| S["S (signature)"] -->|"PK pengirim"| M4["M"] endDengan cara ini kerahasiaan dan otentikasi pengirim tercapai sekaligus, tetapi tidak dapat mengotentikasi integritas pesan. Algoritma yang dapat dipakai harus memenuhi dan . RSA memenuhinya karena persamaan enkripsi dan dekripsinya identik (kunci publik/privat dapat dipertukarkan): normal , ; tanda tangan , verifikasi (Algoritma RSA).
Tanda-tangan digital memenuhi layanan otentikasi dan non-repudiation dan berbeda dari digitized signature: ia adalah nilai kriptografis yang bergantung pada isi pesan dan kunci, sehingga berbeda untuk tiap pesan. Persyaratannya: bergantung pada pesan, memakai kunci unik pengirim, mudah dibuat dan diverifikasi, nyaris mustahil dipalsukan, mudah disimpan. Prosesnya signing dan verification. Cara sederhana: enkripsi pesan dengan kunci privat pengirim () dan verifikasi dengan kunci publik pengirim (), kebalikan enkripsi normal; ini memberi kerahasiaan dan otentikasi pengirim, tetapi tidak otentikasi integritas. RSA cocok karena .
Additional Information
Catatan Kritis pada Slide
Menandatangani pesan dengan mengenkripsi dengan kunci privat hanya memberi otentikasi pengirim, bukan kerahasiaan sebenarnya: siapa pun yang punya kunci publik pengirim (publik) dapat mendekripsinya. Kerahasiaan baru tercapai bila pesan juga dienkripsi dengan kunci publik penerima (sign-then-encrypt). Pernyataan slide “kerahasiaan dan otentikasi tercapai sekaligus” perlu dibaca dengan konteks itu.
MAC vs Tanda Tangan Digital
MAC Tanda tangan digital Kunci simetris, dipegang kedua pihak asimetris, privat hanya pengirim Otentikasi pengirim ya (antara dua pihak) ya (oleh siapa pun) Non-repudiation tidak ya Kecepatan sangat cepat lebih lambat Tanda Tangan “Buta” dan Aplikasi
Tanda tangan digital dipakai untuk sertifikat X.509, code signing, e-mail (PGP/S/MIME), dokumen elektronik, blockchain. Bentuk khusus: blind signature (e-cash), ring signature, threshold signature.
Proyek Eksplorasi Mandiri
- Dengan RSA kecil (mis. , ) hitung dan verifikasi ; tunjukkan bahwa dengan kunci publik yang salah verifikasi gagal.
- Cari contoh digitized signature dan jelaskan mengapa ia tidak aman (dapat disalin dan ditempel).
Bacaan Lanjutan
- Diffie & Hellman (1976), New Directions in Cryptography (gagasan tanda tangan digital).
- Rivest, Shamir, Adleman (1978), A Method for Obtaining Digital Signatures and Public-Key Cryptosystems.
- Menezes et al., Handbook of Applied Cryptography, Bab 11 (Digital Signatures).