Ring Oscillator: True Random Number Generator (TRNG) rispetto a Physically Unclonable Function (PUF)

4

Gli oscillatori ad anello possono essere utilizzati in generatori di numeri casuali dell'hardware vero (TRNG), e anche in funzioni fisicamente non clonabili (PUF).

I design sembrano abbastanza simili:

TRNG basato su oscillatori ad anello:

AnellooscillatorePUF:

L'idea di un PUF è che crea la stessa risposta predefinita (ma apparentemente casuale) per ogni sfida, mentre l'idea di un TRNG è che crea un output veramente casuale.

Le mie domande sono:

  • Come può un oscillatore ad anello essere l'elemento principale per entrambe queste funzionalità? Uno sembra basarsi sul fatto che lo stato dell'oscillatore può essere previsto, mentre l'altro si basa sull'opposto. Questo mi sembra contraddittorio.
  • Ha qualcosa a che fare con lo XOR, che (semi-) combina casualmente le uscite nel caso del TRNG, mentre il multiplexer nel PUF regola l'uscita? O ha a che fare con quanto durano gli oscillatori?
  • Se è così, un TRNG ad anello è veramente casuale?
posta tim 17.02.2015 - 15:02
fonte

2 risposte

3

Nella costruzione del TRNG, gli anelli non hanno un segnale di abilitazione comune, l'unico punto nel tempo in cui sono sincronizzati è in fase di accensione. Quindi corrono liberamente, ognuno al proprio ritmo. Questo non crea una grande quantità di casualità di per sé, ma questo genera molti problemi agli ingressi delle flipflop. La speranza è creare più casualità dalla meta-stabilità. Per il PUF esiste un abilitazione comune in modo che gli oscillatori ad anello stiano correndo uno contro l'altro con un punto di sincronizzazione comune all'inizio. L'input challenge seleziona quali istanze sono in competizione. Per una determinata sfida e un dato chip, il risultato della gara tende ad avere sempre lo stesso risultato della precisa frequenza di ogni anello dipende dalle precise caratteristiche fisiche di ciascuno dei loro stadi.

Non è legato a quanto tempo il RO è in esecuzione, questo è solo il modo in cui vengono utilizzate le uscite che fa la differenza. Puoi anche rimuovere il segnale di abilitazione nel PUF, che funzionerà comunque perché ciò che conta è la differenza nelle frequenze, mentre per il TRNG questo è il valore di uscita effettivo al momento del campionamento che conta.

Questo TRNG può essere veramente casuale, ma è difficile adattarsi (per ottenere un'alta velocità di trasmissione dati). Altre costruzioni basate su anelli asincroni o mappe caotiche sono una scommessa più sicura.

    
risposta data 16.06.2015 - 15:19
fonte
2

Il PUF misura la frequenza dell'oscillatore, che dipende da come gli atomi sono stati disposti durante la fabbricazione del dispositivo. L'RNG usa la casualità della frequenza dell'oscillatore e la fase su brevi periodi di tempo.

Dove proviene la casualità

Qualsiasi dispositivo di cronometraggio (pendolo, risuonatore al quarzo, oscillatore RC ecc.) ha un "rumore" o "jitter" intrinseco come è noto ai progettisti. Se costruiamo un oscillatore la cui uscita è un flusso di impulsi, il tempo dell'inter-impulso non è perfettamente coerente. Questo rumore ha proprietà e comportamenti simili ai tipi più familiari di rumore ed è altrettanto casuale.

InunoscillatoreadanelloTRNGognifasedell'oscillatorerispettoall'orologiodicampionamentosispostaneltempo.Lamaggiorpartedelladerivaèdovutaalladifferenzatral'oscillatoreelefrequenzedicampionamento,maalcunisonocausatidaljitter.

Inaltreparole,immaginaunsingolooscillatoreadanelloconuningressodiabilitazione.Vieneattivato,quindicampionatodopounpo'ditempoT.Ogniperiododura(1/f)+jitter.Dopounlungoperiodo,allafasevieneaggiuntounnumeroelevatodivaloridijitter.L'outputpotrebbeessere1o0conugualeprobabilità.Sfortunatamente,periljitterGaussiano,ivaloridiNjitterhannosolounaN^0.5dideviazionestandardpiùampia.

GliRNGcatturanoinmodoefficientelacasualità

Questoschemaèinefficienteerichiedemolticampionidijitterperbit.Ladistribuzionedellefasideveesserecosìampiadaesserequasiuniforme.Campionamentodell'outputdiNdioscillatoriadanelloXORedinsiemeconsentelaproduzionedipiùbitcasualirispettoalcampionamentodeglistessiNdeglioscillatoriadanelloinF/N.C'èqualcheanalisistatisticachemostraperché,mapuòessereintesainmodointuitivoconsiderandoilnumerodiopportunitàcheivaloridijitterdevonospostarelafasediunoscillatorequeltantochebastaperprovocareunpo'diribaltamento.L'oversamplingproducemoltibitperoscillatoreperlopiùcorrelati.Xoringlicombinapercreareunflussodioutputsbiancato.

LePUFriduconol'impattodellacasualità

LePUFsonoprogettateperridurrel'effettodellefontidirumorecasualisuilororisultati.UnaPUFidealedipendesolodalmodoincuigliatomisonoatterratidurantelafabbricazionedeldispositivo.IldesignPUFchehaimostratonon"predice" il valore di uscita dell'oscillatore ad anello in un tempo pari a T . Conta gli impulsi di uscita. L'output è approssimativamente: "Is the frequency of the first selected ring oscillator higher than that of the second selected ring oscillator?" . Per tempi ragionevolmente lunghi questo non è influenzato in modo significativo dai valori di jitter. Il jitter effettua la scala con la potenza 0.5 e il numero di conteggi aumenta linearmente. I tempi di esecuzione più lunghi convergono verso un confronto di frequenze perfetto. Per gli oscillatori con frequenze molto vicine, il jitter può giocare un ruolo importante nel risultato. Questo è il motivo per cui alcuni valori di difficoltà PUF potrebbero non avere una risposta definitiva 1 o 0 su un dato dispositivo.

    
risposta data 08.01.2017 - 05:05
fonte

Leggi altre domande sui tag