encryption - 使用 HTTPS 时可以加密服务器端吗?
问题描述
我正在为我正在开发的应用程序创建消息服务。由于消息的性质,重要的是不仅要验证用户,还要验证消息属于哪个会话。所以现在我为每个对话创建一个公钥/私钥对,并使用它来加密/解密消息。基本上,当用户登录时,他们可以访问他们所属对话的密钥对,但这些密钥对仅适用于该特定对话。这允许授予/拒绝对特定对话的访问,同时保持这些相同方之间的其他对话完好无损。目前数据流如下:
发送:
消息发送到服务器 => 消息基于用户的公钥加密并使用密钥签名 => 加密消息保存到数据库
收到:
服务器从数据库接收消息 => 服务器使用公钥验证签名并使用密钥解密消息 => 发送给客户端的解密消息
服务器上的所有加密/解密都依赖于用户的 JWT 令牌进行身份验证。
我有两个主要问题:1.)由于服务器与客户端之间的通信使用 TLS,因此可以在服务器上加密吗?2.) 密钥应该存储在服务器上还是数据库中?
此外,如果此方法不安全、不正确或完全愚蠢,请告诉我。
提前致谢。
解决方案
推荐阅读
- ios - 无法在 Swift 4.2 中更改输入值
- python - 如何使用带参数的模块?
- oracle - 如何修复 ORA-22835:对于 CLOB 到 CHAR 或 BLOB 到 RAW 转换的缓冲区太小
- math - 每年的行动次数。组合问题
- angular - 当我单击通过 Angular 6 中的 cellrendererframework 呈现的单元格中的链接时如何调用 html 页面
- javascript - 在使用 jquery 获得总和结果后,我如何加上一个整数值?
- machine-learning - 高斯贝叶斯分类器与逻辑回归的概率分类
- php - “无法登录到 MySQL 服务器”在 CentOS7 上使用 phpMyAdmin 没有代码
- wordpress-gutenberg - RangeControl 组件可以设置为小数之间的范围吗?
- php - 使用 CKEditor 5 保存多个文本区域