我们有一个浏览器前端,它与Node.js服务器通信,该服务器将数据存储在BlueMix云中的MongoDB数据库中。
我的老板真的不希望入侵者看到数据。我们都不是安全专家。我们认为建立SSL连接是个好主意,使用证书确保浏览器与受信任的网站进行通信以及SSL加密以保护通信。
此外,我的老板希望加密存储在数据库中的数据。这意味着第二层加密。浏览器提交的数据将通过SSL,由服务器加密,然后存储在Mongo DB中。如果浏览器需要该数据,服务器将检索它,但不会先麻烦解密它。
基本上浏览器登录,如果成功,服务器将使用可用于解密浏览器端数据的私钥进行响应。该密钥将存储在JS变量中。
这种方式当入侵者从Mongo数据库中检索数据时,如果他们没有密钥,他们只能看到加密的乱码(他们在第一次没有长时间)。或者更糟糕的是,如果他们设法侵入数据库。
这会让我们的客户高枕无忧,他们的信息真的受到保护吗?
帮助grealy赞赏
答案 0 :(得分:-2)
你的解决方案似乎很完美,如果你正在寻找更多的安全性,那么更好的想法就是从前端隐藏你的nodejs服务器url,如果你的情况可能尝试添加另一个中间件,它将作为nodejs之间的桥梁服务器和前端。最终用户,如果某些人如何检查页面源,那么他们将无法获得您的实际nodejs服务器位置。