in Cryptography

Seandainya Dedy Corbuzier memakai Digital Signature

courtesy of deddycorbuzier.com

courtesy of deddycorbuzier.com

Seperti yang diberitakan, Dedy Corbuzier (DC) membuat ilusi prediksi hasil Euro 2008. DC menuliskan isi prediksinya pada tanggal 6 juni 2008, lalu menyimpannya di sebuah kotak yang dijaga 24 jam non-stop. Kemudian tanggal 30 juni isi prediksi itu dibuka dan dibacakan. Dan isinya adalah hasil Euro 2008 yang akurat bahkan sampai skor akhir dan penjebol gawangnya. Bagaimana seandainya ilusi itu memakai teknologi security?

Namanya juga ilusi, tentu ada celah (vulnerability) yang di-exploit oleh DC sehingga menciptakan ilusi, seolah-olah dia bisa melakukan prediksi dengan tepat.

Mari kita analisa, apa vulnerability yang diexploit DC dalam ilusinya kali ini.

Vulnerabilities: Authentication and Integrity

Seandainya ada seseorang yang menunjukkan kepada anda suatu dokumen, kemudian dia mengklaim bahwa dokumen itu dibuat
oleh si X 1 bulan yang lalu. Apa reaksi anda? Saya yakin beragam
pertanyaan akan muncul, a.l :

  • Bagaimana anda bisa yakin bahwa dokumen itu benar-benar dibuat 1 bulan yang lalu, bukan baru kemarin?
  • Bagaimana anda bisa yakin bahwa si X lah yang menulis dokumen itu?
  • Bagaimana anda bisa yakin bahwa apa yang anda lihat adalah apa yang ditulis X 1 bulan yang lalu? Mungkin saja yang anda lihat sekarang sudah diubah dan berbeda 180 derajat dengan yang ditulis X 1 bulanyang lalu.

Pertanyaan-pertanyaan itu lah yang menjadi vulnerability yang di-exploit DC sehingga ilusinya bisa dilakukan. Dengan kata lain vulnerability yang dimaksud adalah: Authentication (siapa sebenarnya pembuat dokumen) dan Integrity (apakah dokumen itu masih asli atau sudah diubah).

Digital Signature

Kriptografi kini sudah sangat maju sehingga pertanyaan-pertanyaan itu bisa dijawab dengan meyakinkan. Teknologi yang saya maksud adalah digital signature, yang merupakan gabungan dari kriptografi asimetris dengan fungsi hash.

digital signature process

signing and verifying

Proses signing dokumen adalah menghitung fingerprint dokumen dengan fungsi hash, lalu meng-enkripnya dengan kunci private si pembuat dokumen.

Digital signature adalah fingerprint/hash  yang ter-enkripsi.

Penerima dokumen bisa melakukan verifikasi dengan cara:

  1. Melakukan dekripsi signature dengan kunci publik pembuat dokumen sehingga kembali menjadi fingerprint.
  2. Menghitung fingerprint dokumen yang diterima.
  3. Membandingkan nilai fingerprint dari langkah 1 dan langkah 2, jika tidak sama maka dokumen compromised dan tidak bisa dipercaya lagi.

Dokumen yang memiliki digital signature yang valid membuktikan bahwa:

  • Dokumen itu benar-benar dibuat oleh pembuatnya,
  • Dokumen itu tidak pernah berubah sejak ditanda tangani.

Lalu bagaimana dengan umur? Sebenarnya kita tidak bisa mengukur umur sebuah file. File hanyalah untaian bit yang tidak lain hanyalah konsep yang mewakili keadaan ada atau tidak ada.

Sesuatu yang tidak memiliki wujud fisik tidak bisa diukur umurnya. Umur file adalah ilusi dari meta-data tanggal create yang mudah dimanipulasi.

Maka untuk menyiasatinya, tanggal pembuatan file harus dimasukkan dalam dokumen (sebagai bagian dari data, bukan meta-data) yang telah di-sign. Sehingga apabila ada perubahan pada tanggal pembuatan maka signature akan menjadi tidak valid lagi.

Dengan cara ini sebenarnya umur file tergantung dari apakah pencantuman tanggal pembuatan dilakukan dengan benar. Bisa saja dokumen diberi cap waktu pembuatan tanggal 15 padahal sebenarnya dibuat tanggal 10.

The Scenario

Kembali ke ilusi DC tadi, seandainya ilusi itu dilakukan dengan digital signature maka skenarionya kurang lebih begini:

  1. DC mempublikasikan public keynya ke repository public key di internet.
  2. Pada tanggal 6 juni, prediksi ditulis dalam sebuah file “prediksi.txt”.
  3. File prediksi.txt itu di-sign secara digital oleh DC.
  4. Signature prediksi.txt dipublikasikan lewat internet sehingga orang lain bisa mengkopi dan mencatatnya di komputer masing-masing.

File prediksi.txt sendiri tidak dipublikasikan, karena memang dirahasiakan hingga dibuka pada tanggal 30 juni. Bila telah tiba waktu pembukaan isi file, maka isi file prediksi.txt dibacakan dan dipublikasikan (boleh didownload bebas dari internet).

Kini siapapun bisa melakukan verifikasi dengan cara:

  1. Isi file prediksi.txt yang didownload dari internet dihitung fingerprintnya dengan fungsi hash.
  2. Signature yang telah dipublikasikan sebelumnya di-dekrip dengan public-key DC, hasilnya adalah fingerprint.
  3. Fingerprint di langkah 1 dibandingkan dengan fingerprint dari langkah 2. Bila match, berarti file prediksi.txt yang didownload 30 juni sama dengan file prediksi.txt yang dibuat pada tanggal 6 juni, dengan kata lain kita yakin bahwa file yang didownload pada tanggal 30 juni dibuat pada tanggal 6 juni.

Kesimpulan

Dengan digital signature kita bisa yakin akan integritas dan ke-otentik-an suatu dokumen, dan bila disebutkan juga tanggal pembuatannya dalam dokumen kita juga bisa (lebih) yakin akan umur sebuah file.

Jadi bila DC berani melakukan ilusinya dengan skenario ini dan hasil prediksinya 100% benar, maka secara teknis saya berani mengatakan dia memang benar-bener berhasil memprediksi, entah kebetulan atau tidak buat saya itu tidak penting.

Write a Comment

Comment

  1. Terakhir, doi prediksi pilpres gila bisa tepat begitu ampe ke 2 digit belakang koma. Terlepas ini cuma ilusi doang, tapi DC patut diacungi jempol ama kelihaian dia bikin yang kayak begini-an.

  2. mau aja lu gua boongin
    gua aja dapat idenya dari staff gua
    gua pelajari dikit, ah ternyata masuk akal
    ah gua bikin aja ilusinya
    tapi btw gua juga bosen sulap begini. banyak yang ketawain
    disisi lain sialan si demian malah lebih spektakuler…
    nanti tunggu aja lah