Plattform · MindooDB-sikkerhetsmodell

Gå ut fra at serverne er kompromittert

Dette er sikkerhetsmodellen på plattformnivå som ligger bak hver MindooDB-installasjon — også Haven Sikkerhet og personvern. MindooDB er laget slik at lagrings- og synkroniseringsinfrastrukturen ikke behøver å være betrodd. Tre uavhengige krypteringslag beskytter konfidensialiteten. Kryptografiske signaturer beviser opphav og hindrer manipulasjon. Selv et fullstendig serverinnbrudd gir bare chiffertekst og offentlige nøkler — ingen data i klartekst, ingen private nøkler, ingen brukernavn.

Sikkerhetsarkitektur med nulltillit: nøklene blir liggende på enhetene, krypterte data flyter gjennom et krypteringsskjold til servere som ikke kan dekryptere dem
Forsvar i dybden

Tre uavhengige krypteringslag

Synkroniseringsprotokollen i MindooDB fordeler beskyttelsen over flere lag. Selv om ett lag blir kompromittert, verner de øvrige fortsatt konfidensialiteten. Det er kjernen i sikkerhetsarkitekturen til MindooDB: du trenger ikke stole på noe enkelt lag for å være trygg.

Lag 1
Kryptering på applikasjonsnivå

Før en oppføring i det hele tatt havner i lageret, krypteres payloaden med en symmetrisk nøkkel (AES-256-GCM). Denne krypteringen hører til datamodellen, ikke til transporten. Serveren som lagrer oppføringene, kan ikke lese innholdet — den ser bare krypterte byte.

Lag 2
Payload-kryptering i transporten

Når serveren svarer på en synkroniseringsforespørsel, pakker den payloadene i et ekstra RSA-krypteringslag med den offentlige nøkkelen til brukeren som spør. Selv den som fanger opp HTTP-svaret, kan ikke dekryptere det uten mottakerens private RSA-nøkkel.

Lag 3
Kanalkryptering

All kommunikasjon går over TLS. Det beskytter metadata (oppførings-ID-er, tidsstempler, forespørselsparametre) som payload-lagene ikke dekker. Til sammen sikrer de tre lagene dataene fullt ut: lagret, underveis og på linjen.

Tillitsmodell

Slik etableres tillit

Tillit i MindooDB har én rot: administratorens Ed25519-signeringsnøkkel. Administratoren signerer katalogdatabasen, der brukerregistreringene ligger. Den offentlige nøkkelen til hver bruker står i en katalogoppføring signert av administratoren. Når en klient eller server får en dokumentendring, kontrollerer den signererens offentlige nøkkel mot katalogen — er nøkkelen ikke registrert, avvises endringen. Ingen autentisering på serveren er nødvendig; tillit etableres gjennom kryptografiske bevis.

Tillitskjede
Administratorens signeringsnøkkel signerer katalogen; katalogen inneholder brukerregistreringer signert av administratoren; registrerte brukere signerer dokumentendringer med krypterte payloader
Admin-nøkkelen signerer katalogen. Katalogen avgjør hvilke brukere som er betrodd. Brukerne signerer endringer. Serverne kan validere uten å lese forretningsdata.

Hva serveren ser og ikke ser

Dette er den praktiske følgen av nulltillit-arkitekturen. En server (eller et hvilket som helst mellomledd, også relay-noder) håndterer utelukkende krypterte data og offentlig informasjon. Alt sensitivt blir liggende på klientenes enheter.

Serveren ser
  • Offentlige signeringsnøkler (Ed25519)
  • Offentlige krypteringsnøkler (RSA-OAEP)
  • Krypterte blobber (AES-256-GCM-chiffertekst)
  • Metadata om oppføringer (tidsstempler, innholdshasher)
  • Hasher av brukernavn (SHA-256 — ikke navnene selv)
Serveren ser aldri
  • Dokumentinnhold (ende-til-ende-kryptert)
  • Brukernavn (kryptert med administratorens RSA-nøkkel)
  • Private signerings- eller krypteringsnøkler
  • Symmetriske krypteringsnøkler (tenant eller navngitte)
  • Delte passord (bare out-of-band)
Tilgangskontroll

Tilgangskontroll gjennom kryptering

MindooDB håndhever tilgangskontroll med krypteringsnøkler, ikke med rettigheter på serversiden. Har du nøkkelen, kan du dekryptere dokumentet. Har du den ikke, er dokumentet chiffertekst. Dermed virker tilgangskontrollen likt enten dataene ligger på en server, på en peer-enhet eller på en relay-node som ikke kan lese dem. For finmasket kontroll over skriveoperasjoner — hvem som kan opprette, endre, slette, ta øyeblikksbilde av eller purge dokumenter — se den egne siden om tilgangskontroll.

Tenantens standardnøkkel

Alle dokumenter krypteres med tenantens AES-256-standardnøkkel med mindre en annen nøkkel er angitt. Hver registrerte bruker får denne nøkkelen under onboardingen. Passer for alminnelige data i hele tenanten.

Navngitte nøkler

For sensitive dokumenter lager du en navngitt krypteringsnøkkel og deler den bare med berettigede brukere. Nøkler reiser offline (den krypterte nøkkelen på e-post, passordet på telefon eller ansikt til ansikt) eller admin-blindt gjennom en policy: en bruker som har nøkkelen, pakker den for hver mottaker med mottakerens personlige offentlige (RSA-)nøkkel, så en administrator kan distribuere den uten noen gang å lese den. Bare de som har nøkkelen, kan dekryptere.

$publicinfos-nøkkel

En egen nøkkel som utelukkende krypterer katalogens tilgangskontrolloppføringer (brukerregistreringer, tilbakekallinger, grupper). Serverne bruker den til å kontrollere hvilke signeringsnøkler som er betrodd — uten å se brukernavn eller forretningsdata. Brukernavn ligger som SHA-256-hasher; de faktiske navnene er kryptert med administratorens RSA-nøkkel.

Håndheving av tilgangskontroll
Operasjon Håndheves av
Brukerregistrering Admin-signatur kreves (Ed25519)
Opprette dokument Krever krypteringsnøkkel (standard eller navngitt)
Endre dokument Krever signeringsnøkkel (registrert bruker) + krypteringsnøkkel
Lese dokument Krever dekrypteringsnøkkel
Tilbakekalling av bruker Admin-signatur kreves; blokkerer synkronisering og avviser framtidige endringer
Autentisering

Challenge-response-autentisering og trygg onboarding

MindooDB bruker verken passord eller tokens lagret på serveren. Autentiseringen bygger på Ed25519-challenge-response: serveren genererer en tilfeldig challenge, klienten signerer den med sin private nøkkel, og serveren kontrollerer signaturen mot den registrerte offentlige nøkkelen. Det beviser identiteten uten å dele hemmeligheter.

Autentisering ved synkronisering

Hver synkroniseringsøkt starter med et challenge-response-handshake:

  • Klienten sender sin offentlige signeringsnøkkel til serveren
  • Serveren finner nøkkelen i katalogen og sender en tilfeldig challenge
  • Klienten signerer challengen med sin private nøkkel
  • Serveren kontrollerer signaturen, sjekker tilbakekallingsstatus og utsteder et kortlevd JWT

Ingen passord og ingen øktdatabase på serveren. En tilbakekalt bruker kommer ikke engang i gang med autentiseringen.

Trygg onboarding av brukere

Nye brukere kommer inn gjennom et handshake i tre trinn der private nøkler aldri forlater enheten:

  • Tilkoblingsforespørsel — Den nye brukeren genererer nøkler lokalt og lager en forespørsel som bare inneholder offentlige nøkler. Den kan trygt deles over hvilken som helst kanal.
  • Godkjenning fra administrator — Administratoren registrerer brukeren i katalogen og krypterer de symmetriske nøklene med et delingspassord til engangsbruk.
  • Utveksling over to kanaler — Tilkoblingssvaret går på e-post eller chat; delingspassordet formidles separat på telefon eller ansikt til ansikt.
Kryptografiske primitiver

Algoritmer og garantier

MindooDB bruker veletablerte, grundig gjennomgåtte kryptografiske algoritmer. Ingen egenutviklet kryptografi. Valgene balanserer sikkerhetsnivå mot kompatibilitet på tvers av plattformer (Node.js, nettlesere, React Native).

Algoritmer
  • Signering: Ed25519 (128 bits sikkerhet, elliptisk kurve)
  • Payload-kryptering: AES-256-GCM (256 bits sikkerhet)
  • Transportkryptering: RSA-OAEP med SHA-256 (3072-bits nøkler)
  • Nøkkelderivering: PBKDF2 med eget salt per nøkkeltype
  • Token-signering: HMAC-SHA256
  • Hashing: SHA-256 (innholdsadressering, skjulte brukernavn)
Sikkerhetsgarantier
  • Konfidensialitet: AES-256-GCM-kryptering — bare de som har nøkkelen kan lese
  • Autentisitet: Ed25519-signaturer — beviser hvem som laget hver endring
  • Integritet: Hash-kjeding — tukling bryter kjeden og oppdages på hvert punkt
  • Ikke-fornektelse: Signaturer kan ikke forfalskes — opphavet er beviselig
  • Personvern: Brukernavn hashes og krypteres — serveren kan ikke identifisere brukere
Trusselmodell

Hva systemet beskytter mot

MindooDB går ut fra at servere, nettverksinfrastruktur og til og med enkelte peers kan være kompromittert eller ondsinnet. Sikkerhetsmodellen er laget for å bevare konfidensialiteten og integriteten til dataene også under slike forhold.

Angrep som avverges
  • Serverinnbrudd — Angriperen får bare chiffertekst og offentlige nøkler. Ingen klartekst, ingen private nøkler, ingen brukernavn.
  • Avlytting av nettverket — Tre krypteringslag beskytter dataene selv om TLS er kompromittert.
  • Uautoriserte endringer — Hver endring er signert; usignerte eller feil signerte endringer avvises.
  • Tukling — Hash-kjeding gjør enhver endring synlig.
  • Tilgang for tilbakekalte brukere — Tilbakekallingen virker både ved challengen og ved kontrollen av tokenet; synkroniseringen blokkeres umiddelbart.
  • Avlytting på relay — Relay-noder lagrer og videresender krypterte oppføringer de ikke kan dekryptere.
Metadata som er synlige

Innholdet i payloaden er alltid kryptert, men noen metadata ser serveren med hensikt. Det er en bevisst avveining: synkroniseringsprotokollen trenger metadata for å avstemme oppføringer.

  • Synlig: Tidsstempler på oppføringer, innholdshasher, dokumentstruktur (hvor mange oppføringer per dokument), tilgangsmønstre (når brukere synkroniserer)
  • Ikke synlig: Dokumentinnhold, brukernavn, krypteringsnøkler, innholdet i vedlegg

Innholdshasher avslører når to oppføringer inneholder identiske krypterte data (til deduplisering). Det er en akseptert avveining for lagringseffektiviteten.

Ærlige avveininger

Dette bør du vite

MindooDB er betaprogramvare med et sterkt kryptografisk fundament. En omfattende sikkerhetsrevisjon er gjennomført, og den peker ut områder som må herdes før produksjonsbruk. Vi tror åpenhet om begrensninger skaper mer tillit enn markedsløfter.

Grenser for tilbakekalling

Å tilbakekalle en bruker blokkerer all videre synkronisering og avviser brukerens framtidige endringer. Data som alt er synkronisert til enheten, er likevel fortsatt tilgjengelige — ingen systemer kan garantere sletting på en enhet som aldri kobler seg til igjen. Mottiltak: bruk navngitte nøkler for sensitive dokumenter (mindre skadeomfang), og roter nøklene når brukere slutter. Haven Enterprise legger fjernsletting på enheten med admin-signatur til de samme governance-policyene: tenanten fjernes fra en stjålet eller forlatt enhet neste gang den kobler seg til.

Kompleks nøkkelhåndtering

Flere nøkler per bruker (signering, kryptering, navngitte symmetriske nøkler) må distribueres sikkert. Mottiltak: ett enkelt passord låser opp alle nøkler via PBKDF2 med ulike salt. KeyBag gir én samlet nøkkellagring. Flyten med tilkoblingsforespørsel og -svar håndterer nøkkelutvekslingen for nye brukere. Haven Enterprise automatiserer det løpende arbeidet: admin-signerte policyer for nøkkeldistribusjon forsyner brukere og grupper med nøkler — og tilbakekaller dem igjen — pakket per mottaker, og hver klient avstemmer sin KeyBag ved neste synkronisering.

Spørringer på serversiden krever at nøkler deles eksplisitt

Som standard kan serveren ikke spørre mot dokumentinnhold, fordi den bare ser chiffertekst. All spørring skjer på klientsiden gjennom inkrementell indeksering. Men trenger bruksområdet ditt behandling på serversiden (for eksempel et bookingsystem på nett eller et offentlig nettsted), kan du gi serverprosessen en dekrypteringsnøkkel eller dele en del av dataene med den. Det er et bevisst arkitekturvalg per installasjon — standarden er konfidensialitet, og servertilgang kommer bare til der du selv slår den på.

Status for sikkerhetsrevisjonen

En omfattende sikkerhetsrevisjon pekte ut områder som bør herdes: rate limiting på endepunktene, tilbakekalling av JWT-tokens og rotasjon av admin-nøkkelen. Tilbakedaterte endringer fra tilbakekalte brukere hindres nå av vitnekvitteringer med betrodd tid (se modellen for tilgangskontroll). Det kryptografiske fundamentet (Ed25519, AES-256-GCM, RSA-OAEP) er solid. Den operative herdingen er i gang.

Etterlevelse

Tekniske kontroller som støtter etterlevelse

MindooDB gir kryptografiske byggeklosser som dekker sentrale tekniske krav i vanlige regelverk. Selve etterlevelsen er et organisatorisk ansvar — MindooDB gir deg det tekniske fundamentet.

Innebygd: revisjon og integritet
  • ✅ Komplett skrivehistorikk (append-only)
  • ✅ Kryptografiske signaturer (bevis på opphav)
  • ✅ Manipulasjonssikre oppføringer (hash-kjedet)
  • ✅ Tidsreise (gjenskap enhver tilstand)
Innebygd: databeskyttelse
  • ✅ Ende-til-ende-kryptering (serveren kan ikke dekryptere)
  • ✅ Finmasket tilgangskontroll (navngitte nøkler)
  • ✅ Koordinert datasletting (purgeDocHistory)
  • ⚙️ Logging av lesetilgang (bygger du på appnivå)

Disse kontrollene støtter programmer etter HIPAA (helse), SOX (finans), GDPR (personvern) og PCI-DSS (betaling). Se detaljert dokumentasjon om etterlevelse →

Se det i praksis
Haven - arbeidsområdet bygget på denne sikkerhetsmodellen

MindooDB Haven er en nettleserbasert PWA som samler den samme ende-til-ende-krypteringen, apper i sandkasse og lokal-først-synkronisering i et rolig arbeidsområde på alle plattformer. Prøv den gratis betaen, eller les deg inn i detaljene.