Säker kryptoprocessor
En säker kryptoprocessor är en dedikerad dator-på-ett-chip eller mikroprocessor för att utföra kryptografiska operationer, inbäddad i en förpackning med flera fysiska säkerhetsåtgärder , som ger den en viss grad av manipuleringsmotstånd . Till skillnad från kryptografiska processorer som matar ut dekrypterad data till en buss i en säker miljö, matar en säker kryptoprocessor inte ut dekrypterade data eller dekrypterade programinstruktioner i en miljö där säkerhet inte alltid kan upprätthållas.
Syftet med en säker kryptoprocessor är att fungera som slutstenen i ett säkerhetsundersystem, vilket eliminerar behovet av att skydda resten av undersystemet med fysiska säkerhetsåtgärder.
Exempel
En hårdvarusäkerhetsmodul (HSM) innehåller en eller flera säkra kryptoprocessorchips . Dessa enheter är säkra kryptoprocessorer av hög kvalitet som används med företagsservrar. En hårdvarusäkerhetsmodul kan ha flera nivåer av fysisk säkerhet med en kryptoprocessor med ett chip som sin säkraste komponent. Kryptoprocessorn avslöjar inte nycklar eller exekverbara instruktioner på en buss, förutom i krypterad form, och nollställer nycklar genom försök till sondering eller skanning. Kryptochippet/kryptochippen kan också ingjutas i hårdvarusäkerhetsmodulen med andra processorer och minneschips som lagrar och bearbetar krypterad data. Varje försök att ta bort ingjutningen kommer att göra att nycklarna i kryptochipet nollställs. En hårdvarusäkerhetsmodul kan också vara en del av en dator (till exempel en bankomat ) som fungerar inuti ett låst kassaskåp för att förhindra stöld, ersättning och manipulering.
Moderna smartkort är förmodligen den mest utbredda formen av säker kryptoprocessor, även om mer komplexa och mångsidiga säkra kryptoprocessorer är allmänt utplacerade i system som automatiserade kassaapparater , TV -boxar , militära applikationer och högsäkerhetsbärbar kommunikationsutrustning. [ citat behövs ] Vissa säkra kryptoprocessorer kan till och med köra generella operativsystem som Linux inom sina säkerhetsgränser. Kryptoprocessorer matar in programinstruktioner i krypterad form, dekrypterar instruktionerna till vanliga instruktioner som sedan exekveras inom samma kryptoprocessorchip där de dekrypterade instruktionerna är otillgängligt lagrade. Genom att aldrig avslöja de dekrypterade programinstruktionerna förhindrar kryptoprocessorn manipulering av program av tekniker som kan ha legitim åtkomst till delsystemets databussen. Detta är känt som busskryptering . Data som behandlas av en kryptoprocessor krypteras också ofta.
Trusted Platform Module (TPM) är en implementering av en säker kryptoprocessor som för med sig tanken om betrodd datoranvändning till vanliga datorer genom att möjliggöra en säker miljö . [ citat behövs ] Nuvarande TPM-implementeringar fokuserar på att tillhandahålla en manipuleringssäker startmiljö och beständig och flyktig lagringskryptering.
Säkerhetschips för inbyggda system finns också tillgängliga som ger samma nivå av fysiskt skydd för nycklar och annat hemligt material som en smartcardprocessor eller TPM men i ett mindre, mindre komplext och billigare paket. [ citat behövs ] De kallas ofta för kryptografiska autentiseringsenheter och används för att autentisera kringutrustning, tillbehör och/eller förbrukningsartiklar. Liksom TPM är de vanligtvis nyckelfärdiga integrerade kretsar avsedda att bäddas in i ett system, vanligtvis lödda till ett PC-kort.
Funktioner
Säkerhetsåtgärder som används i säkra kryptoprocessorer:
- manipuleringsupptäckande och manipuleringssäker inneslutning.
- Konduktiva skärmlager i chipet som förhindrar läsning av interna signaler.
- Kontrollerad exekvering för att förhindra att tidsfördröjningar avslöjar hemlig information.
- Automatisk nollställning av hemligheter vid manipulering.
- Chain of trust boot-loader som autentiserar operativsystemet innan det laddas.
- Chain of trust operativsystem som autentiserar applikationsprogramvara innan den laddas.
- Hårdvarubaserade kapacitetsregister som implementerar en enkelriktad privilegie-separationsmodell .
Grad av säkerhet
Även om säkra kryptoprocessorer är användbara är de inte osårbara för attacker, särskilt för välutrustade och beslutsamma motståndare (t.ex. en statlig underrättelsetjänst) som är villiga att lägga tillräckligt med resurser på projektet.
En attack mot en säker kryptoprocessor riktade sig till IBM 4758 . Ett team vid University of Cambridge rapporterade framgångsrikt utvinning av hemlig information från en IBM 4758, med hjälp av en kombination av matematik och kodbrytande hårdvara för speciella ändamål. Denna attack var dock inte praktisk i verkliga system eftersom den krävde att angriparen hade full tillgång till alla API-funktioner på enheten. Normala och rekommenderade metoder använder det inbyggda åtkomstkontrollsystemet för att dela upp auktoriteter så att ingen person kan utföra attacken. [ citat behövs ]
Även om sårbarheten de utnyttjade var ett fel i programvaran som laddades på 4758:an, och inte arkitekturen hos 4758 själv, tjänar deras attack som en påminnelse om att ett säkerhetssystem bara är lika säkert som dess svagaste länk: den starka länken i 4758:an hårdvaran gjordes oanvändbar av brister i designen och specifikationen av programvaran som laddades på den.
Smartkort är betydligt mer sårbara, eftersom de är mer öppna för fysisk attack. Dessutom kan hårdvarubakdörrar undergräva säkerheten i smartkort och andra kryptoprocessorer om inte investeringar görs i anti-bakdörrsdesignmetoder.
I fallet med fullständiga diskkrypteringsapplikationer , särskilt när de implementeras utan en start- PIN , skulle en kryptoprocessor inte vara säker mot en kallstartsattack om dataremanens skulle kunna utnyttjas för att dumpa minnesinnehåll efter att operativsystemet har hämtat de kryptografiska nycklarna från sin TPM .
Men om all känslig data endast lagras i kryptoprocessorminne och inte i extern lagring, och kryptoprocessorn är utformad för att inte kunna avslöja nycklar eller dekrypterade eller okrypterade data på chipbonding pads eller lödbullar, då skulle sådan skyddad data vara tillgänglig endast genom att sondera kryptoprocessorchippet efter att eventuellt förpacknings- och metallskyddsskikt har tagits bort från kryptoprocessorchippet. Detta skulle kräva både fysiskt innehav av enheten såväl som färdigheter och utrustning utöver vad de flesta tekniska personalen har.
Andra attackmetoder involverar noggrann analys av tidpunkten för olika operationer som kan variera beroende på det hemliga värdet eller kartläggning av den aktuella förbrukningen mot tiden för att identifiera skillnader i hur "0"-bitar hanteras internt kontra "1"-bitar. Eller så kan angriparen tillämpa extrema temperaturer, överdrivet höga eller låga klockfrekvenser eller matningsspänning som överstiger specifikationerna för att inducera ett fel. Den interna designen av kryptoprocessorn kan skräddarsys för att förhindra dessa attacker.
Vissa säkra kryptoprocessorer innehåller dubbla processorkärnor och genererar otillgängliga krypteringsnycklar vid behov så att även om kretsen är omvänd konstruerad, kommer den inte att avslöja några nycklar som är nödvändiga för att säkert dekryptera programvara som startats från krypterat flashminne eller kommunicerats mellan kärnor.
Den första kryptoprocessordesignen med ett chip var för kopieringsskydd av persondatorprogramvara (se US-patent 4 168 396, 18 september 1979) och inspirerades av Bill Gates' Open Letter to Hobbyists .
Historia
Hårdvarusäkerhetsmodulen (HSM), en typ av säker kryptoprocessor, uppfanns av den egyptisk-amerikanske ingenjören Mohamed M. Atalla 1972. Han uppfann en högsäkerhetsmodul kallad "Atalla Box" som krypterade PIN- och ATM - meddelanden och skyddade offline-enheter med en PIN-genererande nyckel som inte går att gissa. 1972 ansökte han om patent på enheten. Han grundade Atalla Corporation (nu Utimaco Atalla ) samma år och kommersialiserade "Atalla Box" året därpå, officiellt som Identikey-systemet. Det var en kortläsare och ett kundidentifieringssystem , bestående av en kortläsarkonsol , två kund- PIN-kuddar , intelligent styrenhet och inbyggt elektroniskt gränssnittspaket. Det gjorde det möjligt för kunden att skriva in en hemlig kod, som omvandlas av enheten, med hjälp av en mikroprocessor , till en annan kod för kassan. Vid en transaktion lästes kundens kontonummer av kortläsaren . Det blev en framgång och ledde till en stor användning av högsäkerhetsmoduler.
Av rädsla för att Atalla skulle dominera marknaden började banker och kreditkortsföretag arbeta på en internationell standard på 1970-talet. IBM 3624 , som lanserades i slutet av 1970-talet, antog en liknande PIN-verifieringsprocess som det tidigare Atalla-systemet. Atalla var en tidig konkurrent till IBM på banksäkerhetsmarknaden.
Vid National Association of Mutual Savings Banks (NAMSB) konferens i januari 1976, presenterade Atalla en uppgradering av sitt Identikey-system, kallat Interchange Identikey. Det lade till möjligheterna att bearbeta onlinetransaktioner och hantera nätverkssäkerhet . Designat med fokus på att ta banktransaktioner online , utvidgades Identikey-systemet till delade anläggningar. Den var konsekvent och kompatibel med olika växlingsnätverk och kunde återställa sig själv elektroniskt till vilken som helst av 64 000 irreversibla olinjära algoritmer enligt anvisningar från kortdatainformation . Interchange Identikey-enheten släpptes i mars 1976. Senare 1979 introducerade Atalla den första nätverkssäkerhetsprocessorn (NSP). Atallas HSM-produkter skyddar 250 miljoner korttransaktioner varje dag från och med 2013 och säkrar majoriteten av världens bankomattransaktioner från och med 2014.
Se även
- Datorsäkerhet
- Krypto-fragmentering
- FIPS 140-2
- Hårdvaruaccelerator
- Hårdvarusäkerhetsmoduler
- Säkerhetsteknik
- Smart kort
- Trusted Computing
- Trusted Platform Module
- Säker enklav
- Titan M
Vidare läsning
- Ross Anderson , Mike Bond, Jolyon Clulow och Sergei Skorobogatov, Cryptographic Processors — A Survey, april 2005 (PDF) . Detta är inte en undersökning av kryptografiska processorer; det är en kartläggning av relevanta säkerhetsfrågor.
- Robert M. Best, US-patent 4 278 837 , 14 juli 1981
- R. Elbaz, et al., Hardware Engines for Bus Encryption — A Survey, 2005 (PDF) .
- David Lie, Execute Only Memory, [1] .
- Extrahera en 3DES-nyckel från en IBM 4758
- JD Tygar och Bennet Yee, ett system för att använda fysiskt säkra samprocessorer , Dyad