网络安全中基于传统对称密码体制的密钥管理Word下载.doc
《网络安全中基于传统对称密码体制的密钥管理Word下载.doc》由会员分享,可在线阅读,更多相关《网络安全中基于传统对称密码体制的密钥管理Word下载.doc(7页珍藏版)》请在冰点文库上搜索。
为止。
一般而言,初级密钥为相互通信的两个进程所共享,在主机或终端上会
同时存在多个初级密钥。
2)二级密钥
二级密钥用以加密保护初级密钥,记作KN。
二级密钥的生存周期一般较长,它在较长时间里保持不变。
3)主机主密钥
主机主密钥是这一管理方案中的最高机密钥,记作KM,用于对主机系
统的初级密钥和二级密钥提供保护。
主机主密钥的生存周期很长。
在一个网络系统中由主机和终端等多种需要使用密钥的实体,只有针对
不同性质的实体配备不同的密钥,并对不同的密钥采取不同的保护才能
方便密钥的管理。
我们可以采用下面的密钥配置方案。
原始数据
二级密钥
主机主密钥
加密
加密
加密
2.密钥的配置和保护
我们所要达到的目标是要确保除了在保密条件下,密钥永不以明文的形式出
现。
假定网络的拓扑结构是多个终端连到一台主机上,然后主机在与其他主机相连。
如下图所示:
KMT3
终端3
密钥数据库
KM02
KMT2
主机2
KM01
主机1
终端2
终端1
KMT1
KN1KN3
KN4
KN2
KN5
为专用密码装置
一般情况下,当用户要在某一个通信信道上进行通信时,要用初级密钥KS对所要传输的数据进行加密,并且连同KS一起传送给接收方。
如果KS被敌方所截获,这不能保证数据的保密性。
于是可以用该通道上的二级密钥对KS进行加密后再传送,便可以保证数据的保密性。
但是,二级密钥不能以明文的方式出现,否则同样会被敌方所利用。
为了很好的解决这些问题,我们对密钥进行如下分配:
1)终端每一个终端配置唯一的一个二级通信密钥KN(称其为终端的主要密钥(KMT)),并由密钥安装人员装入终端的专用密码装置,终端接收用户自己提供的初级密码。
2)主机如果一个接有m个终端的主机与其余n个主机相连,那么它需要2n+m个二级密钥,其中2n个二级密钥对其余n个主机的两个通信方向进行隔离保护,剩下的m个对终端通信进行隔离保护。
实行加密隔离的好处是即使某一密钥被泄露二不会暴露其它密钥,是损失降至最小。
为了对初级密钥和二级密钥的两个传输方向之间进行加密隔离,在主机中采用三个主机主密钥:
KM0,KM1,KM2。
KM0用来加密保护主机中的初级密钥,
KM1和KM2分别用来加密通信的两个方向上的二级密钥。
其中KM1和KM2可以由KM0导出。
例如,对KM0的某些位取反分别产生KM1和KM2,这样在主机中只需将KM0以明文的形式保存到专用密码装置中。
3.密钥数据库(CKDB)
CKDB用以存贮备足记住密钥加密的二级密钥。
一种可行的CKDB的文件
记录格式如下:
密钥名密钥1密钥2密钥类型
密钥名通常使用密钥的资源名命名,密钥1字段放置KM1加密的密钥,密
钥2字段放置KM2加密的密钥,类型1表示本主机上的终端上的主密钥,类型2表示与其他主机通信的二级密钥。
举例如下:
本地终端主密钥:
终端名E(KM1,KMT)1
与其他主机通信的二级密钥
主机jE(KM1,KNij)E(KM2,Knji)2
其中,E(K,M)表示用密钥K加密信息M的结果。
4.专用密码装置
专用密码装置是一种专用的具有高安全性和可靠性的保密工具,它用硬件实现,由一个强的密码算法、密钥存贮器、数据存贮器以及控制器和接口电路组成,如下图所示:
数据存贮器
E/D
工作密钥
主密钥
控制器
操作码数据输出
主密钥
采取物理的和逻辑的存取控制方法,确保只有授权的合法操作才能对专用密码装置进行操作。
专用密码装置的安全关系到整个密码系统的安全,必须采取各种技术的和行政的措施予以确保。
专用的密码装置的基本功能是存贮密钥、加解密数据和密钥变换。
用于终端和主机的专用密码装置的操作和功能是不同的。
1)终端专用密码装置的操作
a.LKD:
{K}直接装入初级密钥K
因为终端允许用户自己提供初级密钥,故设此操作予以支持。
此命令把用户自己提供的初级密钥有数据输入端直接送入工作密钥寄存器。
注意:
当初级密钥由系统自动产生时不需要此操作。
不存在用于读出工作密钥的逆操作。
b.WMK:
{KN}写二级密钥
此命令的功能是把分配给终端的二级密钥写入主密钥寄存器。
并因此称KN为终端的主密钥,记为KMT。
此操作无逆操作,且仅在特许状态下才能进行。
c.DECK:
{E(KN,K)}转入初级密钥
驰名淋巴从数据输入端输入的被KN加密的初级密钥K的密文解密,恢复出K并送入工作密钥寄存器。
d.ENC:
{M}-->
E(K,M)加密数据
此命令用工作密钥寄存器中的初级密钥K加密有数据输入端输入的数据,并将密文输出。
e.DEC:
{E(K,M)}à
M解密数据
此命令用工作密钥寄存器中的初级密钥K解密由数据输入端输入的密文,并将明文输出。
2)主机专用密码装置的操作主机专用密码装置的操作比终端的复杂
a.ECPH:
{E(KM0,K),M}à
E(K,M)加密数据
此操作的功能是,输入初级密钥的密文形式E(KM0,K),解密出K,将K存入工作密钥寄存器,再用K加密输入的数据M,输出密文E(K,M).
b.DCPH:
{E(KM0,K),E(K,M)}à
M解密数据
此操作的功能是,输入E(KM0,K),解密出K,将K存入工作密钥寄存器,再用K解密输入的密文E(K,M),输出明文M.
c.SMK:
{KM0}置入主密钥
此操作的功能是由密钥安装人员手工置入主密钥KM0.注意:
此操作仅在特许状态下才允许进行,而且无逆操作。
d.EMK:
{K}à
E(KM0,K)加密初级密钥
此操作的功能使用主密钥KM0加密初级密钥K。
本操作支持用户自己提供的初级密钥,而且无逆操作。
e.RFMK:
{E(KM1,KN),E(KM0,K)}à
E(KN,K)密钥变换
此操作的功能是把用KM0加密的初级密钥K,转换成用二级密钥KN加密的形式。
执行过程为,输入E(KM1,KN),用KM1解密得到KN,并将KN存入工作密钥寄存器,其中的KM1由KM0产生。
再输入E(KM0,K),用KM0解密得到K,并将K存入数据寄存器。
最后用KN加密K,输出E(KN,K).
f.RTMK:
{E(KM2,KN),E(EN,K)}à
E(KM0,K)密钥变换
此操作的功能是,把用KN加密的初级密钥转换成为用KM0加密的形式。
此操作的执行过程与RFMK类似。
如果KM1=KM2,这操作RFMK和RTMK便成为互逆操作。
为了避免
这种情况,采用KM0≠KM1≠KM2.
应该指出,以上介绍的专用密码装置的操作,均是基本操作,直接编程仍然
不方便,同时也为了与系统借口,通常还要利用这些基本操作形成功能更强、使用更方便的宏指令与系统接口。
5.实例介绍
为了避免自己产生明文的初级密钥,采用动态产生伪随机数RN,并以RN
作为被主密钥加密的形式RN=E(KM0,KS)
这样做的优点是,密钥一产生就以密文形式出现,而且可以直接用于数据的
加密和解密。
1)同一主机上的两个终端的通信
设T1,12是同一主机上的两个终端,T1的用户A要和T2的用户B进行保
密通信的过程如下:
a)A向主机申请与用户B会话。
b)主机响应后,产生一个RN=E(KM0,KS),从CKDB中取出E(KM1,KMT1)和E(KM1,KMT2),并进行密钥转换:
RFMK:
{E(KM1,KMT1),RN}à
{E(KMT1,KS)},
{E(KM1,KMT2),RN}à
{E(KMT2,KS)},
将E(KMT1,KS)发给T1,将E(KMT2,KS)发给T2。
c)T1和T2各自利用自己的终端密码装置解密出KS,并置入工作密钥寄存器:
T1:
DECK:
{E(KMT1,KS)}T2:
{E(KMT2,KS)}
至此,T1和T2已共享相同的会话密钥KS。
d)A利用终端密码装置加密会话数据并发给B,ENC:
{M}à
{E(KS,M)}
e)B利用终端密码装置解密:
DEC:
{E(KS,M)}à
M
上述密码操作仅涉及主机主密钥KM0,KM1。
整个通信过程的加解密全部在
专用密码装置中进行。
除了初始化时制作E(KM1,KMT)时外,其余操作均不需要明文形式的密钥,从而避免了密钥在密码装置外以明文形式出现。
2)不同主机上的两个终端的通信
设i,j代表两个主机节点,它们的主机主密钥分别是KM0i和KM0j。
为了实
现I和j之间的保密通信,必须使I和j能够建立共享的会话密钥KS。
KMTi主机i上的一个终端
KMTj主机j上的一个终端
KNij由主机节点i和j共享,用于保护由主机i产生的会话密钥,这一会话密钥要送给主机j.
KNji由主机节点i和j共享,用于保护由主机j产生的会话密钥,这一会话密钥要送给主机i.
在主机节点I,Knij由KM1I加密保护,Knji由KM2I加密保护,并存入CKDBi.
在主机节点J,Knji由KM1j加密保护,Knij由KM2j加密保护,并存入CKDBj.
主机I的终端Ti1的用户A和主机j的终端Tj2的用户B的保密通信如下:
a)A通过Ti1向主机I申请与B通信。
b)主机I响应后,调用密钥管理程序产生一个随机数RN,并以此作为受KM0I保密的会话密钥,RN=E(KM0i,KS).调用RFMK操作将RN转变为由KMTi1加密KS的形式。
RFMK:
{E(KM1I,KMTi1),RN}à
{E(KMTi1,KS)}
并将E(KMTi1,KS)发给A.调用RFMK操作将RN转变为由Knij加密KS的形式。
RFMK:
{E(KM1I,Knij),RN}à
{E(Knij,KS)}
并将E(KNij,KS)发给主机j.
c)主机j收到E(KNij,KS)后,调用RTMK操作将E(KNij,KS)转变为E(KM0j,KS):
RTMK:
{E(KM2j,Knij),E(KNij,KS)}à
{E(KM0j,KS)}
调用RFMK操作将E(KM0j,KS)转变为E(KMTj2,KS):
RFMK:
{E(KM1j,KMTj2),E(KM0j,KS)}à
{E(KMj2,KS)}
并将E(KMj2,KS)发送给Tj2的B.
d)A和B已共享会话密钥KS,他们可进行保密通信。
于是,A利用KS加密会话数据M并发给B
ENC:
e)B收到后进行解密:
{M}
6.结论
综上所述,大量的数据通过少量的动态产生的初级密要来保护,初级密钥又
用更少量的、相对不变的二级密钥或主机主密钥KM0来保护,而二级密钥又用主机主密钥KM1和KM2来保护。
这样,不仅是密钥的数量大大减少,而且只需少量的密钥以明文形式存贮在专用密码装置中,其余的密钥均以密文形式存贮在专用密码装置以外,从而大大的方便了密钥管理而且提高了安全性。