阮一峰译数字签名–读后感
数字签名简单概念
-
数字签名
- 就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字同时也是对信息的发送者发送信息的真实性的一个有效证明。是对非对称密钥加密技术和数字摘要技术的应用。先对原文信息作数字摘要处理(通过hash算法,md5、sha之类的),得到定长的hash值,再用密钥对中的私钥对hash值以及相关算法信息进行加密。 数字签名的信息完整性
- 数字签名的验签,将原文产生的数字摘要信息和使用公钥解密得到的数字摘要信息进行比对,进而确认信息的完整性。 数字签名的不可抵赖性
- 发送者的不可抵赖性,是由于私钥只有发送者拥有,而密钥对唯一,即公私钥存在一一对应的关系。要想确保发送者,则应该先确保公钥可靠获取、保存。最后通过比对数字摘要信息,进而确认发送者的身份, (个人理解)换句话说,数字签名的不可抵赖性建立在信息完整性之上。
数字证书的简单概念
-
数字认证中心
- 电子签证的机关,简称CA(Certificate Authority),自身持有机构的私钥,也负责发行包含所认证的客户、设备等公钥的数字证书。作为可信的第三方,为交易、通信提供保障。 数字证书
- CA为客户生成的密钥对,用CA自身的私钥对客户的公钥以及相关信息作数字签名后得到的文件,即为数字证书。CA的数字证书可以通过CA的公钥进行验签,确保可信。通常是系统自带或直接在网上下载CA根证书,用当中的公钥,对得到的数字证书验签,进而获取到客户的公钥。通过信任CA,进而信任CA所信任的客户(组织或者个人)的身份,存在一个信任链的关系。 信任链
- 数字证书的信任关系是,层级传递的,链式的。即A信任CA,CA信任B,那A就可以信任B了。 根证书
- 数字证书的信任关系是链式的,需要验证的客户的数字证书是信任链的末端,自然有信任链的首端。而首端的是否可信,如果仍采取数字签名的方式去确保证书可信,则无法找到信任链的源头。理应存在一个信任链的首端–根证书,CA自己颁发给自己的数字证书。应该是使用CA自己的私钥给自己的公钥以及相关信息签名。
文章大概例子
首先有Bob,Pady,Doge,Susan四个人(用户),Bob自己通过了非对称加密算法生成了密钥对,然后将自己的公钥给了其余三个。
于是乎,根据非对称加密算法的特性,其他三个用公钥加密的消息,只有持有私钥的Bob自身能够解密。
同理,Bob用私钥加密的消息,则其余三人都能够解密。