写到前面

        这几天遇到server 2003 死活没法访问https,而且使用sha1校验的证书,在iis开启服务能被访问。但是nginx开不上,而且换sha1256 iis开也不能访问。以上前提都是真机访问毫无问题。今天老师出手解决了,我也是第一次真正接触这个非对称加密,人都麻了。这是初学第一点理解。

概念

(完美)向前安全性,英文 Perfect forward Secrecy。是密码学通信协议的安全属性,指长期使用的主秘钥泄露不会导致过去的会话秘钥泄露。

“服务器长期使用的公钥泄露了,以后的会话会不安全。”,这个很好理解,私钥泄露了,公钥本来就是公开的,那不是裤底子都给你解密出来啊。“但是以前的,在泄露前的会话不会被泄露。”这又是啥意思,我就没想通了。于是就一通百度...

        ps:如何理解前向安全性?和完美前向保密(perfect forward secrecy)区别

        看完上面的文章,我大致有个猜测了,我们不直接使用第一次的非对称加密加密数据,我们服务器每当出现一个新的会话时,我们生成一对临时的秘钥(公/私钥)。我们将临时公钥生成信息摘要后签名,并将这个签名与公钥一起发送到客户端,客户端使用长期公钥解密后验证临时私钥的可靠性(因为数据下发也是加密的),通过后采用临时公钥进行收发数据,而服务端也是用临时私钥进行收发数据。而此时长期使用的公钥并未用于数据传输中的加密,而是使用临时公钥私钥。而临时公钥私钥在会话结束时则失效。

        画了个潦草的图:

前端校验公钥格式_前端校验公钥格式

前端校验公钥格式_加密解密_02

         这个应该就是描述一个简单的具有向前安全性的加密了,当某天长期私钥被泄露时,可以得到临时公钥,那部分传输信息将会泄露(服务器发下的内容)。额这里有点对不上。但是有一点是确定的,临时私钥自始至终都在服务器,没有传输。而会话结束后也被销毁。即使长期私钥泄露,也只能获取临时公钥,客户发送的信息依旧无法解密。不过这个前后好像都是一样的,大致是我不知道的知识。

        写在最后

        这就是我对向前安全性的理解了,溜了溜了不写了。