Luddrig extraktor

Fuzzy-extraktorer är en metod som gör att biometriska data kan användas som indata till standardkrypteringstekniker för att förbättra datorsäkerheten. "Fuzzy", i detta sammanhang, syftar på det faktum att de fasta värden som krävs för kryptografi kommer att extraheras från värden nära men inte identiska med den ursprungliga nyckeln, utan att kompromissa med den säkerhet som krävs. En applikation är att kryptera och autentisera användarposter, med hjälp av användarens biometriska indata som nyckel.

Fuzzy-extraktorer är ett biometriskt verktyg som möjliggör användarautentisering, med hjälp av en biometrisk mall konstruerad från användarens biometriska data som nyckel, genom att extrahera en enhetlig och slumpmässig sträng från en indata , med en tolerans för buller. Om ingången ändras till men fortfarande är nära , kommer samma sträng att byggas om. För att uppnå detta, under den initiala beräkningen av matar processen också ut en hjälpsträng som kommer att lagras för att återställa senare och kan göras offentlig utan att kompromissa med säkerheten av . Processens säkerhet säkerställs också när en motståndare modifierar . När den fasta strängen har beräknats, kan den användas till exempel för nyckelöverenskommelser mellan en användare och en server endast baserat på en biometrisk indata.

Historia

En föregångare till fuzzy extraktorer var det så kallade "Fuzzy Commitment", som designats av Juels och Wattenberg. Här frigörs den kryptografiska nyckeln med hjälp av biometriska data.

kom Juels och Sudan på fuzzy vault -scheman. Dessa är ordningsinvarianta för det luddiga åtagandeschemat och använder en Reed–Solomon felkorrigeringskod . Kodordet infogas som koefficienterna för ett polynom, och detta polynom utvärderas sedan med avseende på olika egenskaper hos biometriska data.

Både Fuzzy Commitment och Fuzzy Vaults var föregångare till Fuzzy Extractors.

Motivering

För att fuzzy extraherare ska generera starka nycklar från biometriska och andra brusiga data, kommer kryptografiska paradigm att tillämpas på denna biometriska data. Dessa paradigm:

(1) Begränsa antalet antaganden om innehållet i de biometriska uppgifterna (detta data kommer från en mängd olika källor, så för att undvika utnyttjande av en motståndare är det bäst att anta att inmatningen är oförutsägbar ) .

(2) Tillämpa vanliga kryptografiska tekniker på inmatningen. (Fuzzy extraherar konverterar biometriska data till hemliga, enhetligt slumpmässiga och tillförlitligt reproducerbara slumpmässiga strängar.)

Dessa tekniker kan också ha andra bredare applikationer för andra typer av bullriga indata, såsom approximativa data från mänskligt minne , bilder som används som lösenord och nycklar från kvantkanaler. Fuzzy-extraktorer har också applikationer för att bevisa omöjligheten av de starka föreställningarna om integritet med avseende på statistiska databaser.

Grundläggande definitioner

Förutsägbarhet

Förutsägbarhet indikerar sannolikheten att en motståndare kan gissa en hemlig nyckel. Matematiskt sett är förutsägbarheten för en slumpvariabel .

Till exempel, givet ett par slumpvariabler och , om motståndaren känner till av , då förutsägbarheten för kommer att vara . Så en motståndare kan förutsäga med . Vi använder genomsnittet över eftersom det inte är under motståndarens kontroll, men eftersom att veta gör förutsägelsen av motstridig, tar vi det värsta fallet över .

Min-entropi

Min-entropi indikerar den värsta entropin. Matematiskt sett definieras det som .

En slumpvariabel med en min-entropi på minst kallas en -källa.

Statistiskt avstånd

Statistiskt avstånd är ett mått på särskiljbarhet. Matematiskt uttrycks det för två sannolikhetsfördelningar och som = . I vilket system som helst, om ersätts med , kommer det att bete sig som det ursprungliga systemet med en sannolikhet på minst .

Definition 1 (stark extraktor)

Ställer in som en stark slumpextraktor . Den randomiserade funktionen Ext: , med slumpmässighet av längden , är a stark extraktor för alla -källor = är oberoende av .

Utdata från extraheraren är en nyckel genererad från med fröet . Det beter sig oberoende av andra delar av systemet, med sannolikheten . Starka extraktorer kan som mest extrahera bitar från en godtycklig -källa.

Säker skiss

Säker skiss gör det möjligt att rekonstruera bullriga input; så att, om ingången är och skissen är , ges och ett värde nära , kan återställas. Men skissen får inte avslöja information om för att hålla den säker.

Om är ett metriskt utrymme, återställer en säker skiss punkten från valfri punkt nära , utan att avslöja själva

Definition 2 (säker skiss)

En säker skiss är ett par effektiva randomiserade procedurer (SS – Sketch; Rec – Recover) så att:

(1) Skissproceduren SS tar som indata och returnerar en sträng .

Återställningsproceduren Rec tar som indata de två elementen och .

(2) Korrekthet: Om så är .

(3) Säkerhet: För varje -källa över , är min-entropin för , givet , hög:

För alla , om , sedan .

Luddrig extraktor

Fuzzy extraherare återställer inte den ursprungliga inmatningen utan genererar en sträng (som är nära enhetlig) från och tillåter dess efterföljande reproduktion (med hjälp av hjälpsträngen ) givet någon nära . Starka extraktorer är ett specialfall av fuzzy extraherar när = 0 och .

Definition 3 (fuzzy extractor)

En fuzzy extraktor är ett par effektiva randomiserade procedurer (Gen – Generera och Rep – Reproducera) så att:

(1) Gen, givet , matar ut en extraherad sträng och en hjälpsträng .

(2) Korrekthet: Om och , sedan .

(3) Säkerhet: För alla m-källor över strängen nästan enhetlig, även givet . Så, när .

Så Fuzzy-extraktorer matar ut nästan enhetliga slumpmässiga sekvenser av bitar som är en förutsättning för att använda kryptografiska applikationer (som hemliga nycklar). Eftersom utgångsbitarna är något olikformiga finns det en risk för minskad säkerhet; men avståndet från en enhetlig fördelning är inte mer än . Så länge detta avstånd är tillräckligt litet kommer säkerheten att förbli tillräcklig.

Säkra skisser och luddiga utdragare

Säkra skisser kan användas för att konstruera luddiga extraherar: till exempel tillämpa SS på för att få och stark extraherare Ext, med slumpmässighet , till , för att få . kan lagras som hjälpsträng . kan reproduceras med och . kan återställa och kan återskapa .

Följande lemma formaliserar detta.

Lemma 1 (luddiga utdragare från skisser)

Antag att (SS,Rec) är en säker skiss och låt Ext vara ett genomsnittsfall stark extraktor. Då är följande (Gen, Rep) en fuzzy extractor:

(1) Gen : set och utgång .

(2) Rep : återhämta och utmatning .

Bevis:

från definitionen av säker skiss (Definition 2), ;
och eftersom Ext är ett medelfall -stark extraktor;

Följd 1


     Om (SS,Rec) är en säker skiss och Ext är en stark extraktor, sedan ovanstående konstruktion (Gen, Rep) är en fuzzy extraktor.

Det citerade dokumentet innehåller många generiska kombinatoriska gränser på säkra skisser och luddiga extraktorer.

Grundläggande konstruktioner

På grund av deras feltoleranta egenskaper kan säkra skisser behandlas, analyseras och konstrueras som ett allmänt fel- korrigeringskod eller för linjära koder, där är längden på kodord, är längden på meddelandet som ska kodas, är avståndet mellan kodord och är alfabetet. Om är universum av möjliga ord kan det vara möjligt att hitta en felkorrigerande kod så att det finns ett unikt kodord för varje med a Hammaravstånd . Det första steget i att konstruera en säker skiss är att bestämma vilken typ av fel som sannolikt kommer att uppstå och sedan välja ett avstånd att mäta.

Rött är kodförskjutningskonstruktionen, blått är syndromkonstruktionen och grönt representerar redigeringsavstånd och andra komplexa konstruktioner.

Hamming distans konstruktioner

När det inte finns någon risk för att data raderas och bara för att de skadas, är det bästa måttet att använda för felkorrigering Hamming-avståndet. Det finns två vanliga konstruktioner för att korrigera Hamming-fel, beroende på om koden är linjär eller inte. Båda konstruktionerna börjar med en felkorrigerande kod som har ett avstånd på där är antalet tolererade fel.

Kodoffset konstruktion

När du använder en allmän kod, tilldela ett enhetligt slumpmässigt kodord till varje , låt sedan vilket är skiftet som behövs för att ändra till . För att fixa fel i , subtrahera från , korrigera sedan felen i det resulterande felaktiga kodordet för att få och slutligen lägg till till för att få . Detta betyder . Denna konstruktion kan uppnå bästa möjliga avvägning mellan feltolerans och entropiförlust när och en Reed–Solomon-kod används, vilket resulterar i en entropiförlust på . Det enda sättet att förbättra detta resultat skulle vara att hitta en kod bättre än Reed–Solomon.

Syndromkonstruktion

När du använder en linjär kod, låt är syndromet för . För att korrigera , hitta en vektor så att ; sedan .

Ställ in skillnadskonstruktioner

När man arbetar med ett mycket stort alfabet eller mycket långa strängar som resulterar i ett mycket stort universum kan det vara mer effektivt att behandla och som uppsättningar och titta på uppsättningsskillnader för att korrigera fel. För att arbeta med en stor uppsättning är det användbart att titta på dess karakteristiska vektor som är en binär vektor med längden som har värdet på 1 när ett element och , eller 0 när . Det bästa sättet att minska storleken på en säker skiss när är stor är att göra stor, eftersom storleken bestäms av . En bra kod att basera denna konstruktion på är en BCH-kod , där och , så att . Det är användbart att BCH-koder kan avkodas i sublinjär tid.

Stiftskisskonstruktion

Låt . För att korrigera , hitta först , hitta sedan en mängd v där , och beräkna slutligen den symmetriska skillnaden för att få . Även om detta inte är den enda konstruktionen som kan användas för att ställa in skillnaden, är det den enklaste.

Redigera avståndskonstruktioner

När data kan skadas eller raderas är det bästa måttet att använda redigera avstånd . För att göra en konstruktion baserad på redigeringsavstånd är det enklaste sättet att börja med en konstruktion för inställd differens eller hammingsavstånd som ett mellanliggande korrigeringssteg, och sedan bygga redigeringsavståndskonstruktionen runt det.

Andra avståndsmåttkonstruktioner

Det finns många andra typer av fel och avstånd som kan användas för att modellera andra situationer. De flesta av dessa andra möjliga konstruktioner bygger på enklare konstruktioner, såsom konstruktioner med redigeringsavstånd.

Förbättra feltoleransen genom avslappnade föreställningar om korrekthet

Det kan visas att feltoleransen för en säker skiss kan förbättras genom att tillämpa en probabilistisk metod för felkorrigering med stor sannolikhet att lyckas. Detta tillåter potentiella kodord att överskrida Plotkin bound , som har en gräns på felkorrigeringar, och att närma sig Shannons bound , vilket tillåter nästan korrigeringar . För att uppnå denna förbättrade felkorrigering måste en mindre restriktiv felfördelningsmodell användas.

Slumpmässiga fel

För denna mest restriktiva modell, använd en BSC för att skapa en med en sannolikhet vid varje position i att den mottagna biten är fel. Denna modell kan visa att entropiförlust är begränsad till där är den binära entropifunktionen .Om min- entropi sedan fel kan tolereras, för vissa konstanter .

Ingångsberoende fel

För denna modell har fel inte en känd distribution och kan komma från en motståndare, de enda begränsningarna är och att ett korrupt ord endast beror på på ingången och inte på den säkra skissen. Det kan visas för denna felmodell att det aldrig kommer att finnas fler än fel, eftersom denna modell kan redogöra för alla komplexa brusprocesser, vilket innebär att Shannons gräns kan nås; För att göra detta läggs en slumpmässig permutation till den säkra skissen som kommer att minska entropiförlusten.

Beräkningsmässigt begränsade fel

Denna modell skiljer sig från den ingångsberoende modellen genom att ha fel som beror på både ingången och den säkra skissen, och en motståndare är begränsad till polynomtidsalgoritmer för att introducera fel. Eftersom algoritmer som kan köras i bättre-än-polynomisk tid för närvarande inte är genomförbara i den verkliga världen, skulle ett positivt resultat med denna felmodell garantera att eventuella fel kan åtgärdas. Detta är den minst restriktiva modellen, där det enda kända sättet att närma sig Shannons gräns är att använda listavkodningsbara koder, även om detta kanske inte alltid är användbart i praktiken, eftersom att returnera en lista, istället för ett enda kodord, kanske inte alltid är godtagbar.

Integritetsgarantier

I allmänhet försöker ett säkert system att läcka så lite information som möjligt till en motståndare . När det gäller biometri, om information om den biometriska avläsningen läcker, kan motståndaren få veta personlig information om en användare. Till exempel märker en motståndare att det finns ett visst mönster i hjälpsträngarna som antyder användarens etnicitet. Vi kan betrakta denna ytterligare information som en funktion . Om en motståndare skulle lära sig en hjälpsträng, måste det säkerställas att han från dessa uppgifter inte kan sluta sig till några uppgifter om den person från vilken den biometriska avläsningen togs.

Korrelation mellan hjälpsträng och biometrisk inmatning

Helst skulle hjälpsträngen inte avslöja någon information om den biometriska inmatningen . Detta är endast möjligt när varje efterföljande biometrisk avläsning är identisk med originalet . I det här fallet finns det faktiskt inget behov av hjälpsträngen; så det är lätt att generera en sträng som inte på något sätt är korrelerad till .

Eftersom det är önskvärt att acceptera biometrisk inmatning liknande , måste hjälpsträngen på något sätt vara korrelerad. Ju mer olika och tillåts vara, desto mer korrelation blir det mellan och ; ju mer korrelerade de är, desto mer information om . Vi kan betrakta denna information som en funktion . Den bästa möjliga lösningen är att se till att en motståndare inte kan lära sig något användbart från hjälpsträngen.

Gen( W ) som en probabilistisk karta

En probabilistisk karta döljer resultaten av funktioner med en liten mängd läckage . Läckaget är skillnaden i sannolikhet som två motståndare har att gissa någon funktion, när man kan den probabilistiska kartan och man inte gör det. Formellt:

Om funktionen är en probabilistisk karta, så även om en motståndare känner till både hjälpsträngen och den hemliga strängen , de är bara försumbart mer sannolikt att komma på något om ämnet som om de inte visste någonting. Strängen är tänkt att hållas hemlig; så även om det läcker (vilket borde vara mycket osannolikt)m kan motståndaren fortfarande inte komma på något användbart om ämnet, så länge är liten. Vi kan betrakta som vilken korrelation som helst mellan den biometriska inmatningen och någon fysisk egenskap hos personen. Inställningen i ovanstående ekvation ändras till:

Detta betyder att om en motståndare har och en andra motståndare inte vet någonting, är deras bästa gissningar på är bara från varandra.

Enhetliga fuzzy extraktorer

Uniform fuzzy extractorer är ett specialfall av fuzzy extractors, där utsignalen av skiljer sig försumbart från strängar plockade från den enhetliga fördelningen, dvs .

Enhetliga säkra skisser

Eftersom säkra skisser innebär luddiga extraktorer, möjliggör konstruktionen av en enhetlig säker skiss en enkel konstruktion av en enhetlig fuzzy extractor. I en enhetlig säker skiss är skissproceduren en slumpextraktor , där är den biometriska inmatningen och är det slumpmässiga fröet . Eftersom slumpextraktorer matar ut en sträng som verkar vara från en enhetlig fördelning, döljer de all information om deras inmatning.

Ansökningar

Extraktionsskisser kan användas för att konstruera -fuzzy perfekt enkelriktade hashfunktioner. När den används som en hashfunktion är ingången det objekt du vill hasha. P som ut är hashvärdet. Om man ville verifiera att a inom från originalet , skulle de verifiera att . Sådana luddiga perfekt envägs-hash-funktioner är speciella hash-funktioner där de accepterar vilken inmatning som helst med högst -fel, jämfört med traditionella hash-funktioner som bara accepterar när inmatningen matchar originalet exakt. Traditionella kryptografiska hashfunktioner försöker garantera att det är beräkningsmässigt omöjligt att hitta två olika indata som hash till samma värde. Luddiga perfekt enkelriktade hashfunktioner gör ett analogt påstående. De gör det beräkningsmässigt omöjligt att hitta två ingångar som är mer än Hamming avstånd från varandra och hash till samma värde.

Skydd mot aktiva attacker

En aktiv attack kan vara en där en motståndare kan modifiera hjälpsträngen . Om en motståndare kan ändra till en annan sträng som också är acceptabel för reproduceringsfunktionen , orsakar det för att mata ut en felaktig hemlig sträng . Robusta fuzzy extraktorer löser detta problem genom att tillåta reproduceringsfunktionen att misslyckas, om en modifierad hjälpsträng tillhandahålls som indata.

Robusta luddiga utdragare

FuzzyExtGen.png
Rep.png

En metod för att konstruera robusta fuzzy-extraktorer är att använda hashfunktioner . Denna konstruktion kräver två hashfunktioner och . Funktionen G producerar hjälpsträngen genom att lägga till utdata från en säker skiss till hashen för både läsningen och säker sketch . Den genererar den hemliga strängen genom att tillämpa den andra hashfunktionen på och . Formellt:

Reproduceringsfunktionen använder sig också av hashfunktionerna och . Förutom att verifiera att den biometriska inmatningen är tillräckligt lik den som återställs med , verifierar den också att hashen i den andra delen av härleddes faktiskt från och . Om båda dessa villkor är uppfyllda returnerar den , som i sig är den andra hashfunktionen som tillämpas på och . Formellt:

och från ~ och sedan else

Om har manipulerats kommer det att vara uppenbart, eftersom kommer att misslyckas vid utmatning med mycket hög sannolikhet. För att få algoritmen att acceptera ett annat måste en motståndare hitta en så att . Eftersom hashfunktion tros vara envägsfunktioner är det beräkningsmässigt omöjligt att hitta en sådan . Att se skulle ge en motståndare ingen användbar information. Eftersom hashfunktion återigen är envägsfunktioner är det beräkningsmässigt omöjligt för en motståndare att vända hashfunktionen och ta reda på . En del av är den säkra skissen, men per definition avslöjar skissen försumbar information om dess input. Att se (även om den aldrig borde se den) skulle på samma sätt ge en motståndare ingen användbar information, eftersom en motståndare inte skulle kunna vända hashfunktionen och se den biometriska inmatningen.

Vidare läsning

externa länkar