首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES安全密钥生成和存储

AES安全密钥生成和存储
EN

Cryptography用户
提问于 2012-12-03 13:13:10
回答 1查看 1.2K关注 0票数 1

我有一个客户机服务器应用程序,它以一种安全的方式在其组件之间传输数据。我目前使用AES算法与CBC模式传输数据和文件。这是一个场景:客户机请求数据(文件或明文),服务器接收请求并使用iv/密钥对加密数据,并将加密数据发送给客户端。客户端总是存储加密的数据。客户端是每个用户的应用程序。因此,客户端应该打开文件,即使在脱机模式下也应该读取数据。(服务器应用程序是基于.Net的,客户端是Delphi)

我需要的是一个秘密密钥生成机制,它在客户端和服务器之间是安全和可变的,这与当前用户(‘user 1’,'user2‘等)有关。我没有密码学的经验,所以我会等待有经验的人的建议。

提前感谢

编辑:我将尝试更详细地解释我的问题。我们有一个客户端应用程序,它以某种格式打开一些文件(比如3 3dsmax)。这些文件是从服务器中的数据库下载的,只有经过身份验证的用户才能下载这些文件。但是,即使通过身份验证的用户下载了这个文件,也不应该将文件复制到其他计算机和磁盘。因为这些文件包含严格工作的模型(例如3d模型),需要加密;还有一种情况是,当客户端sqlite数据库需要更新时,我们以加密的方式向客户端发送脚本,客户端解密并执行,保存加密的值。

我们做了所有这些工作。也许我问这个问题的方式不恰当。我的意思是,我们如何创建一种安全和一致地交换数据的机制?最好没有密钥存储,但一些机制,在运行时创建密钥,但在双方使用userids,许可密钥等.我们将用户信息存储在客户端和服务器上。我希望我能解释

EN

回答 1

Cryptography用户

发布于 2012-12-03 18:02:15

实际上,您应该使用已经提供的工具。SSL/TLS和HTTPS是非常强大的工具,可以提供适当的密钥交换、身份验证和隐私实现。据我所知,这解决了你所有的问题。

仅AES-CBC本身就有问题。正如Thomas指出的,您缺乏身份验证。解决此问题的一个常见方法是使用HMAC和下面是对HMACs和加密的一个很好的讨论.

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/5557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档