Методы шифрования при создании цифровой подписи
Обновлено: 21.11.2024
Цифровые подписи — это примитивы открытого ключа аутентификации сообщений. В физическом мире принято использовать рукописные подписи в написанных от руки или напечатанных сообщениях. Они используются для привязки подписавшего к сообщению.
Аналогичным образом цифровая подпись — это метод, привязывающий физическое или юридическое лицо к цифровым данным. Эта привязка может быть независимо проверена получателем, а также любой третьей стороной.
Цифровая подпись – это криптографическое значение, вычисляемое на основе данных и секретного ключа, известного только подписывающему.
В реальном мире получатель сообщения нуждается в гарантии того, что сообщение принадлежит отправителю, и он не должен иметь возможности опровергнуть происхождение этого сообщения. Это требование очень важно для бизнес-приложений, поскольку вероятность спора по поводу передаваемых данных очень высока.
Модель цифровой подписи
Как упоминалось ранее, схема цифровой подписи основана на криптографии с открытым ключом. Модель схемы цифровой подписи изображена на следующем рисунке —
Следующие пункты подробно объясняют весь процесс —
Каждый человек, использующий эту схему, имеет пару открытого и закрытого ключей.
Как правило, пары ключей, используемые для шифрования/дешифрования и подписи/проверки, различаются. Закрытый ключ, используемый для подписи, называется ключом подписи, а открытый ключ — ключом проверки.
Подписывающая сторона передает данные хэш-функции и создает хэш данных.
Затем хеш-значение и ключ подписи передаются алгоритму подписи, который создает цифровую подпись для данного хэша. Подпись добавляется к данным, а затем обе отправляются верификатору.
Verifier передает цифровую подпись и ключ проверки в алгоритм проверки. Алгоритм проверки выдает некоторое значение на выходе.
Verifier также запускает ту же хеш-функцию для полученных данных для создания хэш-значения.
Для проверки это хеш-значение сравнивается с выходными данными алгоритма проверки. На основе результата сравнения верификатор решает, действительна ли цифровая подпись.
Поскольку цифровая подпись создается с помощью «закрытого» ключа подписавшего, и никто другой не может иметь этот ключ; подписывающая сторона не может отказаться от подписи данных в будущем.
Следует отметить, что вместо прямой подписи данных с помощью алгоритма подписи обычно создается хэш данных. Поскольку хэш данных является уникальным представлением данных, достаточно подписать хэш вместо данных. Наиболее важной причиной использования хэша вместо данных непосредственно для подписи является эффективность схемы.
Предположим, что в качестве алгоритма подписи используется RSA. Как обсуждалось в главе о шифровании с открытым ключом, процесс шифрования/подписания с использованием RSA включает модульное возведение в степень.
Подписание больших данных с помощью модульного возведения в степень требует больших вычислительных ресурсов и времени. Хэш данных — это относительно небольшой дайджест данных, поэтому подпись хэша более эффективна, чем подпись всех данных.
Важность цифровой подписи
Из всех криптографических примитивов цифровая подпись с использованием криптографии с открытым ключом считается очень важным и полезным инструментом для обеспечения информационной безопасности.
Помимо способности обеспечивать неотказуемость сообщения, цифровая подпись также обеспечивает аутентификацию сообщения и целостность данных. Давайте кратко посмотрим, как это достигается с помощью цифровой подписи —
Аутентификация сообщения. Когда верификатор проверяет цифровую подпись с использованием открытого ключа отправителя, он уверен, что подпись была создана только отправителем, обладающим соответствующим секретным закрытым ключом, и никем другим.
Целостность данных. Если злоумышленник получает доступ к данным и изменяет их, проверка цифровой подписи на стороне получателя завершается неудачно. Хэш измененных данных и вывод, предоставленный алгоритмом проверки, не будут совпадать. Следовательно, получатель может безопасно отклонить сообщение, предполагая, что целостность данных была нарушена.
Неотказуемость. Поскольку предполагается, что только подписывающая сторона знает ключ подписи, он может создать уникальную подпись только для данных данных. Таким образом, получатель может предоставить данные и цифровую подпись третьей стороне в качестве доказательства, если в будущем возникнет какой-либо спор.
Добавив шифрование с открытым ключом в схему цифровой подписи, мы можем создать криптосистему, которая может обеспечить четыре основных элемента безопасности, а именно: конфиденциальность, аутентификацию, целостность и неотказуемость.
Шифрование с цифровой подписью
Во многих цифровых коммуникациях для достижения конфиденциальности желательно обмениваться зашифрованными сообщениями, а не открытым текстом.В схеме шифрования с открытым ключом открытый (шифрующий) ключ отправителя доступен в открытом домене, поэтому любой может подделать свою личность и отправить получателю любое зашифрованное сообщение.
Поэтому пользователям, использующим PKC для шифрования, необходимо искать цифровые подписи вместе с зашифрованными данными, чтобы быть уверенными в аутентификации сообщений и неотказуемости.
Это можно заархивировать, объединив цифровые подписи со схемой шифрования. Кратко обсудим, как выполнить это требование. Есть две возможности: подписать, затем зашифровать и зашифровать, затем подписать.
Однако криптосистема, основанная на принципе "подписать, затем зашифровать", может быть использована получателем для подделки личности отправителя и отправки этих данных третьей стороне. Следовательно, этот метод не является предпочтительным. Процесс шифрования с последующим подписанием более надежен и широко распространен. Это показано на следующем рисунке —
Получатель, получив зашифрованные данные и подпись на них, сначала проверяет подпись с помощью открытого ключа отправителя. Убедившись в действительности подписи, он извлекает данные путем расшифровки с помощью своего закрытого ключа.
Выберите вопросы
Часто задаваемые вопросы
В чем разница между шифрованием и подписью? Почему следует использовать цифровые подписи?
Угрозы постоянно присутствуют в нашем цифровом мире, поэтому методы защиты данных постоянно совершенствуются. Такие тактики, как шифрование, используются каждый день для конфиденциальных данных в состоянии покоя или в движении. Шифрование — это процесс помещения данных в виде открытого текста в алгоритм шифрования и создания зашифрованного текста. Шифрованный текст — это форма данных, в которой все комбинации букв, из которых состоят слова в открытом тексте, зашифрованы в новый текст, который невозможно прочитать без расшифровки данных. Шифрование использует ключ, чтобы гарантировать, что зашифрованный текст не может быть расшифрован кем-либо, кроме авторизованного получателя.
Подписание данных работает для аутентификации отправителя данных и, как правило, реализует форму шифрования в своем процессе. Процесс подписания электронных писем, конфиденциальных данных и другой информации стал необходим, поскольку он проверяет личность отправителя и гарантирует, что данные не были изменены при передаче. Если произошла атака «Человек посередине» и данные были изменены или скомпрометированы злоумышленником, получатель информации узнает, что это произошло. Злоумышленник может изменить данные, но поскольку у него нет ключа, который использовал отправитель для подписи данных, получатель данных узнает, что не следует доверять отправленным данным, при анализе ключа и данных.
Как работает цифровая подпись?
Процесс цифровой подписи работает аналогично шифрованию. Шифрование бывает двух типов: асимметричное и симметричное шифрование. Процесс асимметричного шифрования работает путем создания пары ключей с открытым и закрытым ключами. Закрытый ключ хранится в секрете от всех, кроме создателя ключа, а открытый ключ доступен всем. Данные шифруются закрытым ключом и при необходимости расшифровываются открытым ключом. Симметричное шифрование использует только один ключ для шифрования и дешифрования. Поскольку асимметричное шифрование более безопасно, чем симметричное шифрование, оно используется чаще. При отправке данных получателю правильным методом шифрования является шифрование данных с помощью открытого ключа получателя, поскольку это означает, что только владелец пары ключей может расшифровать эти данные.
Цифровая подпись работает наоборот. Данные подписываются путем хэширования сообщения с помощью алгоритма хеширования и закрытого ключа отправителя. Это создает хеш-дайджест, который можно воссоздать только с помощью одного из ключей в паре ключей, созданной отправителем. Затем получатель получает сообщение, хэш-дайджест и открытый ключ, если он еще не был у него. Затем получатель использует открытый ключ отправителя для хеширования полученного сообщения. Если результирующий хэш-дайджест совпадает с хеш-дайджестом, отправленным вместе с сообщением, то личность отправителя подтверждена. Это также подтверждает, что данные не были изменены при передаче. Однако само по себе подписание не гарантирует, что данные не будут перехвачены и прочитаны.
Термины "цифровая подпись" и "электронная подпись" иногда путают или используют как синонимы. Хотя цифровые подписи являются формой электронной подписи, не все электронные подписи являются цифровыми подписями. Электронные подписи, также называемые электронными подписями, — это любой звук, символ или процесс, которые показывают намерение что-то подписать. Это может быть скан вашей собственноручной подписи, печати или записанное устное подтверждение. Электронной подписью может быть даже ваше имя, напечатанное в строке подписи документа.
Что такое цифровая подпись?
Цифровая подпись — разновидность электронной подписи — представляет собой математический алгоритм, обычно используемый для проверки подлинности и целостности сообщения (например, электронного письма, транзакции по кредитной карте или цифрового документа). Цифровые подписи создают виртуальный отпечаток пальца, который уникален для физического или юридического лица и используется для идентификации пользователей и защиты информации в цифровых сообщениях или документах. В электронных письмах само содержимое электронной почты становится частью цифровой подписи. Цифровые подписи значительно более безопасны, чем другие формы электронных подписей.
Зачем использовать цифровую подпись?
Цифровые подписи повышают прозрачность онлайн-взаимодействия и укрепляют доверие между клиентами, деловыми партнерами и поставщиками.
Как работают цифровые подписи?
Ознакомьтесь со следующими терминами, чтобы лучше понять, как работают цифровые подписи:
- Хеш-функция. Хеш-функция (также называемая «хеш») представляет собой строку фиксированной длины из цифр и букв, сгенерированную с помощью математического алгоритма, и файл произвольного размера, такой как электронное письмо, документ, изображение или другой тип файла. данные. Эта сгенерированная строка уникальна для хэшируемого файла и представляет собой одностороннюю функцию — вычисленный хэш нельзя обратить вспять, чтобы найти другие файлы, которые могут генерировать такое же значение хеш-функции. Некоторые из наиболее популярных алгоритмов хэширования, используемых сегодня, — это алгоритм безопасного хеширования-1 (SHA-1), семейство алгоритмов безопасного хеширования-2 (SHA-2 и SHA-256) и дайджест сообщения 5 (MD5).
- Криптография с открытым ключом. Криптография с открытым ключом (также известная как асимметричное шифрование) — это криптографический метод, использующий систему пар ключей. Один ключ, называемый открытым ключом, шифрует данные. Другой ключ, называемый закрытым ключом, расшифровывает данные. Криптография с открытым ключом может использоваться несколькими способами для обеспечения конфиденциальности, целостности и подлинности. Криптография с открытым ключом может
- Обеспечьте целостность, создав цифровую подпись сообщения с помощью закрытого ключа отправителя. Это делается путем хэширования сообщения и шифрования хэш-значения с помощью их закрытого ключа. При этом любые изменения в сообщении приведут к другому значению хеш-функции.
- Обеспечьте конфиденциальность, зашифровав все сообщение с помощью открытого ключа получателя. Это означает, что только получатель, у которого есть соответствующий закрытый ключ, может прочитать сообщение.
- Подтвердить личность пользователя с помощью открытого ключа и сверить его с центром сертификации.
Цифровые подписи доказывают, что цифровое сообщение или документ не были изменены — преднамеренно или непреднамеренно — с момента его подписания. Цифровые подписи делают это, генерируя уникальный хэш сообщения или документа и шифруя его с помощью закрытого ключа отправителя. Сгенерированный хэш уникален для сообщения или документа, и изменение любой его части полностью изменит хэш.
После завершения сообщение или цифровой документ подписывается цифровой подписью и отправляется получателю. Затем получатель генерирует собственный хэш сообщения или цифрового документа и расшифровывает хэш отправителя (включенный в исходное сообщение) с помощью открытого ключа отправителя. Получатель сравнивает сгенерированный им хэш с расшифрованным хэшем отправителя; если они совпадают, сообщение или цифровой документ не были изменены и отправитель аутентифицирован.
Почему следует использовать PKI или PGP с цифровыми подписями?
Использование цифровых подписей в сочетании с PKI или PGP усиливает их и снижает возможные проблемы безопасности, связанные с передачей открытых ключей, путем проверки принадлежности ключа отправителю и проверки личности отправителя. Безопасность цифровой подписи почти полностью зависит от того, насколько хорошо защищен закрытый ключ. Без PGP или PKI невозможно подтвердить чью-либо личность или отозвать скомпрометированный ключ; это может позволить злоумышленникам выдавать себя за кого-то без какого-либо метода подтверждения.
Благодаря доверенной третьей стороне цифровые подписи можно использовать для идентификации и проверки личности и обеспечения целостности сообщения.
Поскольку безбумажные онлайн-взаимодействия используются все шире, цифровые подписи могут помочь вам защитить и защитить целостность ваших данных. Понимая и используя цифровые подписи, вы можете лучше защитить свою информацию, документы и транзакции.
Авторы
Этот продукт предоставляется в соответствии с настоящим Уведомлением и настоящей Политикой конфиденциальности и использования.
Пандемия Covid-19 вдохнула новую жизнь в инициативу по работе на дому, выведя корпоративный мир на неосвоенный этап. Без сомнения, большинству пользователей, читающих это, за последние пару лет приходилось ставить цифровую подпись на некоторых официальных документах из-за отсутствия личного взаимодействия и стандартных ограничений расстояния. Для обеспечения подлинности и целостности таких документов, содержащих важную информацию, был предложен алгоритм DSA, который был принят в качестве глобального стандарта для проверки цифровых подписей.
Прежде чем приступить к работе с алгоритмом, вы освежите в памяти информацию об асимметричном шифровании, поскольку он проверяет цифровые подписи в соответствии с архитектурой асимметричного шифрования, также известной как архитектура шифрования с открытым ключом.
БЕСПЛАТНЫЙ курс: Введение в кибербезопасность
Что такое асимметричное шифрование?
В методах асимметричного шифрования вы используете два разных ключа: один для шифрования, а другой для дешифрования. Вы используете открытый ключ для шифрования; тем временем вы используете закрытый ключ для расшифровки. Однако вы должны сгенерировать оба ключа на стороне получателя.
Использование отдельных ключей для шифрования и дешифрования, как показано на рисунке выше, помогло исключить обмен ключами, как в случае с симметричным шифрованием.
Например, если Алисе нужно отправить сообщение Бобу, и закрытый, и открытый ключи должны принадлежать Бобу.
Процесс для приведенного выше изображения выглядит следующим образом:
- Шаг 1. Сначала Алиса использует открытый ключ Боба для шифрования сообщения.
- Шаг 2. Зашифрованное сообщение достигает Боба.
- Шаг 3. Боб расшифровывает сообщение своим секретным ключом.
Это устраняет необходимость для отправителя и получателя обмениваться какими-либо секретными ключами, сводя к минимуму возможности для использования.
Теперь, когда вы узнали, как происходит асимметричное шифрование, вы посмотрите, как настраивается архитектура цифровой подписи.
Что такое цифровые подписи?
Целью цифровых подписей является аутентификация и проверка документов и данных. Это необходимо для предотвращения фальсификации и цифровой модификации или подделки при передаче официальных документов.
За одним исключением, они работают на архитектуре шифрования с открытым ключом. Как правило, система с асимметричным ключом шифрует с использованием открытого ключа, а расшифровывает с помощью закрытого ключа. Однако для цифровых подписей верно обратное. Подпись шифруется с помощью закрытого ключа и расшифровывается с помощью открытого ключа. Поскольку ключи связаны, декодирование с помощью открытого ключа подтверждает, что для подписи документа использовался правильный закрытый ключ, тем самым подтверждая происхождение подписи.
H – хеш-функция
'+' — объединение открытого текста и дайджеста
На изображении выше показан весь процесс, от подписания ключа до его проверки. Итак, пройдите каждый шаг, чтобы полностью понять процедуру.
Оба алгоритма служат одной цели, но функции шифрования и дешифрования немного различаются. Итак, теперь, когда вы понимаете, как он должен работать при проверке подписи, давайте углубимся в нашу сегодняшнюю тему — алгоритм DSA.
Что такое алгоритм DSA?
Алгоритм цифровых подписей — это FIPS (федеральный стандарт обработки информации) для цифровых подписей. Он был предложен в 1991 году и стандартизирован во всем мире в 1994 году Национальным институтом стандартов и технологий (NIST). Он работает на основе модульного возведения в степень и дискретных логарифмических задач, которые трудно вычислить как систему принудительного перебора.
Алгоритм DSA обеспечивает три преимущества, а именно:
- Аутентификация сообщения: вы можете проверить происхождение отправителя, используя правильную комбинацию клавиш.
- Проверка целостности. Вы не можете изменить сообщение, так как это предотвратит полную расшифровку пакета.
- Неотказуемость: отправитель не может заявить, что никогда не отправлял сообщение, если подтвердит подпись.
На изображении выше показана вся процедура алгоритма DSA. Здесь вы будете использовать две разные функции: функцию подписи и функцию проверки. Разница между изображением типичного процесса проверки цифровой подписи и изображением выше заключается в части шифрования и дешифрования. У них есть отдельные параметры, которые вы изучите в следующем разделе этого урока, посвященном алгоритму DSA.
PGP в кибербезопасности с модулями от MIT SCC
Этапы алгоритма DSA
Помня изображение выше, продолжайте и посмотрите, как работает весь процесс, начиная с создания пары ключей и заканчивая проверкой подписи.
1. Генерация ключей
- Сначала вы выбираете простое число q, известное как простой делитель.
- Другое простое число p выбирается так, что p-1 mod q = 0.
- Выберите целое число g (1
Преимущества DSA
- Высокая надежность: DSA обладает высокой надежностью с точки зрения безопасности и стабильности по сравнению с альтернативными алгоритмами проверки подписи.
- Более высокая скорость. Генерация ключей происходит намного быстрее по сравнению с алгоритмом RSA и т.п.
- Меньше места для хранения: DSA требует меньше места для хранения для работы в течение всего цикла.
- Беспатентный: когда NIST выпустил его, он был свободен от патентов, что позволяло использовать его во всем мире бесплатно.
Это подводит итог нашего урока по алгоритму DSA.
Изучите типы атак на систему, используемые методы и многое другое с помощью сертифицированного курса этического взлома. Зарегистрируйтесь сейчас!
Чем Simplilearn может вам помочь?
Надеемся, что эта статья помогла вам понять, насколько важны цифровые подписи в эпоху цифровых технологий, и как криптография влияет на формирование модели угроз в нашем корпоративном секторе. Однако это лишь маленькая капля в огромном океане кибербезопасности, отрасли, в которой постоянно растет спрос на квалифицированных специалистов.
Simplilearn предлагает курс "Эксперт по кибербезопасности", который научит вас всему, что вам нужно знать, чтобы начать работу в сфере кибербезопасности или улучшить ее. Курс насыщен ведущими в отрасли учебными темами, которые помогут вам понять все, что вам нужно знать, прежде чем двигаться вперед в этой области.
Заключение
При этом вы поняли важность асимметричной криптографии, работу цифровых подписей, функциональность DSA, шаги, связанные с проверкой подписи, и ее преимущества перед аналогичными аналогами. Надеюсь, это руководство помогло вам понять алгоритм DSA.
Есть ли у вас какие-либо вопросы или пожелания относительно этой статьи об алгоритме DSA? Сообщите нам об этом в разделе комментариев к этому руководству, и мы будем рады, если наши эксперты ответят на них за вас.
Об авторе
Простое обучение
Simplilearn — один из ведущих мировых поставщиков онлайн-обучения по цифровому маркетингу, облачным вычислениям, управлению проектами, науке о данных, ИТ, разработке программного обеспечения и многим другим новым технологиям.
Читайте также: