处理用户私人信息的应用程序的安全措施

时间:2010-05-20 17:20:35

标签: c# asp.net security

我目前正在开发一个ASP.NET 3.5和C#Web应用程序,它处理用户私人信息,如SSN号码。从应用程序开发的角度来看,我需要采取哪些安全措施来保证安全?

4 个答案:

答案 0 :(得分:1)

如果您需要通过网络表单向用户提供合理的信息,则应使用SSL(https网址)进行保护。这有助于您保护浏览器和服务器之间的通信通道。

除非严格必要,否则不应在数据库中存储私人和明智的信息,如果必须这样做,则必须加密存储。

答案 1 :(得分:1)

嗯,除了使用加密的明显问题之外,我还被告知,避免将用户的状态作为类的一部分是一种很好的做法,特别是在外部代码库中。

例如:而不是:

  

public class secretClass()
  public sub new(ssn as string)
  _ssn = ssn
  结束子   公共函数getMedicalHistory()as DataSet
   '获取私人信息   结束功能
  结束班

使用此:

  

public class secretClass()
  public sub new()
  结束分
  公共函数getMedicalHistory(p_ssn as string)作为DataSet
  '获取私人信息   结束功能
  结束班

通过这样做,您使恶意黑客更难以通过某种方式获取对secretClass对象的控制来窃取私人信息。

答案 2 :(得分:1)

禁用对数据库的远程登录,使用多个代码分析工具(代码覆盖和静态分析器),强制登录系统的强密码要求,至少使用SHA-1加密方案加密所有数据;根据政府要求,发现MD5太弱了。

答案 3 :(得分:1)

要保护您的应用程序,您需要了解它将面临的威胁,然后制定适当的缓解技术。一个好的起点是创建一个威胁模型

看看其中一些资源: