我在一家处理 Web 应用程序开发的企业工作,我是“安全专家”。我最近使用Let's Encrypt在一个应用程序中实现了 HTTPS ,我的老板要求我证明 HTTPS 确实加密了信息。
我怎样才能做到这一点?
我在一家处理 Web 应用程序开发的企业工作,我是“安全专家”。我最近使用Let's Encrypt在一个应用程序中实现了 HTTPS ,我的老板要求我证明 HTTPS 确实加密了信息。
我怎样才能做到这一点?
我的老板要求我证明 HTTPS 确实加密了信息。我怎样才能做到这一点?
在基本层面上,您可以使用数据包检查器或简单的端口转发代理。也许 Wireshark 会很容易地检查数据包。
您应该很快就能发现 HTTP 流量是纯文本,而 HTTPS 是二进制乱码。(主机名除外)
但是,这只能证明连接被混淆了。它不能证明加密或安全性。具体来说,它没有表现出对 MiTM 的免疫力。
幸运的是,浏览器为您完成了这一切。如果现代浏览器尝试连接到 HTTPS 网页,它将验证以下内容:
虽然您的老板可能希望看到将 HTTP 与 HTTPS 进行比较的 wireshark 胡言乱语,但更强有力的测试是非常简单地使用现代浏览器访问 HTTPS 站点。
确保浏览器未预先配置为忽略警告。(即从多台计算机和智能手机测试)
如果您打算永久继续使用 HTTPS(您应该这样做),明智的预防措施是强制将所有 HTTP 访问重定向到 HTTPS 站点,因为您不能保证所有访问者https://
在访问您的站点时都会包含前缀。
这些是证明您的应用程序正在加密信息的几种方法(不全面):
或者
如果您需要更多详细信息,或者更好地证明您的证书在绿色锁之外有效,请单击该锁,显示详细信息,您将看到类似这样的内容(本示例在 Chrome 中):
这将为您提供验证证书是否按预期工作所需的所有肮脏的小细节。
或者
SSLlabs 是分析 HTTPS 网站的绝佳工具。但....
您说您被要求证明“HTTPS 确实加密了信息”。也许有人用词不当,但从表面上看,你说你被要求证明世界依赖于保护电子商务的技术确实实现了其最基本的要求。如果没有,我想现在有人可能已经注意到了。
(我应该指出,在技术上可以将 https 配置为在某些客户端和服务器上使用空密码,但通过设计来做到这一点非常困难。你不能偶然做到这一点)
假设你的老板不是真的那么想,你被要求说服他你所做的工作是有效的。大多数浏览器会向您显示用于访问网站的加密算法。
如果你的老板想要一些不同/更多的东西,那么我们不知道什么能说服他。您需要向他询问更具体的要求和他/她认为可接受的证据的详细信息。
与信誉良好的专业IT安全专家和密码学专家签约。允许他们捕获您的网络上的流量,并要求他们尝试找出正在发送到站点和从站点发送的消息。
如果它们失败,您将确定流量已有效加密。当然,这不可能便宜。