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

  1. Berupa rangkaian bit yang bergantung pada pesan yang ditandatangani.
  2. Memakai informasi unik (kunci) pengirim, untuk mencegah pemalsuan dan penyangkalan.
  3. Mudah dibangkitkan.
  4. Mudah dikenali dan diverifikasi.
  5. Hampir mustahil dipalsukan: baik membuat pesan baru untuk tanda tangan yang sudah ada, maupun membuat tanda tangan curang untuk pesan tertentu.
  6. 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"]
    end

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

Summary

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 .