c - key 存储在 CMOS RAM 中?

标签 c encryption-symmetric encryption key-storage

是否可以将KEY(用于加密和解密的 secret KEY)存储在CMOS RAM中以确保 key 不被篡改? (我知道当我们的计算机关闭时RAM的内容会丢失)

最佳答案

如果可以将 key 存储在 CMOS RAM 中,为什么黑客无法从中读取?从 CMOS 读取比写入简单得多。

理论上可以将数据存储到 CMOS 中,但这取决于供应商(甚至型号)。不同的 BIOS 使用 CMOS RAM 的方式不同,您无法知道 RAM 的哪一部分可以免费使用。

使用智能卡会更好。他们可以保证保存在其中的 key 永远不会离开卡(所有加密都在 SMART 卡内完成)。因此,您一旦将 key 保存到卡中,然后只说“为我解密(或加密)此缓冲区”。

更新:

评论里进行了很长时间的讨论。总结起来,有以下几种保护 key 的方法:

  1. 使用外部安全加密模块。例如:智能卡、HSM。

  2. 防止未经授权的人员进行物理访问。例如:保险柜、锁箱、开箱报警等。

  3. 要求(以管理方式或编程方式)只能由一组人员而非个人访问设备。例如:两名安全人员只知道自己的部分密码来访问设备。

  4. 基于Chain of Trust构建的系统。

  5. 使用TPM (可信平台模块)。

关于c - key 存储在 CMOS RAM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9944090/

相关文章:

c - 可变长度数组上 sizeof 的行为(仅限 C)

c - 括号平衡器程序

c - bsearch 在 C 中使用动态数组

android - base64 无效 key 异常 : Key length not 128/192/256 bits

c++ - 使用已知 key 将密文解密为明文

C scanf() 问题?

c++ - Blowfish加密算法详解

java - Android、PHP和node.js之间的加解密

encryption - 音频加密/保护

java - 我的应用程序在本地服务器上使用 itext 加密 pdf 文件正常,但在 QA 服务器上失败