security - 关于 SSL 的问题

标签 security ssl smtp

我有几个关于 SSL 证书的问题。

我以前从未使用过它们,但我当前的项目要求我这样做。

问题 1。

您应该在哪里使用 SSL?就像我知道的,像登录、重置密码这样的地方是明确的放置位置。他们登录后怎么样?即使该帐户中的数据不被视为敏感数据,所有请求是否都应该通过 SSL?这会减慢重要部分的 SSL 速度吗?或者这没有什么区别吗?(某种程度上,你拥有 SSL 也可以让一切都通过它,无论如何)。

问题 2。

我知道在 smtp 中您也可以启用 SSL。我猜如果你向他们发送一个休息密码,这会非常好用。

如果我启用此设置,如何判断 SSL 是否正常工作?比如我怎么知道它是否真的启用了它?如果邮件服务器未启用 SSL 而您启用了该 bool 值,会发生什么情况。那么它会以非 SSL 形式发送吗?

最佳答案

对于 SSL 连接,最昂贵的部分之一(相对而言)是连接的建立。例如,根据其设置方式,它可能会创建一个临时(动态创建)RSA key 来建立 session key 。如果必须不断创建其中许多,这可能会有点昂贵。但是,如果新连接的创建不太常见(并且它们的使用时间较长),则成本可能不相关。

一旦建立连接,SSL 的额外成本并不是那么大,尽管它确实取决于加密类型。例如,使用 256 位 AES 进行加密将比使用 128 位 RC4 进行加密花费更多时间。我最近在同一台 PC 上进行了一些通信测试,其中客户端和服务器都来回回显数据。换句话说,通信几乎占据了测试的全部成本。使用 128 位 RC4 增加了约 30% 的成本(按时间衡量),使用 256 位 AES 增加了近 50% 的成本。但请记住,这是在环回适配器上的一台 PC 上。如果数据通过 LAN 或 WAN 传输,则相对成本会显着降低。因此,如果您已经建立了 SSL 连接,我将继续使用它。

至于验证 SSL 是否确实被使用?可能有“官方”方法来验证它,使用网络嗅探器是穷人的版本。我运行 Wireshark 并嗅探网络流量,比较非 SSL 连接和 SSL 连接并查看原始数据。我可以轻松地在非 SSL 版本中看到原始文本数据,而 SSL“看起来”是加密的。当然,这绝对没有任何意义。但它确实表明数据正在发生“某些事情”。换句话说,如果您认为自己正在使用 SSL,但可以识别网络嗅探中的原始文本,则说明某些内容未按您的预期工作。但反之则不然。仅仅因为您无法读取它,并不意味着它已加密。

关于security - 关于 SSL 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435950/

相关文章:

database - 直接在API中使用数据库主键值安全吗

php - 解密和读取 Suhosin session 数据

tomcat - Tomcat 8 SSL 配置后 HTTPS 连接超时

ssl - 使用 SSL 证书签署 RPM 和 DEB 包

python - Odoo 服务器错误 : smtplib. SMTPServerDisconnected:请先运行 connect()

calendar - Outlook 2013 邀请不显示嵌入附件 - 文本/日历;method=REQUEST

php - 在数据库中存储带撇号的值

mysql - 将 MySQL 密码查询移植到 Postgres

c# - 在需要调用证书的 asp.net 中创建 HTTPS 安全 SOAP 网络服务

python-3.x - Python3 SMTP 'Connection unexpectedly closed'