Можно ли создать «Time Capsule» с использованием шифрования?


14

Я хочу создать цифровую капсулу времени, которая в течение некоторого периода времени будет нечитаемой, а затем станет удобочитаемой. Я не хочу полагаться на какие-либо внешние службы, например, чтобы сохранить ключ в секрете, а затем раскрыть его в нужное время. Это возможно? Если нет, возможно ли какое-то доказательство того, что это не так?

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


1
Если вы можете убедиться, что устройство не подделано, вы можете использовать (слегка) радиоактивные компоненты с известным периодом полураспада, поэтому вы можете предоставить доступ, только если радиоактивность значительно упала.
Рафаэль

Ответы:


5

Проблема известна как криптография с временным выпуском . Для некоторых ссылок / введения посмотрите на:

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


7
Не могли бы вы хотя бы подвести итоги работ?
svick

5
В этих документах подробно изучаются два «естественных» подхода: либо использовать доверенную третью сторону, либо требовать, чтобы получатель выполнял вычисления, которые не распараллеливаются и занимают приблизительно правильное количество времени.
a3nm

1

Я пришел с частичным ответом, но не строго говоря ответ на вопрос, как указано. Я подозреваю, что это может быть как можно ближе, но я не уверен.

Сначала мы кодируем капсулу ключом, необходимым для расшифровки.

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

Это решение уязвимо, так как любой из n авторитетов недоступен, но используя кодировку m-out-of-n, мы можем распределить фрагменты среди n авторитетов, но для публикации их фрагментов требуется только m.

Даже в этом случае некоторые органы с точными часами должны предоставлять правильную услугу управления ключами. Можно ли ослабить это предположение за пределами предложенного выше m-out-of-n?


1

Я думаю, что это жизнеспособный подход:

Создайте набор ключей, используя предпочитаемую схему шифрования, используя случайно сгенерированную фразу-пароль. Трюк здесь с парольной фразой. Ключ известен, но мы создадим капсулу времени, используя парольную фразу.

Выберите такую ​​фразу-пароль, чтобы, если мы создадим из нее соленый хеш, потребуется приблизительно «n» лет, чтобы вычислить фразу-пароль для данной известной соли и хэша с использованием сегодняшних вычислительных мощностей. Если мы хотим создать 20-летнюю капсулу, оценим нашу вычислительную мощность через 20 лет и создадим хеш, который будет рассчитан на один месяц пользователем или суперкомпьютером через 20 лет, в зависимости от цели для капсулы. Представьте, что для 20-летней капсулы времени она будет расшифрована мегакорпом через 15 лет или пользователем через 20 лет.

Шифруйте данные, используя ключи со случайной парольной фразой, сохраняйте ключ и хешированную парольную фразу и не сохраняйте фактическую парольную фразу. Теперь сохраните данные, и, возможно, в какой-то момент в будущем у вас появится вычислительная мощность для восстановления ваших данных!


0

Я не криптограф, а просто инженер, поэтому мое решение скорее физическое, чем вычислительное, но все равно позвольте мне попробовать. Я предлагаю следующую процедуру:

  1. Генерация пары асимметричных ключей
  2. Зашифруйте текстовое сообщение с помощью открытого ключа
  3. Храните закрытый ключ в энергозависимой памяти микроконтроллера и заставляйте его выводить ключ только по истечении определенного времени.
  4. Уничтожить все остальные копии закрытого ключа
  5. Объедините зашифрованный текст и микроконтроллер и подождите.

Возникает очевидный вопрос: зачем беспокоиться о шифровании, если вы можете просто сохранить текстовое сообщение в чипе? Ответ на этот вопрос заключается в том, что таким образом, открытый текст может быть произвольно длинным, не затрагивая объем памяти чипа, потому что там хранится только ключ фиксированной длины. Кроме того, вы можете сохранить копию открытого ключа, генерируя при этом больше сообщений, которые затем разблокируются одновременно. Но это все.

Чтобы сделать это еще более безопасным, вы можете прикрепить датчик света к микросхеме и заключить узел в светонепроницаемый корпус (или подключить переключатель к двери, или какой-либо другой механизм обнаружения несанкционированного доступа), где датчик подвергается воздействию света. вызовет стирание ключа. Это необходимо для предотвращения получения ключа с использованием инвазивных методов, таких как травление. Некоторые чипы также имеют свои кремниевые слои, структурированные таким образом, что почти невозможно сделать инвазивное считывание, помещая другие важные схемы над памятью, чтобы скрыть отдельные биты.


Если есть внутренние часы, кто-то может ускорить или убрать их. В любом случае это не хорошо.
зло

@ Evil Я думал об этом, и на самом деле это не проблема, потому что чип можно разогнать только до того, как он станет нестабильным, поэтому это может привести к потере ключа. Например, большинство 8-битных AVR будут работать на частоте до 20 МГц, могут быть разогнаны до примерно 25 МГц, но при этом вероятность сбоя значительно возрастает.
programagor

1
Вы заново изобретаете защищенное от взлома оборудование ... что-то, что сложно сделать хорошо, особенно в течение длительного времени.
DW
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.