密钥管理的方法有哪些?

密钥,即密匙,一般范指生产、生活所应用到的各种加密技术,能够对各人资料、企业机密进行有效的监管,密钥管理就是指对密钥进行管理的行为,如加密、解密、破解等等。

主要表现于管理体制、管理协议和密钥的产生、分配、更换和注入等。对于军用计算机网络系统,由于用户机动性强,隶属关系和协同作战指挥等方式复杂,因此,对密钥管理提出了更高的要求。

密钥管理包括,从密钥的产生到密钥的销毁的各个方面。主要表现于管理体制、管理协议和密钥的产 密钥管理生、分配、更换和注入等。对于军用计算机网络系统,由于用户机动性强,隶属关系和协同作战指挥等方式复杂,因此,对密钥管理提出了更高的要求。

流程

(1)密钥生成

密钥长度应该足够长。一般来说,密钥长度越大,对应的密钥空间就越大,攻击者使用穷举猜测密码的难度就越大。

选择好密钥,避免弱密钥。由自动处理设备生成的随机的比特串是好密钥,选择密钥时,应该避免选择一个弱密钥。

对公钥密码体制来说,密钥生成更加困难,因为密钥必须满足某些数学特征。

密钥生成可以通过在线或离线的交互协商方式实现,如密码协议等。

(2)密钥分发

采用对称加密算法进行保密通信,需要***享同一密钥。通常是系统中的一个成员先选择一个秘密密钥,然后将它传送另一个成员或别的成员。X9.17标准描述了两种密钥:密钥加密密钥和数据密钥。密钥加密密钥加密其它需要分发的密钥;而数据密钥只对信息流进行加密。密钥加密密钥一般通过手工分发。为增强保密性,也可以将密钥分成许多不同的部分然后用不同的信道发送出去。

(3)验证密钥

密钥附着一些检错和纠错位来传输,当密钥在传输中发生错误时,能很容易地被检查出来,并且如果需要,密钥可被重传。

接收端也可以验证接收的密钥是否正确。发送方用密钥加密一个常量,然后把密文的前2-4字节与密钥一起发送。在接收端,做同样的工作,如果接收端解密后的常数能与发端常数匹配,则传输无错。

(4)更新密钥

当密钥需要频繁的改变时,频繁进行新的密钥分发的确是困难的事,一种更容易的解决办法是从旧的密钥中产生新的密钥,有时称为密钥更新。可以使用单向函数进行更新密钥。如果双方***享同一密钥,并用同一个单向函数进行操作,就会得到相同的结果。

(5)密钥存储

密钥可以存储在脑子、磁条卡、智能卡中。也可以把密钥平分成两部分,一半存入终端一半存入ROM密钥。还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。

(6)备份密钥

密钥的备份可以采用密钥托管、秘密分割、秘密***享等方式。

最简单的方法,是使用密钥托管中心。密钥托管要求所有用户将自己的密钥交给密钥托管中心,由密钥托管中心备份保管密钥(如锁在某个地方的保险柜里或用主密钥对它们进行加密保存),一旦用户的密钥丢失(如用户遗忘了密钥或用户意外死亡),按照一定的规章制度,可从密钥托管中心索取该用户的密钥。另一个备份方案是用智能卡作为临时密钥托管。如Alice把密钥存入智能卡,当Alice不在时就把它交给Bob,Bob可以利用该卡进行Alice的工作,当Alice回来后,Bob交还该卡,由于密钥存放在卡中,所以Bob不知道密钥是什么。

秘密分割把秘密分割成许多碎片,每一片本身并不代表什么,但把这些碎片放到一块,秘密就会重现出来。

一个更好的方法是采用一种秘密***享协议。将密钥K分成n块,每部分叫做它的“影子”,知道任意m个或更多的块就能够计算出密钥K,知道任意m-1个或更少的块都不能够计算出密钥K,这叫做(m,n)门限(阈值)方案。目前,人们基于拉格朗日内插多项式法、射影几何、线性代数、孙子定理等提出了许多秘密***享方案。

拉格朗日插值多项式方案是一种易于理解的秘密***享(m,n)门限方案。

秘密***享解决了两个问题:一是若密钥偶然或有意地被暴露,整个系统就易受攻击;二是若密钥丢失或损坏,系统中的所有信息就不能用了。

(7)密钥有效期

加密密钥不能无限期使用,有以下有几个原因:密钥使用时间越长,它泄露的机会就越大;如果密钥已泄露,那么密钥使用越久,损失就越大;密钥使用越久,人们花费精力破译它的诱惑力就越大枣甚至采用穷举攻击法;对用同一密钥加密的多个密文进行密码分析一般比较容易。

不同密钥应有不同有效期。

数据密钥的有效期主要依赖数据的价值和给定时间里加密数据的数量。价值与数据传送率越大所用的密钥更换越频繁。

密钥加密密钥无需频繁更换,因为它们只是偶尔地用作密钥交换。在某些应用中,密钥加密密钥仅一月或一年更换一次。

用来加密保存数据文件的加密密钥不能经常地变换。通常是每个文件用唯一的密钥加密,然后再用密钥加密密钥把所有密钥加密,密钥加密密钥要么被记忆下来,要么保存在一个安全地点。当然,丢失该密钥意味着丢失所有的文件加密密钥。

公开密钥密码应用中的私钥的有效期是根据应用的不同而变化的。用作数字签名和身份识别的私钥必须持续数年(甚至终身),用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身,两年更换一次密钥也是要考虑的。旧密钥仍需保密,以防用户需要验证从前的签名。但是新密钥将用作新文件签名,以减少密码分析者所能攻击的签名文件数目。

(8)销毁密钥

如果密钥必须替换,旧钥就必须销毁,密钥必须物理地销毁。

(9)公开密钥的密钥管理

公开密钥密码使得密钥较易管理。无论网络上有多少人,每个人只有一个公开密钥。

使用一个公钥/私钥密钥对是不够的。任何好的公钥密码的实现需要把加密密钥和数字签名密钥分开。但单独一对加密和签名密钥还是不够的。象身份证一样,私钥证明了一种关系,而人不止有一种关系。如Alice分别可以以私人名义、公司的副总裁等名义给某个文件签名。