APP下载

辫子群混合加密下的按需装配Agent系统

2013-03-11白凤伟哈立原

网络安全与数据管理 2013年18期
关键词:客户机辫子加密算法

白凤伟,哈立原,张 岩

(锡林郭勒职业学院 信息技术工程系,内蒙古 锡林浩特026000)

公钥密码算法自产生之日起就占据了现代密码学的核心地位,其主要思想是利用数学中的某些难解问题如大整数分解问题、离散对数问题等构造了一些安全性很好的公钥算法。然而,随着现代计算机性能的不断提高,与交换群相关的问题逐渐变得容易处理了。量子计算的最新研究也表明,基于有限域特性的某些难解问题可以用量子的多项式时间算法解决,因此在量子计算机时代,这些密码算法将不再是安全的。于是产生了辫子群的公钥密码算法,它不但可以有效地抵抗量子计算的攻击,还可以抵抗目前已知的各种攻击。

目前学术界对辫子群公钥密码算法的破译没有实质性的进展,但这并不表示在未来的几年或几十年中不会出现有效的攻击手段,因此,本文提出一种辫子群密码与公钥密码相结合的混合密码算法并且将其应用到按需装配Agent的系统中,这样的混合密码算法可以同时保留辫子群公钥加密和传统公钥加密的优点,从而大大地提高密码算法的安全性。同时,将其应用到按需装配Agent的系统中,可增强混合密码算法的实用性。

1 辫子群公钥密码算法

1.1 辫子群和辫子群上的难解问题[1-2]

辫子群是一类特殊的Artin群,一个由n-1(n≥3)个初等辫子生成的辫子群Bn表示为:

辫子群是一类无限、非交换的无纽群,其中单个初等辫子生成的辫子群是无限循环群。

辫子群之间有一些显而易见的关系,对于正整数m≤n,Bm是Bn的子群,如果l和r是正整数,Bl+r是由σ1,σ2,…,σl+r-1这l+r-1个元素生成的辫子群,由σ1,σ2,…,σl-1生成的群记作LBl,由σl+1,…,σl+r-1生成的群记作RBr,则它们都是Bl+r的子群,而且满足关系:任意(a,b)∈LBl×RBr,均有ab=ba。

辫子群Bn中的两个元素x和y共轭是指存在a∈Bn,使得y=a-1xa。

辫子群上有很多数学上“难解”的问题,这些问题均可被用作构造公钥密码系统,下面仅列举与共轭相关的4个问题,其他问题可以参考参考文献[2]。

(1)共轭判断:给定辫子群Bn中的两个元素x和y,判断x和y是否共轭。

(2)共轭搜索:给定辫子群Bn中的两个元素x和y,且知道x和y共轭,求解a∈Bn,使得y=a-1xa。

(3)一般化共轭搜索(问题(2)的一般情况):给定辫子群Bn中的两个元素x和y,已知m

(4)Diffie-Hellman共轭:给定p∈Bn,对任意(a,b)∈LBl×RBr,若已知a-1pa和b-1pb,求a-1b-1pab。

1.2 基于辫子群的公钥加密算法

一个实用的辫子群上的公钥加密算法BPKE1加密是由KOKH等人[2]提出来的,其安全性基于上述的Diffie-Hellman共轭问题。该公钥加密算法的一个更一般的版本(BPKE2)是由CHAJC等人[1]提出来的,该算法描述如下:

算法BPKE2[1]:

私钥:辫子对(x1,x2)∈LBl×LBl。

公钥:辫子对(a,b),其中a∈Bn;b=x1ax2。

加密过程:假设消息为M∈{0,1}k,加密算法所使用的散列函数为H∶Bn→{0,1}k,随机选择(y1,y2)∈RBr×RBr,密文为(y1ay2,H(y1by2))⊕M。

解密过程:给定密文(c,d),明文M=H(x1cx2)⊕d,算法BPKE1[2]规定x2=x1-1,y2=y1-1。

显然,由于(x1,x2)∈LBl×LBl,(y1,y2)∈RBr×RBr,所以x1y1=y1x1,x2y2=y2x2。因此,H(x1y1ay2x2)⊕H(y1by2)⊕M=H(y1x1ax2y2)⊕H(y1by2)⊕M=H(y1by2)⊕H(y1by2)⊕M=M。

所以该加密算法是正确的,经过实验表明,随着n以及a和b的标准长度的增加,其安全性越来越高。

2 按需装配Agent

2.1 按需装配Agent的特点[3-5]

(1)能够及时实现功能的动态扩展与更新,优化网络计算等资源的配置。

(2)Agent能够在遇到具体问题、需要某个特定功能时才调入具体的功能模块,无需一开始就加载很多可能用不着的功能,具有良好的动态扩展能力,也减少了一些不必要的开销。

(3)为动态环境下复杂问题的解决提供了灵活有效的模式。在动态环境下Agent所遇到的问题很可能是事先无法预料的,而且在类似电子商务的领域中一个Agent的角色还可能发生很大的变化,而按需装配移动Agent在遇到问题时能够进行相应功能扩展,赋予了Agent极大的灵活性,使得Agent能够从容地解决这些问题。

2.2 按需装配Agent系统的实现[3]

Agent的按需装配过程可以用图1来描述,具体过程如下:

(1)当按需装配Agent发现某网络主机需要装载某功能构件时,就会根据服务类别和需要解决的问题向系统的构件管理器提交加载申请;

(2)Agent系统根据请求返回相应功能构件的构件基地路径;

(3)按需装配Agent根据返回的基地路径利用自身的构件装载器动态地将该功能构件加载到本地;

(4)按需装配Agent通过加载到本地的功能构件完成相应的功能。

图1 按需装配的实现过程

3 混合加密应用于按需装配Agent系统

通过对目前现有的密码算法和国内外的密码学发展进行研究和分析,提出了基于辫子群和公钥密码RSA相混合的加密算法,并将其应用于按需装配Agent系统中。

3.1 混合密码算法所用符号的意义

PKH:客户机的RSA加密公钥;

SKH:客户机的RSA解密私钥;

PKA:Agent运行机的RSA加密公钥;

SKA:Agent运行机的RSA解密私钥;

PK3:构件服务器的RSA加密公钥;

SK3:构件服务器的RSA解密私钥;

BPKH:客户机的辫子群加密公钥;

BSKH:客户机的辫子群解密公钥;

BPKA:Agent运行机的辫子群加密公钥;

BSKA:Agent运行机的辫子群解密私钥;

BPK3:构件服务器的辫子加密公钥;

BSK3:构件服务器的辫子解密私钥;

SHA-512:Hash函数的信息摘录。

i为标志符(当i=1时,加密顺序为先辫子加密后RSA加密;当i=0时,加密顺序为先RSA加密后辫子加密)。

3.2 混合密码加密过程

(1)客户机、Agent运行机和构件服务器三方分别产生并公布各方的公钥。

(2)如果客户机有任务,先判断当前系统时间的秒钟,如果秒钟为偶数,设i=0;如果秒钟为奇数,设i=1。

(3)客户机根据i的值对BPKA、PKA和BPK3、PK3进行相应顺序的加密,同时将任务用SHA-512进行信息摘录,最后将用公钥加密的结果、SHA-512的摘录和i的值打包分别传给Agent运行机和构件服务器。

(4)Agent运行机和构件服务器同时收到客户机发来的任务,构件服务器等待Agent运行机的响应。Agent运行机首先判断i的值并根据i的值对加密任务用自已的私钥BSKA、SKA进行正确的顺序解密。然后将解密后的任务进行SHA-512摘录提取并与客户机发来的SHA-512的值进行对比,如果相同则执行任务,否则返回步骤(2)。

(5)Agent运行机在执行任务时,首先将i值进行取反,然后用取反的i值对客户机发来的任务用构件服务器的公钥BPK3、PK3进行相应顺序的加密,同时将任务用SHA-512进行信息摘录,最后将用公钥加密的结果、SHA-512的摘录和i的值一起传给构件服务器来申请生成构件。

(6)当构件服务器收到Agent运行机的信息时,同样需要先判断i值并根据i值用自己的私钥BSK3、SK3对收到的信息(包括从客户机和Agent运行机传来的信息)进行顺序解密。之后,判断客户机和Agent运行机传来的信息的合法性(通过对比解密后直接得到的摘录和任务提取的SHA-512摘录),再对客户机和Agent传来的SHA-512值进行对比判断。如果有一个判断不符合要求,则返回步骤(2),否则进行下一步。

(7)构件服务器首先将从Agent运行机传来的i值取反,之后根据取反后的i值进行相应顺序的加密并用运行机的公钥BPKA、PKA对构件进行加密传输。Agent运行机对收到的构件进行解密并装载,执行任务后,将得到的结果传递给客户机。

3.3 安全性分析

辫子群混合加密下的按需装配Agent系统的安全性分析如下:

(1)混合加密算法的安全机制存在于Agent运行机、构件服务器和客户机中。这样,攻击者就不能从这三者中进行非法攻击。

(2)辫子群混合加密算法采用了判断合法的机制,因此即使Agent运行机是恶意主机或成为傀儡机,也不可以在客户机和构件服务器之间进行欺骗。同时攻击者无论是从客户机和Agent运行机之间进行攻击,还是在客户机和构件服务器之间进行欺骗,都是不可行的。

(3)RSA公钥加密算法可以抵抗非量子计算以外的攻击;辫子群算法可以抵抗量子计算的攻击,因此辫子群和RSA的混合加密算法可以有效地抵抗各种攻击。

(4)将参考文献[6]中的Hash函数使用相对安全的SHA-512函数进行加密,也提高了Agent系统的安全性。

将辫子群和传统加密方法混合加密应用于Agent系统中,有针对性地改进了Agent系统存在的缺点,提高了系统的安全性。对于一些单纯地只用传统加密算法或者辫子加密算法加密的系统,也可以用混合加密的方法来提高安全性。

[1]CHA J C,KO K H,LEE S J,et al.An efficient implementation of braid groups[C].In:Boyd C,ed.Advances in Cryptology-ASIACRYPT2001.LNCS 2048,Berlin:Springer-Verlag,2001:144-156.

[2]KO K H,LEE S J,CHEON J H,et al.New public-key cryptosystem using braid groups[C].In:Bellare M,ed.Advances in Cryptology-CRYPTO 2000.LNCS1880,Berlin:Springer-Verlag,2000:166-183.

[3]黄晓斌,李琦,吴少岩.一种按需装配的Agent[J].计算机科学,2002,29(5):89-91.

[4]马继业,张仲义,吕永波.按需装配Agent系统的构件安全机制研究[J].中国安全科学学报,2005,15(4):77-80.

[5]Huang Xiaobin,Li Qi,Wu Shaoyan.Assemble-on-demand Agent[A].信息技术与信息网络国际会议ICII2001 Conferences[C].北京:科学出版社,2001:286-291.

[6]Wang Xiaoyun,Yu Hongbo.How to break MD5 and other Hash function[A].EUROCRYPTO′05[C].2005.

猜你喜欢

客户机辫子加密算法
雪山姑娘辫子长
关于Brunnian辫子群的相对李代数的基
混沌参数调制下RSA数据加密算法研究
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
长辫子老师教认字
对称加密算法RC5的架构设计与电路实现
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”
基于Web数据提高访问速度的方法