Hoppa till huvudinnehåll

Grunderna för mnemonisk säkerhet

U
Skrivet av UKey Wallet

När du använder minnesminnet för att återställa din plånbok är det en mycket liten chans att du anger ett ord felaktigt (inte i säkerhetskopian, utan i minnesminnesdatabasen) och ändå kan återställa det med blockkedjeplånboken.

Här är några exempel och förklaringar av detta extremt osannolika scenario.

Till att börja med måste vi först förstå processen med att konstruera en mnemonika för att förstå varför en mnemonika kan användas även om den matas in felaktigt.

Skapa minnesminne:

Genom att använda normaliseringsproceduren som beskrivs i BIP-39, genererar plånboken automatiskt mnemoniken. Plånboken börjar med en entropikälla, lägger sedan till en kontrollsumma innan slumpmässiga tal mappas till en lista med ord: 1. Skapa ett slumptal på 128 till 256 bitar. 2. Använd kontrollsumman för detta slumptal som de första bitarna i SHA256-hash (de första fyra bitarna är hämtade från 12-bitars assistansbitarna). 3, Lägg till kontrollsumman i slutet av den slumpmässiga sekvensen. 4. Dela upp sekvensen i 11-bitarshalvor. 5, Varje nummer som bär 11-bitarskomponenten motsvarar en ordbok som redan har 2048 ord. 6. Mnemoniken är den resulterande sekvensen av stavelser.

Och när fel ord skrivs in, som i följande exempel (endast den första positionen skrivs in felaktigt).

Plånboken genererar mnemoniken som:band röstram svart mot galax dela antingen rör maximal trött uppenbar

Hash för SHA256: 00101011 11111111

mceclip3.png

Det konstgjorda felaktigt inmatade minnesminnet är: revben röstram svart mot galaxen dela antingen röret maximalt trött uppenbart

Hash av SHA256:00101011 11101010

mceclip4.png

De första fyra bitarna i varje SHA256-par är identiska, vilket indikerar att kontrollsumman likaledes är identisk.

Eftersom båda paren av mnemonic överensstämmer med BIP39, kan de båda återställas med blockkedjeplånböcker.

Om vi ​​gör en grundläggande förklaring i termer av sannolikhet: välj först ett slumpmässigt ord som det sista mnemoniska ordet, och välj sedan slumpmässigt de andra 11 mnemoniska orden när mnemonordet är 12 bitar, kan vi hitta en uppsättning rätta 16 gånger, medan 24-bitars hjälpordet är 256 gånger.

Det är därför typiskt att "mata in det felaktiga ordet och få ett fungerande minnesminne", men detta innebär inte att minnesminnessäkerheten är felaktig.

Mnemonics förväxlas ibland med "hjärnplånböcker", även om de inte är samma sak.

Den primära skillnaden är att hjärnplånböcker består av ord som valts av användaren, medan mnemonics genereras slumpmässigt och presenteras för användaren.

Den mest betydande skillnaden mellan de två är aspekten som gör mnemonik säkrare; människor har trots allt en begränsad förmåga att generera slumpmässiga tal.

Det betyder att bara för att en BIP39-kompatibel mnemonika har testats på konstgjord väg betyder det inte att det är osäkert att använda en plånboksgenererad mnemonika; de två typerna av mnemonics är olika vad gäller säkerhet; ett plånboksgenererat minnesminne är mer slumpmässigt (dvs. säkrare), medan en hjärnplånbok (med fel minnesminne) är mindre sannolikt att genereras och används slumpmässigt.

Plånboken genererar verkligt slumpmässiga siffror med hjälp av kryptografiskt säkra metoder (t.ex. hårdvara TRNG), så kvaliteten på slumpmässigheten kan inte garanteras av användarens vanliga val av minnesminne.

.

Fick du svar på din fråga?