Kubernetes låter oss leverera mjukvara snabbt och effektivt. Men hur kan Kubernetes tillämpas i de fall där lagstiftningen ställer hårda krav på skydd av personuppgifter och användardata, såsom inom svensk sjukvård?
Här reder vi ut vad du som utvecklare eller leverantör inom vårdsektorn behöver tänka på om du vill använda Kubernetes i din it-miljö.
Lagar och standarder
De företag och instanser som hanterar patientinformation i Sverige har två regelsamlingar att ta hänsyn till: Dataskyddsförordningen (för de flesta känd som GDPR) och Patientdatalagen (PdL). Genom en regeringsförordning har socialstyrelsen utfärdat kompletterande föreskrifter och rekommendationer till patientdatalagen, Journalföring och behandling av personuppgifter i hälso- och sjukvården (HSLF-FS 2016:40). Det är bland annat dessa föreskrifter du som utvecklar eller upphandlar informationssystem inom vården bör följa för att uppfylla patientdatalagen.
Både dataskyddsförordningen och HSLF-FS 2016:40 rekommenderar att verksamheter som omfattas av regleringarna tillämpar relevanta ISO-27000 standarder, såsom ISO-27001. Bestämmelserna i de tre skrifterna: GDPR, HSLF-FS 2016:40 och ISO-27001 överlappar till stora delar varandra. Däremot är en certifiering enligt ISO-27001 inte tillräcklig för att uppfylla alla kraven i GDPR eller HSLF-FS 2016:40.
Vilka krav ställer HSLF-FS 2016:40?
En central aspekt i HSLF-FS 2016:40 är att informationssäkerhetsarbetet ska säkerställa tillgänglighet, riktighet, konfidentialitet och spårbarhet av användarnas personuppgifter.
I 3 kap. 10 § går det att läsa:
Vårdgivaren ska vid utveckling, idrifttagande och ändring av informationssystem som används för behandling av personuppgifter säkerställa att personuppgifternas tillgänglighet, riktighet, konfidentialitet och spårbarhet inte riskeras. Vårdgivaren ska vidare säkerställa att ett informationssystem testas innan det tas i drift.
I myndighetens handbok för HSLF-FS 2016:40 ges en förklaring för hur innebörden av tillgänglighet, riktighet, konfidentialitet och spårbarhet ska tolkas och hur de kan uppfyllas. Enligt handboken ska dessa säkerställas på följande sätt:
Tillgänglighet
Säkerställs genom..
- att vårdgivaren vid tilldelning av behörigheter ser till att rätt person har tillgång till rätt information (4 kap. 1-3 §§ HSLF-FS 2016:40).
- vårdgivarens planering av hur verksamheten ska bedrivas vid en funktionsstörning (3 kap. 11 § HSLF-FS 2016:40).
- att uppgifter som finns dokumenterade i en patientjournal finns tillgänglig på ett överskådligt sätt för behörig hälso- och sjukvårdspersonal (5 kap. 1 § HSLF-FS 2016:40).
Riktighet
Säkerställs genom..
- att rättelse och förstöring av en patientjournal görs enligt 3 kap. 14 § och 8 kap. 3-4 §§ PDL
- vårdgivarens styrning av behörigheter (4 kap. 1-3 §§ HSLF-FS 2016:40).
- rutiner för signering av journalanteckningar (6 kap. 4 § HSLF-FS 2016:40)
Konfidentialitet
Säkerställs genom..
- att vårdgivaren vid kommunicering via öppna nät (exempelvis Internet) ser till att åtkomsten föregås av en så kallad stark autentisering (3 kap. 15 § HSLF-FS 2016:40).
Spårbarhet
Säkerställs genom..
- att åtgärder kan härledas till en användare (spårbarhet) i informationssystem som är helt eller delvis automatiserade.
Vidare ska informationssystem testas i en separat testmiljö innan det tas i drift.
Andra relevanta bestämmelser rör
- Driftdokumentation (3 kap. 8 § HSLF-FS 2016:40)
- Upphandling och utveckling (3 kap. 9 § HSLF-FS 2016:40)
- Fysiskt skydd av informationssystem (3 kap. 14 § HSLF-FS 2016:40)
Vad betyder detta för it-systemet?
Föreskrifterna i HSLF-FS 2016:40 berör alla systemkomponenter som har att göra med hantering av patientens personuppgifter: från din applikation ned till de fysiska servrar som lagrar informationen. Därför är det viktigt att du som har ansvaret att ta fram eller upphandla ett it-system ser till att alla nivåer i din stack är kompatibel med föreskrifterna i HSLF-FS 2016:40. Detta berör inte minst driftsättningen av din applikation.
Kan Kubernetes användas under de här förutsättningarna?
Ja och nej. Inte i sitt standardutförande och utan tilläggstjänster.
Eftersom Kubernetes är ett fokuserat projekt så erbjuder plattformen inte i sig självt alla funktioner som svarar mot kraven i HSLF-FS 2016:40. Funktionaliteter som inte är inkluderade i en standardinstallation av Kubernetes är t.ex. intrångsdetektering, säkerhetskopiering eller krypteringsfunktioner. Istället förlitar sig plattformen på att andra projekt löser de problemen.
Lyckligtvis är det möjligt att göra Kubernetes kompatibelt med svensk vårdlagstiftning i tre steg:
Första steget är att välja ett datacenter som uppfyller kraven för fysiskt skydd av informationssystem.
Andra steget är att säkerhetshärda Kubernetes-klustret, genom att:
- Konfigurera lösning för single sign-on (SSO) och autentisering, t.ex. Dex, så att alla utvecklare och utvecklingspipelines som behöver access till Kubernetes klustret kan identifieras.
- Aktivera Kubernetes granskningsloggar (audit logs) och vidarebefordra dem till en manipuleringssäker loggningsmiljö
- Aktivera och konfigurera rollbaserad åtkomstkontroll (RBAC) så att utvecklare endast har de rättigheter i Kubernetes-klustret de verkligen behöver
- Aktivera och konfigurera säkerhetspolicies för poddar (PodSecurityPolicy) för att säkerställa att inga poddar kör privilegierade eller har mer rättigheter än de behöver
Vid behov kan mer härdning även ske genom att använda verktyg såsom kube-bench.
Tredje steget är att använda tilläggstjänster som Falco för intrångsdetektering, Cert-manager för kryptering av internettrafik och Velero för säkerhetskopiering och återställning vid datorhaverier.
Compliant Kubernetes
För att hjälpa verksamheter som regleras av svensk vårdlagstiftning har Elastisys integrerat alla lösningarna ovan i vår distribution av Kubernetes, Compliant Kubernetes (CK8s), och gjort det tillgängligt som öppen källkod. Vi erbjuder även Compliant Kubernetes som en fullt driftad tjänst, med tillgänglighets-garantier och dygnet runt support, ovanpå ISO-27001 certifierade datacenter, allt under svensk lagstiftning.
Kontakta oss så berättar vi mer!