

聊聊了解数字签名,你知道了吗?
source link: https://netsecurity.51cto.com/article/702054.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文转载自微信公众号「祺印说信安」,作者何威风。转载本文请联系祺印说信安公众号。
什么是数字签名?
数字签名(一种电子签名)是一种数学算法,通常用于验证消息(例如,电子邮件、信用卡交易或数字文档)的真实性和完整性。数字签名创建个人或实体独有的虚拟指纹,用于识别用户并保护数字消息或文档中的信息。在电子邮件中,电子邮件内容本身成为数字签名的一部分。数字签名明显比其他形式的电子签名更安全。
为什么要使用数字签名?
数字签名提高了在线交互的透明度,并在客户、业务合作伙伴和供应商之间建立了信任。
数字签名如何工作?
熟悉以下术语以更好地了解数字签名的工作原理:
- 散列函数– 散列函数(也称为“散列”)是由数学算法和任意大小的文件(例如电子邮件、文档、图片或其他类型的数据)生成的固定长度的数字和字母字符串。这个生成的字符串对于被散列的文件是唯一的,并且是一个单向函数——计算出的散列不能被反转以找到可能生成相同散列值的其他文件。目前使用的一些较流行的散列算法是安全散列算法 1 (SHA-1)、安全散列算法 2 系列(SHA-2 和 SHA-256)和消息摘要 5 (MD5)。
- 公钥加密——公钥加密(也称为非对称加密)是一种使用密钥对系统的加密方法。一个称为公钥的密钥对数据进行加密。另一个密钥称为私钥,用于解密数据。公钥加密可以通过多种方式来确保机密性、完整性和真实性。公钥密码学可以
- 通过使用发件人的私钥创建消息的数字签名来确保完整性。这是通过散列消息并用他们的私钥加密散列值来完成的。通过这样做,对消息的任何更改都将导致不同的哈希值。
- 通过使用收件人的公钥加密整个消息来确保机密性。这意味着只有拥有相应私钥的接收者才能阅读该消息。
- 使用公钥验证用户的身份并对照证书颁发机构进行检查。
- 公钥基础设施 (PKI) – PKI 由支持公钥分发和具有数字证书和证书颁发机构的个人或实体身份验证的策略、标准、人员和系统组成。
- 证书颁发机构 (CA) – CA 是受信任的第三方,它验证一个人的身份,并代表他们生成公钥/私钥对,或者将这个人提供的现有公钥与该人相关联。一旦 CA 验证了某人的身份,他们就会颁发一个由 CA 数字签名的数字证书。然后,数字证书可用于在请求时验证与公钥相关联的人。
- 数字证书——数字证书类似于驾驶执照,因为它们的目的是识别证书的持有人。数字证书包含个人或组织的公钥,并由 CA 进行数字签名。有关组织、个人和 CA 的其他信息也可以包含在证书中。
- 相当好的隐私 (PGP)/OpenPGP – PGP/OpenPGP 是 PKI 的替代品。使用 PGP/OpenPGP,用户通过签署具有可验证身份的人的证书来“信任”其他用户。这些签名越相互关联,在互联网上验证特定用户的可能性就越大。这个概念被称为“信任网络”。
- 数字签名的工作原理是证明数字消息或文档从签名时起没有被有意或无意地修改过。数字签名通过生成消息或文档的唯一散列并使用发件人的私钥对其进行加密来实现此目的。生成的散列对于消息或文档是唯一的,更改其中的任何部分都将彻底更改散列。
完成后,消息或数字文档将进行数字签名并发送给收件人。然后,接收者生成他们自己的消息或数字文档的哈希值,并使用发送者的公钥解密发送者的哈希值(包含在原始消息中)。接收者将他们生成的哈希值与发送者的解密哈希值进行比较;如果匹配,则消息或数字文档未被修改并且发件人已通过身份验证。
为什么要使用带有数字签名的 PKI 或 PGP?
将数字签名与 PKI 或 PGP 结合使用可以加强它们,并通过验证密钥属于发送者并验证发送者的身份来减少与传输公钥相关的可能安全问题。数字签名的安全性几乎完全取决于私钥的保护程度。如果没有 PGP 或 PKI,就不可能证明某人的身份或撤销已泄露的密钥;这可能允许恶意行为者在没有任何确认方法的情况下冒充某人。
通过使用受信任的第三方,数字签名可用于识别和验证个人并确保消息的完整性。
随着无纸化、在线交互的使用越来越广泛,数字签名可以帮助我们保护数据的完整性。通过了解和使用数字签名,可以更好地保护信息、文档和交易。




Recommend
-
75
RSA加密解密及数字签名Java实现 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏...
-
59
press.one - 基于区块链的数字内容交易及分发网络,目前的功能就是创建数字签名 - NEXT
-
53
数字签名的出现,曾大大加强了计算机应用使用的安全性,其复杂、独特的加密方式使得证书成为了软件的“防伪标志”,并迅速普及。 但俗话说你有张良计我有过墙梯,近年来出现了一种新的攻击方式,是通...
-
79
导读:在现实社会中,签名作为签名者身份的一种证明,签名代表对签名文件的认可,不可抵赖。理论上签名是可信、不可伪造的。现在网络环境越来越广泛,有大量的信息通过网络传播,并且会保存在上面。这些电子数据显然无法人工签名,数字签名就孕育而生。本文将介绍...
-
54
一、为什么需要数字签名? 从上一篇文章里面我们知道,消息认证码可以识别篡改或者发送者身份是否被伪装,也就是验证消息的完整性,还可以对消息进行认证。但是消息认证码的缺陷就在于它的共享密钥上面。由于共享密钥的原因,...
-
48
对称密钥加密技术 比如说有一种加密算法是把字母循环右移三位,那么如果要加密的明文是abc,则经过加密算法加密后的密文是def,这里把字母循环右移就是一种加密算法,而右移N位中的N则被称为 密钥...
-
73
-
30
问与答 - @GuguguguDa -
-
41
问与答 - @z0ne -
-
51
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK