Saltar al contingut
Torna a Nymchat

Base de coneixement Parlant amb la gent

Xifratge resistent al quàntic

Els missatges privats i els xats de grup entre usuaris de Nymchat es poden xifrar així que enregistrar-los avui no compra res a un atacant, fins i tot un cop arribin els ordinadors quàntics.

El problema que resol

Xifratge Nostr normal - NIP-44, que és què missatges privats i xats de grup estan construïts sobre — té dues meitats. La meitat que en realitat remena el text (ChaCha20, HMAC-SHA256, HKDF) es manté bé davant un quàntic ordinador. La meitat que està d'acord en la clau no.

Aquest acord clau és la corba el·líptica Diffie-Hellman a secp256k1, les mateixes matemàtiques que utilitza Bitcoin. L'algoritme de Shor ho resol directament. Qualsevol que l'executi amb una clau pública el recupera clau privada, i amb ella tots els secrets compartits que aquesta clau hagi produït mai.

Collita ara, desxifra més tard

Aquest no és un problema que comenci quan arriben els ordinadors quàntics. Un adversari amb prou L'emmagatzematge pot registrar el trànsit xifrat avui, seure-hi i desxifrar-lo anys més tard. Tot el que envieu ara que encara importa aleshores ja està exposat. Això és l'especific atacar aquesta característica derrota.

Com funciona

Nymchat deixa el format de missatges NIP-44 completament sol. L'acord clau que ja utilitza és intacte; s'hi afegeix un segon, independent.

  • l'estàndard secp256k1 ECDH, exactament com abans;
  • ML-KEM-768, l'algoritme postquàntic NIST estandarditzat com FIPS 203. La seva seguretat es basa en problemes de gelosia, que l'algoritme de Shor no toca.

Els dos són Múltiples, no mescladesEl missatge és xifrat amb NIP-44 exactament com sempre va ser, i aquest text xifrat acabat és segellat una segona vegada dins de la capa post-quantum - ChaCha20-Poly1305, clau del secret compartit de ML-KEM. La clau de l'enviador, la clau del receptor, el text xifrat d'encapsulació i la clau ML-KEM del receptor estan lligats a aquesta derivació com a context, de manera que una capa no es pot aixecar d'un intercanvi i reproduir en un altre.

Un combinador com X-Wing o Signal's PQXDH barreja ambdós secrets en una clau en comptes. Nymchat no ho fa, i la raó és pràctica més que criptogràfica: la barreja necessita la sortida ECDH crua, i una extensió del navegador o la signatura remota mai no li tornarà - retorna un text xifrat acabat, que és tot el punt de mantenir la clau on l'aplicació no pot arribar a ella.

La propietat important és la mateixa de qualsevol manera: el resultat és Almenys tan fort com la meitat més fortaSi la criptografia de la xarxa resulta ser més feble del que s'esperava, trencar ML-KEM només esborra la capa exterior i deixa el NIP-44 actual per sota. Si secp256k1 cau en un ordinador quàntic, la capa interna s'obre, però la capa exterior no. Un atacant ha de trencar ambdós.

Cada missatge té un nou intercanvi postquàntic, de manera que la recuperació de la clau d'un missatge es revela res dels altres.

La meitat post-quàntica necessita una clau pròpia, i d'on ve aquesta clau és el que decideix si la cosa sencera val alguna cosa. no Va treballar des del seu nsecUn ordinador quàntic que trenca la meitat clàssica recupera el nsec de la seva clau pública, i qualsevol cosa derivada de la nsec per una fórmula publicada surt amb ell — dues tanques obertes per una pausa. El codi quàntic per a cada compte, una vegada, a partir de bytes aleatoris que no exposen cap valor públic. nympq1… i s’asseu al teu costat nsec No és una contrasenya ni un segon login: és material clau que pots guardar, exactament com la contrasenya. nsec.

No hi ha res a encendre

Això no és una configuració. El xifratge postquàntic és simplement com Nymchat parla amb Nymchat, el de la mateixa manera que el xifratge normal és com parla amb tota la resta. S'aplica automàticament a cada missatge privat i xat de grup amb un altre usuari de Nymchat.

Configuració › Privacitat i Seguretat mostra si és actiu i quants dels seus contactes arriba actualment, però només com a informació - no hi ha interruptor.

Això funciona independentment de la forma en què es connecti. Una extensió del navegador (NIP-07) o un signant remot (NIP-46) mai no lliura la teva clau d'identitat a l'aplicació, que és tot el punt d'utilitzar-la - i no ha de fer-ho. Les dues meitats de l'encriptació es mantenen separades: el teu signant fa la part que sempre ha fet, i l'aplicació fa la part post-quàntica amb el teu codi de recuperació, que manté directament.

Cada missatge en el teu historial es manté llegible en tots els dispositius amb només el teu nsec, exactament com abans, i es manté així per a la vida del compte. nympq1… El codi de recuperació és el material resistent a la quàntica escrit a partir d'ara: nous missatges, i les configuracions sincronitzades i l'arxiu que viatja amb ells.

Així que un dispositiu ha de mantenir aquest codi abans que pugui obrir-los, i afegir un dispositiu ara requereix un pas addicional. nympq1… Aquest pas no és la fricció que no hem pogut eliminar: un codi que podria arribar a un nou dispositiu per si mateix hauria de viatjar allà dins d'un missatge ordinari, i que el missatge és exactament el que l'atacant aquesta característica existeix per aturar està enregistrant.

L’aplicació genera el nympq1… codi per a vostè, de manera que no hi ha res a triar i res a inventar. Veure o editar els detalls de NymLlavors Revel·li la clau privada i el codi de recuperació d'aquest nimEs troba directament sota el seu nsec, amb els mateixos botons de mostra i còpia. No cal pensar-hi fins al dia que afegiu un segon dispositiu.

Un dispositiu desconnectat no es bloqueja en aquest moment. segueix llegint tot el que està escrit sota l'encriptació anterior i continua enviant normalment, i una vegada que l'enllaci, torna i obre els missatges resistents als quàntics que no podia llegir abans.

Els teus altres dispositius

Un segon dispositiu necessita dues coses: una versió actual de l'aplicació, i la nympq1… Un codi més antic continua funcionant -no es trenca- però no pot llegir el format actual, de manera que mentre encara es troba en el compte les còpies que teniu per a vosaltres mateixos cauen de nou a l'anterior que pot. Un dispositiu actualitzat que no ha estat enllaçat encara llegeix el vostre historial més antic i demana el codi.

Amb qui ho aconsegueixes

Cada client de Nymchat publica un petit anunci signat, que expira dient-ho, i inclou la seva clau post-quàntica quan en té una. Tenir un anunci vàlid per a algú és el que fa que l'aplicació utilitzi l'intercanvi més fort amb ells. no hi ha negociació per interferir: o la clau és allà o no és, i perquè l'anunci està signat pel seu autor, una clau substituïda hauria de ser falsificada en lloc de simplement servida.

Quin atacant controla un relé Pot no és retenir l'anunci, de manera que l'enviador mai veu una clau i cau de nou a l'encriptació ordinària. Això val la pena dir clarament. costa la protecció post-quàntica per a aquests missatges; no pot fer que un no sigui llegible, i no pot fer que acceptis una clau que no és teva.

Aquests anuncis duren una setmana i es refresquen diàriament mentre utilitzeu l'aplicació. Si estàs lluny més temps que això, els teus missatges desapareixen i et llegeixen com un client ordinari de Nostr durant un temps: els missatges enviats a tu en aquesta bretxa es xifren de la manera normal en comptes de la manera resistent a la quàntica. Encara arriben, i encara els pots llegir -i no hi ha res que hagis rebut abans.

Tots els altres continuen treballant exactament com abans. Bitchat Els usuaris i qualsevol altre client Nostre reben l'estàndard NIP-17, sense canvis. res es trenca quan envia un missatge a algú fora de Nymchat.

Un missatge postquàntic substitueix l'estàndard en lloc d'enviar-lo al costat. Enviar tots dos seria inútil: un atacant simplement trencaria la còpia més feble.

Les còpies adreçades a tu aconseguiu-lo també: el que llegeixen els vostres altres dispositius, el arxivar darrere d'ell, i la vostra configuració sincronitzada, que viatgen de la mateixa manera i porten el vostre llista de converses, les teves claus de grup i el teu historial de missatges. Deixant qualsevol d'aquests a l'antic el xifratge els hauria convertit en la cosa més feble que emmagatzemeu: llegibles per qualsevol que trenqui la criptografia d'avui, per molt acurada que fossin segellats els missatges.

Seguint llegible per Bitchat

Bitchat no pot llegir el format de missatge de Nymchat, així que històricament Nymchat va enviar una segona còpia tots els missatges en el format de Bitchat per a qualsevol persona que l'utilitzi, que, per a algú no n'havies sentit mai, volia dir tothom.

L'anunci anterior fa que aquesta suposició sigui innecessària. Si algú n'ha publicat un, ho és executant Nymchat, de manera que la còpia de Bitchat s'elimina i només s'envia el missatge més fort. Si ells no, res ha canviat: encara reben els dos formats, exactament com abans, així que res que envieu pot esdevenir il·legible perquè l'aplicació ha endevinat malament quin client utilitza algú.

Igual que el xifratge en si, això és automàtic i no té cap configuració.

Per què no només endevinar a partir de l'activitat pública

Nymchat podria inferir qui està executant què a partir de l'activitat del canal públic i ho detectaria gent abans. Però aquesta inferència de vegades és incorrecta, i equivocar-se aquí vol dir enviar a algú un missatge que la seva aplicació no pot obrir, sense error i sense tornar a intentar-ho. Un publicat l'anunci està signat pel seu autor i no es pot falsificar, de manera que s'utilitza en el seu lloc.

En els xats de grup

Els missatges de grup ja estan xifrats per separat per a cada membre, de manera que un grup pot barrejar els dos tipus lliurement: els membres els clients dels quals el donen suport obtenen el xifratge més fort, la resta obtenen el estàndard, i el grup funciona normalment de qualsevol manera.

Per això, un missatge de grup només es marca com a resistent quàntic quan cada membre ho va rebre així. Si fins i tot una còpia utilitza l'intercanvi estàndard, aquesta còpia porta el mateix missatge, de manera que el missatge en conjunt només està protegit com la seva còpia més feble. L'aplicació diu "Quàntic-resistent a 8 de 10 membres" en lloc d'arrodonir cap amunt.

Els xats de grup també mantenen el seu tecles giratòries d'una sola vegada, que amaguen qui està en un grup de qualsevol persona que vegi un relleu. Aquesta protecció no es veu afectada i funciona exactament com ho va fer.

Llegint el distintiu

Cada missatge privat i grup porta un petit escut A l'altre costat de l'embolcall. Tapa qualsevol de les marques explica el que està mostrant.

MarcSignificat
CadenatQui l'ha enviat: si la signatura coincideix amb l'autor reclamat.
EscutAmbdues parts tenien un codi post-quàntic propi, i l'intercanvi híbrid es va utilitzar per a cada còpia d'aquest missatge.
Escut puntejatParcialment resistent al quàntic: un missatge de grup que només alguns membres van rebre una còpia protegida, ja que els altres porten el mateix text, tractar el missatge com convencionalment xifrat en general.
Escut a través de l'escutEncriptació estàndard NIP-44 - encara end-to-end xifrat, i encara no llegible per a ningú excepte els participants avui.
Sense escutNo és un missatge xifrat. Els missatges del canal públic són llegibles en el relai per disseny, de manera que no s'aplica cap marca d'encriptació.

Una marca que falta seria ambigua - podria igualment significar “no-resistent a la quantitat”, “aquesta construcció és massa vella”, o “l'indicador està trencat”- i un indicador de seguretat que no es pot distingir d'un trencat no us diu res.

Es troba al costat del bloqueig en lloc de substituir-lo perquè els dos responen a preguntes diferents, i un missatge pot ser un sense l'altre - resistent a la quàntica, però d'un remitent no verificat, o verificat però convencionalment xifrat.

Els missatges més antics mantenen permanentment l'escut de cops. Qualsevol cosa enviada abans que ambdues parts estiguessin en una construcció resistent a la quàntica va ser segellada amb l'intercanvi convencional, i que el text xifrat ja existeix en els retransmissors - no es pot tornar a segellar després del fet.

El que no fa

Això protegeix el continguts dels teus missatges. No en fa totes les parts Nostr a prova quàntica, i val la pena ser precís sobre la diferència.

  • Les signatures encara són secp256k1. Nostr identitats signe amb Schnorr al mateixa corba. Un adversari que ja tenia un ordinador quàntic en funcionament podria forjar a signar i suplantar la identitat d'algú en temps real. El que atura l'intercanvi híbrid és llegir trànsit registrat: confidencialitat, no autenticació.
  • No hi ha cap avantatge secret. Ambdues claus són de llarga durada: NIP-44 deriva la seva clau de la nsec, i la capa post-quàntica s'encapsula a la clau ML-KEM darrere de la nympq1… Cada missatge rep una encapsulació fresca, de manera que la clau d'un missatge no obre la següent - però qui acabi tenint aquestes claus a llarg termini pot llegir tot el que mai van gravar, no només el que va venir després. Expiració de missatges reduir, i és per això que aquesta característica està dirigida a la collita-ara-desxifrar-després en comptes d'una clau que es pren.
  • Les metadades no canvien. Un relleu encara veu que es va dirigir un esdeveniment una clau, i aproximadament quan. Això ho gestiona embolcall de regal i claus d'una sola vegada, no per això.
  • La xarxa Bluetooth no està coberta. Un missatge traslladat La mesquita viatja dins d'una sessió de soroll XX, que és fort, encriptació actual però un intercanvi de claus clàssic - de manera que no porta la capa post-quantum, fins i tot entre dos usuaris de Nymchat. El segell reflecteix això: un missatge lliurat a través de la xarxa no està marcat amb resistència quàntica.
  • El codi de recuperació és una segona cosa a mantenir. Comença amb nympq1 I ho trobaràs en Els detalls del teu NymEn el mateix escenari que el seu nsec — premeu el vostre nym, i després “Revel·li la clau privada i el codi de recuperació d'aquest nym”. nsec per si sol no reconstrueix la teva clau post-quàntica - això és precisament per què funciona - així que si cap dispositiu manté aquest codi i no tens cap còpia d'ell, el que va ser segellat a ell no es pot tornar a obrir. nsec.
  • No pot protegir el que fa l'altre costat. Un destinatari encara pot capturar la pantalla, copiar o guardar un missatge.

Aquesta és la mateixa posició que pren Signal amb la seva pròpia actualització postquàntica: arreglar l'intercanvi de claus ara, perquè aquesta és la part en què un atacant pot actuar retroactivament i tractar les signatures com a problema separat per quan els estàndards es posen al dia.

Comprovació de l'obra

La implementació de ML-KEM es posa a prova contra l'oficial Test de vectors NIST publicacions per FIPS 203L'aplicació web i l'aplicació mòbil es mantenen a més a un conjunt compartit de vectors de prova, que és el que garanteix que un missatge escrit per un pugui ser llegit per l'altre.

Tots dos són Font oberta sota l'AGPL-3.0, i les construccions de l'aplicació web són reproduïbles — vegeu verificant una construcció.

Anem a més profunditat: Acord clau postquàntic a Nymchat Un llibre tècnic sobre com es distribueix la clau ML-KEM sense un directori, la construcció exacta que combina els dos intercanvis de clau i els dissenys que es van rebutjar.