Java 随着美国国家安全局的数据窥探披露,应用程序开发人员可以做些什么来防止这种情况?
最近披露的NSA/GCHQ的窥探行动令人恐惧。我相信作为开发者,我们有责任保护我们的用户数据。我们可以采取什么步骤来防止数据被盗,使用本文中描述的方法:卫报的文章,虽然很好,但缺乏攻击的细节。因此,我将不那么担心这篇具体的文章,而更多地关注如何在一般情况下防止“数据盗窃”,正如您所说的那样 首先要做的是在所有Web交互中使用SSL,例如Web服务调用。根据需要为其他协议使用等效的加密选项(例如,电子邮件的TLS)。这将大大有助于保护“动态数据”。这也是一种通常易于实现的方法。考虑添加证书钉扎和类似的技术来帮助防御中间人(MITM)攻击。 以下是我去年发表的四篇博文,这些博文更多地介绍了Android上的SSL:Java 随着美国国家安全局的数据窥探披露,应用程序开发人员可以做些什么来防止这种情况?,java,android,security,encryption,Java,Android,Security,Encryption,最近披露的NSA/GCHQ的窥探行动令人恐惧。我相信作为开发者,我们有责任保护我们的用户数据。我们可以采取什么步骤来防止数据被盗,使用本文中描述的方法:卫报的文章,虽然很好,但缺乏攻击的细节。因此,我将不那么担心这篇具体的文章,而更多地关注如何在一般情况下防止“数据盗窃”,正如您所说的那样 首先要做的是在所有Web交互中使用SSL,例如Web服务调用。根据需要为其他协议使用等效的加密选项(例如,电子邮件的TLS)。这将大大有助于保护“动态数据”。这也是一种通常易于实现的方法。考虑添加证书钉扎和类
关于“REST数据”(存储在设备上),考虑将加密作为对用户的选项。与SSL一样,技术的细节将因平台而异。是个人的最爱,适用于大多数平台,包括标签中的列表。然而,还有很多其他选择
如果确实提供加密,请确保用户可以选择提供密码短语,而不是使用硬编码密码短语或从其他设备数据派生的内容。如果可以在无需人工干预的情况下确定密码短语,则有被发现的风险,或者至少有被攻击者自动获取的风险除此之外,我建议您针对特定平台的技术提出问题。在StackOverflow上,像这样的带有一系列平台标签的“散弹枪”问题往往不太受欢迎。未经用户明确同意,不要存储或传输个人识别数据。将应用程序上的权限限制为尽可能低。许多用户已经了解这一点。我不安装应用程序的最常见原因是它需要的权限数量。感谢您的回复,Simon,不过我想听听开发人员如何加强代码中的安全性以防止这种情况发生。尽管用户在安装应用程序时的注意事项也是受欢迎的。谢谢您的回答和建议。碰巧我目前参与的开发是android,所以我发现你的答案非常有用。我已经编辑了我的问题标签,将其细化为android。但是,像SSL这样的安全加密协议,不是很多都有后门吗?它们是由最初的开发者编写的吗?@Dan:当然欢迎你提供证据链接。@Commonware,但我不知道我可以为此提供什么链接?我如何证明像RSA这样的加密算法的制造者实际上是由国家安全局付费来增加后门的。我唯一能想到的是,我在YouTube上看过一些关于这方面的纪录片。如果你在YouTube上搜索“rsa backdoor for nsa”,你会看到。还可以查看其他频道,如“Alex Jones频道”-它也有一些关于NSA的视频。@Dan:如果你对特定的加密协议及其安全性有疑问,请继续询问。