使用硬件加密设备(例如USB加密加密狗/密钥库)是否有正当理由使用软件库?

时间:2009-07-29 13:35:12

标签: encryption encryption-asymmetric

如果您的应用程序需要加密/解密数据(由于各种原因),您是否有任何理由使用硬件设备(例如USB加密设备 - 如Marx CryptoBox)而不是使用软件加密库(如.net加密或自己编写)并将密钥保存在安全的密钥库中?

我正在寻找关于此事的一些客观意见。


缩小提出的问题:如果使用usb加密加密狗的系统安装在物理安全的服务器保险库中,并且只存在一个系统(即不是在许多桌面上分发和运行的软件产品)?简单来说,上述系统的目的是验证(解密和比较)一段传入的加密数据。


到目前为止,感谢您的出色答案!

4 个答案:

答案 0 :(得分:3)

这不是什么更安全,因为没有什么是100%防弹。这是一个关于“如何尽可能让它变得困难”的问题

你可以从这一点看到它:如果你在计算机上存储密钥,它们就会全天候存在。如果我的一对钥匙在外部设备上,则只有在连接到设备时才能访问这些键。 ==>您可以缩短其他人复制密钥的时间范围。如果不需要物理访问,访问内容会容易得多。

想想网上银行业务:许多银行都增加了“外部”认证方式,如Tan / Tac / tanSMS / tokengenerators等。这两种方式都不安全:我可以窃取你的登录密码,我可以偷你的手机,我可以偷你的Tac / Tan列表等等。但是chaces非常低,我可以立刻窃取所有必要的元素=>拼图的所有部分共同构成了一个非常安全的解决方案。

还要考虑这些因素:

  • money:你真的需要为你的100美元应用程序提供70美元的基于令牌的保护吗?
  • 时间:我会说基于软件的系统更快
  • 相关性:为我的应用提供如此复杂的保护系统是否有意义

答案 1 :(得分:1)

是的,有。

首先,这允许您通过安全通道物理传输私钥,而不是信任网络。

另一方面,如果你必须在很多非网络连接的系统之间移动,那么USB密钥就更方便了。这就是为什么军方使用的系统非常类似(EKMS)。他们不使用USB,但他们使用看起来像大塑料钥匙的小加密狗。这个想法是一样的,但是在90年代早期开发它时,USB并不存在。

alt text

(注意:维基百科文章的完整程度有点可怕。当我在KP工作时,我被告知我们可以在我们的简历中加上FIREFLY等缩略语,但是我们不被告知任何人他们的意思。)

答案 2 :(得分:1)

硬件密钥允许用于将软件的使用限制在插入密钥的计算机上。

通过软件加密,可以更轻松地将软件复制到多台计算机并多次并行运行。

答案 3 :(得分:1)

我认为这取决于您的应用程序的目的/用途。如果您正在开发满足高安全性需求的产品,例如银行或政府,那么为您的解决方案添加硬件可能是完全合适的。您必须考虑硬件解决方案将为项目添加的额外成本。不仅在初始开发中,而且在开发完成后需要的持续硬件维护成本。从我的角度来看,过去曾经从事银行业务,我们认为硬件解决方案非常非常少,因此需要额外的成本。