API-sikkerhet: legitimasjon, transport, drift
AES-256-GCM-kryptering av legitimasjon i hvile, autentisering per leverandør, TLS under transport og drift i EU.
Denne guiden samler de tekniske sikkerhetsdetaljene et IT-team vanligvis spør om: hvordan legitimasjon lagres, hvordan hver integrasjon autentiserer, hvordan trafikken krypteres, og hvor plattformen kjører.
Legitimasjon i hvile
Legitimasjonen for hver integrasjon lagres kryptert i databasen med AES-256-GCM (IV og autentiseringstag per rad). Krypteringsnøkkelen ligger i en Kubernetes-secret og skrives aldri til en rad i databasen. Dekryptering skjer bare inne i podene som kjører tjenesten, i det øyeblikket legitimasjonen trengs for et API-kall.
Autentisering per integrasjon
Hver integrasjon autentiserer mot leverandøren sin med den ordningen leverandøren forventer. Det finnes ingen delt hemmelighet på tvers av integrasjoner — en lekket legitimasjon for én leverandør har ingen effekt på noen annen.
- IWMAC: et JSON-RPC-tokenendepunkt bytter Client ID + Client Key mot et kortlevd bearer-token.
- Airthings: OAuth 2.0 client credentials grant — Client ID + Client Secret byttes mot et access-token med avgrenset scope.
- Disruptive Technologies: HTTP Basic-autentisering med Service Account Key ID + Secret.
- Niagara N4 (MQTT): autentisering mot MQTT-megleren med dedikert brukernavn og passord knyttet til plattformen.
Kryptering i transitt
Innkommende trafikk til Arcturus-dashbordet termineres med TLS i vår nginx-ingress, med sertifikater fra Let's Encrypt og tvungen HTTPS-omdirigering. Utgående kall til leverandør-API-er går over HTTPS til leverandørenes endepunkter; den forhandlede TLS-versjonen er den leverandøren tilbyr. For Niagara MQTT the station connects to the broker we host, and that broker only accepts TLS — there is no unencrypted port; the station verifies our certificate against the CA file we issue (see the Niagara supplier guide).
Drift og datalagring
Arcturus-plattformen kjører i et europeisk datasenter (Amsterdam-regionen). All driftstelemetri og konfigurasjon lagres i databaser som kjører i samme klynge som tjenestene, slik at dataene ikke forlater regionen. Vi har ennå ikke publisert en formell policy for oppbevaring eller DPIA. Hvis IT-teamet deres trenger det for revisjonsformål, åpne assistenten, så starter vi den samtalen.