Kötelezettségvállalási rendszer

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2017. szeptember 3-án áttekintett verziótól ; az ellenőrzések 17 szerkesztést igényelnek .

A kriptográfiában a kötelezettségvállalási séma vagy a bitkötelezettségi séma ( eng.  Commitment séma ) egy kriptográfiai primitív , amely lehetővé teszi bármely kiválasztott érték rögzítését (kiválasztott utasítás, információrészlet), rejtve mások számára, és lehetővé teszi, hogy később felfedje. a rögzített érték [1 ] . A kötelezettségvállalási sémák úgy vannak kialakítva, hogy a fél ne változtassa meg az értéket vagy az állítást a benyújtás után, azaz a kötelezettségvállalási sémák valósítják meg az adatkötést . A kötelezettségvállalási sémák számos kriptográfiai protokollban alkalmazhatók, beleértve a biztonságos protokollt isérmefeldobás , zéró tudás igazolás, bizalmas számítási protokoll stb.

A séma működésének elképzeléséhez vegye fontolóra, hogy a feladó egy lakattal lezárt dobozba helyezi az üzenetet, és továbbadja a dobozt a címzettnek. Az üzenet el van rejtve a címzett elől, aki maga nem tudja kinyitni a zárat. Attól a pillanattól kezdve, hogy az üzenetdoboz a címzett birtokába kerül, a doboz tartalmát a feladó nem tudja megváltoztatni – a dobozt egyszerűen kinyitja, ha a küldő később úgy dönt, hogy átadja a kulcsot a címzettnek.

A kötelezettségrendszerben két fél interakciója két szakaszban történik:

Az egyszerű kötelezettségvállalási sémákban az átviteli szakasz egyetlen üzenet elküldéséből áll a feladótól a fogadó felé. Ezt az üzenetet elkötelezettségnek nevezik. Fontos, hogy a kiválasztott érték ebben a fázisban ne tudható a címzett számára (ezt nevezzük rejtőzködő tulajdonságnak). Az egyszerű közzétételi szakasz abból áll, hogy a feladó egyetlen üzenetet küld a címzettnek, majd a címzett egy kötelezettségvállalási ellenőrzést hajt végre. Az átviteli fázisban választott érték lehet az egyetlen, amelyet a küldő ki tud számítani, és amelyet a bővítési fázis során ellenőriznek (ezt hívják kötési tulajdonságnak).

Történelem

A kötelezettségvállalási sémák fogalmát talán először Gilles Brassard , David Chaum és Claude Crepeau formalizálta 1988-ban [2] különböző típusú kötelezettségvállalási sémákon alapuló, NP-osztályú nulla tudásalapú protokollok részeként [3] . A koncepciót korábban is használták, de formai megfontolás nélkül. A kötelezettségek fogalma megjelent Manuel Bloom [4] és mások munkáiban, vagy mondjuk az eredeti egyszeri egybites aláírási séma Lamport -aláírásának részeként .

Alkalmazás

Érmefeldobás

Tegyük fel , hogy Alice és Bob egy érme feldobásával akarnak megoldani egy vitát . Ha fizikailag ugyanazon a helyen vannak, az eljárás a következő:

  1. Alice sejti az érmefeldobás kimenetelét;
  2. Bob feldob egy érmét;
  3. Ha Alice tippje helyes, ő nyer, ellenkező esetben Bob nyer.

Ha Alice és Bob nem ugyanazon a helyen vannak, akkor probléma van a vita megoldásával. Miután Alice kitalálta, és elmondta Bobnak, hazudhat az érmefeldobás eredményéről oly módon, hogy az eredmény az ő számára nyer. Hasonlóképpen, ha Alice nem jelenti be a tippjét Bobnak, miután Bob feldobja az érmét és bejelenti az eredményt, Alice jelentheti, hogy megjósolta a számára nyerő eredményt. Alice és Bob egy kötelezettségvállalási sémát használhat ebben az eljárásban, amely lehetővé teszi, hogy mindketten megbízzanak az eredményben:

  1. Alice kitalál egy érmefeldobást, de Bobnak csak kötelezettséget küld;
  2. Bob feldob egy érmét, és jelenti az eredményt Alice-nek;
  3. Alice felfedi sejtését;
  4. Bob ellenőrzi, hogy Alice feltételezése összhangban van-e az elkötelezettségével;
  5. Ha Alice tippje megegyezik a Bob által jelentett érmefeldobás kimenetelével, Alice nyer, ellenkező esetben Bob nyer.

Ahhoz, hogy Bob a maga javára torzítsa az eredményeket, teljesítenie kell a benne foglalt kötelezettséget. Ha a kötelezettségvállalási séma jól felépített, akkor Bob nem tudja torzítani az eredményeket. Ezenkívül Alice nem tudja befolyásolni az eredményt, ha nem tudja megváltoztatni az általa előre megjósolt értéket a dobás és a commit előtt [4] [5] .

Ennek a problémának az igazi alkalmazása akkor létezik, amikor az emberek (gyakran a médiában) döntést hoznak, és egy „lezárt borítékban” adják meg a választ, amelyet egy későbbi időpontban kinyitnak.

Nulla tudású bizonyítékok

Az egyik jól ismert konkrét példa a kötelezettségvállalási séma használata a nulla tudásalapú bizonyításokban . A kötelezettségvállalásokat ezekben a protokollokban két fő céllal használják: először is, hogy a feladó részt vehessen olyan sémákban, ahol az ellenőrző választási lehetőséget kap, hogy mit ellenőrizzen, a küldő pedig csak azt mutatja meg, ami megfelel az ellenőrző választásának. A kötelezettségvállalási sémák lehetővé teszik a feladó számára, hogy minden információt előre megadjon, és csak azt fedje fel, amit később tudnia kell a bizonyításban [6] . A kötelezettségvállalásokat a zéró tudás bizonyítása során is használja a hitelesítő, aki gyakran előre megadja választását a kötelezettségvállalásban. Ez lehetővé teszi a nulla tudásszintű igazolások párhuzamos építését anélkül, hogy a feladótól a címzett felé redundáns információ derülne ki [7] .

Megerősített titkos csere

A kötelezettségvállalási séma másik fontos felhasználási területe az ellenőrizhető titkos megosztás megvalósítása, amely a bizalmas számítási protokoll kritikus építőköve . A titkos megosztási sémában az üzenetet részekre osztják – „részvényekre”, és a több fél mindegyike „részvényeket” kap, amelyeket mindenki elől el kell rejteni, kivéve az adott rész tulajdonosát. A titkot csak az eredeti csoport résztvevőiből álló koalíció teremtheti újra, és a koalíciónak legalább néhány, kezdetben ismert számú résztvevőt kell tartalmaznia. A titkok megosztása a biztonságos számítástechnika számos protokolljának középpontjában áll: például egy bizonyos megosztott bemenettel rendelkező funkciók biztonságos kiértékeléséhez, ahol titkos megosztott erőforrásokat használnak. Ha azonban a támadók megosztott erőforrásokat generálnak, sérülékenység keletkezhet, és ellenőrizni kell az erőforrások helyességét. Egy ellenőrizhető titokmegosztási konstrukcióban a titok megosztása egyedi megosztási kötelezettségvállalással jár. A kötelezettségvállalások semmi olyat nem árulnak el, ami segíthetne a támadóknak, de lehetővé teszik az egyes felek számára, hogy ellenőrizzék a megosztásaik helyességét, és kiszűrjék a támadókat [8] .

Épület

A kötelezettségvállalási séma lehet teljesen kötelező (Alice nem változtathatja meg a doboz tartalmát az átvitel után, még akkor sem, ha korlátlan számítási erőforrással rendelkezik), vagy tökéletesen elrejtőzhet (Bob nem tudja kinyitni a dobozt, amíg Alice át nem adta a kulcsot, még akkor sem, ha korlátlanul rendelkezik vele). számítási erőforrások). ), de nem egyszerre [9] .

Az elkötelezettség kvantumséma

Érdekes kérdés merül fel a kvantumkriptográfiában : léteznek-e kvantumszinten feltétel nélkül biztonságos bithez kötött kötelezettségvállalási sémák, vagyis olyan protokollok, amelyek (legalábbis aszimptotikusan) kötődnek és rejtőznek, még akkor is, ha a számítási erőforrásoknak nincs korlátja? Remélhetőleg lesz mód a kvantummechanika belső tulajdonságainak kiaknázására , például a kvantumkulcs-elosztási protokollban . [tíz]

1993-ban javasoltak egy protokollt a bitkötelezettségek megvalósítására a kvantummechanikán belül, és ennek a protokollnak a feltétel nélküli biztonsága már jó ideje általánosan elfogadott. Ez az eredmény azonban tévesnek bizonyult. A BCJL protokollnak nevezett protokoll bizonytalansága 1995 őszén bebizonyosodott. 1996-ban Dominic Myers elméletileg bebizonyította, hogy lehetetlen egy feltétel nélkül biztonságos sémát megvalósítani. Bármely ilyen protokoll lecsökkenthető protokolllá, ha a rendszer az átviteli fázis után két tiszta állapot egyikében van , attól függően, hogy Alice milyen bitet akar rögzíteni. Ha a protokoll tökéletesen rejtőzik, akkor Alice ezeket az állapotokat egységesen egymásba tudja alakítani a Schmidt-dekompozíció tulajdonságaival , hatékonyan elnyomva a kötési tulajdonságot [11] .

Jegyzetek

  1. Goldreich O. Zero-Knowledge Proofs for NP: Commitment Schemes // A kriptográfiai alapeszközök alapjai: 1. kötet. - Cambrige University Press, 2001. - P. 224. - 372 p. - ISBN 0-511-04120-9 . - ISBN 0-521-79172-3 .
  2. Brassard G., Chaum D., Crepeau C. Minimum Disclosure Proofs of Knowledge  // Journal of Computer and System Sciences. - 1998. - T. 37 . - S. 157-158 . — ISSN 0022-0000 . Az eredetiből archiválva : 2011. szeptember 27.
  3. Bizonyítékok, amelyek nem hoznak semmi mást, csak érvényességüket, 1991 , p. 698.
  4. ↑ 1 2 Blum M. Érmefeldobás telefonon lehetetlen problémák megoldására szolgáló protokoll  // ACM SIGACT News. - 1983. - T. 15 , sz. 1 . – S. 23–27 . — ISSN 0163-5700 . - doi : 10.1145/1008908.1008911 . Az eredetiből archiválva : 2018. december 7.
  5. Naor M. Bit Commitment Using Pseudorandomness  // Journal of Cryptology. - 1991. - január ( 4. köt. , 2. szám ). - S. 152-153 . — ISSN 0933-2790 . - doi : 10.1007/BF00196774 .
  6. Bizonyítékok, amelyek nem hoznak semmi mást, csak érvényességüket, 1991 , p. 721.
  7. Goldreich O., Krawczyk H. A Zero-Knowledge Proof Systems összetételéről  // SIAM Journal on Computing. - 1996. - február ( 25. évf. , 1. szám ). - S. 172 . — ISSN 0097-5397 . - doi : 10.1137/S0097539791220688 .
  8. Gennaro R., Rabin MO, Rabin T. Egyszerűsített VSS és Fast-track többpárti számítások küszöbkriptográfiára vonatkozó alkalmazásokkal  // Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing. - New York, NY, USA: ACM, 1998. - S. 2-4 . — ISBN 978-0-89791-977-7 . - doi : 10.1145/277697.277716 . Archiválva : 2021. május 7.
  9. Damgard IB, Nielsen JB Perfect Hiding and Perfect Binding Univerzálisan összeállítható kötelezettségvállalási sémák állandó bővítési tényezővel  // BRICS jelentéssorozat. - Dánia, 2001. - október. - S. 1 . — ISSN 0909-0878 . Archiválva : 2020. október 25.
  10. A feltétel nélkül biztonságos kvantumbit-lekötés lehetetlen, 1997 , p. egy.
  11. A feltétel nélkül biztonságos kvantumbit-lekötés lehetetlen, 1997 , p. 3-4.

Irodalom