Parhaat käytännöt asiakaspuolen salaukseen
Johdanto
Tämän dokumentin kohdeyleisö on loppukäyttäjät, jotka haluavat tallentaa sensitiivistä dataa CSC:n sensitiivisen datan palveluita tutkimukselle.
Tieteellinen tutkimusdata voi sisältää myös sensitiivistä dataa. Sensitiiviselle datalle ei ole yhtä yksinkertaista määritelmää, vaan se määräytyy kansallisen ja EU-lainsäädännön perusteella.1 Joitakin ohjeita löytyy täältä.
Huomaa, että tässä käsitellyt aiheet eivät koske sellaista dataa, jota säätelee sosiaali- ja terveystietojen toisiokäyttöä koskeva lainsäädäntö. Lisätietoa CSC:n käytöstä toisiokäyttödatan kanssa löytyy täältä.
Rekisterinpitäjä — tarkoittaen asiakasta eli yleensä tutkimushanketta tai tutkijaa — vastaa siitä, että tietää, onko data sensitiivistä vai ei, ja että sitä käsitellään asianmukaisesti. CSC:n sensitiivisen datan palveluita tutkimukselle käytettäessä asiakkaan on ratkaistava datan sensitiivisyyttä koskeva kysymys jo ennen datan siirtämistä CSC:n palveluihin. CSC toimii tällöin henkilötietojen käsittelijänä, joka tarjoaa rekisterinpitäjälle dataan liittyviä tallennus- ja laskentaresursseja.
Yleisiä esimerkkejä käyttötapauksista, joissa CSC:n palveluita voidaan käyttää salatun sensitiivisen datan kanssa, ovat:
- CSC:n sensitiivisen datan palveluiden käyttö datan analysointiin
- Sensitiivisen tutkimusdatan jakaminen asiakkaan kumppaniorganisaatioille
- Asiakkaan paikallisen sensitiivisen tutkimusdatan katastrofipalautuskopio
- Sensitiivisen tutkimusdatan jakaminen tutkimusryhmän sisällä
Jotkin käyttötapaukset eivät välttämättä sovellu kaikkiin CSC:n datapalveluihin; katso lisätietoja kunkin palvelun omista ehdoista ja palvelukuvauksesta.
CSC tarjoaa joukon palveluita, jotka on tarkoitettu tukemaan sensitiivisen datan hallintaa. Tällä hetkellä näihin palveluihin kuuluvat:
- SD Connect: palvelu sensitiivisen datan tallentamiseen ja jakamiseen
- SD Desktop: palvelu sensitiivisen datan käsittelyyn
Nämä palvelut tarjoavat turvallisia ja helppokäyttöisiä työkaluja ja protokollia, joiden käyttöä CSC suosittelee sensitiiviselle datalle. Voit kuitenkin tallentaa sensitiivistä dataa CSC:lle myös muilla työkaluilla, kunhan prosessit noudattavat alla kuvattuja yleisiä ohjeita.
Salaus
Datan suojaaminen salauksella on ollut käytössä pitkään, ja turvallisen salauksen perusteet tunnetaan hyvin. Tämä dokumentti antaa joitakin parhaita käytäntöjä siihen, miten data salataan sen jälkeen, kun asiakas on päättänyt, että salaus on sopiva tapa suojata datan sisältöä.
Salauksessa on kaksi päämenetelmää, symmetrinen ja epäsymmetrinen salaus. Symmetrisessä salauksessa samaa avainta käytetään datan salaamiseen ja purkamiseen. Perusmuotoisessa epäsymmetrisessä salauksessa on kaksi avainta: yksityinen avain ja julkinen avain. Julkisella avaimella salattu data voidaan purkaa vain yksityisellä avaimella. Datan alkuperän varmentamiseksi yksityisellä avaimella allekirjoitettu data (yleensä datan tiiviste) voidaan varmentaa julkisella avaimella.
Yleisessä datan tallennuksen käyttötapauksessa suoraviivainen symmetrinen salaus on yleensä hyvä valinta. Tällaisessa yleisessä tapauksessa kaikki, jotka tarvitsevat pääsyn datan sisältöön — esimerkiksi tutkimusryhmä — ovat samassa asemassa: he kaikki tietävät saman symmetrisen avaimen.
Kun käyttötapaus liittyy enemmän datan jakeluun ja datalle on määritetty tietyt vastaanottajat, epäsymmetrisellä salauksella on etuja avainten hallinnassa. Datan palveluun lataava osapuoli voisi käyttää vastaanottajan epäsymmetristä julkista avainta salaamiseen tai oikeastaan salata sillä vastaanottajakohtaisen symmetrisen avaimen. Avainten hallinta on joustavampaa epäsymmetrisessä salauksessa, mutta haittapuolena on, että datasta on kopio jokaiselle vastaanottajalle.
Soveltamisala
Tämä dokumentti antaa joitakin parhaita käytäntöjä datan salaamiseen, jos sitä tallennetaan CSC:n sensitiivisen datan palveluita tutkimukselle. Päätös siitä, onko salaus sopiva tapa suojata datan sisältöä ei-toivotulta paljastumiselta, on asiakkaan vastuulla.
Asiakkaan oma ympäristö ei kuulu tämän dokumentin soveltamisalaan. Koska sensitiivinen data on olemassa asiakkaan omassa ympäristössä jo ennen kuin se tallennetaan (siirretään) CSC:n datapalveluun, tämä dokumentti olettaa, että kaikki tarvittavat suojatoimet asiakkaan puolella — ehdot, menettelyt, käytännöt jne. — ovat jo käytössä.
Luokiteltu data, joka edellyttää palvelulta muutakin erottelua kuin käyttöoikeuksien hallintaa, ei kuulu tämän dokumentin soveltamisalaan.7
Myöskään datan laskennallinen käsittely ei kuulu tämän dokumentin soveltamisalaan, sillä tämä dokumentti kuvaa ainoastaan parhaat käytännöt sensitiivisen datan tallentamiseen. Voit käyttää CSC:n sensitiivisen datan palveluita tutkimukselle suoraan omasta ympäristöstäsi aivan kuten CSC:n superlaskentaympäristöstäkin. Palvelun näkökulmasta ei ole eroa sillä, mistä data siirretään siihen.
Salauksen riskit
Salauksen käyttäminen datan suojaamiseen vähentää riskiä, että datan sisältö paljastuu ei-toivotuille osapuolille, mutta se tuo mukanaan myös joitakin uusia riskejä, jotka on otettava huomioon. Tässä luvussa korostetaan kahta merkittävintä riskiä.
- Salausavainten menettäminen — tai tarkemmin sanottuna datan purkamiseen tarvittavan avaimen menettäminen — vastaa datan menettämistä. Jos sinulla on edelleen datatiedostot mutta ei enää purkuavainta, et voi palauttaa datan varsinaista sisältöä. Sinun on suunniteltava, miten hallitset avaimiasi, ennen kuin alat käyttää datan salausta. Lisätietoja tästä löytyy kohdasta Avainten hallinta.
- Heikkojen salaustyökalujen käyttö. Jonkin vain hyvältä tai luotettavalta näyttävän ohjelmiston valitseminen salauksesta huolehtimaan voi hyvinkin aiheuttaa riskin datan sisällön paljastumisesta. Syynä voi olla tahaton ongelma, kuten heikko ohjelmistosuunnittelu tai ohjelmiston heikot algoritmit. Se voi olla myös tahallinen, riittävän tärkeäksi katsottuun salattuun dataan kohdistuva hyökkäys. Katso Standardit ja algoritmit ja Huomioita tietyistä ohjelmistoista.
SD Connect -palvelu pienentää näitä riskejä käyttämällä automaattisesti vahvaa epäsymmetristä salausta tallennetulle datalle. Palvelu lisää dataan myös CSC:n ylläpitämän salausavaimen. Tätä voidaan käyttää tilanteissa, joissa käyttäjän oma salausavain katoaa.
Parhaat käytännöt
Sensitiivisen datan kopioiminen asiakkaan omasta suojatusta ympäristöstä CSC:n datapalveluun edellyttää datan suojaamista sekä siirron aikana että levossa CSC:n datapalvelussa.
Pääsy näihin palveluihin on suojattu siirron aikana HTTPS/TLS-pohjaisella salatulla liikenteellä.
Asiakkaan näkökulmasta datan suojaaminen levossa etäpalvelussa onnistuu parhaiten suojaamalla se asiakaspuolen salauksella eikä paljastamalla salaukseen liittyviä avaimia tallennuspalvelulle. Asiakaspuolen salaus on menetelmä, jossa asiakas salaa datan omassa ympäristössään ennen sen siirtämistä palveluun. Kun käytetään asiakaspuolen salausta eikä avaimia paljasteta, asiakas on ainoa osapuoli, joka hallitsee datan sisällön paljastamista.4 6 Tästä huolimatta on hyvä muistaa, että salauksen ei pitäisi olla ainoa suojauskeino; turvallinen tallentaminen etäsijaintiin tulisi aina toteuttaa kerroksellisena lähestymistapana useammalla kuin yhdellä toimenpiteellä, kuten selkeillä käyttäjärooleilla ja käyttöoikeusmäärittelyillä, vähimpien oikeuksien periaatteella jne.5
CSC:n datapalveluun tallennettu data ei saisi olla datan ainoa olemassa oleva kopio.
Varmista, ettet paljasta sensitiivistä tietoa tiedosto- tai hakemistonimissä. Joko anonymisoi tai satunnaista tällaiset nimet tai luo tiedostoista/hakemistoista paketti — esimerkiksi zip- tai tar-paketti — ja salaa sitten koko paketti.
Standardit ja algoritmit
Käytettävä symmetrinen salausalgoritmi on AES (joko CBC- tai CTR-tilassa, mutta ei koskaan ECB-tilassa), ja avaimen vähimmäispituus on 256 bittiä, eli AES-256-salaus.
AES-128:n ja AES-192:n katsotaan tällä hetkellä myös olevan riittävän vahvoja, mutta koska niiden ja AES-256:n välinen suorituskykyhaitta on melko pieni ja koska myöhempi siirtyminen vahvempaan AES-versioon tarkoittaisi kaiken datan uudelleensalaamista, on parempi aloittaa suoraan AES-256:lla.2 3
Käytettävä epäsymmetrinen salausalgoritmi on RSA, ja avaimen vähimmäispituus on 4096 bittiä.2 3
Symmetrinen salausohjelmisto tarjoaa yleensä mahdollisuuden käyttää salasanaa tai tunnuslausetta "käyttäjäystävällisenä avaimena". Varsinainen salausavain johdetaan tällöin tästä tunnuslauseesta avaimenjohdantoalgoritmilla. Avaimenjohdantoalgoritmin on myös oltava riittävän vahva; suositeltavia ovat scrypt, bcrypt tai PBKDF2 (suurella iteraatiomäärällä, esimerkiksi 100 000).2 8
Avainten hallinta
Symmetrinen salausohjelmisto tarjoaa yleensä mahdollisuuden käyttää salasanaa tai tunnuslausetta "käyttäjäystävällisenä avaimena". Näissä tapauksissa datasi suojaus on vain niin hyvä kuin salaussalasana on; salauksesta ei ole apua, jos käytät heikkoa tai helposti arvattavaa salasanaa. Ohjeita vahvojen salasanojen luomiseen löytyy esimerkiksi viitteistä.9
Symmetrisen tai epäsymmetrisen purkutunnuslauseen/avaimen vuotaminen tarkoittaa, että alkuperäinen sisältö on salattava uudelleen uudella tunnuslauseella/avaimella ja kaikki vanhalla tunnuslauseella/avaimella salatut tallennetut datat on korvattava uudella salatulla datalla. Tämä pätee myös levossa olevaan dataan käytettäviin epäsymmetrisiin avaimiin, toisin kuin muissa käyttötapauksissa, joissa avaimen mitätöintiä voitaisiin käyttää.
Symmetrisen datan salauksen tunnuslauseen/avainten menettäminen vastaa datan menettämistä. Sinulla tai tutkimushankkeellasi tulisi olla joko paikallisesti saatavilla oleva kopio datan sisällöstä (selväkielisessä muodossa tai jollakin toisella avaimella salattuna) tai menetelmä salausavainten palauttamiseksi, jotta datan sisältöön pääsee käsiksi, vaikka alkuperäinen datan salannut osapuoli menettäisi tunnuslauseen/avaimet. Kysy paikalliselta organisaatioltasi, missä ja miten salauksen tunnuslauseet/avaimet tulee tallentaa turvallisesti palautustarkoituksia varten.
Datan purkutunnuslause-/avaintiedot on siirrettävä turvallisesti salaavan ja purkavan osapuolen välillä. Tätä kutsutaan usein avainten siirroksi.
Epäsymmetrinen salaus on helpoin tapa hallita datan salausavainten siirtoa, kun avainten haltijoita on useita, koska julkiset avaimet voivat — kuten nimi kertoo — olla julkisia ja niitä voidaan vaihtaa avoimesti. On myös olemassa julkisen avaimen infrastruktuureja tai "luottamusverkkoja", jotka voivat varmentaa julkisen avaimen alkuperän. On olennaista varmistua siitä, että julkinen avain todella kuuluu halutulle vastaanottajalle, sillä kuka tahansa vastaavan yksityisen avaimen haltija voi purkaa julkisella avaimella salatun datan. Tällaisissa hybridisalausjärjestelmissä symmetrinen datan salausavain salataan epäsymmetrisellä julkisella avaimella ja siirretään sitten yhdessä salatun datan kanssa.
Pienelle osapuolijoukolle myös kasvokkain tapahtuva datan purkuavaimen siirto voi olla vaihtoehto.
Salatun datan tallentaminen CSC:n palveluun ja noutaminen sieltä voidaan myös järjestää asiakkaan paikallisessa ympäristössä siten, että luotetussa paikallisessa ympäristössä on palvelu, joka huolehtii CSC:n tallennuspalvelun käytöstä loppukäyttäjän puolesta. Tällöin vain tämän paikallisen luotetun palvelun tarvitsee tietää avaimet paikallisten loppukäyttäjien sijaan.
Valitettavasti eri sovellusten tavoissa salata tiedostoja on hieman liikaa joustavuutta — ei varsinaisessa salauksessa sinänsä, vaan esimerkiksi siinä, miten ne tallentavat valittuja salausasetuksia koskevan metadatan salattuun tiedostoon tai miten avain johdetaan tunnuslauseesta.
Helpoin tapa käsitellä tätä yhteentoimivuuden puutetta on päättää ja dokumentoida, mitä salausohjelmistoa käytetään ja miten sitä käytetään projektissasi, ennen kuin alat tallentaa salattua dataa CSC:n sensitiivisen datan palveluita tutkimukselle.
Huomioita tietyistä ohjelmistoista
GnuPG2
GnuPG versio 2 on todennäköisesti laajimmin käytetty hyvä, maksuton ja avoimen
lähdekoodin ohjelmistokokonaisuus salattuun viestintään. GnuPG 2.2 on
OpenPGP RFC4880 -standardin mukainen ja voi hyödyntää epäsymmetristä salausta
julkisilla avaimilla helpompaa avainten vaihtoa ja siirtoa varten. Vaihtoehdon
--rfc4880 valitseminen maksimaalisen siirrettävyyden saavuttamiseksi valitsisi
symmetriseksi salausalgoritmiksi 3DES:n, jota ei enää pidetä riittävän hyvänä.
Komentorivillä algoritmien oletusarvot voidaan nähdä valinnalla --verbose.
Versiosta 2.1 alkaen symmetrisen salauksen oletus on AES128; vanhemmissa
versioissa se on CAST5. Komentorivillä AES256-salaus valitaan valinnoilla
--symmetric --cipher-algo AES256, jota tulisi käyttää symmetrisenä
algoritmina.
Esimerkki symmetrisestä salauksesta, jossa tiedosto data.dat salataan:
Tämä esimerkkikomento luo salatun tiedoston data.dat.gpg.
OpenSSL
OpenSSL on enemmän salaukseen liittyvien tarpeiden työkalupakki kuin itsenäinen sovellus. Se on kuitenkin helppokäyttöinen työkalu symmetriseen salaukseen.
AES256-salaus valitaan valinnoilla enc -aes-256-cbc. Jos käytät salasanaa
varsinaisen salausavaimen muodostamiseen, käytä vain versiota 1.1.1 tai
uudempaa sekä valintoja -pbkdf2 -iter 100000. Näitä samoja valintoja on
käytettävä myös dataa purettaessa.
Esimerkkiajo OpenSSL 1.1.1:llä, jossa tiedosto data.dat salataan tiedostoksi data.enc:
openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -in data.dat -out data.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
Jos päätät muodostaa varsinaisen satunnaisen binaariavaimen ja alustusvektorin itse, voit käyttää myös OpenSSL:n vanhempia versioita kuin 1.1.1.
Crypt4GH
Crypt4gt on epäsymmetrinen salaustyökalu, joka on suunniteltu suurten aineistojen salaamiseen. Tätä työkalua suosittelee Global Alliance for Genomics and Health, ja sitä käytetään CSC:n sensitiivisen datan palveluiden salaustyökaluna. Tarkempi kuvaus tästä salaustyökalusta löytyy SD Connect -ohjeista.
Cyberduck (Cryptomator)
Cyberduck sisältää avoimen lähdekoodin työkalun nimeltä Cryptomator asiakaspuolen salaukseen. Cyberduckin vahvuus on sen monialustainen graafinen käyttöliittymä, haittapuolena taas toistaiseksi lyhyt historia kryptografiatyökaluna verrattuna GnuPG:hen tai OpenSSL:ään.
Jotta salauksen hallinta olisi loppukäyttäjälle helppoa, Cryptomator käsittelee etähakemistoa ikään kuin se olisi yksi salattu rakenne (vault), mutta todellisuudessa se salaa jokaisen tiedoston erikseen. Tiedostojen sisällön lisäksi myös tiedosto- ja hakemistonimet salataan.
-
CSC Services for Research. Sensitive data
https://research.csc.fi/sensitive-data ↩ -
Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen — kansalliset suojaustasot
https://www.kyberturvallisuuskeskus.fi/[...]/ohje-kryptografiset-vahvuusvaatimukset-kansalliset-suojaustasot.pdf ↩↩↩ -
NIST Special Publication 800-57 Part 1 Revision 4. Recommendation for Key Management. Part 1: General
https://doi.org/10.6028/NIST.SP.800-57pt1r4 ↩↩ -
Best practices for securing PaaS web and mobile applications using Azure Storage
https://docs.microsoft.com/en-us/azure/security/fundamentals/paas-applications-using-storage ↩ -
Security Best Practices for Amazon S3
https://docs.aws.amazon.com/AmazonS3/latest/dev/security-best-practices.html ↩ -
Security Guidance for Critical Areas of Focus in Cloud Computing v4.0
https://cloudsecurityalliance.org/artifacts/security-guidance-v4 ↩ -
Katakri — Tietoturvallisuuden auditointityökalu viranomaisille https://um.fi/katakri-tietoturvallisuuden-auditointityokalu-viranomaisille ↩
-
NIST Recommendation for Password-Based Key Derivation. Part 1: Storage Applications
https://doi.org/10.6028/NIST.SP.800-132 ↩ -
6 Techniques For Creating Strong Passwords
https://www.lifewire.com/8-character-password-2180969 ↩