作者回复: 要做个推理,前提:1、0,1,10K的线,随着文件增大,RPS没多少下降。100K和1M时下降才明显;2、文件增大,一定会导致对称加密算法的耗时增加,对称加密主要是异或操作;3、SSL耗时主要由握手和对称加密构成。 推论:0到1K到10K,每次AES应该有10倍耗时增加的,但RPS没什么下降。所以,文件小的时候,耗时主要在握手上。
作者回复: (+﹏+)
作者回复: 1、有些浏览器使用操作系统内置的根证书,有些浏览器则自己内置根证书。当收到Nginx发来的证书链后,用根证书的公钥验证身份证的合法性。
你可以看下《Web协议详解与抓包实战》第76课。
2、是的。本次、后续都是指在这个TLS会话内。
作者回复: 完全一样。DH详细过程请参考我的《Web协议详解与抓包实战》第77课,ECDH椭圆曲线交换请参考78、79课。
作者回复: 你是想问RSA/AES speed test*cores是什么意思吧?你看下“上邪忘川”的问题,那里我做了回答
作者回复: 椭圆曲线涉及大量数学知识,请参考:https://zh.wikipedia.org/wiki/%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF%E5%AF%86%E7%A0%81%E5%AD%A6。
我建议你先弄清楚RSA的过程,再对比椭圆曲线可以省掉大量阅读数学公式的时间:-)
作者回复: 不可以,因为中间人无法欺骗客户端,它无法伪造出私钥证书,进而不能通过签名等方式告诉持有公钥的客户端 相信它的身份。
作者回复: 对
作者回复: 第六步生成的密钥仅用来作本次对称加密使用,后续任何数据都需要用它来加解密后再传输,没有其他作用。
作者回复: RSA不是,ECDHE是的,也是当下主流的算法。第96课中通过$ssl_curves能取到当下用的是哪条椭圆曲线。
作者回复: 验证公钥的证书链、颁发机构是否可信
作者回复: 指1、2、4、8等不同CPU核心下每秒执行AES等算法的速度(每秒处理请求数或者流量)。它是指算法执行所消耗的时间。
作者回复: 这是早期的安全套件,目前新版本的浏览器以及服务器间不采用这种通讯方式,安全级别不高,包括一旦服务器私钥被攻破,前期抓到的包都可以破解,可以参考思诺登事件。
作者回复: 你可以看下椭圆曲线加密的数学证明过程,或者看下RSA的原理验证,网上有很多,不过理解前者需要非常好的数学基础,后者比较简单,可以用来入门。
作者回复: 这块确实比较复杂,不过底层知识很容易迁移学习的。
作者回复: 呃,这个图表不是我做的
作者回复: 不是的,我这里的例子是当前最主流的TLS安全套件交互流程,你用firefox、chrome等访问大多数ssl站点,交互流程都是这样的。这些复杂性,其实都被浏览器、nginx悄悄地完成了,所以我们感知不到:-)
作者回复: 非对称加密在TLS中有两个用途,1、CA颁发的公私钥,用于身份验证及客户端对服务器的单向消息加密。2、由客户端和服务器各自生成公私钥,并把自己的公钥发给对方,结合对方的公钥和自己的私钥生成新的密钥。非对称加密技术保证:双方生成的新密钥是一致的。