Luokiteltua tietoa on historiallisesti suojattu kahdessa kolmesta tilasta. Levossa oleva salaus suojaa sen levyllä; siirron aikainen salaus suojaa sen verkossa. Kolmas tila – käytössä oleva tieto, joka on purettu salauksen suorittimen rekistereihin ja RAM-muistiin varsinaista käsittelyä varten – on aina ollut heikoin kohta. Kaikki koodi, jolla on riittävät oikeudet isännässä, mukaan lukien käyttöjärjestelmä, hypervisori ja fyysiset muistipääsyt omaava pilvioperaattori, voi lukea kyseistä pelkkää tekstiä. Luottamuksellinen laskenta sulkee tämän aukon ajamalla työkuorman laitteistoisolaation toteuttavassa luotetussa suoritusympäristössä (TEE), jossa suoritin pitää muistin salattuna ja tavoittamattomana kaikelle enklaavien ulkopuoliselle. Luokitelluille työkuormille tämä muuttaa sitä, kehen täytyy luottaa – ja tämä muutos on koko asian ydin.

Käytössä olevan datan ongelma ja luottamuksellisen laskennan uhkamalli

Luottamuksellisen laskennan keskeinen lähtökohta on kavennettu luotettu laskennan perusta. Tavanomaisessa pilviympäristössä vuokralainen on pakotettuna luottamaan koko sovelluksen alle ulottuvaan pinoon: vieraan käyttöjärjestelmän ytimeen, hypervisoriin, isäntälaiteohjelmistoon, pilven hallintatietokoneeseen ja konesalin operaattoreihin. Jokainen näistä on mahdollinen reitti pelkkään tekstiin työkuorman aikana. Salaisen tai arkaluonteisesti lokeroidun työkuorman osalta tämä luottamuspinta on hyväksymätön.

TEE kääntää mallin ylösalaisin. Itse suoritin valvoo eristysgrajaa salaamalla enklaavien muistin avaimilla, jotka on luotu ja pidetty suorittimen laitteiston turvaohjelmiston sisällä eikä koskaan paljasteta ohjelmistolle. Isäntäkäyttöjärjestelmä voi aikatauluttaa enklaavia, allokoida sille sivuja ja pysäyttää sen – mutta se ei voi lukea sen sisältöä. Hyökkääjän vaarantama hypervisori tai haitallinen ylläpitäjä, joka liittää virheenkorjaajan tai kaataa fyysisen muistin, näkee vain salatekstiä. Luottamusraja tiivistyy kahteen asiaan: sirusuunnittelijan laitteistoon ja koodiin, jonka tarkoituksella lataat enklaaviin.

Tämä on juuri se ominaisuus, jonka ansiosta puolustusorganisaatiot voivat harkita arkaluonteisten työkuormien isännöimistä infrastruktuurilla, jota ne eivät fyysisesti hallitse. Se ei yksinään tee kaupallisesta alueesta luokitellulle datalle hyväksyttyä – se vaatii täyden joukon kontrolleja, joita analysoimme nollaluottamusarkkitehtuurin analyysissämme sotilaallisia verkkoja varten – mutta se poistaa operaattorin luottamusrajalta käytössä olevan datan osalta, mikä muuttaa olennaisesti riskien arvioinnin painotuksia.

Luotetut suoritusympäristöt: SGX, SEV-SNP, TDX ja CCA

TEE-teknologioissa on kaksi arkkitehtuuriperhettä, ja valinta niiden välillä on ensimmäinen ja merkittävin suunnittelupäätös.

Prosessitason enklaavet (Intel SGX). Software Guard Extensions leikkaa pienen, sovelluksen määrittelemän muistialueen – enklaavissa – prosessista ja eristää sen kaikesta muusta, mukaan lukien ytimestä. Luotettu laskennan perusta on minimaalinen: vain enklaaviin sijoittamasi koodi on luotettu, ei ympäröivä käyttöjärjestelmä. Kustannuksena on, että sovellus on osioitava luotettuihin ja epäluotettuihin puoliskoihin, joiden välillä on hallittu kutsurajapinta, ja enklaavien muisti on rajoitettu. SGX on oikea työkalu, kun haluat mahdollisimman pienen hyökkäyspinnan tietyn salaisuuksien käsittelyroutinen ympärille – avainten käärimispalvelun, kryptografisen allekirjoittajan tai pienen käytäntömoottorin.

VM-tason luottamuksellisuus (AMD SEV-SNP, Intel TDX, Arm CCA). Secure Encrypted Virtualization with Secure Nested Paging, Trust Domain Extensions ja Arm:n Confidential Compute Architecture Realms suojaavat kaikki koko virtuaalikoneen. Vieraan muisti on läpinäkyvästi salattuna ja eheyssuojattuna, ja hypervisori on poistettu luottamusrajalta, mutta sen sisällä oleva työkuorma toimii muokkaamattomana. Olemassa oleva luokiteltu sovellus voidaan siirtää luottamukselliseen VM:ään ilman koodimuutoksia. Luotettu laskennan perusta on suurempi – se sisältää koko vieraan käyttöjärjestelmän – mutta käyttöönottokustannus on huomattavasti pienempi. Useimmissa puolustuksen työkuormissa, joita siirretään eikä kirjoiteta alusta alkaen, VM-tason luottamuksellisuus on käytännöllisin valinta.

SEV-SNP ja TDX lisäsivät ominaisuuden, jolta SGX:n ensimmäinen sukupolvi puuttui ja joka on keskeinen luokitellulle datalle: muistin eheyden suojaus, joka puolustaa hyökkääjää vastaan, joka toistaa tai uudelleenkartoittaa salattuja sivuja sen sijaan, että vain lukisi niitä. Minkä tahansa luokiteltuun käyttöön valittavan TEE:n on tarjottava sekä luottamuksellisuus että eheys; pelkkä luottamuksellisuus jättää työkuorman avoimeksi aktiivisille muistin korruptoinnin hyökkäyksille isännältä.

Etäattestointi: enklaavien todentaminen ennen luottamista

Laitteistoisolaatio on välttämätöntä mutta ei riittävää. Luokitellun datan – tai sen salausavaimen – haltijan on saatava todiste siitä, että enklaavi, jolle se on aikeissa puhua, on aito TEE-laitteisto, joka suorittaa täsmälleen odotettua koodia, eikä emulaattori, väärinkäsitelty kuva tai alennetun mikrokoodin alusta, joka teeskentelee olevansa turvallinen. Tämä todiste on etäattestointi, ja se on mekanismi, joka tekee luottamuksellisesta laskennasta luotettavan eikä pelkästään uskottavan.

Miten attestointivirtaus toimii

Kun enklaavi käynnistyy, suoritin mittaa ladatun koodin ja konfiguraation laitteistorekisteriin ja pyydettäessä tuottaa allekirjoitetun todistuksen: rakenteen, joka sisältää nämä mittaukset, TEE:n tietoturvaversionumerot ja allekirjoitusketjun, joka johtaa siruun valmistuksessa sulautettuun avaimeen. Enklaavi lähettää tämän todistuksen tarkistajalle – palvelulle, jota datan omistaja hallitsee tai johon se luottaa. Tarkistaja validoi allekirjoitusketjun toimittajan juurivarmenteeseen asti, vahvistaa, että alusta käyttää nykyistä, peruuttamatonta mikrokoodia, ja vertaa raportoituja mittauksia sallittujen koodien listaan. Vain jos kaikki tarkistukset menevät läpi, tarkistaja valtuuttaa seuraavan vaiheen.

Kriittinen tekninen kuri tässä on toistettava mittaus. Enklaavi tai vierasvedos on rakennettava deterministisesti niin, että sen mittaus on bitti bitiltä identtinen joka kerta, koska attestointikäytäntö on tarkkojen mittausarvojen sallittujen lista. Ei-toistettava rakentaminen tarkoittaa jatkuvasti muuttuvaa mittausta, mikä pakottaa operaattorit kardinaaliseen syntiin – käytännön löysäämiseen siihen pisteeseen, että se hyväksyy lähes minkä tahansa – mikä kumoaa koko tarkoituksen. Käsittele käynnistyksen mittaus julkaisuartefaktina, joka on kirjattu ja versioitu laiteohjelmiston ja mikrokoodin versioiden rinnalle.

Attestointikäytäntö todellisena turvarajana

Laitteisto tekee kryptografian, mutta käytäntö tekee päätökset, ja heikko käytäntö kumoaa vahvan laitteiston. Puolustustason attestointikäytäntö ilmaisee eksplisiittisesti: mitkä TEE-tyypit hyväksytään; luotetun laskennan perustan minimiversion, jossa tietoturvaversionumerotarkistukset hylkäävät palautetun mikrokoodin haavoittuvuuden paljastamisen jälkeen; täsmälleen sallittujen koodin mittausten joukon; ja tuoreus vaatimukset, jotta vanha todistus ei voida toistaa. Yleisin epäonnistumismuoto todellisissa käyttöönotoissa ei ole rikkinäinen enklaavi – se on liian salliva käytäntö, joka hyväksyy mittauksia, joita sen ei pitäisi, tai ei koskaan tarkista alustan peruutustilaa. Attestointi on yhtä hyvä kuin säännöt, joita tarkistaja valvoo.

Avainten vapautus: salaisuuksien sitominen varmennettuun ympäristöön

Attestoinnista tulee operatiivisesti hyödyllistä, kun se portittaa pääsyn salaisuuksiin. Malli on attestointiin sidottu avainten vapautus: avainten hallintapalvelu on konfiguroitu niin, että luokiteltu tietojen salausavain luovutetaan vasta sen jälkeen, kun tarkistaja on vahvistanut hyväksytyn attestoinnin. Enklaavi pyytää avainta, esittää tuoreen evidenssin, ja avainten hallintapalvelu vapauttaa käärityn avaimen kanavaan, joka päättyy TEE:n sisään, joten pelkän tekstin avain ei koskaan ole olemassa enklaavien ulkopuolella. Attestoimaton isäntä, alennettu alusta tai vioittunut kuva ei yksinkertaisesti koskaan saa materiaalia, jota se tarvitsisi minkään salauksen purkamiseen.

Tämä kääntää identiteetin ja valtuutuksen tavanomaisen suhteen ylösalaisin. Sen sijaan, että avain vapautettaisiin, koska soittaja esittää varastettavissa olevan tunnisteen, avain vapautetaan siksi, että ajonaikaisympäristö on kryptografisesti todistanut eheytensä. Työkuormille, joiden on siirrettävä dataa rajojen yli, tämä yhdistyy puhtaasti puolustuksen toimialueiden välisiä ratkaisuja käsittelevässä artikkelissamme kuvattuihin kontrolleihin: siirtoa suorittavan enklaavien voidaan vaatia attestoituvan ennen kuin sille koskaan luotetaan korkeamman luokitustason dataa.

Keskeinen havainto: Luottamuksellisen laskennan käyttöönoton turvallisuus perustuu attestointikäytäntöön, ei siruominaisuuteen. Vahva laitteisto yhdistettynä sallivaan tarkistajaan, joka hyväksyy vanhentuneet todistukset, ohittaa peruutustarkistukset tai ei koskaan kiinnitä tarkkoja koodin mittauksia, antaa suojan harhakuvan samalla kun se vapauttaa avaimia ympäristöihin, joita se ei ole tosiasiassa varmentanut. Käsittele tarkistajaa ja sen sallittujen listaa arkkitehtuurin herkimpänä komponenttina ja versioi se yhtä huolellisesti kuin se attestoi koodia.

Pilviympäristön käyttöönottomallit luokitelluille työkuormille

Kaikki suuret julkishallinnon pilvipalvelualueet tarjoavat nyt SEV-SNP:n tai TDX:n tukemia luottamuksellisia VM-vaihtoehtokytkimiä sekä hallittuja enklaavi- ja attestointipalveluja niiden tueksi. Kolme käyttöönottomallia toistuu luokitelluissa ja arkaluonteisissa ohjelmissa.

Luottamuksellinen tietojenkäsittely. Luokiteltua dataa käsittelevä työkuorma – analytiikkapalvelu, fuusiomoottori, mallin päättelemisohjelmisto – toimii kokonaan luottamuksellisissa VM:issä. Data saapuu salattuna, avaimet vapautetaan vain attestoiduille enklaaveille, ja salattu data on olemassa vain suojatussa muistissa. Tämä on siirto-ja-nosto-malli: olemassa olevat sovellukset saavat käytössä olevan datan suojan minimaalisilla muutoksilla, poistaen pilvioperaattorin luottamusrajalta ilman uudelleenrakentamista.

Luottamuksellinen avainten hallinta ja välitys. Pieni, SGX-tyylinen enklaavi toimii luottamusankkurina: se pitää käärimisavaimia, suorittaa attestoinnin tarkistuksen muille työkuormille ja välittää tietojen salausavaimia attestoiduille luottamuksellisille VM:ille. Herkimmän logiikan keskittäminen minimaaliseen enklaaviin pitää avainten käsittelyn luotetun laskennan perustan pienenä, vaikka suuret työkuormat toimivat täysinä luottamuksellisina VM:inä.

Luottamuksellinen moniosapuoli- ja koalitiolaskenta. Kaksi organisaatiota, jotka eivät voi jakaa raakadataa – koalition kumppanit tai eri luokitustasoilla olevat virastot – osallistuvat salattua syötettä luottamukselliseen VM:ään, joka laskee yhteisen tuloksen. Koska mikään osapuoli, mukaan lukien isäntä, ei voi lukea toisten syötteitä, enklaavista tulee neutraali alue. Attestointi antaa jokaiselle osallistujalle mahdollisuuden tarkistaa täsmälleen, mikä koodi käsittelee heidän dataansa ennen sen vapauttamista.

Jäännösriskit ja operatiivinen kuri

Luottamuksellinen laskenta kaventaa uhkapintaa huomattavasti mutta ei eliminoi sitä. Sivukanava-hyökkäykset TEE:tä vastaan ovat aktiivinen tutkimusalue, ja useat niistä ovat vaatineet mikrokoodin lieventämistoimia – minkä vuoksi tietoturvaversionumerovalvonta attestointikäytännössä ei ole valinnainen. Itse enklaavikoodin sisällä olevat haavoittuvuudet ovat haavoittuvuuksia suojatussa työkuormassa; minimaalinen luotettu laskennan perusta rajoittaa vaikutusaluetta. Ja sirun toimitusketju on viime kädessä luotettu. Nämä eivät kumoa mallia, mutta ne määrittelevät operatiivisen kurin: päivitä mikrokoodia viipymättä, pidä enklaavi pienenä, attestoi jatkuvasti eikä pelkästään käynnistyksen yhteydessä, ja kirjaa jokainen attestointipäätös muuttumattomaan tallennustilaan auditointia varten.

Luottamuksellinen laskenta on yksi vahva hallintaväline laajemmassa hyväksytyssä arkkitehtuurissa, ei korvike hyväksynnälle. Se kuuluu datan asuinaluekontrollien, oikean vaikutustason toimintavaltuutuksen, auditoitun avainten hallinnan sekä tässä sarjassa muualla käsiteltyjen nollaluottamusverkotus- ja toimialueiden välisten kontrollien rinnalle. Se tarjoaa ainutlaatuisesti auditoitavan suojan käytössä olevalle datalle – tilalle, jonka oletettiin tähän asti yksinkertaisesti olevan paljastunut.

Aja luokiteltuja työkuormia todistettavalla eheydellä

Corvus Quantum yhdistää luottamuksellisen laskennan, laitteistoattesoinnin ja kvanttijoustavan avainten hallinnan, jotta arkaluonteiset työkuormat pysyvät suojattuina käytön aikana, muistissa ja epäluotetun infrastruktuurin yli. Attestointiportitettu avainten vapautus on suunniteltu sisäänrakennetuksi.

Tutustu Corvus Quantumiin → Varaa tiedotustilaisuus

Tämän analyysin ovat valmistelleet Corvus Intelligencen insinöörit, jotka rakentavat kriittisiä turvallisia pilvi- ja infrastruktuuriratkaisuja puolustus- ja hallintoorganisaatioille. Tutustu tiimiimme →