安全登录凭证而不使用SSL

时间:2009-07-23 10:47:55

标签: asp.net-2.0 ssl-certificate

我是SSL的新手,无论我阅读并了解其付费数字证书以及在网站https://中使用SSL后,数据传输在网络层都是安全的。

在我的应用程序中,除了登录名和密码之外,我没有太多安全问题。

有没有办法在不使用SSL https://

的情况下保护登录名和密码

7 个答案:

答案 0 :(得分:3)

有许多身份验证方案可以通过普通HTTP安全地工作。其中最常见的是Digest,所有主要的Web浏览器和几乎所有的Web编程框架都支持它。

对网站使用摘要的缺点是:

  • 身份验证由浏览器本身处理,而不是网站上的登录页面,这看起来不太好,并且不允许您拥有所有周围的帮助程序功能,例如“忘记了密码?”我们现在已经开始期待。

  • 如果您没有SSL连接,精明的用户可能会担心他们不安全地发送密码(即使他们不是),因为他们在输入凭据时已接受过寻找SSL连接的培训。 / p>

还有其他方案,例如OAuth,它们也比普通的HTTP更安全,但对于API来说,这比网站更多,所以可能不是你想要的。

答案 1 :(得分:2)

除了在用户登录的每个页面上使用SSL之外,浏览器中没有HTTP安全性的替代方法。任何其他技术都是完全不安全的,只是隐蔽的层次。

任何基于HTTP的自制解决方案都容易受到MITM攻击以及其他漏洞的攻击。<​​/ p>

即使使用SSL,登录&amp;会话机制必须是安全的,或者可以使用其他漏洞进行破解。

答案 2 :(得分:1)

证书可以是自签名证书。不一定是付费的:)

答案 3 :(得分:1)

您也可以尝试使用StartSSL.Org 我目前正在使用它并且它工作得很好,但它在某种程度上与cacert.org相同,默认情况下它们不受浏览器信任

答案 4 :(得分:0)

关闭主题,您可以使用openssl获取自己的(自签名)证书。

首先需要生成RSA密钥和CSR以生成自签名证书。在安装了openssl的linux机器上:

openssl genrsa -des3 -out mydomain.key 1024

openssl req -new -key mydomain.key -out mydomain.csr   // fill in the details

mv mydomain.key mydomain.key.org

openssl rsa -in mydomain.key.org -out mydomain.key     // creates passphraseless key

openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt

答案 5 :(得分:0)

嗯,不想打开一个旧线程,但我不认为这是准确的。

我承认很难打败可验证的证书,但通常人们会为测试网站使用自签名证书。我很确定一个简单的自制软件解决方案可以和自签名证书一样好。

哎呀,我甚至会说有一些关键的预先存在(或像gpg这样的东西),它可能是安全的。

答案 6 :(得分:0)

考虑到这些凭据,我会尝试制作一些“结缔组织”。

https://stackoverflow.com/users/808354/iakovos-gurulian有一个很好的答案。 store api credential securely