redis - 在 Redis 中存储访问令牌
问题描述
我正在使用 Redis 存储访问令牌。我想知道在保存到redis之前是否需要加密令牌。如果是,请解释原因。我正在使用 C# 和 Stackexchange.Redis 库。
解决方案
Redis 旨在由受信任环境中的受信任客户端访问。这意味着通常将 Redis 实例直接暴露给 Internet 或者通常暴露给不受信任的客户端可以直接访问 Redis TCP 端口或 UNIX 套接字的环境不是一个好主意。
因此,最好保护实例而不是其中的每个单独数据。Redis 不支持加密,正如您提到的,您需要在应用层处理。您需要通过加密/解密方法包装命令。
为了额外的安全性,我认为您必须authentication
通过在配置文件中设置密码来使用。它可能很长,并且将保存在配置文件中,因此每个命令都需要auth
作为先决条件。
如果您担心与 redis 通信的实例的安全性,那是另一个话题。auth
就像加密秘密一样无济于事。由于这两个秘密都在攻击者手中,他可以检索原始数据。
推荐阅读
- typescript - Jest TypeScript 模拟 store.dispatch 导致 0 次调用
- mongodb - 在一个 SpringBoot 应用程序中使用两个 mongoDB 数据库
- android - Android 模拟器无法再连接到 localhost
- c - 我必须填充 tm_gmtoff 和 tm_zone 吗?并且,我应该使用哪个函数 mktime 或 gmtime 在 C 中获得无时区的日期时间?
- c# - 如何在 Botbuilder v4 框架中使用 Luis Intent 而无需从 LUIS 下载 json 文件
- vue.js - 等待来自 WDS 的更新信号
- autodesk-forge - 使用 Forge API 在查看器中查看多个 .DWG 文件
- twitter-bootstrap - Bootstrap 4.4 中带有对齐页脚的响应式卡片
- php - odbc 最后插入 id 为 php 脚本
- javascript - Google SpreadSheets:无法使用 setFormula 进行循环