本发明涉及网络信息安全技术领域,具体地,涉及基于位置的代理多重签名方法和系统。
背景技术:
近年来,基于位置的相关服务与应用以及代理签名技术都得到了深入的研究与发展。基于位置的服务与应用能够为用户的位置实施定位,也可以为用户提供与位置相关的服务,比如旅馆服务、餐饮服务、邮政服务以及旅游服务等。代理签名技术则提供了一个用户授权另一个用户实施代理签名的能力,进而实现对消息的完整性、不可否认性以及来源进行鉴别的功能。
但是,现有技术还无法在移动互联网环境下,实现由位于不同位置的用户群联合向处于另一位置的单一用户授权代表用户群在指定的位置实施代理签名的功能。因此,无法保证用户位置安全以及与位置相关的消息完整性、认证性以及不可否认性。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于位置的代理多重签名方法和系统。
第一方面,本发明提供一种基于位置的代理多重签名方法,包括:
位置基础实施pi在初始化过程中获取安全参数1k、主密钥mk、公开参数pp,并分别向原始签名者群osg中的每个原始签名者os发送唯一对应的身份信息;其中,假设原始签名者群osg中包含有n个原始签名者os,第i个原始签名者记为osi,其中i=1,2,3,…,n;则第i个原始签名者osi对应的身份信息为idi,n表示原始签名者的总数;
接收来自原始签名者osi发送的代理签名请求信息,所述代理签名请求信息中包含有该原始签名者osi对应的位置信息
通过位置定位协议确定每一个原始签名者osi对应的位置信息
向每个原始签名者发送对应的代理授权密钥包
接收检查者侧发送的代理授权证书dw,dw中包含有所有原始签名者和代理签名者的身份、位置、可签名消息类型、有效期信息;
根据所述代理授权证书dw生成代理签名密钥包pskp,并发送给代理签名者ps。
可选地,所述代理授权密钥包中封装有位置定位协议、授权密钥、对应原始签名者的身份信息、代理签名者的身份信息、对应原始签名者的位置信息以及代理签名者的位置信息;
所述代理签名密钥包pskp中封装有位置定位协议、代理签名密钥、代理签名者的身份信息、代理签名者的位置信息、签名算法。
可选地,所述位置定位协议包括:全球定位系统gps协议,用于确定原始签名者、代理签名者的位置。
第二方面,本发明提供一种基于位置的代理多重签名方法,包括:
原始签名者osi向位置基础实施pi发送代理签名请求信息,所述代理签名请求信息中包含有该原始签名者osi对应的位置信息
原始签名者osi接收位置基础实施pi发送的代理授权密钥包
根据代理授权密钥包
将所述代理授权信息发送给检查者,其中,所述检查者为原始签名者群osg中指定的任一个原始签名者。
可选地,代理授权密钥包中封装有位置定位协议、授权密钥、对应原始签名者的身份信息、代理签名者的身份信息、对应原始签名者的位置信息以及代理签名者的位置信息;
可选地,当原始签名者作为检查者时,还包括:
确定原始签名者群osg中指定的任一个原始签名者作为检查者,所述检查者检查代理授权密钥包
若否,则无效,结束流程;
若是,
则dwi有效,判断所有的dwi是否全部有效,i=1,2,3,…,n,若全部有效,则生成代理授权证书,令
向代理签名者ps发送代理授权证书。
第三方面,本发明提供一种基于位置的代理多重签名方法,包括:
接收位置基础实施pi发送的代理签名密钥包pskp和检查者发送的代理授权证书;
根据代理签名密钥包pskp中封装的位置定位协议确定代理签名者ps自身的位置信息posps是否有效,若无效,则结束流程;
若有效,
则向签名验证者v发送多重签名,所述多重签名记为:(m,s,dw,pp),(m,s,dw,pp)表示针对消息m的签名s,且签名s的有效次数为1次;
其中,位置信息posps有效是指:代理签名者ps的位置信息与代理授权证书中关于代理签名者ps的位置信息一致。
第四方面,本发明提供一种基于位置的代理多重签名方法,包括:
接收代理签名者ps发送的代理多重签名(m,s,dw,pp);其中,(m,s,dw,pp)表示针对消息m的签名s,且签名s的有效次数为1次;
通过原始签名者的身份信息和位置信息、代理签名者的身份信息和位置信息、公开参数pp来检查代理授权证书是否有效,若无效,则结束流程;
若有效,则通过预设的多重签名验证算法来验证s是否是消息m的代理多重签名,若验证成功,则确认消息m确实由代理签名者在指定的位置posps代表原始签名者群。
第五方面,本发明提供一种基于位置的代理多重签名系统,包括:位置基础设施pi、原始签名者os、代理签名者ps以及签名验证者v;其中,
所述位置基础设施pi用于执行权利要求第一方面中任一项所述的基于位置的代理多重签名方法;
所述原始签名者os用于执行权利要求第二方面中任一项所述的基于位置的代理多重签名方法;
所述代理签名者ps用于执行权利要求第三方面所述的基于位置的代理多重签名方法;
所述签名验证者v用于执行权利要求第四方面所述的基于位置的代理多重签名方法。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的能够实现处于不同位置的多名用户授权处于指定位置的用户代表多名用户进行签名的功能,并确保了基于位置的消息的完整性和不可否认性,使得与位置相关的信息更加安全可靠。进一步地,在可选方案中,本发明提供的基于位置的代理多重签名方法,还对代理签名者发布的签名消息进行验证,且不限定代理签名验证者的位置,进一步保证了签名消息的可靠性和安全性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中方法的应用场景示意图;
图2为本发明一实施例提供的基于位置的代理多重签名方法的流程图;
图3为本发明一实施例中代理授权密钥包的流程示意图;
图4为本发明一实施例中代理签名密钥包的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
应用本发明提供的基于位置的代理多重签名方法的系统包括:位置基础设施(positioninfrastructure,pi)、原始签名者(originalsigner,os)、代理签名者(proxysigner,ps)以及签名验证者(verifier,v);其中,所有原始签名者构成原始签名者群(originalsignergroup,osg)。如图1所示,原始签名者群osg联合授权代理签名者ps,在位置基础设施pi的协助之下,完成对指定位置的代理签名者ps对特定信息的代理签名能力。
如图2所示,根据本发明提供的基于位置的代理多重签名方法,可以包括:第一步:进行代理签名者ps、原始签名者群osg以及位置基础设施pi的初始化;第二步:首先在pi的参与下完成原始签名者群osg所在位置的真实性验证,然后pi来验证代理签名者ps的位置的真实性的认证,最后原始签名者群osg完成对代理签名者ps的指定位置代理签名授权;第三步:首先代理签名者ps要在pi的支持下完成其自己位置的认证功能,然后再执行对特定信息的代理签名功能;第四步:由代理签名验证者v来完成验证代理签名确实由指定位置的原始签名者群联合授权指定位置的代理签名者对预设信息进行了代理签名。
进一步地,如图3所示,原始签名者os(原始签名者群osg)首先在pi的协助下来判断对应的原始签名者os是否在指定的位置,如是则生成代理授权密钥;若否,结束。其中,代理授权密钥作为代理授权生成模块的输入,并结合授权证书信息,生成代理授权证书,发送给代理签名者ps。
进一步地,如图4所示,代理签名者ps首先在pi的协助下来判断是否在指定的位置,如是则生成代理签名密钥,若否,则结束。其中,代理签名密钥作为代理签名生成的输入,外加待签名消息,生成代理签名,发送给代理签名验证者v。
本发明提供的基于位置的代理多重签名方法,能够实现处于不同位置的多名用户授权处于指定位置的用户代表多名用户进行签名的功能,并确保了基于位置的消息的完整性和不可否认性,使得与位置相关的信息更加安全可靠。
可选地,本发明提供的基于位置的代理多重签名方法,还对代理签名者发布的签名消息进行验证,且不限定代理签名验证者的位置,进一步保证了签名消息的可靠性和安全性。
本发明中的方法与传统基于身份验证的方法不同,实现了基于身份与位置的认证权利的转移,满足移动互联网环境下,多名不同位置的用户群对任意指定用于授权实施代理签名的安全性要求。
为了更加清楚地描述本发明中的方法,下面结合具体实施例进行详细的说明。具体地,位置基础设置pi侧包括如下步骤:
步骤a1:位置基础实施pi在初始化过程中获取安全参数1k、主密钥mk、公开参数pp,并分别向原始签名者群osg中的每个原始签名者os发送唯一对应的身份信息;其中,假设原始签名者群osg中包含有n个原始签名者os,第i个原始签名者记为osi,其中i=1,2,3,…,n;则第i个原始签名者osi对应的身份信息为idi;
步骤a2:接收来自原始签名者osi发送的代理签名请求信息,所述代理签名请求信息中包含有该原始签名者osi对应的位置信息
步骤a3:通过位置定位协议确定每一个原始签名者osi对应的位置信息
步骤a4:向每个原始签名者发送对应的代理授权密钥包
步骤a5:接收检查者侧发送的代理授权证书dw,dw中包含有所有原始签名者和代理签名者的身份、位置、可签名消息类型、有效期信息;
步骤a6:根据所述代理授权证书dw生成代理签名密钥包pskp,并发送给代理签名者ps,其中,所述代理签名密钥包pskp中封装有位置定位协议、代理签名密钥、代理签名者的身份信息、代理签名者的位置信息、签名算法等。
原始签名者os侧(原始签名者群osg侧)包括如下步骤:
步骤b1:原始签名者osi向位置基础实施pi发送代理签名请求信息,所述代理签名请求信息中包含有该原始签名者osi对应的位置信息
步骤b2:原始签名者osi接收位置基础实施pi发送的代理授权密钥包
步骤b3:根据代理授权密钥包
步骤b4:将所述代理授权信息发送给检查者(clerk),其中,所述检查者为原始签名者群osg中指定的任一个原始签名者。
检查者侧,包括如下步骤:
步骤c1:确定原始签名者群osg中指定的任一个原始签名者作为检查者,所述检查者检查代理授权密钥包
步骤c2:判断所有的dwi是否全部有效,i=1,2,3,…,n,若全部有效,则生成代理授权证书,令
步骤c3:向代理签名者ps发送代理授权证书。
代理签名者ps侧,包括如下步骤:
步骤d1:接收位置基础实施pi发送的代理签名密钥包pskp和检查者发送的代理授权证书;
步骤d2:根据代理签名密钥包pskp中封装的位置定位协议确定代理签名者ps自身的位置信息posps是否有效,若有效,则执行步骤d3;若无效,则结束流程;其中,位置信息posps有效是指:代理签名者ps的位置信息与代理授权证书中关于代理签名者ps的位置信息一致;
步骤d3:向签名验证者v发送多重签名,所述多重签名记为:(m,s,dw,pp),(m,s,dw,pp)表示针对消息m的签名s,且签名s的有效次数为1次。
签名验证者v侧,包括如下步骤:
步骤e1:接收代理签名者ps发送的代理多重签名(m,s,dw,pp);
步骤e2:通过原始签名者的身份信息和位置信息、代理签名者的身份信息和位置信息、公开参数pp来检查代理授权证书是否有效,若有效,则执行步骤e3,若无效,则结束流程;
步骤e3:通过预设的多重签名验证算法来验证s是否是消息m的代理多重签名,若验证成功,则确认消息m确实由代理签名者在指定的位置posps代表原始签名者群(在位置
需要说明的是,本发明提供的所述基于位置的代理多重签名方法中的步骤,可以利用所述基于位置的代理多重签名系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。