в чем разница между цифровой подписью и цифровым сертификатом?

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

8 ответов


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

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

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


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

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

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

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

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

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

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

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

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


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

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

...

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

...

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

эти цитаты из RSA labs в http://www.rsa.com/rsalabs/node.asp?id=2182 и http://www.rsa.com/rsalabs/node.asp?id=2277


из Википедии (Курсив мой):

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

и

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

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


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


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

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

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

  • целостность: предоставить гарантию, что данные не изменились с момента его подписания.

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

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

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

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

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

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

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

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

вы можете прочитать о том, как Цифровые Сертификаты это strucutred.


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

Sender   : Encrypt(hash(message), priv_key) = dig_sign 
Receiver : Decrypt(dig_sign, pub_key) => hash_of_message == hash(message) 

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

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

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