一种新型矢量加密认证机制转让专利

申请号 : CN200810140647.9

文献号 : CN101355422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于军谷海红尤晓琳王军金爱花刘武洲冯振周

申请人 : 冯振周

摘要 :

一种新型矢量加密认证机制,涉及一种矢量密码学方法,属于信息安全技术领域;该方法为一种密码体制选择一个大数密钥空间M,并将该空间两次分割成2N*2N个具有不同指向的2M-2N个矢量密钥子空间,使该体制下每个密码系统都拥有一个唯一的加密密钥子空间和一个唯一的解密密钥子空间;依照该方法可以构造一种新型矢量加密认证机制,该机制采用硬件防篡改的密钥生成/再生技术实现大数密钥空间的二次分割并赋予密钥矢量特性,采用不对称的对称算法阵列加密/解密,在实现高强度保密性的同时实现抗重播、完整性控制、身份认证和数字签名,而且没有密钥管理的问题。

权利要求 :

1.一种基于身份的矢量密码学方法,采用如下技术方案:

1)、为一种密码体制选择一个无法穷尽的大数密钥M,该大数密钥M为1024位至8192位或更长;

M

2)、采用密钥高位分段的方法,分段长度N可选64-512BIT,将2 的大数密钥空间分割N M-N成2 个空间为2 的密钥子空间;

3)、为该体制下的每个密码子系统分配一个唯一的段号,限制其只能使用该段号含盖的密钥子空间中的密钥进行加密;则该段号就是该密码子系统的数字ID,由于它是空间分割的标志,代表着这个密码子系统可以使用的唯一专用的加密密钥空间,我们称其为空间代码;

4)、对每个密码子系统的专用加密密钥空间进行二次分割,产生针对解密方专用的、由N-1双方空间代码共同限定的2 个具有不同指向的矢量密钥交集;

5)、利用密钥粉碎、迁移和换位算法对二次分割后的矢量密钥交集空间进行处理,使一个密码子系统针对另外一个密码子系统的矢量密钥交集空间中的密钥通过粉碎、迁移和稀释,可以非均匀地分布在整个大数密钥空间中,不穷尽整个大数密钥空间M就无法得到完整的交集空间中的密钥;

6)、采用密钥再生技术和空间交换技术,使解密方能够再生出属于加密方专用加密密钥空间中针对自己交集中的密钥,正确解密矢量密文;

7)、将密码子系统的空间代码和使用者的身份信息捆绑并通过一个权威的机构对外公开;

8)、实际实现时,全零的段号作为公共密钥空间而不分配具体的密码子系统,为矢量密码实现某些特殊功能预留空间;

其主要技术特征是:采用大数密钥空间二次分割技术,使该密码体制下的每个密码子系统,都获得由一群不同指向的矢量密钥交集组成的、非均匀地分布在大数密钥空间中的、唯一的加密密钥空间,并由此产生一个标识系统唯一性的、能够和使用者身份捆绑的空间代码。

2.一种矢量密钥生成/再生器的设计方法,包括下述步骤:

选择一个大数密钥作为矢量密钥生成/再生器可以生成/再生的密钥空间,该大数密钥为1024位至8192位或其它需要的长度;

选择一个合适长度的空间代码即两次密钥空间分割的段号,该空间代码为64位至512位或其它需要的长度,作为矢量密钥生成/再生器的标识;

设计一个纯正的伪随机函数发生器,它可以是硬件电路或软件,以便生成长度为空间代码两倍的随机序列,作为矢量密钥生成/再生器生成矢量密钥的密钥材料;

设置一个4倍于空间代码长度的空间迁移常数,作为矢量密钥生成/再生器密钥空间在大数密钥空间中分布的迁移基数;

设计一个非线性动态顺序编码部件,它可以是硬件电路或软件,以便将两次密钥空间分割的空间代码、迁移常数和随机密钥材料按一定规则编码生成种子密钥;

设计一个非线性动态放大器部件,它可以是硬件电路或软件,以便将种子密钥放大到大数密钥的长度;

设计一个非线性动态密钥粉碎部件,它可以是硬件电路或软件,以便将放大后的种子密钥粉碎、稀释到整个大数密钥空间中;

设置一个非对称控制部件,它可以是硬件电路或软件,用于控制矢量密钥生成/再生器密钥再生时,控制伪随机函数发生器不能工作,并交换内外部空间代码参与非线性动态顺序编码的运算顺序,或者依据外部输入的工作模式控制字用全零、高位全零、低位全零替代本机空间代码或允许加密时外部能够输入本机的空间代码;

设置一个防篡改检测部件,它可以是硬件电路或软件,用于检测硬件环境的压力、频率和电压变化或软件程序的完整性,保证每个矢量密钥生成/再生器的空间代码是不能改变的,内部各个算法部件是不可测试的;

设置一个自毁部件,该部件可以是硬件电路或软件程序;它可以接受防篡改检测部件的控制或接收外部输入的销毁指令,用于电气地破坏矢量密钥生成/再生器的硬件结构或销毁软件程序;

该矢量密钥生成/再生器具备下述技术特征:

每个矢量密钥生成/再生器,都有一个可以和使用者捆绑的、唯一的空间代码,它决定了该矢量密钥生成/再生器可生成的矢量密钥空间范围;

每个矢量密钥生成/再生器,都有两个互不重叠的专用加密矢量密钥空间和解密矢量密钥空间;

每个矢量密钥生成/再生器,都只能使用法定通讯对方系统的空间代码启动矢量密钥生成器生成针对法定系统的加密密钥;

每个矢量密钥生成/再生器,都只能使用法定加密方系统的空间代码启动矢量密钥再成器,并且无法使用随机函数发生器,只能使用加密方随密文一起传送过来的随机密钥材料,再生出针对自己系统的解密密钥;

每个矢量密钥生成/再生器,都具有自我保护功能和接受外部命令自我销毁功能;

每个矢量密钥生成/再生器,输出的加密密钥都是具备唯一方向性的矢量密钥;

每个矢量密钥生成/再生器,都无法生成或再生出属于其它两个矢量密钥生成/再生器密钥空间范围内的矢量密钥。

3.一种新型矢量加密认证系统,包括四个部分:

使用防篡改硬件的矢量密钥生成/再生部分:该防篡改硬件内部包括:本地空间代码、数据输入/输出接口、空间迁移常数、空间交换单元、伪随机数发生器、非线性动态顺序编码器(矢量编码器)、非线性动态密钥碾展放大器、非线性动态密钥粉碎器、密钥排序部分、篡改检测部分、电气破坏部分、加解密控制部分;

加密算法阵列:由一组动态的对称算法阵列、初始白化和结束白化、加解密算法选择、动态密钥控制系统、非对称混乱系统组成;

密文头生成/验证部分:包括由加密方执行的密文头生成部分、数字接力加密传送部分和由解密方执行的信宿鉴别部分、头部解密验证部分、完整性验证、数字接力棒鉴别部分、身份认证部分组成;

通讯数据库:它记录了用户的所有可信用户群的基础信息和双方的数字接力棒,它包括下述主要字段:用户名称、空间代码、发送接力密钥、接收接力密钥、背景资料;

该新型矢量加密认证系统的主要技术特征在于:

1)、采用密钥生成/再生技术,没有密钥交换和管理的问题,使用者不用考虑密钥;

2)、每个加密认证系统都有一个唯一的加密专用的矢量密钥空间和一个唯一的解密专用的矢量密钥空间;

3)、同一个系统加密算法和解密算法是不可互逆的,法定的两个系统加密算法和解密算法是单向可逆的,对明文先解密获得的密文信息在所有系统中都无法再恢复成明文;

4)、系统内部自带完整性校验机制,采用加密/解密过程的中间状态值,在实现完整性验证的同时,自动实现了源宿鉴别、身份认证、数字签名和数字水印功能;

5)、系统输入限制,加密时只能选择收信方的空间代码和工作模式,解密时只能输入发信方的空间代码、工作模式和随机密钥材料,而无法选择其它任何参数。

4.如权利要求3一种新型矢量加密认证系统,其密钥生成/再生部分的主要技术特征在于:

1)、所有密钥生成/再生部分都有一个全球唯一的不可改变的空间代码;它是每个密钥生成/再生部分内部不可篡改的一部分,决定着该密钥生成/再生部分可使用的唯一的矢量加密密钥空间,也是和使用者捆绑的数字身份证号;

2)、输出长度为1408BIT-11264BIT分为六组的独立对称密钥和一个算法选择字,这六组密钥是:主密钥、白化密钥、控制密钥、增量密钥、初始向量密钥和一个数字接力密钥;

3)密钥再生部分可以再生出点对点、广播、组播、多播密钥和自加密密钥;

4)、采用空间交换技术实现解密密钥空间到其它系统加密矢量密钥空间的影射再生。

5.如权利要求3一种新型矢量加密认证系统,其加密算法阵列的主要技术特征在于:算法阵列是由多种对称算法并列组成,增加了动态算法选择字,通过白化技术和非对称混乱系统实现加密/解密通道的不对称特性;算法内部设置有完整生校验机制,校验和的输入采用加密/解密过程(如白化后)的中间值。

6.如权利要求3一种新型矢量加密认证系统,其密文头生成/验证部分的主要技术特征在于:加密方通过将明文形态的双方空间代码和用数字接力密钥加密的随机密钥材料、工作模式、全文校验和数据组成密文头,自动实现抗重播和没有签名的数字签名;解密方将依据全文校验和正确、接力传递无误来实现信息重放鉴别、信息源宿鉴别、双方对等的身份鉴别和数字签名验证。

7.如权利要求3所述的一种新型矢量加密认证系统,其主要技术特征还在于:该系统具有自加密、点对点加密、组播加密、多播加密和广播加密功能。

8.如权利要求3所述的一种新型矢量加密认证系统,其主要技术特征还在于:采用闭环的双向数字密钥接力链路实现抗重播功能。

9.如权利要求3所述的一种新型矢量加密认证系统,其主要技术特征还在于:该系统下的所有加密认证子系统可以由外部输入的特殊指令而被销毁。

说明书 :

一种新型矢量加密认证机制

技术领域

[0001] 本发明属于信息安全基础技术领域,具体涉及到一种矢量密码编码方法和用该方法构造的一种新型矢量加密认证机制。
[0002] 背景技术
[0003] 密码技术是当今保障信息网络安全的主要基础技术之一,按照使用密钥的形式不同,密码技术可以分成对称密码体系和不对称密码体系或者称单钥(私钥)密码体系和双钥(公钥)密码体系。在当今网络环境下,要保障信息网络和信息安全,就必须使用密码技术,以便实现信息的保密、信息生成者的身份认证、防止抵赖的数字签名以及防止数字媒体内容的侵权保护的数字指纹和数字水印技术。现有的两种密码技术中3DES、IDEA和AES属于单钥保密类,RSA、DSS、ECC等属于公钥签名类,综合类如PGP、PKI、IPsec等属于两种密码体制的组合应用,这些应用技术的最大缺陷在于:将加密和认证割裂开来,无法有效地将使用者和密码系统联系起来,很难抵抗第三方的攻击。而且这些技术实现效率低下、复杂烦琐,密钥管理更是一大世界难题。
[0004] 发明内容
[0005] 针对现有加密认证技术的明显缺陷,本发明的主要目的是:
[0006] 1、提供一种受限的矢量密码编码方法,将方向性赋予密钥和密文,以短小的加密参数得到大数密钥的安全强度,增强密码系统的免疫能力特别是对抗穷尽攻击的能力。 [0007] 2、提供一种密钥生成/再生机制,将用户身份和密码系统、密钥和密文信息全程捆绑,实现加密认证无密钥。
[0008] 3、提供一种简捷、高效的新型矢量加密认证机制,在实现高强度机密性的同时,通过检查密文的完整性自动实现源宿鉴别、身份认证、数字签名、数字水印等功能,而不是多种技术的简单组合。
[0009] 技术方案
[0010] 一种基于身份的矢量密码方法,该方法采用如下技术方案:
[0011] 1、为一种密码体制选择一个大数密钥M,该大数密钥M为1024位至8192位或更长,使这个密码体制的密钥空间是无法穷尽的;
[0012] 2、采用密钥高位分段的方法,分段长度N为64-512BIT或其它合适的长度,将2M的N M-N大数密钥空间分割成2 个空间为2 个密钥子空间;
[0013] 3、采用特殊的技术措施如硬件防篡改,为该体制下的每个密码子系统分配一个唯一的段号,限制其只能使用该段号含盖的密钥子空间中的密钥进行加密。则该段号就是该密码子系统的数字ID,由于它是空间分割的标志,代表着这个密码子系统可以使用的唯一N专用的加密密钥空间,我们称其为空间代码。很显然该密码体制最多有2 个密码子系统; [0014] 4、采取同样的方法对每个密码子系统的专用加密密钥空间进行二次分割,产生针N-1
对解密方专用的、由双方空间代码共同限定的2 个具有不同指向的矢量密钥交集,每个密钥交集中的所有密钥都是唯一指向另一个密码子系统专用的加密密钥;这种既有值域变化又有唯一指向性的密钥就是矢量密钥。当然用这样的矢量密钥对明文加密,所得密文信息
2N
也继承了密钥的矢量特征,成为矢量密文;显而易见,该密码体制下共有2 个具有不同指向的矢量密钥交集空间;
[0015] 5、利用密钥粉碎、迁移和换位算法对二次分割后的矢量密钥交集空间进行处理,使一个密码子系统针对另外一个密码子系统的矢量密钥交集空间中的密钥通过粉碎、迁移和稀释,可以非均匀地分布在整个大数密钥空间中,不穷尽整个大数密钥空间M就无法得到完整的交集空间中的密钥;
[0016] 6、采用密钥再生技术和空间交换技术,使解密方能够再生出属于加密方专用加密空间中针对自己交集中的密钥,正确解密矢量密文。由于受加解密双方空间代码限制,其它任何第三方由于无法改变自己的空间代码,所以既无法伪造加密方的矢量密文,又无法非法解密该矢量密文;
[0017] 7、将密码子系统的空间代码和使用者的身份信息捆绑并通过一个权威的机构对外公开,那么用该密码子系统加密的矢量密文,不仅可以代表该密码子系统,同时也代表使用该密码子系统的实体;
[0018] 8、实际实现时,对于全零的段号,作为公共密钥空间而不分配具体的密码子系统,为矢量密码实现某些特殊功能预留空间。
[0019] 采用上述技术措施后,用该矢量密码学方法构造的密码体制,有一个无法穷尽的大数密钥空间,该体制下的任何一个密码子系统,都有一个能够和使用者身份捆绑的唯一的空间代码和一个唯一的加密密钥空间,该密钥空间是由一群不同指向的专用矢量密钥子空间组成;每个密码子系统的矢量密钥子空间非均匀地分布在大数密钥空间中,使穷尽攻击无法穷尽整个大数密钥空间;用该密码子系统加密的任何密文也也是具有唯一指向性的矢量密文,非法定通讯对方系统由于无法生成专用的矢量密钥,不能非法解密。 [0020] 为了实现上述矢量密码编码方法,下面给出一种密钥生成/再生器的设计方法。 [0021] 一种矢量密钥生成/再生器的设计方法,包括下述步骤:
[0022] 选择一个大数密钥作为矢量密钥生成/再生器可以生成/再生的密钥空间,该大数密钥为1024位至8192位或其它需要的长度;
[0023] 选择一个合适长度的空间代码即两次密钥空间分割的段号,该空间代码为64位至512位或其它需要的长度,作为矢量密钥生成/再生器的标识,段号决定了一个密码子系统可以使用的密钥范围,使每个加密子系统的密钥空间都是唯一的; [0024] 设计一个纯正的伪随机函数发生器,它可以是硬件电路或软件,以便生成长度为空间代码两倍的高度不可重复的随机序列,作为矢量密钥生成/再生器生成矢量密钥的密钥材料;所述的硬件电路或软件包括所有可实现该规则的硬件算法和软件方法; [0025] 设置一个4倍于空间代码的空间迁移常数,作为矢量密钥生成/再生器密钥空间在大数密钥空间中分布的迁移基数;
[0026] 设计一个非线性动态顺序编码部件,它可以是硬件电路或软件,以便将两次密钥空间分割的空间代码、迁移常数和随机密钥材料按一定规则编码生成种子密钥;所述的硬件电路或软件包括所有可实现该规则的硬件算法模块和软件方法;
[0027] 设计一个非线性动态放大器部件,它可以是硬件电路或软件,以便将种子密钥放大到大数密钥的长度;所述的硬件电路或软件包括所有可实现该要求的算法模块和软件算法;
[0028] 设计一个非线性动态密钥粉碎部件,它可以是硬件电路或软件,以便将放大后的种子密钥粉碎、稀释到整个大数密钥空间中;所述的硬件电路或软件包括所有可实现该要求的硬件算法模块和软件算法;
[0029] 设置一个非对称控制部件,它可以是硬件电路或软件,用于控制矢量密钥生成/再生器密钥再生时,控制伪随机函数发生器不能工作,并交换内外部空间代码参与非线性动态顺序编码的运算顺序,或者依据外部输入的工作模式控制字用全零、高位全零、低位全零替代本机空间代码或允许外部输入本机的空间代码;
[0030] 设置一个防篡改检测部件,它可以是硬件电路或软件,用于检测硬件环境的压力、频率和电压变化或软件程序的完整性,保证每个矢量密钥生成/再生器的空间代码是不能改变的,内部各个算法部件是不可测试的;该部件包括采用硬件防篡改技术的一切有效技术形式和各种软件方法;
[0031] 设置一个自毁部件,该部件可以是硬件电路或软件程序;它可以接受防篡改检测部件的控制或接收外部输入的销毁指令,用于电气地破坏矢量密钥生成/再生器的硬件结构或销毁软件程序,所述的硬件电路或软件包括所有可实现该要求的电路结构形式或软件程序。
[0032] 本发明方法设计的矢量密钥生成/再生器具备下述技术特征:
[0033] 每个矢量密钥生成/再生器,都有一个可以和使用者捆绑的、唯一的空间代码,它决定了该矢量密钥生成/再生器可生成的矢量密钥空间范围;从而使每个矢量密钥生成/再生器,都有两个互不重叠的专用加密密钥空间和解密密钥空间。
[0034] 每个矢量密钥生成/再生器,都只能使用法定通讯对方系统的空间代码启动随机函数发生器,生成针对法定系统的加密密钥;都只能使用法定加密方系统的空间代码启动矢量密钥再成器,并且无法使用随机函数发生器,只能使用加密方随密文一起传送过来的随机密钥材料,再生出针对自己系统的解密密钥;这种再生是通过所谓的空间交换技术实现的,即解密钥再生时,解密方系统通过交换系统内部和外部输入的空间代码参与密钥生成编码的顺序,实现解密密钥空间到加密方系统加密矢量密钥空间的影射再生;空间交换是由非对称控制部件来执行,它关闭随机函数发生器并交换内部和外部空间代码的位置,希望外部输入一个随机密钥材料,来生成解密密钥,从而实现加密钥到解密钥的空间交换;在这种空间交换的过程中,由于本地空间代码是无法改变的,这种再生影射只能生成加密方针对本系统加密密钥交集中的矢量密钥,而不能生成加密方针对其它系统加密密钥交集中的矢量密钥;所以空间交换技术可以解决密钥直接交换和管理的世界难题,又不至于密钥滥用。
[0035] 每个矢量密钥生成/再生器,都具有自我保护功能和接受外部命令自我销毁功能;这里的自我销毁功能是通过硬件的方法破坏矢量密钥生成/再生器的硬件结构或应用软件的方法使应用程序瘫痪而失去矢量加密的功能;这种模式的设置是为了防止有人利用本发明的技术实施网络或计算机犯罪。
[0036] 每个矢量密钥生成/再生器,输出的加密密钥都是具备唯一方向性的矢量密钥;都无法生成或再生出属于其它两个矢量密钥生成/再生器密钥空间范围内的矢量密钥。 [0037] 每个矢量密钥生成/再生器在非对称部件的控制下,依据应用需求可以生成包含非矢量密钥的五类密钥,纯矢量密钥、成组加密/解密密钥、多组加密/解密密钥、广播加密/解密密钥和自加密密钥。
[0038] 上述矢量密钥生成/再生器的设计方法只是本发明的一个具体示例,上面的概要描述并未包括本发明的所有技术特征和实现方法,因此,凡是以大数密钥空间分割为前提、或生成具有指向性的矢量密钥为目的的所有密钥生成/再生方法、或采用受限的密钥生成/再生方法而取消密钥交换的、或使用外部控制指令销毁密码子系统硬件或软件的方法、或使用空间交换技术实现无钥加密认证的方法,都属于本发明的范围,而不论是否和本示例的方法或技术特征完全相同或相似。
[0039] 下面简要叙述一次密钥生成和再生的过程:
[0040] 加密密钥的生成,加密者将代表法定解密者身份的空间代码和工作模式字输入到自己的矢量密钥生成/再生器中,启动密钥生成器中的随机函数发生器,生成两倍于空间代码长度的随机密钥材料,然后外部空间代码和随机密钥材料、空间迁移常数和本地空间代码被送到非线性动态顺序编码部件进行动态编码,编码顺序为:本机空间代码+外部空间代码+随机密钥材料+空间迁移常数,输出的种子密钥直接进入非线性动态放大器部件,进行密钥动态放大,得到规定长度的中间密钥,接着进入非线性动态密钥粉碎部件,对中间密钥进行粉碎和稀释,最后得到长度在1024BIT~8192BIT或其它合适长度的矢量密钥序列,供矢量加密系统使用。
[0041] 解密密钥的再生,法定的解密者得到密文后,用密文携带的加密者的空间代码、随机密钥材料和工作模式,向自己的矢量密钥生成/再生器申请解密密钥,在非对称控制部件的干预下,随机函数发生器被关闭,外部输入的参数被直接送到非线性动态顺序编码部件进行动态编码,编码顺序为:外部空间代码+本机空间代码+随机密钥材料+空间迁移常数,输出的种子密钥直接进入非线性动态放大器部件,进行密钥动态放大,得到规定长度的中间密钥,接着进入非线性动态密钥粉碎部件对中间密钥讲行粉碎和稀释,最后得到长度在1024BIT~8192BIT或其它合适长度的矢量密钥序列,供矢量解密系统使用。 [0042] 通过矢量密钥生成/再生器的简要工作过程可以看出,采用密钥生成/再生技术后,加解密双方除了公开交换少量的密钥材料外,真正的加密钥根本无须交换,双方也无须考虑密钥问题。
[0043] 依据上述发明的矢量密码编码方法,我们可以构造一种基于使用者身份的可以同时实现信息机密性、源宿鉴别、身份认证、数字签名、数字水印和完整性控制的硬件PTM芯片或加密认证芯片,也可以用软硬件结合的形式生产制造新型矢量加密认证系统,还可以用纯软件方法生产加密认证系统。因此,本发明公开的是一种生产新型矢量加密认证产品所必须遵循的基本原理和技术方案,而不局限于物理产品本身,为叙述方便,在下文中系统和机制具有相同的含义。
[0044] 一种新型矢量加密认证系统,包括四个部分,矢量密钥生成/再生部分、加密 算法阵列、密文头生成/验证部分和通讯数据库。该新型矢量加密认证系统具备下述技术特征:
[0045] 1)、采用密钥生成/再生技术,使用者不用考虑密钥;
[0046] 2)、采用空间代码防篡改技术和加密密钥空间专用技术,每个加密认证系统都有一个唯一的加密矢量密钥空间和一个唯一的解密矢量密钥空间;
[0047] 3)、采用密钥生成/再生部分和算法捆绑以及加解密通道不对称技术,除自加密外,同一个系统加密算法和解密算法是不可互逆的,法定的两个系统加密算法和解密算法是单向可逆的,这里并非算法本身不可逆,是因为一个系统的密钥生成/再生部分无法生成同一个空间中的密钥,而法定的两个系统的密钥生成/再生部分可以生成同一个空间中的密钥;对明文先解密获得的密文信息在所有系统中都无法再恢复成明文;这是因为系统输入的限制,加密时只能选择收信方的空间代码和工作模式,解密时只能输入发信方的空间代码、工作模式和随机密钥材料,而无法选择其它任何参数;从而可以有效防止重复测试和穷尽攻击。
[0048] 4)、采用加密/解密过程的中间状态值,实现系统内部自带完整性校验机制,在实现完整性验证的同时,自动实现了源宿鉴别、身份认证、数字签名和数字水印功能;这是因为加密密钥是由加解密双方的空间代码限制生成,用这样的矢量密钥加密的密文,都包含双方的身份信息,而且这种方式生成的密文信息都是唯一的矢量密文,其它任何系统都无法生成,所以在法定系统只要全文校验和正确无误,就隐含者信息的源宿、发送者的身份和信息本身是真实的、可靠的,事后发送者无法抵赖的,也就实现了现有技术所称的源宿鉴别、身份认证、数字签名和数字水印功能,密文信息本身就是双方共同签字画押的数字签名的信息。
[0049] 所述的密钥生成/再生部分使用了防篡改硬件装置但不局限于此硬件,该防篡改硬件装置内部包括:
[0050] 本地空间代码:用来标识本密钥生成/再生部分唯一性的生产序列号,也是密钥空间分段的段号,由工厂生产时一次性烧制,它是可以和使用者捆绑的、唯一代表使用者身份的网络身份证,也是密钥生成/再生部分的必要参数,决定着密钥生成/再生部分可生成/再生的密钥范围。
[0051] 数据输入/输出接口:加密时用于输入外部空间代码,解密时用于输入外部空间代码和加密方生成的密钥材料,输出数据包括加密的算法控制字和密钥; [0052] 空间迁移常数:一个长度是空间代码长度4倍的常量,决定本密钥生成/再生部分生成的密钥在大密钥空间中的分布位置,由工厂生产时一次性烧制。 [0053] 空间交换单元:一个内部/外部空间代码位置交换单元,决定内部/外部空间 代码参与密钥生成算法的顺序,解密时有效,通过这种空间交换让解密方可以再生出加密方使用的加密钥。
[0054] 伪随机数发生器:加密时,用于生成二倍于空间代码长度的随机密钥材料,解密时则禁止使用。
[0055] 非线性动态顺序编码器(矢量编码器):将内部/外部空间代码、常量和随机密钥材料按照一定的顺序和算法进行编码,生成矢量种子密钥。
[0056] 非线性动态密钥碾展放大器:将较短的种子密钥通过非线性碾展放大,扩展到大数密钥空间的长度。
[0057] 非线性动态密钥粉碎器:通过一定的散列算法,将连续的密钥输出,不均匀地分布在大密钥空间中,使穷尽攻击不穷尽整个大数密钥空间不能得到本密钥生成/再生部器的完整密钥空间中的密钥。
[0058] 密钥排序部分:依据本次生成的算法选择字控制密钥生成算法和输出顺序,以便适应相应加密算法对密钥的要求。
[0059] 篡改检测部分:用于检测电压变化或压力变化,以便控制电气破坏部分销毁该硬件;软件实现时,主要检测程序累加和和安装环境。
[0060] 电气破坏部分:接受篡改检测部分或外部输入的销毁指令,电气地破坏硬件;软件实现时则修改主程序结构,使程序瘫痪。
[0061] 加解密控制部分:控制空间交换单元、伪随机数发生器和输入端口,使密钥再生时空间交换单元工作,伪随机数发生器不工作,软件实现时则由用户选择的工作方式字控制。 [0062] 本密钥生成/再生部分具有下述技术特征:
[0063] 1)、所有密钥生成/再生部分都有一个全球唯一的不可改变的空间代码。它是每个密钥生成/再生部分内部不可篡改的一部分,决定着该密钥生成/再生部分可使用的唯一的矢量加密密钥空间。也是和使用者捆绑的数字身份证号。该空间代码采用64~512BIT的长度。
[0064] 2)、输出长度为1408BIT-11264BIT分为六组的独立对称密钥和一个算法选择字,这六组密钥是:主密钥、白化密钥、控制密钥、增量密钥、初始向量密钥和一个数字接力密钥。
[0065] 3)通过不同模式调整本地空间代码的值域,可以使密钥再生部分再生出点对点、广播、组播、多播密钥和自加密密钥。所有密钥生成/再生部分,加密密钥空间都是唯一的绝对不会重叠的。
[0066] 4)、采用空间交换技术实现解密密钥空间到其它系统加密矢量密钥空间的影 射再生。
[0067] 5)、密钥生成/再生部分依据需要可以由权威机构负责销毁。 [0068] 所述的加密算法阵列包括初始和结束白化部分、算法选择部分、动态混乱控制部分、完整性计算部分和一组动态的对称算法阵列。
[0069] 初始和结束白化部分:是在主密钥加密/解密前或后,对输入的明文/密文和输出的密文/明文预解/加密或输出掩盖加/解密,目的是增加密钥长度,掩盖某些算法的差分特性,造成加/解密通道的不对称特性;从而保证加密和解密必须成双成对,单独使用加密或解密通道连续加密和解密都不能还原原始的明文。
[0070] 算法选择部分:由密钥生成/再生部分输出的控制字,决定本次加解密使用的算法。
[0071] 动态混乱控制部分:是用控制密钥和增量密钥对密钥、算法进行动态控制的一个算法单元,目的是控制算法内部的迭代次数、主密钥的使用顺序、加密轮数、移位的距离、密钥的值域等动态变化,增加密码分析的难度。
[0072] 完整性计算部分:算法内部设置有完整性校验机制,校验和的输入采用加/解密过程的中间状态值,校验结果被直接写入密文头部或加密后写入密文尾部,如此设置校验和计算的目的是克服现有技术中完整性控制容易遭受攻击,无法真正保障信息的完整性,采用本方法,完整性校验只有合法的解密方系统才能进行,非法者由于不能正确解密密文获得校验和,也就无法伪造密文信息。
[0073] 动态的对称算法阵列:是由多种优秀的对称算法并列组成,也可以采用现有成熟、安全的算法组成,如3DES、IDEA、AES等。
[0074] 加密算法阵列工作于CBC模式,将长度为1408BIT-11264BIT的矢量密钥序列分为六组的独立对称密钥,它们是:主密钥、白化密钥、控制密钥、增量密钥、初始向量密钥和一个数字接力密钥。其中主密钥相当于常规对称密码体制的对称轮密钥;白化密钥主要是用来制造加解密通道的不对称输入/输出特性;控制密钥是实现算法动态特性的因子,它决定了每次加密使用的算法、加/解密模式、主密钥的使用顺序、迭代的次数、移位的距离等;增量密钥不直接参与加/解密运算,它是控制其它几组密钥如何变换的一个伪随机量值;
初始向量密钥是由通讯双方空间代码的中间态混合生成的一个方向标;数字接力密钥主要用于密文头的接力加密解密。该加密算法阵列的主要技术特征表现在如下几方面: [0075] 1)、采用算法动态可变和密钥动态可变技术,使密码分析更加困难; [0076] 2)、使用大数密钥空间,使密钥空间无法穷尽。
[0077] 3)、采用白化技术和非对称混乱技术,使穷尽攻击无法实施。 [0078] 4)、采用中间状态值作为完整性校验输入,使伪造、篡改更加困难; [0079] 所述的密文头生成/验证部分,是本发明实现源宿鉴别和身份认证的前提,它包括如下几部分:
[0080] 密文头生成部分(加密方执行):用于加密时将包括加解密双方空间代码、随机密钥材料、加密模式字、全文校验和和头部校验和组成密文头部数据。
[0081] 数字接力加密传送部分(加密方执行):将通讯数据库中本系统上次的接力密钥放在明文头部和明文一起加密,将本次生成的接力密钥替代数据库中上次的接力密钥,并用法定解密方上次的数字接力密钥加密除双方空间代码外的密文头数据。如果是首次通讯,则用一个通用的接力密钥。
[0082] 信宿鉴别部分(解密方执行):用密文头携带的法定信宿空间代码和解密者系统的空间代码比较,相同则信宿得到鉴别,后续密文就是给解密者专门生成的矢量密文。 [0083] 头部解密验证部分(解密方执行):用密文头携带的法定信源空间代码到通讯数据库中取出本系统上次加密获得的接力密钥,解密后续头部数据,如果头部校验和正确,说明密文头正确,数据完整可用,则完成抗重播鉴别。如果是首次通讯,则用一个通用的接力密钥解密。
[0084] 完整性验证(解密方执行):解密密文数据后,得到的全文校验和正确无误,说明密文正确,数据完整,没有被中途篡改和伪造。
[0085] 数字接力棒鉴别部分(解密方执行):将明文头部的数字接力密钥和通讯数据库中加密方上次的接力密钥比较,如果相同则将本次解密生成的数字接力密钥替代加密方上次的接力密钥,完成密钥的接力传递,标识的信源得到鉴别。
[0086] 身份认证部分(解密方执行):全文校验和正确,接力传递无误,则证明下述事实:
[0087] 解密得到的明文序列是完整可用的,中途没有被伪造和篡改,也不是过去的信息重放。
[0088] 头部标识的法定信源是正确的,明文序列的确是该信源所发,则信息的源宿得到鉴别。
[0089] 通过权威的第三方可以得到该信源的现实身份信息和背景资料,证明得到的明文序列就是该现实实体专门给法定信宿发送的,则双方的身份得到对等鉴别。 [0090] 因为得到的密文序列能够在本系统正确解密,该密文信息就相当于该加密实体的签名信息,也只有在法定的解密实体系统能够正确解密验证。如果该密文序列牵涉到数字产权、版权问题,则该密文序列就是包含加密实体和解密实体的 单向数字指纹和数字水印的密文序列,使用者可以将该密文信息作为呈堂证据。
[0091] 所述的密文头生成/验证部分的主要技术特征在于,使用了双向闭环的数字接力棒技术来保障密文头数据的安全和抗重播,使新型矢量加密认证机制的整体安全性大大提升,伪造、篡改和信息重放更加困难。下面简述数字接力棒技术的安全原理。 [0092] 初始状态下,通讯双方并没有数字接力棒,接力棒是在首次加密通讯时开始建立的,加密方使用新型矢量加密认证机制约定的一个通用数字接力密钥加密密文头,并将该密钥作为首次的接力棒放在明文头部加密后,发送给法定的解密者;解密者系统收到密文信息后,从密文序列分离出密文头,在验证法定信宿正确的情况下,就用法定信源的空间代码到通讯数据库中去寻找该空间代码的条目,以便取出自己系统上次的接力密钥解密头部数据,可由于双方是第一次通讯,数据库中根本没有该信源的记录,系统告诉解密者该用户是新用户,需要验证用户身份,解密者就通过网络到可信的第三方查询该信源空间代码所属的用户,了解该用户的背景资料和诚信状况,当确认该用户值得信赖时,就将法定信源的空间代码和其它资料记录到自己系统的通讯数据库中,然后告诉密码系统,用通用的接力密钥解密头部数据,系统解密头部数据获得随机密钥材料和其它参数,并向密钥再生器申请解密钥,解密密文数据,从明文头部取出接力棒,如果该接力棒同系统约定的相同,则完成了首次接力通讯,法定解密者从解密钥中得到法定加密者的第一个数字接力密钥,并将该密钥作为自己系统对当前解密者发送信息时的头部加密钥存入通讯数据库中,从而完成一个单向接力链路的建立;如果此时解密者立即给法定加密者返回一条应答信息,则双方的身份就发生变化,解密者变成加密者,原加密者就自然成为新的解密者,由于新加密者是第一次给新解密者发送信息,还没有自己的接力棒,只得用通用的接力密钥充当接力棒放在明文头部,并用刚刚获得的对方的接力密钥加密密文头,将自己系统加密刚生成的接力密钥存放到通讯数据库刚建立的新用户条目中的针对该用户的数据接力棒字段,完成自己系统针对该用户的双向接力链路的建立,同样原加密者新解密者收到密文信息后,从密文序列分离出密文头,在验证法定信宿正确的情况下,就用法定信源的空间代码到通讯数据库中寻找相应的记录,发现该空间代码条目中没有存放法定对方的接力棒,知道是第一次回访数据,就直接取出自己上次加密时存放的接力密钥解密头部数据,并向密钥再生器申请解密钥解密密文序列,从明文头部得到对方的接力棒,如果该接力棒是通用的数字接力棒,则将刚生成的接力密钥存放到数据库该用户条目下加密钥字段,完成自己系统针对该用户的双向接力 链路的建立。至此,两个用户间形成一个闭环的接力通讯链条,凡是加密者都用对方上次的接力密钥加密头部数据,并将自己上次加密时生成的接力密钥作为数字接力棒放在明文头部,加密后发送给解密者,将新生成的接力密钥替代原接力棒存入数据库;凡是解密者都用自己上次加密时生成的接力密钥解密头部数据,并从解密后的明文头部分离出接力棒与通讯数据库中的接力棒比较,如果相同则接力传递有效,并将解密时生成的新接力棒替代数据库中的旧接力棒。
[0093] 所述的通讯数据库是每个使用新型矢量加密认证机制的用户必须配备的软件数据库,它记录了用户的所有可信用户群的基础信息和双方的数字接力棒,它包括下述主要字段:
[0094] *用户名称:,用户现实世界的真实名称,由权威的第三方获得。 [0095] *空间代码:用户密码系统的空间代码,由权威的第三方获得。 [0096] *发送接力密钥:数据库用户每次给该用户加密获得的接力密钥。 [0097] *接收接力密钥,数据库用户每次解密该用户密文获得的接力密钥。 [0098] *诚信等级:该用户的诚信度,由权威的第三方获得。
[0099] *背景资料:用户现实中一些有用的信息,由权威的第三方获得。 [0100] 本发明的新型矢量加密认证机制,依据需要可以实现自加密、点对点加密、组播加密、多播加密和广播加密;这些功能是通过下述方法实现的:
[0101] 自加密:加密时只有选择了自加密模式,加密系统才允许输入系统自己的空间代码,完成自加密,解密时则依据密文头部的加密模式字自动实现自解密。 [0102] 点对点加密:该模式就是上文叙述的加密模式,只要输入法定对方的空间代码即可完成一对一加解密。
[0103] 组播加密:只有选择了组播加密模式,加密时才能选择低位全零的空间代码输入,即便用户输入的是完整的空间代码,系统默认的仍然是低位全零,这种方式可以对空间代码高位相同的低位不同的一组用户加密数据,这一组用户加密系统收到组播密文后,只要判定法定信宿的高位空间代码和自己的相同,就可以将密文正确解密恢复出明文。 [0104] 多播加密:当用户选择了多播加密模式时,加密系统默认的是空间代码的低位有效,这种方式可以对空间代码低位相同的高位不同的一群用户加密数据,这一群用户加密系统收到多播密文后,只要判定法定信宿的低位空间代码和自己的相同,就可以将密文正确解密恢复出明文。
[0105] 广播加密:当用户选择了广播加密模式时,加密系统默认的空间代码是全零,这种方式可以对所有使用新型矢量加密认证机制的用户加密数据,这些用户加密 系统收到广播密文后,密钥再生器自动将本地空间代码隐藏,用全零替代本地空间代码,就可以将密文正确解密恢复出明文。
[0106] 本发明设置这些加密方式,是为了解决现有加密认证技术无法解决的认证无法自动实现保密,保密不能自动提供认证的难题,从而实现加密认证的合二为一,并可以依据实际情况决定加密认证的范围,使无关的人员无法看到认证数据内容;同时,这些模式的设置也为数字知识产权、版权保护提供了强大的技术支撑。
[0107] 使用本发明新型矢量加密认证机制实现一次完整的加密认证过程如下: [0108] 初始状态下,所有使用新型矢量加密认证机制的用户必须到一个权威的第三方机构登记注册,完成系统空间代码和使用者现实身份的捆绑;该权威机构只对登记注册用户提供这种可信的捆绑关系服务,而不参与用户的加密认证过程。
[0109] 加密过程:加密者完成。
[0110] 1、通过网络或其它途径获得解密者系统的空间代码,并查验解密者的信用状况,当前颜色等对解密者身份及可信度进行初步认证,并将该解密者的信息加入到通讯数据库中,生成起始的接收、发送接力密钥字段。
[0111] 2、用解密者的空间代码启动密码系统,并告诉系统要加密的明文位置。 [0112] 3、加密钥生成:加密者系统密钥生成器用解密者的空间代码启动随机数发生器生成随机密钥材料。
[0113] 4、密钥生成器将本地空间代码、解密者空间代码和随机密钥材料和空间迁移常数送入顺序编码器,生成种子密钥。
[0114] 5、种子密钥经过非线性密钥碾展放大器,变换成大数密钥空间长度的密钥群。 [0115] 6、密钥群经过动态粉碎系统粉碎后,输出合乎标准的矢量加密密钥群,它包括:算法选择密钥、数字接力密钥、初始向量密钥、主密钥群、白化密钥、控制密钥和增量密钥。 [0116] 7、密钥排序部分根据算法选择字对密钥序列进行处理,最后输出符合本次加密算法要求的密钥序列。
[0117] 8、用算法选择密钥在算法阵列中选择本次加密算法,并将通讯数据库中上次的数字接力密钥放在明文头部(首次放置一个通用的接力密钥),用刚生成的数字接力密钥替代数据库中旧的数字接力密钥,作为下次解密的接力密钥。
[0118] 9、用CBC模式加密明文,得到密文输出和校验和。
[0119] 10、将解密方空间代码、本地空间代码和用上次解密者的数字接力密钥(首次用通用密钥)加密的随机密钥材料、全文校验和以及头部校验和组成密文头。 [0120] 11、将完整的密文通过网络或其它途径发送给解密者。
[0121] 解密过程:解密者完成。
[0122] 1、信宿鉴别:解密者得到密文后,分离出密文头,用本地空间代码与获得的法定信宿的空间代码比较,如果相同,则信息的目的正确,若不同则信息不是发送给本机的或者密文头已经被篡改,则丢弃密文。
[0123] 2、解密者用加密者的空间代码到通讯数据库中取出上次的接力密钥(首次用通用密钥)对密文头解密,若头部校验和正确,获得的头部数据有效。
[0124] 3、解密钥再生:解密者将加密者的空间代码、随机密钥材料和加密模式输入到密钥再生器申请解密钥。
[0125] 4、密钥再生器将本地空间代码、加密者空间代码和随机密钥材料送入空间交换迁移单元,交换本地和外部空间代码的位置,然后将全部参数送入顺序编码器生成解密种子密钥。
[0126] 5、种子密钥经过非线性密钥碾展放大器,变换成大数密钥空间的长度的密钥群。 [0127] 6、密钥群经过动态粉碎系统粉碎后,输出合乎标准的矢量解密密钥群,它包括:算法选择密钥、初始向量密钥、数字接力密钥、主密钥群、白化密钥、控制密钥和增量密钥。 [0128] 7、密钥排序部分根据算法选择字对密钥序列进行处理,最后输出符合本次解密算法要求的密钥序列。
[0129] 8、用算法选择密钥在算法阵列中选择本次解密算法;用CBC模式解密密文,得到接收数字接力密钥、明文输出和校验和,
[0130] 9、完整性校验:由于校验和是加解密过程的中间值,不攻破整个系统无法伪造校验和,所以校验和正确就说明密文/明文是完整的、可用的。
[0131] 10、抗重播和数字接力棒校验:用解密得到的数字接力密钥和通讯数据库中保存的接力密钥比较,如果正确,则完成了抗重播检查和数字接力传递检查,并将刚生成的数字接力密钥作为下次的数字接力棒写入通讯数据库中。
[0132] 11、信源鉴别:用密文头部标识的空间代码解密能够得到正确的数字接力棒、明文和校验和,证明该密文就是标识的空间代码系统所发。
[0133] 12、身份认证:解密者通过网络可以查验密文标识的空间代码所属实体的身份信息,从而确认加密者的身份。
[0134] 13、数字签名:由于信源的身份得到确认,而密文信息是其它第三方系统包括解密者自己都无法伪造的,这种唯一的密文信息就相当于加密者的签名信息,从而实现没有刻意签名的自动数字签名。
[0135] 14、数字水印:由于密文信息是矢量密文,任何一个字串或分组都包含着加解密双方的身份信息,对密文信息的任何一位进行篡改都将影响密文的矢量特征,造成校验和出错,所以这样的矢量密文信息具备数字指纹或隐含的数字水印功效,而且比现有的数字指纹和数字水印技术更安全。因为现有数字产权保护技术是在造成侵权后果时,才利用数字指纹或数字水印来证明产品的权属;而使用本发明保护产品权属,根本无法造成后果。 [0136] 通过上述一次完整的加密通讯过程可以看出,利用本发明的新型矢量加密认证机制实现加密通讯,通讯双方无须事前协商密钥,只要象打电话一样,直接用代表解密者身份的空间代码对明文加密,就可以得到具备数字签名或数字水印功能的密文信息;解密者得到密文信息后,只要用密文携带的加密者的身份标识对密文解密,能够获得正确的接力棒和全文校验和,就完成了密文信息的源宿鉴别和对加密者的身份认证,密文信息本身就是加密者的数字签名或具备数字水印功能。从而可以有效地抵抗第三方的攻击,因为第三方无论是修改标识的空间代码、篡改密文伪、造密文或是重放密文,都会造成解密失败而被解密方及时发现。
[0137] 另外,本发明新型矢量加密认证机制的所有鉴别和认证都是对等的,这是因为加密签字过程是使用双方的身份标识共同生成矢量密钥,然后对信息加密形成等同双方签字的矢量密文,由于所有系统的空间代码都是永久不可改变的,因此这种矢量密钥和密文只有加密者系统唯一能够生成,解密者得到密文后,同样用双方的身份标识再生出矢量密钥,然后对密文解密,那么这种矢量密钥只有在法定的解密者系统才能正确解密密文恢复成明文,这种过程隐含着双方共同签字画押,双方共同解密认证,所以本发明的鉴别和认证是双方对等的。
[0138] 有益效果
[0139] 本发明的新型矢量加密认证机制同现有的两种密码体制和认证技术、数字版权保护技术相比,具有明显的优越性。
[0140] 1、没有密钥交换、管理的问题,对传统的密码攻击方法免疫。 [0141] 2、实现了密钥、密文与使用者身份的捆绑,实现全程的密级标识和身份认证,有效地抵抗第三方的攻击。
[0142] 3、在实现机密性和完整性的同时,自动实现了数据源宿鉴别、双向对等的身份鉴别以及数字签名和数字水印功能,使加密、认证和数字签名以及数字水印的实现过程简单化。
[0143] 4、安全强度高、功能强大,特别是多种加密模式的的设计和依托系统或设备序列号的加密方法,为应用系统提供了灵活的选择空间,特别适合数字产权、版权保护领域和军事加密通讯领域。
[0144] 5、本发明加密效率高、身份标识明显,非常适合移动终端实现加密通讯和认证,更适合频繁加密签名和身份认证的场合如替代IPsec、PKI和网络家电。
[0145] 附图说明:
[0146] 图1是本发明新型矢量加密认证机制的加密通讯原理图。
[0147] 图2是本发明的密钥生成再生器的功能框图。
[0148] 图3是本发明新型矢量加密认证机制的软件实现流程图。
[0149] 图4是用本发明构造的可信计算平台模块PTM的功能框图,也是本发明的一个具体实施例。
[0150] 下面结合图1、图2和图3对本发明做详细阐述:图1中加密密钥生成器、加密器E和解密密钥再生器、解密器D对于同一个加密系统是一个整体部件,当两个同样的加密认证系统A和B实现加密通讯时,加密方A只能使用加密密钥生成器和加密器E,解密方B只能使用解密密钥再生器和解密器D;当加密方A要发送明文信息M给B时,首先从权威的第三方获得解密方B的实际身份信息、背景资料和空间代码,当确认B是可以信赖的实体时,就用代表B实际身份的空间代码,向密钥生成器申请加密密钥,密钥生成器收到B的空间代码后参见图2,先启动随机函数发生器生成长度为空间代码两倍的随机密钥材料,然后将B的空间代码、迁移常数和随机密钥材料送到非线性动态顺序编码器中配合本地看空间代码进行编码,生成种子密钥后直接送入非线性动态放大器进行密钥放大,再经过非线性密钥粉碎器粉碎,生成非连续的矢量密钥群K1,排序后交给加密器对明文M动态加密;加密器将数字接力密钥放在明文头部;利用矢量密钥群K1,首先对输入的明文M进行向量加密,再进行白化处理,经过校验和计算后送入算法阵列,用控制密钥选择一种加密算法,用主密钥对中间密文进行轮加密,结果再经输出白化处理,形成矢量密文C输出,上述过程中,从第一轮加密开始,动态混乱系统就对主密钥、控制密钥、白化密钥进行混乱控制,从而使加密轮数、移位长度等不断发生变化,以实现加密通道的非对称性。最后产生密文头和矢量密文C一起通过不安全的通讯信道发送出去。
[0151] 法定的解密者B得到全部密文信息,参见图3,首先分离出密文头并从头部取出法定信宿的空间代码和本地的空间代码比较,如果一致则信宿得到鉴别,然后用后续的法定信源空间代码到通讯数据库中取出上次的接力密钥对后续数据解密,如果校验和正确,则用法定信源空间代码和随机密钥材料及加密模式向本机密钥再生器申请解密密钥,本机密钥再生器将外地空间代码送入空间交换单元完成本地/外地空间代码位置交换,然后将随机密钥材料、空间迁移常数和外地/本地空间代码送入非线性动态顺序编码器中进行编码,生成种子密钥后直接送入非线性动态放大器进行密钥放大,再经过非线性密钥粉碎器粉碎,生成非连续的矢量密钥群K2,排序后交给解密器对密文C动态解密,解密器利用矢量密钥群K2首先对输入的密文C进行向量解密,再进行逆白化处理后送入算法阵列,用控制密钥选择一种解密算法,用主密钥对中间密文进行轮解密,经过校验和计算,结果再经输出白化处理,形成明文M输出。上述过程中,从第一轮解密开始,动态混乱系统就对主密钥、控制密钥、白化密钥进行混乱控制,从而使解密轮数、移位长度等不断发生变化,以实现解密通道的非对称性。
[0152] 最后得到接力密钥、明文序列和全文校验和,如果全文校验和正确,就接收数字接力密钥和通讯数据库中上次的接收数字接力密钥比较,若正确,就完成抗重播和接力传递检查,并将刚生成的数字接力密钥写入通讯数据库。下面进入完整性和身份认证过程。 [0153] 如果全文校验和正确、数字接力密钥无误,则证明如下事实: [0154] 解密得到的明文序列是完整可用的,中途没有被伪造和篡改,也不是过去的信息重放。
[0155] 头部标识的法定信源是正确的,明文序列的确是该信源所发,则信息的源宿得到鉴别;通过权威的第三方可以得到该信源的现实身份信息和背景资料,证明得到的明文序列就是该现实实体A专门给实体B发送的,则双方的身份得到对等鉴别。 [0156] 因为得到的密文序列能够在本系统正确解密,该密文信息就相当于该实体A的签名信息,也只有在实体B的系统能够正确解密验证。如果该密文序列牵涉到数字产权、版权问题,则该密文序列就是包含实体A和实体B的单向数字指纹和数字水印的密文序列。 [0157] 在上述的加密通讯过程中,除了法定的通讯双方外,由于使用的是不安全信道,还存在着非法的密码分析者,它可以采取所有可能的技术措施截获密文C偷看、伪造、篡改密文C,下面看看密码分析者能否成功。
[0158] 偷看:密码分析者截获密文C很容易,它也有和A、B相同的密码系统,要偷看密文信息就必须解密该信息,由于密码分析者无法知道法定解密者拥有的数字接力密钥,也不能改变自己加密认证系统的空间代码,无法用正确的随机密钥材料,生成属于其它两个系统共享密钥交集中的矢量密钥,所以非法解密不能成功。
[0159] 篡改:由于密码分析者无法看懂密文信息,只有胡乱篡改密文内容,并试图 修改全文校验和,但这样就破坏了原密文信息的矢量特征,校验和是加密过程的中间状态值的累加,密码分析者无法修改校验和,因此,密码分析者无法篡改密文,胡乱篡改会被解密方立即发现。
[0160] 伪造:密码分析者试图伪造实体A给自己的密文信息,由于加密通道是无法随意控制的,只有利用解密通道,随机臆造一个密钥材料,并将实体A的空间代码和自己的空间代码组成密文头,然后对伪造的明文信息解密得到密文序列,但从新型矢量加密认证机制的特征可以知道,这样的密文序列一旦形成,就永远无法在任何新型矢量加密认证系统恢复成明文,所以伪造不能成功。
[0161] 重放:无计可施的密码分析者只有不断地截获实体A与实体B的密文信息,然后再发送到不安全信道上,试图破坏双方的通讯,但它首先必须解决数字接力棒问题,实体A与实体B的每次加密通讯,密文头部都有一个加了密的数字接力密钥,修改这个数字接力密钥同解密密文同样困难,所以重放攻击会被立即发现。

具体实施方式

[0162] 实施例1、软硬件混合实施例
[0163] 图2和图3是本发明优选的软硬件混合实施例,图2的密钥生成/再生器用数字芯片或智能卡实现组成硬件系统,图3则用软件程序实现形成加密认证软件系统,硬件系统和软件系统通过USB接口或者感应接口实现信息交互。每个数字芯片或智能卡都有一个全球唯一的硬件序列号-空间代码,它决定该硬件可以生成和再生的矢量密钥空间范围,实际应用时,该序列号必须通过一个权威的第三方将使用者的身份信息和该序列号捆绑并对外公示,以便其他使用者能够验证其身份而直接和其通讯。
[0164] 图2是本发明的一个完整的硬件密钥生成/再生器的单元框图,图中本地空间代码单元是本密钥生成/再生器的唯一硬件ID,它是空间交换单元和非线性动态编码器的有效组成部分,由硬件生产时一次性烧制,永久不可改变;外地空间代码单元是该密钥生成/再生器加密时唯一能够从外部接口输入的一个参数,它的输入有效可以启动随机函数发生器进行工作,密钥再生时用于输入加密方的空间代码,但在加密/解密使能的控制下不再启动随机函数发生器,外部密钥材料由随机种子单元输入;随机函数发生器是一个和时间有关系的真随机数发生器,用于产生随机密钥材料,它受加解密使能信号的控制,当加密有效且外部空间代码输入完成后,产生两倍于空间代码的密钥材料,当解密使能有效时,随机函数发生器不能工作;空间交换单元只有在解密使能时才将内/外部空间代码的位置进行交换,以改变密钥生成/再生器的密钥空间范围;迁移常数是本类密码系统密钥空间 分布范围的一个基数,它决定按正常分段后的密钥偏移量;非线性动态顺序编码器是一个简单的加密程序,它将双方的空间代码和随机密钥按一定的顺序动态地组合成长度为4N的种子密钥,这里N为段码长度,也是这种密码体制的分组长度,然后用种子密钥对迁移常数(4N)做散列运算,得到一个散列值,长度仍然为4N;非线性动态密钥放大器是一个8位输入3/4N位输出的具有256个表项的非线性替代表,通过查表将种子密钥的每个字节转换成3/4N位,然后将它们拼装成长度为N位的M个组,这里N*M等于密钥空间长度;非线性动态密钥粉碎器是一组不同特性的散列算法,用第一步获得的长度为4N散列值作为密钥,以散列值的某个字节的低四位做指针,指针指向的字节高低四位异或后作为碾展算法的选择字,对第二步获得的M组数据做加密运算,输出的密文就是我们需要的矢量密钥群。篡改检测和电气破坏单元主要检测芯片内部电压、压力、频率的变化而形成控制信号驱动电气破坏单元工作,销毁整个密钥生成/再生器,电气破坏单元也可以接收外部输入的销毁指令,人为地销毁整个密钥生成/再生器。
[0165] 图3是本发明加密认证部分的软件信息流程图,该软件模块包含一个加密认证人机界面和加密算法阵列,具体应用时,使用者启动该加密认证模块,根据界面提示,选择加/解密方式,当选择了加密方式后,就分步选择加密模式、输入外部空间代码、要加密的明文位置,然后软件扫描端口寻找硬件密钥生成器,当密钥生成器应答后,软件将加密模式和外部空间代码发送给密钥生成器申请加密密钥,密钥生成器响应后将生成的密钥群输出给软件模块,软件模块用算法选择密钥选择本次加密主算法,然后将数字接力密钥放在明文头部开始加密,首先用向量密钥对第一组数据加密,再用初始白化密钥对中间数据处理并计算校验和然后进入主算法模块进行动态的轮加密,输出的密文再经输出白化处理即得到合格的密文,如此不断重复直至到达明文尾部,最后将源宿空间代码、用上次数字接力密钥加密的随机密钥材料、加密模式全文校验和和头部校验和组成密文头,连同密文一起发送出去。
[0166] 法定的解密者收到该密文信息后,启动软件模块并选择解密,然后告诉系统密文的位置即可,软件首先取出头部法定信宿的空间代码和本机的空间代码比较,若相同则信宿得到鉴别,然后用加密者的空间代码到通讯数据库中取出上次的数字接力密钥解密密文头,如果头部校验和正确,就用后续的头部数据向硬件密钥再生器申请解密钥再生,密钥再生器先启动空间交换单元交换内/外部空间代码位置,然后将内/外部空间代码、密钥材料和迁移常数送到非线性顺序编码器生成种子密钥,再经过密钥放大和粉碎,输出合格的解密密钥群给软件模块, 软件模块用算法选择密钥选择本次解密的主算法开始对密文解密,首先用向量密钥对第一组数据解密密,再用逆初始白化密钥对中间数据处理,然后进入主算法模块进行动态的轮解密,输出的中间明文先计算校验和再经初始白化密钥处理即得到明文输出,如此不断重复直至到达密文尾部,如果能够得到正确的全文校验和则解密成功;最后从明文头部取出数字接力棒进行抗重播检查,合格后则将新的数字接力密钥写入通讯数据库。接着进入认证阶段。
[0167] 如果解密后得到的全文校验和以及数字接力棒正确,则证明下述事实: [0168] 解密后得到的明文信息是完整可用的,没有被中途篡改、伪造,也不是过去的信息重放。
[0169] 头部标识的法定信源是正确的,明文序列的确是该信源所发,则信息的源宿得到鉴别。
[0170] 通过权威的第三方可以得到该信源的现实身份信息和背景资料,证明得到的明文序列就是该现实实体专门给本系统发送的,则双方的身份得到对等鉴别。 [0171] 因为得到的密文序列能够在本系统正确解密,该密文信息就相当于该实体的签名信息,也只有在本系统能够正确解密验证。如果该密文序列牵涉到数字产权、版权问题,则该密文序列就是包含双方的单向数字指纹和数字水印的密文序列。
[0172] 实施例2、基于身份的可信计算模块PTM
[0173] 如图4所示是利用本发明的方法和系统借助硬件而实现的可信计算平台核心模块——PTM加密认证模块,在本实施方法中,本发明的密钥生成/再生器和加密认证算法被制作在同一块数字芯片上,通过并行的接口和计算机等终端接驳,以组成可信终端。图4中,本地空间代码单元、密钥生成/再生单元、随机数发生器单元和篡改检测电气破坏单元构成如图2所示的本发明的密钥生成/再生部分,其中,本地空间代码是每个PTM模块分配的全球唯一的一个生产序列号,它决定每个PTM模块使用的加密密钥空间范围,本地空间代码可以和设备本身或使用设备的实体有效捆绑,形成使用者或设备的网络身份标识。图4中剩余单元为如图3所示的加密认证部分,原理和连接关系如前所述,在此不再赘述。下面详细叙述两台借助该PTM模块的终端实现可信连接的过程。
[0174] 初始状态,所有装备PTM模块的终端必须到一个权威的第三方登记注册,以便公示设备空间代码和拥有设备的实体间的捆绑关系。
[0175] 当连接在网络中的一台可信终端的使用者A,想与另一台可信终端的使用者B秘密交换信息时,使用者A首先从权威的第三方获得使用者B的背景信息和终 端空间代码,当确认使用者B是可信赖的后,就用使用者B的设备空间代码启动自己终端的PTM模块对要交换的明文信息加密(等同于加密签名),然后将加密的信息发送给使用者B。 [0176] 使用者B的终端PTM模块接收到密文信息后,取出法定信宿的空间代码与自己的比较,从而确认法定信宿就是自己,从密文头解密获得验证数据,依据头校验和正确判定数据有效后,然后将后续的信源空间代码、随机密钥材料和加密模式送到密钥再生器再生出解密矢量密钥,对密文信息解密,获得数字接力棒、明文和校验和,并依据校验和的正确与否处置明文。
[0177] 校验和出错,说明得到的密文信息已经被篡改过,则丢弃明密文;校验和正确,接着依据数字接力棒判定得到的明文信息是不是过去信息的重放,如果是就丢弃明密文,若不是则证明下述事实:
[0178] 解密后得到的明文信息是完整可用的,没有被中途篡改、伪造,也不是过去的信息重放。
[0179] 头部标识的法定信源是正确的,明文序列的确是该信源所发,则信息的源宿得到鉴别;通过权威的第三方可以得到该信源的现实身份信息和背景资料,证明得到的明文序列就是该现实使用者B专门给本终端系统发送的,则双方的身份得到对等鉴别。 [0180] 因为得到的密文序列能够在本系统正确解密,该密文信息就相当于该实体的签名信息,也只有在本系统能够正确解密验证;如果该密文序列牵涉到数字产权、版权问题,则该密文序列就是包含双方的单向数字指纹和数字水印的密文序列。
[0181] 上述两个实施示例是本发明一种新型矢量加密认证机制的优选实施方案,所述方案叙述的具体实施方法、涉及的应用领域和反映的技术特征,并未列举出本发明的所有应用领域、必要的技术特征和实施技术方案。因此,凡是采用以矢量密码技术为前提、或为密码系统划分专用密钥空间的所有方法、或具有身份/ID与密钥和密文捆绑技术特征的所有方法、或具有加解密单向可逆技术特征的所有密码系统、或具有通过判定解密校验和来自动实现加密认证特征的所有方法、或是一个密码系统同时具备点播、多播、组播、广播和自加密的全部或至少两种以上功能的所有实现方法、或具有通过密钥秘密传递而实现抗重播技术特征的所有方法,都属于本发明的范围,而不论是否和本示例的方法或技术特征完全相同或相似;上述的方法包括硬件方法和软件方法。