Asp.net mvc 在实体框架中保护个人身份信息

Asp.net mvc 在实体框架中保护个人身份信息,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我正在努力解决如何在使用实体框架时保护某些特定信息的问题。SSN字段就是一个很好的例子。我正在开发一个允许用户输入SSN的应用程序。允许管理员在SSN上搜索。我应该在内存中保护SSN的安全 我的解决方案是从实体生成的类中删除ssn字段,创建一个包含ssn字段的分部类,该ssn字段使用支持属性将数据存储在securestring中 这不是完美的,但很有效。它有一个真正的问题,因为每次有人更新实体框架时,实体都会在我身上重新生成SSN字段。我浏览了.tt文件,但我觉得我还没有掌握如何识别SSN字段并

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

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

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

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

这是一个MVC5项目,在n层体系结构中具有实体6.1。此外,我还使用AutoMapper映射到数据传输对象


想法?

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

我将调查并处理数据库性能受到的影响。毕竟,使用SSN会有一些风险/回报