总结1
-
RSA算法是公开的
-
一般用非对称加密和对称加密进行安全通讯,非对称加密用于认证服务器,对称加密用于双方传送数据
- 公钥是公开的,密钥服务器保留,一般验证流程是服务器将明文和 用私钥加密的明文的哈希值,然后客户端用公钥对私钥加密的明文解密得到明文的哈希值,然后客户端计算哈希值的结果与解密得到明文的哈希值进行比较,如果一致就确认是服务器发送的。(因为黑客没有私钥,无法伪造
用私钥加密的明文的哈希值
,客户端就无法解释这个哈希值)
- 公钥是公开的,密钥服务器保留,一般验证流程是服务器将明文和 用私钥加密的明文的哈希值,然后客户端用公钥对私钥加密的明文解密得到明文的哈希值,然后客户端计算哈希值的结果与解密得到明文的哈希值进行比较,如果一致就确认是服务器发送的。(因为黑客没有私钥,无法伪造
- 后面,客户端随机生成一个字符串和对称加密算法一起用公钥加密发送给服务器,服务器再用私钥进行解密得到随机字符串和对称加密算法,然后双方用这个对称加密算法进行数据传送
总结2
×××××××××××××××证书内容开始×××××××××××××××××
Issuer : SecureTrust CA
Subject : ABC Company
Valid from : 某个日期
Valid to: 某个日期
Public Key : 一串很长的数字(服务器生成的公钥)
…… 其它的一些证书内容……
{证书的指纹和计算指纹所使用的指纹算法}[SecureTrust CA的私钥|RSA] //这个就是"SecureTrust CA"对这个证书的一个数字签名,表示这个证书确实是他发布的,有什么问题他会负责(收了我们1000块,出了问题肯定要负责任的)
×××××××××××××××证书内容结束×××××××××××××××××
- 权威证书一般早安装在电脑,权威证书属于权威机构的,这个安装在本地的证书含有一个公钥
- 上面总结一中,公钥是公开的,黑客可以向客户端发送自己生成的公钥,然后自己保留私钥,就可以冒充服务器了,所以公钥要通过权威证书来获取:
- 服务器向客户端发送证书
- 客服端先检查证书机构,本地没有该证书机构的话证明是冒认的,通过后本地的权威证书取出公钥对证书内用私钥加密的内容进行解密,得到证书的指纹和计算指纹所使用的指纹算法,再用指纹算法对证书内容处理,结果跟指纹进行比较,如果相同证明认证成功,就可以用Public Key这个公钥进行非对称加密解密了
注意这里有两个公钥,一个是权威机构生成的,一个是服务器生成的
- 可以创建自己的证书机构,不过只能在装有自己证书机构证书的电脑才有效。
网友评论