Amikor fiókot hozol létre egy privát üzenetküldő szolgáltatásnál, általában jelszót választasz. Eddig minden normális. Ami nem annyira normális, az az, ami a felszín alatt történik.
A legtöbb szolgáltatásnál a jelszavad mindennek a kulcsa. Ha elveszíted, elveszíted a hozzáférést. Ha ellopják, mindent elveszítesz. Az identitásodat, üzeneteidet, fájljaidat. Minden egyetlen dologtól függ, amit egy keddi délután begépeltél a billentyűzeten.
A 24 szó másképp működik. Nem jelszó, amit te választasz. Egy kulcs, amit a rendszer véletlenszerűen generál, 256 bit valós entrópiával. Hogy képet kapj: ennek a kulcsnak a feltörése nyers erővel több energiát igényelne, mint amennyit a nap egész élete során termelt. Ez nem metafora. Ez matematikai számítás.
Két kulcs két ajtóhoz
A jelszavad összeköt a szolgáltatással. Ez a bejárati ajtó kulcsa. Ha elfelejted, a hátsó ajtón keresztül beléphetsz a 24 szavaddal. Ha a jelszavadat ellopják, azonnal megváltoztathatod anélkül, hogy bármi más változna.
A 24 szavad valami más. A mesterkulcsod reprezentációja. Az a kulcs, amelyből a kriptográfiai identitásod származik, amely megvédi az adataidat, amely azonosít a kapcsolataid előtt. Ha elveszíted a 24 szót és a jelszót is, az adataid visszaállíthatatlanok. Mint a Bitcoinnál. És ez, bármilyen keményen hangzik is, pontosan az, amit egy biztonságos rendszertől akarsz.
Mert az alternatíva az, hogy valaki visszaállíthatja az adataidat helyetted. És ha valaki visszaállíthatja az adataidat, hozzá is férhet.
A papír számít
Írd le a 24 szavadat egy papírra. Egy igazi papírra, régi módra. Tárold biztonságos helyen. Ne a telefonodon, ne digitális jegyzetben, ne egy magadnak küldött e-mailben. Egy papír egy fiókban, egy széfben, vagy ahol a fontos dolgaidat tartod.
Régimódinak tűnhet. De egy papírt nem lehet távolról feltörni, nem lehet az interneten elfogni, és nem kell hozzá akkumulátor. Néha a legrégebbi technológia a legbiztonságosabb.
Azoknak, akik mélyebbre akarnak menni
A 24 szó a BIP39 szabványt követi, amelyet a Bitcoin tárcák használnak. 256 bit entrópiát képviselnek, amelyet az operációs rendszer CSPRNG-je (crypto.getRandomValues) generált. Ebből a 256 bitből származtatják az identitáskulcsot (Ed25519 aláíráshoz + X25519 kulcscseréhez) HKDF-SHA256 segítségével tartományszeparációval. A jelszó Argon2id + AES-256-GCM-mel csomagolja be ezt a kulcsot, mielőtt a szerverre küldené. A szerver tárolja a titkosított blobot, de nem tudja elolvasni.