Memaksa perilaku yang jujur

9

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

Yasser Sobhdel
sumber
2
Anda dapat melihat ini: wisdom.weizmann.ac.il/~oded/gmw2.html . Dalam makalah itu, pihak yang tidak jujur ​​dipaksa untuk bertindak jujur ​​dengan membuktikan (tanpa pengetahuan) bahwa mereka mengikuti protokol pada langkah sebelumnya.
MS Dousti
4
Saya pikir "memaksakan perilaku jujur" adalah definisi yang mungkin untuk kriptografi modern (yang lebih dari sekadar menyembunyikan informasi). Dalam hal itu, setiap sub-bidang kriptografi dapat dianggap sebagai pendekatan untuk pertanyaan itu.
Marc
Saya akan menulis hal yang sama dengan Marc. (Omong-omong, bukti interaktif atau bahkan definisi NP dapat juga dilihat sebagai "memaksakan perilaku yang jujur" pada prover, meskipun mereka biasanya tidak dianggap sebagai protokol kriptografi.) Pertanyaannya sangat luas, dan sepertinya ada tidak ada satu ukuran yang cocok untuk segala cara untuk menegakkan perilaku jujur ​​dalam berbagai situasi.
Tsuyoshi Ito
1
Apa yang sebenarnya Anda maksudkan dengan "tetapi mereka sepertinya tidak menyelesaikan seluruh masalah?" Bisakah kamu lebih spesifik?
Alon Rosen
@Sadeq: Lihat paragraf terakhir! @Marc & Tsuyoshi lto: Silakan lihat bagian Edit. mungkin membantu.
Yasser Sobhdel

Jawaban:

6

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:

  • teori kripto: anggap agen "baik" selalu mengikuti protokol, sementara agen "jahat" mencoba untuk menumbangkan protokol. Rancang protokol kripto sehingga agen yang baik mendapatkan apa yang mereka butuhkan, sementara agen jahat tidak mendapatkan apa pun.
  • teori permainan: anggap setiap agen hanya memperhatikan kepentingan pribadinya sendiri. Gunakan desain mekanisme untuk memaksimalkan manfaat total bagi semua orang.
  • jaringan toleran-kesalahan yang didistribusikan: anggap setiap agen sesekali membuat kesalahan, dan beberapa agen bot memuntahkan banyak pesan yang dibuat dengan cara jahat. Mendeteksi dan mengisolasi bot bot sampai diperbaiki; gunakan deteksi kesalahan dan koreksi (EDAC) untuk memperbaiki kesalahan sesekali; menggunakan protokol konvergen yang pada akhirnya menjadi kondisi yang berguna tidak peduli apa informasi awal yang salah disimpan dalam tabel routing.

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.

David Cary
sumber
4

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.

yhirai
sumber
1
Berikut makalah terkait untuk mengikuti slide: theory.stanford.edu/~vteague/STOC04.pdf - Pendekatan ini tidak "memaksa" orang untuk mengikuti protokol, tetapi mencoba merancang protokol untuk memberi insentif pada individu yang ingin untuk melakukannya. Tentu saja, untuk melakukan ini, Anda harus membuat asumsi tentang apa yang sebenarnya ingin dilakukan oleh orang yang mengikuti protokol ...
Aaron Roth
jika mungkin dapatkah Anda menjelaskan apa arti 'rasional' dalam konteks ini? misalnya apakah itu berarti kepatuhan terhadap serangkaian aksioma global yang mendasarinya? atau apakah itu berarti bahwa pihak-pihak yang terlibat memiliki perangkat aksioma yang sama? penjelasan yang sebelumnya menganggap saya absurd dalam skenario dunia nyata mana pun, karena individu sering kali memiliki motivasi mendasar yang sangat berbeda, dan dengan demikian dapat diharapkan untuk memperlakukan 'insentif' dengan cara yang sangat berbeda.
s8soj3o289
@blackkettle: pemain rasional memaksimalkan (harapan) fungsi utilitas. karena alasan yang Anda tunjukkan, selalu sulit untuk menemukan aksioma yang tepat yang harus dipenuhi oleh utilitas. tapi kami selalu mencoba set aksioma minimal. setiap buku ekonomi mikro yang bagus akan membahas detail masalah ini
Sasho Nikolov
@blackkettle: tentang makalah Halpern: dia berasumsi bahwa para pihak dalam protokol (berbagi rahasia) lebih suka mengetahui rahasia untuk tidak mengetahuinya, dan lebih memilih lebih sedikit daripada lebih banyak pihak lain yang tahu rahasianya. juga gagasan keseimbangan yang ia gunakan adalah keseimbangan Nash atas strategi yang tidak ditentukan (yaitu seorang pemain tidak akan memainkan strategi jika yang lain selalu setidaknya sama baiknya; juga, selama pemain lain tidak mengubah strategi mereka dan strategi saat ini tidak ada lebih buruk dari yang lain, dia juga tidak akan mengubahnya).
Sasho Nikolov