密钥管理

密钥管理是数据加密包括视频加密技术中的重要一环,密钥管理的目的是确保密钥的安全性 (真实性和有效性)。 一个好的密钥管理系统应该做到:
(1)密钥难以被窃取;
(2)在一定条件下窃取了密钥也没有用,密钥有使用范围和时间的限制;
(3)密钥的分配和更换过程对用户透明,用户不一定要亲自掌管密钥。

1 密钥的管理方式

可以采用层次化的密钥管理方式,用于数据加密如手机视频加密的工作密钥动态产生,工作密钥由上层的加密密钥进行保护,最上层的密钥称为主密钥,是整个密钥管理系统的核心;多层密钥体制大大加强了密码系统的可靠性。由于用的最多的工作密钥经常更换,而高层密钥用得较少,使得破译者的破译难度增大。在这种多层密钥系统中,主密钥保护了工作密钥,工作密钥保护敏感信息,因而整个系统的安全依赖于主密钥的安全。在数据库加密课题中,主密钥的更换是一个比较棘手的问题,主密钥更换以后会造成工作密钥的全部更换。数据库中存储着海量数据,已经加密的数据需要用原来的密钥系统脱密,而且脱密时间将会很长。为安全起见,密钥更换前,需对数据库系统进行全库备份,然后利用系统所提供的工具完成对数据库中密文数据向明文数据的转换;更换主密钥后,再根据数据库加密要求进行明文数据向密文数据的转换。

2 密钥的传递和保存方法

密钥的传递分集中传送和分散传送两类。集中传送是指将密钥整体传送,这时需要使用主密钥来保护会话密钥的传递,并通过安全渠道传递主密钥。分散传送是指将密钥分解成多个部分,用秘密分享的方法传递,只要有部分到达就可以恢复,这种方法适用于在不安全的信道中传输。

密钥既可以作为一个整体保存,也可以分散保存。整体保存的方法有人工记忆、外部记忆装置、密钥恢复、系统内部保存;分散保存的目的是尽量降低由于某个保管人或保管装置的问题而导致密钥的泄漏。

3 密钥的备份和销毁
密钥的备份可以采用和密钥分散保存一样的方式,以免知道密钥的人太多;密钥的销毁要有管理和仲裁机制,否则密钥会被有意无意的丢失,从而造成对使用行为的否认。

4 密钥的管理分发中心(kdc)
假设在某机构中有 100个人,如果他们任意两人之间可以进行秘密对话,那么共需要多少密钥呢?每个人需要知道多少密钥呢?也许很容易得出答案,如果任何两个人之间要不同的密钥,则总共需要4950个密钥,而且每个人应记住99个密钥。如果机构的人数是 1000、10000人或更多,这种办法就显然过于愚蠢,管理密钥将是一件可怕的事情。

一种较好的解决方案是建立一个安全的、可信任的密钥分发中心(Key Distribution Center,kdc),每个用户只要知道一个和KDC进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。

假设用户甲想要和用户乙进行秘密通信,则用户 甲先和KDC通信,用只有用户甲和KDC知道的密钥进行加密,用户甲告诉KDC他想和用户乙进行通信,KDC会为用户 甲和用户乙之间的会话随机选择一个对话密钥,并生成一个标签,这个标签由KDC和用户乙之间的密钥进行加密,并在用户甲启动和用户乙对话时,用户甲会把这个标签交给用户乙。这个标签的作用是让用户甲确信和他交谈是用户乙,而不是冒充者。因为这个标签是由只有用户乙和KDC知道的密钥进行加密的,所以即使冒充者得到用户甲发出的标签也不可能进行解密,只有用户乙收到后才能进行解密,从而确定了与用户甲对话的人就是用户乙。

当KDC生成标签和随机会话密码,就会把它们用只有用户甲和KDC知道的密钥进行加密,然后把标签和会话钥传给用户甲,加密的结果可以确保只有用户甲能得到这个消息,只有用户甲能利用这个会话密钥和用户乙进行通话。同理,KDC会把会话密码用只有KDC和用户乙知道的密钥加密,并把会话密钥给用户乙。

用户甲会启动一个和用户乙的会话,并用得到的会话密钥加密 自己和用户乙的会话,还要把KDC传给它的标签传给用户乙以确定用户乙的身份,然后用户 甲和用户乙之间就可以用会话密钥进行安全的会话了,而且为了保证安全,这个会话密钥是一次性的,这样黑客就更难进行破解了。同时,由于密钥是一次性 由系统 自动产生的,用户不必记那么多密钥了,方便了人们的通信。

5 公开密钥的全局管理机制
公开密钥体制主要针对开放型的大型互联网络的应用环境而设计的,这种网络环境中需要有一个协调的公开密钥管理机制,以保证公开密钥的可靠性。

公开密钥的管理一般基于公证机制,即需要一个通信的A、B双方都信任的第三方N来证明A和B的公开密钥的可靠性,这需要N分别对A和B的公开密钥进行数字签名,形成一个证明这个公开密钥可靠性的证书。在一个大型网络中,这样的公证中心可以有多个,另外这些公证中心若存在信任关系,则用户可以通过一个签名链去设法验证一个公证中心签发的证书。

公开密钥管理的另外一个重要方面是如何撤消过去签发,但是现在已经失效的密钥证书。

加密算法

随着计算机和电子通讯技术,包括因特网的迅猛发展,金融电子化的步伐大大加快,然而,从基于纸面转化为基于数字电子媒体的形式后,在生成、传输、保存、验证和鉴定等多方面出现了新的技术需求、问题和困难。无疑,其中最重要的是信息安全问题。

密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法,密钥是控制加密算法和解密算法的关键信息。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了,事实上,加密信息的安全可靠依赖于密钥系统,密钥的产生、传输、存储等工作尤为重要。

数据加密技术从技术的实现可分为软件和硬件两方面。按作用不同,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。

在网络应用中一般采取两种加密形式:秘密密钥和公开密钥,采用何种加密算法则要结合具体应用环境和系统,而不能简单地根据其加密强度来作出判断。因为除了加密算法本身之外,密钥合理分配、加密效率与现有系统的结合性,以及投入产出分析都应在实际环境中具体考虑。 超时代视频加密软件就将加解密难度与加密时间(由于视频这种特殊载体,体积大,更难平衡)效率问题解决得非常完美。

对于秘密密钥加密体制,其原理是在传统加密算法的基础上,充分利用计算机的处理能力,将算法内部的变换过程设计得非常复杂,并使用较长的密钥,使得攻击者对密文的破译变得非常困难。即使攻击者掌握了加密算法,也会由于不知道密钥而得不到明文。由于这种体制将算法和密钥进行了分离,并且算法的保密性完全依赖于密钥的安全性,因此,被称为秘密密钥加密体制,其典型算法是DES算法。DES算法的特点一是加密和解密使用相同的密钥,如何保证密钥的一致性,如何维护密钥的安全性成为确保DES算法有效的关键技术;二是每对用户必须维护一个密钥,如果某个用户希望与N个用户进行秘密通信,则该用户在理论上应该维护N个密钥,而n个用户间则需保存n2个密钥,这为用户的使用增加了一定的困难;三是算法的实现和使用的效率较高,目前在各行各业被广泛采用。

公开密钥加密体制 (其加密密钥可以公开)的基本思想是设计一种新的加密算法,该算法拥有一对不同的加密密钥E和解密密钥D。使得E和D之间具有如下性质: (I)D(E(M))=M,即对数据M用E加密后再用D解密,应当可以还原为M; (2)E和D都是易于计算的; (3)从E难以推导出D的结构。 每个用户可以选择一对E和D,并将E公开(称为公开密钥),存入其他用户都可访问的公共存储区,将D(称为秘密密钥)严格保密。如果A用户希望向B用户发送数据 (M),A首先从公共存储区中取得B的加密密钥Eb,并用Eb对数据进行加密,产生Eb(M)传输给B根据性质(1),B可对接收的密文用Db进行解密获得明文数据M。根据性质(3),B以外的所有用户都不掌握Db,并且无法从公开的Eb中推出Db,所以即使攻击者获得了密文,也无法解出相应的明文。公开密钥加密体制其典型算法是RSA算法,该算法的特点一是使用方便,尤其是公开密钥的特征使得用户在数据传输之前无需交换密钥,即使和多个用户进行秘密通信,也无需记忆太多的密钥(理论上N个用户进行通信,需要N对密钥,但每个用户只需记忆自己的秘密密钥,并去公共存储区中获取其他用户的公开密钥);二是加密强度高,并且并不要求通信双方先要建立某种信任关系或共享某种密码,因此十分适合 Intemet网上使用。三是算法的实现依赖于计算机的速度和容量,效率较低。统计表明,对于相同的数据块进行加密,DES算法的加密效率比RSA算法的加密效率高上数十倍。因此,RSA算法常用于较少数据的加密,如数字签名等。

秘密密钥加密体制和公开密钥加密体制各有优缺点,实际中人们常将这两种加密算法结合使用,以期同时获得公开密钥加密体制的安全优点和秘密密钥加密体制的速度优势。工作过程如下图所示。

发送方首先用密钥生成器生成秘密密钥,并用该秘密密钥对数据明文进行加密形成密文,然后用接受方的公开密钥对该秘密密钥进行加密,形成加密的密钥,再将加密的密钥和密文一起发往网络。接收方接收到信息后,先用自己的密钥解开发送方传来的秘密密钥,再用解开的秘密密钥对密文进行解密,形成明文。

秘密密钥加密体制和公开密钥加密体制的结合使用,不但可以简化秘密密钥加密体制中的密钥管理,而且能够做到对应每个明文使用一个不同的密钥(即一次一钥)。由于每个密钥仅仅使用一次,既使在某一次传输中密钥不慎泄露,它也只影响本次交换的信息安全。