数字签名 - 分布式环境 - 单独散列和签名

时间:2011-01-04 16:06:15

标签: cryptography hash digital-signature

我需要在分布式环境中对大小为50 MB的数据包进行数字签名。签名发生在中央服务器上,客户端将数据包发送到中央服务器。我想通过发送大量数据来避免网络中的瓶颈。

我的问题是

  1. 我可以在客户端生成哈希,只是将哈希发送到中央服务器进行签名吗?
  2. 这种方法有安全漏洞吗?
  3. 由于

2 个答案:

答案 0 :(得分:3)

您可以对从客户端收到的哈希进行签名,但这里存在安全问题 - 您需要找到一种方法来确保哈希是从授权进行哈希处理的数据派生的。想象一下您的服务器使用公司证书签署dev.team编译的可执行文件的情况。现在,黑客创建了一个troyan并找到了一种方法来发送签名请求(通过只传递哈希)到您的服务器。他得到了一个使用你的公司证书签名的特洛伊。对于外部攻击来说,这不太真实,但对于内部攻击则不然。

答案 1 :(得分:2)

盲目签署哈希似乎是一个冒险的提议。在这种情况下,有几个问题似乎是恰当的:

  • 客户是否“信任”?
  • 通信渠道是否值得信赖?
  • 服务器是否对其收到的数据进行任何验证并签名?

最后一个可能是最关键的。如果服务器没有验证数据并且只是盲目地签名,那么它可能与盲目地签署哈希没有任何不同。这两个过程都允许任何人签署任何数据。