加密数据,以便只有用户可以在混合移动应用程序中解密它

时间:2017-04-14 20:52:21

标签: cordova angular encryption mobile cryptography

我想为用户提供加密我的移动应用程序存储的所有文件的选项。它应该以某种方式完成,因此即使服务器也不能解密它们 - 只有用户本身。

它应该像Mega一样调用它:

  

设计安全性(“如果没有您,我们无法访问您的数据   能够找到“)

换句话说,像WhatsApp和所有其他聊天应用程序现在声明使用“端到端加密”只是只有一个端点是客户端。

如何为移动应用实施此功能?优选地,使用Ionic / Cordova / Angular的混合应用程序。 据我所知,加密/解密必须完全在客户端运行? 但困难的部分是如何确保只有客户端可以解密文件?

如果有人能指出我正确的方向,那就太棒了!

更新 我找到了关于Mega如何做到这一点的简短摘要:

  

因为所有数据都在CLIENT(浏览器,应用程序等)中加密,所以   你只向加密的加密数据发送。 Mega没有你的   密码或原始文件,只有加密的文件。他们没有   甚至知道文件的名称...数据用你的数据解密   帐户密码,因此您可以访问您的数据   与您的用户登录后通过电话并通过。

https://www.reddit.com/r/MEGA/comments/2xkyt0/if_mega_does_not_hold_the_encryption_keys_to_my/

据我所知,Mega必须在客户端的某个地方存储用户的密码?

更新2: Mega提供了一种更改密码的方法:https://mega.nz/help/client/webclient/accounts-pro-accounts/how-do-i-change-my-password

怎么可能?如果密码更改,是否应该丢失所有已上传的文件?或者在密码更改时在客户端重新计算所有文件密码...

0 个答案:

没有答案