我一直在这里搜索并阅读了很多关于密钥的 Q,但不幸的是,没有人询问智能卡或任何便携式设备。
这是我的问题:
我有存储敏感医疗信息的智能卡。,我需要使用卡内的任何对称算法加密此信息。但我真的对密钥感到困惑。
- 我应该把它存放在哪里?
- 每次存储新信息时都必须生成它吗?
- 我应该选择一个强键并将其存储在某个地方而不更改吗?
我一直在这里搜索并阅读了很多关于密钥的 Q,但不幸的是,没有人询问智能卡或任何便携式设备。
这是我的问题:
我有存储敏感医疗信息的智能卡。,我需要使用卡内的任何对称算法加密此信息。但我真的对密钥感到困惑。
您的问题在这方面有点不清楚,您试图使用加密保护什么以及针对什么(爱好程序员,密码学专家,秘密服务)。由于智能卡及其操作系统可以充分保护自己,因此您不太可能希望防止未经授权的卡被提取。合法主机应用程序也不太可能以加密形式进行处理。所以很可能读取过程本身需要受到保护,这对于非接触式/NFC 来说是显而易见的,但对于基于接触的通信来说也是一个好主意。
这里的重要术语是安全消息传递。要么你有一个强大的静态密钥,它很少需要改变,这取决于使用的强度,或者更常见的是,你协商一个会话密钥,这也可能取决于一个(可能是固定的)秘密。两者都可以与序列计数器结合使用,因此即使在会话中读取相同的数据也会提供不同的密码。无论您选择哪种方式,都必须在两侧存储/计算密钥。部分机密需要自己进行安全存储,这取决于攻击的可能性,可能存储在磁盘上的加密文件(具有完全不同的密钥)中,或者在极端情况下,存储在称为安全模块的特殊智能卡等设备上,它可能具有防篡改的硬件抵抗力。(如果不能阻止攻击,至少显示出操纵,例如通过破坏的安全封条)。