标签: sensitive-data

你如何处理公共git仓库中的敏感数据?

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

显然,将敏感数据保留在代码中会对其造成损害.

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

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

那么处理这个问题的常用方法是什么?

git sensitive-data

21
推荐指数
2
解决办法
4972
查看次数

Android私人内容提供商?

我正在开发一个涉及一些敏感用户信息的应用程序.我通过私人网络API检索此信息.我正在尝试确定将此数据导入我的应用程序的最佳方法.现在我正在探索创建一个可以这样做的内容提供商; 我的犹豫是让它变得安全.我希望这些数据只能由我的应用程序使用.理想情况下,没有其他应用程序甚至不知道它存在.

您是否有任何关于如何有效和安全地做到这一点的指示或建议?有关数据源的内容提供商的任何信息都是远程OAuth'd API?

谢谢!

编辑:我说内容提供商,但如果这不是我需要的最佳方式,请务必让我知道还有什么可以研究.

security android web-services android-contentprovider sensitive-data

19
推荐指数
1
解决办法
5587
查看次数

通过社会安全号码安全存储和搜索

因此,我正在研究人力资源部门所需的基于网络的补充系统,以存储和搜索前人员的记录.我满足了这个要求,但最终传下来的是系统必须能够通过完整的SSN进行搜索,并检索完整的SSN.除了我的抗议之外,采取一些措施保护这些数据实际上将是他们现在正在做的事情的巨大改进(你不想知道).

我一直在做很多研究,我认为我已经提出了一个合理的计划 - 但是就像所有加密/安全相关的东西都有很多复杂性,并且很容易犯错误.我的粗略计划如下:

  1. 在第一次运行应用程序时,使用RijndaelManaged生成大型随机盐和128位AES密钥
  2. 将这两个写入明文文件以进行紧急恢复.该文件将在离线存储在安全的物理位置.应用程序将检查文件是否存在,如果它仍然在那里,则尖叫警告.
  3. 将盐和密钥存放在某处.这是我没有很好答案的部分.我打算使用DPAPI - 但我不知道它在一天结束时到底有多安全.将它留在明文并限制文件系统访问其存储的目录,我会更好吗?
  4. 将记录写入数据库时​​,将SSN与上面的大盐值一起散列,以生成可搜索的字段(但不能在不获取盐和暴力的情况下恢复所有可能的SSN),并且AES使用以下方法加密原始SSN值.新的IV(存储在旁边)生成可检索的字段(使用密钥/ iv)但不可搜索(因为加密相同的SSN两次应产生不同的输出).
  5. 搜索时,只需使用相同的哈希值搜索值,然后在数据库中查找
  6. 检索时,使用AES密钥/ iv解密数据库中的值

除了需要以相对安全的方式存储密钥(上面的数字3)之外,它似乎足够坚固.

对我们不起作用的事情:

  • "不要做任何这个"不是一种选择.这需要做,如果我们不这样做,他们会a)对我们生气,b)只是通过电子邮件传递明文档中的所有数字.

这只是我们网络的内部,所以我们至少在这里实现的任何内容上都有这层保护.对应用程序本身的访问将由活动目录控制.

感谢您阅读,以及任何建议.

更新#1:我从评论中意识到为SSN检索字段保留私有IV是没有意义的.我更新了计划,为每条记录正确生成新IV,并将其与加密值一起存储.

更新#2:我正在删除我不能做的事情列表中的硬件内容.我做了一些研究,看起来这些东西比我想象的更容易接近.使用其中一个USB安全令牌的东西是否为密钥存储增加了有意义的安全性?

.net c# asp.net encryption sensitive-data

10
推荐指数
1
解决办法
3751
查看次数

基于用户角色的ASP.NET WebAPI条件序列化

我有一个ORM(NHibernate)映射到POCO,它将在ApiControllers中返回.我意识到JSON.NET允许我在我的模型上放置条件序列化方法(ShouldSerialize*); 然而,这些模型及其方法对环境一无所知,也不应该知道.我想要做的是根据用户登录我的网站时的角色有条件地序列化模型或其一个或多个属性.我可以从概念上理解如何做到这一点,但我在一个部分迷失了.这是一个示例模型:

public class SomeModel
{
    public string SomeProperty { get; set; }

    [Sensitive]
    public string SomeOtherProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在属性上添加一个属性,将其标记为"敏感".然后在我的WebApi中将它序列化为输出时,我希望它检查该属性的模型,如果存在,则应该检查用户的角色.如果用户处于指定角色,则序列化程序应该序列化该属性,否则它将掩盖它或者根本不对其进行序列化.那么我是否必须编写自己的自定义格式化程序来处理这个问题,或者有没有办法挂钩内置的格式化程序来执行此检查?或者我的想法太局限了,还有另一种方法可以解决这个问题吗?

我确实认为可以处理的其他方式是在ORM级别,但无法在线找到好的示例.

非常感激!

编辑:我在这里找到了另一个类似的问题: 基于权限的WebApi端点的上下文序列化, 但没有解决方案.另外,我不喜欢通过属性在模型中设置基于角色的访问的想法.我认为应该在Web应用程序中处理.

c# nhibernate serialization sensitive-data asp.net-web-api

8
推荐指数
1
解决办法
3733
查看次数

如何防止跟踪 URL 中的敏感数据?

我的单页应用 (SPA) 中的某些 URL 包含敏感信息,例如访问令牌、用户信息等。

例子:

/callback#access_token=HBVYTU2Rugv3gUbvgIUY
/?email=username@example.com
Run Code Online (Sandbox Code Playgroud)

我看到hotjar允许从跟踪数据中抑制 DOM 元素和图像。是否可以在 URL 中隐藏参数或至少禁用某些页面的跟踪?

javascript sensitive-data single-page-application hotjar

7
推荐指数
1
解决办法
551
查看次数

将每个客户的 Stripe 配置存储在 SaaS 应用程序中

网站构建器 SaaS 应用程序具有一项功能,可让客户将其 Stripe 帐户连接到其网站并接收资金。该 SaaS 应用程序的每个用户(网站所有者)都有一个 Stripe 帐户。

在应用程序的开发阶段,我们只是以加密的方式将每个客户的 Stripe 公钥/私钥存储在内部数据库中。但即使它是加密的,这也不是我们在生产环境中采用的方法。

在数据库中安全地存储每个帐户的敏感 Stripe 配置的正确方法是什么?

sensitive-data stripe-payments

7
推荐指数
1
解决办法
619
查看次数

从路由号码获取银行名称

谷歌搜索一系列常见的路由号码和他们在美国的银行名称,提取了一整套垃圾网站.任何人都可以指出我在哪里可以找到这样一个数组或更好的javascript/jquery插件来处理路由号码解析?

我知道Stripe必须至少有这个列表,因为当我在OAuth协议期间给他们我的路由号码时,他们会告诉我我的银行名称.

如果我无法获得此列表,我猜Stripe必须有特殊的许可(?)这对我来说很奇怪,因为这些数字对于每个使用每个银行的人来说都是一样的.

无论如何,这里的信息稀缺是什么?

javascript php banking sensitive-data stripe-payments

6
推荐指数
1
解决办法
1万
查看次数

如何将个人身份与个人数据分开?

我正在编写一个应用程序,主要目的是保持用户购买列表.

我想确保即使我作为开发人员(或任何完全访问数据库的人)也无法弄清楚某个人花了多少钱或者他已经购买了什么.

我最初想出了以下方案:

    --------------+------------+-----------
    user_hash     | item       | price
    --------------+------------+-----------
    a45cd654fe810 | Strip club |     400.00
    a45cd654fe810 | Ferrari    | 1510800.00
    54da2241211c2 | Beer       |       5.00
    54da2241211c2 | iPhone     |     399.00
  • 用户使用用户名和密码登录.
  • 从密码计算user_hash(可能与盐渍等).
  • 使用哈希通过普通的SQL查询访问用户数据.

如果有足够的用户,通过了解他的名字,几乎不可能知道特定用户花了多少钱.

这是明智的做法,还是我完全愚蠢?

hash database-security sensitive-data

5
推荐指数
1
解决办法
638
查看次数

使用Drupal存储敏感数据

我需要使用Drupal的敏感数据来使用自定义模块.如果我只是通过GUI设置它们,它们将以未加密的形式存储在数据库中.任何有权访问它的人都可以访问我的敏感数据.

我现在可以看到两种解决方案:

  1. 找到一种方法将这些凭据安全地存储到数据库中;
  2. 将这些敏感数据放入credentials_inc.php文件中,将其包含在settings.php中以设置我的自定义模块可以使用的变量,并确保没有其他人可以读取该文件.

根据你的哪种解决方案最好?您有什么推荐的吗?还有其他最好的选择吗?

最好的祝福.

encryption drupal sensitive-data

5
推荐指数
2
解决办法
3921
查看次数

如何确保API令牌和密码保持关闭github

我正在考虑在github上发布一个项目.它可能包含像API令牌这样的敏感数据,我自然不希望这些数据是公开的.我想在本地使用正确的令牌,密码等代码,但只有占位符才能进入存储库.

我可以尝试记住每次推送之前删除这些数据(手动,自动?),但是本地和github副本显然是不同的,无论如何这似乎容易出错.

这种情况的好习惯是什么?

privacy github sensitive-data

5
推荐指数
1
解决办法
380
查看次数