Набор кремниевых физических неклонируемых функций (PUF) основан на изменениях задержки распространения (из-за изменений процесса) сигналов на разных путях. Во многих случаях запрос выбирает пути (например, с использованием мультиплексора) для сравнения, а биты ответа сравнивают два пути (например, какой сигнал прибыл первым или количество колебаний в кольцевых генераторах).
Например, вот обычная конструкция с использованием кольцевых генераторов [1]:
Данный $N$ осцилляторы, есть $N(N-1)/2$ различные пары осцилляторов. В документе поясняется:
Однако энтропия этой схемы, соответствующая числу независимых битов, которые могут быть получены из схемы, явно меньше, чем $N(N1)/2$ потому что биты, полученные в результате попарных сравнений, коррелированы. Например, если осциллятор A быстрее, чем осциллятор B, сравнение даст 1. Если B, в свою очередь, быстрее, чем C, сравнение даст 1. Ясно, что когда A сравнивается с C, сравнение дает 1 — эти биты коррелированы. [1]
Поскольку коррелированные ответы нежелательны, статья продолжается:
К счастью, можно получить максимальную энтропию этой схемы, предполагая попарные сравнения [...] Есть $Н!$ различные порядки кольцевых генераторов в зависимости от их частот. Если порядки равновероятны, энтропия будет $log_2(N!)$ биты. Например, 35 генераторов могут производить 133 бита.
Однако в некоторых других проектах используется другой подход, который разбивает осцилляторы на два набора/блока/группы.2,3]:
[3] говорит о влиянии на корреляции:
Одной из очень важных целей этой системы является разделение ячеек Transcient Effect Ring Oscillatoires (TERO) на два блока из соображений безопасности. Действительно, без этого разделения внутри сгенерированных сигнатур появляются зависимости первого порядка в зависимости от того, какие ячейки вносят свой вклад в ответ.
Я понимаю, что наличие двух наборов предотвращает прямые корреляции, например, если $A_{частота} > B_{частота}$ и $B_{частота} > C_{частота}$ тогда $A_{частота} > C_{частота}$ (два элемента ${А, В, С}$ должны быть в одном и том же наборе и поэтому не могут сравниваться). Однако это выглядит как плохое решение, поскольку оно не предотвращает косвенные корреляции и снижает максимальную энтропию для $N$ осцилляторы.
Каково влияние использования двух наборов на корреляции? Можем ли мы дать количественную оценку? Я думаю, что это сводится к вычислению энтропии схемы с двумя наборами $N/2$ элементы, которые я не знаю, как сделать.