L'utilizzo di caratteristiche fisiche casuali intrinseche per identificare oggetti, sistemi e persone non è una novità. L'identificazione tramite impronte digitali è il meccanismo chiave per l'autenticazione umana.
Physically Unclonable Functions (PUF) mira a realizzare qualcosa di simile alla biometria per i circuiti integrati sfruttando le caratteristiche elettroniche intrinseche dei circuiti.
PUF realizza un'operazione funzionale, ovvero, quando viene fornito un certo input, o sfida, restituisce una data risposta. PUF non è una vera funzione nella vista matematica, poiché più possibili output corrispondono a un dato input.
Una challenge applicata e la risposta restituita sono generalmente chiamate coppia sfida-risposta o CRP (Challenge-Response Pair), e la relazione imposta tra sfide e risposte da un PUF specifico è chiamata comportamento CRP.
La risposta è considerata una variabile casuale, e la distribuzione delle sue risposte PUF deve essere nota. Il comportamento CRP è implicito nella costruzione PUF, mentre per altri è meno ovvio, e alcune impostazioni devono essere indicate esplicitamente.
Il PUF viene utilizzato in due fasi distinte:
Se le risposte sono stringhe di bit, viene utilizzata la distanza di Hamming. La distanza intra dovrebbe essere estremamente piccola, mentre l'interdistanza dovrebbe avere una distanza di Hamming del 50%.
In origine, PUF era l'acronimo di physical unclonable function (funzione fisica non clonabile), ma in seguito è stata utilizzata anche la variante physically unclonable function (funzione fisicamente non clonabile). Nonostante sia ancora utilizzata in modo immutabile, c'è una piccola differenza di significato.
La seconda interpretazione è una descrizione più appropriata del concetto effettivo di PUF.
L'aggettivo unclonable è lo specificatore centrale nell'acronimo, che riflette la proprietà distintiva di un PUF. Tuttavia, il significato effettivo di unclonable non è chiaramente definito.