В чем разница между цифровой подписью и цифровым сертификатом? - PullRequest
41 голосов
/ 21 мая 2010

Я обнаружил разницу между цифровой подписью и цифровым сертификатом (асимметричное шифрование) Кажется, они одинаковы. Я хотел бы уточнить, являются ли они одинаковыми или нет? большое спасибо !!!

Ответы [ 10 ]

72 голосов
/ 21 мая 2010

A цифровая подпись используется для подтверждения сообщения. В основном это зашифрованный хеш (зашифрованный с помощью закрытого ключа отправителя) сообщения. Получатель может проверить, не было ли сообщение подделано, хэшируя полученное сообщение и сравнивая это значение с расшифрованной подписью.

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

Сам сертификат подписан доверенной третьей стороной, Центром сертификации , как VeriSign.

62 голосов
/ 02 января 2013

Позвольте мне расширить объяснение Эшли. Как и все крипто, предположим, что Алиса (отправитель) хочет отправить безопасное сообщение Бобу (получателю)

Здесь нужно решить две проблемы.

  1. Как зашифровать сообщение, чтобы только Боб смог его расшифровать.
  2. Как Боб может быть уверен, что сообщение изначально было от Алисы и не было изменено кем-то в пути.

Обе эти проблемы могут быть решены с помощью криптографии с открытым ключом. Для (1) Алиса шифрует сообщение открытым ключом Боба. Когда Боб получает сообщение, он может безопасно расшифровать его своим закрытым ключом. Так что зашифруйте с помощью открытого ключа Боба и расшифруйте с помощью личного ключа Боба (это основные вещи в криптографии с открытым ключом)

Чтобы решить (2), Алиса также отправляет цифровую подпись вместе с зашифрованным сообщением. Это делается следующим образом:

  • Передайте исходное сообщение через хеш-функцию (например, sha-1 ), чтобы получить дайджест сообщения
  • Зашифруйте этот дайджест сообщения с помощью личного ключа Алисы (обратите внимание, что это противоположно тому, как исходное сообщение зашифровано открытым ключом Боба)

Когда Боб получит сообщение + цифровую подпись, он будет:

  • Расшифруйте сообщение с помощью этого закрытого ключа, а затем рассчитайте его дайджест сообщения. Назовем этот дайджест M1.
  • Расшифруйте подпись с помощью открытого ключа Алисы, чтобы получить дайджест сообщения. Давайте назовем это M2.
  • Если M1 и M2 одинаковы, Боб может быть уверен, что сообщение не было изменено при передаче и что оно действительно от Алисы.

Что касается цифровых сертификатов, обратите внимание, что Алиса использует шифрование исходного сообщения с помощью открытого ключа Боба, а Боб использует открытый ключ Алисы для расшифровки подписи. Как они оба могут быть уверены в открытом ключе друг друга? Вот для чего нужны цифровые сертификаты. Это позволяет доверенной третьей стороне проверить / сказать «открытый ключ Алисы - xyz».

21 голосов
/ 18 ноября 2010

Самое ясное объяснение для меня доступно в RSA Laboratories:

Цифровая подпись: Предположим, Алиса хочет отправить подписанный документ или сообщение Бобу.Первый шаг, как правило, заключается в применении к сообщению хэш-функции, создающей так называемый дайджест сообщения.Дайджест сообщения обычно значительно короче исходного сообщения.Фактически, задача хеш-функции состоит в том, чтобы принимать сообщение произвольной длины и сокращать его до фиксированной длины.Чтобы создать цифровую подпись, обычно подписывают (шифруют) дайджест сообщения, а не само сообщение.

...

Алиса отправляет Бобу зашифрованный дайджест сообщения и сообщение, которое она может или не может зашифровать.Чтобы Боб мог подтвердить подлинность подписи, он должен применить ту же хеш-функцию, что и Алиса, к сообщению, которое она ему отправила, расшифровать дайджест зашифрованного сообщения, используя открытый ключ Алисы, и сравнить их.Если они совпадают, он успешно подтвердил подлинность подписи.Если два не совпадают, есть несколько возможных объяснений.Либо кто-то пытается выдать себя за Алису, само сообщение было изменено с тех пор, как Алиса подписала его, или произошла ошибка во время передачи.

...

Цифровой сертификат : ВКроме того, кто-то может притвориться Алисой и подписать документы с парой ключей, которые, как он утверждает, принадлежат Алисе.Чтобы избежать подобных сценариев, существуют цифровые документы, называемые сертификатами, которые связывают человека с определенным открытым ключом.

Эти цитаты взяты из лабораторий RSA по http://www.rsa.com/rsalabs/node.asp?id=2182 и http://www.rsa.com/rsalabs/node.asp?id=2277

16 голосов
/ 21 мая 2010

Из Википедии (выделено мной):

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

и

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

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

9 голосов
/ 21 мая 2010

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

4 голосов
/ 13 февраля 2019

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

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

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

1.Authentication
2.Integrity
3.Non-отрицание

Принимая во внимание, что цифровые сертификаты, используют цифровую подпись для прикрепления открытого ключа к любому конкретному юридическому или физическому лицу. Некоторая информация, передаваемая вместе с цифровыми сертификатами, похожа на серийный номер, который используется для уникальной идентификации каждого сертификата, физическое или юридическое лицо, идентифицированное сертификатом, и алгоритм, который используется для создания подписи. Помимо этого, он содержит CA, который проверяет всю информацию о сертификате, валидации и дате истечения срока действия сертификата. Он также содержит открытый ключ и отпечаток, чтобы гарантировать, что сертификат не был изменен. Цифровые сертификаты в основном используются на сайтах электронной коммерции, основанных на HTTPS, чтобы завоевать доверие посетителей сайта.

Цифровой сертификат содержит следующее:

Имя владельца сертификата
Серийный номер
Срок действия сертификата
Копия открытого ключа владельца сертификата
Цифровая подпись центра сертификации

Ключевые отличия цифровой подписи и цифрового сертификата

Цифровая подпись

Проверяет подлинность документа
Асимметричные ключи используются для шифрования и дешифрования документа.
Он предлагает аутентификацию, отказ от авторства и целостность.

Цифровой сертификат

Это создает личность и повышает надежность веб-сайтов.
Сертификат выдается центром сертификации после завершения процесса проверки.

Подробнее о цифровых подписях и их работе и о цифровых сертификатах здесь .

4 голосов
/ 16 ноября 2017

Цифровая подпись объяснила:

Sender   : Encrypt(hash(message), priv_key) = dig_sign 
Receiver : Decrypt(dig_sign, pub_key) => hash_of_message == hash(message) 
4 голосов
/ 05 ноября 2016

@ ответ numan дает хорошее объяснение необходимого процесса для обеспечения конфиденциальности, целостности и аутентификации. Но это не отвечает на настоящий вопрос.

Целью Цифровой подписи является предоставление этих основных услуг,

  • Подлинность: Отправитель подписал данные, как он заявил (данные должны быть зашифрованы с использованием личного ключа отправителя).

  • Целостность: Чтобы гарантировать, что данные не изменились с момента их подписания.

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

и обладает свойствами для обеспечения подлинности и целостности, такими как

Подпись не подделывается: Предоставляет доказательство того, что подписывающий и никто другой подписал документ.

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

Подпись не изменяется : После подписания документ не может быть изменен.

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

С другой стороны, Цифровой сертификат выдается сторонним Центром сертификации (CA) для проверки личности владельца сертификата. На самом деле он содержит цифровую подпись сертификационного органа , полученную из собственного секретного ключа CA.

Он также содержит открытый ключ, связанный с владельцем цифрового сертификата.

Возможно, вы захотите прочитать о том, как Цифровые сертификаты имеют структуру.

1 голос
/ 25 февраля 2019

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

Во-первых, давайте рассмотрим криптографию с открытым ключом на вики,

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

Одним из распространенных применений криптографии с открытым ключом является Шифрование с открытым ключом , я обобщил сценарий общего использования с диаграммой последовательности ниже:

enter image description here

У Боба есть открытый ключ и закрытый ключ, он может дать открытый ключ нескольким отправителям сообщений. Для этих отправителей они могут использовать открытый ключ для шифрования сообщения перед его отправкой. Только Боб может расшифровать сообщение с помощью закрытого ключа. Для другого получателя они не знают, что такое настоящее сообщение.

Другое распространенное использование криптографии с открытым ключом - Цифровые подписи , пожалуйста, проверьте схему, как показано ниже:

enter image description here

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

Однако предположим, что есть кто-то по имени Даг, который притворяется Бобом и хочет обмануть Пэт. Он может отправить открытый ключ и цифровую подпись Пату на имя Боба. Как Пэт узнает, был ли ключ от Боба или нет? Поэтому цифровой сертификат импортируется.

Давайте проверим диаграмму ниже:

enter image description here

Центр сертификации действует как доверенная третья сторона. Это означает, что цифровой сертификат выдается CA, если он может быть расшифрован открытым ключом CA. После расшифровки, pat проверит, находится ли Боб в хорошем состоянии, и информация о сертификате о личности Боба не была изменена. Затем Пэт ​​берет открытый ключ Боба для выполнения аутентификации, связанной с цифровой подписью , как упомянуто выше.

0 голосов
/ 31 июля 2015

Нет разницы, если подпись / сертификат подписан тем же CA / доверенным лицом.

Если подписанные данные содержат некоторые подписанные данные (например, открытый ключ отправителя), подписанные ЦС / доверенным лицом для поручения отправителю (т. Е. Цепочка доверия), также нет никакой разницы (или мы должны вызвать подписанные данные сертификат?).

Другими словами, сертификат является разновидностью подписи.

...