Feig - Fiat - Shamir protokol
Feig-Fiat-Shamir- protokollen er en nul-viden identifikationsprotokol , en generalisering af den tidligere Fiat-Shamir- protokol , udviklet af Uriel Feige , Amos Fiat [ ] og Adi Shamir . ) i 1986. Denne enkle at implementere og kommercielt betydningsfulde ordning blev patenteret af forfatterne et år efter dens udvikling.
Protokollen giver en part (beviser A) mulighed for at bevise over for en anden part (verifikator B), at de har hemmelige oplysninger uden at afsløre en eneste bit af denne information.
Protokollens sikkerhed er baseret på vanskeligheden ved at udtrække kvadratroden modulo et tilstrækkeligt stort sammensat tal n, hvis faktorisering er ukendt.
Der er nogle forbedringer til hovedversionen af protokollen for at reducere kompleksiteten af interaktioner mellem deltagere eller for at indlejre identiteter i skemaet.
Derudover kan Feig-Fiat-Shamir-identifikationsskemaet nemt konverteres til et signaturskema.
Historie
I 1986 udviklede israelske forskere fra Wyman Institute Uriel Feige, Amos Fiat og Adi Shamir en praktisk nul-viden identifikationsordning, der kunne implementeres selv på enheder med laveffektprocessorer, såsom smart cards, personlige computere, personlige identifikationsdokumenter [ 1] . Af kommercielle årsager ansøgte forfatterne om et amerikansk patent den 9. juli 1986 . Den amerikanske patent- og varemærkemyndighed skulle inden for seks måneder tage stilling til beslutningen om at udstede en ordre om at fjerne hemmeligholdelsesordningen [2] [3] .
Blot få dage før udløbet af en vis periode udstedte Patentstyrelsen en ordre, der forbød enhver offentliggørelse eller offentliggørelse af oplysninger om protokollen, og forklarede dette som en trussel mod den nationale sikkerhed. Desuden skulle forfatterne underrette alle amerikanske borgere med kendskab til Feig-Fiat-Shamir-ordningen, at deres afsløring kunne føre til alvorlige sanktioner - to års fængsel eller en bøde på ti tusinde dollars. Det var også nødvendigt at rapportere om alle udenlandske stater, som oplysninger om undersøgelsen blev videregivet til [2] [3] .
På dette tidspunkt havde Feige, Fiat og Shamir allerede holdt adskillige præsentationer på universiteter i Israel, Europa og USA og havde ansøgt om konferencen Association for Computing Machinery , som skulle afholdes i New York i maj 1987 [ 2] [3] .
Selvom udviklerne af protokollen håbede, at Weizmann Instituttet, hvor undersøgelsen blev udført, ville appellere ordren, sendte de alligevel et brev til konferenceudvalget, hvor de forklarede situationen. Derefter gik mange organisationer, såsom Bell Labs og The New York Times , hurtigt med til at løse problemet. Det største bidrag blev ydet af National Security Agency (NSA), som i første omgang var uvidende om den udstedte ordre. Efter at NSA blev informeret om det, blev ordren annulleret inden for to dage [2] [3] .
Shamir talte ved en konference i Association for Computing Machinery den 26. maj [4] , og 5 dage senere modtog forfatterne et patent på den udviklede protokol [5] .
Identifikationsskema
A beviser sin viden om hemmeligheden til B i løbet af runder uden at afsløre en eneste smule af selve hemmeligheden [1] .
Valg af systemindstillinger
Det betroede center T udgiver et stort antal , hvor og er primtal, der holdes hemmelige. Heltal og sikkerhedsparametre [6] er også valgt .
Generering af hemmeligheder for deltagere
Hver deltager vælger tilfældige heltal og tilfældige bits .
Så regner den ud .
Deltageren identificerer sig selv over for andre ved hjælp af de værdier , der fungerer som hans offentlige nøgle, mens den hemmelige nøgle kun er kendt af deltageren [6] .
Protokolhandlinger inden for en runde
- A vælger et tilfældigt heltal
beregner: og sender til part B .
- B sender A en tilfældig -bitvektor hvor eller .
- A beregner og sender B :.
- B vurderer: og kontrollerer at og [7] [6] .
Sikkerhed
Lemma 1: Hvis A og B følger protokollen, så accepterer B altid bevis A :
Bevis: pr. definition
- Amos Fiat, Adi Shamir "Sådan beviser du dig selv: Praktiske løsninger på identifikations- og signaturproblemer"
Hvis man antager, at factoring er en beregningsmæssig umulig opgave, er sandsynligheden for et vellykket protokolangreb . En angriber kan forsøge at efterligne en ærlig bruger ved at gætte de korrekte værdier af , forberede sig på det første trin og give i det tredje trin. Så sørger B for at . Men sandsynligheden for korrekt valg af værdier er i en runde og derfor i hele protokollen [1] .
For at opnå sikkerhedsniveauet er det således tilstrækkeligt at vælge og . Det betyder, at kun et ud af en million forsøg fra en uærlig bruger på at bedrage verifikatoren kan lykkes.
Protokollen beviser, at A har sin private nøgle uden at afsløre nogen viden om den, hvornår og [1] .
Eksempel
- Lad betroet center T vælge primtal og og publicer . Systemsikkerhedsindstillinger: , .
- For deltager A vælges tilfældige tal: , , og 3 bits: , , .
værdier beregnes: , , .
Offentlig nøgle A : , privat nøgle: .
- (a) A vælger et tilfældigt tal , en tilfældig bit , beregner: og sender det til B.
(b) B sender A en 3-bit vektor: .
(c) A beregner og sender B : .
(d) B beregner: og accepterer beviset for A siden og .
Forbedringer og ændringer af identifikationsskemaet
- Du kan nægte at vælge et fælles nummer for alle deltagere og give hver af dem mulighed for at vælge deres eget. Imidlertid vil eksistensen af et betroet center T stadig være nødvendig for at knytte hver deltager til sit modul [6] .
- For at reducere kompleksiteten af interaktionen mellem A og B , kan du erstatte den første besked, der sendes fra A til B , med en hashværdi . Følgelig vil B ved den sidste iteration af protokollen skulle operere i stedet for [6] sig selv .
- Skemaet kan ændres til at være baseret på hver enkelt deltagers identitet. For at gøre dette tildeles hver bruger A af det betroede center T en unik identifikationsstreng med oplysninger om deltageren (for eksempel navn, adresse, pasnummer osv.). Derefter beregner centret værdierne , hvor de ikke burde kunne skelnes fra en tilfældig funktion i polynomisk tid. Derefter, ved at kende faktoriseringen , beregner og udlæser det betroede center deres værdier A . Værdierne og bliver henholdsvis den offentlige og private nøgle for deltager A , og yderligere handlinger udføres i henhold til skemaet beskrevet ovenfor [7] [6] [3] .
- Den beskrevne protokol kan udføres parallelt. I dette tilfælde skal beskeder sendt fra A til B og tilbage indeholde data for alle runder på samme tid. Fordelen ved denne tilgang er, at den giver dig mulighed for at reducere kompleksiteten af eksekveringen ved at reducere antallet af producerede iterationer. En sådan ordning er sikker, men på grund af tekniske årsager mister den sin nul-viden egenskab. Faktum er, at parallel eksekvering kan tillade den uærlige verifikator B at bestemme ikke tilfældigt, men som funktioner af hele sættet sendt til ham fra A i det første trin. Hvis B gør dette ved hjælp af en envejs-hash-funktion , så vil den være i stand til at få information, som den ellers kun kunne beregne, hvis den kendte A 's hemmelighed . Det menes dog, at denne information ikke er "nyttig" (ved at vide det, vil B ikke være i stand til at efterligne A for en anden deltager), hvilket giver os mulighed for at betragte ordningen som stadig pålidelig [1] [8] .
Signatur Feig - Fiat - Shamira
Part B spiller en meget vigtig rolle i det interaktive identitetsskema - det genererer tilfældige værdier , der forhindrer deltager A i at snyde .
For at konvertere identifikationsskemaet til et signaturskema er det nok at ændre denne handling B til at bruge en hemmelig hashfunktion til at beregne [7] [6] [3] .
Meddelelsessignatur
Lad A ønsker at underskrive en besked .
- A vælger et tilfældigt heltal og beregner: .
- A beregner :.
- A beregner :.
- A sender B en besked , signatur og .
Signaturbekræftelse
Lad B ønsker at tjekke signaturen under beskeden .
- B beregner :.
- B bruger til at beregne : .
- Hvis de beregnede værdier matcher signaturen modtaget fra A , så accepterer B signaturen .
Noter
- ↑ 1 2 3 4 5 Feige, Uriel; Fiat, Amos; Shamir, Adi. Nul-viden beviser for identitet (engelsk) (utilgængeligt link) (1987). Hentet 10. november 2015. Arkiveret fra originalen 17. november 2015.
- ↑ 1 2 3 4 Susan Landau. Zero Knowledge and Department of Defence (engelsk) (1988). Hentet 10. november 2015. Arkiveret fra originalen 16. januar 2016.
- ↑ 1 2 3 4 5 6 Schneier B. Anvendt kryptografi. Protokoller, Algoritmer, C-kildekoder (2002). Hentet 10. november 2015. Arkiveret fra originalen 20. november 2015. (ubestemt)
- ↑ Alfred V. Aho. STOC'87 19. årlige ACM-konference om databehandlingsteori . ACM New York, NY, USA (1987).
- ↑ Metode, apparatur og artikel til identifikation og underskrift ( 31. maj 1987). Hentet 11. november 2015. Arkiveret fra originalen 21. november 2015.
- ↑ 1 2 3 4 5 6 7 A. Menezes, P. van Oorschot og S. Vanstone. Handbook of Applied Cryptography (engelsk) (1996). Hentet 10. november 2015. Arkiveret fra originalen 8. december 2015.
- ↑ 1 2 3 Amos Fiat, Adi Shamir. Sådan beviser du dig selv: Praktiske løsninger på identifikations- og signaturproblemer (engelsk) (link ikke tilgængeligt) (1986). Hentet 10. november 2015. Arkiveret fra originalen 3. marts 2016.
- ↑ Gilles Brassard, Claude Crepeau, Moti Yung. Alt i NP kan argumenteres i perfekt nul-viden i et begrænset antal runder (engelsk) (1989). Dato for adgang: 13. november 2015. Arkiveret fra originalen 17. november 2015.
Litteratur
- Fiat A. , Shamir A. Sådan beviser du dig selv: praktiske løsninger på identifikations- og signaturproblemer // Fremskridt inden for kryptologi - CRYPTO '86 :6. årlige internationale kryptologikonference, Santa Barbara, Californien, USA, 1986, Proceedings / A. M. Odlyzko - Berlin , Heidelberg , New York, NY , London [etc.] : Springer Berlin Heidelberg , 1987. - S. 186-194. - 490 sider. - ( Lecture Notes in Computer Science ; Vol. 263) - ISBN 978-3-540-18047-0 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-47721-7_12
- Landau S. Zero Knowledge og Forsvarsministeriet // Meddelelser Amer . Matematik. soc. / F. Morgan - AMS , 1988. - Vol. 35, Iss. 1. - S. 5-12. — ISSN 0002-9920 ; 1088-9477
- Feige U. , Fiat A. , Shamir A. Zero-Knowledge Proofs of Identity (engelsk) // Journal of Cryptology / I. Damgård - Springer Science + Business Media , International Association for Cryptologic Research , 1988. - Vol. 1, Iss. 2. - S. 77-94. — ISSN 0933-2790 ; 1432-1378 - doi:10.1007/BF02351717
- Menezes A. J. , Oorschot P. v. , Vanstone S. A. Handbook of Applied Cryptography (engelsk) - CRC Press , 1996. - 816 s. — ( Diskret matematik og dens anvendelser ) — ISBN 978-0-8493-8523-0
- Schneier B. Anvendt kryptografi. Protokoller, algoritmer, kildekode i C-sprog = Applied Cryptography. Protocols, Algoritms and Source Code in C. - M. : Triumph, 2002. - 816 s. - 3000 eksemplarer. - ISBN 5-89392-055-4 .