Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 使用硬件加密设备(如USB加密加密狗/密钥库)而不是使用软件库是否有正当理由?_Encryption_Encryption Asymmetric - Fatal编程技术网

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

Encryption 使用硬件加密设备(如USB加密加密狗/密钥库)而不是使用软件库是否有正当理由?,encryption,encryption-asymmetric,Encryption,Encryption Asymmetric,如果您的应用程序需要加密/解密数据(出于各种原因),您是否有理由使用硬件设备(如USB加密设备-如Marx加密盒)而不是使用软件加密库(如.net加密或编写自己的)并将密钥保存在安全的密钥存储中 我正在寻求对此事的一些客观看法 缩小提出的问题范围:如果使用usb加密狗的系统安装在物理安全的服务器保险库中,并且只有一个系统存在(即,它不是一个在许多桌面上分发和运行的软件产品),您会怎么看?简单来说,上述系统的目的是验证(解密和比较)一段传入的加密数据 谢谢你的回答 这与什么更安全无关,因为没有

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

我正在寻求对此事的一些客观看法


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



谢谢你的回答

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

你可以从这一点上看出来:如果你把钥匙存储在电脑上,它们就会全天候存在。如果我的一对密钥位于外部设备上,则只能在连接到设备时访问这些密钥。==>您减少了其他人可以复制您的密钥的时间范围。如果不需要物理访问,那么访问某些内容会容易得多

想想网上银行:许多银行增加了“外部”身份验证方式,如Tan/Tac/tanSMS/tokengenerators等。这两种方式本身都不安全:我可以窃取你的登录密码,我可以窃取你的手机,我可以窃取你的Tac/Tan列表等等。但是我可以一次窃取所有必要的元素=>拼图的所有部分一起创建一个非常安全的解决方案

还要考虑以下因素:

  • 金钱:你真的需要为你的100美元应用提供70美元的代币保护吗
  • 时间:我认为基于软件的系统更快
  • 相关性:为我的应用程序提供如此复杂的保护系统有意义吗
  • 是的,有

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

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


    (注意:那篇维基百科文章的完整程度有点吓人。当我在写KP时,有人告诉我,我们可以在简历上使用类似的首字母缩写词,但我们不允许告诉任何人它们的意思。)

    硬件密钥允许将软件的使用限制在插入密钥的机器上


    使用软件加密,将软件复制到多台机器上并并行运行多次会更容易。

    我认为这取决于应用程序的用途/用途。如果您正在为高安全性需求(如银行或政府)开发产品,那么在解决方案中添加硬件是完全合适的。你必须考虑硬件解决方案会给项目带来的额外成本。不仅在最初的开发中,而且在开发完成后需要持续的硬件维护成本。从我的角度来看,在过去从事银行业务的人中,我们认为硬件解决方案值得付出额外成本的解决方案非常少。

    100美元的应用程序很可能处理100.000.000美元的交易。例如,如果是Excel,“更安全”并不意味着它是防弹的。更安全的定义意味着它比另一个更难。只是说:)如果软件位于一个安全的环境(服务器保险库)中,并使用设备纯粹存储其密钥以及设备的硬件加密功能,您会怎么看?系统的目的是验证(解密和比较)传入的加密数据。