安全的JavaScript加密库?(Secure Javascript encryption lib

2019-09-18 18:30发布

我在寻找,提供安全的加密一个JavaScript库。 该客户端生成密钥,并上传到服务器是加密所有数据,下载的解密所有数据。 我需要经过身份验证的加密方案,只需点击率或CBC是不够的。

我听说sjcl,但似乎sjcl一次只能加密整个数据。 我没有找到一个方法来加密数据列块。 由于上传的文件可能会非常大,这种做法是行不通的。 我需要像java的加密接口有两个方法更新()和最后()。

我发现,似乎做什么,我需要加密的NodeJS库,但我不知道如何使用它在浏览器端。

我发现谷歌加密的js,但这个库似乎并没有提供认证加密,但只有标准模式。

有没有办法将数据与列块加密sjcl? 若要使用浏览器端的NodeJS密码库? 要使用认证加密与加密的js? 或者是有没有提供什么,我需要另一种安全的JavaScript库?

Answer 1:

APPART从CCM为部署由SJCL是一个流加密模式,我将采取仔细看看它,而不是只看方便包装。 它是开源的,所以地方应该有原始密码的执行反正。

请注意,这是不应该绝对信任的代码。 当我试图方案,使Java包装我很快发现,身份验证失败的错误。 好像方便图书馆在所有未经过身份验证相关的认证数据。 因为它不与其他库进行测试,我会劝你照顾有没有一些遗留的错误存在。



Answer 2:

简答
这恐怕是不可能的。

长一点的回答
因为你不能保证JavaScript库的完整性,你不能依靠它做你期望它做什么。 其结果是,你不能保证任何安全。

此问题已得到广泛讨论,并在相同的结论最终总是:没有任何的双向认证和安全通道,你的客户没有验证库的正确性的方法。 如果任何人在这方面的中间人改变了加密程序,你的客户不会知道,更不用说你会不会找出来。

所以,为了保证安全,您需要SSL和客户端证书。
(无保证安全确实,关闭过程,不存在)



Answer 3:

是否有任何理由为什么你需要从客户端推到一个不受信任的服务器?

如果是提供您的网站的服务器是可信的,那么你应该能够发布您的数据备份到可信服务器,有值得信赖的服务器加密,然后将可信服务器可以将数据发送到服务器不可靠存储。



文章来源: Secure Javascript encryption library?