Mens presset på utviklere fortsetter å øke, trenger ikke lenger å bygge sikkerhet for kode og data direkte inn i kodebasen være en bekymring på grunn av fremskrittene innen konfidensiell datateknologi i den offentlige skyen. Utfordringen med kryptering er hvordan man distribuerer nøkler i stedet for problemer med algoritmer. Tidligere for de fleste systemer trengte man fortsatt en hemmelighet for å få nøkler fra en nøkkelbehandler, og den hemmeligheten er roten til tillit. Problemet med å beskytte koden og operasjonenes hemmeligheter ble møtt ved å bygge hemmelig null – en hovedhemmelighet som beskytter alle andre hemmeligheter – direkte inn i koden. Foruten arbeidet med å bygge et slikt system av overlappende hemmeligheter og lengdene som kreves for å beskytte hemmelig null, etterlot den samlede bestrebelsen et betydelig enkeltpunkt med sårbarhet eller feil. Hvis noen får tilgang til hemmelig null, er resten som et korthus. Et slikt scenario er ikke rent hypotetisk. Dette er nøyaktig hva som skjedde i tilfellet med det ødeleggende Solar Winds-bruddet.
Beskytter Secret Zero
En måte å beskytte hemmelig null på er å gjøre applikasjonskoden uleselig. Dette er nå viktigere enn noen gang. Å gjøre det er enda mer komplisert, ettersom applikasjoner må utformes for mobil- og skydistribusjon, full skalerbarhet og multi-sky-fleksibilitet. Å oppnå dette har først og fremst blitt oppnådd gjennom tilsløring. Men selv når koden er tilsløret, kan en dedikert hacker fortsatt lese koden og finne den hemmelige nullen. Blokkjedeteknologer har erkjent denne sårbarheten og har henvendt seg til Multi-Party Computation (MPC) for å redusere gapet ved å distribuere den private nøkkelen over flere datamaskiner, noe som krever at en angriper kompromitterer hver av dem samtidig for å få tilgang. Selv denne tilnærmingen har blitt sett på som sårbar, og organisasjoner flytter MPC til de sikre enklavene av konfidensiell databehandling i offentlige skyer for å lukke gapet.
Konfidensiell databehandling legger til nye maskinvaresikkerhetsfunksjoner for å løse disse problemene. Hver prosessor har nå en nøkkel innebygd. I stedet for å legge inn hemmelig null i kode, kan utviklere få CPU til å generere en hash av koden deres og signere den digitalt. Når signaturen er validert, gir den en attest på at koden ikke er tuklet med. En nøkkelfrigivelsesprosess basert på maskinvareattest gjør at nøkkelen kan brukes som et token. Denne tilnærmingen kombinerer låsing av nøkkelen med verdifull attestasjon slik at utviklere i hovedsak oppnår to fordeler med samme løsning.
Konfidensiell databehandling blir praktisk
For å oppveie de tidligere kravene til å lage eller endre kode og prosesser for å fungere i de nå utbredte konfidensielle datamiljøene i offentlige skyer, gjør ny teknologi bruken av den gjennomsiktig, slik at ingen spesiell utvikling er nødvendig. Noe av denne teknologien kan også gjøre distribusjonene fullstendig portable på tvers av de ulike konfidensielle datamiljøene som brukes av ulike offentlige skyinfrastrukturer. På denne måten eksisterer en multisky-distribusjonsevne fra starten og krever ikke ekstra arbeid. Denne portabiliteten utvider seg også slik at den samme koden eller arbeidsbelastningen kan bruke de sikre enklavene i private sky- og lokale miljøer.
Ettersom andre teknologier har hjulpet programvareutviklere, for eksempel mikrotjenester, biblioteker, utviklingshuber, API-er og API-administratorer eller gatewayer, hjelper bruk av konfidensiell databehandling for å sikre kodesikkerhet å redusere arbeidsbelastningen for utviklere. Disse teknologiene bidrar til å fremme innovasjon og få utviklere til å fokusere mer på funksjoner og funksjonalitet enn vaktmekanikk. Selvfølgelig øker andre krefter og krav utviklernes stress og etterspørsel, så det er en stor fordel å ha dem for å kompensere for litt press.
Adressering av krypteringshull
Konfidensiell databehandling bidrar også til å redusere kompleksitet og arbeid på den operasjonelle siden. Akkurat nå er de fleste organisasjoner avhengige av kryptering for å beskytte data – og til og med kode – mens de lagres (data i hvile) eller under overføring (data i bevegelse). Selv om disse tiltakene er sikre, har liten eller ingen straff for ytelse eller skala, og er relativt enkle å gjennomføre, står de overfor to hovedproblemer. Først og fremst beskytter de bare to av de tre tilstandene for data og kode – i hvile og i bevegelse. Selv om det generelt ikke er mye diskutert, er data under kjøretid (utførelse) vidåpne for useriøse innsidere, tredjeparter eller angripere, siden data må være klart for å kunne reageres på dem. Dette krypteringsgapet er i ferd med å bli en økende bekymring, og dets eksistens har ikke unngått oppmerksomheten til mer sofistikerte angripere og hackere. For det andre står de fleste organisasjoner overfor en kompleks og potensielt forvirrende jungel av krypteringssystemer. På grunn av dette er det noen ganger vanskelig å vite hvilken krypteringsmekanisme som beskytter hvilke eiendeler. Spørsmål som hvordan nøkler vedlikeholdes og beskyttes og hvor krypteringen avsluttes er noen ganger vanskelige, om ikke umulige, å svare på. Et eldgammelt sikkerhetsordtak er at kompleksitet har en tendens til å undergrave sikkerheten – hvis sikkerheten er for vanskelig, vil den være undergravd eller ineffektiv.
Konfidensiell databehandling løser dette problemet på to måter. For det første kan konfidensiell databehandling låse ned data og kode under kjøring, slik at ingen uautoriserte parter har tilgang til det som er i CPU eller minne, selv om de har root-tilgang til serveren. I tillegg til å beskytte en hemmelig null og sikre uforanderlighet og attestering, kan konfidensiell databehandling forhindre at kode i det hele tatt blir sett. Dette er spesielt viktig i proprietære applikasjoner med høy verdi og de som bruker verdifull AI eller maskinlæringsalgoritmer. For det andre kan en del ledsagerteknologi som eliminerer krav til konfidensiell datakode og prosessendringer også utnyttes for å utvide kjøretidskrypteringen til data under overføring og hvile. Resultatet muliggjør en enhetlig krypteringsmekanisme for alle data- og kodetilstander. En slik tilnærming frigjør både utvikling og drift fra å måtte implementere data- og kodebeskyttelse.
Se mer: En annen krypteringsalgoritme ment å beskytte mot kvanteangrep biter i støvet
Ny beskyttelseskritisk for AI, maskinlæring og MPC
Utvikling krever testing og innstilling ved hjelp av ekte datasett i det voksende tilfellet med maskinlæring og AI-algoritmer. AI, ML-algoritmer kan beskyttes og holdes i full kontroll av eieren gjennom bruk av MPC i et konfidensielt datamiljø. Partnere eller kunder kan la utviklere teste og justere algoritmer på deres proprietære data uten tap av kontroll eller uten at utviklere noen gang faktisk ser dataene. Motsatt kan utviklere åpne koden sin for ulike parter for å kjøre og justere koden i den virkelige verden uten å miste kontrollen over proprietære algoritmer eller uten at andre parter har noen mulighet til å se koden.
Konfidensielle datamiljøer i den offentlige skyen kan være en game-changer for utvikling og drift, og fremme større innovasjon og større tilgjengelighet av applikasjoner. I stedet for å bygge inn sikkerhet i utviklings- og distribusjonsprosessen for å sikre uforanderlighet og beskytte proprietære data og kode, kan teknologer stole på den skjerpede sikkerheten til konfidensielle datamiljøer. Resultatet kan bli bedre produksjonsmiljøer og en rask sporing av applikasjonsinnovasjon.
Hvordan tror du bruk av konfidensiell databehandling kan revolusjonere SecDevOps? Fortell oss på Facebook, Twitterog LinkedIn.
MER OM SKYINNOVASJON