【问题标题】:What can be used as an alternative to encryption on SQL server?什么可以用来替代 SQL 服务器上的加密?
【发布时间】:2014-03-03 04:24:55
【问题描述】:

我们有一个流程,其中数据从一个数据库发送到另一个数据库进行分发。当时选择的过程是加密数据,因为所有人都可以访问数据库。然而,解密数据是一个缓慢的过程。 有哪些替代方法可以保护服务器上的数据以防止访问?

【问题讨论】:

  • 如果您告诉我们有关您正在加密的内容以及为什么要加密的更多详细信息,也许我们可以建议替代方案。最好你还提到谁可以访问数据,必须从谁那里获取数据,以及出于什么原因。使用过的软件(DBMS、服务器等)也值得一提。

标签: sql sql-server encryption


【解决方案1】:

几条建议

  1. 与 DBA 合作创建角色并限制对敏感列的访问。在这种情况下,您不必加密。
  2. 由于法规要求,您必须加密的列很少。选择性地仅加密包含敏感数据的列。

还可以使用相对较快的算法,例如 AES。如果尚未完成,您还可以缓存加密对象。

【讨论】:

    【解决方案2】:

    这一切都取决于您的要求。

    如果您确实需要对有权访问数据库的人保密数据,那么您几乎别无选择,只能加密。

    如果您将数据发送到其他位置并且传输本身需要安全,您可以使用加密进行通信,即通过 https 的 web 服务或通过 tcp/ip 的自定义加密,或保存到平面文件和将其作为一个整体进行加密..

    如果数据本身需要对有权访问它的人隐藏,那么就有一个问题是数据需要有多安全。如果您只是想避免使用明文,可以使用一些非常快速的加密算法可以用的,这里是List of different encryption algorithms

    但是,如果您要存储诸如病史或银行信息之类的内容,那么您别无选择,只能升级硬件以提高性能或像男人一样花时间处理;)。

    如果我们谈论的是密码,你只需要知道用户是否输入了正确的密码,那么你可以用盐对密码进行哈希处理,并与数据库哈希进行比较,在这里阅读更多信息:@ 987654322@.

    【讨论】:

    • 我在算法选择上的 2 美分:如果性能是一个问题,请始终选择 AES,因为大多数现代处理器都有专门的硬件。如果 AES 被认为不够安全,则双倍密钥长度 - 它仍然比支持 AES 的硬件上的所有其他算法快得多。如果安全性比性能更重要,请使用 Serpent 或 Twofish。
    【解决方案3】:

    简单的答案:没有。防止对数据库表具有物理访问权限的人(注意:数据库表 - 大多数 DBMS 可以为单个表设置访问权限)读取它的唯一方法是加密数据。真的就是这么简单。

    【讨论】:

    • 对数据进行哈希处理怎么样?我们的过程需要 2 小时来解密 160,000 行。好像很久了。
    • 哈希是不可逆的。它确实阻止了每个人阅读它——也就是说,每个人。您无法从哈希中获取明文。永远。
    • 它变得更好了。选择的解决方案首先不起作用。我想访问描述键是微不足道的。
    • 有可能,如果也存储在服务器上,是的。
    • @JohannesH。你不能说哈希值永远不会被逆转,这并不容易en.wikipedia.org/wiki/Rainbow_table。基本上所有的加密都是一样的,都可以逆转,但有些时候逆转的时间太长,被认为是不可能的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多