En webbläsare kan köra stark kryptografi; koden som levereras till webbläsaren måste fortfarande vara betrodd.
En webbläsare kan utföra totalsträckskryptering lokalt, inklusive postkvantetablering av nycklar, utan att en inbyggd meddelandeapp installeras. Den svåra frågan är inte om matematiken kan köras i en flik. Den är om den levererade applikationen, nyckelhanteringen och uppdateringsvägen förtjänar det förtroende som samtalet kräver.
Webbaserad åtkomst kan vara praktisk när installation inte är möjlig. Det gör inte appen immun mot censur, komprometterad hosting, skadliga tillägg eller en komprometterad enhet.
Webbläsarens kryptografiska byggstenar
WebCrypto tillhandahåller lågnivåoperationer för kryptering, nyckelhärledning, signering och nyckelhantering. Vanliga implementationer erbjuder primitiver som AES-GCM och ECDH. Operationerna är byggstenar, inte ett fullständigt autentiserat meddelandeprotokoll.
En webbapplikation kan lägga till en granskad ML-KEM-implementation i JavaScript eller WebAssembly där det nödvändiga inbyggda API:et saknas. Webbläsarstödet förändras, så utvecklare bör funktionstesta de exakta målversionerna i stället för att anta att alla webbläsare erbjuder samma algoritmer.
Ett konceptuellt hybridflöde är:
- Generera lämpliga nycklar med kryptografiskt säker slumpmässighet.
- Autentisera motpartens nyckelmaterial med protokollets identitetsmekanism.
- Skaffa klassiska och postkvanta bidrag till den gemensamma hemligheten.
- Kombinera dem med det angivna nyckelhärledningsschemat och samtalets kontext.
- Använd härledda nycklar för autentiserad kryptering med korrekt hantering av nonce och tillstånd.
Detta är en förklarande översikt, inte ett implementationsrecept. FIPS 203 standardiserar ML-KEM; det certifierar inte en viss webbläsarapplikation och definierar inte varje steg i ett chattprotokoll.
Leverans via HTTPS ingår i förtroendemodellen
Servern levererar normalt JavaScript och WebAssembly som ska behandla klartext. En illvilligt ändrad applikation kan läsa ett meddelande före kryptering eller efter dekryptering, även om dess kryptografiska bibliotek använder sunda algoritmer.
HTTPS hjälper till att autentisera och skydda leveransen mot nätverksstörningar. Det bevisar inte att ursprungets operatör, dess distributionssystem eller dess beroenden är okomprometterade. En vanlig HTTPS-sida är inte automatiskt ett oberoende signerat applikationspaket.
W3C:s säkerhetsöverväganden för WebCrypto tar upp skriptinjektion och behovet av att skydda applikationens integritet. Content Security Policy, noggrann beroendehantering och andra webbsäkerhetskontroller minskar riskerna, men inget gör godtycklig skriptkod från samma ursprung till en opålitlig observatör som inte kan komma åt applikationsdata.
WebAssembly delar också applikationens säkerhetsgräns. Dess sandlåda begränsar åtkomst till värdmiljön via definierade gränssnitt; den gör inte den anropande sidan pålitlig. Att kompilera C till Wasm gör inte källspråket minnessäkert.
Nycklar finns inte nödvändigtvis bara i RAM
En webbläsarbaserad meddelandetjänst kan lagra nycklar eller krypterat tillstånd beständigt så att användaren kan återvända till samma identitet. Den kan även erbjuda enhetslänkning eller krypterad återställning. Dessa beteenden måste dokumenteras, inte antas saknas.
Frågor som är värda att ställa är:
- Vilka nycklar lagras beständigt, och i vilken webbläsarlagring?
- Vad händer när webbplatsdata rensas eller en privat surfsession avslutas?
- Kan en icke-extraherbar nyckel fortfarande användas av skadlig kod som körs i applikationens kontext?
- Kan en nyligen levererad uppdatering komma åt gammalt lokalt tillstånd?
- Återställer återställningen identitet, meddelandehistorik eller båda?
En icke-extraherbar WebCrypto-nyckel begränsar export via API:et. Den hindrar inte i sig fientlig applikationskod från att begära tillåtna operationer eller samla in klartext.
Webbklienter och inbyggda klienter innebär olika avvägningar
| Fråga | Webbläsarklient | Inbyggd klient |
|---|---|---|
| Distribution | Ursprung, hosting och flöde för webbuppdateringar | Appbutik eller paketdistribution och signeringsflöde |
| Lokal beständighet | Webbläsarlagring och profilbeteende | Operativsystemets applagring och applikationens livscykel |
| Exponering | Skript från samma ursprung, tillägg och webbläsarsårbarheter | Applikationsberoenden och sårbarheter i operativsystem/app |
| Tillgänglighet | Nåbar domän och nödvändiga nätverkstjänster | Den installerade appen behöver fortfarande sina nödvändiga nätverkstjänster |
Ingen kolumn utser en vinnare utan att implementationen undersöks. En webbapp kan förbli åtkomlig efter att ha tagits bort från en appbutik, men en blockerad domän eller saknad nätverksväg kan fortfarande förhindra åtkomst.
Mät prestanda i stället för att utlova den
ML-KEM-768 använder en inkapslingsnyckel på 1 184 byte och en chiffertext på 1 088 byte enligt FIPS 203. Storlekarna hjälper till att förklara varför protokoll kan schemalägga KEM-uppdateringar i stället för att bifoga nytt material till varje kort meddelande. De är inte mätningar av en hel applikations bandbredd eller hastighet.
Ett användbart prestandatest anger webbläsare, enhet, bygge, uppvärmningsmetod, uppmätt operation och fördelning av tider. Ta med sidstart, modulladdning, minnesanvändning, enklare enheter och nätverksöverbyggnad. Påståenden som ”under två millisekunder på alla moderna telefoner” kräver publicerade mätningar; denna artikel ger inga sådana.
Tillämpning på Livara
Livaras säkerhetsöversikt dokumenterar LVR1 och dess återställningsgränser. Dess Proof Lab demonstrerar utvalda lokala operationer med P-256, HKDF och AES-GCM; sidan placerar uttryckligen den fullständiga LVR1/LGS1-kompositionen utanför den testbänken. En lyckad demonstration bevisar därför inte säkerheten i all levererad webbkod.
Inför ett känsligt webbläsarsamtal bör du använda en autentisk, underhållen klient, läsa den aktuella hotmodellen, skydda webbläsarprofilen och verifiera motparten med den stödda processen för nyckelkontroll. Bekvämlighet och användbar kryptografi kan samexistera, förutsatt att webbleveransens gräns förblir en del av bedömningen.



