Bitlocker Drive Encryption
Bitlocker er et av de helt nye tilskuddene til Windows plattformen, tidligere var slike løsninger kun tilgjenglig som 3.parts software. Bitlocker Drive Encryption, som er det fulle navnet, er tilgjenglig i Windows Vista Ultimate og Windows Vista Enterprise.
Hvordan det hele fungerer
Bitlocker settes opp med en partisjon på ca 1.5GB som ikke skal krypteres, der bootloader og bootmanager blant annet legges. Disse kan ikke være kryptert da det ikke finnes støtte for dekryptering i BIOS, ergo må noe mer lastes før man får støtte for dette. Systemet ellers plasseres på en annen partisjon som krypteres i sin helhet.
Bitlocker bruker i utgangspunktet en TPM chip, versjon 1.2, på hovedkortet i maskinen. Denne kan sees som et litt avansert smartkort, med mye lik funksjonalitet. Selve partisjonen krypteres med AES-CBC og denne nøkkelen lagres kryptert med en annen nøkkel på disk. Denne nøkkelen igjen lagres i TPM'ens register kalt SRK, storage root key.
TPM'en og nøkkelen i SRK kan igjen beskyttes for at ingen uvedkommende skal kunne dekryptere disken. Dette kan man gjøre ved enten å benytte en PIN eller USB minnepinne. Det vil da ikke være mulig å hente ut SRK igjen uten å ha PIN koden eller USB minnepinnen. Og uten SRK får man ikke dekryptert nøkkelen partisjonen er kryptert med.
I tillegg til PIN eller USB minnepinne kan man beskytte system med en integritetssignatur, noe som er på som standard. Denne signaturen inkluderer viktige elementer av systemet, bootfiler, filsystem og BIOS, noe som gjør at man får en "chain of trust" helt fra maskinen skrus på til OS'et er lastet. Dette betyr at man stoler på alle elementer i denne prosessen og at ingen av elementene i rekka er modifisert.
Illustrasjonen over viser "chain of trust". For hvert trinn i rekka gjøres det ved oppstart en "unseal" operasjon på TPM'en, det er en spesifikk kommando som kalles på TPM'en. Det er denne som bygger opp signaturen av "chain of trust" og den endelige signaturen er påkrevd for dekryptering. Så dersom ikke signaturen blir lik som den ble når man sist utførte en "seal" kommando er systemet ikke mulig å starte.
Bitlocker kan også benyttes på maskiner uten TPM versjon 1.2 ved at man lagrer en nøkkel på en minnepinne i stedet. Denne minnepinnen trengs da hver gang man skal starte maskinen. Hvis minnepinne tas i bruk er det viktig av sikkerhetsmessige årsaker å ikke lagre recovery nøkkel på samme minnepinne, samt å holde minnepinnen atskilt fra maskinen når man ikke trenger den for å starte.
Krypteringen
AES-CBC ble valgt fordi man først bestemte seg for å bruke en symmetrisk kryptering til selve partisjonskrypteringen, fordi kryptering/dekryptering går vesentlig raskere med denne typen algoritmer. Effektivitet var sammen med god sikring et viktig kriterie.
Akkurat AES ble valgt fordi denne algoritmen er industristandard, godt utprøvd og anerkjent, noe som gjør den til et trygt valg. CBC mode igjen ble valgt fordi det er en utbredt og kjent metode, rask og trygg i bruk. Nettopp det å ikke måtte bruke for mange sykler på CPU til dekryptering var viktig. Derimot har CBC enkelte kryptografiske svakheter, spesielt mangel på "diffusion". Når man mangler dette gjør det at man er sårbar for såkalte "bit-flipper" angrep og dette er ikke akseptabelt i en løsning som Bitlocker. Løsningen ble derfor å legge til "diffusion" i algoritmen, som et ekstra trinn før selve AES-CBC krypteringen. Uten diffusion kan man endre bits i en blokk på bekostning av at neste blokk blir endret, dette kan brukes til å angripe exe filer på en kryptert disk og få disse til å oppføre seg annerledes. Med diffusion på derimot vil en slik endring føre til det man kan kalle følgefeil i mye mer enn bare neste blokk og dermed gjøre det vanskelig å bruke dette til et angrep.
Det er mulig å bruke Bitlocker uten Diffuser, men dette er ikke anbefalt.
Recovery
En av de store utfordringene med full kryptering av systemer og informasjon på disk er risikoen for at dette skal gå tapt. Dersom man benytter en PIN kode f. eks er sjansen rimelig stor for at flere brukere vil glemme denne en eller flere ganger og dermed ikke få skrudd på maskinen sin og ikke få tilgang til dataene sine der. Derfor er Recovery en viktig funksjon når man tar i bruk slike løsninger.
Bitlocker har innebygget funksjonalitet for dette, nemlig at system kan gjenopprettes ved bruk av en Recovery Key. Den enkleste formen for Recovery er å lagre Recovery Key'en på en USB minnepinne, et fileshare eller skrive den ut på papir. Dette fordrer igjen selvsagt at man tar godt vare på og sikrer disse stedene hvor nøkkelen er lagret. Med denne typen løsninger er det ikke spesielt lett å se til at retningslinjer for sikring av USB minnepinnen blir fulgt f.eks.
Derfor er det en siste automatisert løsning også, nemlig å ta i bruk backup til Active Directory. Dette skrus lett på i Group Policy og recovery nøkkelen blir da lagret i AD, hvor den er sikret og lett å hente ut for support. Med denne løsningen skjer backup automatisk og man kan velge å ikke tillate at brukere slår på Bitlocker med mindre backup var vellykket.
Utrulling
Etter recovery er dette det neste viktige punktet for å ta i bruk Bitlocker i større nettverk. Bitlocker krever at standard plattform tilpasses noe da disk oppsettet må være korrekt:
· 1 partisjon på 1.5GB, aktiv
· 1 partisjon for systemet
Bitlocker kan så aktiveres som et av de siste elementene i utrullingen eller på maskiner som har vært i bruk lenge ved å bruke et WMI script tilgjenglig fra Microsoft. Dette scriptet leser innstillinger fra Group Policy og følger disse, eller man kan angi det som parametere dersom innstillingen ikke er satt i GP. GP vil overkjøre parametere som blir angitt.
Det finnes også script for å validere backup og hente ut recovery fra AD.
Dersom Bitlocker skal bruke TPM må dette være versjon 1.2 og SRK registeret må ikke være satt av andre programmer. Eierskap til TPM må også settes, noe som involverer å sette et passord som beskytter selve TPM'en mot endringer. Dette passordet kan også tas backup av til Active Directory, noe som er anbefalt da dette trengs for f.eks å resete TPM chipen.
I et Windows server 2003 domain eller eldre trengs det en utvidelse av Active Directory schema for å støtte backup av Bitlocker. Schema fila for dette er tilgjenglig fra Microsoft. Backup av TPM foretas som en attribute til Computer objektet, mens Bitlocker recovery key er et sub-objekt av computer objektet. Merk at TPM passordet lagres som en hash og det er denne hashen WMI metodene for TPM tilgang benytter.
Når scriptet så har aktivert Bitlocker og tatt backup til AD vil Bitlocker starte krypteringen av disken, men det er fullt mulig å benytte maskinen til å jobbe på så lenge.
Ressurser
Step-by-step guides for Windows Vista, inkludert for Bitlocker