在时间约束下基于位置的数字签名方法

文档序号:10578002阅读:387来源:国知局
在时间约束下基于位置的数字签名方法
【专利摘要】本发明公开了一种在时间约束下基于位置的数字签名方法,主要解决现有技术无法满足动态条件下基于位置数字签名的安全需求的问题。其技术方案是:地标与签名者使用位置信息生成基于位置的公私钥对;签名者使用基于位置的私钥对消息签名,地标对基于位置的公钥生成数字证书;验证者解密数字证书使用基于位置的公钥验证签名。本发明具有动态地将位置信息与数字签名有效结合和能够抵御敌手共谋攻击的优点,满足在动态条件下基于位置数字签名的安全需求,可用于网络环境下基于位置的安全认证操作。
【专利说明】
在时间约束下基于位置的数字签名方法
技术领域
[0001]本发明属于信息安全技术领域,具体涉及数字签名方法,可用于动态环境下的保密通信中基于位置的认证与签名。
【背景技术】
[0002]随着移动通信和移动定位技术的迅猛发展,基于位置的服务LBS也得到了广泛应用。“位置”这一属性逐渐进入人们的视野,并且变得越来越重要。在许多情况下,用户的地理位置是有价值的,其位置在某种意义上也能标识其身份。2009年Chandran等人在欧密会上提出了基于位置密码学这一概念,与传统密码学不同,它将参与方的地理位置作为身份的凭据。在有界检索模型BRM或有界存储模型BSM模型下,出现了可证明安全的安全定位协议SP和基于位置的密钥交换协议PbKE。安全定位协议本质上是位置验证协议,即验证者能够对签名者所处的位置进行验证;而密钥交换协议能够在验证者与处在期望位置的签名者之间完成密钥交换。基于位置密码学中的安全定位协议SP和基于位置的密钥交换协议PbKE能够抵御敌手的共谋攻击且满足可证明安全。基于位置密码学提出后,Zhang等人在多通道模型MCM下提出了一种能抵御共谋攻击的位置验证协议。然而,基于位置密码学目前主要涉及安全定位、基于位置密钥交换等少数问题,对很多密码学问题还缺少相关协议的支持。
[0003]在1976年数字签名概念由Maitin Hellman和Whittled Diffie最先提出,目的是使参与方的签名者对电子文件进行签名并且无法否认,验证者也无法篡改文件。数字签名主要的功能是:发送者的身份认证、保证信息传输的完整性、防止交易中的抵赖发生。
[0004]传统的数字签名中发送方以其私钥签名数据,接收方用对应的公钥解密来验证签名的真实性。然而,在基于位置的数字签名中,签名不依赖于用户的私钥,而是用户的位置。位于某一点的用户以其位置为凭证对数据进行签名,而不在这一点的用户却无法伪造签名。由此可知,基于位置数字签名方案的核心问题如下:
[0005]I)由于位置信息是基于位置数字签名方案的凭证,因此如何确保签名者位置的合法性,是设计签名方案的基础。
[0006]2)由于移动设备具有高度的动态性,如何动态地将位置信息与数字签名进行有效结合,实时更新设备位置信息与密钥绑定状态,是设计签名方案的关键。
[0007]3)由于数字签名具有鉴权性、消息的完整性及不可抵赖性,如何在存在敌手共谋攻击的环境中保证签名的不可伪造性,是设计签名方案的保障。
[0008]对于基于位置的数字签名,2014年WICON的会议论文集中《Posit1ning-Protocol-Based Digital Signature》一文提出了一种结合安全定位协议和数字签名的设计方案,其中在密钥生成阶段,验证者与证明者通过安全定位协议进行交互,位置验证通过后,验证者与证明者通过安全的私有通道共享密钥。这种方法需要验证者与签名者之间使用预共享的安全通道,在大规模的应用环境下,建立和维护该安全通道开销较大,增加通信代价,降低效率。并且由于移动设备的移动特性,此协议无法满足动态条件下基于位置数字签名的安全需求。

【发明内容】

[0009]本发明的目的在于针对上述现有技术的不足,设计出一种在时间约束下基于位置的数字签名方法,以避免验证者与签名者事先预共享安全通道,降低通信代价,提高通信效率,其满足在动态条件下的安全需求和抵御敌手的共谋攻击。
[0010]为实现上述目的,本发明的技术方案如下:
[0011](I)利用签名者位置信息生成公私钥对:
[0012]Ia)设签名者S所在位置P点周围有四个地标,即第一地标U、第二地标1^2、第三地标L3和第四地标L4,且签名者的位置P封闭在由L1,L2,L3,L4这4个地标围成的四面体中,T时刻签名者S与四个地标通过基于位置密钥交换协议得到第六密钥K6;
[0013]Ib)位于位置P点的签名者S将第六密钥K6作为输入,利用伪随机函数PRF随机产生txl比特长度的第一字符串1%(^的=?1^(1(6),并将第一字符作为P点的私钥SK=(S1,S2,...,Sc,...,St),其中,Sc为长度为I比特的私钥子字符串;KcSt;
[0014]Ic)第一地标Li计算P点公钥pK=(vi,V2,...,vc,...,vt),其中Vc为长度为I比特的公钥子字符串,vi = f(si),V2 = f(S2),......,Vc = f (Si),f为单向函数;
[0015]Id)第一地标LjP签名者S将公钥pK和私钥sK作为P点位置的公私钥对;
[0016](2)签名者S使用私钥sK对消息进行签名:
[0017]2a)消息m经过P点时,签名者S将消息m变成固定长度的第二字符串:h = Hash(m),其中Hash为单向哈希函数;
[0018]2b)将第二字符串h均分为长度相同的k个子字符串1η,1ι2,...,hj,...,hk,并将每个子字符串hj转换为整数值aj,其中I f j f k;
[0019]2c)签名者S从私钥sK= (S1,S2,...,Sc,...,St)中选择下标值等于整数值a」的私钥子字符串8^,构成1^个元素的集合0=(?1,?2,...,Saj,...,Sak),并将集合σ作为位于P点的签名者S在T时刻对消息m的签名;
[0020]2d)签名者S将签名σ附在消息之后,立即将(m,σ)发送给第一地标1^,第一地标1^验证接收到签名(m,σ)的时间T ’是否满足时间约束条件:T’ = T+PLi/v,:若接收时间满足约束条件,则第一地标L1用自己的私钥skL对P点公钥pK、p点的位置信息、P点的签名时亥IjT进行签名,生成数字证书CertL(pK,p,T)并广播;若不符合,则签名者S的签名无效,其中T为签名者S的签名时刻,PL1为位置P与第一地标L1之间的距离,V’为消息的传播速度;
[0021 ] (3)验证者V验证签名的正确性:
[0022]3a)验证者V搜索网络中是否存在数字证书CertL(pK,p,T),若不存在,则说明地标拒绝此签名,签名无效;若存在,则验证者使用第一地标L1的公钥解密数字证书CertL(pK,P,T),得到P点公钥pK;
[0023]3b)验证者V得到P点公钥pK后,将消息m变成固定长度的第二字符串h = Hash(m),Hash为单向哈希函数;
[0024]3c)将第二字符串h均分为长度相同的k个子字符串1η,1ι2,...,hj,...,hk,并将每个hj转换为整数值aj,其中I < j Sk;
[0025]3d)从P点公钥pK=(vi,V2,...,Vc,...,vt)中选择下标值等于整数值aj的公钥子字符串 Vaj,构成 k 个元素的集合 M= (Val,Va2,...,Vaj,...,Vak);
[0026]3e)验证者V验证消息m的签名o = (Sal,Sa2,...,saj,...,sak)是否正确:若等式f(Sal)=Val,f(Sa2)=Va2,...,f(Saj)=Vaj,...,f ( Sak ) = Vak 全部成立,则说明验证成功,签名O为正确的签名,若不全部成立则验证失败,则签名σ不是正确的签名。
[0027]本发明具有如下优点:
[0028](I)本发明由于使用安全定位技术,将位置信息作为唯一凭证对消息进行签名,确保了签名者位置的合法性。
[0029](2)本发明由于设置了严格约束时间条件,动态地将位置信息与数字签名进行有效结合,能够实时更新设备位置信息与密钥绑定状态,即在动态条件下满足基于位置数字签名的安全需求。
[0030](3)本发明由于根据有界存储模型设计出数字签名协议,可在存在敌手共谋攻击的环境中保证签名的不可伪造性,即能够抵御敌手共谋攻击且满足可证明安全。
【附图说明】
[0031 ]图1是本发明的实现总流程图;
[0032]图2是本发明中的密钥生成子流程图;
[0033]图3是本发明中的签名者与地标协商第六密钥K6示意图;
[0034]图4是本发明中的消息签名子流程图;
[0035]图5是本发明中的签名验证子流程图。
【具体实施方式】
[0036]下面结合附图,对本发明作进一步详细的描述。
[0037]参照图1,本发明的实现包括密钥生成、消息签名和签名验证三大步骤,其详细描述如下:
[0038]一.密钥生成
[0039]参照图2,该部分的具体实现如下:
[0040]步骤1、签名者与地标协商密钥。
[0041]Ia)签名者S所在位置P点周围设有四个地标,即第一地标U、第二地标1^2、第三地标L3和第四地标L4,如图3所示;
[0042]Ib)签名者S与第一地标L1协商第六密钥K6,协商过程如下:
[0043]Ibl)第一地标1^选择随机的信息串Xr—{0,1}η和密钥Kj—{0,l}m,其中I彡r彡5,η为信息串的长度,I < j < 6,m为密钥的长度,地标L1的第一密钥K1是随机密钥,地标L1的第j个密钥Kj由随机信息串Xr和地标L1的密钥K^1通过伪随机生成器PRG生成,即地标1^的第二密钥K2 = PRG (X1,K1),地标L1的第三密钥K3 = PRG (X2,K2),地标L1的第四密钥K4 = PRG (X3,K3),地标11的第五密钥1(5 = ?1^(乂4,1(4),地标1^的第六密钥1(6 = ?1^05,1(5),乂1为第一随机信息串,X2为第二随机信息串,X3为第三随机信息串,X4为第四随机信息串,X5为第五随机信息串;
[0044]lb2)通过私有通道在各地标之间共享信息串Xr和密钥Kj;
[0045]Ic)第一地标!^在”-^)时刻广播地标L1的第一密钥K1和第四随机信息串X4,第二地标1^在(1^2)时刻广播第一随机信息串X1和第五随机信息串X5,第三地标L3在(T_t3)时刻广播第二随机信息串χ2,第四地标L4在(T-t4)时刻广播第三随机信息串χ3,其中^为消息从第i个地标Ldlj达位置P所需要的时间,T为位于位置P的签名者S同时接收到所有地标发送的消息的时刻;
[0046]Id)位于位置P的签名者S接收到消息,使用第一地标1^的第一密钥K1、第一随机信息串X1和伪随机生成器生成签名者S的第二密钥K2’,即K^=PRGU1, K1),使用签名者S的第二密钥K2’,第二随机信息串X2和伪随机生成器生成签名者S的第三密钥K3’,即K3’ =PRG(X2,K2’),使用签名者S的第三密钥K3’,第三随机信息串X3和伪随机生成器生成签名者S的第三密钥1(4’,即1(4’=?1^(乂3,1(3’),利用签名者3的第四密钥1(4’和第四随机信息串乂4和伪随机生成器生成签名者3的第五密钥1(5’,即1(5’=?1^%,1(4),使用签名者3的第五密钥1(5’和第五随机信息串X5生成签名者S的第六密钥K6’,SPK6’ =PRG(Χ5,Κ5’),
[0047]由于计算签名者S的第六密钥K6’的方法与计算第一地标1^的第六密钥K6的方法相同,所以此时签名者S计算得到的签名者S的第六密钥K6’与第一地标L1的第六密钥K6相同。
[0048]步骤2、生成私钥。
[0049]签名者S使用签名者S的第六密钥Κ6’和伪随机函数PRF生成长度为tX I比特的签名者S的第一字符串k_secret’,即1<_86(^61:’ =PRF(K6’);
[0050]将签名者S的第一字符串Isecret’均分成t个长度为I的子字符串,作为位置P点的私钥81(=(81,82,...,Sc,...,St),其中S。为长度为I的第C个私钥子字符串,Kc彡t。
[0051 ]步骤3、生成公钥。
[0052]第一地标Li使用位置P点的私钥SK=(S1,S2,...,Sc,...,St)和单向函数f计算位置P点的公钥pK=(Vl,V2,...,Vc,...,Vt),其中V。为长度为I比特的第C个公钥子字符串,Vl = f
[51],V2= f(S2),......,Vi = f (Sc) ,
[0053]此时位于位置P点的签名者S和第一地标L1生成了位置P点的私钥sK和位置P点的公钥pK。
[0054]二.消息签名
[0055]参照图4,该部分的具体实现如下:
[0056]步骤4、使用私钥生成消息的签名。
[0057 ] 4a)当消息m经过位置P点时,签名者S使用单向哈希函数Hash将消息m变成固定长度的第二字符串h JPh = Hash(Hi);
[0058]4b)签名者S将第二字符串h均分成k个长度相同的子字符串IuJ2,...,hj,...,hk,并将每个子字符串h转换为整数值^,其中I < j < k;
[0059]4c)签名者S从私钥sK= (S1,S2,...,Sc,...,St)中选择下标值等于整数值a」的私钥字符串saj,构成k个元素的集合0=(sal,sa2,...,Saj,...,sak),并将集合O作为位于位置P点的签名者S在T时刻对消息m的签名,并将签名附在消息m后,发送给第一地标U。
[0060]步骤5、第一地标1^生成数字证书。
[0061]第一地标1^接收到签名消息(m,o)后,验证接收到签名消息(m,o)的时间T’是否满足时间约束条件:T’=T-PL1ZV,其中T为签名者S的签名时刻,PL1为位置P与第一地标1^之间的距离,V’为消息的传播速度:
[0062]若接收时间满足约束条件,则第一地标L1用自己的私钥skL对P点公钥ρΚ、ρ点的位置信息、P点的签名时刻T进行签名,生成数字证书Cer tL (pK,P,T)并广播;
[0063]若不符合,则签名者S的签名无效。
[0064]三.签名验证
[0065]参照图5,该部分的具体实现如下:
[0066]步骤6、搜索并解密数字证书。
[0067]验证者V验证消息m的签名时,先搜索网络中是否存在数字证书CertL(pK,P,T),
[0068]若存在,则验证者V使用第一地标L1的公钥解密数字证书CertL(pK,p,T),得到位置P点的公钥pK;
[0069]若不存在,验证者V拒绝此签名。
[0070]步骤7、验证签名。
[0071]7a)验证者V得到位置P点的公钥pK后,使用单向哈希函数和消息m生成第二字符串h,即h = Hash(m);
[0072]7b)验证者V将第二字符串h均分成k个长度相同的子字符串h^hs,...,hj,...,hk,并将每个子字符串h转换为整数值^,其中I < j < k;
[0073]7c)验证者V从位置P点的公钥pK=(V1,V2,...,vc,...,vt)中选择下标值等于整数值aj的随机字符串Vaj,构成k个元素的集合M=(Val,Va2,...,Vaj,...,Vak);
[0074]7d)验证者V使用单向函数f和集合M对消息m的签名o = (Sai,sa2,...,saj,...,sak)进行验证,即验证等式:1^(8£11)=¥£11,;1^(8£12)=¥32,..., f ( Saj ) = Vaj ,...,f ( Sak) = Vak是否全部成立:
[0075]若等式全部成立,则签名O为T时刻签名者S在位置P点对消息m的签名;
[0076]若等式不全部成立,则签名σ不正确,验证者V拒绝此签名。
[0077]以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本
【发明内容】
和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
【主权项】
1.一种在时间约束下基于位置的数字签名方法,包括: (1)利用签名者位置信息生成公私钥对: Ia)设签名者S所在位置P点周围有四个地标,即第一地标U、第二地标1^2、第三地标L3和第四地标L4,且签名者的位置P封闭在由L1,L2,L3,L4这4个地标围成的四面体中,T时刻签名者S与四个地标通过基于位置密钥交换协议得到第六密钥K6; Ib)位于P点的签名者S和第一地标L1将第六密钥K6作为输入,利用伪随机函数PRF随机产生tXl比特长度的第一字符串1%(^的=?1^(1(6),并将第一字符作为P点的私钥81(=(81,82,...,Si,...,St),其中,Si为长度为I比特的私钥子字符串,KiSt; Ic)第一地标Li计算P点公钥pK=(Vl,V2,...,Vc,...,Vt),其中V。为长度为I比特的公钥子字符串,Vl = f(Sl),V2 = f(S2),......,Vc = f (Si),f 为单向函数; Id)第一地标LdP签名者S将公钥PK和私钥SK作为P点位置的公私钥对; (2)签名者S使用私钥SK对消息进行签名: 2a)消息m经过P点时,签名者S将消息m变成固定长度的第二字符串:h = Hash(m),其中Hash为单向哈希函数; 2b)将第二字符串h均分为长度相同的k个子字符串Iuj2,...,hj,...,hk,并将每个子字符串hj转换为整数值aj,其中I f j f k; 2c)签名者S从私钥sK= (S1,S2,...,Sc,...,st)中选择下标值等于整数值W的私钥子字符串8^,构成1^个元素的集合0=(&1,?2,...,Saj,...,sak),并将集合σ作为位于P点的签名者S在T时刻对消息m的签名; 2d)签名者S将签名σ附在消息之后,立即将(m,o)发送给第一地标1^,第一地标L1验证接收到签名(πι,σ)的时间T’是否满足时间约束条件:T’=T+PU/V’:若接收时间满足约束条件,则第一地标L1用自己的私钥skL对P点公钥pK、p点的位置信息、P点的签名时刻T进行签名,生成数字证书CertL(pK,p,T)并广播;若不符合,则签名者S的签名无效,其中T为签名者S的签名时刻,PL1为位置P与第一地标L1之间的距离,V’为消息的传播速度; (3)验证者V验证签名的正确性: 3a)验证者V搜索网络中是否存在数字证书CertL(pK,p,T),若不存在,则说明地标拒绝此签名,签名无效;若存在,则验证者V使用第一地标L1的公钥解密数字证书CertL(pK,p,T),得到P点公钥pK; 3b)验证者V得到p点公钥pK后,将消息m变成固定长度的第二字符串h = Hash(m),Hash为单向哈希函数; 3c)将第二字符串h均分为长度相同的k个子字符串hib,...,hj,...,hk,并将每个hj转换为整数值aj,其中KjSk; 3d)从P点公钥pK=(vi,V2,...,Vc,...,vt)中选择下标值等于整数值aj的公钥子字符串丫小构成1^个元素的集合1=(>31,¥32,..., Vaj ,...,Vak); 3e)验证者V验证消息m的签名O= (Sal,Sa2,..., Saj ,...,Sak)是否正确:若等式f ( Sal )=Val,f(Sa2)=Va2,...,f(Saj) =Vaj,...,f ( Sak ) = Vak 全部成立,贝 >J说明验证成功,签名 O为正确的签名,若不全部成立则验证失败,则签名O不是正确的签名。2.根据权利要求1所述的在时间约束下基于位置的数字签名方法,其中步骤Ia)中通过基于位置密钥交换协议得到第六密钥K6,其步骤如下: 1)第一地标L1选择随机的信息串Xr—{O,1}η和密钥Kj—{O,l}m,并通过私有通道在各地标之间共享信息串Xr和密钥Kj,其中: l<r<5,n为信息串的长度,为密钥的长度, 密钥Kj由随机信息串Xr和密钥Kh通过伪随机生成器PRG生成,即K2 = PRGU1, K1), K3 =PRG(X2jK2),K4 = PRG(X3jK3),K5 = PRG(X4jK4) ,K6 = PRG(X5jK5), 私有通道,只用于特定的实体之间通信,且传递的消息不能被其他实体所截获; 2)设时间为消息从第i个地标L1到达位置P所需要的时间,令第一地标L^(T-U)时刻广播第一密钥K1和第四随机信息串X4,第二地标L^(T-t2)时刻广播第一随机信息串X1和第五随机信息串X5,第三地标L3在(T-t3)时刻广播第二随机信息串X2,第四地标L4在(T-t4)时刻广播第三随机信息串X3; 3)位于P点的签名者S在T时刻同时收到所有地标发送的消息,并使用伪随机生成器计算第六密钥K6,I Si <4。
【文档编号】H04L9/32GK105939198SQ201610474185
【公开日】2016年9月14日
【申请日】2016年6月24日
【发明人】阙梦菲, 张俊伟, 马建峰, 姬雅娴, 李晨, 杜方琼, 杜思军
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1