En sikker kryptoprocessor er et system på en chip eller mikroprocessor designet til at udføre kryptografiske operationer og forsynet med fysiske beskyttelsesforanstaltninger, der giver den en vis evne til at modvirke uautoriseret adgang . I modsætning til kryptografiske processorer, der "stoler" til bussen og udsender ukrypterede data til den, som om de var i et sikkert miljø, udsender en sikker kryptoprocessor ikke ukrypterede data eller ukrypterede programinstruktioner til et miljø, der ikke kan garanteres at være sikkert hele tiden .
Formålet med en sikker kryptoprocessor er at fungere som "hjørnestenen" i et undersystems sikkerhed, hvilket eliminerer behovet for at beskytte resten af undersystemet med fysiske sikkerhedsforanstaltninger.
Smart cards er måske det mest almindelige eksempel på et sikkert kryptosystem, selvom mere komplekse og alsidige sikre kryptoprocessorer er almindelige i systemer som pengeautomater , tv-modtagere , militærsystemer og meget sikkert bærbart kommunikationsudstyr. Nogle sikre kryptoprocessorer kan endda køre generelle operativsystemer såsom Linux inden for deres sikre rammer. En sikker kryptoprocessor modtager krypterede programinstruktioner som input, dekrypterer dem og udfører dem inde i den samme chip, hvor de dekrypterede instruktioner er gemt, og ingen undtagen denne chip har adgang til dem. Ved aldrig at afsløre dekrypterede programinstruktioner forhindrer kryptoprocessoren uautoriseret adgang til programmer for personer, der har legitim adgang til systemdatabussen . Dette er kendt som buskryptering . Data, der behandles af en kryptoprocessor, er også ofte krypteret.
Trusted Platform Module (TPM) er en implementering af en sikker kryptoprocessor, der bringer konceptet med betroet databehandling til almindelige pc'er ved at introducere et sikkert miljø . Denne teknik formodes at gøre ulovlig kopiering af ophavsretsbeskyttet software vanskeligere, men nuværende implementeringer har en tendens til at fokusere på at levere et hack-resistent boot-miljø og pålidelig databehandling på eksterne drev.
Indlejrede sikre chips er i stand til at give det samme niveau af fysisk beskyttelse af nøgler og andre følsomme data som smart cards eller Trusted Platform Modules , men på en meget mindre, enklere og billigere måde. De omtales også ofte som autentificeringsenheder og bruges til at godkende ydre enheder, tilbehør eller forsyninger. Ligesom Trusted Platform Module er disse integrerede kredsløb designet til at blive indbygget i systemer og er ofte loddet til kortet.
Hardwaresikkerhedsmoduler indeholder en eller flere kryptoprocessorer. Disse enheder er meget sikre kryptoprocessorer, der bruges på servere. Et hardwaresikkerhedsmodul kan have flere niveauer af fysisk beskyttelse i en enkelt kryptoprocessorchip. Kryptoprocessorchippen kan placeres i et hardwaresikkerhedsmodul sammen med andre processorer og hukommelse, hvor krypterede data lagres og behandles. Ethvert forsøg på at udtrække det vil nulstille nøglerne i kryptochippen. Hardwaresikkerhedsmoduler kan også være en del af en computer (såsom en automatiseret pengeautomat ), der udfører transaktioner inde i et låst pengeskab for at forhindre tyveri , substitution og forfalskning.
Selvom sikre kryptoprocessorer er nyttige, er de ikke immune over for angreb, især af veludstyrede og beslutsomme modstandere (som regeringens efterretningstjeneste), der er villige til at bruge enorme ressourcer.
Et af angrebene blev udført på IBM 4758 [1] . Et hold fra University of Cambridge har rapporteret, at det lykkedes at udtrække klassificeret information fra en IBM 4758 ved hjælp af matematik og hacking hardware . Under alle omstændigheder er et sådant angreb på rigtige systemer umuligt, fordi angriberne skal have fuld adgang til enhedens API . Den almindelige (og anbefalede) praksis er at bruge et adgangskontrolsystem til at adskille rettighederne, og ingen kan udføre angrebet.
Mens den udnyttede sårbarhed var en softwarefejl i 4758 og ikke en fejl i 4758-arkitekturen som helhed, tjener deres angreb som en påmindelse om, at et sikkerhedssystem kun er så sikkert som dets svageste led: hele 4758-systemet blev gjort ubrugeligt af en fejl i programmet, der styrede alt.
Smart cards er væsentligt mere sårbare, da de er mere åbne over for fysiske angreb. Desuden kan hardware-bagdøre underminere sikkerheden for smart cards eller andre kryptoprocessorer, hvis de ikke investeres i anti-bagdørs-teknik [2] .
I tilfælde af fuld diskkrypteringsapplikationer , især når de er implementeret uden en pålidelig bootloader, kan kryptoprocessoren ikke beskyttes mod et koldstartangreb, hvis resterende information kan læses fra hukommelsen, efter at operativsystemet har gendannet nøglerne fra TPM .
Under alle omstændigheder, hvis alle fortrolige data kun er lagret i kryptoprocessorens hukommelse og ikke i eksterne drev, er kryptoprocessoren designet på en sådan måde, at det er umuligt at læse dekrypterede eller ukrypterede data fra udgangene eller andre elementer. sådanne data kan kun opnås ved at fjerne alle sagsdata fra chippen og beskyttende metallag. Dette kræver både fysisk besiddelse af enheden og specialiserede teknikere, som er dygtige i de relevante færdigheder og udstyr.
Andre angrebsmetoder omfatter omhyggelig analyse af udførelsestiderne for forskellige operationer. Tiden kan være stærkt afhængig af hemmelige værdier eller afhængigheden af strømforbrug på tid for at bestemme, om enheden fungerer med bit '0' eller '1'. Eller en angriber kan anvende ekstreme temperaturer, meget høj eller lav frekvens eller ændre forsyningsspændingen for at forårsage en funktionsfejl. Den interne struktur af kryptoprocessoren kan være adaptiv for at forhindre sådanne angreb.
Nogle sikre kryptoprocessorer indeholder to processorkerner og genererer utilgængelige nøgler, når det er nødvendigt, så selv når kredsløbet er omvendt manipuleret , er det umuligt at opnå nøgler, der er nødvendige for sikkert at dekryptere et program indlæst fra krypteret flashhukommelse eller overført mellem kerner [3] .
processorteknologier | Digitale|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionssæt arkitektur | |||||||||
maskinord | |||||||||
Parallelisme |
| ||||||||
Implementeringer | |||||||||
Komponenter | |||||||||
Strømstyring |