我要建设一个网站,wordpress模板文件介绍,网站怎么做qq的授权登陆,素材网站个人做的数字签名与数字证书 数字签名数字证书数字证书的原理数字证书的特点 如何验证证书机构的公钥不是伪造的 数字签名
数字签名是非对称密钥加密技术与数字摘要技术的应用#xff0c;数字签名就是用加密算法加密报文文本的摘要#xff08;摘要通过hash函数得到#xff09;而生成… 数字签名与数字证书 数字签名数字证书数字证书的原理数字证书的特点 如何验证证书机构的公钥不是伪造的 数字签名
数字签名是非对称密钥加密技术与数字摘要技术的应用数字签名就是用加密算法加密报文文本的摘要摘要通过hash函数得到而生成的内容。
发送报文时发送方用一个哈希函数从报文文本中生成报文摘要然后用发送方的私钥对这个摘要进行加密生成数字签名之后将数字签名和报文一起发送给接收方即数字证书。
接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要接着再公钥来对报文附加的数字签名进行解密如果这两个摘要相同、那么接收方就能确认该报文是发送方的。举一个例子A和B都已经获取了对方的公钥以下是A和B利用数字签名的通信过程
1A将原文加工生成发送内容
A用哈希算法如MD5计算要发送内容message的Hash值(message的摘要)。用非对称加密算法如RSA算法加密摘要生成数字签名。 将message加数字签名作为发送内容。
2B收到数据进行解密验证内容
首先对message进行同样的哈希计算算出原文的Hash值摘要1。用A的公钥解密签名得到摘要2。比对两个摘要是否相等。如果不相等证明原文或者签名被修改过。
数字证书
采用公钥机制进行加密传输面临的一个问题是公钥的发布是未受信任的。任何一个用户都可以通过网络向所有人发布伪造的公钥,如果某个用户假冒真正用户的名义发布一个公钥在该假冒者被揭穿以前他可以解读所有发向真正用户的加密消息还可以通过签名冒充真正用户的身份。
数字证书的原理
数字证书就是一个人或者组织在网络世界中的身份证其发证机关是证书管理机构(certificate authority,CA)。CA用自己的私钥对用户的身份信息(主要是用户名和该用户的公钥)进行签名该签名和用户的身份信息一起就形成了证书。
用户A把自己的证书发送给用户B。用户B使用CA的公钥对证书的签名进行验证由于只有CA才能生成该证书因此只要证书验证正确即说明证书是由CA发布的证书中用户A的公钥是值得信赖的。用户B以后就可以使用该公钥验证用户A的签名或者进行和A进行加密通信。使用数字证书验证用户的身份的过程如下
整个数字证书的使用流程如下
数字证书的特点
由专门的机构签发的数字证书才安全有效。签发数字证书是收费的。不会被冒充安全可信。数字证书有使用期限过了使用期限证书变为不可用。CA也可以在试用期内对证书进行作废操作。
如何验证证书机构的公钥不是伪造的
这里有一个有趣的问题用户B使用证书机构的公钥来验证用户A的数字证书但如何又能够知道用户B拿到的证书机构的公钥不是伪造的呢
解决办法是再找一个证书管理机构(certificate authority,CA)对该证书机构的公钥颁发一个证书这样形成了一个公钥证书的嵌套循环该循环的终点就是根证书机构。根证书机构较少其公钥可以通过安全的方式发布如通过USB拷贝、书面文件当面移交。