以下场景:我有一个客户端服务器应用程序,通信由 aes 和 rsa(穷人 ssl)加密。但这不是我的问题。客户端本身,加密了一些文本(也是aes),这些文本将被发送到服务器并将存储到数据库中。所以,问题来了:同一个客户端可以接收此文本并可以解密它。此操作的密钥存储在内存中。但是,如何解密第二个客户端此数据呢?第二个客户端没有密钥。这两个客户端将在同一帐户中登录。但是解密文本的密钥在客户端。如何获取具有相同登录名的第二个客户端从第一个客户端获取密钥?
如果两个客户端必须能够读取相同的加密数据,则它们必须共享用于加密的密钥。
当然,服务器可以存储此密钥并在身份验证后自动在客户端(同一帐户)之间共享它,但这意味着服务器将能够解密数据,从而使额外的加密层无用。
结论:如果您确实需要使用此方法,则两个客户端必须使用不同的渠道(例如电话)共享密钥。