Har du kontroll på dine digitale sertifikater?

Hvis dine digitale sertifikater er oppdatert til nyeste standard og du bruker disse til å kryptere nettverkstrafikken, er du langt på vei for å levere sikre applikasjoner og tjenester. Sørg også for at sertifikatene automatisk fornyes.

Hvert år inviterer vi en fagekspert til et kurs for egne ansatte. Hensikten med kurset er å bygge ny kompetanse og å ha et felles kompetansegrunnlag for å skape diskusjoner og felles forståelse internt i Novanet. I år landet vi på sikkerhet som emne og fikk booket selveste Scott Helme og hans workshop om "Practical TLS and PKI".

Bilde: Scott

Scott Helme er en anerkjent ekpsert på IT-sikkerhet, som holder foredrag om emnet over hele verden. På bloggen til Scott får du et inntrykk av de emnene han interesserer seg for. Workshopen han holdt for oss het "Practical TLS and PKI", og det trenger muligens litt nærmere forklaring.

TLS

TLS står for Transport layer security, og er en protokoll som sørger for kryptert kommunikasjon over et datanettverk. De fleste forbinder dette med HTTPS eller når det er en nøkkel i adressefeltet i nettleseren, og det stemmer ganske bra. HTTP er protokollen som brukes for å laste nettsider, og når man gjør dette med TLS kalles det HTTPS.

PKI

PKI står for Public Key Infrastructure, og er et rammeverk for utstedelse, administrasjon og bruk av digitale sertifikater. Dette relateres til TLS, da dette rammeverket brukes for å utstede sertifikater som brukes til å verifisere dataintegriteten i de krypterte dataene som sendes over TLS.

Så hva sitter vi igjen med etter kurset?

Kurset, som gikk over to dager, var intensivt og det var mye informasjon å ta inn. Under har vi prøvde å plukke ut de viktigste tingene som vi sitter igjen med etter kurset.

Automatiser fornyelse av sertifikater

Å fornye sertifikater tilknyttet nettsider har historisk vært en manuell jobb. Man må inn på nettsidene til noen som kan utstede sertifikater, en såkalt "Certificate authority" (CA), bestille og betale for et nytt sertifikat, for så å knytte dette til nettsiden.

Dette har endret seg de siste årene, og da i stor grad på grunn av en ny CA, nemlig Let's Encrypt. Let's Encrypt har begynt å tilby gratis sertifikater, og samtidig gjøre det mulig å automatisere fornyelse av disse. Dette har revet ned den tradisjonelle forretningsmodellen rundt sertifikater og satt press på de andre CAene.

Nå som det er mulig å automatisere fornyelse av sertifikater, er det sterke grunner til å gjøre dette. Scott gav en omfattende forklaring på hvorfor det er svært vanskelig å trekke tilbake (revoke) sertifikater. Dette er noe man kan vurdere hvis sertifikatet har blir kompromittert eller det har dukket opp falske sertifikater. Men det er i praksis nesten umulig å gjøre. En løsning på dette innføre kort varighet på sertifikatene. Hvis sertifikatet blir kompromittert, så vil det i så fall bare være det i en kort periode. Let's Encrypt sine sertifikater har 90 dagers varighet, og du kan lese mer om hvorfor her. Scott tror også at det fremover vil kommer krav om enda kortere varighet på sertifikater, og at det er like greit å automatisere prosessen med å fornye med en gang.

Benytt TLS 1.3

Det neste punktet dreier seg om å holde seg oppdatert på den siste standarden for kryptering. Som nevnt tidligere, er TLS en slik standard og TLS-protokollen har eksistert i flere versjoner. TLS het tidligere SSL og startet med versjon SSL 1.0, men de versjonene som er i bruk i dag er 1.1 (fra 2006), 1.2 (2008) og 1.3 (2018). Som man ser, er versjon 1.1 og 1.2 begynt å bli gamle, og det har skjedd mye rundt kryptering siden den gang.

En av hovedforskjellene på TLS 1.3 fra de tidligere versjonene, er at det er tatt bort en del valgmuligheter. Disse valgmulighetene gjorde at man kunne konfigurere kryptering som ikke er god nok. Ved å gjøre de sikreste valgmulighetene til obligatorisk, vil TLS 1.3 gjøre at krypteringen settes opp skikkelig. Dette innebærer for eksempel valg av sikrere cipher suites, men det er et tema som blir for omfattende å skrive om her.

En fun fact er TLS i utgangspunktet ble introdusert av Netscape i 1994, og da under navnet SSL. På den tiden var det to konkurrerende protokoller for kryptering av nettverkstrafikk, SSL fra Netscape og PCT fra Microsoft. Men i 1999 greide de bli enige om å samles om en protokoll, og dette var Netscapes SSL. De brukte denne protokollen uten noen endringer, men Microsoft insisterte på at protokollen måtte endre navn, og da ble det TLS.

Whiteboard bilde

Unngå falske sertifikater

Vi har tidligere nevnt Certificate Authorities som kan opprette og utstede sertifikater. Det er rundt 5000 slike i verden. All sikkerheten vi avhenger av basert på TLS og PKI, krever at disse opererer etter de retningslinjene de er pålagt. Det vil si at de utsteder korrekte sertifikater og kun til de som skal ha de (som er de som eier en nettside). Hvis en hacker får tak i noen andres sertifikat (for eksempel google.com), vil hackeren kunne dekryptere og lese alle andres trafikk til den nettsiden.

Dessverre så er ikke alltid det tilfellet, og under felleskurset gikk Scott gjennom en del eksempler på CA'er som ikke har operert etter boka. Som for eksempel DigiNotar eller Symantec. Det er selvfølgelig sjeldent at dette skjer, men for å sikre seg mot dette er det en del ting man kan gjøre;

Faglig + Sosialt FTW


Felleskurset inneholdt en del kjent materiale, som det var greit å få en oppfrisker på. I tillegg lærte vi masse nytt som vi kan ta med oss ut i prosjektene. Scott Helme er en svært engasjerende kursholder, og holdt små sesjoner i pausene for å svare på mer kompliserte spørsmål. Dette fortsatte ut i en hyggelig middag på Skråplanet på Rebel.

Skråplanet

Har du spørsmål rundt sikkerhet, eller kunne du tenke deg å jobbe med oss og bli med på neste felleskurs?

Ta kontakt med
Lars Alexander Jakobsen

laj@novanet.no
414 71 717