Znalostní základna Mluvit s lidmi
Kvantově odolné šifrování
Soukromé zprávy a skupinové chaty mezi uživateli Nymchatu tak mohou být šifrovány že jejich zaznamenáváním si dnes útočník nic nekoupí, ani když dorazí kvantové počítače.
Tato stránka je pro usnadnění přeložena strojově. Platí anglický originál.
Problém, který řeší
Obyčejné šifrování Nostr — NIP-44, což je co soukromé zprávy a skupinové chaty jsou postaveny na — má dvě poloviny. Ta polovina ve skutečnosti zašifruje text (ChaCha20, HMAC-SHA256, HKDF) a obstojí proti kvantům počítač. Polovina, která souhlasí s klíčem, ne.
Tou klíčovou dohodou je eliptická křivka Diffie-Hellman na secp256k1, stejná matematika, kterou používá Bitcoin. Shorův algoritmus to řeší přímo. Každý, kdo jej spustí proti veřejnému klíči, obnoví soukromý klíč a s ním každé sdílené tajemství, které kdy tento klíč vytvořil.
To není problém, který začíná při příchodu kvantových počítačů. Protivník s dostatkem úložiště může zaznamenávat šifrovaný provoz dnes, sedněte si na to a dešifrujte to po letech. Cokoli, co nyní pošlete, na čem pak ještě záleží, je již odhaleno. To je specifikum útok tuto funkci poráží.
Jak to funguje
Nymchat nechává formát zpráv NIP-44 úplně sám. Klíčová dohoda, kterou již používá, je nedotčena; kolem ní je přidána druhá, nezávislá.
- standard secp256k1 ECDH, přesně jako předtím;
- ML-KEM-768, postkvantový algoritmus NIST standardizovaný jako FIPS 203. Jeho bezpečnost spočívá na problémech mřížky, kterých se Shorův algoritmus nedotýká.
Tyto dvě jsou Smíšené, ne smíšenéZpráva je zašifrována pomocí NIP-44 přesně tak, jak to vždy bylo, a tento dokončený šifrovací text je poté podruhé zapečetěn uvnitř post-kvantové vrstvy – ChaCha20-Poly1305, klíčován z ML-KEM sdíleného tajemství. klíč odesílatele, klíč příjemce, encapsulace šifrovací text a ML-KEM klíč příjemce jsou vázány do této derivace jako kontextu, takže vrstva nemůže být vytažena z jedné výměny a přehrána na jinou.
Nymchat ne, a důvod je praktický spíše než kryptografický: míchání potřebuje surový výstup ECDH a rozšíření prohlížeče nebo vzdálený signer to nikdy nevydá zpět – vrátí hotový šifrovací text, což je celý bod držení klíče, kde aplikace nemůže dosáhnout.
Důležitá vlastnost je stejná v každém případě: výsledek je alespoň tak silná, jako silná polovinaČtení zprávy znamená projít oběma vrstvami.Pokud se ukáže, že kryptografie mřížky je slabší, než se očekávalo, přerušení ML-KEM pouze odtrhne vnější vrstvu a zanechá dnešní NIP-44 pod ní.Pokud se sekp256k1 dostane na kvantový počítač, vnitřní vrstva se otevře, ale vnější není.
Každá zpráva dostane novou postkvantovou výměnu, takže obnovení klíče jedné zprávy odhalí nic o ostatních.
Post-kvantová polovina potřebuje svůj vlastní klíč, a odkud ten klíč pochází, je to, co rozhoduje o tom, zda celá věc stojí za něco. ne Vyrábí se z vašich nsecKvantový počítač, který přeruší klasickou polovinu, obnoví vaše
nsec z vašeho veřejného klíče a vše, co pochází z nsec zveřejněným vzorcem vyjde s ním – dvě zámky otevřené jedním přerušením. Post-kvantový kód pro každý účet, jednou, z náhodných bajtů, které žádná veřejná hodnota nevystavuje. nympq1… Sedí vedle tebe nsec v detailech vašeho Nym, odhaleno a kopírováno stejným způsobem.Není to heslo a není to druhé přihlášení: je to klíčový materiál, který můžete uložit, přesně jako nsec.
Není co zapínat
Toto není nastavení. Postkvantové šifrování je prostě způsob, jakým Nymchat mluví s Nymchatem stejně tak běžné šifrování komunikuje se vším ostatním. Automaticky se vztahuje na každá soukromá zpráva a skupinový chat s jiným uživatelem Nymchat.
Nastavení › Ochrana soukromí & Bezpečnost ukazuje, zda je aktivní a kolik vašich kontaktů v současné době dosahuje, ale pouze jako informace - neexistuje přepínač.
Přihlašování s rozšířením prohlížeče (NIP-07) nebo vzdáleným signatářem (NIP-46) nikdy nepřináší klíč k vaší identitě do aplikace, což je celým bodem používání jednoho – a nemusí to být. Dvě poloviny šifrování jsou drženy odděleně: váš signatář dělá to, co vždy dělal, a aplikace dělá post-kvantovou část s vaším kódem obnovy, který drží přímo. Přihlašování s rozšířením a vzdáleným signatářem jsou běžnými účastníky v obou směrech.
Každá zpráva ve vaší historii zůstává čitelná na všech zařízeních s ničím jiným než vaší nsec, přesně jako předtím, a zůstává tak pro život účtu. nympq1… Recovery code je kvantově odolný materiál napsaný od nynějška: nové zprávy a synchronizovaná nastavení a archiv, který s nimi cestuje.
Takže zařízení musí držet tento kód, než je může otevřít, a přidání zařízení nyní trvá další krok. nympq1…
Tento krok není tření jsme se nepodařilo odstranit: kód, který by mohl dorazit na nové zařízení sám by musel cestovat tam uvnitř běžné zprávy, a že zpráva je přesně to, co útočník tato funkce existuje zastavit je nahrávání.
Aplikace vytváří nympq1… kód pro vás, takže není nic vybrat a nic vymyslet. Chcete-li to vidět: klepněte na nym otevřít Zobrazit nebo upravit Nym's DetailsPoté
Zveřejněte tento nymův soukromý klíč a kód obnoveníSedí přímo pod vaším nsecNikdy o tom nemusíte přemýšlet až do dne, kdy přidáte druhé zařízení.
Nepřipojené zařízení není mezitím zamčené. pokračuje v čtení všeho napsaného pod starším šifrováním a pokračuje v odesílání normálně, a jakmile ho propojíte, vrátí se a otevře kvantově rezistentní zprávy, které předtím nemohlo číst.
Druhé zařízení potřebuje dvě věci: aktuální verzi aplikace a
nympq1… starší build funguje – není odříznut – ale nemůže číst aktuální formát, takže zatímco je stále na účtu, kopie, které si ponecháte pro sebe, spadají zpět na starší, které může. Aktuální zařízení, které ještě nebylo propojeno, čte vaši starší historii a žádá o kód. Ani nám nemůže říct, že existuje, což je důvod, proč je to upozornění spíše než něco, co pro vás detekujeme.
S kým to dostanete
Obě strany to potřebují. Každý klient Nymchat publikuje malé podepsané, vypršené oznámení, které tak říká, a zahrnuje jeho post-kvantový klíč, když má jeden. Držení platného oznámení pro někoho je to, co dělá aplikaci používat silnější výměnu s nimi. Neexistuje žádná jednání, která by zasahovala: buď klíč je tam, nebo není, a protože oznámení je podepsáno jeho autorem, nahrazený klíč by měl být falešný spíše než jen sloužit.
Jaký útočník ovládá relé Může Do je zadržet oznámení, takže odesílatel nikdy nevidí klíč a spadá zpět do běžného šifrování. To stojí za to jasně uvést. To stojí post-kvantovou ochranu pro tyto zprávy; to nemůže udělat jeden nečitelný, a to nemůže udělat přijmout klíč, který není váš.
Tyto oznámení trvají týden a obnovují se denně, když používáte aplikaci.Jestliže jste pryč déle než to, vaše ztráty a jste čten jako běžný klient Nostr na chvíli: zprávy zaslané vám v této mezere jsou šifrovány normálním způsobem spíše než kvantově odolným způsobem.Stále přicházejí a stále je můžete číst - a nic, co jste obdrželi dříve, není ovlivněno.Otevření aplikace znovu zveřejňuje vaše oznámení a silnější šifrování pokračuje samo o sobě.
Všichni ostatní pracují stejně jako předtím. Bitchat uživatelé a jakýkoli jiný klient Nostra obdrží standardní NIP-17Nic se nezlomí, když posíláte zprávu někomu mimo Nymchat.
Postkvantová zpráva nahrazuje standardní, spíše než aby byl poslán spolu s ním. Posílat obojí by bylo zbytečné: útočník by prostě rozbil slabší kopii.
Kopie určené Vy získejte jej také – ten, který čtou vaše ostatní zařízení, archiv za ním a vaše synchronizovaná nastavení, která cestují stejným způsobem a nesou vás seznam konverzací, vaše skupinové klíče a historii zpráv. Ponechání některého z nich na starém šifrování by z nich udělalo to nejslabší, co ukládáte: čitelné pro každého, kdo se rozbije dnešní kryptografie, bez ohledu na to, jak pečlivě byly samotné zprávy zapečetěny.
Zůstat čitelný pomocí Bitchatu
Bitchat nemůže číst formát zprávy Nymchat, takže historicky Nymchat poslal druhou kopii každá zpráva ve formátu Bitchat komukoli, kdo ji může používat – což pro někoho od kterého jste nikdy neslyšeli, myslel jste všechny.
Výše uvedené oznámení činí toto dohadování zbytečným. Pokud někdo nějaké zveřejnil, tak ano běží Nymchat, takže kopie Bitchatu je zahozena a je odeslána pouze silnější zpráva. Pokud oni ne, nic se nezměnilo: stále přijímají oba formáty, přesně jako předtím, takže nic odeslaný může být nečitelný, protože aplikace špatně odhadla, kterého klienta kdo používá.
Stejně jako samotné šifrování je toto automatické a nemá žádné nastavení.
Nymchat by mohl odvodit, kdo co provozuje z aktivity veřejného kanálu, a zjistil by to lidé dříve. Ale tento závěr je občas špatný a mýlit se zde znamená poslat někomu zprávu, že jeho aplikaci nelze otevřít, bez chyby a bez opakování. A zveřejněno oznámení je podepsáno jeho autorem a nelze jej zfalšovat, proto je místo toho použito.
Ve skupinových chatech
Skupinové zprávy jsou již šifrovány samostatně pro každého člena, takže skupina může kombinovat oba druhy volně – členové, jejichž klienti jej podporují, získají silnější šifrování, zbytek získá standardní a skupina normálně funguje v obou směrech.
Z tohoto důvodu je skupinová zpráva označena jako kvantově odolná pouze tehdy, když každý člen přijal to tak. Pokud i jedna kopie použila standardní výměnu, tato kopie nese totéž zpráva, takže zpráva jako celek je chráněna pouze tak, jak je chráněna její nejslabší kopie. Aplikace říká "kvantově odolný do 8 z 10 členů" spíše než zaokrouhlení nahoru.
Skupinové chaty si také zachovávají své otočné jednorázové klávesy, které skrývají, kdo je ve skupině od kohokoli, kdo sleduje štafetu. Tato ochrana není ovlivněna a funguje přesně tak, jak fungovala.
Čtení odznaku
Každá soukromá a skupinová zpráva nese malou štít Tlačením na jednu z značek vysvětluje, co ukazuje.
| Označit | Význam |
|---|---|
| Visací zámek | Kdo to poslal — zda se podpis shoduje s nárokovaným autorem. |
| Štít | Obě strany držely svůj vlastní post-kvantový kód a hybridní výměna byla použita pro každou kopii této zprávy. |
| Přerušovaný štít | Částečně kvantově rezistentní – skupinová zpráva pouze některým členům obdržela chráněnou kopii.Protože ostatní nesou stejný text, považujte zprávu za konvenčně šifrovanou. |
| Struck-through štít | Standardní šifrování NIP-44 – stále šifrované od konce do konce a stále nečitelné pro nikoho kromě účastníků dnes. |
| Žádný štít | Veřejné kanálové příspěvky jsou čitelné na relé podle návrhu, takže se nepoužije žádná značka šifrování. |
Chybějící značka by byla nejednoznačná – to by mohlo rovněž znamenat “ne kvantově odolný”, “tato stavba je příliš stará”, nebo “indikátor je zlomený” – a bezpečnostní indikátor, který nelze odlišit od zlomeného, vám nic neříká.
Sedí vedle zámku, místo aby ho nahrazoval, protože oba odpovídají na různé otázky, a zpráva může být jedna bez druhé – kvantově odolná, ale od nepotvrzeného odesílatele, nebo ověřená, ale konvenčně šifrovaná.
Starší zprávy udržují štít trvale. Vše, co bylo odesláno předtím, než byly obě strany na kvantově odolné konstrukci, bylo zapečetěno konvenční výměnou, a že šifrovací text již existuje na relé – nemůže být znovu zapečetěno po skutečnosti.
Co to nedělá
Toto chrání obsah vašich zpráv. Nedělá každou část Nostr kvantově odolný a stojí za to být přesný ohledně rozdílu.
- Podpisy jsou stále secp256k1. Nostr identita podepsat se Schnorr na stejná křivka. Protivník, který již měl funkční kvantový počítač, by mohl vytvořit a podpis a vydávat se za někoho v reálném čase. To, co hybridní burza zastaví, je čtení zaznamenaný provoz — důvěrnost, nikoli ověřování.
- Neexistuje žádné předchozí tajemství. Oba klíče jsou dlouhotrvající: NIP-44 získává svůj klíč z vašeho
nsec, a post-kvantová vrstva se vkapsuluje do klíče ML-KEM za vašínympq1…Každá zpráva dostane čerstvou inkapsulaci, takže klíč jedné zprávy neotvírá další - ale kdo nakonec drží ty dlouhodobé klíče, může přečíst vše, co kdy zaznamenali, nejen to, co přišlo poté. Vypršené zprávy snížit, a to je důvod, proč je tato funkce zaměřena na sklizeň-nyní-dešifrovat-později, spíše než na klíč, který je převzat. - Metadata se nemění. Relé stále vidí, že byla událost adresována klíč a zhruba kdy. To je řešeno dárkové balení a jednorázové klíče, ne podle toto.
- Bluetooth mřížka není pokryta. Zpráva přenášená přes Míchání Cestuje uvnitř relace Noise XX, což je silné, aktuální šifrování, ale klasická výměna klíčů – takže nenese post-kvantovou vrstvu, a to ani mezi dvěma uživateli Nymchat. Značka to odráží: zpráva doručená přes síť není označena jako kvantově odolná. Přidání znamená změnu samotného rukojetí, které by oba vrstevníci museli udělat ve stejnou chvíli, bez relé, aby se vrátili a zůstali čitelní společností Bitchat.
- Váš kód pro obnovení je druhá věc, kterou si musíte ponechat. Začíná se
nympq1Najdete ji v Podrobnosti o vašem Nymve stejném panelu jako vášnsec- klepněte na svůj nym, pak “Odhalte tento nym je soukromý klíč a kód pro obnovu”.nsecsám o sobě nedělá obnovu vašeho post-kvantového klíče - to je přesně důvod, proč to funguje - takže pokud žádné zařízení nemá tento kód a nemáte jeho kopii, to, co bylo zapečetěno na něm, nemůže být znovu otevřeno.nsec. - Nemůže ochránit to, co dělá druhá strana. Příjemce může stále pořídit snímek obrazovky, zkopírujte nebo uchovejte zprávu.
Toto je stejná pozice, kterou Signal zaujímá se svým vlastním postkvantovým upgradem: opravte výměnu klíčů nyní, protože to je část, se kterou může útočník se zpětnou platností jednat a považovat podpisy za a samostatný problém, když normy dohánějí.
Kontrola práce
Implementace ML-KEM je testována proti oficiálnímu Testovací vektory NIST pro FIPS 203Webová aplikace a mobilní aplikace jsou navíc drženy ke sdílenému souboru testovacích vektorů, což je to, co zaručuje, že zprávu napsanou jedním může číst druhý.
Oba jsou Otevřený zdroj podle AGPL-3.0, a stavby webové aplikace jsou reprodukovatelné – viz ověření sestavení.
Jdeme hlouběji : Post-kvantová klíčová dohoda v Nymchatu - technický dokument o tom, jak je klíč ML-KEM distribuován bez adresáře, přesná konstrukce, která kombinuje dvě klíčové výměny, a návrhy, které byly zamítnuty.