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.
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.
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.
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.
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.
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.
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.
- 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)
- 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 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.
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.
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.
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.
| 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 |
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.
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.
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.
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).
- 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)
- 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
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.
- 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.
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.
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.
Å 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.
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.
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å.
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.
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.
- ✅ Komplett skrivehistorikk (append-only)
- ✅ Kryptografiske signaturer (bevis på opphav)
- ✅ Manipulasjonssikre oppføringer (hash-kjedet)
- ✅ Tidsreise (gjenskap enhver tilstand)
- ✅ 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 →
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.