首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在发送到SaaS工具之前加密数据并在浏览器视图上解密

在发送到SaaS工具之前加密数据并在浏览器视图上解密
EN

Security用户
提问于 2015-08-02 01:13:12
回答 2查看 678关注 0票数 2

我想将数据发送到SaaS工具,在那里数据存储在云中。我将以为例,但它适用于任何类似的服务。

Google Analytics不允许您存储个人可识别信息(PII),并且有许多在线服务示例,您可能希望发送用户数据,但不希望该服务能够查看这些数据。

解决此问题的最佳解决方案是在数据发送给第三方之前对其进行加密,添加一个特殊的令牌来区分数据和其他散列,然后将原始值和散列值存储在数据库中。例如,像johndoe这样的用户名可以被散列到s8d7f89sd7f中,然后添加hashed-以获得hashed-s8d7f89sd7f。然后将johndoehashed-s8d7f89sd7f存储在数据库中。

当您访问第三方的网站(例如,Google报告中包含所有散列值)时,您可以在DOM中搜索与您的特殊模式相匹配的值(例如,以hashed-开头的单词)。然后,使用Chrome扩展、书签或其他本地程序,您可以将该散列值替换为原始值,并以可读的形式显示在页面上。除非该网站正在监测网页上的变化,并将其打电话回国内,否则他们将永远无法访问已翻译的值。

我看到的最接近这个问题的解决方案是这个Chrome扩展,但它将数据存储在CSV中(不像数据库那么健壮,但它是可修复的),并且是专门针对Google的。

这个问题有什么解决办法吗?如果没有,为什么?以上提出的解决方案是否有效?

EN

回答 2

Security用户

发布于 2015-08-06 23:47:17

基于您概述的内容,您的解决方案似乎过于复杂,我不知道您为什么不对数据进行加密而不是对其进行散列。您可以在远程应用程序中存储的内容可能存在限制,可能需要对加密数据进行编码(类似于发送加密电子邮件时需要完成的操作)。这将消除将散列映射到原始文本的本地数据库映射的需要。需要这种映射将需要在所有可能的客户端之间共享数据库,这可能是一个问题--在大多数情况下,共享密钥比共享数据库更容易。

然而,从根本上讲,我认为问题在于试图在一些不是为其设计的东西上增加安全性。这很少是一条很好的路。解决方案往往过于复杂,而且经常会有漏洞,很难发现。真正的解决方案是使用包含所需安全级别的SaaS,并避免任何试图添加安全性的解决方案。

票数 1
EN

Security用户

发布于 2016-08-31 14:36:42

你的建议是一种方法。然而,有一个更简单的方法。正如Tim所建议的,在将PII数据发送到SaaS工具之前对其进行加密是一个更好的主意,因为您需要与需要查看明文版本的客户端共享的全部内容都是一个秘密密钥。而不是数据库。

您还没有提到收集和显示用户数据的工作流程。因此,我将假设PII的集合发生在用户在浏览器、应用程序等上执行一个操作时。假设您有一个网站,当用户单击某个特定链接时,会向Google Analytics发送通知以记录单击。

在这种情况下,您可以将单击通知传递给您自己的服务器端代码,该代码加密PII位并将其转发到Google -或者--如果Google Analytics需要直接连接,则需要在客户端本身进行加密(例如使用Javascript )。秘密密钥将在第一种情况下存储在服务器端(推荐),在第二种情况下存储在客户端(不推荐)。

如果您对SaaS供应商存储的秘密密钥不感到烦恼,最好选择一个SaaS工具来自动加密来自用户的所有通知的PII,从而不需要您的额外操作。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/95682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档