Bar*_*lom 6 javascript php security encryption passwords
我正在尝试使用"普通"用户名/密码登录表单安全,而不需要HTTPS.我的想法是这样的:
我需要知道的是:
Hen*_*nri 17
提前:对不起,我很抱歉;
实施您自己的安全协议绝不是一个好主意,除非您是一位训练有素的安全专家,或者您实际上并不真正关心安全性,只想创建安全性(营销)的印象并停止脚本小子.
SSL肯定不是指纹锁,正如你的评论所说,JCryption和你的提议等于有一扇门,你可以输入一个两位数的代码打开门,你有无数的重试.如果你真的不感兴趣并且只是路过,那很难打破,但是如果你想进入那个房子(你可能会这样做,否则不需要安全性),你就会进入.
另一点是,人们常常忘记提及他们想要达到的目标.安全性有着名的三个组件称为CIA,即机密性,完整性和可用性.您传输的数据是保密的还是完整性非常重要(例如,您确定发送的数据来自您期望的数据而不是中间人)?
为了使它在这种情况下具体化,你在这里唯一能做到的就是被动攻击者无法看到在线路上经过的是什么.一旦攻击者激活并更改其路由上的消息,您的整个安全性就会崩溃.所以我的建议是坚持使用专家提出的解决方案(在这种情况下为TLS,而不是ssl,因为那是旧版本),并确保您的服务器支持它.
编辑:
顺便说一句,没有证书,SSL/TLS无法正常工作.公钥加密的重点是至少应该有一些可信方.
另一方面,如果您不关心用户是否会收到"无效证书"消息,您可以创建自己的证书,这非常简单.在这种情况下,您的证书不受浏览器信任,但是,您可以确定至少您的通信是安全的(好吧,在这种情况下有例外,但仍然......)
证书应该免费的论点实际上是从一个角度来看.我认为声称它是虚假/愚蠢的人不知道成为一个认证机构需要什么.这些公司投资数百万美元以保证沟通安全,并确保他们通过出售证书赚取了不错的钱,但是他们的工作和他们也应该像其他人一样赚钱.
edit2:评论后
我确实说你有安全的沟通.但是,您错过了使用自签名证书的一点,您不知道对谁安全地说话.想象一个黑暗的房间,完全隔绝与窃听对话.现在想象一下有光和无光的房间之间的区别.如果房间很亮,你可以看到你安全地和谁说话,只选择与你喜欢的人交谈.现在想象在一个完全黑暗的房间里做同样的事.你只能希望在这个黑暗的房间里与你交谈的那个人只是一个盟友而不是你的对手.但是,你无法知道,只希望它没问题.虽然你的谈话本身是安全的,没有人可以听,你仍然没有"完整"的安全性.
如果我作为一个骗子,做一个中间人攻击,我可以创建一个自签名证书而无需用户注意.因此,将TLS与自签名证书一起使用的优点是,您至少具有协议的实现(即使实现这一点也远非易事).此外,您可以通过建议用户手动信任证书一次来避免丑陋的警告.但是,只有当您拥有相对较少的回访者群时,才有可能实现这一点,对于公共网站而言,这不是真正的解决方案.
Rob*_*Rob 10
从客户的角度来看,这似乎并不安全.两个(相关)问题:
普通SSL有什么问题?必须有一个共识,即它是安全的,否则供应商和组织将在一夜之间放弃对它的支持.相比之下,大多数尝试发明一种时髦的新方法来"廉价地"进行安全检查通常会错过一些基本的东西.