密钥管理与密钥分散
发布时间:2022-12-26
密钥管理是数据加密技术中的重要一环,密钥管理的目的是确保密钥的安全性(真实性和有效性)。为了数据使用的方便,数据加密在许多场合集中表现为密钥的应用,以达到保密的要求,因此密钥往往是保密与窃密的主要对象。
由于系统的保密性主要取决于密钥的安全性,所以在公开的网络上安全地传送和保管密钥是一个严峻的问题。
密钥分散是上级的密钥与本级的特征相结合形成本级的密钥,其基本思想是用密钥来保护密钥。密钥发散机制的优点在于即使破解了密钥,也不会对同级和上级的密钥产生威胁。密钥分散机制是保护密钥安全的有效手段。
通过密钥分散,使得每张加密卡交易时使用的密钥都不同,实现了“一卡一密”,并要求在密钥操作时和控制密钥配合使用,提高密钥使用的安全性。
分散过程简单描述如下:
密钥分散算法简称Diversify,是指将一个双长度(一个长度密钥为8个字节)的主密钥(MK),对数据进行分散处理,推导出一个双长度的DES加密密钥(DK)。该算法广泛应用于现在的金融IC卡和其他对于安全要求高的行业。其DK推导过程如下:
推导DK左半部分的方法是:
1、将分散数据的最右8个字节作为输入数据;
2、将MK作为加密密钥;
3、用MK对输入数据进行3DES运算,得到DK左半部分。
推导DK右半部分的方法是:
1、将分散数据的最右8个字节求反,作为输入数据;
2、将MK作为加密密钥;
3、用MK对输入数据进行3DES运算,得到DK右半部分。
最后将DK的左右部分各8个字节合并成双长度的DK密钥,即为分散所求得的待使用的3DES密钥。
密钥分散有助于保护密钥,但是一个完整的密钥管理系统应该做到:
1、密钥难以被窃取和复制;
2、即使窃取了密钥也没有用,密钥有使用范围和时间的限制;
3、密钥的分配和更换过程对用户透明,用户不一定要亲自掌管密钥;
4、核心密钥一定要采用分割负责的方式保存。