如何保护Chrome打包应用中的数据?

时间:2015-05-23 14:56:14

标签: javascript google-chrome google-chrome-app

我正在为我公司的客户构建Chrome应用。这些客户充当服务提供商(称之为服务提供商)并拥有自己的用户(称为最终用户),他们与客户共享关键数据。我正在构建的应用程序将由我的客户的员工使用(称为代理)。此应用程序将处理服务提供商管理的最终用户的关键数据。

虽然服务提供商雇用他/她的代理人并且具有一定程度的控制权,但从我的角度来看,我不能相信代理商。我希望我的应用程序为应用程序处理的数据提供安全性。

我在Chrome应用中使用文件系统API和indexedDB API。使用这些数据存储的数据是使用Web开发控制台可见的(右键单击 - >检查元素 OR 右键单击 - >检查背景页面。)

为了确保代理无法访问数据,我想在打包的应用程序分发时禁用Web开发工具。但是,我发现没有这样的API或提及保护这些数据。可能吗?如果是,那么如何,如果没有,我的替代方案是什么?

据我所知,仍然可以使用屏幕截图,高级用户可能会在系统磁盘上查找实际数据文件,因此请不要提及这些要点。这些代理是入门级操作员(大多数),我希望数据尽可能安全(并且欢迎额外的指针)。

1 个答案:

答案 0 :(得分:0)

不,不可能完全安全地禁用检查。 chrome://inspect显然现在即使企业政策锁定有效,如果我记得正确(当然这是一个错误)也能正常工作。顺便说一句,当应用程序作为打包部署/加载而不是加载它以进行开发时,默认情况下禁用对Dev Tools的轻松访问。

最糟糕的情况是,所有客户端数据都被视为已泄露。为了安全起见,您需要将数据保存在一个受到良好保护的中央服务器上,拥有一个强大的身份验证系统,并在需要知道的基础上提供数据(实现某种形式的ACL?)。

您可以通过使用Native Client模块加密数据来阻止偶然攻击,但最终您只是对加密代码进行模糊处理。确定的攻击者可以破解本机代码模块并解密数据。

但是严重如果只是为了击败你的数据保护所需的截图,请考虑一张纸和一支铅笔也会这样做。你在错误的地方担心太多。

此外,here are some pointers