Криптопрограмма о цифровой подписи для чего
Обновлено: 20.11.2024
Куда бы вы ни повернулись в мире безопасности, везде появляется интересное слово: «Блокчейн». Подобно слову «облако», это понятие закрепилось в индустрии безопасности и стало одной из самых популярных новых технологий. Но что именно?
В общих чертах это система, которая может обеспечить аутентификацию и неизменяемые копии данных, тем самым защищая все типы транзакций с данными. Но что мы делали до блокчейна?
На протяжении десятилетий цифровые подписи были методом, с помощью которого системы обеспечивали целостность, неотказуемость и аутентификацию для доступа к содержимому набора данных в электронном виде через сети.
Цифровые подписи обычно используются в электронных письмах и других системах и создаются с использованием математического алгоритма, который создает хэш («подпись») с использованием как информации из содержимого сообщения, так и информации, хранящейся в ключе.
Эволюция цифровых подписей
С годами цифровые подписи становятся все более и более безопасными благодаря добавлению информации к ключу, использованию различных типов криптографии и внедрению передовых систем подписи. Усовершенствованные электронные подписи создали дополнительный уровень безопасности благодаря соответствию требованиям eIDAS, таким как контроль закрытого ключа и способность подписи обнаруживать подделку данных. Хотя электронные подписи не являются неуязвимыми, они повсеместно признаны золотым стандартом аутентификации и неотказуемости, поскольку они широко известны и с ними связано мало инцидентов безопасности.
Что такое блокчейн?
Как и со всеми системами в киберпространстве, когда одна система оказывается далеко не идеальной, всегда предпринимаются усилия по созданию улучшенной, надежной системы, способной блокировать все атаки. Блокчейн действительно стал хитом, когда Биткойн впервые реализовал использование приложения Блокчейн. На сегодняшний день это была самая передовая система криптовалюты, и многие организации, включая NASDAQ и клиринговые корпорации финансовых услуг, начали рассматривать систему как инновационный способ реализации дополнительных мер безопасности в своих транзакциях.
Цель блокчейна – заменить внешнюю, доверенную третью сторону (включая необходимость в центрах сертификации), а также не дать никому возможности вернуться назад и замести следы, если они испортили запись. Технология работает со следующими свойствами:
- Репликация журналов. Для обеспечения отказоустойчивости репликация на основе журналов все чаще используется в распределенных системах для репликации журналов на все одноранговые узлы в сети.
- Доказуемая цепочка создания стоимости. Ценностями, хранящимися в блокчейне, могут быть цифровая валюта (например, широко известный биткойн), данные, документы и другие активы. Цепочки хэшей сохраняются для каждого блока, обеспечивая историю изменений, что помогает защитить целостность данных блочного актива.
- Криптография с открытым ключом. Блокчейн использует различные типы криптографии, включая ECDSA и эллиптическую кривую, для аутентификации транзакций.
- Децентрализованный реестр транзакций. Реестр основан на блокчейне и поддерживается без центрального органа и действует как децентрализованная система согласования.
Как цифровые подписи и блокчейн могут работать вместе
Цифровые подписи стали ключевым элементом стратегии безопасности многих организаций, основанным на использовании сертификатов и сложных математических алгоритмов для обеспечения подлинности данных и защиты от подделки.
Блокчейн входит в этот микс, добавляя аспект бизнес-регистра, позволяя использовать несколько подписей, создавать отпечатки пальцев и/или метки времени, а также распределять информацию между несколькими системами в сети, а не с централизованным сервером.
Блокчейн придает наибольшую ценность концепции «доказательства выполнения работы» — транзакции нельзя редактировать или удалять, что значительно повышает безопасность транзакций и технологий подписи.
Большое преимущество блокчейна может быть связано с использованием безопасных закрытых ключей вместо используемых в настоящее время открытых ключей.
Хотя транзакции очень безопасны и практически защищены от несанкционированного доступа, они также очень публичны. Хотя во многих случаях прозрачность может быть мечтой аудитора (например, в финансовых организациях), отсутствие конфиденциальности может помешать организациям полностью внедрить блокчейн, где должны соблюдаться строгие требования конфиденциальности.
При использовании закрытых ключей между подписывающей стороной и получателем транзакции данных могут поддерживаться только утвержденными сторонами, что делает его очень жизнеспособным вариантом для любого мыслимого типа транзакций данных.
Вопросы о блокчейне
Блокчейн произвел революцию в мире кибербезопасности, однако по-прежнему существует множество препятствий, которые вызывают беспокойство у компаний, рассматривающих возможность перехода.Помимо США, в большинстве стран действует строгая политика, регулирующая юридические подписи и технологии аутентификации. Хотя в США разрешены многие формы блокчейна из-за отсутствия нормативных барьеров, в других странах, например в странах ЕС, возникнут препятствия, если технологии не будут соответствовать правилам eIDAS.
Ранее этим летом мы увидели яркий пример того, что ни одна технология, даже блокчейн, не может быть полностью устойчива к кибератакам. В начале августа гонконгская биржа Bitfinex была взломана и потеряла 120 000 биткойнов (что эквивалентно 68 миллионам долларов США).
Хотя причины взлома все еще неясны, стало ясно, что соблюдение правил KYC (знай своего клиента), включая использование расширенных цифровых подписей, может лучше защитить ваши активы и системы при работе с открытыми системами, такими как как блокчейн.
Ссылки и дополнительная литература
- Избранные статьи об аутентификации (2014–2016 гг.) Хизер Уокер, Луиса Бальбаса, Гийома Форже, Яна Ульрика Кьерсгаарда и Доун М. Тернер
- Избранные статьи об электронной подписи и цифровых подписях (2014–2016 гг.), авторы Ашик Дж. А., Гийом Форже, Ян Ульрик Кьерсгаард, Питер Ландрок, Торбен Педерсен, Дон М. Тернер и Триша Виттиг
- РЕГЛАМЕНТ (ЕС) № 910/2014 об электронной идентификации и трастовых услугах для электронных транзакций на внутреннем рынке и отменяющий Директиву 1999/93/EC (2014) Европейского парламента и Европейской комиссии
- Рекомендации по безопасности интернет-платежей (окончательная версия) (2013 г.), Европейский центральный банк
- Проект специальной публикации NIST 800-63-3: Руководство по цифровой аутентификации (2016 г.), подготовленный Национальным институтом стандартов и технологий США.
- Специальная публикация NIST 800-63-2: Руководство по электронной аутентификации (2013 г.), Национальный институт стандартов и технологий, США.
- Контроль безопасности, связанный с международными банковскими услугами (2016 г.), Валютно-финансовое управление Гонконга
Cryptomatic благодарит сотрудников RBR London за сотрудничество при подготовке этой публикации. Твиттер: @rbrlondon
С помощью блокчейна вы можете представить себе мир, в котором документы встроены в цифровой код и хранятся в прозрачных общих базах данных, где они защищены от удаления, подделки и пересмотра.
В этом мире каждое соглашение, каждый процесс, каждая задача и каждый платеж будут иметь цифровую запись и подпись, которые можно будет идентифицировать, проверить, сохранить и передать.
Посредники, такие как юристы, брокеры, и учреждения, такие как нотариусы, могут больше не понадобиться. Отдельные лица, организации и машины будут свободно совершать сделки и взаимодействовать друг с другом с минимальными трениями.
Это огромный потенциал блокчейна.
Потенциальное применение децентрализации и распространения контента огромно: люди будут владеть своей цифровой идентификацией и записями, создавая единое, неизменное и поддающееся проверке хранилище записей. Подумайте обо всех документах, удостоверяющих личность или место жительства, медицинских записях, образовательных или профессиональных сертификатах и лицензиях, к которым это может относиться.
Все эти документы и их метаданные могут быть выпущены и подписаны цифровой подписью с использованием блокчейна.
Больше никаких поддельных сертификатов, никаких дипломов и фотошопа!
Студенты, например, могут подать заявку на дальнейшее обучение, работу, иммиграцию в другую страну. Чтобы поступить в университет, было бы просто подтвердить свой уровень образования или знание языка. Такие организации, как рекрутеры, работодатели, правительство и университеты, могут проверить учетные данные учащегося, не полагаясь на центральные органы, всего за несколько минут и без других посредников.
Как работают цифровые подписи: запечатайте свои цифровые активы
Сертификаты выдает орган (скажем, образовательное учреждение). Эти сертификаты хранятся на централизованном сервере управления документами или в распределенной файловой системе, такой как IPFS, и подписываются с помощью криптографической функции.
Затем URI документа, метаданные и хэш контента шифруются и сохраняются в цифровом реестре блокчейна, а также прикрепляются к цифровому идентификатору пользователя. Система выдает уникальный токен подлинности, который бесспорно идентифицирует документ.
Исходные данные документа никогда не сохраняются в блокчейне, только хэш документа.
Использование распределенного реестра делает решение децентрализованным и обеспечивает максимально возможную безопасность, эффективность и соответствие требованиям.
Если подлинность документа когда-либо подвергается сомнению, файл «вне цепочки» может быть повторно хэширован позже, а полученный хеш сравнен со значением «в сети».
Если хеш-значения совпадают, документ является подлинным, но если что-то изменить, даже один символ, хеш-функции не совпадут, что сделает очевидным факт изменения.
Как работают цифровые подписи: подтвердите свои цифровые активы
Допустим, в определенный момент пользователю необходимо предоставить свои сертификаты третьей стороне, например работодателю. Он может передать токен подлинности третьей стороне для проверки. Токен работает как адрес контракта файла, поскольку он содержит всю необходимую информацию для проверки того, что документ существует и является подлинным (не поддельным).
Обработка документов и любых неструктурированных данных и их метаданных и их интеграция с блокчейном создает неизменяемые и независимо проверяемые записи транзакций. Теперь есть способ доказать существование и подлинность этих цифровых активов.
Под подтверждением существования понимается создание неизменной отметки даты и времени для определенного объекта. Это означает, что вы можете доказать, что определенный информационный объект, например электронное письмо, документ или изображение, существовал в определенный момент времени.
Доказательство подлинности утверждает, что объект является подлинным, т. е. что он не изменился с момента его хранения в указанный момент времени. Это достигается цифровой подписью объекта и, таким образом, созданием хэша, его уникального идентификатора. Затем идентификатор фиксируется в реестре распределенной цепочки блоков, а транзакция также получает отметку времени.
Поскольку каждая запись в цепочке блоков неизменна, это означает, что у вас есть доказательство того, что этот конкретный объект существовал в определенный момент времени.
Зачем использовать блокчейн для создания цифровой подписи?
Почему мы должны использовать блокчейн для подписи и проверки цифровых активов, если решения для электронной подписи уже существуют и широко используются в отрасли? Вот почему:
- Цифровые подписи, хранящиеся в блокчейне, действуют независимо от объекта, на который ссылается подпись. Нет необходимости в центральном центре сертификации или центральном сервере меток времени, которые являются типичными зависимостями существующих систем электронной подписи.
- Вы можете добиться параллельной подписи и независимой проверки с самим объектом или без него.
- Вы больше не храните цифровые подписи внутри документа, как в традиционных решениях для электронной подписи. При использовании решений старой школы любой, кому нужно было проверить, подписан ли документ, имел полный доступ для чтения ко всему содержимому документа.
- Подписывая документы в блокчейне, объект не изменяется подписью, что позволяет подписывать документы параллельно и применять бизнес-правила на основе мандатов, четырех глаз, большинства голосов, старшинства и других.
- И наконец, что не менее важно, вы можете зарегистрировать несколько действий в последовательности в блокчейне. Каждая регистрация связана с конкретным случаем, документом и задачей, выполняемой вовлеченными сторонами, создавая цепочку транзакций: проверяемый след. Затем этот контрольный журнал может быть проверен уполномоченными третьими сторонами, что обеспечивает прозрачность, соответствие требованиям и, самое главное, доверие.
Печать блокчейна CB для SharePoint
CB Blockchain Seal for SharePoint – это готовое к использованию решение для Microsoft SharePoint, которое позволяет вам запечатывать документы, хранящиеся в SharePoint, с помощью технологии блокчейн.
Добавление цифровых подписей к файлам PDF или документам Word, вероятно, является наиболее очевидным вариантом использования, но это решение работает практически с любым типом документа или файла.
Вы можете доказать, что никто не подделывал документ, к которому была добавлена цифровая подпись, начиная с определенного момента. Тот факт, что цифровая печать снабжена отметкой времени, необходим, например, для защиты интеллектуальной собственности.
Хотите узнать, как в блокчейне реализован высочайший уровень безопасности? Хэширование и цифровая подпись являются важными терминами, которые обеспечивают желаемый уровень безопасности в блокчейне с криптографией. Давайте узнаем, что такое хеширование и цифровая подпись в блокчейне.
Безопасность – одно из важнейших требований в настоящее время, когда компании интересуются инновационными подходами к защите информации. Одно из самых инновационных решений, появившихся в последнее время для помощи предприятиям в безопасном обмене информацией, указывает на блокчейн. Технология блокчейн обеспечивает функциональность распределенного реестра и гарантирует, что неавторизованные стороны не смогут увидеть информацию, которой обмениваются в конкретной транзакции.
Он использует криптографию для обеспечения желаемой безопасности, привлекая внимание к хэшированию и цифровой подписи в блокчейне. И хэширование, и цифровая подпись играют огромную роль в блокчейн-ландшафте. Следующее обсуждение направлено на то, чтобы пролить свет на важность хеширования и цифровой подписи для блокчейна.
Самый важный аспект в дискуссиях о хэшировании и цифровой подписи в блокчейне в первую очередь связан с криптографией. Коммуникации постепенно развивались на протяжении многих лет по мере того, как мы переходили от пиктограмм к устройствам флэш-памяти, хранящим массивную информацию. Однако при общении всегда использовались передовые методы шифрования, чтобы гарантировать, что информация не будет видна другим лицам.
Поэтому криптография стала жизненно важным решением для обеспечения безопасности конфиденциальной информации. Криптография включает в себя шифрование исходного содержимого сообщения до его отправки получателю. Получатель мог использовать ключи для разблокировки шифра, а ключи доступны только у получателя. Следовательно, никакая другая сторона не может перехватить сообщение на пути от отправителя к получателю.
Что такое хэширование и цифровая подпись в блокчейне?
Блокчейн во многом опирается на криптографию как на основное преимущество. Также интересно отметить определение хеширования в блокчейне и роль цифровых подписей в понимании того, как они вписываются в уравнение блокчейна. Начнем сначала с хеширования.
Что такое хеширование в блокчейне?
Хеширование – это процесс получения неограниченного количества входных данных и их использования для создания определенных объемов выходных данных. Входные данные не имеют фиксированного размера, что обеспечивает значительную гибкость при выборе входных данных для хеширования. Кроме того, важность хеширования в безопасности блокчейна видна в требовании хеширования для добавления блоков. Также следует учитывать, что существуют различные алгоритмы хеширования, адаптированные к различным требованиям пользователей.
Интересно, что хеш-функции нашли широкое применение в различных случаях, наиболее ярким примером из которых является снятие цифровых отпечатков пальцев. Цифровой отпечаток пальца ничем не отличается от реального отпечатка пальца, а хеширование в цифровом отпечатке служит лучшим инструментом для проверки отпечатка пальца.
Хэш помогает предоставить подтверждение относительно получения выходных данных процедуры хеширования. Кроме того, хэш также подтверждает, что результат процедуры не подвергался каким-либо нежелательным изменениям. Процесс проверки обычно включает в себя вычисления для подтверждения соответствия между хэшами и исходным опубликованным контентом. Любая форма несоответствия может явным образом свидетельствовать о модификации или фальсификации выходного хэша.
Применение хеширования в блокчейне
Использование хеширования в блокчейне в таких случаях указывает на ясность защиты от несанкционированного доступа. Каждый новый блокчейн начинается с блока генезиса, который отвечает за сбор данных практически обо всем, что произошло в блокчейне на сегодняшний день. В результате выходные данные хэш-функции напрямую указывают на самое последнее состояние соответствующей цепочки блоков.
Также важно отметить, что действия добавляются в цепочку по мере их выполнения. Самое главное, новые блоки всегда фиксируют детали, связанные с предыдущим блоком. Любая модификация может изменить хэш цепочки, что упростит и упростит идентификацию.
Хеширование в криптографии и блокчейне — это, прежде всего, односторонняя функция, которая использует правильно созданный алгоритм без каких-либо опасений по поводу реверсирования процесса хеширования и раскрытия исходных входных данных. Таким образом, хеширование может обеспечить существенное преимущество по сравнению с двусторонней функцией шифрования, которая позволяет выполнять шифрование и дешифрование с помощью подходящих ключей или пар ключей.
Другое глубокое применение хэш-функций ясно видно в структурах данных, где вы можете найти фильтры Блума или хеш-таблицы. В таких случаях целью хеширования является более быстрый поиск данных, а не безопасность. С другой стороны, хэш-функции также находят применение в контексте цифровых подписей, где они идеально подходят для создания одинаковых выходных данных для одних и тех же входных данных с детерминированным подходом.
В результате использование хеширования и цифровой подписи в блокчейне может помочь получателям повторно вычислить выходные данные хеш-функции с той же хеш-функцией. Сравнение дайджеста сообщения с переданным дайджестом может помочь убедиться, что сообщение не подвергалось нежелательным изменениям при передаче.
Даже если сообщение имеет незначительные различия в пунктуации, содержании или пробелах, дайджест сообщения в выходных данных будет иметь радикальные отличия.Кроме того, через сравнение дайджеста сложно выяснить уровень различия между двумя разными сообщениями. Как вы, должно быть, поняли, малейшая разница во входных данных может привести к совершенно уникальному значению дайджеста.
Итак, совершенно очевидно, что хеширование имеет огромное значение для криптографии в блокчейне. Однако приложения хеширования в блокчейне должны соответствовать определенным важным требованиям, таким как:
- Входные данные могут иметь переменную длину.
- Вывод должен иметь фиксированную длину
- Хэш-функция для любого конкретного входного параметра обеспечивает относительную простоту вычислений.
- Хеш-функция имеет признак отсутствия коллизий, который гарантирует, что у вас не может быть двух разных сообщений с одинаковым значением хеш-функции.
- Хеш-функция всегда односторонняя и явно подразумевает крайнюю сложность, связанную с определением входных данных по выходным данным.
Алгоритмы хеширования
Имея четкое представление о важности хеширования в блокчейне, важно знать об алгоритмах хеширования. Алгоритм безопасного хеширования или SHA — это наиболее распространенная хеш-функция, рекомендованная Национальным институтом стандартов и технологий (NIST). Известные преемники SHA, такие как SHA-1, SHA-2 и SHA-3, получили глубокое признание за свои возможности. Давайте посмотрим на их детали.
SHA-1 может принимать ввод практически любой длины, а затем генерировать 160-битное сообщение наряду с обработкой сообщений блоками размером 512 бит. Если длина сообщения не кратна 512 битам, алгоритм SHA может дополнить сообщение данными, чтобы оно достигло следующего ближайшего числа, кратного 512 битам.
SHA-2 в настоящее время является одним из любимых алгоритмов в сообществе криптографов, хотя и с некоторыми недостатками, как в алгоритме SHA-1. После своего появления в 2001 году SHA-2 претерпел существенные изменения с появлением четырех вариантов. Четыре разных варианта включают SHA-256, SHA-224, SHA-512 и SHA-384, при этом SHA-256 является широко распространенным криптографическим алгоритмом.
SHA-256 может создавать 256-битный дайджест сообщения за счет использования 512-битного блока, а SHA-224 использует усеченную версию SHA-256 для создания 224-битного дайджеста сообщения с использованием 512-битного блока. размер. SHA-512 может создать 512-битный дайджест сообщения, используя 1024-битный размер блока, а SHA-384 использует усеченную версию SHA-512. SHA-384 может генерировать 384-битный дайджест сообщения, используя 1024-битный размер блока.
Алгоритмы SHA-3 — это последние дополнения к алгоритмам безопасного хеширования, демонстрирующие важность хеширования в блокчейне. SHA-3 появился в 2015 году и соответствует стандартам алгоритма MD5. Он может служить заменой SHA-2, а также предлагает аналогичные варианты и длины хэшей. Единственным отличием SHA-3 является то, что он обеспечивает более высокий уровень безопасности.
MD2 — Дайджест сообщения
MD5 – это последняя версия алгоритма дайджеста сообщений, которая может предлагать те же требования к заполнению, что и MD4. Кроме того, он предоставляет некоторые дополнительные функции безопасности, которые в конечном итоге снижают скорость создания дайджеста сообщения.
Цифровая подпись в блокчейне
Теперь следующий важный момент в нашем обсуждении касается цифровой подписи в блокчейне. Цифровые подписи — это, по сути, системы криптографической защиты, которые могут помочь в установлении доверия к блокчейну. Доверие к системе блокчейна может обеспечить доказательство того, что сообщение могло исходить из определенного источника, тем самым исключая любые опасения по поводу взлома или других несоответствий. Цифровые подписи можно рассматривать как цифровые аналоги печатей или собственноручных подписей.
Однако они обеспечивают более высокий уровень безопасности и снижают вероятность кражи личных данных или выдачи себя за другое лицо. Цифровые подписи следуют конкретным прецедентам асимметричной криптографии, связывая два разных ключа математическими связями. Ключи включают закрытый ключ и открытый ключ. Можно развернуть систему цифровой подписи с помощью безопасной хэш-функции. Важность цифровой подписи в блокчейне в значительной степени связана с двумя основными задачами, такими как:
- Цифровые подписи гарантируют, что сообщение, полученное получателем, исходит от отправителя, который утверждает, что отправил информацию. Это свойство известно как неотказуемость.
- Цифровые подписи также обеспечивают получателям уверенность в том, что сообщения не подвергались каким-либо изменениям при передаче. В результате инфраструктура может лучше защититься от злонамеренных посредников или непреднамеренных изменений.
Стремитесь стать экспертом по безопасности блокчейна? Вот подробное руководство о том, как стать сертифицированным экспертом по безопасности блокчейна (CBSE)
Связь между хэшированием и цифровыми подписями
Теперь, когда вы знаете, что такое хеширование и цифровая подпись в блокчейне, важно выяснить связь между ними. В случае блокчейна система цифровой подписи фокусируется на трех основных этапах, таких как хеширование, подпись и проверка. Давайте посмотрим, как работает цифровая подпись на основе блокчейна.
Шаг 1. Прежде всего, блокчейн хеширует сообщение или цифровые данные, отправляя данные с помощью алгоритма хеширования. Алгоритм помогает генерировать хеш-значение или дайджест сообщения с сообщениями, сильно различающимися по размеру, только для того, чтобы при хешировании получить одинаковую длину хеш-значений. Как мы уже знаем, это самая фундаментальная черта хеш-функции, явно влияющая на цифровые подписи. Хеширование является обязательным в большинстве приложений блокчейна для гибкости использования дайджестов сообщений фиксированной длины для всего процесса.
Шаг 2. Следующим шагом в работе цифровой подписи в блокчейне является подписание. Отправитель сообщения должен подписать его после хеширования информации в сообщении. На этом этапе процесса криптография с открытым ключом играет решающую роль. Многие алгоритмы цифровой подписи предлагают уникальные механизмы, хотя и с единственным подходом асимметричной криптографии. Поскольку цифровые подписи напрямую связаны с содержимым каждого сообщения, сообщения с цифровой подписью, скорее всего, будут иметь разные цифровые подписи.
Шаг 3. Последний шаг в использовании цифровой подписи на основе блокчейна — проверка. Получатели могут легко проверить действительность цифровых подписей с помощью открытого ключа. Подпись может работать как уникальный цифровой отпечаток соответствующего сообщения. Однако также важно уделить внимание безопасному хранению ключей и управлению ими, чтобы избежать нежелательных обстоятельств.
Применение цифровой подписи в блокчейне может помочь в достижении таких важных результатов, как неотказуемость, аутентификация и целостность данных. В результате хеширование и цифровые подписи вносят заметный вклад в повышение безопасности приложений блокчейна.
Итог
И последнее замечание: читатели могли внимательно понять ответ на вопрос «Что такое хэширование и цифровая подпись в блокчейне?». Широкий спектр вариантов использования хеширования и цифровой подписи в экосистеме блокчейна может поддерживать различные сектора. Некоторые из известных применений хеширования и цифровых подписей включают выполнение финансовых транзакций и соглашений с высоким уровнем безопасности и целостности данных.
Спрос на блокчейн-приложения существенно растет. Таким образом, четкое представление о важности хеширования и цифровой подписи в блокчейне может помочь вам использовать их потенциал. Узнайте больше о хешировании и цифровой подписи, а также о том, как они связаны друг с другом для улучшения приложений блокчейна.
Если вы хотите построить карьеру в области безопасности блокчейнов, мы рекомендуем вам зарегистрироваться в программе сертификации Certified Blockchain Security Expert. Это поможет вам узнать больше о концепциях безопасности блокчейна, и в конечном итоге вы станете экспертом по безопасности блокчейна!
Об авторе
Эвангелист программного обеспечения для технологий блокчейн; уменьшение трения в онлайн-транзакциях, преодоление разрыва между маркетингом, продажами и успехом клиентов. Более 20 лет опыта в развитии бизнеса SaaS и цифровом маркетинге.
Цифровая подпись – это математическая процедура, которая позволяет получателям почти с полной уверенностью проверять подлинность цифровых сообщений, документов или транзакций. Для каждого нового подписываемого документа, электронной почты или сообщения создается новая цифровая подпись, поэтому каждая подпись уникальна, устойчива к подделке и практически не поддается подделке. При правильной реализации у получателя не должно быть причин сомневаться в достоверности цифровой подписи или целостности сообщения отправителя. Цифровые подписи сегодня широко используются: от подписания PDF-файлов и электронных писем до протокола SSL и транзакций криптовалюты.
В этой статье мы рассмотрим, почему цифровые подписи важны и как они используются в различных технологиях, включая сети блокчейн. Затем мы обрисуем основные вехи алгоритмов цифровой подписи за прошедшие годы. Наконец, мы оценим преимущества и недостатки использования цифровых подписей.
Как работает цифровая подпись?
Чтобы понять, как работает цифровая подпись, рассмотрим эту технологию шаг за шагом. Обратите внимание, что необходимые шаги очень похожи на шаги, используемые для цифровых подписей, будь то транзакция биткойнов, документ PDF, SSL или электронная почта.
Хеширование данных
Первым шагом в создании цифровой подписи является создание криптографического хэша подписываемого документа, сообщения или транзакции. Это создается путем помещения соответствующих данных в хеш-функцию. У хеш-функций есть несколько очень полезных свойств:
- При одних и тех же входных данных хэш-функция всегда будет давать один и тот же результат.
- Все выходные данные всегда имеют одинаковую длину и выглядят совершенно случайными.
- Практически невозможно определить исходные данные, зная только выходные данные.
- Практически невозможно найти два входа, дающих одинаковый результат.
- Обычные компьютеры могут очень быстро выполнять операции хэш-функции.
После того как определенное сообщение или документ проходит через хэш-функцию, результат служит электронным отпечатком для этого сообщения или документа. Хэш затем используется как один из компонентов цифровой подписи. В конечном итоге это позволит получателю сообщения или транзакции убедиться, что ничего не было изменено и что сопутствующая цифровая подпись является подлинной.
Создание цифровой подписи
После хеширования данных отправителю необходимо подписать сообщение цифровой подписью. Как упоминалось во введении, каждая цифровая подпись уникальна для подписываемого сообщения или транзакции. После того, как цифровая подпись будет использована один раз, ее нельзя будет использовать повторно или изменить ее назначение.
С точки зрения конечного пользователя процесс создания цифровой подписи прост. Все технические этапы процесса происходят автоматически за кулисами. На самом деле создание цифровой подписи довольно сложно.
Давайте посмотрим, как именно создается цифровая подпись. Для целей этого примера мы предположим, что подпись создается с помощью Алгоритма цифровой подписи на основе эллиптических кривых (ECDSA).
Каждая цифровая подпись состоит из двух частей: случайного компонента и компонента подписи. Вот как производится каждый из них.
Для создания случайного компонента генерируется случайное число, которое умножается на точку, часто называемую генераторной точкой. В криптографии на основе эллиптических кривых (ECC) разные реализации используют разные кривые, а такие параметры, как точка генератора, известны заранее. Например, протокол Биткойн реализует кривую, известную как secp2561k. Точка генератора, используемая для цифровых подписей, на самом деле является той же точкой генератора, которая используется для создания открытого ключа из закрытого ключа Биткойн.
После того как случайное число умножается на точку генератора, произведение представляет собой новую точку с координатами x и координатами y. Координата x становится случайным компонентом, используемым в цифровой подписи. Мы можем назвать эту случайную составляющую r.
Для создания второго компонента цифровой подписи закрытый ключ отправителя умножается на r, случайный компонент. Затем продукт добавляется к хэшу сообщения, созданному в разделе хеширования данных выше. Наконец, результат делится на то же случайное число, которое использовалось для получения r. Результатом является компонент подписи, который мы можем назвать s. Обратите внимание, что для создания s используются как закрытый ключ отправителя, так и хэш подписываемого объекта.
Эта комбинация данных, то есть r и s, является цифровой подписью. Отправитель делится r и s с получателем, чтобы они могли убедиться, что отправитель, сгенерировавший цифровую подпись, действительно является владельцем закрытого ключа, и что полученные данные не были изменены.
Подтверждение
Чтобы проверить сообщение или транзакцию, получатель берет оба компонента цифровой подписи (r и s) и находит три разные точки на эллиптической кривой в использовать.
Точка 1 находится путем деления хэша сценария транзакции (который может быть легко получен локально) на s, компонент подписи, а затем умножения результата на точку генератора на определенной эллиптической кривой. используется.
Точка 2 находится путем деления r (случайный компонент) на s (компонент подписи) и умножения результата на открытый ключ отправителя.
Точка 3 находится путем сложения точек 1 и 2 вместе с помощью сложения эллиптических кривых. В результате должна получиться третья точка, которая также лежит на эллиптической кривой secp256k1. Координата x точки 3 должна совпадать с координатой x, полученной отправителем при создании r. Если эти два значения совпадают, получатель математически доказал, что цифровая подпись действительно была создана владельцем закрытого ключа, соответствующего открытому ключу отправителя.
Если точка 3 не лежит на эллиптической кривой, вероятно, произошло одно из двух событий. Данные либо были подделаны, либо подпись была создана с использованием закрытого ключа, который не соответствует открытому ключу, предоставленному подписывающей стороной.Эти потенциальные проблемы ставят под вопрос безопасность хеш-функции и/или самой схемы цифровой подписи.
Зачем нужна цифровая подпись для транзакций в блокчейне?
Биткойн-транзакция разрешает перевод средств из кошелька одного пользователя в кошелек другого пользователя. С технической точки зрения, эти средства хранятся в виде неизрасходованных транзакций (UTXO). Если вы не знакомы с этой концепцией, ознакомьтесь с этим руководством по UTXO. Переводы могут осуществляться с использованием различных типов транзакций, в том числе с оплатой по Pubkey (P2PK), с оплатой по хэшу Pubkey (P2PKH) и с оплатой по хэшу сценария (P2SH).
Во всех случаях отправитель должен доказать сети блокчейна, что он является законным владельцем UTXO. Для этого отправителю необходимо выполнить условия «ScriptPubKey» UTXO. который является сценарием блокировки. В большинстве случаев условия просто требуют от отправителя доказать, что он владеет закрытым биткойн-ключом адреса, к которому UTXO был заблокирован в предыдущей транзакции.
Сложность заключается в том, чтобы подтвердить право собственности на закрытый ключ, фактически не раскрывая его в одноранговой сети блокчейна. По понятным причинам раскрытие самого закрытого ключа общественности означало бы, что любой может потратить средства этого закрытого ключа. Вот тут-то и появляются цифровые подписи.
Bitcoin использует язык программирования под названием Bitcoin Script для создания сценариев блокировки и разблокировки, которые устанавливают условия для расходования определенного UTXO. Сценарий разблокировки является частью ввода каждой транзакции и содержит открытый ключ (или адрес), а также цифровую подпись. Это позволяет сети убедиться, что отправитель UTXO действительно владеет правильным закрытым ключом.
Сеть Биткойн использует алгоритм цифровой подписи на основе эллиптических кривых (ECDSA) в качестве схемы цифровой подписи. Цифровая подпись показывает, что отправитель транзакции владеет закрытым ключом, принадлежащим соответствующему адресу BTC. Следовательно, человек, который создает эту цифровую подпись, также может разблокировать средства, отправленные на соответствующий публичный ключ или адрес. Другими словами, цифровая подпись гарантирует, что средства в кошельке BTC могут быть потрачены только законным владельцем.
Исторический обзор технологий цифровой подписи
Технология цифровой подписи существует немногим более 50 лет. За это время были достигнуты значительные успехи в создании безопасных схем цифровой подписи, а также в появлении вариантов использования. Вот общий обзор некоторых из наиболее заметных событий за этот период времени.
Обратите внимание, что это краткий список. Есть еще несколько человек, которые внесли свой вклад в разработку схем цифровой подписи и сыграли важную роль в принятии/использовании этой технологии в современном Интернете.
1969 г. — Джеймс Х. Эллис, Клиффорд Кокс и Малкольм Дж. Уильямсон из штаб-квартиры правительственных коммуникаций (британское агентство радиотехнической разведки) первыми продемонстрировали, как можно реализовать криптографию с открытым ключом.
1976 — Впервые опубликован обмен ключами Диффи-Хеллмана, представляющий собой один из первых примеров обмена открытыми ключами, реализованный в области криптографии.
1977 — Рональд Ривест, Ади Шамир и Лен Адлеман представляют алгоритм RSA.
1988 — Lotus Notes 1.0 реализует алгоритм RSA, став первым широко продаваемым программным пакетом, предлагающим цифровые подписи.
1992 — Алгоритм цифровой подписи на основе эллиптических кривых (ECDSA) впервые предложен Скоттом Ванстоуном.
1995 — SSL 2.0 реализует алгоритм RSA и становится основным компонентом веб-безопасности.
1999 — PDF-файлы впервые поддерживают встроенные цифровые подписи для документов.
2000 — Принят закон ESIGN, в соответствии с которым электронные подписи имеют обязательную юридическую силу в США. Это открывает возможности для использования криптографически защищенных цифровых подписей в различных секторах экономики, включая здравоохранение, недвижимость, логистику цепочки поставок и т. д.
2009 — Биткойн запускается как первая в мире цепочка блоков, использующая ECDSA в качестве основы для безопасных транзакций криптовалюты. Это открывает возможности использования цифровых подписей в финансовом секторе и в конечном итоге позволяет другим протоколам блокчейна поддерживать приложения децентрализованного финансирования (DeFi).
Преимущества и недостатки схем цифровой подписи
Перевешивают ли преимущества использования схемы цифровой подписи недостатки? Давайте рассмотрим три момента с каждой стороны, о которых вы должны знать, прежде чем делать эту оценку.
Преимущества
Криптографическая безопасность. Цифровые подписи, как правило, представляют собой высоконадежный способ отправки и получения информации. Это потому, что они поддерживаются проверенными временем криптографическими методами. Если в конкретной схеме цифровой подписи нет известного недостатка, люди могут быть уверены, что цифровые подписи действительны.
Экономия времени и средств. Всего несколько десятилетий назад документы требовали собственноручной подписи. Для многих предприятий было обычным делом требовать физическую отправку документов по почте. Сегодня процесс использования цифровых подписей, наряду с появлением PDF-файлов и электронной почты, потенциально экономит несколько недель времени и снижает затраты на бизнес-операции. Поскольку цифровые подписи имеют обязательную юридическую силу в подавляющем большинстве юрисдикций по всему миру, в настоящее время они используются во многих отраслях.
Открытые стандарты. По словам Adobe, «без стандарта поставщики обязаны создавать свои собственные проприетарные интерфейсы и протоколы. Это создает головокружительный набор вопросов совместимости и ограничений развертывания». Adobe, как и многие другие известные организации, являются частью консорциума Cloud Signature Consortium, который помогает обеспечить общий стандарт для облачных цифровых подписей в отрасли и научных кругах. Наличие открытых стандартов позволяет пользователям получать беспроблемную работу независимо от поставщика подписи, типа устройства и других факторов.
Недостатки
Зависит от безопасности закрытого ключа. Цифровые подписи полагаются на закрытые ключи для авторизованного доступа. Другими словами, если закрытый ключ будет украден или утерян, цифровая подпись может быть использована другим лицом. Если произойдет нарушение безопасности сервера поставщика подписи, возможно, что закрытые ключи (и, следовательно, цифровые подписи) миллионов пользователей могут быть скомпрометированы. В случае криптовалютных кошельков, не связанных с тюремным заключением, угроза значительно сведена к минимуму. Тем не менее, каждый отдельный пользователь несет ответственность за обеспечение безопасности закрытого ключа.
Устаревание и уязвимости алгоритмов. Алгоритмы цифровой подписи со временем неизбежно изнашиваются. Возьмем, к примеру, РСА. Легко найти множество источников, таких как этот отчет, в которых описаны его уязвимости. RSA, возможно, был лучшим вариантом среди всех схем цифровой подписи в конце 1980-х и начале 1990-х годов. Спустя несколько десятилетий это уже не так, поскольку достижения в области технологий привели к обнаружению значительных уязвимостей.
Тот же принцип актуален и для ECDSA сегодня. Хотя в 2020 году это все еще надежная схема цифровой подписи, теоретическая проблема квантовых атак делает все более необходимым переход приложений на квантово-защищенную схему цифровой подписи, такую как Dilithium. По сути, существует бесконечный цикл, в котором криптографам необходимо разрабатывать новые, более безопасные схемы цифровой подписи, чтобы заменить старые. Для поддержания высокого уровня безопасности процесс замены должен происходить задолго до появления новых технологий, способных взломать цифровую подпись.
Уязвимости в приложениях. Даже наиболее часто используемые поставщики цифровых подписей не всегда реализуют безупречный код. Уязвимости не только теоретические. Они также могут вызвать реальные проблемы, если эксплойты выполняются правильно. В 2018 году исследователи из Рурского университета в Бохуме в Германии смогли подделать подписи в 21 из 22 настольных приложений для просмотра PDF-файлов и в 5 из 7 онлайн-сервисов цифровой подписи PDF. К счастью, в этом случае поставщики сигнатур смогли исправить проблемы с кодом до того, как какие-либо вредоносные атаки затронули конечных пользователей.
Контракт Komodo Quantum Security
Примечание: "Antara Framework" была переименована в Komodo Custom Contracts. "Модули" были переименованы в "контракты". Старые сообщения в блогах или документация разработчиков могут ссылаться на старую терминологию.
В 2019 году ведущий разработчик Komodo Джеймс «jl777» Ли реализовал квантово-защищенный алгоритм цифровой подписи для смарт-контракта UTXO в рамках пользовательских контрактов Komodo. Контракт называется просто Dilithium и основан на схеме квантовой безопасной цифровой подписи Dilithium-Crystals, впервые разработанной группой исследователей из IBM Zurich. Dilithium Contract позволяет любому создать квантово-защищенный блокчейн в экосистеме Komodo.
Контракт Dilithium также позволяет пользователям создавать уникальные, удобочитаемые дескрипторы вместо традиционных адресов блокчейна. Чтобы узнать больше о Dilithium, вы можете прочитать это введение или ознакомиться с руководством по Dilithium. Лучше всего начать с документации для разработчиков, чтобы узнать больше о технологии Komodo.
Если вы хотите узнать больше о технологии блокчейн и быть в курсе достижений Komodo, вы можете присоединиться к форуму Komodo и подписаться на ежемесячную рассылку новостей.
Читайте также: