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

文档序号:7685429阅读:243来源:国知局
专利名称:幻方身份双向认证与密钥传输一体化方法
技术领域
本发明涉及一种网络系统中的身份认证方法,特别是指一种幻方身份双向认证与密钥传输一体化方法。
本发明的另一个目的是提供一种基于幻方数字锁原理的软件加密方法。
为实现上述目的,本发明的幻方身份双向认证与密钥传输一体化方法包括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为洗牌转换与密钥元位置向量传输示意图。
幻方演化算法中不使用重组算子,而且种群的亲本数目不影响算法的效率。因此,算法仅用一个亲本,每代生成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适应值函数设计行列幻和演化的目标函数 其中,nrow与ncol分别为矩阵M中不满足幻和的行数与列数;对角幻和演化的目标函数J(M)=|c-Σi=1naii|+|c-Σi=1nai,(n-i+1)|;]]>如果正对角线元素满足幻和,即Σi=1naii=c,]]>则置d1=0,否则置d1=1;同样,如果斜对角线元素满足幻和,即Σi=1nai,n-i+1=c,]]>则置d2=0,否则置d2=1.1.2变异操作设亲本个体I=(M,△),变异子代个体I·=(M·,△·).元素置换算子变异范围为未满足幻和的行列元素,分三种情况。其一,变异对象为所在行列均不满足幻和的元素集合S1={aij:Σk=1naik≠c,Σk=1nakj≠c,1≤i≤n,1≤j≤n};]]>交换范围为未满足幻和的行与列元素,S2={ai*:Σk=1naik≠c,1≤i≤n}∪{a*j:Σk=1nakj≠c,1≤j≤n}.]]>因为元素变异值不一定可在S2中找到对应的等值元素,因此可以S2中与元素变异值相差最小的元素互换。变异概率pm=1nrowncol,]]>即可变异对象集合S1中平均仅发生一次变异。假定元素aij∈S1被选为变异对象,则有aij•=aij±rand(1,σij).]]>如果aij•<1,]]>置aij•=rand(1,n);]]>如果aij•>n2,]]>置aij•=n2-rand(0,n).]]>设akl=minaij∈S2|aij•-aij|,]]>则置akl•=aij,]]>即将M中两元素aij与akl互换。σij•=σij+rand(-1,1);]]>如果σij•<1]]>或σij•>σt,]]>则置σij•=rand(1,σt).]]>其中, 其二,变异对象为未满足幻和的行或列元素集合S2,交换范围也为未满足幻和的行与列元素集合S2;因为元素变异值不一定可在S2中找到对应的等值元素,因此可以S2中与元素变异值相差最小的元素互换。行变异概率pm=1nnrow,]]>列变异概率pm=1nncol,]]>即可变异对象中平均仅发生一次变异。除变异对象元素集合由S1变为S2外,其他操作与上一情况类似。
其三,变异对象为未满足幻和的行与列元素集合S2,交换范围为矩阵中所有元素。因此,元素变异值一定可找到对应的等值元素进行互换。行变异概率pm=1nnrow,]]>列变异概率pm=1nncol,]]>即可变异对象中平均仅发生一次变异。假定元素aij∈S1被选为变异对象,则有aij•=aij±rand(1,σij);]]>如果aij•<1,]]>置aij•=rand(1,n);]]>如果aij•>n2,]]>置aij•=n2-rand(0,n).]]>设akl=aij•,]]>则置akl•=aij,]]>即将M中两元素aij与akl互换。σij•=σij+rand(-1,1);]]>如果σij•<1]]>或σij•>σt,]]>则置σij•=rand(1,σ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;互换一对元素的条件如果Σi=1naki-c=c-Σj=1nalj=aks-aks,]]>则互换第k行与第l行中对应s列的两元素;如果Σi=1naik-c=c-Σj=1nail=ask-asl,]]>则可互换第k列与第l列中对应s行的两元素。
互换二对元素的条件如果Σi=1naki-c=c-Σj=1nali=akx+-akt-alx-alt,]]>则互换第k行与第l行中对应s列与t列的两元素同样,如果Σi=1naik-c=c-Σj=1nail=ask+atk-asl-atl,]]>则可互换第k列与第l列中对应s行与t行的两元素。
行列局部调整元素可增加至三对以上,因为三对元素以上的可调整条件的搜索代价过高,因此,仅搜索两对以下元素的可互换条件。
对角局部调整逐行或逐列比较,其中,1≤i≤n,1≤j≤n,i≠j;如果aii+aij=aji+ajj,且(aii+alj)-(aij+aji)=Σk=1nakk-c,]]>则将aii与aji互换,aij与ajj互换;如果aij+ai,n-i+1=an-j+1,j+an-j+1,n-i+1,且(ai,n-i+1+an-j+1,j)-(aij+an-j+1,n-i+1)=Σk=1nan-k+1,k-c,]]>则将aij与an-j+1,j互换,ai,n-i+1与an-j+1,n-i+1互换如果(aii+ajj)-(aij+aji)=Σk=1nakk-c,]]>且(ai,n-i+1+aj,n-j+1)-(ai,n-j+1+aj,n-i+1)=Σk=1nan-k+1,k-c,]]>则将i行与j行互换;如果(aii+aji)-(aij+aji)=Σk=1nakk-c,]]>且(aa-i+1,j+an-j+1,j)-(an-j+1,i+an-i+1,j)=Σk=1nan-k+1,k-c,]]>则将i列与j列互换;如果(aii+an-i+1,n-i+1)-(ai,n-i+1+an-i+1,i)=Σk=1nakk-c=c-Σk=1nan-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=[bij]n×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=[bij]n×n,]]>bij∈{0,1};要求1)全局状态中0与1的个数基本相等;2)每行每列以及两对角线上的0元素与1元素个数基本相等;3)全局状态事实上不重复也不可预测。
随机洗牌矩阵可由二维0-1二状态细胞自动机产生均匀随机洗牌矩阵。对于邻域为“米”字型的两状态二维细胞自动机,共存在2512种不同的自动机规则。为保证分割方案的统计均匀对称性,可选参数λ=0.5的自动机规则,共有256512≈4.72553303154965×10152]]>种不同的λ=0.5的CA规则。Web服务器与每个用户均采用不同的CA规则,并且使得当前CA的全局状态成为下一步全局映射的初始状态,确保全局状态不重复。“米”字型细胞自动机规则可用512位二进制数字表示。参数λ表示512位二进制数字中1的比例。
幻方均匀随机分割方案与随机洗牌矩阵的产生存在多种方法,二者本质上属于伪随机序列的产生问题。3.洗牌转换算法设定向量V(Alice,t)的长度为n2,V(Alice,t)中各元素初始化为0;P(Alice,t)=(k1,…,k2m),m≤n2/4,]]>且ki∈{1,2,…,n},i=1,2,…,m;CA(Web,t)=[bij]n×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)=(ak1k2,ak3k4),]]>相应位置向量为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码保护。该方法可以保证一份正版软件拷贝只能同时被一人使用,使用者必须持有购买时存有授权矩阵的智能授权卡-“软件狗”。
权利要求
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.一种基于幻方数字锁原理的软件加密方法,其特征在于包括以下步骤由加密器随机产生一个幻方;将幻方均匀随机分割为互补的两个矩阵,分别将这两个矩阵作为注册矩阵与授权矩阵存入软件拷贝与具有幻方验证模块的智能授权卡中,智能卡只允许输出“允许”与“拒绝”二信号。
全文摘要
本发明公开一种幻方身份双向认证与密钥传输一体化方法、软件版权保护幻方数字锁原理以及随机幻方演化算法。将一个随机幻方均匀随机地分割为两个互补缺陷矩阵,分别作为注册信息与认证信息存储于认证服务器和用户认证卡中,可构成一把幻方数字锁。认证双方将缺陷矩阵均匀随机洗牌后安全传送至对方,双方均以能否恢复幻方来确认对方。密钥元组由一方从幻方中随机可重复地选择,并将其位置向量传给对方,对方可据此恢复密钥元组。演化算法可在巨量幻方空间中作均匀随机快速采样。幻方身份双向认证与密钥传输过程融为一体,认证成功则密钥传输成功,反之亦然。幻方数字锁原理也是一种有效的软件版权保护方法。幻方身份认证效率高,密钥传输安全可靠。
文档编号H04L9/00GK1471258SQ02114288
公开日2004年1月28日 申请日期2002年7月24日 优先权日2002年7月24日
发明者谢涛, 陈火旺, 康立山, 谢 涛 申请人:谢涛, 谢 涛
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1