Preskočiť na obsah

AES-NI

Architektonická referenciaFeex

AES-NI je inštrukčné rozšírenie x86 pre šifrovacie a dešifrovacie rundy AES a súvisiacu prácu s rozvrhom kľúčov. Zrýchľuje časti kryptografickej implementácie namiesto toho, aby poskytovalo celý bezpečný protokol.

Čo potrebujete vedieť

AES-NI je inštrukčné rozšírenie x86 pre šifrovacie a dešifrovacie rundy AES a súvisiacu prácu s rozvrhom kľúčov. Zrýchľuje časti kryptografickej implementácie namiesto toho, aby poskytovalo celý bezpečný protokol.

Ako to funguje

Inštrukcie ako AESENC a AESDEC transformujú 128-bitový stav AES, zatiaľ čo samostatné tvary obsluhujú finálne rundy a pomáhajú pri expanzii kľúča. Implementácia AES volí počet a poradie rúnd podľa dĺžky svojho kľúča. Inštrukcie samy osebe nevolia režim, neprideľujú jednorazové čísla (nonces), neoverujú správy ani nechránia uložené kľúče.

Kde je to užitočné

Udržiavaná kryptografická knižnica môže použiť AES-NI pre podporovaný režim AES. AES-GCM vyžaduje aj spracovanie autentifikácie, často urýchľované násobením bez prenosu. Vyjednávanie protokolu, rozloženie záznamov a dĺžka správy ovplyvňujú celkový výkon od začiatku do konca.

Ako overiť podporu a povolenie

CPUID.01H:ECX bit 25 indikuje staršie AES-NI. Prostredie vykonávania musí spravovať stav XMM. Pre širšie implementácie VEX alebo EVEX overte požiadavky na VAES a vektorový stav samostatne a použite podporované mechanizmy dynamického vetvenia kryptografickej knižnice.

Používajte udržiavanú kryptografickú implementáciu, ktorá zabezpečuje výber funkcií, chybové stavy a kompletný algoritmus. Hardvérová akcelerácia poskytuje primitíva; správa kľúčov, autentifikácia, pravidlá pre jednorazové čísla a voľby protokolu zostávajú zodpovednosťou softvéru.

Čo táto funkcia nezakladá

Podpora AES-NI nie je bezpečnostnou certifikáciou, verdiktom o malvéri ani zárukou proti postranným kanálom v okolitom kóde. AES nie je SHA. VAES sa enumeruje samostatne a hosťovský systém môže AES-NI skryť, aj keď ním hostiteľ disponuje.

Kompatibilita a výkon v praxi

Pole vlastnosti nie je certifikáciou produktu ani dôkazom toho, že konkrétna aplikácia je bezpečná. Výkon závisí od veľkostí správ, režimu, dávkovania a zvyšku protokolu. Skontrolujte skutočného poskytovateľa a udržiavajte jeho bezpečnostné aktualizácie aktuálne.

Praktický kontrolný zoznam na overenie

  1. Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
  2. Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
  3. Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
  4. Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
  5. Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.

Ak je funkcia uvedená, ale softvér ju nemôže použiť

Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.

Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.

Zdroje a rozsah tohto vysvetlenia

Intel 64 and IA-32 Architectures Software Developer's Manual

Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.

Zdroje a overenie

Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.

Bol tento článok užitočný?

Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.

Bol tento článok užitočný?