当前位置: 首页 > 科技观察

再说说数字签名,你知道吗?

时间:2023-03-18 12:17:28 科技观察

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