Hardvérový RNG
Označenie hardvérového RNG znamená, že pre danú súčasť je zaznamenaný hardvérový prostriedok generovania náhodných čísel. Samotné označenie nešpecifikuje presné inštrukčné rozhranie, povolené prostredie ani úroveň kryptografickej záruky.
Čo potrebujete vedieť
Označenie hardvérového RNG znamená, že pre danú súčasť je zaznamenaný hardvérový prostriedok generovania náhodných čísel. Samotné označenie nešpecifikuje presné inštrukčné rozhranie, povolené prostredie ani úroveň kryptografickej záruky.
Ako to funguje
Na platforme x86 sa softvér môže stretnúť so samostatne enumerovanými rozhraniami RDRAND a RDSEED. Tie majú odlišné úlohy a hlásenie úspechu. Hardvérový zdroj je zvyčajne súčasťou širšieho návrhu náhodnosti v OS alebo knižnici, ktorý rieši úpravu (conditioning), inicializáciu (seeding), zlyhania a spôsob, akým aplikácie prijímajú náhodné bajty.
Kde je to užitočné
Bezpečnostná knižnica môže požiadať o náhodné bajty operačný systém, zatiaľ čo OS kombinuje zdroje platformy podľa vlastnej implementácie. Aplikácia nemusí priamo vykonávať hardvérovú inštrukciu, aby mohla využívať výhody hardvérového zdroja.
Ako overiť podporu a povolenie
Identifikujte skutočné hardvérové rozhranie a skontrolujte jeho konkrétnu enumeráciu. V prípade RDRAND a RDSEED skontrolujte ich samostatné bity CPUID a príznak carry (CF) pri každom vykonaní. Pri vývoji aplikácií používajte podporované rozhranie API náhodnosti v OS alebo kryptografickej knižnici.
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á
Nemeňte všeobecné pole hardvérového RNG na tvrdenia, že existujú RDRAND aj RDSEED, že generátor spĺňa konkrétnu certifikáciu alebo že každý VM má k dispozícii zdroj fyzického hostiteľa. Náhodná inštrukcia nechráni kľúče po ich uložení.
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
- 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.
- 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ží.
- Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
- 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.
- 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.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
Bol tento článok užitočný?
Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.
Ďakujeme. Pomáha nám to zlepšovať túto stránku.