在实体框架中保护个人身份信息



在使用实体框架时,我正在努力解决如何保护某些特定信息的问题。SSN字段就是一个很好的例子。我正在开发一个允许用户输入SSN的应用程序。允许管理员在SSN上搜索。我应该在记忆中保护SSN的安全。

我的解决方案是从实体生成的类中删除ssn字段,创建一个包含ssn字段的分部类,该字段使用一个将数据存储在securestring中的backing属性。

它并不完美,但它有效。它有一个真正的问题,因为每次有人更新实体框架时,实体都会在我身上重新生成SSN字段。我浏览了.tt文件,但我觉得我没有掌握如何识别SSN字段,并让它跳过重新生成它。

是否有保护非密码的敏感信息的最佳实践?加密数据库中的所有内容对我们来说不是一个好方法。我们经常让Analyst对数据库进行直接查询。如果所有重要信息都被加密,那么这将干扰他们的工作。

这是一个MVC 5项目,具有n层架构中的实体6.1。此外,我正在使用AutoMapper映射到数据传输对象。

想法?

您遇到的第一个问题是"在内存中"需要保护SSN。有时它必须是纯文本,因此无法满足此要求。

我将研究透明数据加密并处理数据库性能问题。毕竟,使用SSN必须有一些风险/回报。。。

最新更新