Sciobazo Parolante al homoj
Kvantum-rezistema ĉifrado
Privataj mesaĝoj kaj grupaj babilejoj inter Nymchat-uzantoj povas esti ĉifritaj do ke registri ilin hodiaŭ aĉetas al atakanto nenion, eĉ post kiam kvantumkomputiloj alvenas.
Ĉi tiu paĝo estas maŝintradukita por komforto. La angla originalo estas la versio kiu validas.
La problemo, kiun ĝi solvas
Ordinara Nostr-ĉifrado — NIP-44, kiu estas kio privataj mesaĝoj kaj grupaj babiloj estas konstruitaj sur — havas du duonojn. La duono de tio efektive miksas la tekston (ChaCha20, HMAC-SHA256, HKDF) tenas bone kontraŭ kvantumo. komputilo. La duono, kiu konsentas pri la ŝlosilo, ne.
Tiu ŝlosila interkonsento estas elipsa kurbo Diffie-Hellman sur secp256k1, la samaj matematikoj kiujn Bitcoin uzas. La algoritmo de Shor solvas ĝin rekte. Ĉiu, kiu kuras ĝin kontraŭ publika ŝlosilo, reakiras la privata ŝlosilo, kaj kun ĝi ĉiu komuna sekreto tiu ŝlosilo iam produktita.
Ĉi tio ne estas problemo kiu komenciĝas kiam kvantumkomputiloj alvenas. Kontraŭulo kun sufiĉe stokado povas registri ĉifritan trafikon hodiaŭ, sidiĝu sur ĝi kaj deĉifri ĝin jarojn poste. Ĉio, kion vi nun sendas, kio ankoraŭ gravas tiam, estas jam elmontrita. Tio estas la specifa ataki ĉi tiun funkcion malvenkoj.
Kiel ĝi funkcias
Nymchat lasas la NIP-44 mesaĝformaton tute neŝarpitan. La ŝlos-interkonsento, kiun ĝi jam uzas, restas neŝarpita; dua, sendependa estas aldonata ĉirkaŭ ĝi. Tiel estas du ŝlos-interŝanĝoj por ĉiu mesaĝo anstataŭ unu:
- la normo secp256k1 ECDH, ekzakte kiel antaŭe;
- ML-KEM-768, la post-kvantuma algoritmo NIST normigita kiel FIPS 203. Ĝia sekureco baziĝas sur kradaj problemoj, kiujn la algoritmo de Shor ne tuŝas.
La du estas stratigitaj, ne miksitajLa mesaĝo estas ĉifrita per NIP-44 precize kiel ĝi ĉiam estis, kaj tiu finita ĉifritteksto estas poste denove sigelita ene de la post-kvanta tavolo — ChaCha20-Poly1305, ŝlosita per la ML-KEM-komuna sekreto. La ŝlosilo de la sendanto, la ŝlosilo de la ricevanto, la enkapsuliga ĉifritteksto kaj la ML-KEM-ŝlosilo de la ricevanto estas ligitaj en tiun derivadon kiel kuntekston, do tavolo ne povas esti forlevita de unu interŝanĝo kaj reŝaltita al alia.
Kombinilo kiel X-Wing aŭ PQXDH de Signal anstataŭe miksas ambaŭ sekretojn en unuan klavon. Nymchat ne faras tion, kaj la kialo estas pli praktika ol kriptografa: miksado bezonas la brutan ECDH-eliron, kaj retumila aldonaĵo aŭ malproksima subskribilo neniam redonos tion — ĝi redonas finitan ĉifrotekstton, kio estas la tuta celo de tenado de la klavo tie, kie la aplikaĵo ne povas atingi ĝin. Stratigado konservas NIP-44 integriĝintan kaj produktitan de kio ajn, kiu tenas la identigan klavon, inkluzive de la subskribilo, tiel ke tiuj ensalutoj estas ordinaraj partoprenantoj anstataŭ ekskluditajoj.
La grava propreco estas la sama ĉiuokaze: la rezulto estas almenaŭ same forta kiel la pli forta duonparto. Legi la mesaĝon signifas trairi ambaŭ tavolojn. Se retĵusa kriptografio ŝajnas esti pli malforta ol esperite, rompi ML-KEM nur forŝiras la
Ĉiu mesaĝo ricevas freŝan post-kvantuma interŝanĝo, do reakiri la ŝlosilon de unu mesaĝo malkaŝas nenion pri la aliaj.
La post-kvanta duono bezonas sian propran ŝlosilon, kaj de kie tiu ŝlosilo venas estas tio, kio decidas
ĉu la tuta afero havas ion da valoro. Ĝi estas intence ne elkomitis de
via nsec. Kvanta komputilo, kiu rompas la klasikan duonon, rekuperas vian
nsec el via publika ŝlosilo, kaj ĉio ajn derivita de la nsec per publikigita formulo aperas ĝi — du ŝlosiloj malfermitaj per unu rompo. Tiel Nymchat generas apartan post-kvanta kodo por ĉiu konto, unufoje, el hazardaj bajtoj, kiujn neniu publika valoro malkaŝas. Ĝi legiĝas kiel nympq1… kaj sidas apud
via nsec en viaj Nym-detaloj, malkaŝitaj kaj kopitaj en la sama maniero. Ĝi ne estas pasvorto kaj ne dua ensalutiĝo: ĝi estas ŝlos-materialo, kiun vi povas konservi, tute kiel la nsec.
Estas nenio por ŝalti
Ĉi tio ne estas agordo. Post-kvantuma ĉifrado estas simple kiel Nymchat parolas kun Nymchat, la same kiel ordinara ĉifrado estas kiel ĝi parolas al ĉio alia. Ĝi aplikas aŭtomate al ĉiu privata mesaĝo kaj grupa babilado kun alia Nymchat-uzanto.
Agordoj › Privateco kaj Sekureco montras ĉu ĝi estas aktiva kaj kiom da viaj kontaktoj ĝi nuntempe atingas, sed nur kiel informo — ne estas ŝaltilo.
Tio funkcias per iu ajn maniero, kiel vi ensalutas. Ensalutado per retumila aldono (NIP-07) aŭ malproksima signilo (NIP-46) neniam transdonas vian identigan ŝlosilon al la aplikaĵo, kio estas la ĉefa celo de uzi tian — kaj ĝi ne devas fari tion. La du duonoj de la ĉifrado estas apartigitaj: via signilo faras la parton, kiun ĝi ĉiam faris, kaj la aplikaĵo faras la post-kvantan parton per via reskatkodo, kiun ĝi tenas rekte. Ensalutoj per aldono kaj malproksima signilo estas ordinaraj partoprenantoj en ambaŭ direktoj. La statuslinio en Agordoj diras, kio aplikas al vi.
Nenio, kion vi jam havas, estas trafita. Ĉiu mesaĝo en via historio restas legebla sur ĉiu
aparato kun nenio krom via nsec, precize kiel antaŭe, kaj restas tiel dum la
vivo de la konto. Kio bezonas la nympq1… Recupera kodo estas la kvant-rezista materialo skribita de nun: novaj mesaĝoj, kaj la sinkigitaj agordoj kaj arkivo, kiuj vojaĝas kun ili.
Do aparato devas teni tiun kodon antaŭ ol ĝi povas malfermi ilin, kaj aldoni aparaton nun postulas unu
ekstra paŝon. En la sama panelo sur la nova aparato vi alglakas la nympq1…
kodo de aparato, kiu jam havas ĝin. Ĝi estas unufoje por aparato, ne unufoje por ensalutado. Tiu paŝo ne estas obstaklo, kiun ni malsukcesis forigi: kodo, kiu povus alveni al nova aparato memstare, devus vojaĝi tie ene de ordinara mesaĝo, kaj tiu mesaĝo estas ĝuste tio, kion la atakanto, kiun ĉi tiu funkcio celas ĉesi, registras. La paŝo estas la kialo, kial la protekto estas reala.
La aplikaĵo generas la nympq1… kodo por vi, tial ne estas io ajn elektinda kaj nenio inventenda. Por vidi ĝin: tuŝu vian nimon por malfermi. Vidi aŭ redakti la detalojn de Nym, tiam
Malkaŝu la privatan ŝlosilon kaj rekuperigan kodon de ĉi tiu nimo.. Ĝi situas rekte sube
via nsec, kun la samaj montri kaj kopii butonoj. Vi neniam devas pensi pri
ĝi ĝis la tago, kiam vi aldonas duan aparaton.
Malignita aparato ne estas blokita dum la intertempo. Ĝi daŭre legas ĉion skribitan sub la malnova ĉifrado kaj daŭre sendas normale, kaj kiam vi ligas ĝin, ĝi revenas kaj malfermas la kvant-rezistajn mesaĝojn, kiujn ĝi ne povis legi antaŭe. Nio perdiĝas per malfrua ligado.
Sekunda aparato bezonas du aferojn: aktualan versionon de la aplikaĵo, kaj la
nympq1… kodo. Malnova versio daŭre funkcias — ĝi ne estas ĉesigita — sed ĝi ne povas legi la nunan formaton, do dum ĝi ankoraŭ estas en la konto, la kopioj, kiujn vi konservas por vi mem, revenas al la malnova, kiun ĝi povas legi. Ĝisdatigita aparato, kiu ankoraŭ ne estis ligita, legas vian pli malnovan historion kaj petas la kodon. Neniu el ili povas diri al ni, ke ĝi ekzistas, tial tio estas aviso anstataŭ io, kiun ni detektas por vi.
Kun kiu vi ricevas ĝin
Ambaŭ flankoj bezonas ĝin. Ĉiu Nymchat-kliento publikigas malgrandan subskribitan, devalidiĝantan anoncon dirantan tion, kaj inkluzivas sian post-kvantan ŝlosilon, kiam ĝi havas tian. Tenado de valida anonco pri iu estas tio, kio igas la aplikaĵon uzi la pli fortan interŝanĝon kun tiu persono. Ne ekzistas intertraktado, kiun oni povus malinterferi: ĉu la ŝlosilo estas tie aŭ ĝi ne estas, kaj ĉar la anonco estas subskribita de sia aŭtoro, substituita ŝlosilo devus esti falsita anstataŭ nur servita.
Kion atakianto kiu kontrolas reléon povi do estas reteni la anoncon, tiel ke la sendinto neniam vidas ŝlosilon kaj revenas al ordinara ĉifrado. Estas valorinde klare esprimi tion. Ĝi kostas la post-kvantan protekton por tiuj mesaĝoj; ĝi ne povas igi ion nelegebla, kaj ĝi ne povas devigi vin akcepti ŝlosilon, kiu ne estas via. Klientoj demandas plurajn relüojn, do silentigi ĝin postulas kontrolon de ĉiuj el ili.
Tiuj anoncoj daŭras unu semajnon kaj memŝanĝiĝas ĉiutage dum vi uzas la aplikaĵon. Se vi estas for longe pli ol tio, via anonco eksvalidiĝas kaj vi estas legata kiel ordinara Nostr-kliento dum iom da tempo: mesaĝoj senditaj al vi en tiu intervalo estas ĉifritaj per la norma maniero anstataŭ per la kvant-rezista maniero. Ili ankoraŭ alvenas, kaj vi ankoraŭ povas legi ilin — kaj nenio, kion vi ricevis antaŭe, estas trafata. Malfermi la aplikaĵon re-publikigas vian anoncon, kaj la pli forta ĉifrado rekomenciĝas memstare. Nenio estas refacenda.
Ĉiuj aliaj daŭre laboras ĝuste kiel antaŭe. Bitchat uzantoj kaj ajn alia Nostr-kliento ricevas normon NIP-17, senŝanĝite. Neniam io rompiĝas kiam vi mesaĝas iun ekster Nymchat.
Post-kvantuma mesaĝo anstataŭigas la norma prefere ol esti sendita apud ĝi. Sendi ambaŭ estus sencela: atakanto simple rompus la pli malfortan kopion.
La kopioj adresitaj al vi akiru ĝin ankaŭ — tiu kiun viaj aliaj aparatoj legis, la arkivo malantaŭ ĝi, kaj viaj sinkronigitaj agordoj, kiuj vojaĝas same kaj portas vian konversacia listo, viaj grupaj klavoj kaj via mesaĝhistorio. Lasante iun el tiuj sur la malnova ĉifrado farintus ilin la plej malforta aĵo kiun vi stokas: legebla de ĉiu, kiu rompas la hodiaŭa kriptografio, kiom ajn zorge la mesaĝoj mem estis sigelitaj.
Restante legebla de Bitchat
Bitchat ne povas legi la mesaĝformaton de Nymchat, do historie Nymchat sendis duan kopion de ĉiu mesaĝo en la formato de Bitchat al iu ajn, kiu povus uzi ĝin — kio, por iu de vi neniam aŭdis, signifis ĉiuj.
La ĉi-supra anonco faras tiun divenon nenecesa. Se iu publikigis unu, ili estas rulante Nymchat, do la Bitchat-kopio estas forigita kaj nur la pli forta mesaĝo estas sendita. Se ili ne havas, nenio ŝanĝiĝis: ili ankoraŭ ricevas ambaŭ formatojn, ekzakte kiel antaŭe, do nenion vi sendas povas fariĝi nelegebla ĉar la apo divenis malbone pri kiu kliento iu uzas.
Kiel la ĉifrado mem, ĉi tio estas aŭtomata kaj havas neniun agordon.
Nymchat povus konkludi, kiu kuras kio el publika kanala agado, kaj ĝi rimarkus homoj pli frue. Sed tiu inferenco estas foje malĝusta, kaj malpravi ĉi tie signifas sendi al iu mesaĝon, ke ilia aplikaĵo ne povas malfermi, sen eraro kaj sen reprovo. A eldonita anonco estas subskribita de ĝia aŭtoro kaj ne povas esti falsita, do ĝi estas uzata anstataŭe.
En grupaj babiloj
Grupmesaĝoj jam estas ĉifritaj aparte por ĉiu membro, do grupo povas miksi ambaŭ specojn libere — membroj, kies klientoj subtenas ĝin, ricevas la pli fortan ĉifradon, la ceteraj ricevas la norma unu, kaj la grupo funkcias normale ambaŭmaniere.
Pro tio, grupmesaĝo estas nur markita kvantum-rezista kiam ĉiu membro ricevis ĝin tiel. Se eĉ unu kopio uzis la norman interŝanĝon, tiu kopio portas la saman mesaĝo, do la mesaĝo kiel tuto estas nur same protektita kiel ĝia plej malforta kopio. La app diras "kvantum-rezistema al 8 el 10 membroj" prefere ol rondigo.
Grupaj babilejoj ankaŭ konservas sian turnantaj unufojaj klavoj, kiuj kaŝas kiu estas en grupo de iu ajn rigardanta stafetadon. Tiu protekto estas netuŝita kaj funkcias ekzakte kiel ĝi faris.
Legante la insignon
Ĉiu privata mesaĝo kaj grupmesaĝo portas malgrandan ŝildo apud la kadeno. Tuŝado de iu ajn marko klarigas, kion ĝi montras.
| Mark | Signifo |
|---|---|
| Pendseruro | Kiu sendis ĝin — ĉu la subskribo kongruas kun la pretendita aŭtoro. |
| Ŝildo | Kvantum-rezista. Ambaŭ flankoj tenis sian propran post-kvantan kodon, kaj la hibrida interŝanĝo estis uzata por ĉiu kopio de ĉi tiu mesaĝo. |
| Pintita ŝildo | Partie kvantum-rezista — grupmesaĝo, de kiu nur kelkaj membroj ricevis protektitan kopion. Ĉar la aliaj portas la saman tekston, traktu la mesaĝon kiel konvencie ĉifritan ĝenerale. |
| Strikita skuto | Ne kvantuma-rezista. Standarda NIP-44 ĉifrado — ankoraŭ fine-al-fina ĉifrita, kaj ankoraŭ nelegebla por iu ajn krom la participantoj hodiaŭ. |
| Neniu ŝildo | Ne estas ĉifrita mesaĝo. Publikaj kanalaj afiŝoj estas legeblaj sur la relégo laŭ dezajno, tial neniu ĉifrema marko aplikiĝas. |
La ŝildo ĉiam ĉeestas ĉe ĉifrita mesaĝo kaj klare diras, kiam la respondo estas ne. Mankanta marko estus ambigua — ĝi povus egalice signifi «ne kvanta-rezista», «ĉi tiu versio estas tro malnova» aŭ «la indikilo estas difektita» — kaj sekureca indikilo, kiun oni ne povas distingi de difektita, ne diras al vi ion ajn.
Ĝi situas apud la pendŝlosilo anstataŭ anstataŭigi ĝin, ĉar la du respondas al malsamaj demandoj, kaj mesaĝo povas esti unu sen la alia — kvant-rezista sed de neverifikita sendinto, aŭ verifikita sed konvencie ĉifrita.
Malnovaj mesaĝoj permanente konservas la strikitan blindon. Ĉio sendita antaŭ ol ambaŭ flankoj estis sur kvant-rezista versio estis sigelita per la konvencia interŝanĝo, kaj tiu ĉifroteksto jam ekzistas en la relajoj — ĝi ne povas esti re-sigelita post la fakto. Tio estas precize la "rikoltu-nun-dekŝifru-poste" ekspozicio, kiun la plibonigo fermas por estonte, do la emblemo montranta ĝin estas la honesta respondo anstataŭ fallaĵo.
Kion ĝi ne faras
Ĉi tio protektas la enhavojn de viaj mesaĝoj. Ĝi ne faras ĉiun parton de Nostr kvantum-pruvo, kaj indas esti preciza pri la diferenco.
- Subskriboj ankoraŭ estas secp256k1. Nostr identecoj subskribas kun Schnorr sur la sama kurbo. Kontraŭulo kiu jam havis funkciantan kvantumkomputilon povis forĝi a subskribu kaj personigi iun en reala tempo. Kion ĉesas la hibrida interŝanĝo, estas legi registrita trafiko - konfidenco, ne aŭtentigo.
- Ne ekzistas antaŭvidiĝanta sekureco. Ambaŭ ŝlosiloj estas longvivaj: NIP-44 derivas
sian ŝlosilon el via
nsec, kaj la post-kvanta nivelo enkapsulas al la ML-KEM-ŝlosilo malantaŭ vianympq1…kodo. Ĉiu mesaĝo ricevas freŝan enkapsuligon, do la ŝlosilo de unu mesaĝo ne malfermas la sekvan — sed kiu ajn finas teni tiujn longdaŭrajn ŝlosilojn povas legi ĉion, kion ili iam registris, ne nur tion, kio venis poste. Tio estas kio kadukaj mesaĝoj redukti, kaj tio estas la kialo, kial ĉi tiu funkcio celas "kollekti-nun-decifri-poste" anstataŭ ŝlosilon, kiu estas ŝtelita. - Metadatumoj estas senŝanĝaj. Stafetado ankoraŭ vidas, ke evento estis adresita ŝlosilon, kaj proksimume kiam. Tio estas pritraktata de donacpakado kaj unufojaj ŝlosiloj, ne de ĉi tio.
- La Bluetooth-meŝo ne estas kovrita. Mesaĝo portita trans la reto vojaĝas ene de Noise XX-sesio, kiu estas forta, nuna ĉifrado sed klasika ŝlosŝanĝo — tial ĝi ne enhavas la post-kvantan tavolon, eĉ inter du Nymchat-uzantoj. La emblemo riflektas tion: mesaĝo liverita tra la mesh-reto ne estas markita kvant-rezista. Aldoni ĝin tie signifas ŝanĝi la samegmenton mem, kion ambaŭ partoprenantoj devus fari samtempe, sen rellegilo por reveni je kaj restante legebla de Bitchat.
- Via vivsavadkodo estas dua afero por konservi. Ĝi komenciĝas per
nympq1kaj vi trovos ĝin en la detaloj de via Nym, en la sama panelo kiel viansec— tuŝu vian nym, tiam „Malkaŝu la privatan ŝlosilon kaj recuperan kodon de ĉi tiu nym”. Viansecla mem ne rekonstruas vian post-kvantan ŝlosilon — tio estas precize kial ĝi funkcias — do, se neniu aparato tenas tiun kodon kaj vi ne havas kopion de ĝi, tio, kio estis sigelita al ĝi, ne povas esti malfermita denove. Ne ekzistas reŝatigo kaj neniu por demandi. Konservu ĝin kie ajn vi konservis viannsec. - Ĝi ne povas protekti tion, kion faras la alia flanko. Ricevanto ankoraŭ povas ekrankopion, kopii aŭ konservi mesaĝon.
Ĉi tiu estas la sama pozicio, kiun Signal prenas kun sia propra post-kvantuma ĝisdatigo: ripari la ŝlosilan interŝanĝon nun, ĉar tio estas la parto sur kiu atakanto povas agi retroaktive, kaj trakti subskribojn kiel a aparta problemo por kiam la normoj atingas.
Kontrolante la laboron
La ML-KEM-impligo estas testata kontraŭ la oficiala testaj vektoroj NIST publikigas por FIPS 203, do ĝi estas kontrolata kontraŭ la normo mem anstataŭ nur kontraŭ si mem. La ret-aplikaĵo kaj la poŝtelefona aplikaĵo estas krome submetitaj al komuna aro de test-vetoroj, kio garantias, ke mesaĝo skribita de unu povas esti legata de la alia.
Ambaŭ estas malfermita fonto sub la AGPL-3.0, kaj la konstruadoj de la retaplikaĵo estas reproduktalebaj — vidu kontrolante konstruon.
Iri pli profunde: Post-kvanta ŝlosla interkonsento en Nymchat — teknika blankpapero pri kiel la ML-KEM-ŝlosilo estas distribuita sen direktorejo, la preciza konstruo, kiu kombinas la du ŝlosŝanĝojn, kaj la dezajnoj, kiuj estis malakceptitaj.