Перевод статьи https://cexplorer.io/article/understanding-one-shot-signatures
В 2020 году команда IOG опубликовала работу “Одноразовые подписи и приложения для гибридной квантовой/классической аутентификации”. Работа осталась незамеченной. О ней было известно только в сообществе Cardano. Команда Ethereum недавно наткнулась на эту работу и в восторге от нее. Планируется совместный семинар между Эдинбургским университетом, IOG и командой Ethereum. Одноразовые подписи обеспечивают продвинутую криптографию для лучшей защиты функционирования блокчейна. Кроме того, это позволяет создавать такие вещи, как криптовалюта не зависящая от блокчейна. В статье мы объясним основные принципы одноразовых подписей.
Гибридная система
Схема одноразовых подписей - это гибридная система, которая сочетает принципы квантовой механики с классическими методами коммуникации.
Классические методы коммуникации включают традиционные интернет-технологии передачи данных (протоколы) и классические криптографические схемы, такие как криптография с публичным ключом.
Таким образом, хотя система допускает локальные квантовые операции (подробнее об этом позже), фактическая передача информации осуществляется с использованием этих классических методов. Этот подход позволяет реализовать квантовые принципы способом, совместимым с существующими технологиями.
Система использует квантовый принцип отсутствия клонирования, который является фундаментальным постулатом квантовой механики, утверждающим, что невозможно создать идентичную копию произвольного неизвестного квантового состояния.
Этот принцип гарантирует, что после использования секретного ключа его нельзя клонировать или использовать повторно. Это ключевой аспект безопасности, обеспечиваемый одноразовыми подписями. Любой секретный ключ может быть использован для подписи только одного сообщения. Затем ключ самоуничтожается. Этого невозможно достичь в классической криптографии.
В классической криптографии владелец секретного (приватного) ключа может подписать столько сообщений, сколько захочет. Невозможно предотвратить подписание нескольких сообщений (возможное смягчение может быть достигнуто с помощью некоторой системы счетчиков и временных меток, определяющих порядок сообщений) или предотвратить совместное использование ключей несколькими людьми.
Система одноразовых подписей - это своего рода математическая система, которая включает принципы квантовой механики для обеспечения улучшенных функций безопасности. Но это также гибридная система, которая сочетает эти квантовые принципы с классическими методами коммуникации.
Понимание квантового принципа отсутствия клонирования
У меня нет амбиций подробно объяснять квантовую механику. К счастью, вам нужно всего лишь понять квантовый принцип отсутствия клонирования. Система одноразовых подписей использует этот принцип, но реализует его классическими методами.
Давайте объясним квантовый принцип отсутствия клонирования на простом примере.
Представьте, что у вас есть волшебная коробка, в которой можно создавать уникальные конфеты каждый раз, когда вы ее открываете. У каждой конфеты особый вкус, который вы никогда раньше не пробовали.
Теперь предположим, что вам действительно понравилась одна из конфет и вы захотели сделать ее точную копию.
В мире квантовой механики это похоже на попытку клонировать квантовое состояние. Но вот в чем загвоздка: “принцип отсутствия клонирования” гласит, что вы не можете сделать точную копию этой конфеты. Как бы вы ни старались, вы не сможете воссоздать точно такой же вкус снова.
В контексте одноразовых подписей этот принцип используется для гарантии того, что после использования секретного ключа (представьте его как специальную конфету) его нельзя скопировать или использовать повторно. Это делает систему очень безопасной, потому что никто другой не сможет воссоздать вашу специальную конфету (или секретный ключ).
На изображении ниже каждый ключ в волшебной коробке уникален (не поддается клонированию).
По аналогии с конфетами “волшебную коробку” можно рассматривать как квантовую систему, а создание уникального вида конфет можно рассматривать как локальную квантовую операцию.
Как вы увидите позже, локальная квантовая операция является частью процесса в процессе взаимодействия между участниками.
В реальных квантовых системах локальная квантовая операция может быть чем-то вроде подготовки квантового состояния или выполнения измерения части системы. Эти операции являются “локальными”, поскольку они выполняются на отдельных частях квантовой системы независимо от других частей.
Например, представьте, что у вас есть две волшебные коробки (две части квантовой системы). Вы могли бы открыть одну коробку, чтобы создать конфету (выполнить локальную квантовую операцию), вообще не затрагивая другую коробку. Это то, что мы подразумеваем под “локальным” в локальных квантовых операциях.
В контексте квантовой криптографии эти локальные квантовые операции используются для манипулирования квантовой информацией, такой как секретные ключи, используемые в одноразовых подписях.
Использование системы одноразовых подписей
Я покажу вам пример, который наилучшим образом демонстрирует мощь системы одноразовых подписей, поскольку она обеспечивает взаимодействие между Алисой и Бобом, недостижимое с помощью классической криптографии.
Рассмотрим задачу делегирования подписи. Алиса хочет разрешить Бобу подписать одно сообщение от ее имени. У Кэрол есть публичный ключ для проверки сообщения.
Алиса могла бы просто дать Бобу свой секретный ключ, но это позволило бы Бобу подписывать любое количество сообщений.
На изображении ниже вы можете увидеть, как выглядел бы сценарий с использованием классической криптографии. Алиса поделилась бы секретным ключом с Бобом. Боб мог бы подписать сообщение. Кэрол использовала бы проверочный (публичный) ключ для проверки подлинности сообщения.
Вместо этого Алиса хочет предоставить Бобу достаточно информации, чтобы Боб мог впоследствии подписать одно произвольное сообщение без каких-либо дальнейших действий со стороны Алисы. Важно отметить, что мы хотим, чтобы решение о сообщении принималось только после того, как Алиса передаст эту информацию Бобу.
Конечно, как показано выше, эта задача невыполнима в чисто классическом мире, поскольку Боб может повторно использовать любую информацию, которую он узнал от Алисы. В традиционной криптографии с публичным ключом один приватный ключ может использоваться для подписи нескольких сообщений.
Можно было бы надеяться, что Алиса сможет предоставить Бобу токен квантовой подписи, который самоуничтожается после подписания сообщения. С помощью квантового неклонирования (в котором говорится, что общие неизвестные квантовые состояния не могут быть скопированы) Боб не может скопировать токен и, следовательно, может подписать только одно сообщение.
На рисунке вы можете видеть, что Алиса создает квантовый токен, который она отправляет Бобу. Боб может подписать только одно сообщение, используя токен. Впоследствии токен самоуничтожается. Боб не может подписать другое сообщение.
Обратите внимание, что Алиса должна иметь возможность передать криптографический секрет Бобу определенным образом. Боб не должен иметь возможности клонировать криптографические секреты. Он может использовать его только один раз, т.е. выполнить одноразовую подпись сообщения. Для передачи криптографического секрета используется токен квантовой подписи.
Алиса может создать секретный ключ (который представляет квантовое состояние) и передать его Бобу. Этот секретный ключ затем может быть использован Бобом для подписи одного сообщения от имени Алисы.
Однако важно отметить, что ни Алиса, ни Боб не могут знать точное значение ключа.
Это связано с квантовым принципом отсутствия клонирования, который гласит, что невозможно создать точную копию произвольного неизвестного квантового состояния.
Таким образом, хотя Алиса и Боб могут использовать ключ для подписи и проверки сообщений, они не могут видеть или клонировать ключ.
Как только Боб использует секретный ключ для подписи сообщения, ключ самоуничтожается и не может быть использован повторно. Это обеспечивает безопасность системы, поскольку предотвращает любое потенциальное неправильное использование секретного ключа.
В этом суть инноваций, привнесенных системой одноразовых подписей.
Мы вернемся к этому сценарию позже, когда будем объяснять локальные квантовые операции.
Взаимодействие между Алисой и Бобом
При одноразовых подписях возможно, что один и тот же публичный ключ может быть связан с несколькими приватными ключами, каждый из которых может быть использован один раз для подписи.
Однако специфика того, как генерируются и используются публичный и приватный ключи, будет зависеть от конкретной реализации системы одноразовых подписей.
Для конкретных случаев использования может быть важно убедиться, что участники ограничены в своих возможностях создавать новые криптографические секреты (например, квантовые токены). Эффект может быть подобен повторному использованию одного и того же приватного ключа снова и снова.
Как правило, в криптографических системах используются механизмы для обеспечения целостности и подлинности подписей. Эти механизмы могут включать использование временных меток, порядковых номеров или других форм ведения записей, которые отслеживают использование секретных ключей.
Как объясняется во введении, схема одноразовых подписей представляет собой гибридную систему, использующую принцип квантовой механики, но полностью реализованную с помощью классических криптографических схем (и использующую интернет-протоколы для обеспечения связи между участниками).
Классические криптографические схемы относятся к традиционным методам шифрования и дешифрования информации, таким как алгоритмы симметричного ключа (где для шифрования и дешифрования используется один и тот же ключ) и алгоритмы асимметричного ключа (где для шифрования и дешифрования используются разные ключи).
Классическая криптография используется для выполнения локальных квантовых операций.
Взаимодействие между Алисой и Бобом полностью реализовано с использованием классических методов. Однако ключевой частью процесса взаимодействия является создание (эмуляция) квантового состояния.
Локальная квантовая операция относится к квантовым операциям, которые выполняются локально, т.е. над отдельными частями квантовой системы, как часть схемы одноразовой подписи.
В типичном сценарии одна сторона выполняет локальную квантовую операцию на своей части квантовой системы. Результаты этой операции затем передаются другой стороне с использованием классической связи. Основываясь на этой информации, вторая сторона может затем выполнить свою локальную квантовую операцию.
В системе одноразовых подписей стороны манипулируют квантовой информацией и обмениваются ею. Они выполняют локальные квантовые операции как часть схемы подписи, при этом результаты передаются классическим способом.
Вот упрощенный пошаговый процесс:
Отправитель выполняет локальную квантовую операцию со своей стороны квантовой системы. Эта операция может включать в себя подготовку квантового состояния или выполнение измерения.
Затем отправитель передает результат этой операции получателю, используя классическую связь.
После получения этой информации получатель может затем выполнить свою собственную локальную квантовую операцию. Эта операция может быть обусловлена информацией, полученной от отправителя.
Операция получателя может включать проверку сообщения отправителя, декодирование информации или выполнение какой-либо другой задачи, относящейся к протоколу.
Неклонируемые ключи
Концепция неклонируемых ключей в квантовой криптографии тесно связана с теоремой о невозможности клонирования в квантовой механике.
Это означает, что как только используется квантовое состояние (которое может представлять секретный ключ), оно не может быть клонировано или скопировано. Это обеспечивает фундаментальный уровень безопасности, поскольку не позволяет любому потенциальному перехватчику создать копию квантового состояния и тем самым получить доступ к секретному ключу.
Давайте теперь вернемся к сценарию из начала статьи, когда Алиса хотела делегировать Бобу право подписывать сообщение от своего имени. Мы объясним, как создается токен квантовой подписи.
Алиса может создать секретный ключ (который представлен квантовым состоянием) и передать его Бобу. Этот секретный ключ затем может быть использован Бобом для подписи одного сообщения от имени Алисы.
Напомним, что ни один из участников не знает значения ключа.
Как только Боб использует секретный ключ для подписи сообщения, квантовое состояние становится недействительным для дальнейшего использования. Таким образом, сделать копию невозможно.
В квантовой терминологии говорится, что квантовое состояние “коллапсирует”, когда производится измерение. Акт использования секретного ключа для подписи сообщения можно рассматривать как своего рода измерение, приводящее к коллапсу квантового состояния. После этого коллапса квантовое состояние (т.е. секретный ключ) больше нельзя использовать.
Теперь давайте пройдемся по сценарию шаг за шагом. Мы покажем, как создается секретный ключ и впоследствии самоуничтожается.
Алиса выполняет локальную квантовую операцию (квантовое состояние X), в ходе которой создается приватный ключ X. Алиса отправляет ключ X Бобу в токене квантовой подписи (поле, защищающее значение ключа X).
Боб выполняет локальную квантовую операцию (квантовое состояние Y), во время которой подписывается сообщение. Входом для этой операции является токен квантовой подписи, содержащий приватный ключ X. Выходом операции является сообщение, подписанное приватным ключом X. Сигнатура сообщения инициализирует коллапс квантового состояния.
В тот момент, когда Боб подписывает сообщение приватным ключом X, квантовое состояние X разрушается, т.е. также самоуничтожается приватный ключ X.
На данном этапе сценария невозможно клонировать приватный ключ X или использовать его снова. Никто никогда не знал его значения и никогда не узнает. Результатом является подписанное сообщение.
Я надеюсь, теперь вы понимаете концепцию неклонируемых ключей.
Вывод
Одноразовые подписи имеют множество применений, включая токены одноразовой подписи (наш пример), квантовые деньги, децентрализованную криптовалюту не зависящую от блокчейна, схемы подписи с неклонируемыми секретными ключами, неинтерактивную сертифицируемую минимальную энтропию и многое другое. Система одноразовых подписей - это новый мощный строительный блок для новых квантовых криптографических протоколов.
Команда IOG создала одноразовые подписи для повышения безопасности Cardano. Система может помочь предотвратить атаки дальнего действия в PoS-сетях, гарантируя, что любой секретный ключ может быть использован для подписи только одного блока, а затем самоуничтожиться. Cardano может обеспечить более надежные гарантии безопасности, заменив механизм KES одноразовыми подписями. Злоумышленник не может использовать старые секретные ключи для перезаписи полной истории блокчейна, поскольку эти ключи не будут существовать после подписания блоков. Это эффективно предотвращает атаки дальнего действия и повышает безопасность PoS-сетей. Мы поговорим об этом более подробно в следующий раз.
// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском языке можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano? Тогда приглашаем в наше уютное русскоязычное сообщество Cardano в Telegram. Оставайтесь на связи, все только начинается!