不对称和对称的密钥存储

时间:2011-07-01 19:30:58

标签: php mysql ajax security ssl

我正在开发一个ajax门户网站,我需要一些建议。我的客户希望它相当安全,但不想处理ssl。没有超敏感数据存储,因此我在页面初始化时进行自定义“握手”。

由于每个会话我都在处理2套新的非对称密钥和一些对称密钥,我想知道如何处理这些密钥。这可能会驻留在共享主机上,并且我已经读到在那种情况下会话文件实际上不可信任...

现在我正在会话文件中存储一些信息,指向正确的密钥,这些密钥位于数据库中。一切都运行得很好(好吧,我认为:))...现在我想在用户会话结束时从数据库中删除密钥,所以我最终得不到填满无用密钥的表。

即使我知道它是坏的,我在关闭窗口/浏览器时尝试了一个ajax调用......这确实很糟糕且不一致,所以这个选项已经不在了。我还想过一个cron工作来擦除每一个关键约会超过几天,但它对我来说感觉“未完成”......

我的问题是:我想知道ssl如何处理它的密钥?用户会话持续时它们存储在哪里?你如何处理/处理这个?

修改

是的,我应该知道这个问题会导致这个问题。

我知道ssl将是最好的选择,我自己很遗憾我编写了我的应用程序。我会再和我的客户谈谈这件事,但我没什么希望。如果他仍然想要去http,我不会冒险放弃合同以证明我的观点,我将有另一种选择来保护其不敏感的数据(登录信息有点,没有信用卡......)。

是的,“相当安全”是合适的,因为没有系统是完全安全的。 “相当安全”意味着一个想要下载wireshark,或者在youtube上观看视频以便在中间攻击中做一个人的想要的黑客,将无法进入。我会说它已经比所有的更好了数十亿游戏公司最近被一些青少年蒙羞。

正确的答案是Nasko回答了我的部分问题,提出了一些明显的建议,而不是自大。

2 个答案:

答案 0 :(得分:3)

'安全'是二进制状态。没有“相当”安全的东西。

你希望实现像SSL一样便宜和有效的东西几乎为零。不要打扰。除非客户是美国国防部,否则无论如何他都负担不起。

答案 1 :(得分:1)

SSL为每次完成的握手生成对称密钥,并将其存储在内存中(除非将会话缓存写入磁盘)。

那就是说,我建议避免做自己的加密协议,因为你一定会犯错误。即使是最好的加密人也会犯错误,所以我不建议任何人为此做错。

弄清楚客户端使用SSL感知的问题并解决这些问题。通过这种方式,您可以使用经过验证的标准技术,最终客户会感到满意。