CN1471258A - 幻方身份双向认证与密钥传输一体化方法 - Google Patents

幻方身份双向认证与密钥传输一体化方法 Download PDF

Info

Publication number
CN1471258A
CN1471258A CNA021142882A CN02114288A CN1471258A CN 1471258 A CN1471258 A CN 1471258A CN A021142882 A CNA021142882 A CN A021142882A CN 02114288 A CN02114288 A CN 02114288A CN 1471258 A CN1471258 A CN 1471258A
Authority
CN
China
Prior art keywords
authentication
magic square
matrix
user
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA021142882A
Other languages
English (en)
Other versions
CN1322701C (zh
Inventor
涛 谢
谢涛
陈火旺
康立山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xie Daoyu
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB021142882A priority Critical patent/CN1322701C/zh
Publication of CN1471258A publication Critical patent/CN1471258A/zh
Application granted granted Critical
Publication of CN1322701C publication Critical patent/CN1322701C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种幻方身份双向认证与密钥传输一体化方法、软件版权保护幻方数字锁原理以及随机幻方演化算法。将一个随机幻方均匀随机地分割为两个互补缺陷矩阵,分别作为注册信息与认证信息存储于认证服务器和用户认证卡中,可构成一把幻方数字锁。认证双方将缺陷矩阵均匀随机洗牌后安全传送至对方,双方均以能否恢复幻方来确认对方。密钥元组由一方从幻方中随机可重复地选择,并将其位置向量传给对方,对方可据此恢复密钥元组。演化算法可在巨量幻方空间中作均匀随机快速采样。幻方身份双向认证与密钥传输过程融为一体,认证成功则密钥传输成功,反之亦然。幻方数字锁原理也是一种有效的软件版权保护方法。幻方身份认证效率高,密钥传输安全可靠。

Description

幻方身份双向认证与密钥传输一体化方法
技术领域
本发明涉及一种网络系统中的身份认证方法,特别是指一种幻方身份双向认证与密钥传输一体化方法。
技术背景
身份认证是网络信息安全系统中的首要环节,是电子商务与电子政务的基础。身份认证的一般原理是将被验证方所能提供的某些特殊信息或具有某些特殊的计算能力与验证方所持有的相应信息或能力进行比较。网络身份认证的方法有很多,最常用的一种是将用户帐号与密码结合起来,先用帐号识别“你是谁”,再用密码验证“你确实是谁”。这种身份认证方法操作简单,但不安全,帐号和密码容易被窃取。目前较为安全的身份认证方法是采用“一次一密”口令技术的查询/应答式访问令牌身份认证方法。其认证原理如下:  用户持有某一特殊函数编程的认证卡,认证服务器相应保存该特殊函数的副本。当用户登录主机系统时,主机询问认证服务器如何验证用户,认证服务器告知主机以查询/应答非同步方式验证,并告知此次验证的查询随机数。主机将查询随机数传给用户终端,用户以该随机数作为其特殊函数的输入值计算其响应值,并将该响应值发送给主机。主机将响应值传回认证服务器,并与根据同一查询随机数由特殊函数的副本计算出的结果相比较,如果两数相等则可确认用户为合法用户。认证过程中的特殊函数一般采用散列函数或加密算法实现,如DES算法,每个用户具有同一加密算法模块但其密钥是唯一的。因此,对询问随机数的转换过程即为加密过程,采用对称加密算法的查询/应答式访问令牌的安全性与加密密钥的安全性一样。尽管DES是一种加密过程极其复杂的算法,但由于对DES密钥攻击的穷举次数为256=72,057,594,037,927,936,在当今飞速发展的计算技术条件下,较短时间内就可以完成对DES的穷举攻击;另外基于DES内部工作的上下文算法,NSA可在3到5分钟内破译DES。此外,如果掌握了大量的明文与密文,NSA的专家能很容易地得到相关的密钥。因此,这种采用DES算法的系统的安全性也难以满足要求。现代公钥密码系统可以较好地解决私钥密码系统的一些缺点,如业务密钥的公钥加密传输,其中典型代表就是RSA。但RSA公钥密码系统存在以下缺点:1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密;2)分组长度太大,为保证安全性,分组长度至少要在600bits以上,致使运算代价太高,尤其速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,加密效率还要下降,且不利于数据格式的标准化;3)存在针对RSA的选择密文攻击方法与公共模数攻击方法;4)公钥虽然可以公开,但容易被人调换,对公钥的确认需要复杂的认证系统。更令人担心的是,目前人们已能分解140多个十进制位的大整数。
发明内容
本发明的目的是提供一种安全性好、效率高的幻方身份双向认证与密钥传输一体化方法。
本发明的另一个目的是提供一种基于幻方数字锁原理的软件加密方法。
为实现上述目的,本发明的幻方身份双向认证与密钥传输一体化方法包括:1.网络系统中用户注册的步骤:
由认证服务器根据注册用户的某些特征输入信息随机产生一幻方;
将幻方均匀随机分割为两个互补的认证矩阵和注册矩阵,并分别存储于用户认证卡和认证服务器的数据库中;2.确认注册用户的步骤:
用户向Web服务器发送认证请求信息;
Web服务器要求用户传输认证矩阵到认证服务器,认证服务器由注册矩阵和认证矩阵恢复原幻方;
认证服务器验证幻方数字的唯一性与幻和条件,若验证成功,则确认用户,否则拒绝该用户。
上述随机幻方的产生包括以下步骤:
(a)初始化亲本:由种子随机数产生模块根据注册用户的某些特征输入信息产生一种子随机数,随机地将1至n2的连续自然数排列成n×n的矩阵;
(b)亲本复制与变异:计算σ1,当nrow+ncol>0时,等概率选择三种元素置换算子之一,以相应变异概率对矩阵进行操作,而且当最优个体的目标函数值小于(50×n)时,进一步启动行列局部调整操作,生成下代个体;当nrow+ncol=0时,采用行列置换算子与对角局部调整操作,生成下代个体;
(c)亲本更新:当nrow+ncol>0时,如果当前最优个体的目标函数值不小于(50×n),则采用(μ,λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;当nrow+ncol=0,d1+d2≥1时,如果当前最优个体的目标函数值大于100,则采用(μ,λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;
(d)演化终止条件判断:如果最优个体的目标函数值等于0,即满足幻方条件,幻方演化算法终止,同时转幻方均匀随机分割过程;否则,转步骤b.
上述的幻方身份双向认证与密钥传输一体化方法,还包括3.确认注册服务器的步骤,步骤如下:
Web服务器向用户发送注册认证请求信息;
用户要求Web服务器传输注册矩阵到认证卡,认证卡由注册矩阵和认证矩阵恢复原幻方;
认证卡验证幻方数字的唯一性与幻和条件,若验证成功,则确认Web服务器,否则拒绝该Web服务器。
上述幻方身份双向认证与密钥传输一体化方法中,注册用户的确认步骤为:
用户向Web服务器发送认证请求信息;
Web服务器产生一均匀随机洗牌矩阵,并传给用户;
用户将均匀随机洗牌矩阵输入认证卡,认证卡按洗牌矩阵与洗牌转换算法将认证矩阵转换成认证向量,并将认证向量传回用户;
用户将认证向量传给Web服务器,Web服务器将认证向量和洗牌矩阵传给认证服务器;
认证服务器由注册矩阵、认证向量、洗牌矩阵恢复原幻方;
认证服务器验证幻方数字的唯一性与幻和条件,如果验证成功,则在幻方中作多次可重复的随机选择,按顺序将所选数字作为密钥元并用向量记下该密钥元组所在的行列数,同时允许Web服务器接受用户;否则拒绝用户。
注册服务器的确认步骤为:
Web服务器向用户发送一认证请求信息,即要求用户产生一均匀随机洗牌矩阵;
用户产生一均匀随机洗牌矩阵并传送给Web服务器作为响应;
Web服务器将洗牌矩阵输入认证服务器,认证服务器根据洗牌矩阵将用户的注册矩阵和随机产生的密钥元位置向量按洗牌算法转换成认证向量,并将认证向量传回Web服务器;
Web服务器将认证向量传给用户,用户将认证向量与洗牌矩阵输入认证卡;
认证卡首先根据认证矩阵、认证向量与洗牌矩阵恢复原幻方与密钥元组的位置向量;
认证卡验证幻方数字的唯一性与幻和条件,如果验证成功,则确认Web服务器为注册服务器,并允许使用由密钥元位置向量确定的密钥元组;否则,放弃刚登录的Web服务器,并作废密钥元组。
基于幻方数字锁原理的软件加密保护方法,包括以下步骤:
由加密器随机产生一个幻方;
将幻方均匀随机分割为互补的两个矩阵,分别将这两个矩阵作为注册矩阵与授权矩阵存入软件拷贝与具有幻方验证模块的智能授权卡中,智能卡只允许输出“允许”与“拒绝”二信号。
本发明是基于幻方的以下特点:
1.构成n(n≥3)阶幻方的数字集合必须是从1至n2(或从0至n2-1)的连续自然数,即数字的唯一性;
2.幻方数量十分巨大,并随阶数指数递增,但幻方的密度(幻方数量与可能的数字排列组合数之比)随阶数指数下降,幻方阶数每升高一阶,幻方密度至少降低为前一阶幻方密度的百万分之一,即幻方的构造难度随阶数指数递增;
3.从一个随机构造的5阶以上的幻方中随机抽去大约一半数字,很难由剩下的一半固定数字组合(称为缺陷幻方)推导出被抽去的的另一半互补数字组合,使之仍然构成一个幻方,因此,可利用两个互补的缺陷幻方组成一把数字锁,其中一个缺陷幻方作为钥匙,另一个作为锁;
4.验证幻方的条件非常容易;
5.幻方数字集合{1,2,3,…,n2}可以作为密钥元集合,而且适当阶数的幻方数字集合可以包含任意密钥元,如10阶、32阶与100阶幻方数字集合分别可以百进制、千进制与万进制来表示任意长度密钥空间中任意一个密钥;注:32阶幻方的数字集合中必须去掉1001~1024等24个数字;
6.存在随机自适应的幻方快速构造算法,可以从解空间中均匀随机采样,所产生的幻方不是已有秘诀式方法所能得到的,而且在每阶幻方的数量范围之内需要产生多少幻方即可产生多少幻方。
本发明所具有的优点:
1.可抗击穷举攻击方法。5阶幻方的穷举排列次数为25!≈1.55×1026,6阶幻方的穷举次数为36!≈3.72×1041,20阶幻方的穷举次数为400!≈6.40×10868。另外,由已知幻方的一半数字推出互补的另一半数字组合的穷举数分别是:5阶缺陷幻方填充的穷举排列次数为13!=6227020800或12!=479001600,7阶缺陷幻方填充必须的穷举排列次数为25!≈1.55×1026,20阶缺陷幻方填充必须的穷举排列次数为200!≈7.9×10374,因此采用7阶以上幻方构成的幻方数字锁就足够安全了。
2.认证过程中,密钥传输安全。将身份认证与密钥的安全传输过程有机地融为一体,身份认证过程中可传输加密密钥,身份认证成功则密钥传输成功,反之亦然;
3.在同一Web服务器上注册的用户之间容易通过认证服务器实现相互认证与加密密钥的安全传输;
4.本发明中在不安全网络中传送的只是洗牌矩阵、密钥元位置向量、认证向量,由随机洗牌矩阵、密钥元位置向量、认证向量不可能破译认证矩阵与注册矩阵,因此可防止任何形式的搭线窃听(采用规程分析仪)。要破译认证矩阵,必须同时得到洗牌矩阵、认证向量与注册矩阵;同样,破译注册矩阵,必须同时得到洗牌矩阵、认证向量与认证矩阵,但认证矩阵与注册矩阵均受到保护,“黑客”是得不到的,因此伪造认证矩阵与注册矩阵是不可能的。
5.本发明方法中分别按均匀随机洗牌矩阵对认证矩阵、注册矩阵、密钥元位置向量进行洗牌转换,这样保证了“一次一密”的动态身份认证机制,可防止重用过时的认证信息,提高了认证的安全性;
6.幻方验证算法简单、高效,可避免验证高峰时刻的处理效率瓶颈问题;
7.幻方验证模块为共享模块,容易实现。
附图说明
下面结合附图及具体实施例对本发明作进一步的描述。
附图1为随机幻方产生与用户注册的流程图。
附图2为幻方身份双向认证与密钥传输一体化协议示意图。
附图3为洗牌转换与密钥元位置向量传输示意图。
具体实施方式
随机幻方的构造与用户注册,如图1所示,其注册步骤如下:
a.初始化亲本,演化代数t=0:认证服务器根据用户的注册请求,由种子随机数产生模块根据注册用户的某些特征输入信息产生一种子随机数,随机地将1至n2的连续自然数排列成n×n的矩阵(亲本);
b.亲本复制与变异:
b1判断演化代数t<5000?如果t>=5000,转步骤a;否则,转步骤b2;
b2判断亲本的行列幻和是否完全满足,即nrow+ncol>0?如果nrow+ncol>0,转b3;
如果nrow+ncol=0,则转b4;
b3当行列幻和未完全满足时,即nrow+ncol>0:
b3.1由亲本复制10个子代个体,并计算变异方差σ1
b3.2对于每个子代个体,等概率选择三种元素置换算子之一,以相应变异概率对矩阵进行操作;
b3.3判断子代个体的目标函数值J(·)<(50×n)?如果J(·)<(50×n),启动行列局部调整操作,然后转b3.4;否则,直接转b3.4;
b3.4亲本更新,根据不同情况从当前亲本和/或子代中选择下代亲本,演化代数t=t+1:如果当前最优个体的目标函数值J(·)>(50×n),采用(μ,λ)-ES更新机制选择下代亲本,并转步骤b1;否则,采用(μ+λ)-ES更新机制选择下代亲本,并转步骤b1.b4当行列幻和完全满足但对角幻和未完全满足时,即nrow+ncol=0,d1+d2≥1:
b4.1由亲本复制10个子代个体,并计算变异方差σ1
b4.2采用行列置换算子与对角局部调整操作,生成下代变异个体;
b4.3判断最优个体的对角幻和是否满足,即d1+d2=0?如果d1+d2=0,演化成功,得到随机幻方MS(t),演化过程结束,并转步骤c;否则,转b4.4;
b4.4亲本更新,根据不同情况从当前亲本和/或子代中选择下代亲本,演化代数t=t+1:如果当前最优个体的目标函数值J(·)>100,采用(μ,λ)-ES更新机制选择下代亲本,并转步骤b1;否则,采用(μ+λ)-ES更新机制选择下代亲本,并转步骤b1.c.幻方均匀随机分割与注册:
c1将幻方MS(t)均匀随机分割为两个互补的缺陷矩阵MS1(t)与MS2(t);
c2将缺陷矩阵MS1(t)作为注册信息存入认证服务器的数据库中;
c3将缺陷矩阵MS2(t)作为认证信息存入用户认证卡中。上述的用户注册过程中,随机幻方的构造算法-演化算法如下:设矩阵 M = ( a ij ) n × n , 其中aij∈{1,2,3,…,n2},且aij≠akl,i≠k或j≠l:如果满足 Σ i = 1 n a ij = c , Σ j = 1 n a ij = c , Σ i = 1 n a i 1 = c , Σ i = 1 n a i , ( n - i + 1 ) = c , 其中 c = n ( n 2 + 1 ) 2 称为幻和,i,j=1,2,…,n;则称矩阵M为n阶幻方。一个行与列均满足幻和c的矩阵 M = ( a ij ) n × n , 其中aij∈{1,2,3,…,n2},aij≠akl,i≠k或j≠l,仅通过有限次行列置换或有限次对角局部调整可使主对角线上元素满足幻和。
幻方演化算法中不使用重组算子,而且种群的亲本数目不影响算法的效率。因此,算法仅用一个亲本,每代生成10个子代个体。幻方演化算法的主要步骤即为注册过程中幻方产生的步骤,如图1.在只有一个亲本的幻方演化算法中,可以直接采用目标函数作为适应值。在行列幻和的演化过程中,当最优个体的目标函数值大于50×n时,亲本更新采用(μ,λ)-ES机制;当最优个体的目标函数值小于或等于50×n后,亲本更新采用(μ+λ)-ES机制。同样,在对角幻和的演化过程中,如果当前最优个体的适应值大于100,则采用(μ,λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制。初始变异方差取σij=n2,1≤i≤n,1≤j≤n。记rand(x,y)为[x,y]内的随机整数产生函数,x,y∈N.1.1适应值函数设计
行列幻和演化的目标函数:
Figure A0211428800111
其中,nrow与ncol分别为矩阵M中不满足幻和的行数与列数;对角幻和演化的目标函数: J ( M ) = | c - Σ i = 1 n a ii | + | c - Σ i = 1 n a i , ( n - i + 1 ) | ; 如果正对角线元素满足幻和,即 Σ i = 1 n a ii = c , 则置d1=0,否则置d1=1;同样,如果斜对角线元素满足幻和,即 Σ i = 1 n a i , n - i + 1 = c , 则置d2=0,否则置d2=1.1.2变异操作
设亲本个体I=(M,△),变异子代个体I·=(M·,△·).元素置换算子:变异范围为未满足幻和的行列元素,分三种情况。其一,变异对象为所在行列均不满足幻和的元素集合 S 1 = { a ij : &Sigma; k = 1 n a ik &NotEqual; c , &Sigma; k = 1 n a kj &NotEqual; c , 1 &le; i &le; n , 1 &le; j &le; n } ; 交换范围为未满足幻和的行与列元素, S 2 = { a i * : &Sigma; k = 1 n a ik &NotEqual; c , 1 &le; i &le; n } &cup; { a * j : &Sigma; k = 1 n a kj &NotEqual; c , 1 &le; j &le; n } . 因为元素变异值不一定可在S2中找到对应的等值元素,因此可以S2中与元素变异值相差最小的元素互换。变异概率 p m = 1 n row n col , 即可变异对象集合S1中平均仅发生一次变异。假定元素aij∈S1被选为变异对象,则有 a ij &bull; = a ij &PlusMinus; rand ( 1 , &sigma; ij ) . 如果 a ij &bull; < 1 , a ij &bull; = rand ( 1 , n ) ; 如果 a ij &bull; > n 2 , a ij &bull; = n 2 - rand ( 0 , n ) . a kl = min a ij &Element; S 2 | a ij &bull; - a ij | , 则置 a kl &bull; = a ij , 即将M中两元素aij与akl互换。 &sigma; ij &bull; = &sigma; ij + rand ( - 1,1 ) ; 如果 &sigma; ij &bull; < 1 &sigma; ij &bull; > &sigma; t , 则置 &sigma; ij &bull; = rand ( 1 , &sigma; t ) . 其中,
其二,变异对象为未满足幻和的行或列元素集合S2,交换范围也为未满足幻和的行与列元素集合S2;因为元素变异值不一定可在S2中找到对应的等值元素,因此可以S2中与元素变异值相差最小的元素互换。行变异概率 p m = 1 nn row , 列变异概率 p m = 1 nn col , 即可变异对象中平均仅发生一次变异。除变异对象元素集合由S1变为S2外,其他操作与上一情况类似。
其三,变异对象为未满足幻和的行与列元素集合S2,交换范围为矩阵中所有元素。因此,元素变异值一定可找到对应的等值元素进行互换。行变异概率 p m = 1 nn row , 列变异概率 p m = 1 nn col , 即可变异对象中平均仅发生一次变异。假定元素aij∈S1被选为变异对象,则有 a ij &bull; = a ij &PlusMinus; rand ( 1 , &sigma; ij ) ; 如果 a ij &bull; < 1 , a ij &bull; = rand ( 1 , n ) ; 如果 a ij &bull; > n 2 , a ij &bull; = n 2 - rand ( 0 , n ) . a kl = a ij &bull; , 则置 a kl &bull; = a ij , 即将M中两元素aij与akl互换。 &sigma; ij &bull; = &sigma; ij + rand ( - 1,1 ) ; 如果 &sigma; ij &bull; < 1 &sigma; ij &bull; > &sigma; t , 则置 &sigma; ij &bull; = rand ( 1 , &sigma; t ) .
因为变异概率与变异元素范围均由nrow与ncol决定,因此,元素置换算子是自适应变异算子。行列置换算子:即行置换与列置换算子,仅作用于行列幻方,但保持行列幻方的性质不变。
当nrow+ncol=0,d1+d2≥1时,随机取两行元素互换,再随机取两列元素互换。
行列幻和演化过程中,元素置换算子工作,行列置换算子失效:当nrow+ncol=0时,进入对角幻和演化阶段,此时,元素置换算子失效,行列置换算子工作。1.3局部调整操作
演化算法进入稳定状态后,利用问题的启发式知识进行局部调整操作,可以提高演化算法的局部搜索效率。通过行遍历与列遍历的搜索过程,如果两行或两列中一对以上元素互换之后可同时实现幻和,则可进行局部调整。
行列局部调整:逐行逐列比较,其中,1≤k≤n,1≤l≤n,1≤s≤n,1≤t≤n,k≠l,s≠t;互换一对元素的条件:如果 &Sigma; i = 1 n a ki - c = c - &Sigma; j = 1 n a lj = a ks - a ks , 则互换第k行与第l行中对应s列的两元素;如果 &Sigma; i = 1 n a ik - c = c - &Sigma; j = 1 n a il = a sk - a sl , 则可互换第k列与第l列中对应s行的两元素。
互换二对元素的条件:如果 &Sigma; i = 1 n a ki - c = c - &Sigma; j = 1 n a li = a kx + - a kt - a lx - a lt , 则互换第k行与第l行中对应s列与t列的两元素:同样,如果 &Sigma; i = 1 n a ik - c = c - &Sigma; j = 1 n a il = a sk + a tk - a sl - a tl , 则可互换第k列与第l列中对应s行与t行的两元素。
行列局部调整元素可增加至三对以上,因为三对元素以上的可调整条件的搜索代价过高,因此,仅搜索两对以下元素的可互换条件。
对角局部调整:逐行或逐列比较,其中,1≤i≤n,1≤j≤n,i≠j;如果aii+aij=aji+ajj,且 ( a ii + a lj ) - ( a ij + a ji ) = &Sigma; k = 1 n a kk - c , 则将aii与aji互换,aij与ajj互换;如果aij+ai,n-i+1=an-j+1,j+an-j+1,n-i+1,且 ( a i , n - i + 1 + a n - j + 1 , j ) - ( a ij + a n - j + 1 , n - i + 1 ) = &Sigma; k = 1 n a n - k + 1 , k - c , 则将aij与an-j+1,j互换,ai,n-i+1与an-j+1,n-i+1互换:如果 ( a ii + a jj ) - ( a ij + a ji ) = &Sigma; k = 1 n a kk - c , ( a i , n - i + 1 + a j , n - j + 1 ) - ( a i , n - j + 1 + a j , n - i + 1 ) = &Sigma; k = 1 n a n - k + 1 , k - c , 则将i行与j行互换;如果 ( a ii + a ji ) - ( a ij + a ji ) = &Sigma; k = 1 n a kk - c , ( a a - i + 1 , j + a n - j + 1 , j ) - ( a n - j + 1 , i + a n - i + 1 , j ) = &Sigma; k = 1 n a n - k + 1 , k - c , 则将i列与j列互换;如果 ( a ii + a n - i + 1 , n - i + 1 ) - ( a i , n - i + 1 + a n - i + 1 , i ) = &Sigma; k = 1 n a kk - c = c - &Sigma; k = 1 n a n - k + 1 , k , 则将i行与(n-i+1)行互换。1.4评注
采用上述幻方演化算法,可以实现幻方的快速构造,降低认证系统的开销。如主频1GHZ,内存256M的PC机,10阶幻方构造时间平均为1秒,20阶幻方构造时间平均为10秒,30阶幻方构造时间平均为50秒。一般安全性采用10阶幻方已经足够,更高的安全性可以通过增加幻方的阶数来实现,考虑密钥元空间的分布,最高安全级别采用32阶幻方为宜。
幻方身份双向认证与密钥传输一体化实施协议,参见图2.假设用户Alice的身份信息由幻方MS(Alice)产生,将MS(Alice)按幻方均匀随机分割算法分割为两个互补的缺陷矩阵MS1(Alice)与MS2(Alice),其中,缺陷位置填0,MS1(Alice)作为认证服务器中Alice的注册信息,MS2(Alice)则作为Alice认证卡中的认证信息,认证卡以PIN码(个人身份码)保护。认证服务器与认证卡中均设有洗牌转换算法、逆洗牌恢复算法、幻方验证模块。Web服务器与用户终端均设有均匀随机洗牌矩阵产生模块。
Web服务器确认用户Alice的真伪过程如下:
1)用户Alice登录Web服务器:
2)Web服务器产生一均匀随机洗牌矩阵CA(Web,t)并传给用户Alice;
3)用户Alice将CA(Web,t)输入认证卡(3a),认证卡按洗牌矩阵CA(Web,t)由洗牌转换算法将MS2(Alice)转换成认证向量V(Alice,t)(3b),并将V(Alice,t)传回用户Alice(3c);
4)用户Alice将向量V(Alice,t)传给Web服务器(4a),Web服务器将向量V(Aliee,t)与相应CA(Web,t)传给认证服务器(4b);
5)认证服务器首先根据MS1(Alice)、V(Alice,t)与CA(Web,t)恢复原幻方MS(Web)(5a);然后验证幻方数字的唯一性与幻和条件。如果验证成功(5b),则在幻方MS(Alice)中作m次可重复的随机选择,按顺序将所选数字作为密钥元并用向量P(Alice,t)2m记下该密钥元组所在的行列数(5c),同时允许Web服务器接受用户Alice(5d);否则拒绝用户Aliee(5e).
用户Alice确认Web服务器的真伪过程如下:
6)Web服务器向用户Alice发送一认证请求信息,即要求用户Alice产生一均匀随机洗牌矩阵CA(Alice,t);
7)用户Alice产生一均匀随机洗牌矩阵CA(Alice,t)并传送给Web服务器作为响应;
8)Web服务器将CA(Alice,t)输入认证服务器(8a),认证服务器根据CA(Alice,t)将MS1(Alice)与随机产生的密钥元位置向量P(Alice,t)2m按洗牌算法转换成认证向量V(Web,t)(8b),并将V(Web,t)传回Web服务器(8c);
9)Web服务器将向量V(Web,t)传给用户Alice(9a),用户Alice将向量V(Web,t)与CA(Alice,t)输入认证卡(9b);
10)认证卡首先根据MS2(Alice)、V(Web,t)与CA(Alice,t)恢复原幻方MS(Alice)与密钥元位置向量P(Web,t)2m(10a);然后验证幻方数字的唯一性与幻和条件。如果验证成功,则确认Web服务器为注册服务器,并允许使用由P(Web,t)2m确定的密钥元组;否则,放弃刚登录的Web服务器,并作废密钥元组(10b).
上述双向认证过程中有关算法描述如下:1.幻方均匀随机分割可由随机洗牌矩阵 CA = [ b ij ] n &times; n 实现,bij∈{0,1},将随机幻方MS(Alice)均匀随机分割为两互补矩阵MS1(Alice)与MS2(Alice),与CAn×n中元素1对应的幻方数字作为MS1(Alice)矩阵中的对应元素,与CAn×n中元素0对应的幻方数字作为MS2(Alice)矩阵中的对应元素,MS1(Alice)与MS2(Alice)中的空格置0。2.均匀随机洗牌矩阵产生
设计一个n×n阶的0-1矩阵 CA = [ b ij ] n &times; n , bij∈{0,1};要求:1)全局状态中0与1的个数基本相等;2)每行每列以及两对角线上的0元素与1元素个数基本相等;3)全局状态事实上不重复也不可预测。
随机洗牌矩阵可由二维0-1二状态细胞自动机产生均匀随机洗牌矩阵。对于邻域为“米”字型的两状态二维细胞自动机,共存在2512种不同的自动机规则。为保证分割方案的统计均匀对称性,可选参数λ=0.5的自动机规则,共有 256 512 &ap; 4.72553303154965 &times; 10 152 种不同的λ=0.5的CA规则。Web服务器与每个用户均采用不同的CA规则,并且使得当前CA的全局状态成为下一步全局映射的初始状态,确保全局状态不重复。“米”字型细胞自动机规则可用512位二进制数字表示。参数λ表示512位二进制数字中1的比例。
幻方均匀随机分割方案与随机洗牌矩阵的产生存在多种方法,二者本质上属于伪随机序列的产生问题。3.洗牌转换算法
设定向量V(Alice,t)的长度为n2,V(Alice,t)中各元素初始化为0;P(Alice,t)=(k1,…,k2m), m &le; n 2 / 4 , 且ki∈{1,2,…,n},i=1,2,…,m; CA ( Web , t ) = [ b ij ] n &times; n , bij∈{0,1}.
洗牌转换算法基本步骤分三步:第一步:按序将与CA(Web,t)中元素1对应的MS2(Alice)中非零数字输入向量V(Alice,t);第二步:按序将与CA(Web,t)中元素0对应的MS2(Alice)中非零数字输入向量V(Alice,t);第三步:将密钥元位置数组(k1,k2,k3,k4)紧按第二步中的最后一个数字输入V(Alice,t)。
如图3,以5阶幻方为例说明洗牌转换算法。假设MS(Alice)5×5被分割为两部分MS1(Alice)5×5与MS2(Alice)5×5,设密钥元组 Key ( Alice , t ) = ( a k 1 k 2 , a k 3 k 4 ) , 相应位置向量为P(Alice,t)=(k1,k2,k3,k4),k1与k2分别为第一个密钥元所在的行与列数,k3与k4分别为第二个密钥元所在的行与列数,以此类推,其中ki∈{1,2,3,4,5}.第一步:从左上角元素开始,按自左至右,从上至下的规则,直至右下角元素,顺序将与CA(Web)5×5中元素1对应的MS2(Alice)5×5中非零数字输入向量V(Alice)25中,第一步转换结果为V(Alice)25=(13,24,4,11,2,8,0,0,0,…,0),如向量V(Alice)25中实线格数字所示;第二步:与第一步类似,从左上角元素开始,按自左至右,从上至下的规则,直至右下角元素,按序将与CA(Web)5×5中元素0对应的MS2(Alice)5×5中非零数字,紧按第一步中最后一个输入数字位置输入向量V(Alice)25中,如向量V(Alice)25中虚线格数字所示;第三步:将密钥无位置数组(k1,k2,k3,k4)紧按第二步中最后一个输入数字位置输入向量V(Alice)25中,如向量V(Alice)25中阴影格数字所示。
注意:双向认证中由被动方产生密钥元组,因此,主动方没有密钥元位置数组传输,此时m=0,即主动方的洗牌转换算法没有第三步。实施例中的主动方为用户Alice,被动方为Web服务器,但该实施例也可以反过来,此时,Web服务器为主动方,用户Alice则成为被动方,即Web服务器先主动向用户Alice请求注册认证,图3即为实施例的逆过程示例。用户之间通过认证服务器进行双向认证与密钥传输时,一方为主动方,另一方则为被动方,而认证服务器既要作为主动方又要作为被动方。4.逆洗牌恢复算法
逆洗牌恢复算法是洗牌转换算法的逆过程,其中MS1(Alice)相当于此逆运算过程中的“密钥”,逆处理过程分三步。
第一步:恢复与CA(Web,t)中元素1对应的幻方数字,从左上角元素开始,按自左至右,从上而下的规则,直至右下角元素,分别考虑与CA(Web,t)中元素1对应的MS1(Alice)中元素,如果该元素非零,则置恢复幻方中相应位置为该数字;否则,置恢复幻方中相应位置为向量V(Alice,t)中当前元素,同时向量V(Alice,t)的指针前进一位。
第二步:与第一步类似,恢复与CA(Web,t)中元素0对应的幻方元素,但向量V(Alice,t)的当前指针必须接续第一步中的处理结果。从左上角元素开始,按自左至右,从上而下的规则,直至右下角元素,分别考虑与CA(Web,t)中元素0对应的MS1(Alice)中元素,如果该元素非零,则置恢复幻方中相应位置为该数字;否则,置恢复幻方中相应位置为向量V(Alice,t)中当前元素,同时向量V(Alice,t)的指针前进一位。
第三步:将向量V(Alice,t)中当前指针之后2m个数按序作为密钥元位置数组P(Alice,t)=(k1,…,k2m).5.幻方验证模块
第一步:验证幻方数字集合的唯一性,即验证由MS1(Alice)、V(Alice,t)与CA(Web,t)恢复而成的幻方MS(Web)中的数字是否正好由1至n2的连续自然数组成。可先将MS(Web)中的数字按非降排序得到长度为n2的新向量W(Web),然后验证是否wi=i,i=1,2,…,n2.如果验证成功,允许继续进行第二步验证,即幻和验证;否则拒绝用户Alice.第二步:验证每行、每列与两对角线元素的幻和。
本发明中如果用户Alice需要与Web服务器进行保密信息传输(使用诸如DES与IDEA等分组加密算法),必须预先协商一密钥Key(Alice,t).假设选定10阶幻方为身份信息矩阵,10阶幻方的每个数字减1可以作为以两位十进制数表示(也即百进制)的密钥元,如20位十进制密钥空间可以10个两位十进制密钥元表示。如果每次从10阶幻方的数字集合中选择一个数字,连续10次这种随机可重复的数字选择试验即可产生一随机密钥。双向认证中首先得到认证的一方如Web服务器,可在被恢复并且经过验证的幻方的100个数字位置上连续随机可重复地作10次选择,按序将所选择的每一个数字作为密钥元,从而组成20位十进制密钥空间中的一个密钥;然后将所选择的10个幻方数字所在的行列位置与待验证的身份信息传送至对方,对方在验证成功的基础上可根据密钥元组在幻方中的位置恢复密钥元组。即双向认证成功后双方可得到同一个“字母表”,通过指定密钥元在“字母表”中的位置信息即可得到同一组密钥元,不能获得“字母表”的任何人是不可能得到此密钥元组的。
软件加密保护
由于很难由缺陷矩阵恢复其互补的另一半,因此,基于幻方数字锁原理可以实现软件版权的保护。具体地,对每一份正版软件拷贝,随机演化生成一个幻方,并将幻方均匀随机分割成互补的两个缺陷矩阵,然后将此两个矩阵分别作为注册矩阵与授权矩阵存入软件拷贝与“软件狗”中(以智能卡中芯片实现)。“软件狗”智能卡中存有幻方验证模块,“软件狗”只允许输出“允许”与“拒绝”二信号。软件启动时,该软件中的注册矩阵被常驻内存。软件正常使用过程时,由“软件狗”随机读入计算机内存中的注册矩阵,然后“软件狗”中的幻方验证模块验证注册矩阵是否能与授权矩阵构成一幻方。如果二者能构成一幻方,则允许软件继续运行,否则,终止软件运行。由“软件狗”保存的授权矩阵信息是不可读出的,而且“软件狗”也可用PIN码保护。该方法可以保证一份正版软件拷贝只能同时被一人使用,使用者必须持有购买时存有授权矩阵的智能授权卡-“软件狗”。

Claims (5)

1、一种幻方身份双向认证与密钥传输一体化方法,其特征在于:
(1)网络系统中用户的注册包括以下步骤:
由认证服务器根据注册用户的某些特征输入信息随机产生一幻方;
将幻方均匀随机分割为两个互补的认证矩阵和注册矩阵,并分别存储于用户认证卡和认证服务器的数据库中;
(2)注册用户的确认包括以下步骤:
用户向Web服务器发送认证请求信息;
Web服务器要求用户传输认证矩阵到认证服务器,认证服务器由注册矩阵和认证矩阵恢复原幻方;
认证服务器验证幻方数字的唯一性与幻和条件,若验证成功,则确认用户,否则拒绝该用户。
2、根据权利要求1所述的幻方身份双向认证与密钥传输一体化方法,其特征在于:还包括
(3)确认注册服务器的步骤,步骤如下:
Web服务器向用户发送注册认证请求信息;
用户要求Web服务器传输注册矩阵到认证卡,认证卡由注册矩阵和认证矩阵恢复原幻方;
认证卡验证幻方数字的唯一性与幻和条件,若验证成功,则确认Web服务器,否则拒绝该Web服务器;
3、根据权利要求2所述的幻方身份双向认证与密钥传输一体化方法,其特征在于:
注册用户的确认包括以下步骤:
用户向Web服务器发送认证请求信息;
Web服务器产生一均匀随机洗牌矩阵,并传给用户;
用户将均匀随机洗牌矩阵输入认证卡,认证卡按洗牌矩阵与洗牌转换算法将认证矩阵转换成认证向量,并将认证向量传回用户;
用户将认证向量传给Web服务器,Web服务器将认证向量和洗牌矩阵传给认证服务器;
认证服务器由注册矩阵、认证向量、洗牌矩阵恢复原幻方;
认证服务器验证幻方数字的唯一性与幻和条件,如果验证成功,则在幻方中作多次可重复的随机选择,按顺序将所选数字作为密钥元并用向量记下该密钥元组所在的行列数,同时允许Web服务器接受用户;否则拒绝用尸。
注册服务器的确认包括以下步骤:
Web服务器向用户发送一认证请求信息,即要求用户产生一均匀随机洗牌矩阵;
用户产生一均匀随机洗牌矩阵并传送给Web服务器作为响应;
Web服务器将洗牌矩阵输入认证服务器,认证服务器根据洗牌矩阵将用户的注册矩阵和随机产生的密钥元位置向量按洗牌算法转换成认证向量,并将认证向量传回Web服务器;
Web服务器将认证向量传给用户,用户将认证向量与洗牌矩阵输入认证卡;
认证卡首先根据认证矩阵、认证向量与洗牌矩阵恢复原幻方与密钥元组的位置向量;
认证卡验证幻方数字的唯一性与幻和条件,如果验证成功,则确认Web服务器为注册服务器,并允许使用由密钥元位置向量确定的密钥元组;否则,放弃刚登录的Web服务器,并作废密钥元组。
4、根据权利要求1所述的幻方身份双向认证与密钥传输一体化方法,其特征在于:随机幻方的产生包括以下步骤:
(a)初始化亲本:由种子随机数产生模块根据注册用户的某些特征输入信息产生一种子随机数,随机地将1至n2的连续自然数排列成nxn的矩阵;
(b)亲本复制与变异:计算σ1,当nrow+ncol>0时,等概率选择三种元素置换算子之一,以相应变异概率对矩阵进行操作,而且当最优个体的目标函数值小于(50×n)时,进一步启动行列局部调整操作,生成下代个体;当nrow+ncol=0时,采用行列置换算子与对角局部调整操作,生成下代个体;
(c)亲本更新:当nrow+ncol>0时,如果当前最优个体的目标函数值不小于(50×n),则采用(μ,λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;当nrow+ncol=0,d1+d2≥1时,如果当前最优个体的适应值大于100,则采用(μ,λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;
(d)演化终止条件判断:如果最优个体的目标函数值等于0,即满足幻方条件,幻方演化算法终止,同时转幻方均匀随机分割过程;否则,转步骤b.
5、一种基于幻方数字锁原理的软件加密方法,其特征在于:包括以下步骤:
由加密器随机产生一个幻方;
将幻方均匀随机分割为互补的两个矩阵,分别将这两个矩阵作为注册矩阵与授权矩阵存入软件拷贝与具有幻方验证模块的智能授权卡中,智能卡只允许输出“允许”与“拒绝”二信号。
CNB021142882A 2002-07-24 2002-07-24 幻方身份双向认证与密钥传输一体化方法 Expired - Fee Related CN1322701C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021142882A CN1322701C (zh) 2002-07-24 2002-07-24 幻方身份双向认证与密钥传输一体化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021142882A CN1322701C (zh) 2002-07-24 2002-07-24 幻方身份双向认证与密钥传输一体化方法

Publications (2)

Publication Number Publication Date
CN1471258A true CN1471258A (zh) 2004-01-28
CN1322701C CN1322701C (zh) 2007-06-20

Family

ID=34142007

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021142882A Expired - Fee Related CN1322701C (zh) 2002-07-24 2002-07-24 幻方身份双向认证与密钥传输一体化方法

Country Status (1)

Country Link
CN (1) CN1322701C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840485A (zh) * 2010-05-19 2010-09-22 韩萧 文件混序分割存储与合成互验的方法
CN1773906B (zh) * 2004-11-10 2010-11-03 谢道裕 一种用于身份真伪鉴别的幻方签名方法
US9195837B2 (en) 2007-11-30 2015-11-24 Hewlett-Packard Development Company, L.P. Method and system for securely transmitting deterrent data
CN105376054A (zh) * 2015-11-25 2016-03-02 电子科技大学 一种基于随机矩阵的密文提取的方法
CN105827404A (zh) * 2015-01-05 2016-08-03 中国移动通信集团陕西有限公司 一种身份认证方法、装置及服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2162125C (en) * 1993-05-05 2005-09-20 Zunquan Liu A repertoire of mappings for a cryptosystem
US6219421B1 (en) * 1997-10-24 2001-04-17 Shaul O. Backal Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773906B (zh) * 2004-11-10 2010-11-03 谢道裕 一种用于身份真伪鉴别的幻方签名方法
US9195837B2 (en) 2007-11-30 2015-11-24 Hewlett-Packard Development Company, L.P. Method and system for securely transmitting deterrent data
CN101840485A (zh) * 2010-05-19 2010-09-22 韩萧 文件混序分割存储与合成互验的方法
CN101840485B (zh) * 2010-05-19 2015-07-08 韩萧 文件混序分割存储与合成互验的方法
CN105827404A (zh) * 2015-01-05 2016-08-03 中国移动通信集团陕西有限公司 一种身份认证方法、装置及服务器
CN105376054A (zh) * 2015-11-25 2016-03-02 电子科技大学 一种基于随机矩阵的密文提取的方法

Also Published As

Publication number Publication date
CN1322701C (zh) 2007-06-20

Similar Documents

Publication Publication Date Title
US8918647B1 (en) Authentication system
US10728027B2 (en) One-time passcodes with asymmetric keys
US8429720B2 (en) Method and apparatus for camouflaging of data, information and functional transformations
US10439828B2 (en) Encoding data for cells in a PUF that corresponds to a response in a challenge response pair
CN1281608A (zh) 利用生物统计数据生成密码密钥
US20090271634A1 (en) Bio-Cryptograhpy : Secure cryptographic protocols with bipartite biotokens
US8495379B2 (en) Method and system for managing a hierarchy of passwords
CN1879072A (zh) 提供断开鉴别的系统和方法
US20020083327A1 (en) Method and apparatus for camouflaging of data, information and functional transformations
Talukder et al. Memory-based PUFs are vulnerable as well: A non-invasive attack against SRAM PUFs
Sadhya et al. Providing robust security measures to Bloom filter based biometric template protection schemes
CN114065169B (zh) 一种隐私保护生物认证方法和装置、电子设备
WO2009073144A2 (en) Bio-cryptography: secure cryptographic protocols with bipartite biotokens
Han et al. A novel hybrid crypto-biometric authentication scheme for ATM based banking applications
CN1471258A (zh) 幻方身份双向认证与密钥传输一体化方法
Cambou Password manager combining hashing functions and ternary PUFs
Mohamed et al. A cancelable biometric security framework based on RNA encryption and genetic algorithms
Kuznetsov et al. Deep learning-based biometric cryptographic key generation with post-quantum security
Slimane et al. A novel image encryption scheme using chaos, hyper-chaos systems and the secure Hash algorithm SHA-1
US10911217B1 (en) Endpoint-to-endpoint cryptographic system for mobile and IoT devices
Molloy et al. Attack on the gridcode one-time password
Gao et al. DNA computing in cryptography
CN112822011B (zh) 一种基于芯片的特征及区块链的物联网认证方法
Liu et al. Performance of the 2D Coupled Map Lattice Model and Its Application in Image Encryption
Rachapalli et al. Disseminating the authentication process based on secure RGVSS multi-biometric template encryption through QR code in health care informatics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: XIE DAOYU

Free format text: FORMER OWNER: XIE TAO

Effective date: 20031231

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20031231

Applicant after: Xie Daoyu

Applicant before: Xie Tao

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee