Hopp til innhold

Maskinvare-RNG

ArkitekturreferanseFeex

En maskinvare-RNG-etikett betyr at en maskinvarefasilitet for tilfeldige tall er registrert for delen. Etiketten alene spesifiserer ikke det nøyaktige instruksjonsgrensesnittet, aktivert miljø eller kryptografisk sikkerhetsnivå.

Dette må du vite

En maskinvare-RNG-etikett betyr at en maskinvarefasilitet for tilfeldige tall er registrert for delen. Etiketten alene spesifiserer ikke det nøyaktige instruksjonsgrensesnittet, aktivert miljø eller kryptografisk sikkerhetsnivå.

Slik fungerer det

På x86 kan programvare støte på de separat oppregnede RDRAND- og RDSEED-grensesnittene. Disse har ulike roller og suksessrapportering. En maskinvarekilde deltar vanligvis i en bredere tilfeldighetsutforming i OS eller bibliotek som håndterer kondisjonering, seeding, feil og hvordan applikasjoner mottar tilfeldige byte.

Hvor det er nyttig

Et sikkerhetsbibliotek kan be om tilfeldige byte fra operativsystemet mens operativsystemet kombinerer plattformkilder i henhold til sin egen implementering. Applikasjonen trenger ikke å utstede en maskinvareinstruksjon direkte for å dra nytte av en maskinvarekilde.

Slik kontrolleres støtte og aktivering

Identifiser det faktiske maskinvaregrensesnittet og kontroller dets spesifikke oppregning. For RDRAND og RDSEED må du kontrollere de separate CPUID-bitene og menteflagget (carry flag) for hver kjøring. For applikasjonsutvikling bruker du det støttede API-et for tilfeldighet i OS eller kryptografisk bibliotek.

Bruk en vedlikeholdt kryptografisk implementering som håndterer funksjonsvalg, feiltilstander og den fullstendige algoritmen. Maskinvareakselerasjon leverer primitiver; nøkkelhåndtering, autentisering, nonceregler og protokollvalg forblir programvarens ansvar.

Hva funksjonen ikke etablerer

Ikke gjør et generisk maskinvare-RNG-felt om til påstander om at både RDRAND og RDSEED finnes, at en generator oppfyller en bestemt sertifisering, eller at enhver virtuell maskin har den fysiske vertens kilde. En tilfeldighetsinstruksjon beskytter ikke nøkler etter at de er lagret.

Kompatibilitet og ytelse i praksis

Et funksjonsfelt er ikke en produktsertifisering eller bevis på at en bestemt applikasjon er sikker. Ytelse avhenger av meldingsstørrelser, modus, puljering og resten av protokollen. Sjekk den faktiske leverandøren og hold dens sikkerhetsoppdateringer oppdaterte.

En praktisk sjekkliste for verifisering

  1. Registrer den nøyaktige prosessor- eller plattformmodellen og de involverte applikasjons-, OS- og kjøretidsversjonene. Bevar ordlyden i den faktiske feilen eller kravet.
  2. Sjekk produsentreferansen for akkurat den modellen, og undersøk deretter den faktiske kapasiteten og aktiverte tilstanden i miljøet der programmet kjører.
  3. Sammenlign ethvert krav til den valgte binærfilen eller baksiden. En lignende navngitt funksjon, et alias eller en bred teknologietikett er ikke tilstrekkelig.
  4. Bekreft at applikasjonen valgte den tiltenkte implementeringen. Bruk dens dokumenterte diagnostikk og en støttet reservemetode når kravene ikke er oppfylt.
  5. Gjør én støttet endring om gangen og gjenta den samme arbeidsbelastningen. Hold den opprinnelige konfigurasjonen og gjenopprettingsstien tilgjengelig.

Hvis funksjonen er oppført, men programvare ikke kan bruke den

Start med den nøyaktige komponenten som feiler. En maskinwaredatabase beskriver registrert kapasitet; operativsystemet eller hypervisoren kan eksponere et annet reelt miljø. En feil om ulovlig instruksjon krever også undersøkelse av den faktiske feilende instruksjonen og binærbyggingen, fordi korrupsjon eller en urelatert, ustøttet instruksjon kan gi et lignende symptom.

Installer applikasjonen, driveren eller kjøretidsversjonen som støttes for den nøyaktige plattformen, og bruk om nødvendig leverandørens dokumenterte grunnlinje- eller reservebygg. En programvareoppdatering kan ikke opprette en instruksjon som prosessoren mangler fastvare. Endringer i fastvare og sikkerhetspolicy bør følge systemprodusentens prosedyre og en gjenopprettingsplan i stedet for en generisk optimaliseringsoppskrift.

Kilder og omfang for denne forklaringen

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

Disse referansene etablerer arkitektonisk oppførsel og programvarekrav. De verifiserer ikke uavhengig hver funksjonsverdi på en koblet maskinvaremodells side. For modellstøtte, bruk den sidens produsentdokumentasjon og kontroller den reelle systemkonfigurasjonen. Denne artikkelen oppgir ikke en referansemåling, sertifisering eller dato for uavhengig gjennomgang.

Kilder og verifisering

Redaksjonelt eierskap: Feex. Ingen uavhengig vurderingsdato er registrert. Hvordan vi gjør undersøkelser.

Var denne artikkelen nyttig?

Et ja eller nei holder. Velg en grunn hvis du vil, eller legg til en kort kommentar.

Var denne artikkelen nyttig?