已签名的数字签名二进制文件

时间:2011-08-19 23:17:54

标签: security digital-signature

http://en.wikipedia.org/wiki/Digital_signature#Using_digital_signatures_only_with_trusted_applications警告“恶意应用程序可能通过在屏幕上显示用户的原始文件来诱骗用户签署任何文档,但将攻击者自己的文档呈现给签名应用程序。”

关注non-repudiation,如何真正确保文档查看器或签名应用程序或两者都未被恶意代码替换?

即使二进制文件已签名,也会doesn't seem to be a way阻止代码在内存中被修改。即使有办法,攻击者也不能简单地修改两者查看器和签名应用程序?

此问题不是特定于Windows的。我愿意接受任何操作系统的使用。

2 个答案:

答案 0 :(得分:2)

  

着眼于不可否认性,怎样才能真正确保   文档查看器或签名应用程序,或两者都没有   被恶意代码取代?

用户计算机的安全性对于涉及安全性的一切都至关重要。如果您无法信任您的操作系统和已安装的应用程序,那么每个签名机制都可能被破坏或欺骗。

  

即使签署了二进制文件,也似乎没有办法   防止代码在内存中被修改。即使有办法,   攻击者无法简单地修改查看者和签名   应用

是的,他可以。

考虑到最安全的机制,可以评估计算机的安全性。建立强大的加密工作,如果您的操作系统受到损害,则根本没用。

编辑:

  

那么我如何确保操作系统没有受到损害?

好吧,你绝对不能确定你的操作系统是安全的。有许多不同的事情需要考虑:

  1. 有多少人可以访问该操作系统?
  2. 你在谈论哪种操作系统?
  3. 哪些任务由该操作系统的用户执行?
  4. 该操作系统是否连接到Internet?如果是,您的网络基础架构是如何组织的?
  5.   

    我是否可以以只读方式启动操作系统和应用程序   驱动?

    我不知道。也许你可以。但是,如果有人可以利用您计算机上运行的服务(例如具有root权限的服务器应用程序),那么只读驱动器将无法保存您。

      

    你推荐什么?

    首先尝试评估系统真正需要的安全级别。可能你无法实现完美的安全性。然后尝试做出妥协。

    请记住,安全性和可用性可能会成为一种权衡。如果您强制执行安全策略,系统的可用性可能会降低。

    关注我个人的建议:

    1. 使用开源操作系统。否则你无法确定机器内部的真实情况。
    2. 尝试配置限制性防火墙。拒绝除了您真正需要的服务之外的每个服务的网络访问权。
    3. 如果您的系统被许多人使用(特别是如果他们对安全性一无所知),请尝试教他们一些安全原则。人通常是利用最薄弱的部分(例如社会工程)。
    4. 仅安装您真正信任的开源软件或软件。保持系统更新。

答案 1 :(得分:0)

不可否认性是一个非常值得商榷的主题。在欧盟,存在一项指令(1999/93 / EC),该指令规定了这种不可否认签名的“您所看到的是什么”。正如您已经提到的,棘手的部分是我们如何提供这种保证?

如果您的操作系统受到攻击,那么攻击者可能会在操作系统级别弄乱您的计算机,那么单靠安全签名设备(例如智能卡)无法为您节省开支。虽然设备是安全的,但攻击者可以在屏幕上显示与您最终签名完全不同的内容。

签名且因此受信任的代码也无法解决这一难题。该软件可能具有示例性安全性,但您仍然可以摆弄输入和输出,无论是在文件系统,内存等等。

因此,确保此WYSIWYS原则的唯一真正安全的方法是安全的硬件设备 签署显示带外数据,即与受感染操作系统的窥探分开。理想情况下,它还负责输入PIN(针垫或s.th.),因为在安装了密钥记录器的机器上输入PIN - 不安全。只有这样,用户才能确保他们在显示器上看到的内容正是传输到设备的内容 - 然后可以决定是否应用他们的不可否认签名。

这些设备存在(至少我在现实生活中看到它们减去显示方面 - 关于那些我只听过人们说话的那些)但是现在它们仍然很少见,因为它们仍然太昂贵而无法将它们推向大众

相关问题