首页 理论教育混沌密码学在信息安全中的应用

混沌密码学在信息安全中的应用

【摘要】:自此,在密码学领域,数字化混沌密码的研究引起了学者们的注意并掀起了一个小的研究热点。由于混沌理论的不完善和混沌密码研究的不成熟,混沌密码研究曾一度陷入低谷,仅有少量的文献发表。因此,混沌系统符合分组密码设计的原则。这类混沌分组密码往往采用传统分组密码的一些设计结构。与以上介绍的基于混沌的对称密码的研究相比,将混沌系统应用在公钥系统中的研究成果相对较少。

首次明确提到“混沌密码”并得到广泛关注和引用的文献是1989年Mattews发表的文章,该文提出了一种基于变形Logistic映射的混沌流密码方案[7]。但很快证明在构造真正安全的混沌密码的问题上,该方案还缺乏足够的理论支持以保证其真正的安全性[91]。自此,在密码学领域,数字化混沌密码的研究引起了学者们的注意并掀起了一个小的研究热点。由于混沌理论的不完善和混沌密码研究的不成熟,混沌密码研究曾一度陷入低谷,仅有少量的文献发表。但1997年以后,一些新的数字化混沌密码的提出掀起了新一轮的研究热潮,关于混沌密码研究的文章纷纷见之于国内外期刊,也有一部分关于混沌密码的综述发表[92]。这里主要分以下几个方面对前人的研究成果做一个简单的回顾。

1.混沌流密码

由于混沌系统的运动轨迹是类随机的,因此人们设计出来许多利用混沌系统产生伪随机序列的方法,然后将产生的伪随机序列作为流加密的密钥流和明文进行异或等非线性运算得到密文,解密的过程和加密过程相同,利用相同的伪随机序列对密文进行异或运算或者其他非线性运算得到明文。这类加密算法的核心问题是如何利用混沌系统快速地产生安全性高的伪随机序列,即伪随机序列发生器(Pseudo-Random Number Generator,PRNG)。近年来,有许多研究集中在使用混沌系统构造伪随机数发生器和对其性能进行分析[93-96]。目前利用混沌生成伪随机数主要有两种方法:一是抽取混沌轨道的部分或全部二进制比特[94];另一种是将混沌系统的定义区间划分为n个不相交的子区域,给每个区域标记一个唯一的数字0~n-1,每次混沌迭代后的值落入哪个区间,那么伪随机序列发生器的下一个输出就是该区间的编号[96]

同时,为了克服混沌信号在离散化过程中带来的退化问题,可以采用一些方法来伪随机数序列的随机性。其中包括:

1)选择产生混沌的区域广阔、具有均匀的密度函数等优良性质的混沌系统。被普遍采用的混沌映射有Logistic映射、Chebyshev映射、分段线性混沌映射或者分段非线性混沌映射等。

2)抽取多个独立混沌系统的混沌轨道,通过一定的规则组合成新的随机序列[97]

3)通过扰动的方式增加混沌序列的周期[98]

4)通过耦合的时空混沌系统抽取混沌信号[99],从广义上来讲,耦合的时空混沌系统也是属于扰动的一种形式。因为时空混沌系统中的单个子系统的混沌序列具有更长的周期,这种方法是目前比较有效的构造安全的随机序列的方式。

还有一种利用混沌逆系统来设计流密码的方法[100,101]。从设计结构上看,密文被反馈回来经过处理以后再直接用于掩盖明文,既与上面介绍的基于混沌伪随机数发生器的序列密码有相似之处,又借鉴了分组密码的CBC工作模式。文献[102-104]提出了几种具体的基于混沌逆系统的序列密码方案,它们的结构可用一个统一的式子来表示:y(t)=u(t)+f(y(t-1),…,y(t-k))mod1,其中u(t)、y(t)分别表示明文和密文,f(·)是一个从反馈密文生成掩盖明文的伪随机密钥流的k元函数。

近年来,一些基于混沌的序列密码算法不断地被提出,在文献[105]中,李树钧等人提出了一种新的双混沌系统伪随机比特发生器。在文献[106]中,李红达等人提出了基于复合离散混沌动力系统的序列密码算法等。

2.混沌分组密码

分组密码的设计就是找到一种算法,改算法能在密钥的控制下从足够大的置换子集中迅速找到一个置换,用来对当前输入的明文进行加密变换。要使这样的加密变换足够安全,需要对明文信息进行充分的混乱和扩散。前面已经提到过:混沌对初始状态及控制参数的敏感性对应于传统加密系统的混淆特性,混沌良好的伪随机性对应于传统加密系统的扩散特性。而且,很多混沌系统的结构与密码学中常用算法的机构相似[90]。因此,混沌系统符合分组密码设计的原则。到现在,基于混沌系统来构建分组密码的研究已经取得了很大进展:

1)基于正向迭代混沌的分组密码。

这类分组密码采用正向迭代一个或者多个混沌系统,用迭代结果直接构造置换矩阵置乱明文图像的像素,然后利用某些替换算法压平明文的直方图,或者用迭代结果去控制像素的伪随机置换或替换,重复以上过程多次得到密文。这类分组加密主要是体现在图像加密方面,一般用数值化后的二维混沌映射对图像进行空域变换,常用的二维混沌映射有[90]:面包师(Baker)映射、猫(Cat)映射、标准(Standard)映射。还有学者将二维的Cat映射和Baker映射扩展为3维,得到了一些更好的实验结果[107]。当然只进行空域上的变换还不能保证图像加密的安全性,将空域和频域变换与混沌映射相结合来进行图像加密是当前的一个研究热点。

2)基于逆向迭代的混沌分组密码。

该分组密码的基本方法是根据一个混沌映射的逆向映射进行迭代,明文作为逆向映射的输入,迭代的结果作为密文。解密的时候通过正向迭代该混沌映射获得。这种类型的分组密码最早是由Habutsu等人于1991年提出的[108]。随即,Biham利用此加密方案中帐篷映射的逐段线性性和n个随机比特的使用,对该密码方案进行了破解[109]。以后,几种改进方案在文献[110-112]中被提出。

3)与传统分组密码学相结合的混沌分组密码。

这类混沌分组密码往往采用传统分组密码的一些设计结构。但是在密钥的产生与轮密钥的分配、S-Box盒或P置换的设计使用了混沌系统[113-115]

3.混沌公钥密码

在公钥加密系统中,使用两个不同的密钥分别进行加密和解密。其中加密密钥是公开的,称为公开密钥,谁都可以使用,解密密钥是保密的,称为秘密密钥,只有解密人自己知道。根据公开的加密密钥来确定解密密钥,在计算上是不可能的。公钥密码系统的安全性一般都是以数学中的某个难题为基础的,在加密和解密的过程中,往往涉及大量的运算,和对称密码相比速度要慢得多,主要用于密钥交换、数字签名,而不直接用它来加密数据。

与以上介绍的基于混沌的对称密码的研究相比,将混沌系统应用在公钥系统中的研究成果相对较少。2003年,Tenny等人在文献[116]中利用混沌吸引子实现了公钥加密,但是实用性不好。后来,Kocarev提出了一种利用混沌映射构造公钥密码的方案[117],被广泛认为是一篇具有创新性和实用性的方案。该公钥方案是以Chebyshev多项式的半群属性为基础的,Chebyshev多项式的定义为

式中,x∈[-1,1];T0(x)=1;T1(x)=x,则Tn称为n阶Chebyshev多项式。Chebyshev多项式还有一种三角函数的表达形式:

Chebyshev多项式有两条重要的属性:

1)半群属性:

2)混沌属性:

当n≥2时,Chebyshev多项式表现出混沌特性,具有正的Lyapunov指数lnn。(www.chuimin.cn)

Kocarev利用以上Chebyshev混沌映射的半群属性构成具有单向带陷门的公钥加密算法。但是,Bergamo等在文献[118]中对Kocarev公钥密码方案进行了安全性分析,由于不同次数的Chebyshev多项式有很多交汇点,这为低次多项式代替高次多项式实现相应的功能提供了可能,这样降低了算法的安全性,容易受到假冒攻击。

为了克服Chebyshev混沌映射的这个缺点,一些研究人员将其定义域扩展到整数域[119,120]、甚至是椭圆域上[121]。而且基于Chebyshev混沌映射的密钥协商协议也得到了很多学者的研究,这一点将在后面的基于混沌公钥的密钥协商协议中做更详细的说明。

在2004年,Kocarev又提出了一种基于环面自同构的混沌公钥算法,其算法操作过程和RSA算法类似[122]。在2005年,Bose提出了一种基于多个耦合的混沌系统的公钥算法[123]。但是因为该系统在密钥协商时采用的是线性函数,存在一些漏洞,被一些研究人员证实该系统是不安全的[118,124]。黄贤通等人研究Matthews混沌系统构造伪随机向量的方法,然后利用伪随机向量实现了一种新的背包公钥密码体系,该算法具有操作简单、计算量小、安全性强等特性[125]。文献[126]提出了改进的 Baptista 类型的混沌公钥加密算法,算法利用椭圆曲线算法进行密钥分配,用Hash表进行消息认证,经过测试该算法具有较高安全性。

4.其他的混沌密码

除了以上介绍的基于混沌的加密方法外,学者们还提出了一些其他利用混沌特性进行信息加密的方法,例如,基于搜索机制的混沌密码[127]和基于混沌系统的概率分组密码[112]等。

5.基于混沌公钥的密钥协商协议

如今,随着计算机和互联网的普及,每时每刻有着大量的数字信息在网络上进行传播,例如电子邮件、金融数据、电子商务数据、电子政务数据等。如果这些信息的安全性没有得到保障,便可能泄漏个人隐私、商业机密、甚至是国家机密。所以,从某种意义上来讲,网络信息安全的保障能力是综合国力、经济竞争实力和民族生存能力的重要组成部分。公钥密码体制在保护网络信息安全方面发挥了重要的作用,是保护网络信息的机密性、完整性、可用性的基础。公钥密码学受到前所未有的重视。以公钥密码为基础的密钥协商协议,是公钥密码在实际商业应用的重要体现。

密钥协商协议是用来在希望进行保密通信的双方之间通过交互,建立一个共同使用的密钥的一种协议。密钥协商,又称作是密钥交换,是密码学的一个重要部分,它的提出就是为了解决在使用对称加密进行通信的双方的密钥分配问题。密钥协商所建立的密钥称为会话密钥,它只在一次特殊的通信中使用,是在单独的一次通信中使用的对称密钥,双方利用这个会话密钥来保证在以后的通信中交换信息的安全。因此,设计安全可靠的密钥协商协议是网络信息安全研究中的一个热点。

文献[128]的作者利用Chebyshev多项式的半群属性,设计了一个基于混沌的类似于Diffie-Hellman形式的密钥协商协议。该协议以Kocarev提出的公钥密码方案为基础[117],协议的内容可以描述如下:

1)A和B共同在[-1,1]中协商选定一个随机数x,这个数不必是秘密的,因此A和B可以通过即使是不安全的途径协商它,而且它可以在一组用户中公用。

2)A选取一个大的随机整数r,计算X=Tr(x)并把X发送给B。

3)B选取一个大的随机整数s,计算Y=Ts(x)并把Y发送给A。

4)A计算k=Tr(Y)=Tr(Ts(x))。

5)B计算k′=Ts(X)=Ts(Tr(x))。

根据文中前面介绍的Chebyshev混沌映射的半群特性可知:k=k′=Trs(x),这样A和B通过密钥协商建立了一个秘密会话密钥Trs(x),两人在以后的通信中可以用这个会话密钥对他们之间的通信信息进行加密,从而保证两人之间通信的安全。后来,由于多个Chebyshev多项式通过一个相同的点,文献[118,129]指出该协议是不安全的。攻击的过程可以描述如下:

1)攻击者可以获得A的公钥Tr(x),B的公钥Ts(x)。

2)寻找r′使得Tr′(x)=Tr(x),进行如下计算:

3)按如下计算,攻击者就会得到会话密钥:

为了改善文献[128]提出的协议的安全性,其作者肖等又进一步提出了一个新的密钥协商协议[130]。该协议用分段线性混沌映射设计了一个Hash函数,用Hash函数对A和B的公钥Tr(x)和Ts(x)进行加密,来防止以上的攻击。后来这个改进的协议被发现也是不安全的[131,132],它不能够抵制猜测攻击(Guessing Attack)。而后,Chang等提出了一个基于混沌映射和口令的密钥协商协议[133]。该协议也存在安全问题:

1)通行字一般要比口令长,不容易记住;

2)如果构建的通行字是容易记忆的,一般总是在字典中已经存在的,这样,不能够抵制猜测攻击;

3)这个协议不能在时钟不同步的情况下工作。Han指出了Chang的协议的缺点,并利用混沌映射设计了新的密钥协商协议[134]

另外,由于计算机网络技术、大数据和人工智能的飞速发展,在密钥协商过程中,除了完成通信双方的认证和建立通信的密钥外,双方的隐私保护尤为迫切和有意义。例如,当用户在网络上通信时,希望保护其有关的身份、位置、网络使用偏好等隐私信息,以免被潜在的攻击者所利用。因而,需要保证用户身份的机密性和不可追踪性。又如,在可信计算环境,保持通信者之间的隐私是它的重要属性之一,并匿名地协商出会话密钥。另外,可否认性是密钥协商过程中隐私保护的另一个特征。在客户—服务器系统中,服务器能够认证消息来源于一个具体用户,但他没有能力向第三方证明消息是由该用户生成的。如用户在匿名公告板中发帖,服务器需要认证用户的合法性,但服务器没有能力向第三方提供证据证明用户的发帖行为,这样既保护服务器不会被非法用户滥用,又保护了合法用户的隐私。

针对许多应用中保护隐私信息,尤其是保护用户身份信息的重要性,Tseng等人利用Chebyshev混沌映射的半群属性,设计了一个保护通信用户身份的密钥协商协议[135]。申请人对该协议成功地进行了攻击,发现Tseng等人的协议不能够保护用户的匿名,并且它也不具有完美前向安全性。为了克服Tseng等人协议的漏洞,申请人设计了新的基于混沌公钥的密钥协商协议[136],详见本书的第10章。该协议利用了Chebyshev映射的半群特性和混沌特性,以数学上离散对数求解难题作为安全保证,能够保护进行密钥交换的用户的隐私信息。随后,Chen等人指出申请人提出的密钥协商协议增加了另外一个参与者,即受信方,这样会提高协议在实际应用时的成本[137]。Guo等人借助于智能卡设计了保护用户隐私的基于混沌映射的密钥协商协议,应用于对用户的网络认证授权[138-141]。为了提供无线传感器网络用户不可追踪性和完美的转发安全性,并且抵抗特权用户内部攻击,利用混沌映射,文献[142]设计了无线传感器网络的保护用户隐私的身份验证密钥协商协议。之后,Khan等人也提出了基于混沌映射的保护用户隐私的密钥协商协议[143-148],但在安全性、用户隐私保护等方面有待于进一步验证。