问题标签 [sensitive-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7800 浏览

git - 您如何处理公共 git 存储库中的敏感数据?

当您将代码保存在公共 git 存储库中时,您如何处理敏感数据,例如秘密 API 密钥、哈希盐?

显然,将敏感数据保存在代码中会危及它。

另一种解决方案是不对代码中的秘密信息进行硬编码,而是将其存储在独立文件中并 gitignore 文件。这样做的缺点是,当有人第一次提取您的代码时,秘密信息将会丢失,并且不会开箱即用。这可以通过在代码中编写“如果丢失则初始化”例程来解决,但是您会让 git 系统滑入您的代码中,这在 IMO 不是一件好事。

另一种解决方案是制作一个“默认”秘密信息文件,在项目开始时提交它,然后使用您自己的信息而不提交它。但这可能会让 git 抱怨你在拉取时有未提交的更改。

那么常见的处理方法是什么?

0 投票
3 回答
836 浏览

asp.net - 隐藏asp.net GridView中的数据,编辑时除外

我正在使用 asp:GridView 在 asp.net、.aspx 页面中显示数据表。我有一列包含敏感信息。我想显示数据灰显的列或任何其他隐藏它的方法,因此当页面/gridview 加载时,不只是该数据列的巨大可见列表。
但是,当在特定行上单击编辑按钮时,我希望列中的敏感数据可见且可编辑。

关于如何实现这一目标的任何想法?

0 投票
3 回答
1325 浏览

java - Java 和 Web 开发:存储自定义敏感数据(如私钥、API 密钥等)的良好实践

您建议在 Spring MVC 应用程序中(或实际上在任何其他 JAVA Web MVC 应用程序中)存储自定义敏感数据?假设我有一个 API 密钥,我需要它可用于我的控制器。我可以考虑的几种解决方案:

1-使用静态类:

2-使用上下文参数(web.xml):

3-使用自定义.properties文件:

4-使用自定义.xml文件:

5-您可能有的任何其他想法/解决方案:)

谢谢。

0 投票
3 回答
1612 浏览

asp.net - 如何将敏感数据从视图传递到控制器

为了构建一个包含大量信息的实体,我需要执行一系列表单提交。每次我从控制器返回视图时,我都需要传递一些关于尚未建立实体的 id。现在我将这些信息注入隐藏字段,并在回发到服务器时继续构建实体。这种情况持续了几次。我对这种传递敏感信息的方式非常不满意,想知道是否还有其他更合适的方式。我使用授权和身份验证,但仍然担心在某些情况下,一个用户可能会破解这些 id,然后再将其发送回服务器,然后修改错误的实体。

此外,来回传递相同的数据似乎是一种艰苦的工作。我取消了使用会话的资格,因为它揭示了另一种数据中断威胁。(如果一次使用多个浏览器)。

我应该如何执行上述操作?

0 投票
2 回答
196 浏览

asp.net-mvc - 在 MVC 中,如何验证提交的表单隐藏字段的可靠性?

在 mvc 中,当提交给控制器时,如何验证用户没有恶意更改只读隐藏表单字段?

0 投票
3 回答
2090 浏览

github - DVCS(Github、BitBucket 等)如何确保私有项目代码的完整性?

DVCS(Github、BitBucket 等)如何确保私有项目代码的完整性?

当然,当您将代码上传到他们的在线存储库时,这些公司声称没有知识产权,但是如何确保项目的隐私,以便只有对此类存储库具有写入/提交访问权限的人才能真正查看数据?

如果您决定,比如说,将您的项目移动到私有服务器或其他主机,会发生什么?您的项目会从公共索引中“删除”还是仅“删除”?

您如何确定项目所在公司的 CEO 无法查看您的数据?

这些公司是否通过某种常规认证?还是基于信任和理解的整个交易?

0 投票
2 回答
848 浏览

java - 来自 -- response.getWriter().write(xml.toString()) 的敏感数据泄露;通过网页

xml是一个StringBuffer对象。

我有这段代码,语法中有一些敏感数据泄漏 response.getWriter().write(xml.toString());。我对这件事没有任何想法。

谁能告诉我一些关于这件事的事情?代码审计工具报告了此问题。

0 投票
1 回答
253 浏览

security - 加密敏感数据的加密算法 - AES-256?

在我的一个应用程序中,我将存储用户凭据和令牌。由于凭据直接用于第三方服务,因此我无法对它们进行哈希处理,因此需要按原样存储它们。

由于我不是加密方面的专家,我搜索了一下,发现 AES 256 位密钥大小是加密此类数据的好主意。

在我做出最终决定之前,我想知道 SO 社区对此的看法。

谢谢!

编辑:感谢大家的讨论,我目前正在使用 AES256 作为加密机制,这似乎是一个不错的选择。

0 投票
1 回答
1170 浏览

security - 临时存储敏感数据

场景如下:应该临时存储一个加密密钥,以便应用程序的多个实例可以(顺序地)访问它。使用后,密钥当然应该从系统中移除。然而,这带来了一个问题。我承认只要存储了密钥,系统就容易受到攻击,但我希望系统在存储密钥之前和之后都是安全的。

简单地将密钥写入文件并在之后覆盖它不会在所有情况下都有效:某些文件系统将更改写入磁盘的不同部分,而不是写入相同的位置。在这种情况下,之后仍然可以检索密钥。我不能依赖具有全盘加密的用户。

那么最合乎逻辑的选择似乎是使用另一个将密钥保存在内存中的进程,但是操作系统可能会在某些时候将内存写入磁盘,从而导致与上述相同的问题。

加密密钥是可能的,但这并不更安全。临时存储密钥的全部意义在于用户无需在每次运行程序时都输入它。这意味着用于加密密钥的密钥也必须存储在某个地方,或者它必须基于已知数据。如果存储了密钥,那么当然我们现在遇到了安全存储密钥的问题。如果是基于已知数据,那意味着在必要时可以再次生成密钥,所以加密几乎没有用处。

我知道一些操作系统提供 API 来保护数据,但这通常依赖于根据用户帐户信息生成加密密钥。即使这是特定于会话的,在会话结束之前数据也不会是安全的(这可能在密钥应该被擦除之后很长时间)。

这个问题有没有解决方案(不依赖特殊硬件,不需要全盘加密等)?如果没有,在这种情况下我能做的最好的事情是什么?

编辑澄清:当密钥存储在内存中时,它不需要是安全的;此时,用户应保证无法进行物理访问,并且系统没有病毒。使用密钥后,应将其从系统中删除,以便之后具有物理访问权限的任何人或任何程序都可以检查所有内存和磁盘,而不再找到密钥的单个(可用)痕迹。

0 投票
1 回答
455 浏览

php - 使用 mcrypt 加密敏感数据

大家好,我有一个关于加密/解密个人敏感信息的安全问题:身份(姓名、地址、电话号码)、银行详细信息(排序代码和帐号)授权人使用个人数据。现在主要的问题是: 1. 我的方法足够安全吗?
2.有没有更好的方法?
3. 我应该在哪里使用来自数据库或 $_SESSION 的密钥?(最好在哪里使用它们进行解密,以便用户查看他的详细信息)

这是代码:
$iv = mcrypt_create_iv(32, MCRYPT_RAND);
$key = mcrypt_create_iv(32, MCRYPT_RAND);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $unencrypted, MCRYPT_MODE_CBC, $iv);

那是为了在我将数据发送到数据库之前对其进行加密

$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv );

这就是解密方法。(使用上面示例中的 $encrypted、$key 和 $iv)。