关于SSL的问题

时间:2010-08-08 20:27:27

标签: security ssl smtp

我对SSL证书有几个问题。

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

问题1。

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

问题2。

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

如果我启用此设置,如何判断SSL是否有效?就像我怎么知道它是否真的启用了它?如果邮件服务器未启用SSL并且您启用了该布尔值,会发生什么。它只是将它作为非SSL发送吗?

4 个答案:

答案 0 :(得分:1)

对任何敏感数据使用SSL,不仅包括密码,还包括信用卡号,财务信息等。没有理由将其用于其他页面。

某些环境(如ASP.NET)允许使用SSL加密Cookie。对于任何身份验证或与会话ID相关的cookie,这样做是很好的,因为这些cookie可用于欺骗登录或重放会话。你可以在web.config中打开它们;它们默认是关闭的。

ASP.NET还有一个选项,要求所有经过身份验证的页面都使用SSL。非SSL请求被抛出。小心这个,因为它可能会导致会话挂起。我建议不要打开这样的选项,除非你真的需要它们。

抱歉,无法解决smtp问题。

答案 1 :(得分:1)

首先,SSL用于加密客户端和服务器之间的通信。它通过使用用于加密的公钥来实现此目的。在我看来,将其用作具有个人身份信息或敏感信息的任何内容都是一种很好的做法。 此外,值得指出的是,有两种类型的SSL身份验证:

  • 单向 - 有一个服务器证书 - 这是最常见的
  • 双向 - 有服务器证书和客户端证书 - 客户端首先验证服务器的身份,然后服务器ids客户端的ID - example is DOD CAC

有了这两者,重要的是由信誉良好的CA拥有最新的,签名的证书。这会验证您网站的身份。

对于问题2,是的,如果可以,您应该使用SSL over SMTP。如果您的电子邮件通过不受信任的路由器进行路由,则在未加密的情况下发送邮件时可能会被窃听。我不确定'布尔值启用'问题。我不相信设置SSL就像检查一个盒子一样容易。

答案 2 :(得分:1)

有几个人已经回答了你的问题1.

对于问题2,我不会将SMTP over SSL描述为保护邮件。消息暴露可能有很多点。如果要保护邮件本身,则需要S / MIME或类似的东西。我会说SMTP over SSL对于保护您的SMTP凭据更有用,因此有人无法获取您的密码。

答案 3 :(得分:1)

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

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

就验证SSL实际使用情况而言?可能有“官方”方式来验证它,使用网络嗅探器是一个穷人的版本。我运行了Wireshark并嗅探了网络流量,并比较了非SSL连接和SSL连接,并查看了原始数据。当SSL“看起来”加密时,我可以很容易地看到非SSL版本中的原始文本数据。当然,这绝对没有任何意义。但它确实表明数据正在发生“某些事情”。换句话说,如果您认为您正在使用SSL但可以识别网络嗅探中的原始文本,那么某些内容无法按预期工作。但反过来说并非如此。仅仅因为你无法阅读它,并不意味着它是加密的。