如果我连接到一个httpsurl,我如何确定连接的密码强度?我的理解是,在非对称公钥握手之后,信息使用具有给定强度的对称密钥进行加密,但我似乎找不到该数字(128 位等)。
如果我对这个过程也有误解,请告诉我。
编辑:我问的原因是我有一个包含声明的安全免责声明模板此网站使用 XX 位加密,我想用正确的数字填写。
如果我连接到一个httpsurl,我如何确定连接的密码强度?我的理解是,在非对称公钥握手之后,信息使用具有给定强度的对称密钥进行加密,但我似乎找不到该数字(128 位等)。
如果我对这个过程也有误解,请告诉我。
编辑:我问的原因是我有一个包含声明的安全免责声明模板此网站使用 XX 位加密,我想用正确的数字填写。
SSL 对称加密是客户端和服务器之间协商的结果。可以使用配置文件从服务器端对其进行限制。例如,apache SSL 配置包括一个
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
可以调整为仅接受最强的加密,例如您可能只想要求:
SSLProtocol all -SSLv3 -SSLv2
SSLCipherSuite HIGH:MEDIUM
其他变量可用于执行更多操作,例如客户端身份验证或需要每个目录的密码。
您还可以从客户端操纵协商。举个例子,请参考这个关于 Firefox SSL 设置调整的链接。我认为其他浏览器也有办法做到这一点。
似乎这个页面说:
服务器根据客户端发送的加密和压缩算法列表决定是继续还是取消会话。两个列表中必须至少有一个匹配项,否则会话将失败。在客户端列表中占据最高位置的密码组合将用于未来的通信。
我正在寻找官方协议。
嗯,您可以使用许多工具。在 Linux 系统上:
通过浏览器等启动到网站的单个 SSL 连接......
输入命令:
ssldump -i eth0 -p 80
这将阐明与网络服务器的 SSL 握手(通过在特定接口上转储 SSL 流量)。转储显示使用的密码套件。
寻找这个:cipherSuite TLS_RSA_WITH_RC4_128_SHA
您可能需要替换eth0为默认以太网接口的名称。
SSL 包括一个称为“密码套件协商”的功能。客户端提供一个它愿意使用的密码套件列表,服务器从该列表中选择它最喜欢的。尽管您可以使用您的某些浏览器副本测试您的网站,但其他人可能正在使用具有不同配置的不同浏览器,并且您的网站可能会为该人使用较弱的密码套件。
您应该查看您的 Web 服务器的文档,以了解如何配置您的 Web 服务器以仅使用那些满足您需求的密码套件。