数据加密基本概念及常见技术( 八 )


消息的源和宿的认证可使用数字签名技术和身份识别技术,常用的方法有两种:一种方法是通信双方事先约定发送消息的数据加密密钥,接收者只需证实发送来的消息是否能用该密钥还原成明文就能鉴定发送者 。如果双方使用同一个数据加密密钥,那么只需在消息中嵌入发送者的识别符即可 。另一种方法是通信双方事先约定各自发送消息所使用的通行字,发送消息中含有此通行字并进行加密,接收者只需判别消息中解密的通行字是否等于约定的通行字就能鉴定发送者 。为了安全起见,通行字应该是可变的 。
消息的序号和时间性的认证主要是阻止消息的重放攻击 。常用的方法有:消息的流水作业号、链接认证符,随机数认证法和时戳等 。消息内容的认证即消息的完整性检验常用的方法是:消息发送者在消息中加入一个认证码并经加密后发送给接收者检验(有时只需加密认证码即可),接收者利用约定的算法对解密后的消息进行运算,将得到的认证码与收到的认证码进行比较,若二者相等,则接收,否则拒绝接收 。目前实现这种方法的基本途径有两条:一条是采用消息认证码(MAC),另一条是采用窜改检测码(MDC) 。MAC法利用函数f(x)(f(x)必须满足一定的条件)和密钥k将要发送的明文x或密文y变换成r比特的消息认证码f(x,k)或称其为认证符附加在x或y 之后发出,通常将f选为带密钥的杂凑函数 。MDC法利用函数f(x)(f(x)必须满足一定的条件)将要发送的明文x变换成r比特的窜改检测码f(x)附加在x之后,在一起加密事先保密认证 。当然,也可以只对窜改检测码f(x)加密 。通常将f选为不带密钥的杂凑函数 。接收者收到发送的消息后,按照发送这同样的方法对接收的数据或解密后的数据的前面部分进行计算,得到相应的r比特串,然后与接收恢复的r比特串逐位进行比较,若完全相同,则认为收到的消息未被窜改,否则,认为收到的消息已被窜改 。
三,密钥管理技术
根据密码假设,一个密码系统的安全性取决于对密钥的保护,而不是对系统或硬件本身的保护 。即使在密码体制公开或密码设备丢失的情况下,同一型号的密码机仍可继续使用 。然而一旦密钥丢失或出错,不但合法用户不能提取信息,而且可能会是非法用户窃取信息 。密钥的保密和安全管理在数据系统安全中是极为重要的。
密钥管理包括密钥的产生、存储、装入、分配、保护、丢失、销毁等内容.其中密钥的分配和存储可能是最棘手的问题.密钥管理不仅影响系统的安全性,而且涉及到系统的可靠性、有效性和经济性 。当然,密钥管理过程中也不可能避免物理上、人事上、规程上等一些问题 。
1. 密钥分配协定
密钥分配协定是这样的一种机制:系统中的一个成员先选择一个秘密密钥,然后将它传送另一个成员或别的成员 。传统的方法是通过邮递或信使护送密钥 。这种方法的安全性完全取决于信使的忠诚和素质,当很难完全消除信使被收买的可能性 。另外,这种方法的传输量和存储量都很大 。人们希望能设计出满足以下两个条件的密钥分配协议:
1.传输量和存储量都比较小 。
2.每一对用户U和V都能独立地计算一个秘密密钥K 。
目前已经设计出了大量的满足上述两个条件的密钥分配协议,诸如Blom密钥分配协议,Diffie-Hellman密钥预分配协议、Kerboros 密钥分配协议、基于身份的密钥分配协议等 。
密钥协定是一个协议,它通过两个或多个成员在一个公开的信道上通信联络建立一个秘密密钥 。在一个密钥协定方案中,密钥的值是由两个成员提供的输入的一个函数 。现有的密钥协定方案有Diffie-Hellman密钥交换协议、MTI密钥协定方案、Girault密钥协定方案等 。

推荐阅读