金旨安开发推出的KNSHA204A具有丰富的密钥管控功能。既能实现密钥的分级管理又能实现对密钥使用次数灵活的限制亦可永久锁定密钥的使用。密钥的配置和管理至关重要直接决定了产品部署的安全性等级。为提升产品整个生命周期的安全性花一点时间研究下实现细节很有必要其实很简单没有想象的那么复杂。一、 导入一芯一密的认证密钥很多用户认为实现一芯一密很复杂更头疼后期的密钥管理。实现这个功能很简单甚至比大象放冰箱还要简单。但是实现一芯一密能给产品带来的安全性提升不言而喻。1 获取KNSHA204A芯片唯一SN2置定一串随心所欲的密钥因子存储于主端的安全区域。比如密钥因子可以是“大象放冰箱一共分3步---宋丹丹”3生成目标密钥SHA256SN 密钥因子 密钥索引密钥索引是想要写入的位置序号。以上3步轻松搞定一芯一密。主机每次上电获取了芯片的SN就可以轻松计算出芯片的密钥。二、 限制密钥的使用次数KNSHA204A有多种实现限制密钥使用的方式其中比较简单的有两种方式。1对于shot0~7通过shotConfig.Limiteduse 启动密钥使用的限制。对应的USEFlag字节中8个bit值为1的数目决定可以使用的次数。特别适用于一旦验证便永久失效的场合标志设备启用标识生命周期的变换。2对于shot15通过shotConfig.Limiteduse 启动密钥使用的限制。16字节的lastKeyUse,同样的原理决定可以使用的次数最多16*8128次。3以上2中方式中slot15一旦机会用完锁定将永远不可用但方式1通过合理配置可由上级密钥认证通过后复活重新授予8次机会此处不展开。4对于shot8~14不支持密钥使用次数限制。三、 同一密钥实现一次一密对称密钥以及摘要算法有一个较大的缺陷是运算数据相同计算的结果就相同这留下了攻击的隐患。通过引入随机数生成过程密钥加密数据能更好的保护密钥和传输的数据。1 NONCE 命令KNSHA204A通过NONCE命令的随机模式可以引入主机端和芯片的双向随机数生成绝对的随机数因子T。2 GENDIG 命令通过GENDIG命令,可以指定启用的密钥和随机数因子T结合生成新的过程密钥。所谓过程密钥就是在一个完整的应用流程中有效用过即作废超时即失效。3 MAC /READ /WRITE步骤2生成的过程密钥常可用于MAC /READ /WRITE 等命令实现数据的认证加密读和解密写等操作极大的保证了数据传输的安全性同时降低了密钥频繁使用暴露的风险。四、 密钥分级管理KNSHA204A中通过对shotConfig.WriteConfig的合理配置可以实现其父密钥的指定和对派生指令的支持。特殊之处父密钥可以指向自身派生时自己覆盖自己。派生机制的好处是当子密钥使用一段时间后可以通过其父密钥重新生成较少泄露可能性或者已经泄露但此时父密钥是安全的那就重新生成一个子密钥延长系统的生命周期。五、 密钥专用通过密钥专用可以有效提高系统的安全性。即一个密钥只负责一个任务避免任务穿插。比如加密读使用0号密钥加密写使用1号密钥MAC认证使用2号密钥等等。六、 多方密钥因子参与如果有多方参与安全认证引入多个密钥因子是个不错的选择。比如0号密钥1号密钥,8号密钥2号密钥等等可以先后参与运算。就提可以通过GENDIG命令实现不多赘述。七、 密钥初始化加密写入千防万防贼难防。密钥的写入过程一定要在安全的环境下进行这是安全的源头。如果初始化的生产环境安全明文导入密钥没有问题毕竟是过了这村没有那店锁定后没人再能拿得到。但是如果环境不安全建议使用金旨安NDA协议提供的传输密钥加密下载。总结总之安全无小事曲突移薪好过亡羊补牢况且还不一定有补的机会。
阅读完成 · 觉得有帮助?