Oh boy, harus mulai dari mana.
Yang besar pasti kotak hitam. Peneliti Crypto membuat keributan tentang hal-hal seperti masalah tidak dapat dipastikannya dari Random Oracle Model. Peneliti keamanan berada di ujung lain dan ingin semuanya dapat digunakan sebagai kotak hitam, bukan hanya fungsi hash. Ini adalah sumber ketegangan yang konstan.
Sebagai ilustrasi, jika Anda melihat analisis formal protokol keamanan, misalnya logika BAN , Anda akan melihat bahwa enkripsi simetris diperlakukan sebagai "cipher blok ideal." Ada perbedaan halus di sini - logika BAN (dan teknik analisis protokol lainnya) tidak mengklaim sebagai bukti keamanan; alih-alih, itu adalah teknik untuk menemukan kekurangan. Oleh karena itu tidak sepenuhnya benar bahwa model sandi yang ideal terlibat di sini. Namun, secara empiris benar bahwa sebagian besar analisis keamanan cenderung terbatas pada model formal, sehingga efeknya sama.
Kami bahkan belum berbicara tentang praktisi. Orang-orang ini biasanya bahkan tidak memiliki petunjuk bahwa primitif crypto tidak dimaksudkan untuk menjadi kotak hitam, dan saya ragu ini akan berubah - dekade mencoba untuk mengalahkan ini ke dalam kepala mereka tidak membuat perbedaan.
Untuk melihat seberapa buruk masalahnya, pertimbangkan penasihat keamanan ini terkait dengan kemampuan tanda tangan API. Bug ini sebagian disebabkan oleh serangan ekstensi-panjang dalam konstruksi Merkle-Damgard (yang merupakan sesuatu yang sangat mendasar), dan memengaruhi Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive dan Zoomr. Para penulis mencatat bahwa ini bukan daftar lengkap.
Saya benar-benar berpikir para praktisi pantas menerima bagian terbesar dari kesalahan atas keadaan yang menyedihkan ini. Di sisi lain, mungkin para ahli teori kripto perlu memikirkan kembali posisi mereka juga. Baris mereka adalah: "kotak hitam tidak mungkin dibangun; kita bahkan tidak akan mencoba." Yang saya katakan, karena jelas bahwa konstruksi Anda akan mendapatkan (mis) digunakan sebagai kotak hitam, mengapa tidak setidaknya mencoba membuat mereka sedekat mungkin dengan kotak hitam?
Makalah Merkle-Damgard Revisited adalah contoh yang bagus tentang apa yang saya bicarakan. Mereka mempelajari gagasan keamanan bahwa "fungsi hash panjang sewenang-wenang H harus berperilaku sebagai ramalan acak ketika blok bangunan panjang tetap dipandang sebagai ramalan acak atau blok-sandi yang ideal." Jenis penelitian teoritis ini berpotensi sangat berguna dalam praktik.
Sekarang mari kita lihat contoh evaluasi rangkaian Anda. Saya mohon tidak setuju dengan alasan Anda. Ini tidak seperti Anda akan mengambil biner yang dikompilasi dan secara membuta mengubahnya menjadi sebuah sirkuit. Sebaliknya, Anda hanya akan menerapkan evaluasi rangkaian untuk fungsi perbandingan mendasar yang biasanya cukup sederhana. Fairplay adalah implementasi evaluasi sirkuit. Seorang kolega saya yang bekerja dengannya memberi tahu saya bahwa ini sangat cepat. Meskipun benar bahwa efisiensi adalah masalah dengan evaluasi sirkuit (dan saya tahu contoh dunia nyata di mana ia ditolak karena alasan ini), itu jauh dari penghenti.
Alasan kedua saya tidak setuju dengan Anda adalah bahwa jika Anda berpikir tentang beberapa skenario kehidupan nyata yang khas di mana Anda mungkin ingin melakukan evaluasi rangkaian yang tidak diketahui - misalnya, ketika dua perusahaan mencari tahu apakah akan menggabungkan - biaya komputasi yang terlibat itu sepele dibandingkan dengan keseluruhan upaya manusia dan anggaran.
Jadi mengapa tidak ada yang menggunakan evaluasi fungsi aman generik dalam praktik? Pertanyaan bagus Ini membawa saya pada perbedaan kedua antara teori dan praktik: kepercayaan sebenarnya ada dalam praktik! Tidak semua yang perlu dilakukan dalam model paranoid. Serangkaian masalah yang orang benar-benar ingin pecahkan menggunakan kripto jauh, jauh lebih kecil dari apa yang dibayangkan oleh kriptografer.
Saya kenal seseorang yang memulai perusahaan yang mencoba menjual layanan perhitungan multi-pihak yang aman kepada klien perusahaan. Coba tebak - tidak ada yang menginginkannya. Cara mereka mendekati masalah ini adalah dengan menandatangani kontrak yang menentukan apa yang dapat dan tidak bisa Anda lakukan dengan data, dan bahwa Anda akan menghancurkan data setelah Anda selesai menggunakannya untuk tujuan yang dimaksud. Sebagian besar waktu, ini berfungsi dengan baik.
Poin terakhir saya tentang perbedaan antara teori dan praktik adalah tentang PKI. Makalah Crypto sering menempel kalimat di suatu tempat mengatakan "kami menganggap PKI." Sayangnya, sertifikat digital untuk pengguna akhir (berbeda dengan situs web atau karyawan dalam konteks perusahaan, di mana ada hierarki alami) tidak pernah terwujud. Makalah klasik ini menggambarkan keriuhan yang terjadi ketika Anda meminta orang normal untuk menggunakan PGP. Saya diberi tahu bahwa peranti lunaknya telah meningkat pesat sejak itu, tetapi masalah desain dan arsitektur serta keterbatasan manusia yang mendasarinya tidak jauh berbeda saat ini.
Saya tidak berpikir kriptografi harus melakukan sesuatu yang berbeda sebagai konsekuensi dari kurangnya PKI dunia nyata, kecuali untuk menyadari fakta bahwa itu membatasi penerapan protokol kriptografi di dunia nyata. Saya melemparkannya karena itu adalah sesuatu yang saya coba perbaiki.