简介
数字签名、数字证书和时间戳是现代网络安全技术中的重要组成部分,它们共同确保了数据传输的安全性和完整性。
数字签名
数字签名是一种基于公钥加密技术的电子签名方式。它通过使用发送方的私钥对消息进行加密生成一个特定的签名值,并将该签名值与消息一起发送给接收方。接收方可以使用发送方的公钥对签名值进行解密和验证,从而确定消息的真实性和完整性。
数字签名的主要功能包括身份验证、消息完整性和不可否认性。
数字证书
数字证书是由证书颁发机构(CA)颁发的一种电子文档,用于证明公钥的所有权并验证用户的身份。数字证书通常包含以下信息:公钥、持有者的身份信息以及CA的数字签名。这些证书在互联网通讯中起到关键作用,
例如在HTTPS协议中用于加密和保护数据传输。数字证书的可靠性来源于其背后的CA机构的权威性和公正性。
时间戳
时间戳是一种独特的标识符,用于为电子文件或信息分配日期和时间。它在数字签名中尤为重要,可以防止未经授权的人发送或接收消息。时间戳提供了额外的安全层,验证了文件的签名和验证时间,从而防止欺诈并确保文件未被篡改。在中国,联合信任时间戳服务中心是唯一权威可信的时间戳服务机构。
关系与应用
-
数字签名和数字证书的关系:数字签名通常依赖于数字证书来验证签名者的身份。发送方使用私钥签署文件后,会附加其数字证书以确保接收方能够验证其身份。
-
时间戳的作用:时间戳可以与数字签名结合使用,以确保签名是在指定的时间之前完成的。这在法律和合规要求严格的场景下尤为重要。
-
应用场景:这三种技术广泛应用于电子商务、电子政务、银行交易等领域,确保数据传输的安全性和完整性。
综上所述,数字签名、数字证书和时间戳共同构成了一个强大的安全框架,确保了数据传输过程中的安全性、真实性和不可否认性。
流程讲解
通常情况下是手签,通过笔迹可以知道签名者身份和这份签名的有效性
数字签名算法有RSA、DSA、ECDSA
哈希算法有:MD5、SHA1、SHA224、SHA384、SHA256、SHA512等
哈希算法是单项的,只能根据原本信息生成哈希值,但是不能根据哈希值生成原文
哈希值计算在线哈希值计算 (lddgo.net)
以下是将赤壁赋原文根据哈希算法SHA256生成的简短的哈希值
1.发布者根据RSA加密算法生成公钥和私钥
2.对文件使用哈希运算生成文件哈希值
3.对文件哈希值使用私钥算出数字签名
4.将文件、数字签名、公钥发布到互联网
5.接受者(用户)下载文件、数字签名、公钥
5.1电脑根据公钥计算数字签名的文件哈希值0
5.2电脑计算文件对应的文件哈希值1
5.3对比文件哈希值0和文件哈希值1是否相同
私钥进行加密,公钥进行解密
验证私钥拥有者
篡改过程
1.其他人下载小明发布互联网的文件
2.其他人对下载文件计算文件哈希值
3.其他人根据自己数字签名算法对文件哈希值计算数字签名
4.其他人替换小明在互联网上发布的公钥和数字签名
5.这样小红下载下来依然可以验证文件的一致性
为了防止此类事件的发生出现了数字证书
数字证书
验证数字证书
根CA需要用为自己的证书签名,在用户操作系统和浏览器中预先安装根CA证书,这样就可以闭合整个证书链了。
如果有一家中间CA的密钥被破解了,也不影响到全局
参考文献
数字签名 及 数字证书 原理_哔哩哔哩_bilibili
数字签名,数字证书,时间戳 (metaso.cn)
数字签名和CA数字证书的核心原理和作用_哔哩哔哩_bilibili