Hopp til innholdet

Slik virker låsen

Ingen kan lese et tilbud før fristen. Kjøperen kan ikke, og vi kan ikke. Vi kan heller ikke lese dem etterpå.

En hånd holder en nøkkel. En annen hånd, et stykke unna, holder et låst skrin.
Låsen har to deler. Kjøperen har nøkkelen. Vi har de krypterte tilbudene, og gir dem ikke fra oss før fristen er ute. Ingen har begge delene før fristen.

Steg for steg

  1. Kjøperen publiserer og får en åpningskode. Den finnes bare hos kjøperen. Vi ser den aldri.
  2. Leverandøren leverer. Tilbudet låses på leverandørens egen maskin før det sendes. Det som kommer til oss, er uleselig, også navnet på den som leverer.
  3. Leverandøren får kvittering med klokkeslett og et fingeravtrykk av det som ble levert.
  4. Fristen avgjøres av vår klokke, på sekundet. Etter fristen tas ingenting imot. Før fristen gis ingenting ut, heller ikke til kjøperen.
  5. Kjøperen åpner med åpningskoden etter fristen. Tilbudene låses opp på kjøperens maskin, ikke hos oss.

Hvem vet hva, og når

Før fristenEtter åpning
KjøperenSer spørsmål uten avsender. Ser ikke tilbud, ikke hvem som har levert, og ikke hvor mange.Leser tilbudene i egen nettleser.
Anbudene.noHar chiffertekst og tidspunkter. Kan ikke lese innhold eller avsender.Det samme. Vi får aldri nøkkelen.
Andre leverandørerSer utlysning, krav, spørsmål og svar. Ingenting om tilbud eller om hvem som har konto.Det kjøperen kunngjør.

Bedrifts- og privatmarkedet

Tilbudene forsegles på samme måte i alle markedene, så vi kan aldri lese dem. To ting er annerledes når en bedrift eller privatperson ber om tilbud:

En privatperson må bekrefte både e-post og mobilnummer før forespørselen går ut. Vi lagrer ikke mobilnummeret, bare et fingeravtrykk av det.

Tidsstempel og logg

Hver hendelse i en konkurranse skrives til en logg: publisering, rettelser, spørsmål, svar, mottatte tilbud, avviste forsøk og åpning. Hver rad bærer hashen av raden før, så en rad ikke kan endres eller fjernes uten at kjeden ryker. Loggen er åpen for alle, og kan kontrolleres maskinelt gjennom API-et. Rader om tilbud vises først når fristen er ute, fordi også antall tilbud er konkurransesensitivt.

Hvem som er på plattformen, røpes ikke

Det låsen ikke verner mot

Tekniske detaljer: algoritmer og nøkler

Alt under skjer i nettleseren (Web Crypto). Koden er én fil uten avhengigheter.

  1. Publisering. Kjøperens nettleser lager et nøkkelpar (RSA-OAEP, 3072 bit). Den private nøkkelen pakkes inn med AES-256-GCM, under en nøkkel avledet av en åpningskode på 25 tegn (PBKDF2-SHA-256, 600 000 runder). Vi får den offentlige nøkkelen og den innpakkede private. Åpningskoden sendes aldri til oss.
  2. Innlevering. Leverandørens nettleser lager en egen AES-256-GCM-nøkkel for tilbudet, krypterer tilbudet og vedleggene, og pakker nøkkelen med kjøperens offentlige nøkkel. Det som kommer til oss, er chiffertekst. Også hvem som leverer, ligger inne i chifferteksten.
  3. Kvittering. Serveren stempler mottaket med sin klokke, regner sha256 av chifferteksten, og gir leverandøren en signert kvittering. Nettleseren kontrollerer at sjekksummen er den samme som den sendte.
  4. Fristen. Serverens klokke avgjør, på sekundet. Etter fristen tas ingen tilbud imot. Før fristen utleveres ingen tilbud, heller ikke til kjøperen. Forsøk på begge deler står i loggen.
  5. Åpning. Etter fristen henter kjøperen chifferteksten og skriver åpningskoden. Tilbudene dekrypteres i kjøperens nettleser. Åpningen logges med klokkeslett og sjekksummene som ble utlevert.

Regelverket bak, punkt for punkt: Regelverk.