Sitoumusjärjestelmä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 3. syyskuuta 2017 tarkistetusta versiosta . tarkastukset vaativat 17 muokkausta .

Salaustekniikassa sitoumusmalli tai bittisitoumusmalli ( eng. Commitment Scheme ) on kryptografinen primitiivi , jonka avulla voit korjata minkä tahansa valitun arvon (valitun lauseen, tiedon bitin ) ja pitää sen piilossa muille, jotta se voidaan myöhemmin paljastaa kiinteä arvo [1 ] . Sitoumusskeemat on suunniteltu siten, että osapuoli ei voi muuttaa arvoa tai väitettä lähettämisen jälkeen, eli sitoumusskeemat toteuttavat datan sidontaa . Sitoumusjärjestelmiä voidaan soveltaa useissa kryptografisissa protokollissa , mukaan lukien suojattu kolikonheitto , nollatietotodistus, luottamuksellinen laskentaprotokolla ja muut.  

Jos haluat kuvitella, kuinka järjestelmä toimii, harkitse lähettäjää sijoittamassa viestin riippulukkoon laatikkoon ja välittävän laatikon vastaanottajalle. Viesti on piilossa vastaanottajalta, joka ei voi itse avata lukkoa. Siitä hetkestä lähtien, kun viestilaatikko on vastaanottajan hallussa, lähettäjä ei voi muuttaa laatikon sisältöä – laatikko yksinkertaisesti avataan, jos lähettäjä myöhemmin päättää antaa avaimen vastaanottajalle.

Kahden osapuolen vuorovaikutus velvoitejärjestelmässä tapahtuu kahdessa vaiheessa:

Yksinkertaisissa sitoutumismenetelmissä lähetysvaihe koostuu yhden viestin lähettämisestä lähettäjältä vastaanottajalle. Tätä viestiä kutsutaan sitoumukseksi. On tärkeää, että valittu arvo ei ole vastaanottajan tiedossa tässä vaiheessa (tätä kutsutaan piiloomaisuudeksi). Yksinkertainen luovutusvaihe koostuu yhden viestin lähettämisestä lähettäjältä vastaanottajalle, jonka jälkeen vastaanottaja suorittaa sitoumustarkistuksen. Lähetysvaiheessa valitun arvon tulee olla ainoa, jonka lähettäjä voi laskea ja joka tarkistetaan laajennusvaiheessa (tätä kutsutaan sidosominaisuudeksi).

Historia

Gilles Brassard , David Chaum ja Claude Crepeau muodostivat ehkä ensimmäisenä sitoumusjärjestelmien käsitteen vuonna 1988 [2] osana erilaisia ​​NP-luokan nollatietoprotokollia, jotka perustuvat erityyppisiin sitoumusjärjestelmiin [3] . Käsitettä on käytetty aiemminkin, mutta ilman muodollista harkintaa. Velvoitteiden käsite esiintyi Manuel Bloomin [4] ja muiden teoksissa tai osana esimerkiksi alkuperäisen kertaluonteisen yksibittisen allekirjoitusjärjestelmän Lamport -allekirjoitusta.

Sovellus

Kolikonheitto

Oletetaan , että Alice ja Bob haluavat ratkaista riidan heittämällä kolikon . Jos ne ovat fyysisesti samassa paikassa, menettely menee seuraavasti:

  1. Alice arvaa kolikonheiton tuloksen;
  2. Bob heittää kolikon;
  3. Jos Alicen arvaus on oikea, hän voittaa, muuten Bob voittaa.

Jos Alice ja Bob eivät ole samassa paikassa, tämän riidan ratkaisemisessa on ongelma. Kun Alice on arvannut ja kertonut sen Bobille, hän voi valehdella kolikonheiton tuloksesta siten, että lopputulos on hänelle voitto. Vastaavasti, jos Alice ei ilmoita arvaustaan ​​Bobille, sen jälkeen kun Bob on heilauttanut kolikon ja ilmoittanut tuloksen, Alice voi raportoida ennustaneensa hänelle voittoa. Alice ja Bob voivat käyttää sitoutumisjärjestelmää tässä menettelyssä, jonka avulla he molemmat voivat luottaa tulokseen:

  1. Alice arvaa kolikonheiton, mutta lähettää Bobille vain sitoumuksen;
  2. Bob heittää kolikon ja raportoi tuloksen Alicelle;
  3. Alice paljastaa arvauksensa;
  4. Bob tarkistaa, että Alicen oletus on yhdenmukainen hänen sitoutumisensa kanssa;
  5. Jos Alicen arvaus vastaa Bobin ilmoittamaa kolikonheiton tulosta, Alice voittaa, muuten Bob voittaa.

Jotta Bob vääristää tuloksia edukseen, hänen on täytettävä implisiittiset velvoitteet. Jos sitoumusjärjestelmä on hyvin rakennettu, Bob ei voi vääristää tuloksia. Liisa ei myöskään voi vaikuttaa tulokseen, jos hän ei voi muuttaa ennustamaansa arvoa ennen heittoa ja sitoutumista [4] [5] .

Tämän ongelman todellinen sovellus on olemassa, kun ihmiset (usein tiedotusvälineissä) tekevät päätöksen ja antavat vastauksen "suljetussa kirjekuoressa", joka avataan myöhemmin.

Nollatietotodisteet

Eräs hyvin tunnettu esimerkki on sitoutumisjärjestelmän käyttö nollatietotodistuksissa . Sitoumuksia käytetään näissä protokollissa kahteen päätarkoitukseen: ensinnäkin, jotta lähettäjä voi osallistua järjestelmiin, joissa todentaja voi valita, mitä tarkistaa, ja lähettäjä näyttää vain sen, mikä vastaa todentajan valintaa. Sitoumusmallit antavat lähettäjälle mahdollisuuden määritellä kaikki tiedot etukäteen ja paljastaa vain sen, mikä on tiedettävä myöhemmin todisteessa [6] . Todentaja käyttää sitoumuksia myös tiedon nollatodistuksessa, joka usein ilmoittaa valintansa etukäteen sitoumuksessa. Tämä mahdollistaa nollatietotodisteiden rakentamisen rinnakkain paljastamatta ylimääräistä tietoa lähettäjältä vastaanottajalle [7] .

Vahvistettu salainen vaihto

Toinen tärkeä sitoutumisjärjestelmän käyttökohde on todennettavissa olevan salaisuuden jakamisen toteuttaminen, joka on luottamuksellisen laskentaprotokollan kriittinen rakennuspalikka . Salaisuuden jakamisjärjestelmässä viesti jaetaan osiin - "osuuksiin", ja kukin useista osapuolista saa "osuuksia", jotka on piilotettava kaikilta paitsi tietyn osan omistajalta. Salaisuuden voi luoda uudelleen vain alkuperäisen ryhmän osallistujien koalitio, ja koalitiossa on oltava vähintään alustavasti tiedossa oleva määrä osallistujia. Salaisuuksien jakaminen on monien suojatun tietojenkäsittelyn protokollien ytimessä: esimerkiksi toiminnon suojatussa arvioinnissa jollakin jaetulla syötteellä, jossa käytetään salaisia ​​jaettuja resursseja. Jos hyökkääjät kuitenkin luovat jaettuja resursseja, haavoittuvuus voi syntyä ja näiden resurssien oikeellisuus on tarkistettava. Todennettavissa olevassa salaisuuden jakamisjärjestelmässä salaisuuden jakamiseen liittyy yksittäisiä osakesitoumuksia. Sitoumukset paljastavat mitään, mikä voisi auttaa hyökkääjiä, mutta antaa jokaisen yksittäisen osapuolen tarkistaa, ovatko heidän osuutensa oikein ja karsia hyökkääjät [8] .

Rakennus

Sitoumusjärjestelmä voi olla joko täysin sitova (Alice ei voi muuttaa laatikon sisältöä siirron jälkeen, vaikka hänellä olisi rajattomasti laskentaresursseja) tai täydellisesti piilossa oleva (Bob ei voi avata laatikkoa ennen kuin Alice on siirtänyt avaimen, vaikka hänellä olisi rajattomasti laskentaresurssit). ), mutta ei samanaikaisesti [9] .

Sitoutumisen kvanttikaavio

Kvanttisalauksessa herää mielenkiintoinen kysymys : onko kvanttitasolla olemassa ehdottoman turvallisia bittisidottuja sitoumuksia, eli protokollia, jotka ovat (ainakin asymptoottisesti) sitovia ja piilottavia, vaikka laskentaresursseille ei ole rajoituksia? Toivotaan , että kvanttimekaniikan luontaisia ​​ominaisuuksia voitaisiin hyödyntää , kuten kvanttiavaimen jakeluprotokollassa . [kymmenen]

Vuonna 1993 ehdotettiin protokollaa bittisitoumusten toteuttamiseksi kvanttimekaniikassa, ja tämän protokollan ehdoton turvallisuus on yleisesti hyväksytty jo jonkin aikaa. Tämä tulos osoittautui kuitenkin vääräksi. Tämän protokollan, jota kutsutaan BCJL-protokollaksi, turvattomuus todistettiin syksyllä 1995. Vuonna 1996 Dominic Myers osoitti teoreettisesti, että on mahdotonta toteuttaa ehdottoman turvallista järjestelmää. Mikä tahansa tällainen protokolla voidaan pelkistää protokollaksi, kun järjestelmä on jossakin kahdesta selkeästä tilasta lähetysvaiheen jälkeen riippuen bitistä, jonka Alice haluaa lukita. Jos protokolla piiloutuu täydellisesti, niin Alice voi yhtenäisesti muuttaa nämä tilat toisiinsa käyttämällä Schmidt-hajoamisen ominaisuuksia , mikä tehokkaasti vaimentaa sitomisominaisuuden [11] .

Muistiinpanot

  1. Goldreich O. Zero-Knowledge Proofs for NP: Commitment Schemes // Funds of Cryptography Basic Tools: Volume 1. - Cambrige University Press, 2001. - S. 224. - 372 s. - 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 . Arkistoitu alkuperäisestä 27. syyskuuta 2011.
  3. Todisteet, jotka eivät tuota muuta kuin niiden pätevyyttä, 1991 , s. 698.
  4. ↑ 1 2 Blum M. Kolikon heittäminen puhelimitse protokolla mahdottomien ongelmien ratkaisemiseksi  // ACM SIGACT News. - 1983. - T. 15 , no. 1 . — S. 23–27 . — ISSN 0163-5700 . - doi : 10.1145/1008908.1008911 . Arkistoitu alkuperäisestä 7. joulukuuta 2018.
  5. Naor M. Bit Commitment Using pseudoradomness  // Journal of Cryptology. - 1991. - tammikuu ( osa 4 , numero 2 ). - S. 152-153 . — ISSN 0933-2790 . - doi : 10.1007/BF00196774 .
  6. Todisteet, jotka eivät tuota muuta kuin niiden pätevyyttä, 1991 , s. 721.
  7. Goldreich O., Krawczyk H. Nolla-tietojärjestelmien koostumuksesta  // SIAM Journal on Computing. - 1996. - Helmikuu ( nide 25 , numero 1 ). - S. 172 . — ISSN 0097-5397 . - doi : 10.1137/S0097539791220688 .
  8. Gennaro R., Rabin MO, Rabin T. Yksinkertaistetut VSS- ja Fast-Track-moniosapuoliset laskennat kynnyssalauksen sovelluksilla  // 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 . Arkistoitu 7. toukokuuta 2021.
  9. Damgard IB, Nielsen JB Täydellinen piilotus ja täydellinen sidonta Universaalisti yhdistettävät sitoumusmallit jatkuvalla laajennuskertoimella  // BRICS-raporttisarja. - Tanska, 2001. - lokakuu. - S. 1 . — ISSN 0909-0878 . Arkistoitu 25. lokakuuta 2020.
  10. Ehdottoman turvallinen kvanttibittien sitoutuminen on mahdotonta, 1997 , s. yksi.
  11. Ehdottoman turvallinen kvanttibittien sitoutuminen on mahdotonta, 1997 , s. 3-4.

Kirjallisuus