Vis enkel innførsel

dc.contributor.advisorKjeldsberg, Per Gunnar
dc.contributor.advisorFegran, Henrik
dc.contributor.authorWaage, Aleksander
dc.date.accessioned2022-10-01T17:24:39Z
dc.date.available2022-10-01T17:24:39Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:106811575:72048254
dc.identifier.urihttps://hdl.handle.net/11250/3023096
dc.description.abstractTeknologi har blitt en viktig del av hverdagen, og det forventes at det er sikkert å bruke det. Sikkerhet er dermed en kritisk faktor i hvert steg under utviklingen. Konfidensiell informasjon blir ofte skjult ved bruk av en kryptografiskalgoritme som kan konvertere data til en uforståelig kryptert form. En dekrypteringsprosedyre kan konvertere den tilbake til sin opprinnelige form når det trengs. Avansert krypteringsstandard (AES) har blitt en av de mest brukte krypteringsalgoritmene siden den ble standardisert av Nasjonalt Institutt for Standard og Teknologi (NIST) i år 2000. AES består av flere enkle operasjoner som kan bli utført i både programvare og i maskinvare. En akselerator implementert i maskinvare er typisk raskere enn å eksekvere instruksene i programvare, men krever spesialdesignede komponenter. Det ble i senere tid oppdaget at maskinvare lekker informasjon gjennom sidekanaler som strømforbruket. Strømforbruket til en krets er sterk korrelert til hvor aktiv kretsen er, som kan føre til tydlige og observerbare karakteristikker. Sidekanalsangrep bruker statistisk analyse til å avdekke hemmlig informasjon fra disse lekkasjene. Det finnes i dag flere tiltak for å beskytte mot slike angrep, hvor de mest typiske tiltakene er terskelimplementeringer og varianter av dem. I denne oppgaven har en AES akselerator, som er beskyttet mot første-ordens sidekanalsangrep, blitt utviklet. Akseleratordesignet er basert på den forventede oppførselen definert i RISC-V scalar-crypto instruksjonssetutvidelsen. Den tilførte verdien blir splittet i to deler, hvor den ene delen er summen av inngangsverdien og en tilfeldig verdi, og den andre delen er den tilfeldige verdien. Dette fører til at en motpart må kombinere informasjon fra begge disse signalene for å avdekke noen brukbare data. Designprosessen ble delt inn i tre deler. Først var fokuset å implementere den ikke-lineære DOM SBoksen, siden den er den største og mest kompliserte komponenten for AES. Denne SBoksen ble så brukt i den komplette akseleratoren som ble utviklet etterpå. Tilslutt ble akseleratoren pakket inn i en modul som kobler den til CV32E40X kjernen gjennom utvidelsesgrensesnittet. Arealet på akseleratoren sammen med innpakningen er 2,6 ganger større enn eksempelimplementasjonen gitt i scalar-crypto instruksjonssetutvidelsen. Gjennomstrømningen av data er også 6 ganger saktere for en ikke optimalisert applikasjon på grunn av pipelinedesignet.
dc.description.abstractTechnology has become a significant part of our daily lives, and it is expected to be trustworthy and secure. Security in new technologies has become a critical element in every design step for both hardware and software. High-level security techniques attempt to make information inaccessible, and lower levels try to keep information secure even if it is accessed by, for example, obfuscating it. Obfuscation is typically done using cryptographic algorithms such as the Advanced Encryption Standard (AES), which has become one of the most widely used ciphers since the endorsement from the National Institute of Standards and Technology (NIST). Its operations are simple and can be performed in software and hardware, where software implementations require less specialized resources and hardware accelerators are typically faster. However, researchers uncovered that hardware could leak information through side-channels such as power consumption. It is possible to deduce critical information from these leakages through statistical analysis referred to as side-channel attacks (SCA). Several countermeasures have since been developed against such attacks, where the typical ones for AES are threshold implementations and variants of it. In this work, a first-order Side-Channel Attack (SCA) secure Advanced Encryption Standard (AES) accelerator has been implemented. The design is based on the instructions from the official RISC-V scalar-crypto instruction set extension (ISE). A 2-share Domain-Oriented Masking (DOM) scheme is implemented to secure the accelerator against first-order SCAs. The adversary must acquire information from all shares to get any meaningful data, which is a consequence of splitting the input into multiple shares. It is simple to implement share-splitting for linear operations but not for non-linear operations such as the AES SBox. The DOM scheme was selected to make the Substitution-Box (SBox) secure against first-order SCAs. The accelerator has two parallel paths for linear operations and shares the DOM SBox for all parallels. The accelerator is connected to the RISC-V CV32E40X core by the OpenHW group through their novel eXtension Interface (XIF). A wrapper integrates the accelerator and logic required to accept incoming instructions and write back results. The area of the complete accelerator is 2.6 times larger compared to the unprotected implementation available in the scalar-crypto Instruction Set Extension (ISE). The throughput is also decreased by a factor of 6 due to the pipeline. All the designs in this work are available on GitHub
dc.languageeng
dc.publisherNTNU
dc.titleSecure Implementation of a RISC-V AES Accelerator
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel