Security 用于数字签名的签名二进制文件

Security 用于数字签名的签名二进制文件,security,digital-signature,Security,Digital Signature,警告可能存在“恶意应用程序通过在屏幕上显示用户的原始文档,但向签名应用程序显示攻击者自己的文档,从而欺骗用户对任何文档进行签名。” 请注意,如何才能真正确保文档查看器或签名应用程序或两者都没有被恶意代码取代 即使对二进制文件进行了签名,也存在防止在内存中修改代码的方法。即使这样,攻击者难道不能简单地修改查看器和签名应用程序吗 这个问题不是针对Windows的。我愿意接受任何操作系统的使用 着眼于不可抵赖性,如何才能真正确保 文档查看器或签名应用程序,或两者都未被删除 被恶意代码取代 用户机器的安

警告可能存在“恶意应用程序通过在屏幕上显示用户的原始文档,但向签名应用程序显示攻击者自己的文档,从而欺骗用户对任何文档进行签名。”

请注意,如何才能真正确保文档查看器或签名应用程序或两者都没有被恶意代码取代

即使对二进制文件进行了签名,也存在防止在内存中修改代码的方法。即使这样,攻击者难道不能简单地修改查看器和签名应用程序吗

这个问题不是针对Windows的。我愿意接受任何操作系统的使用

着眼于不可抵赖性,如何才能真正确保 文档查看器或签名应用程序,或两者都未被删除 被恶意代码取代

用户机器的安全性对于所有与安全相关的事情都至关重要。如果您不能信任您的操作系统和已安装的应用程序,那么每个签名机制都可能被破坏或欺骗

即使二进制文件已经签名,似乎也没有办法 防止在内存中修改代码。即使有办法, 攻击者不能简单地修改查看器和签名吗 申请

是的,他能

可以考虑安全机制中最薄弱的部分来评估计算机的安全性。建立强大的加密工作,如果您的操作系统已被破坏,则根本没有用处

编辑:

那么,我如何确保操作系统没有被破坏呢

嗯,你永远不能绝对肯定你的操作系统是安全的。有许多不同的事情需要考虑:

  • 有多少人可以访问该操作系统
  • 你说的是哪种操作系统
  • 哪些任务由该操作系统的用户执行
  • 那个操作系统连接到互联网了吗?如果是,您的网络基础设施是如何组织的 我可以以只读方式启动操作系统和应用程序吗 开车


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

    你推荐什么

    首先,尝试评估系统真正需要的安全级别。可能你无法实现完美的安全性。然后试着达成一个好的妥协

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

    关于我个人的建议:

  • 使用开源操作系统。否则,您无法确保机器内部发生的真实情况
  • 尝试配置限制性防火墙。拒绝网络访问除您真正需要的服务之外的所有服务
  • 如果你的系统被很多人使用(特别是如果他们对安全一无所知),试着教他们一些安全原则。人类往往是最脆弱的部分(如社会工程)
  • 只安装开源软件或您真正信任的软件。保持系统更新

  • 不可抵赖性是一个非常有争议的话题。欧盟有一项指令(1999/93/EC)规定了此类不可抵赖签名的“你所看到的就是你所签署的”。棘手的部分是,正如你已经提到的,我们如何才能提供这种保证

    如果您的操作系统被破坏,即攻击者可以在操作系统级别破坏您的机器,那么单凭安全签名设备(如智能卡)无法拯救您。尽管该设备是安全的,但攻击者可以在屏幕上显示与您最终签署的内容非常不同的内容

    有签名的、因而受信任的代码也不能解决这个难题。该软件可能是典型的安全软件,但您仍然可以在文件系统、内存等中处理输入和输出

    因此,确保所见即所得原则的唯一真正安全的方法是一个安全的硬件设备,它可以在带外对数据进行签名和显示,并与受感染操作系统的窥探者断开连接。理想情况下,它还负责输入PIN(PIN pad或s.th.),因为在安装了键盘记录器的机器上输入PIN不安全。只有这样,用户才能确保他们在显示屏上看到的正是传输到设备上的内容,然后才能决定是否应用他们的不可否认签名


    这些设备是存在的(至少我在现实生活中看到过,没有显示方面的设备——我只听到人们在谈论这些设备),但目前它们仍然很少见,因为它们仍然太贵,无法向大众推广。

    太棒了。那么,我如何确保操作系统没有被破坏呢?我可以从只读驱动器启动操作系统和应用程序吗?你有什么建议吗?@Gili:我只是用一些建议编辑了我的答案。要给你一个完美的答案是不可能的。@Gili:让我们集中一个例子来减少这个问题。操作系统是系统的一部分,负责读/写,即使是从存储密钥的Hipotectical只读hd。如果操作系统受损,您能否确保读取密钥是存储在只读位置的密钥?或者,如果攻击者破坏了您的系统并将其密钥注入您的ram内存,那么被黑客操作系统检索到的密钥难道不是伪造的吗?如果我错了,请告诉我。“如果有人可以利用您机器上运行的服务[…],那么只读驱动器就救不了您”。如果我指示用户在每次会话中重新启动驱动器(并防止其他人在会话期间使用计算机),则只有在用户知道的情况下才能利用此漏洞(因此可以确保不可抵赖性)