Säkerhet + äkthet

Så kan du lita på McGesunds QR-koder

På en McGesund-QR-kod finns viktig information: vilket företag den avser, om det är en recensionskod, en produktkod eller en signalkod och hur länge den är giltig. För att ingen ska kunna bygga om, byta ut eller förfalska en QR-kod är varje kod kryptografiskt signerad — som ett sigill som varje smartphone kan kontrollera. Högre nivåer kompletterar sigillet med en andra, kvantresistent signatur — valfritt till och med med två oberoende metoder parallellt.

Den här sidan förklarar hur det fungerar — steg för steg, utan fackspråk.

Märken förklarade

Varje recension på McGesund kan bära ett eller flera märken. De visar med en blick hur recensionen har kommit till och vad dess trovärdighet bygger på.

  • Geoverifierad

    Recensionen lämnades via QR-kod direkt på plats — smartphonens GPS låg inom företagets platsradie.

  • På plats: Hälsomässan Hannover

    Vid ett evenemang anger märket tillfället. Kontrollen skedde då mot evenemangsplatsen som företaget angett i förväg — inte mot företagsadressen. Så syns det att omdömet lämnats på en mässa eller kampanjdag och inte i lokalerna.

  • Displayverifierad

    Recensionen kom in via mottagningsdisplayen — roterande engångs-QR-kod med sekunders TTL, kan inte fotograferas av, kan inte lösas in på distans. Massinsamlingar är tekniskt begränsade. Mer om displayen →

  • Kvantsignerad

    Utöver den klassiska signaturen är detta omdöme signerat med en kvantresistent algoritm (Falcon eller ML-DSA). Det går därför att verifiera även när klassiska algoritmer blir sårbara för kvantdatorer.

  • Blockkedjeförankrad

    Signaturnyckeln för detta omdöme är förankrad i Bitcoin-blockkedjan via OpenTimestamps. Därmed kan det oberoende av McGesund styrkas att nyckeln redan fanns vid förankringstillfället.

  • Nyckel förankrad i blockkedjan

    Här är bara signeringsnyckeln införd i loggboken, inte omdömet självt. Det visar att nyckeln redan fanns vid den angivna tidpunkten — en senare inlagd förfalskning skulle märkas. Omdömen från före omläggningen bär det här märket.

  • Förankring pågår

    Tidsstämpeln är på väg: den ligger hos de offentliga tidsstämplingstjänsterna och väntar på att tas in i ett Bitcoin-block. Det tar vanligtvis en till två timmar. Därefter blir märket gult och anger blocknumret.

  • McGesund-verifierad

    Recensionen har granskats och godkänts manuellt av McGesund-teamet — t.ex. efter klargörande av ett identitetsbevis via supportärende.

  • Granskas

    Recensionen ligger hos McGesund-teamet för granskning — till exempel eftersom geokontrollen låg utanför radien eller profilen ännu inte har någon verifierad innehavare. Innehållet förblir dolt fram till godkännandet.

  • Utan kryptosignatur

    Recensionen härrör från tiden före vårt envelope-system (importerat äldre bestånd). Dess äkthet kan tekniskt sett inte kontrolleras i efterhand och därför räknas den inte in i helhetssnittet.

  • Signaturkontroll misslyckades

    Den kryptografiska kontrollen av recensionen har misslyckats — t.ex. på grund av manipulerade byte, återkallad nyckel eller bruten envelope. Recensionen räknas inte in i helhetssnittet.

Flera märken kan kombineras — t.ex. ”Geoverifierad” + ”Displayverifierad” på samma recension. Filtren i katalogen och på företagsprofiler använder samma begrepp.

Vad som finns i QR-koden

Inuti QR-koden ligger ett litet, signerat datapaket. Det innehåller:

  • vilket företag koden gäller,
  • om det är en profilkod, en produktkod eller en signalkod,
  • när den utfärdades och när den upphör att gälla,
  • en signatur som varje smartphone kan använda för att kontrollera att uppgifterna kommer oförändrade från McGesund.

QR-koden är därmed visserligen läsbar — men varje innehållslig ändring skulle förstöra signaturen och avslöjas vid första skanningen.

Hur en recension kontrolleras i webbläsaren

På varje recension i en företagsprofil finns en knapp ”Kontrollera äkthet”. Den som klickar på den ser steg för steg fyra gröna bockar:

  1. Signatur giltig. Recensionen signerades med en hemlig nyckel som tillhör McGesund — signaturen passar till den offentliga motparten.
  2. Innehållet oförändrat sedan recensionen lämnades. Den ursprungliga texten ändrades inte i hemlighet efter att den skickats in.
  3. Postkvantsignatur giltig. Vid högre säkerhetsnivåer kontrolleras dessutom en eller två kvantdatorresistenta metoder (Falcon och/eller ML-DSA-87). På dubbel-PQ-nivån måste var och en av de två signaturerna vara giltig för sig.
  4. Förankrad i Bitcoin-blockkedjan. Nyckeln som användes för signaturen registrerades bevisligen före ett visst datum — och recensionen själv bär sin egen tidsstämpel så snart den är bekräftad. Se nästa avsnitt.

Viktigt: Kontrollen körs helt i besökarens webbläsare, inte på McGesunds servrar. Inte heller vi kan påverka resultatet.

Klassiskt och kvantresistent — kombinerat

Varje QR-kod bär en klassisk Ed25519-signatur — snabb, kompakt, världsomspännande etablerad. Den är inbäddad i själva QR-koden och kan kontrolleras av vilken enhet som helst direkt efter skanning, även utan internet.

Högre nivåer kompletterar denna signatur med en eller två ytterligare postkvantsignaturer — metoder som är säkra även mot framtida kvantdatorer. Vi erbjuder två matematiskt oberoende metoder: Falcon (FN-DSA, i två storlekar 512 och 1024) och ML-DSA-87 (NIST:s primära rekommendation ur FIPS 204). För att QR-koden ska förbli skarpt skanningsbar ligger dessa signaturer inte i själva QR-koden, utan krypterade i McGesund-backenden. När du klickar på ”Kontrollera äkthet” hämtar din webbläsare dem och verifierar dem lokalt.

På den högsta nivån (”dubbel-PQ”) används båda metoderna parallellt. Därmed är recensionen kvantresistent även om en av de två metoderna någon gång skulle brytas — ingen enskild-algoritm-risk.

Praktisk fördel: du är redan idag rustad för i övermorgon — och QR-koden förblir överallt lika liten och lika lätt att skanna.

NivåDet som kontrolleras
Standard
Ed25519
Klassisk signatur
Postkvant (Falcon-512)
Ed25519 + Falcon-512
Klassiskt + kvantresistent (NIST Level 1)
Postkvant Max (Falcon-1024)
Ed25519 + Falcon-1024
Klassiskt + kvantmaximumnivå (NIST Level 5)
Postkvant (ML-DSA-87)
Ed25519 + ML-DSA-87
Klassiskt + NIST:s primära rekommendation (Level 5)
Dubbel-PQ
Ed25519 + Falcon-1024 + ML-DSA-87
Klassiskt + båda kvantmetoderna parallellt

QR-koden förblir lika stor och lika lätt att skanna på alla nivåer — den extra säkerheten tillkommer från McGesund-backenden, inte från själva QR-koden. Vilka nivåer som är knutna till din plan ser du i QR-flikarna i din profil.

Varför vi satsar på Falcon

Falcon (FN-DSA) är vid sidan av ML-DSA-87 den andra postkvantsignaturmetod som valts ut av NIST och befinner sig i den slutliga FIPS-206-standardiseringen. Vi erbjuder den ändå redan idag — av tre skäl:

  1. Algoritmmångfald — Falcon bygger på NTRU-gitter, ML-DSA-87 på Module-LWE. Båda metoderna är matematiskt oberoende konstruerade. En attack som bryter en metod bryter inte automatiskt den andra. På dubbel-PQ-nivån använder vi båda parallellt — även ett fullständigt Falcon-brott skulle lämna recensionen giltig via ML-DSA-87.
  2. Dataminimering — En Falcon-signatur är med ~666 respektive 1280 byte betydligt mer kompakt än en ML-DSA-87-signatur (4627 byte), vid jämförbar säkerhetsnivå. Per QR-kod lagrar vi därmed mindre kryptomaterial på våra servrar. Det passar vår princip att bara samla in och lagra så mycket data som verkligen behövs för äkthetskontrollen.
  3. Snabbare webbläsarverifiering — Falcon-signaturer verifieras i slutkundens webbläsare betydligt snabbare än ML-DSA-87. Den som med ett klick kontrollerar en recensions äkthet ser resultatet märkbart tidigare.

Om Falcon ändå inte blir slutgiltig: Befintliga QR-koder som signerats med Falcon förblir fortsatt funktionella — de bär ju dessutom den klassiska Ed25519-signaturen i själva QR-koden, som är verifierbar offline och oberoende av Falcon. För det kvantresistenta lagret skulle vi ställa om berörda QR-koder på serversidan till ML-DSA-87; den tryckta QR-koden behöver inte bytas ut för det. Ed25519, Bitcoin-förankringen och recensionens identitet förblir oberörda i varje scenario.

Anmärkning om Falcon-varianten: Den underliggande NIST-standarden FN-DSA (FIPS 206) befinner sig i den slutliga omröstningen. Skulle FN-DSA inte standardiseras slutgiltigt ställer vi om berörda QR-koder till ML-DSA-87. Ed25519-signaturen och Bitcoin-förankringen för varje recension förblir oberörda av detta — äktheten hos befintliga recensioner går inte förlorad i något scenario.

Matematiken bakom det

För alla som hellre räknar efter än tror: dessa fördjupningar förklarar steg för steg vad som händer matematiskt när ett omdöme signeras.

Alla signaturmetoder i överblick

Bitcoin-blockkedjan som förtroendeankare

Vem kontrollerar att McGesund inte i hemlighet byter ut en nyckel för att få en förfalskad recension att se ”äkta” ut?

Svar: Ingen behöver lita på oss. Varje nyckel som vi signerar recensioner med anmäler vi till en offentlig digital loggbok som ingen kan ändra — Bitcoin-blockkedjan. Så snart en nyckel är införd där (det tar 1–2 timmar) står det för alltid fast från när den fanns. Att byta ut den i efterhand är omöjligt — det skulle bryta den världsomspännande Bitcoin-konsensusen.

Vad du har för nytta av det:

  • Varje enskild recension sparar med det blockkedjeblocknummer i vilket signeringsnyckeln förankrades.
  • En senare inspelad förfalskning skulle vara matematiskt påvisbar — nyckeln hade inte funnits vid tidpunkten för införingen.
  • Externa granskare kan självständigt spåra förankringen med standardverktyg, utan att behöva lita på oss.

Sedan en tid går vi ett steg längre: inte bara nyckeln, utan varje recension i sig får en egen post i denna loggbok. Därmed är det inte bara fastställt sedan när nyckeln fanns, utan sedan när just denna recension fanns i exakt denna ordalydelse. Att i efterhand hitta på en recension och ge den ett äldre datum är därmed uteslutet — ingen text skriven i dag hamnar i ett Bitcoin-block från i går.

I kontrollrutan visar en enda rad ankringens tillstånd, och färgen säger hur långt den kommit. Grönt: båda finns — nyckel och recension, var och en med blocknummer. Gult: nyckeln är förankrad, recensionens egen tidsstämpel är fortfarande på väg. Det tar en till två timmar och är ingen brist, utan helt enkelt den tid ett Bitcoin-block behöver. Rött: ännu ingen bekräftad förankring.

Förbrukar det energi? Nej, ingen extra. McGesund bedriver ingen mining och utlöser ingen egen transaktion. OpenTimestamps sammanför alla tidsstämplar inom ett tidsfönster världen över till ett enda fingeravtryck; endast det hamnar i en transaktion som calendar-servrarna ändå skickar — om den innehåller tio eller tio miljoner poster ändrar ingenting. Och Bitcoin-block skapas var tionde minut, oavsett om vi skriver in något. En tidsstämpel skapar alltså varken ett extra block eller extra beräkning.

Vad som hamnar i blockkedjanMcGesund-backendNyckel + beskrivningen gång per nyckelrecension + signaturvid varje recensionFingeravtryck (32 byte)kort, entydigt talsamlade till en rotLoggbok 1Loggbok 2Loggbok 3BitcoinBlock~1–2 hBlocknumret sparas i nyckelregistretBitcoin-blockhöjdbevis + blocknr. vid recensionenegen tidsstämpel per recension

Så ser kontrollen ut i profilen (exempel: dubbel-PQ-nivå)

Den här recensionens äkthet

Klassisk signatur (Ed25519)

Matematiskt bekräftad av din webbläsare

Postkvantsignatur (Falcon-1024)

Matematiskt bekräftad av din webbläsare

Postkvantsignatur (ML-DSA-87)

NIST:s primära rekommendation — dessutom bekräftad i webbläsaren

Förankrat i Bitcoin-blockkedjan

Recension sedan block #826 114, nyckel sedan block #825 900 — båda verifierbara oberoende av McGesund.

Innehållet oförändrat sedan recensionen lämnades

Text, hjärtan och plats stämmer med den signerade posten

Lämnad på plats (geoverifierad)

Lämnad på företagets plats

Vad betyder det? Din webbläsare har räknat om de kryptografiska signaturerna lokalt — utan att behöva lita på McGesund. När alla bockar är gröna är den här recensionen bevisbart äkta och oförändrad.

Förhandsvisning — när du klickar på ”Kontrollera äkthet” i en riktig profil körs exakt den här kontrollen i din webbläsare.

Så länge recensionens tidsstämpel fortfarande pågår

Förankrat i Bitcoin-blockkedjan

Nyckel sedan block #825 900 · recension följer (~1–2 h)

Gul bock i stället för grön: nyckeln är redan förankrad, recensionens egen tidsstämpel följer inom en till två timmar. När den är bekräftad blir raden grön och anger båda blocken.

Nycklar med livscykel

Varje signaturnyckel har ett start- och ett slutdatum. Vi roterar nycklarna rutinmässigt — nyutfärdade QR-koder signeras med den nya nyckeln, äldre QR-koder behåller sin giltighet eftersom den ursprungliga nyckeln fortsatt förblir tillgänglig för verifiering.

För allvarliga fall håller vi ytterligare reservnycklar redo som redan är förankrade i Bitcoin-blockkedjan. Så kan vi vid behov ställa om omedelbart, utan att en förtroendelucka uppstår.

Skulle en nyckel vara komprometterad återkallar vi den — alla QR-koder från den nyckelperioden förlorar omedelbart sin giltighet. I det fallet informerar vi dig och tillhandahåller nya QR-koder.

Vad signaturen inte kan

En signatur skyddar mot förfalskning, inte mot kopiering — en avfotograferad QR-kod förblir skanningsbar. Därför arbetar vi med ytterligare lager:

  • Geoverifiering vid recensioner: inlämningar utanför den tillåtna radien kring din plats avvisas på serversidan.
  • Engångsanvändning vid produkt-QR-koder: efter den första recensionen är koden förbrukad.
  • Återkallelsefunktion direkt i dashboarden: du kan när som helst inaktivera vilken QR-kod som helst.

Mottagningsdisplay (Classic+)

Från och med tariffen Classic+ kan du dessutom ställa upp en mottagningsplatta som visar roterande QR-koder. Varje kod är giltig endast en kort stund och kan lösas in bara en gång. Så uppstår ett ytterligare, platsbundet äkthetsspår som en klassisk tryckt QR-affisch inte kan leverera.

  • Koden växlar automatiskt med korta mellanrum. Den som fotograferar en kod och vill skanna den senare hamnar hos en utgången kod.
  • Skanna en gång, recensera en gång: en lyckad kod spärras omedelbart — återanvändning är utesluten.
  • Platskrav vid inskickande: recensioner utanför den tillåtna radien visas inte automatiskt utan hamnar för godkännande, endast efter manuell granskning och stränga kriterier.
  • Plattkopplingen kan återkallas när som helst: en förlorad eller utrangerad platta spärrar du med ett klick i dashboarden.

Recensioner som kommer in på det sättet bär det violetta märket ”Displayverifierad” — synligt på din profil och i recensionslistan.

Själva recensionen signeras vid sparandet dessutom kryptografiskt — oavsett om den kommit in via en display eller en klassisk QR-kod. Därmed hänger varje enskild recension på samma beviskedja som förklaras i avsnittet Bitcoin-förankring.

Giltighetstid och förnyelse

Varje QR-kod har sin egen utgångstidpunkt (standard: två år från utfärdandet). 60 dagar före utgången får du en e-postpåminnelse. Därefter kan du i dashboarden med ett klick skapa och skriva ut en ny QR-kod — den gamla förlorar automatiskt sin giltighet vid sitt utgångsdatum.

Vid misstanke om missbruk

Om du misstänker att en QR-kod missbrukas (till exempel en affisch på en plats där den inte hör hemma) återkallar du den helt enkelt i dashboarden via papperskorgssymbolen — befintliga affischer fungerar inte längre därefter. Vid större incidenter, hör av dig via supportområdet.

Kort sagt: Den som skannar en McGesund-QR-kod kan lita på att uppgifterna bakom den inte är förfalskade och inte i hemlighet ändrade — kontrollerbart i din egen webbläsare, utan att behöva lita på oss, med ett ankare i världens största offentliga blockkedja.

Kontakt →