PUF

Физически неклонируемая функция (англ. Physical Unclonable Function, PUF) — это функция, воплощённая в физической структуре, которую просто оценить, но трудно охарактеризовать, смоделировать или воспроизвести. Физическая структура, содержащая PUF, состоит из множества случайных компонентов. Эти случайные компоненты вводятся в ходе производственного процесса и неконтролируемы. PUF — это физическая система, которая при воздействии на неё (запросе) порождает уникальный, но непредсказуемый ответ. Специфический вызов и соответствующий ему ответ вместе образуют пару запрос-подтверждение (англ. Challenge-Response Pair, CRP). PUF во многом схож с хеш-функцией, физическая система, состоящая из многих случайных компонентов эквивалентна ключу. PUF также является необратимой функцией.

PUF обладают свойством неклонируемости благодаря тому, что каждый PUF имеет уникальный и непредсказуемый способ отображения вызовов. Два PUFа, которые созданы в результате одних и тех же производственных процессов, всё же будут обладать разным поведением.

PUF обладает двумя важными свойствами:

  1. Практически невозможно создать физическую копию PUF.
  2. Невозможно создать точную математическую модель PUF, то есть вычислить отклик, если даны точные параметры запроса и другие пары запросов-откликов. Из-за сложности физического взаимодействия эта задача представляет большие вычислительные трудности.

Эти качества вместе и называются неклонируемостью.

В PUF могут использоваться различные источники физической случайности. Различают PUF, в которых произвольность вносится внешними факторами и те, в которых она является свойством, внутренне присущим физической системе.

История править

Первые упоминания о системах, использующих случайные вариации в процессе производства, встречаются в работах Баудера 1983[1] и Симмонса 1984[2][3]. Наккаш и Фреманто в 1992 спроектировали схему для аутентификации карт памяти.[4] Термины POWF (physical one-way function) и PUF (physical unclonable function) появились в 2001[5] и 2002.[6]

В период с 2010 по 2013, PUF начали применяться в производстве смарт-карт как перспективный метод для создания "электронного отпечатка" - уникальных криптографических ключей для каждой отдельной смарт-карты.[7][8]

В настоящее время, PUF зарекомендовали себя как надёжная альтернатива хранилищам секретных ключей в коммерческих схемах FPGA, таких как Xilinx Zynq Ultrascale+[9] и Altera Stratix 10.[10]

Концепция править

PUF'ы полагаются на уникальность их физической микроструктуры. Эта микроструктура зависит от случайных факторов, появляющихся в процессе производства. Эти факторы непредсказуемы и неконтролируемы, что фактически делает невозможным воссоздание или клонирование структуры PUF'а.

PUF'ы работают по принципу вызов-ответ (или запрос-ответ). Когда на PUF устройство подаётся физический сигнал, оно реагирует непредсказуемо, но повторимо, из-за сложного взаимодействия сигнала с микроструктурой устройства. Сигнал, поданный на PUF, называется вызовом (или запросом), а состояние PUF'а на выходе - ответом. Конкретный запрос и соответствующий ему ответ образуют пару запрос-ответ (англ. Challenge-Response Pair, CRP). Идентичность устройства устанавливается по свойствам его микроструктуры. Так как эта микроструктура не раскрывается механизмом запрос-ответ, то такое устройство устойчиво к спуфингу.

PUF'ы также могут быть использованы для получения сильных криптографических ключей из физической микроструктуры.[11] При каждом запросе PUF генерирует один и тот же уникальный криптографический ключ.[12][13] Механизм вызов-ответ может быть реализован с помощью криптографии.

PUF'ы могут быть реализованы с небольшими затратами на оборудование. Например ПЗУ, содержащее таблицу ответов на все возможные запросы, для построения требует количество компонент, экспонентиально растущее с ростом числа бит в запросе. В то же время PUF может быть сконструирован таким образом, что число необходимых компонент будет расти линейно с ростом числа бит в запросе.

Неклонируемость означает, что каждое PUF устройство уникально и имеет непредсказуемую реакцию на запрос, даже если оно было произведено тем же способом, что и другое устройство. Другими словами, невозможно создать PUF с тем же самым набором пар запрос-ответ, которые имеет другой PUF, так как малые погрешности в процессе производства неконтролируемы. Математически неклонируемость означает, что вычислить неизвестный ответ на запрос или свойства каких-либо компонент PUF'а очень сложно, так как ответ формируется комплексным взаимодействием запроса с многими компонентами PUF'а. Другими словами, имея схему, по которой был произведён PUF, но не зная всех физических свойств его случайных компонент, ответы на запросы практически непредсказуемы. Сочетание физической и математической неклонируемости делает PUF по-настоящему неклонируемым.[12][14]

Заметим, что PUF'ы неклонируемы в смысле уникальности каждого устройства при неизменном процессе производства. Однако, если ключ, хранимый PUF'ом, был раскрыт, то не составит труда скопировать этот ключ (выходные данные PUF'а), использую другие методы.

Благодаря этим свойствам, PUF'ы могут быть использованы как уникальные идентификаторы для других устройств. PUF'ы также могут использоваться как генераторы и хранилища секретных ключей, а также как источники случайностей.

Области использования PUF править

Большое количество устройств может быть оснащено PUF, например, токены, смарт-карты, банковские карты, ценные бумаги, интегральные схемы, камеры безопасности.

PUF удобны для систем, в которых верификатор с уверенностью знает, что измерительным приборам можно доверять и для исследований используется реальный PUF. PUF сложно использовать для идентификации протоколов с отдаленным доступом. Взломщик может скопировать данные какого-либо PUF и затем через клавиатуру вводить данные. Контрольное устройство не может определить, действительно ли ей представлен PUF.

Виды PUF править

PUF, в которых беспорядочность вносится внешними факторами править

Оптические PUF править

 
Оптический PUF

Оптический PUF состоит из прозрачного материала (например, стекла), в котором содержатся случайно распределённые свето-отражающие частицы (например, пузырьки воздуха). Когда лазерный пучок освещает материал создаётся спекл-структура (случайная интерференционная картина, которая образуется при взаимной интерференции когерентных волн, имеющих случайные сдвиги фаз и/или случайный набор интенсивностей). Спекл-картина является функцией внутренней структуры PUF, длины волны лазера, угла падения луча.

Одна из реализаций PUF состоит из источника когерентного света, чувствительных элементов на КМОП и электродов, используемых для поворота жидкого кристалла между двумя фазо-вращающими состояниями. Конфигурация электродов формирует вызов. Свет от лазера попадает в PUF и рассеивается. Он может попасть прямо на светочувствительный элемент, или частично поглотиться электродом, рассеяться и поменять поляризацию, в зависимости от состояния кристалла. На каждом чувствительном элементе когерентно складываются вклады по всем путям распространения света. Конфигурация электродов значительно влияет на изображение, записанное сенсором.

Оптическое зондирование PUF затруднительно, так как рассеяние света скрывает положение рассеивающих частиц. На данный момент технологии позволяют исследовать диффузионный материал только до глубины приблизительно в 10 раз большей длины волны излучения. Но даже если атакующий узнает все положения рассеивающих объектов, он не сможет сделать физическую копию PUF, так как принцип неопределённости не позволят точно расположить большое количество частиц. Может показаться, что проще смоделировать этот процесс и вычислять все правильные ответы на соответствующие вызовы. Но на самом деле в режиме реального времени это очень сложная задача, она требует вычислений порядка  , где d — толщина PUF, A — освещенная область,   — длина волны, что обычно превышает  операций, что невозможно при современном развитии вычислительной техники.

PUF покрытия править

PUF покрытия может быть создан на верхнем слое интегральных микросхем. Полученные в процессе массового изготовления микросхемы отличаются неповторяющимся набором электрических характеристик, что может быть использовано в системах безопасности как гарантированно не поддающийся копированию идентификационный признак.

Интегральная схема покрывается защитным слоем, в котором имеются частички диэлектрика, то есть имеющими случайный размер, форму, и диэлектрическцую постоянную. Прямо под пассивирующий слой подводится набор металлических зондов. Достаточная степень беспорядочности достигается только, если крупинки диэлектрика сравнимы по размерам с расстоянием между датчиками, или диэлектрическая постоянная большая, что создает значительные отклонения от среднего значения. На каждый датчик подается напряжение определённой частоты и амплитуды. Пластина датчика ведёт себя как конденсатор со случайной величиной ёмкости. Это значение может использоваться как идентификационный ключ.

Преимущества PUF покрытия : высокая степень интеграции, размещение под PUF электронной аппаратуры управления делает его контролируемым. Эта уникальность может быть использована для получения идентификатора к устройству, несущему PUF покрытия. Более того, расположение этого непрозрачного PUF в верхнем слое интегральных схем защищает расположенные внизу схемы от атаки. Если атакующий попытается удалить покрытие, первоначальный идентификатор будет уничтожен.

PUF, использующие внутреннюю неупорядоченность править

Кремниевые PUF править

Кремниевые PUF используют случайные вариации задержек в проводниках и затворах полевых транзисторов. Устанавливаются условия гонки в электрической цепи и два переключения распространяются по различным путям и выясняется, какой из них придет первым. Арбитр, обычно реализованный как триггер, дает 1 или 0 в зависимости от того, какой переход завершится первым. Когда схему по одинаковым маскам производят на разных чипах, логические функции, реализуемые в электрических цепях, различаются у каждого чипа из-за случайной вариации задержек.

PUF статической оперативной памяти (SRAM) править

Данная PUF полагается на отклонения, которые неизбежно существуют для материалов, используемых при изготовлении аппаратуры. Они производят для данного входа — выход, который будет отличным для разных образцов данного оборудования, таким образом, препятствуя созданию точной копии данного продукта. Эти PUF представлены на всех интегральных схемах, имеющих статическую память[15]. Они позволяют создавать идентификатор, который является свойством данной микросхемы, а не хранить его в цифровом виде.

Магнитные PUF править

Магнитные PUF существуют на картах с магнитной полосой. Физическая структура магнитного носителя, используемого в картах, производится путём смешения миллиардов частиц феррита бария в пасту в процессе производства. Частицы имеют различную форму и размер. Затем паста наносится на принимающий слой. Частицы ложатся случайным образом. Заставить частицы лечь точно также во второй раз физически невозможно из-за неточности процесса, огромного числа частиц и случайной геометрии частиц. Когда паста высыхает, принимающий слой разрезается на полоски и затем приклеивается к пластиковым карточкам, но случайный порядок на магнитной полосе сохраняется и не может быль изменен. Из-за их физически некопируемой характеристики крайне невероятно, что две магнитные карточки когда-либо окажутся идентичными. В действительности, для стандартного размера пластиковой карточки вероятность того, что две любые карточки имеют точно совпадающие магнитные PUF, оценивается в 1 на 900 миллионов. Более того, поскольку PUF магнитный, мы знаем, что каждая карта несёт отчетливый, воспроизводимый и читаемый магнитный сигнал.

Персонализация PUF.

Личные данные, закодированные на магнитной полоске, вносят дополнительную случайность, в этом случае вероятность оценивается как 1 на 10 миллиардов.

Магнитная головка усиливает случайные магнитные сигналы. Так как на магнитную головку влияют скорость, давление, ускорение, каждый её удар о магнитную PUF будет давать вероятностный, но во многом отличительный сигнал. Это делает карту с магнитной полосой превосходным инструментом для генерации ключей, цифровых подписей, единовременных паролей.

Примечания править

  1. D.W. Bauder, "An anti-counterfeiting concept for currency systems", Research report PTK-11990. Sandia National Labs. Albuquerque, NM, 1983.
  2. G. Simmons, "A system for verifying user identity and authorization at the point-of sale or access," Cryptologia, vol. 8, no. 1, pp. 1–21, 1984.
  3. G. Simmons, "Identification of data, devices, documents and individuals," in IEEE International Carnahan Conference on Security Technology, 1991, pp. 197–218.
  4. David Naccache and Patrice Frémanteau, Unforgeable identification device, identification device reader and method of identification, August 1992.[1]
  5. Pappu, R.; Recht, B.; Taylor, J.; Gershenfeld, N. Physical one-way functions (англ.) // Science. — 2002. — Vol. 297, no. 5589. — P. 2026—2030. — doi:10.1126/science.1074376. — Bibcode2002Sci...297.2026P. — PMID 12242435.
  6. Blaise Gassend, Dwaine Clarke, Marten van Dijk and Srinivas Devadas. Silicon Physical Random Functions. Proceedings of the Computer and Communications Security Conference, November 2002
  7. Clarke, Peter London Calling: Security technology takes time. UBM Tech Electronics (22 февраля 2013). Дата обращения: 1 июля 2013. Архивировано 27 октября 2017 года.
  8. "NXP and Intrinsic-ID to raise smart chip security". EE Times. UBM Tech Electronics. 2010-01-21. Архивировано из оригинала 10 июня 2015. Дата обращения: 1 июля 2013.
  9. {url = http://www.eenewseurope.com/news/xilinx-add-puf-security-zynq-devices-0} (недоступная ссылка)
  10. {url = https://www.intrinsic-id.com/altera-reveals-stratix-10-with-intrinsic-ids-puf-technology/}
  11. Tuyls, Pim; Šcorić, Boris; Kevenaar, Tom. Security with Noisy Data: Private Biometics, Secure Key Storage and Anti-counterfeiting (англ.). — Springer, 2007. — ISBN 978-184628-983-5. — doi:10.1007/978-1-84628-984-2.
  12. 1 2 Maes, R. Physically unclonable functions: Constructions, Properties and Applications (англ.). — Springer, 2013. — ISBN 978-3-642-41395-7.
  13. "PUF Technology Overview" Архивная копия от 1 февраля 2020 на Wayback Machine.
  14. C. Herder, L. Ren, M. van Dijk, M-D. Yu, and S. Devadas, "Trapdoor Computational Fuzzy Extractors and Cryptographically-Secure Physical Unclonable Functions", IEEE Transactions on Dependable and Secure Computing, January 2017.
  15. Архивированная копия. Дата обращения: 23 октября 2014. Архивировано из оригинала 24 октября 2014 года.

Литература править