Riistvaraline krüpteering

**Riistvaraline krüpteering** (inglise *hardware-based encryption*) on riistvaraline seade ja/või moodul, mis on ette nähtud tarkvaralise krüpteeringu lihtsustamiseks või täielikuks asendamiseks.

Üldjuhul tehakse krüpteering protsessori käsustikus. Näiteks täiustatud krüpteerimisstandardit (moodne šiffer) on võimalik rakendada üldlevinud x86 ning ka ARM-arhitektuuris. Vähem levinud riistvaraline krüptograafiamoodul on eraldiseisev protsessor keskprotsessorist, mis on disainitud kiiresti ja turvaliselt tegema krüptograafilisi arvutusi. Näiteks IBM 4758 ja tema edasiarendused IBM 4764 ning IBM 4768.

Riistvaraliselt optimeeritud turvamoodulid võivad olla oma spetsiifilistes arvutustes kiiremad kui üldlevinud protsessorite käsustikud ning neid on teoreetiliselt keerulisem rünnata kui tarkvaraliselt rakendatud krüpteeringut.

## Kasutuskohti
### Käsustikes
#### x86

CISC arhitektuurina leidub x86 arhitektuuris riistvaralisel tasemel keerukaid algoritme, sealhulgas ka krüptograafilisi. Lisaks täiustatud krüpteerimisstandardi funktsioonidele toetab x86 arhitektuur ka SHA räsifunktsioone, mida kasutatakse näiteks paroolide turvalisel talletamisel.

**AES-NI** (inglise keeles *Advanced Encryption Standard New Instructions*) on x86 käsustik Inteli ja AMD keskseadmetele. Tehnoloogia sai alguse Inteli eestvedamisel 2008. aasta märtsis. 

#### ARM
ARM-protsessorid on arhitektuuriliselt RISC-protsessorid seega on nende käsustikku kärbitud. Sellegipoolest võib ARM arhitektuur omada laiendusi, mis toetavad krüptograafilisi arvutusi.

**ARMv8-A käsustikus**

Valikuliselt võivad ARM Cortex-A30/50/70 keskprotsessorid toetada AES käsustikke. Selle keskseadme generatsiooni kuulub näiteks alates mudel B versioon 1.2 Raspberry Pi väikeraalid, aga ka paljud Android operatsioonisüsteemi kasutavad nutitelefonid.

### Eraldi turvamoodulina

Olenevalt nõudlusest võivad spetsiifiliste infoturbealaste funktsioonidega raalid vajada eraldiseisvat riistvaralist turvamoodulit, et vabastada keskprotsessorit, mis ei ole optimeeritud puhtalt täiustatud krüpteerimisstandardite etappide täitmiseks. 
* IBM 4758 – IBM 4764 eelkäija. Moodulis on protsessor, mälu ja riistvaraline juhuarvugeneraator.
* IBM 4764 ja IBM 4765, erinevad ainult arvutisiini tüübilt. IBM 4764 kasutab PCI-X arvutisiini, IBM 4765 kasutab PCIe arvutisiini..
* IBM 4768 on viimane väljalase IBMi turvamoodulitest. Töötab PCIe andmesiini kaudu ning moodul ise kannab nime PCIeCC3 (inglise keeles IBM PCIe Crypto Card V3') 

## Eelised
Viies krüptograafiline arvutusvajadus riistvaralisele tasemele vabastab see protsessorit tegema oma tavapärast tööd, kuna osa protsessorist on disainitud tegelemaks krüpteerimisalaste arvutustega. Seega teeb see protsessorid kasutajale kiiremaks. Protsessorid, mis toetavad toru, suudavad sageli krüpteerimisoperatsioone teha samaaegselt teiste käskude täitmisega.
On olemas ka tehnoloogiaid, mis suudavad kaitsta andmeid ka operatsioonisüsteemi enda eest. See tähendab, et isegi juhul kui operatsioonisüsteem on kompromiteeritud, siis andmed võivad olla jätkuvalt kaitstud. Kõnealune tehnoloogia on tuntud nimega Intel SGX (inglise keeles **Software Guard Extensions**)

## Puudused
Kui näiteks tarkvaralisel tasemel leitakse krüptograafias turbealane viga, siis üldjuhul on võimalik see paigata läbi tarkvarauuenduse. Kui aga peaks juhtuma, et leitakse viga riistvaralisel tasemel, siis selle parandamine on sageli väga vaevaline, kuna probleem on juba füüsiline mitte loogiline. Sellise vea korral on oht, et ainuke abinõu on kas riistvara väljavahetamine või terve kõnealuse riistvaralise funktsiooni väljalülitamine operatsioonisüsteemi tasemel.

## Vaata ka
* täiustatud krüpteerimisstandard

## Viited