数字签名 - 分布式环境 - 单独的哈希和签名

发布于 2024-10-10 18:24:50 字数 184 浏览 5 评论 0原文

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

我的问题是

  1. 我可以在客户端生成哈希并将哈希发送到中央服务器进行签名吗?
  2. 这种方法有安全缺陷吗?

谢谢

I need to digitally sign a data packet of size 50 MB in a distributed environment. Signing takes place at the central server and the clients will be sending the data packets to the central server. I wanted to avoid the bottlenecks in the network by sending huge packets of data.

My question is

  1. Can i generate the Hash at the client end and just send the hash to the central server for signing?
  2. Is there any security flaws in this approach?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尐偏执 2024-10-17 18:24:50

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

You can sign the hash received from the client, yet there's a security problem here -- you need to find a way to ensure that the hash is derived from the data that is authorized to be hashed. Imagine the situation where your server uses corporate certificate to sign executables that your dev.team compiles. Now a hacker creates a troyan and finds a way to send signing request (by passing only the hash) to your server. And he gets a troyan, signed using your company certificate. This is less real for external attacks, but not for internal ones.

水中月 2024-10-17 18:24:50

盲目地签署哈希值似乎是一个危险的提议。在这种情况下,有几个问题似乎是相关的:

  • 客户是否“可信”?
  • 通讯渠道是否可信?
  • 服务器是否对其接收和签名的数据执行任何验证?

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

Blindly signing a hash seems like a risky proposal. There are a few questions that seem pertinent in this situation:

  • Are the clients "trusted"?
  • Is the communications channel trusted?
  • Does the server perform any verification of the data that it receives and signs?

The last one may be the most critical. If the server does not verify the data and just blindly signs it, then it probably is not really any different than blindly signing a hash. Either process allows anyone to get any piece of data signed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文