我正在开发一个Web应用程序,它将在客户端加密数据,然后将数据发送到服务器。服务器将存储加密的数据,但而不是有能力解密数据。关键是保持客户端的数据安全,以至于即使服务器主机也不能访问数据。这可以通过服务器只接收加密数据并从不接收密钥来保证。客户端加密的Web应用程序
我打算在客户端使用Javascript进行加密和解密。此外,连接将通过SSL进行保护。
我在这里阅读文章:http://www.matasano.com/articles/javascript-cryptography/这表明Javascript不应该用于加密,但它不能解决我的使用案例。
这是一个安全的解决方案吗?有没有办法让我更安全?
这只要你不实际注入JS代码窃取的关键似乎是足够安全的。 – millimoose 2013-03-14 21:06:44
该页面上的其他内容除了您的服务器以外都没有。用户在其浏览器中没有运行任何扩展程序,允许扩展程序访问他们访问的网页(这是很多)。实际上,您的情况已被该文章所涵盖 - 因为它继续说明RNG在浏览器中如何不安全,因此从理论上讲,您无能为力。像大多数安全问题一样,您永远无法说“它很安全”。你可以表达一定程度的信心。 – Nik 2013-03-14 21:26:12
@Nik:无论客户端是否发生加密,这些浏览器扩展程序都不会从任何* web应用程序窃取数据?我对使用Javascript加密客户端的感觉并不好,但我不知道第三方脚本或扩展是否是原因。 – 2013-03-14 21:41:37