29.11 // Одноразовый блокнот на оптических носителях неклонируемых функций
Классическим способом достижения абсолютной стойкости в криптографии является т.н. одноразовый блокнот. Это система связи, основанная на использовании абсолютно случайных (полученных из некоторого физически случайного процесса), неповторяющихся ключей, равных по длине открытым данным. Поскольку ключи не должны повторяться, то после использования они уничтожаются, что придаёт системе свойство PFS (Perfect Forward Secrecy) — наперёд заданной секретности, невозможности прочесть данные, переданные до момента компрометации системы противником.
Классический одноразовый блокнот рассмотрен на рис. 1a:
Рис. 1а. Классический одноразовый блокнот.
У обеих сторон есть копия одноразового ключа OTPk, которую они используют в качестве одноразовой гаммы. Эту гамму они объединяют с открытым текстом посредством операции XOR для шифрования или с шифртекстом — для расшифрования.
В современном мире использование электронных носителей делает такую схему уязвимой к проблеме надёжного уничтожения ранее использованных фрагментов гаммы и её защиты он несанкционированного копирования.
В последнее время наметился интерес исследователей в направлении неклонируемых физических функций — т.н. PUF (Physical Unclonable Function). Наиболее перспективными считаются оптические PUF. Это объект из оптически прозрачного материала с множеством неоднородностей (частиц, пузырьков, фазовых областей, центров кристаллизации, включений примесей), которые образуются в процессе его создания непредсказуемым образом. Сделать точную копию такого объекта невозможно. Если на него подать определённым образом сформированный лазерный луч, в котором закодирована некоторая цифровая последовательность, то можно получить определённый ответ, из которого также можно извлечь определённую цифровую последовательность. Если использовать коды коррекции ошибок и криптографическое отбеливание (извлечение случайности из ответа путём т.н. «отбеливателей» или экстракторов случайности), то можно для одинаковых входных данных получать одинаковые случайные данные на выходе, что является физическим аналогом детерминированной случайной функции. При этом такая функция не может быть ни склонирована, ни (в идеальном случае) смоделирована математическим путём (неподвержена алгоритмическому взлому).
Естественным ограничением PUF является количество возможных уникальных запросов-ответов, ограничивающих её ёмкость по возможности извлечения случайности. Изначально ёмкость была небольшой, поэтому PUF рассматривались лишь как аутентифицирующие токены. Однако, исследователи Roarke Horstmeyer, Benjamin Judkewitz, Sid Assawaworrarit, Changhuei Yang (кафедра электротехники и биоинженерии калифорнийского технологического институтута, Пасадена, США) и Ivo Vellekoop (группа биомедицинской фотонной визуализации, институт биомедицинских технологий и технической медицины MIRA университета Твенте, Энсхедэ, Нидерланды) смогли применить оптические PUF с высокой плотностью извлечения случайности: 10 гигабит / 2мм2 в текущем эксперименте и 1 терабит / мм2 в перспективе.
На первый взгляд, PUF мало интересны в качестве носителей одноразовых блокнотов именно по причине неклонируемости. Сторона A может полностью оцифровать свой PUF, а затем попытаться как-то через тайник, доверенного курьера или ещё каким-то способом передать стороне B, которая также его оцифрует. Этот сценарий показан на рис. 1b.
Рис. 1b. Передача одноразового блокнота через оптический носитель неклонируемых функций.
В таком сценарии PUF — не более чем удобный носитель для передачи одноразового блокнота, который можно спрятать или опечатать. Кроме того, полная оцифровка PUF занимает много времени (не менее суток) и не может быть ускорена по физическим ограничениям, что даёт противнику малое окно времени для копирования.
Более интересным представляется случай, когда стороны имеют разные PUF, которые также имеют все преимущества неклонируемого неэлектронного носителя, но при этом их не требовалось бы передавать, зато иметь возможность постоянно хранить секрет только в них. Такой сценарий может быть реализован на практике, в чём и заключается новизна работы. Сторонам A и B достаточно встретиться один раз в безопасном месте (или однократно организовать канал безопасной связи, например — квантовый) и совместно оцифровать свои PUF. Объединив результаты оцифровки операцией XOR они получат согласованный одноразовый массив A⊕B, который можно записать на электронный носитель информации. Этот массив не является секретным — он может быть расположен на общедоступном сервере. После совместного создания такого массива стороны расходятся на исходные пункты связи и весь их секрет сохраняется в PUF. Теперь эти PUF становятся согласованными для связи (Communication PUF — CPUF).
Общий вид такой схемы показан на рис. 1c.
Рис. 1с. Согласованный одноразовый блокнот через два разных носителя неклонируемых функций.
Подробности реализации и работы с оптическими CPUF показаны на рис. 2. Они включают кодирование входных данных в параметры микрофокусировки лазера, считывание данных на фотосенсорную матрицу, обработку функцией отбеливания W для получения ключей.
Рис. 2. Извлечение цифровых данных из оптического носителя неклонируемых функций.
Как было сказано ранее, стороны в момент встречи в безопасном окружении согласовывают общий массив оцифровки своих PUF и отправляют его на обычный электронный носитель или внешний сервер, не нуждающийся в защите, что показано на рис. 3a.
Рис. 3а. Схема согласования двух разных носителей неклонируемых функций.
На рис. 3bc более подробно показан сеанс связи на CPUF.
Рис. 3bc. Шифрование-расшифрование с использованием согласованных носителей неклонируемых функций.
Результат экспериментальной передачи данных показан на рис 4.
Рис. 4. Экспериментальная передача данных в канале из согласованных носителей неклонируемых функций.
Как можно заметить визуально, из-за несовершенства считывания информации с PUF появляются шумы и точной передачи данных не происходит. Однако, как было указано ранее, для передачи цифровых данных этот недостаток может быть устранён посредством применения кодов коррекции ошибок.
Таким образом, носителем одноразового блокнота являются миниатюрные высокоёмкие CPUF, которые легче охранять, которые не могут быть быстро физически оцифрованы злоумышленником, получившим к ним физический доступ, которые могут быть легко уничтожены после использования, а массив согласования которых не требуется держать в секрете.
Авторы предполагают, что если для согласования общего массива использовать защищённый квантовый канал, то CPUF могут стать дополнительным средством, позволяющим использовать достоинства совершенной секретности в любых каналах связи, в т.ч. в мобильных применениях: сами PUF — миниатюрны, установку для работы с ними также можно уменьшить, а большой согласованный массив может быть размещён на сетевом сервере.
В работе не рассматриваются проблемы стойкой аутентификации, которая для данного протокола также важна, как и коррекция ошибок, но нет принципиальных препятствий и для внедрения информационно-теоретически стойкой аутентификации и защиты от подмены сообщений в канале, зашифрованном одноразовым блокнотом.
Источник: arXiv.org, Physics > Optics.
Есть вообще программные реализации одноразового криптоблокнота? Ну чтобы по используя dev/random выдавал два листочка, которые можно было бы распечатать и использовать?
Что там реализовывать? Это же однострочник на шелле или пара строчек на сях.
комментариев: 9796 документов: 488 редакций: 5664
Здесь немного другие PUF'ы (не для асимметрики на частичной эмуляции), а главное — другие сценарии их использования. Даже если противник их сможет легко и быстро оцифровывать (преодолев перегрев от лазера каким-нибудь глубоким охлаждением) — это не так критично.
Таскать с собой одноразовый блокнот — непрактично, уничтожать его на больших дисках неудобно. А здесь у двух сторон — только две маленькие песчинки. Они сами по себе не содержат никакой информации, но являются ключом. А согласующий их массив — несекретен.
Если саму установку с лазером можно миниатюризировать, то и устройство может быть компактным. Если нельзя встретиться, то можно арендовать канал для квантовой связи, даже придти туда со своим квантовым оборудованием и установкой для оцифровки PUF, обменяться данными оцифровки своих PUF, забрать данные совместного согласования (которые сами по себе после согласования уже несекретны) на винчестер и залить в общедоступное сетевое облако. А затем пользоваться такой системой CPUF хоть годами, может её аналог даже в мобильник смогут встроить — физический носитель одноразового ключа миниатюрен. Хотя сомневаюсь, что само считывающее оборудование можно так уменьшить.
комментариев: 11558 документов: 1036 редакций: 4118
И, для полноты картины, на питоне.
комментариев: 9796 документов: 488 редакций: 5664
В случае традиционного одноразового блокнота это было не так. Здесь формально в информационно-теоретическом смысле всё также осталось, большие секреты не превращаются в малые, всё как и в традиционном, но фактически — в физическом смысле ключ уместили в маленькую песчинку.
комментариев: 11558 документов: 1036 редакций: 4118
Заголовки о будущих разоблачителях выглядели бы интересно: "Бывший сотрудник американских спецслужб Джон Смит похитил полтора килограмма мелкодисперсных криптографических ключей к сверхсекретным документам". А про пожилых криптографов можно будет говорить, что у них ключи от одноразовых блокнотов сыплются.
комментариев: 9796 документов: 488 редакций: 5664
:D
Да, есть противоречие между высокой ёмкостью PUF-носителя одноразового блокнота и невозможностью стирать данные по частям внутри него самого. Можно только его быстро поплавить лазером весь целиком.
А если надеяться на стирание использованных данных в согласованном массиве, то он перестаёт быть несекретным и вся схема теряет смысл.
P.S.: Кстати, то, что использовали авторы — классическая схема разделения секрета на одноразовых блокнотах.
Ну т.е. как еще можно реализовать не компьютерную криптографию?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 9796 документов: 488 редакций: 5664
умножениясложения, честное слово.Но лучше воспользуйтесь существующими.
а еще одна проблема со сведенной информацией. если вторая сторона скомпроментирует свой ключ, то и ваш ключ будет скомпроментирован. если для двух сторон только – то ладно. но если для трех или больше?
комментариев: 9796 документов: 488 редакций: 5664
Придёться довольствоваться только внешним контролем над одноразовостью использования гаммы. Одноразовости путём уничтожения ключа в каждом сеансе связи не получится. Это напоминает проблему OpenPGP ключа: если его закрытая часть скомпрометирована, то все переданные адресату сообщения будут прочитаны противником. А ведь OpenPGP ключ обычно не меняют по много лет.
Где-то может такая схема пригодится. Например, для связи со спутником. При условии неполадок, спутник автоматически уничтожает установленные на нём CPUF.
В обычном одноразовом блокноте и простом симметричном шифровании — также.
А больше чем для двух сторон разные PUF не согласовать. Это один обычный блокнот можно выдать копиями для общего круга принимающих сообщения. Здесь возможна только индивидуальная связь.
А что будет секретом? Координаты участка неба? Зная разрешающую способность физических приборов можно поделить небо на секторы минимального размера и их число будет конечно, в отличие от вариантов PUF. Затем это конечное число секторов неба можно и перебрать, посмотрев, какой из них подходит к передаваемой информации.
Космические шумы используют в т.н. шумовой криптографии — когда стороны согласовывают сигнал из общего источника с естественными шумами. Противник знает про этот источник и тоже пытается его оцифровать, но у него будут ошибки в оцифровке других битов, а стороны могут выснить, какие биты у ни совпали и нераскрывая их, вывести из них общий секрет.