Zero Knowledge Authenticatie Gerard Tel Overzicht • • • • • Inleiding en Conclusie Ali Baba’s Grot en Alice’ bewijs Getallen, kwadraten, wortels Het Zero Knowledge protocol voor wortels Getallen zonder wortels: modulo Herkenbare situatie? • Is deze pinautomaat wel veilig • Word ik geregistreerd als ik alcohol koop • Misbruik paspoort na legitimatie (kopie!) • Mijn handtekening wordt gekopieerd Au, Au • Authenticatie: bewijs wie je BENT – Kennis: wachtwoord, PIN-code – Bezit: sleutel, kaart, pasje – Eigenschap: vingerafdruk, irisscan • Autorisatie: bewijs wat je MAG – Toegang tot gebouw, alcohol kopen, rijbewijs • Vaak: Autorisatie door Authenticatie Tentamens Maak je om te bewijzen dat je genoeg weet, niet om je docent slimmer te maken Toepassing: IRMA card • Kaart met foto (link met gebruiker) • Laden met attributen • Bewijs bezit van attribuut in Zero Knowledge • Bv attribuut “18+” voor alcohol kopen • I Reveal My Attributes, www.irmacard.org Bewijzen van kennis • Wachtwoord: intypen – Afluisteren en hergebruik = risico voor gebruiker! • Challenge/Respons: beantwoord vraag – Afluisteren is geen risico – Uitdager kan iets vragen wat hij niet weet = risico voor gebruiker! Een Uitje: Grot van Ali Baba • Gesloten deur • Geheime spreuk • AB kent spreuk • Bestaat AB? • Is er zo’n spreuk? • Claim Alice Alice claimt haar rechten • Alice is bereid te bewijzen dat zij AB is • Zij vertrouwt Bob (omstanders) niet • Bob wil stiekem filmen en opname verkopen Bewijsspel: Drie stappen • Alice gaat in de grot – Via L of R, zonder dat Bob dit ziet • Bob kiest tussen L of R als uitgang • Alice komt naar buiten via die gang • Dit doen ze zeven keer; Bob gelooft Alice als zij zeven keer slaagt Lukt het Bob te overtuigen? • ALS Alice inderdaad Ali is • DAN kent zij de code van de deur – Als Bob een andere gang vraagt dan waar zij is, gaat ze door de deur – Het lukt haar inderdaad steeds (7x) Wat als Alice een bedriegster is? • Kan alleen door dezelfde gang naar buiten • Als Bob die gang noemt, slaagt Alice Als Bob de andere noemt, faalt Alice • De kans dat Alice slaagt is 50%, (1/2) • Kans dat Alice zeven keer slaagt: < 1%, (1/2)7 • Als Alice zeven keer slaagt is Bob overtuigd De privacy van Alice • Bob filmt alles stiekem • Je ziet de film (zeven scenes); weet je zeker dat Alice Ali is? • Mislukte scenes eruit geknipt? • Gang afgesproken met Alice? • Film kun je maken zonder code of Ali • Bob heeft niets aan de film Rekenen zonder wortel Kwadrateren • Hoeveel is 7,8312 ? • Druk 7,831 x 7,831 = geeft 61,32456 • Welk getal x heeft x2 = 73,243 ? • Zonder √ knop kan ik het niet uitrekenen • (denk ik) Rekenregel Kwadraat • (A x B)2 = A2 x B2 en (A / B)2 = A2 / B2 • Vb met 3 en 5. 3 x 5 is 15, en 152 = 225. 32 = 9 en 52 = 25 en 9 x 25 = 225. • Klopt voor echte getallen wel, maar op rekenmachine NIET!! Ali Baba’s Worteldeur • Op de deur staat b, een getal • b is het kwadraat van Ali’s geheim a • Deur gaat open als je een a zegt met a2 = b Alice bewijst dat zij a kent • A: (Verstop in grot met “uitgang” s en s.b) Neem random r, bereken s = r2, zeg s tegen B • B: (kies de uitgang s of s.b) Zeg challenge c is 0 voor s of 1 voor s.b • A: (kom naar buiten) Zeg antwoord, kies r of r.a (afh. van c) • B: (controleer het antwoord) y = antwoord , check y2 = s of y2 = s.b Als Alice echt Ali is • Dan weet zij inderdaad a met a2 = b. • Omdat ze zelf s heeft gekozen als s = r2, kent ze een y met y2 = s (neem y=r), en kent ze een y met y2 = s.b (neem y = r.a) • Alice kan 7x het goede antwoord geven (zonder dat ze √ nodig heeft). Als nep-Ali kan raden wat Bob vraagt • Ik denk dat hij c = 0 gaat vragen: Random r, s = r2, s naar Bob, hij vraagt 0, ik stuur r (als hij 1 vraagt heb ik a nodig) • Ik denk dat hij c = 1 gaat vragen: Random r, s = r2/b, s naar Bob, hij vraagt 1, ik stuur r want r2 = s.b !! (als hij 0 vraagt heb ik a nodig) Als Alice een bedrieger is • Dan kan zij c = 0 OF c = 1 voorbereiden maar niet beide • De kans om Bob te foppen is 1/2 De kans dat het 7x lukt is (1/2)7 < 0,01 • Bedriegers worden ontmaskerd met kans 99% Is er echt geen truukje? * • Stel Alice kent a NIET • Wel: truukje om een speciale s te maken waarvoor zij TWEE antwoorden weet, namelijk y02 = s en y12 = s.b • Alice DEELT: q = y1/y0 Wat is q2 ? • Dus: Alice kent a WEL Wat weet Bob na afloop? • Hij weet (vrij: 99%) zeker dat Alice Ali is • Kan hij misbruiken wat hij gezien heeft? • Hij kan alles in scene zetten: – Bedenk vantevoren de 7 challenges – Bedenk 7x s met juiste antwoord – Uitgewisselde vragen/antwoorden zijn precies als met echte Ali! • Hieruit kan Bob niets nieuws afleiden (Munchhausen effect) Hoe moeilijk is worteltrekken? • Niet heel moeilijk: fabriek kan knopje maken • Truukje met delen (wiskundeleraar vragen!) ai+1 = (ai + b/ai) / 2 • Met reële getallen kan het eigenlijk niet! • Door afronden klopt ook rekenregel niet. Wiskunde: Klokrekenen • Rekenen modulo m met 0, 1, … m-2, m-1 • Eindig veel getallen, 0, 1, +, - *, / • Normale rekenregels geldig a2.b2 = (a.b)2 Praktijk: m heeft ~617 cijfers!! Product van twee priemgetallen 26 Vermenigvuldigingstabel (77) 31 32 33 34 35 36 31 37 68 22 53 7 38 32 68 23 55 10 42 74 33 22 55 11 44 0 33 34 53 10 44 1 35 69 35 7 42 0 35 70 28 36 38 74 33 69 28 64 Workshop Elgamal • 32 x 36 = 1152 Deel door 77, Rest is 74 • 33 x 35 = 0 ??? 27 Een beetje Informatica • Wat kun je uitrekenen? (En hoe?) • Vermenigvuldigen en modulo kan • Wortel modulo m: oplossen x2 = b kan ALLEEN als je priemfactoren van m weet • 77 = 11 x 7, maar . . . • . . . als m heel groot is, zijn factoren niet te vinden • Dus √ onmogelijk 28 Samenvatting en Conclusie • Zonder te vertellen, bewijzen wat je weet • DRIE stappen • Werkt met grote getallen • IRMAcard • Anoniem alcohol kopen • Philips Smart Remote