标签:voc 怎么办 浏览器 开始 查询 执行 需要 数字签名 不能
花了一个星期终于搞懂了..
HTTPS个人总结:
一、RSA算法
公钥:可以分发给任意的钥匙
私钥:自己保留起来,不分发给别人的钥匙
RSA算法:
举例:
d取3
明文m取5
二、加密过程: (公钥e加密 私钥d解密)
A---->B 假设A要把消息m传给B
1.首先B要生成n、Φ(n)、e、d、C,
2.B把e(公钥) n(大数)传播给A,
3.消息m用e和n加密 就可以得到c,所以两个人之间通信传播的是: n e c
B有私钥d 所以只有B可以解密。
三、数字签名:
A<----B 假设B要把消息m传给A,他想附上签名
这个过程也涉及了RSA
B首先生成了 n Φ(n) 公钥e 私钥d
B将消息m用 d 加密生成签名s
然后将公钥传播给网络间任意的人。
根据RSA算法原理… e和d其实是对称的,知道哪一个都可以求出另一个,
现在所有人都可以解密,
假设B把 明文m 公钥e和签名s 给了A
A可以用公钥e来解密S ,得到m的哈希值
然后自己再给m进行哈希,发现两个哈希值一样,因为只有B有私钥,只有B才能进行签名(用私钥加密) 所以证明了消息m是B签名的
四、证书:
证书实际上是对公钥进行数字签名,对公钥合法性提供证明的技术。
窝们对签名进行验证时,需要用到公钥,如果公钥是伪造的,那怎么办?
这时候证书就派上用场了
证书一般包含:
*公钥(证书中是带有公钥的)
*公钥的数字签名
*公钥拥有者的信息
若证书验证成功,这表示公钥是合法,可信的。
认证机构(Certification Authority,CA)
CA就是能够认定”公钥确实属于此人,并能生成公钥数字签名的组织或机构
生成证书:
服务器将公钥A给CA(公钥是服务器的)”
CA用自己的私钥B给公钥A加密,生成数字签名A
CA把公钥A,数字签名A,附加一些服务器信息整合在一起,生成证书,发回给服务器。
然后服务器将公钥,签名和证书发给客户端,
验证证书:
客户端得到证书
客户端得到证书的公钥B(通过向CA请求)
客户端用公钥对数字签名解密得到哈希值
客户端对公钥进行哈希值计算
两个哈希值对比,如果相同,证明证书合法,服务器的公钥也是可信的。
证书作废,当服务器私钥丢失,被盗时,认证机构需要对证书进行作废(revoke)
要作废证书,认证机构需要制作一张证书作废清单(Certificate Revocation List) 简称CRL
假设有Bob的证书,证书有合法的认证机构签名,而且再有效期内,但仅凭这些还不能说明证书一定有效,还需要查询认证机构最新CRL,并确认该证书是否有效。
五、HTTPS:
SSL 协议既用到了公钥加密技术又用到了对称加密技术。
资料1:
① 客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
② 服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③ 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④ 用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL 协议的安全数据通讯的加解密通讯。同时在SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
资料2:
资料1和资料2的区别是资料2中使用了不同的对称密钥, 资料1使用了相同的对称密钥,可能这个差别是在协商的过程中产生的。
标签:voc 怎么办 浏览器 开始 查询 执行 需要 数字签名 不能
原文地址:https://www.cnblogs.com/eret9616/p/9409198.html