Bagaimana Anda bisa memaksa suatu pihak untuk jujur (mematuhi aturan protokol)?
Saya telah melihat beberapa mekanisme seperti komitmen, bukti dan lain-lain, tetapi mereka tampaknya tidak menyelesaikan seluruh masalah. Sepertinya saya bahwa struktur desain protokol dan mekanisme tersebut harus melakukan pekerjaan. Apakah ada yang punya klasifikasi yang baik itu.
Sunting
Saat mendesain protokol aman, jika Anda memaksa suatu pihak untuk jujur, desainnya akan jauh lebih mudah meskipun penerapan ini memiliki hasil sendiri. Saya telah melihat ketika merancang protokol aman, desainer menganggap sesuatu yang tampaknya tidak realistis bagi saya, misalnya untuk menganggap semua pihak jujur dalam kasus terburuk atau mengasumsikan kejujuran server yang mengelola data pengguna. Tetapi ketika melihat desain protokol dalam model yang lebih ketat, Anda jarang melihat asumsi seperti itu (setidaknya saya belum melihatnya - saya kebanyakan mempelajari protokol lebihKerangka kerja UC dari Canetti yang saya pikir belum sepenuhnya diformalkan). Saya bertanya-tanya, apakah ada klasifikasi yang baik tentang cara-cara di mana Anda dapat memaksa suatu pihak untuk jujur atau apakah ada kompiler yang dapat mengubah protokol input menjadi satu dengan pihak-pihak yang jujur?
Sekarang saya akan menjelaskan mengapa saya pikir ini semata-mata tidak melakukan pekerjaan meskipun itu mungkin tampak tidak relevan. Ketika merancang protokol dalam kerangka UC, yang diuntungkan dari paradigma ideal / nyata, setiap tautan komunikasi dalam model ideal diautentikasi, yang tidak benar dalam model nyata. Jadi perancang protokol mencari metode alternatif untuk mengimplementasikan saluran ini melalui asumsi PKI atau CRS (Common Reference String). Tetapi ketika merancang protokol otentikasi, menganggap saluran yang diautentikasi salah. Misalkan kita sedang merancang protokol otentikasi dalam kerangka UC, ada serangan di mana musuh memalsukan identitas suatu pihak, tetapi karena asumsi tautan yang diautentikasi dalam model ideal serangan ini tidak diasumsikan dalam kerangka ini! Anda bisa merujukMemodelkan serangan orang dalam pada protokol pertukaran kunci grup . Anda mungkin memperhatikan bahwa Canetti dalam karya seminalisnya, gagasan pertukaran kunci dan saluran aman yang dapat dikomposisikan secara universal, menyebutkan gagasan keamanan sebelumnya yang disebut SK-Security yang cukup untuk memastikan keamanan protokol otentikasi. Dia entah bagaimana mengaku (dengan menyatakan bahwa ini adalah masalah teknis) bahwa definisi UC dalam konteks ini terlalu ketat dan menyediakan varian santai yang disebut non-informasi oracle (yang membingungkan saya, karena saya belum melihat model keamanan ini di mana pun , Saya tidak dapat mencocokkan pola keamanan ini dengan pola keamanan lainnya, mungkin kurangnya pengetahuan saya: D).
[Sebagai catatan tambahan, Anda hampir dapat memiliki protokol Sk-secure yang dikonversi menjadi yang aman UC terlepas dari waktu simulator. Misalnya, Anda cukup menghapus tanda tangan pesan dan meminta simulator mensimulasikan seluruh interaksi dengan cara dummy. Lihat Pertukaran Kunci Grup Kontribusi yang Dapat Diubah Secara Universal untuk bukti! Sekarang anggaplah ini adalah protokol pertukaran kunci grup dengan banyak pihak secara polin, apa yang akan menjadi efisiensi simulator ?? Ini adalah asal dari pertanyaan saya yang lain di forum ini .]
Lagi pula, karena kurangnya komitmen dalam model biasa (lebih dari UC), saya mencari cara lain untuk membuat protokol aman dengan hanya memotong kebutuhan untuk relaksasi itu. Gagasan ini sangat mendasar dalam pikiran saya dan muncul di benak saya hanya dengan mempelajari skema komitmen terbaru dari canetti dalam model sederhana: Adaptive Hardness dan Composable Security dalam Model Plain dari Asumsi Standar .
BTW, saya tidak mencari bukti nol-pengetahuan karena karena alasan yang saya tidak tahu, setiap kali seseorang telah menggunakan salah satu dari mereka dalam protokol bersamaan (lebih dari kerangka UC), yang lain menyebut protokol sebagai tidak efisien (mungkin karena memutar ulang simulator).
sumber
Jawaban:
Sayangnya, Anda tidak dapat memaksa orang untuk melakukan apa yang menurut protokoler harus mereka lakukan.
Bahkan orang-orang yang bermaksud baik yang bermaksud mengikuti protokol kadang-kadang melakukan kesalahan.
Tampaknya ada setidaknya 3 pendekatan:
desain mekanisme Dalam teori permainan, merancang situasi (seperti menyiapkan aturan lelang) sedemikian rupa sehingga orang-orang yang mementingkan diri sendiri hanya untuk kepentingan pribadi mereka sendiri akhirnya melakukan apa yang diinginkan oleh perancang yang disebut "desain mekanisme" . Secara khusus, menggunakan teori implementasi , situasi dapat dirancang sedemikian rupa sehingga hasil akhir memaksimalkan manfaat total bagi semua orang, menghindari situasi yang tidak dirancang dengan baik seperti "tragedi milik bersama" atau "dilema tahanan" di mana terjadi hal-hal yang tidak terjadi pada siapa pun. bunga jangka panjang.
Beberapa proses yang paling kuat dirancang agar kompatibel dengan insentif .
Teori permainan biasanya membuat asumsi penyederhanaan bahwa semua agen yang relevan "rasional". Dalam teori permainan, "rasional" berarti bahwa seorang agen lebih memilih beberapa hasil daripada hasil lainnya, bersedia dan mampu mengubah tindakannya dengan cara yang ia harapkan (mengingat informasi yang tersedia baginya) akan menghasilkan hasil yang lebih disukai (miliknya sendiri). kepentingan pribadi yang sempit), dan dia cukup pintar untuk menyadari bahwa agen rasional lainnya akan bertindak serupa untuk mencoba mendapatkan hasil yang paling disukai dari semua hasil yang mungkin dihasilkan dari pilihan tindakan itu.
Seorang desainer untuk sementara waktu dapat membuat asumsi penyederhanaan bahwa semua orang hanya bertindak sesuai dengan kepentingan pribadi mereka yang sempit. Asumsi itu membuatnya lebih mudah untuk merancang situasi menggunakan teori implementasi. Namun, setelah desain selesai, tidak masalah apakah orang bertindak sesuai dengan kepentingan pribadi mereka yang sempit (" Homo economicus "), atau apakah mereka altruistik dan ingin memaksimalkan total manfaat bersih untuk semua orang - dalam situasi yang dirancang dengan baik, kedua jenis orang membuat pilihan yang persis sama dan hasil akhir memaksimalkan manfaat total untuk semua orang.
protokol konvergen
Saat merancang protokol perutean , setiap node dalam jaringan mengirim pesan ke tetangganya menyampaikan informasi tentang apa yang bisa dicapai oleh node lain dari node itu.
Sayangnya, terkadang pesan-pesan ini memiliki kesalahan. Lebih buruk lagi, kadang-kadang sebuah simpul tidak terkonfigurasi dan memuntahkan banyak pesan yang menyesatkan dan bahkan mungkin dibuat dengan cara jahat.
Meskipun kita manusia tahu pesannya mungkin salah, kita biasanya merancang protokol sehingga simpul yang berfungsi dengan baik mempercayai setiap pesan dan menyimpan informasi dalam tabel peruteannya, dan membuat keputusan seolah-olah percaya bahwa informasi itu sepenuhnya benar.
Setelah beberapa manusia mematikan simpul yang buruk (atau memutusnya dari jaringan), kami biasanya merancang protokol untuk dengan cepat menyampaikan informasi yang baik untuk menghilangkan informasi yang korup, dan dengan cepat menyatu pada keadaan yang berguna.
pendekatan gabungan
Desain mekanisme algoritmik tampaknya mencoba untuk menggabungkan pendekatan jaringan toleran-kesalahan dan pendekatan mekanisme-teori permainan.
@Yoichi Hirai dan Aaron, terima kasih telah menunjukkan beberapa upaya menarik untuk menggabungkan teori permainan dan kriptografi.
sumber
Joe Halpern memiliki slide tentang topik itu. http://games2009.dimi.uniud.it/Halpern.pdf
Ini tentang memberikan insentif kepada para pihak sehingga mereka mengikuti protokol. Mekanisme-mekanisme tersebut membutuhkan rasionalitas para pihak dan argumennya didasarkan pada teori permainan.
sumber