gpt4 book ai didi

encryption - 保护和验证从服务器到客户端的数据

转载 作者:行者123 更新时间:2023-12-04 05:44:51 24 4
gpt4 key购买 nike

我想将数据从服务器软件发送到客户端软件,以这样一种方式加密,即只有服务器(私有(private)软件)可以加密该特定数据,但任何客户端都可以解密它。

起初我认为 RSA 将是一个解决方案,但据我了解,我想向后使用它:我可以使用服务器上的公钥加密数据,并使用私钥在客户端上解密。这可以正常工作,除非有人可以从私钥中导出公钥。那是对的吗?如果是这样,是否有其他选择?

提前致谢。

最佳答案

你要做的是digitally sign服务器发送的数据。所有客户端都可以验证这个数字签名,以证明只有服务器可以创建它。

它的工作原理如下:您的服务器计算数据的哈希并使用服务器上的一些私钥(签名 key )加密哈希。然后服务器将消息(纯文本)和哈希发送给客户端。当客户端获得这两条数据时,他们使用服务器的公钥(验证 key )对加密的哈希进行解密。现在客户端可以自己计算纯文本消息的哈希值,并将其与服务器发送的哈希值进行比较。如果两个哈希值匹配,则客户端知道消息一定来自服务器,而不是其他任何人。

注意:您以纯文本形式发送消息,因此该系统没有保密性。这种签名机制只保证完整性和真实性。如果您还需要保密,您可以使用传统加密来加密消息,而不是以纯文本形式发送。

TLS做这种事情,所以你可以考虑将它用作数据 channel 。

关于encryption - 保护和验证从服务器到客户端的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com