应该在应用程序或数据库级别进行加密的位置?

时间:2013-11-22 09:17:01

标签: java sql-server security encryption

为了保护Web应用程序的敏感数据,出现的问题是,最佳做法是使用jasypt(对于Java)在应用程序级别进行加密并将加密数据保存到数据库中或使用加密机制(例如) )MSSQL 2012?

方面
  1. 安全问题
  2. 表现问题
  3. 这里最佳做法是什么?

    编辑:

    提供有关应用程序类型的更多详细信息:它是一个Web门户,用户可以将敏感数据上载到门户网站,门户网站所有者会对此数据进行评估。它将在客户站点使用,因此我们对访问服务器和对应用程序服务器的有限控制的控制有限,

3 个答案:

答案 0 :(得分:1)

这一切归结为信任问题。您是否完全控制应用程序服务器?什么是威胁等级?如何在该级别上泄露敏感数据?然后,它在数据库级别上如何?你能控制数据库吗?谁可以访问它呢?

您的问题一般无法回答。这一切都取决于您希望受到保护的威胁类型。

  • 通常,如果在应用程序中加密,则很难使用高效的数据库检索技术。通常,索引会以有意义的方式停止工作。排序变得很难等......

  • 如果您在数据库级别加密,您应该考虑对传输进行临时加密(想想SSL或SSH隧道)

  • 如果您真的想要保护数据,那么性能应该是一个小问题。我不是这方面的专家,但我认为应用程序数据加密以及数据库级别都有很好的解决方案。

答案 1 :(得分:0)

通常,数据应该通过网络发送到另一端的解组。然后,在存储数据时,您实际上可以对其进行加密。

答案 2 :(得分:0)

AFAIK,没有重大的性能问题,因为性能与加密无关

下一步,关于安全性关注数据应该在代码级加密,这样可以确保data在通过网络传递时是安全的

最后,同一data将保存在数据库中。这将通过网络以及数据容器确保这两个地方的安全。