Hårdvarubaserad kryptering
Processtyp | Kryptografi |
---|---|
Industrisektor(er) | Datoranvändning |
Huvudteknologier eller delprocesser | Kryptografisk hashfunktion , kryptering |
Hårdvarubaserad kryptering är användningen av datorhårdvara för att hjälpa programvara, eller ibland ersätta programvara, i processen för datakryptering . Vanligtvis implementeras detta som en del av processorns instruktionsuppsättning. Till exempel AES- krypteringsalgoritmen (ett modernt chiffer ) implementeras med hjälp av AES-instruktionsuppsättningen på den allestädes närvarande x86-arkitekturen . Sådana instruktioner finns också på ARM-arkitekturen . Det finns dock mer ovanliga system där kryptografimodulen är separat från den centrala processorn, istället implementerad som en samprocessor , i synnerhet en säker kryptoprocessor eller kryptografisk accelerator , varav ett exempel är IBM 4758 , eller dess efterföljare, IBM 4764 . Hårdvaruimplementeringar kan vara snabbare och mindre benägna att utnyttjas än traditionella programvaruimplementationer, och kan dessutom skyddas mot manipulering.
Historia
Före användningen av datorhårdvara kunde kryptografi utföras med olika mekaniska eller elektromekaniska medel. Ett tidigt exempel är Scytale som används av spartanerna . Enigma -maskinen var en elektromekanisk systemchiffermaskin som användes av tyskarna under andra världskriget . Efter andra världskriget utvecklades rent elektroniska system. 1987 inleddes projektet ABYSS (A Basic Yorktown Security System). Syftet med detta projekt var att skydda mot piratkopiering av programvara . Men tillämpningen av datorer på kryptografi i allmänhet går tillbaka till 1940-talet och Bletchley Park , där Colossus-datorn användes för att bryta krypteringen som användes av det tyska överkommandot under andra världskriget . Användningen av datorer för att kryptera kom dock senare. Framför allt, fram till utvecklingen av den integrerade kretsen , av vilken den första tillverkades 1960, var datorer opraktiska för kryptering, eftersom, i jämförelse med den bärbara formfaktorn hos Enigma-maskinen , erans datorer tog utrymmet av en hel byggnad. Det var först med utvecklingen av mikrodatorn som datorkryptering blev genomförbar, utanför nischapplikationer. Utvecklingen av World Wide Web ledde till behovet för konsumenter att ha tillgång till kryptering, eftersom näthandel blev utbredd. Det viktigaste för konsumenterna var säkerhet och snabbhet. Detta ledde till att nyckelalgoritmerna så småningom inkluderades i processorer som ett sätt att både öka hastigheten och säkerheten.
Genomföranden
I instruktionsuppsättningen
x86
X86- arkitekturen , som en CISC- arkitektur (Complex Instruction Set Computer), implementerar vanligtvis komplexa algoritmer i hårdvara. Kryptografiska algoritmer är inget undantag. x86-arkitekturen implementerar betydande komponenter i AES-algoritmen (Advanced Encryption Standard), som kan användas av NSA för topphemlig information. Arkitekturen inkluderar även stöd för SHA Hashing Algorithms genom Intel SHA-tillägg . Medan AES är ett chiffer, vilket är användbart för att kryptera dokument, används hashing för verifiering, till exempel av lösenord (se PBKDF2 ).
ÄRM
ARM-processorer kan valfritt stödja säkerhetstillägg. Även om ARM är en RISC- arkitektur (Reduced Instruction Set Computer) finns det flera valfria tillägg specificerade av ARM Holdings .
Som medprocessor
- IBM 4758 – Föregångaren till IBM 4764 . Detta inkluderar en egen specialiserad processor, minne och en slumptalsgenerator .
- IBM 4764 och IBM 4765 , identiska förutom anslutningen som används. Den förra använder PCI-X , medan den senare använder PCI-e . Båda är kringutrustning som ansluts till moderkortet .
Spridning
Advanced Micro Devices (AMD)-processorer är också x86-enheter och har stödt AES-instruktionerna sedan 2011 års Bulldozer -processoriteration. På grund av förekomsten av krypteringsinstruktioner på moderna processorer från både Intel och AMD, finns instruktionerna på de flesta moderna datorer. De finns också på många surfplattor och smartphones på grund av deras implementering i ARM-processorer .
Fördelar
Att implementera kryptografi i hårdvara innebär att en del av processorn är dedikerad till uppgiften. Detta kan leda till en stor hastighetsökning. I synnerhet kan moderna processorarkitekturer som stöder pipelining ofta utföra andra instruktioner samtidigt med exekveringen av krypteringsinstruktionen. Dessutom kan hårdvara ha metoder för att skydda data från programvara. Följaktligen, även om operativsystemet har äventyrats, kan data fortfarande vara säkra (se Software Guard Extensions) .
Nackdelar
Om emellertid hårdvaruimplementeringen äventyras uppstår stora problem. Skadlig programvara kan hämta data från den (förmodligen) säkra hårdvaran – en stor klass av metoder som används är timingattacken . Detta är mycket mer problematiskt att lösa än ett programvarufel, även inom operativsystemet . Microsoft hanterar regelbundet säkerhetsproblem genom Windows Update . På samma sätt släpps regelbundna säkerhetsuppdateringar för Mac OS X och Linux , såväl som mobila operativsystem som iOS , Android och Windows Phone . Men hårdvaran är en annan fråga. Ibland kan problemet åtgärdas genom uppdateringar av processorns mikrokod (en mjukvara på låg nivå). Andra problem kanske bara går att lösa genom att byta ut hårdvaran, eller en lösning i operativsystemet som minskar prestandafördelarna med hårdvaruimplementeringen, till exempel i Spectre- exploatet .