use*_*114 2 security encryption ssl client cryptography
我可以自己实施RSA,而不是在ssl上花费一大堆$$吗?(我不关心证明网站的身份;我只想加密客户端和服务器之间的密码以防止中间人攻击).我读过任何自定义解决方案都可能非常不安全,但是有人可以阅读我的计划并做出深思熟虑的回应吗?
首先,我将创建公钥和私钥.我会用javascript加密客户端密码,将密码的字母翻译成ascii-values,然后乘以或添加(任何建议?)这些ascii值来获取"未加密的消息".然后我会使用javascript和公钥加密此消息.
在服务器上,我将使用私钥解密安全邮件,最后得到密码的ascii-values的总和/乘积.关于如何从中获取单个字母的任何提示?
编辑:我已经得出结论,SSL是最好的方式.我只关注交易的客户端到服务器端(所有客户端发送的都是密码).当然,服务器发送给客户端的信息很有价值,不应该容易受到MITM攻击.感谢您提供免费的SSL建议.
谢谢
有很多理由不推出自己的加密.
n-1数据字节,其中n密钥的大小.也就是说,您肯定可以通过Javascript实现RSA,但是请注意,在您让一群密码分析师看到并尝试打破它之前,它不太可能是安全的.即使你是世界上最好的程序员,你也会在某个地方出错.
用户体验也会受到影响,因为用户很难确认他们实际上正在与您的服务器通信.
SSL是一个众所周知,分析良好,尚未破解的协议,如果您使用自签名证书(另一个糟糕的用户体验,但至少它仍然相当安全)可以免费使用.觉得很小心你决定要便宜出在加密之前,确保你的体重证书的成本对您的开发时间(它会带你很多时间来实现RSA)和漏水的重要客户信息的潜在成本(其密码).与项目成本的其余部分相比,证书的成本可能微不足道.