用户运行轨迹的安全验证方法与流程

文档序号:11693046阅读:919来源:国知局
用户运行轨迹的安全验证方法与流程

本发明属于信息安全技术领域,主要涉及位置密码学中的安全定位,具体是一种用户运行轨迹的安全验证方法,可用于验证移动设备是否严格按照预定轨迹运行。



背景技术:

在网络服务技术领域中,基于位置的服务和人们的日常生活息息相关,基于位置的服务是通过定位技术来获得移动用户的位置信息,并且通过通信网络向移动设备终端提供与位置相关的信息服务。基于位置的服务一般有定位、地图、位置数据的信息采集与分析等,这些技术的结合构成了基于位置服务的基本服务。

随着现代化工业的飞速发展,各种现代化管理方法与管理工具应运而生,使得工业生产、交通运输等实现了高度的自动化:小到生产线上的零件生产流程,大到航天航海管制系统等等,而在实现自动化的同时,由于各种网络安全问题的出现,使得移动设备面临着诸多的安全威胁,例如:敌手通过攻击使得移动设备的轨迹发生偏移,或者在不合法位置企图伪装为正常运行的合法用户等,从而造成系统秩序混乱,甚至产生严重安全事故,如造成人员伤亡、引发各种经济政治事件等。故,运行用户的安全问题是完全不可忽视的。为实现对运行用户的安全监控,检测用户运行过程中是否发生轨迹偏移,保证系统调度的安全有序,由基于位置的服务发展而来的对运行设备轨迹的安全验证也变得更加必要。

验证设备运行轨迹的一些常见的例子为让结点计算出自己的位置信息,然后向邻近的结点广播。例如,在空运系统中,飞行器在全球导航系统(例如gps)的帮助下得到自己的位置信息。这个位置信息通过自动辅助侦测广播ads-b向周围的飞行器和地面的传感器进行定期的广播。但这种方法容易受到位置伪装或位置欺瞒攻击,攻击者通过广播错误的位置信息,可造成对飞行器防撞装置的误导以及对飞行秩序的破坏等。

2015年的ieee安全与隐私会议论文《securetrackverification》一文中提出一种轨迹验证方法,该方案基于信号传输时间toa,是通过对证明者的一系列离散位置声明的验证来实现对轨迹的验证。该方法虽然实现了将验证权交于验证者手中,但存在一个安全性问题,若共谋敌手之间存在私有通道可以相互传递信息,在未经过合法轨迹的情况下,伪装为经过合法轨迹的用户,此时验证者无法区别攻击者和合法用户,即该方法无法抵抗攻击者的共谋攻击。

chandran等人在2009年欧密会上提出了一个新的研究课题—基于位置的密码学。在有界检索模型brm或有界存储模型bsm的基础上,出现了可证明安全的安全定位协议sp、密钥交换协议pke以及基于位置的加密等。安全定位协议为:验证者验证证明者所处的位置是否为期望位置。而密钥交换协议能够使验证者和处在期望位置的证明者进行密钥交换。基于位置的密码学能够抵御攻击者的共谋攻击并且满足可证明安全,在定位技术方面,除了基于位置的密码学均未考虑到抵抗共谋攻击的问题,但它的涉及面较窄,主要涉及到位置的安全定位与密钥交换等问题,对其它密码学的问题如用户运行轨迹等方面还缺少研究。

综上,根据对国内外现有技术的研究,在用户轨迹验证技术方面,目前还没有可以抵抗共谋攻击的轨迹安全验证协议。基于位置的密码学虽可抵抗共谋攻击,但其只能抵御位置上的共谋攻击。在此意义上讲,存在共谋攻击的用户轨迹验证的安全问题还未得到完全解决。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,设计出一种能够抵御共谋攻击的用户运行轨迹的安全验证方法,利用此方法,只有严格按照预定轨迹运行的用户,即满足所有特定时间位于轨迹中特定离散点的用户才能通过验证。

本发明是一种用户运行轨迹的安全验证方法,其特征在于,包括有如下步骤:

(1)建立系统模型:在轨迹验证系统中,存在用户、验证者、攻击者以及待验证轨迹,需要验证用户是否严格按照用户运行轨迹运行,设用户运行轨迹周围有四个地标作为验证者,分别为第一地标l1、第二地标l2、第三地标l3以及第四地标l4,用户运行轨迹在这四个地标l1,l2,l3,l4所围成的四面体中,用户运行轨迹划分为n个离散位置,该离散位置依次为p1,p2,…,pn,并且设定用户到达位置pi(1≤i≤n)的时刻为ti,也就是说用户到达每一个离散位置都有一个对应的时刻点,攻击者为共谋攻击者;

(2)建立攻击者模型:共谋攻击者为攻击者a1,a2,…,ak共同协作来完成对用户轨迹验证系统的攻击,攻击者具有主动攻击、被动攻击的能力,如:窃听、监听、伪装、重放等,当最小熵为(δ+β)m的随机信息串高速经过攻击者时,攻击者可以提取的信息量均存在上限βm,m为信息串的长度,βm可以是随机串的任意部分,共谋攻击者可以位于轨迹中离散位置上,也可以位于离散位置之外,攻击者相互合作来进行对用户位置的共谋攻击,共谋攻击者在未严格按照轨迹运行的情况下试图通过用户运行轨迹的验证,即共谋攻击者无法在所有规定时刻t1-tn位于轨迹中所有离散位置p1-pn却试图伪装成为严格按照轨迹运行的合法用户;

(3)用户生成哈希链:对于一个用户u,产生一个种子su并秘密存储防止泄露,将哈希函数循环地用于种子su,生成h(su),h2(su),…,hi(su),…,hn(su),组成长度为n的哈希链s,并将哈希链存储,令用户u的身份密钥s1=hn(su),s2=hn-1(su),…,sn=h(su),即第i身份密钥si=hn-i+1(su),其中n为轨迹中离散位置的个数,1≤i≤n,h代表哈希函数,hi(su)代表su的i次哈希值,由于哈希函数的单向性,攻击者即使窃听到用户u所广播的第i身份密钥也无法计算出该用户的第i+1身份密钥;

(4)验证用户是否在正确时刻位于运行轨迹上每一离散位置:四个地标l1,l2,l3,l4共同协作对同一用户是否在正确时刻位于所应位于的离散位置p1,p2,…,pn来进行验证,对用户在第一离散位置的验证为位置验证,对用户在之后每一离散位置的验证包括位置验证和身份验证,位置验证首先采用安全定位协议sp发送验证信息,接着进行用户响应信息的判断完成位置验证,身份验证使用哈希链进行验证;针对运行轨迹上的每一个离散点,四个地标l1,l2,l3,l4共同协作先对用户进行第一离散位置的验证,若对用户在第一离散位置的位置验证成功,则四个地标l1,l2,l3,l4存储用户身份信息,接着进行相邻下一离散位置的验证,若用户在该离散点的位置验证成功,则四个地标l1,l2,l3,l4继续进行用户在该离散点的身份验证,若用户在该离散点的位置验证或者身份验证失败,则执行步骤(5);若用户在该离散点的位置验证与身份验证均成功,则继续针对相邻下一离散位置进行位置验证与身份验证;若轨迹中用户在所有离散位置的位置验证和身份验证均成功,转向步骤(6);

(5)验证结果失败:

此时四个地标l1,l2,l3,l4并未完成对用户运行轨迹的所有离散位置的验证,用户运行轨迹的安全验证失败,这种情况包含在进行步骤(4)时无论是用户位置验证失败还是用户身份验证失败的任何时候,说明用户未严格按照轨迹运行,或者共谋攻击者曾试图伪装成为严格按照轨迹运行的合法用户,四个地标l1,l2,l3,l4产生即时的错误验证信息,发出安全报警;

(6)验证结果成功:

此时四个地标l1,l2,l3,l4完成对用户运行轨迹的所有离散位置的验证,用户运行轨迹的安全验证成功,用户严格按照轨迹运行,系统处于安全状态,到此完成了对一个用户的安全验证;如果需要,返回执行步骤(3)-(6),完成对另一个用户的安全验证。

本发明针对在存在共谋攻击者的用户轨迹验证系统中,验证用户是否严格按照轨迹运行,主要解决现有轨迹验证技术无法抵御共谋攻击的安全问题,若用户严格在每一特定时刻经过特定的离散位置,则为严格按照轨迹运行,可以通过用户运行轨迹的验证,攻击者无法通过共谋在没有严格按照轨迹运行的情况下成功通过轨迹的验证,即若运行轨迹的位置存在偏离或者运行时间与提前所设定的时间发生不符均无法通过轨迹的验证。

与现有技术相比,本发明具有如下优点:

(1)随着科技的进步,军事、航海、工业生产等领域出现了越来越多的无人操纵的或远程操作的运行设备如生产线上的零件、无人机、无人驾驶汽车等等,它们面临着越来越多的安全攻击,也因此大大影响系统安全乃至社会的秩序,而现有的轨迹验证技术无法抵御攻击者的共谋攻击,针对这个现状,本发明根据安全定位协议sp设计出的用户轨迹验证协议,与现有技术相比,能够抵御攻击者的共谋攻击并且满足可证明安全。

(2)本发明用于验证用户是否严格按照预定轨迹运行,由于本发明使用安全定位协议sp进行用户位置的验证,则若共谋攻击者在无法位于轨迹中某离散位置上的情况下无法伪装成为位于该离散位置中的用户,从而无法成功通过用户轨迹验证。

(3)本发明由于用户对哈希链的使用,验证者验证用户在每一离散位置广播的身份密钥是否正确时,攻击者即使窃听到了用户在位于之前离散位置时广播的身份密钥,也由于哈希函数的单向性,无法计算出用户在下一离散位置的身份密钥,所以攻击者即使位于下一个离散位置上也无法伪装成为位于该离散位置的合法用户,这样不仅可以验证同一用户是否经过了轨迹中的所有离散位置;并且由于哈希链的高效性,保证了验证者在对用户身份验证的高效性。

(4)本发明中由于验证者对于满足第一离散位置验证成功的用户,即存储其用户标识以及该离散位置的身份密钥,对于任意满足第一点位置验证成功的用户均可进行安全轨迹验证,即验证者无须提前存储用户信息,用户在第一离散位置的位置验证的同时便可实现用户信息的注册;并且,由于不同用户标识对应不同的哈希链,系统可以满足对多个用户的批量认证。

附图说明

图1是本发明的总流程示意图;

图2是本发明的轨迹安全验证模型图;

图3是本发明中判断用户是否严格按照轨迹运行的比较示意图;

图4是本发明中的攻击模型示意图;

图5是本发明中的哈希链示意图;

图6是本发明中用户运行过程中的安全验证流程图。

具体实施方式

下面结合附图,对本发明作详细的描述。

实施例1

由于当今世界网络安全问题日益严重,一些无人操纵的或远程操作的运行设备面临着越来越多的安全攻击,敌手的攻击水平越来越高,从而大大影响系统乃至社会的秩序,进而产生严重影响,而现有的轨迹验证技术无法抵御敌手的共谋攻击,针对这个现状,本发明展开了研究与创新,提供了一种用户运行轨迹的安全验证方法,参见图1,包括有如下步骤:

(1)建立系统模型:在轨迹验证系统中,参见图2和图3,存在用户、验证者、攻击者以及待验证轨迹,需要验证用户是否严格按照用户运行轨迹运行,设用户运行轨迹周围有四个地标作为验证者,见图2,分别为第一地标l1、第二地标l2、第三地标l3以及第四地标l4,用户运行轨迹在这四个地标l1,l2,l3,l4所围成的四面体中,用户运行轨迹划分为n个离散位置,该离散位置依次为p1,p2,…,pn,并且设定用户到达位置pi(1≤i≤n)的时刻为ti,也就是说用户到达每一个离散位置都有一个对应的时刻点,完成系统模型的建立。图2中给出了用户轨迹设有离散点的一段轨迹,图中给出了9个离散点,每一个离散点都对应有各自的时刻ti,如离散位置p6对应的时刻点时t6,图中,用户位于离散位置p4点上,四个指向该用户的箭头表示四个地标发向用户的验证信息,需要说明的是,在本发明中,位于p4位置的用户是同时收到四个地标l1,l2,l3,l4的验证信息的,只是为了保证消息同时到达用户所在位置,各验证者在不同的时刻发送验证信息,这是安全定位协议sp的内容。本发明中攻击者为共谋攻击者。

(2)建立攻击者模型:参见图3,共谋攻击者为攻击者a1,a2,…,ak共同协作来完成对用户轨迹验证系统的攻击,攻击者具有主动攻击、被动攻击的能力,如:窃听、监听、伪装、重放等,当最小熵为(δ+β)m的随机信息串高速经过攻击者时,攻击者可以提取的信息量均存在上限βm,m为信息串的长度,βm可以是随机串的任意部分,共谋攻击者可以位于轨迹中离散位置上,例如图3中的a5直接位于用户运行轨迹的p4点上。共谋攻击者也可能位于离散位置之外,例如图3中的a1,a2,a3,a4共同协作试图伪装成为位于离散位置p6,攻击者相互合作来进行对用户位置的共谋攻击,共谋攻击者在未严格按照轨迹运行的情况下试图通过用户运行轨迹的验证,即共谋攻击者无法在所有规定时刻t1-tn位于轨迹中所有离散位置p1-pn却试图伪装成为严格按照轨迹运行的合法用户。也就是说,共谋攻击者联合起来企图在每一离散位置上伪装成为合法用户,

(3)用户生成哈希链:对于一个用户u,产生一个种子su并秘密存储防止泄露,将哈希函数循环地用于种子su,即为将种子su进行哈希函数运算之后的哈希值再次进行哈希函数运算,参见图5,生成h(su),h2(su),…,hi(su),…,hn(su),组成长度为n的哈希链s,并将哈希链存储,令用户u的身份密钥s1=hn(su),s2=hn-1(su),…,sn=h(su),即第i身份密钥si=hn-i+1(su),其中n为轨迹中离散位置的个数,来保证用户在每一离散位置pi时广播一个身份密钥si,1≤i≤n,h代表哈希函数,hi(su)代表su的i次哈希值;本发明通过对哈希链的逆向使用,四个地标验证用户位于每一离散位置时的哈希值,以验证声称遍历了整个轨迹所有离散位置的用户是否为同一用户;由于本发明中用户生成了哈希链,使得在对用户的身份验证中,由于哈希函数的单向性,攻击者即使窃听到用户u在离散位置pi所广播的第i身份密钥也无法计算出该用户在下一离散位置pi+1的第i+1身份密钥。

(4)验证用户是否在正确时刻位于运行轨迹上每一离散位置:四个地标l1,l2,l3,l4共同协作对同一用户是否在正确时刻位于所应位于的离散位置p1,p2,…,pn来进行验证,对用户在第一离散位置的验证为位置验证,对用户在之后每一离散位置的验证包括位置验证和身份验证,位置验证首先采用安全定位协议sp发送验证信息,接着进行用户响应信息的判断完成位置验证,位置验证成功后,进行身份验证,身份验证使用步骤(3)中生成的哈希链进行验证;针对运行轨迹上的每一个离散点,四个地标l1,l2,l3,l4共同协作先对用户进行第一离散位置的验证,若对用户在第一离散位置的位置验证成功,则四个地标l1,l2,l3,l4存储用户身份信息,接着进行相邻下一离散位置的验证,若用户在该离散点的位置验证成功,则四个地标l1,l2,l3,l4继续进行用户在该离散点的身份验证,若用户在该离散点的位置验证或者身份验证失败,则执行步骤(5);若用户在该离散点的位置验证与身份验证均成功,则继续针对相邻下一离散位置进行位置验证与身份验证;若轨迹中用户在所有离散位置的位置验证和身份验证均成功,转向步骤(6)。本发明采用了安全定位协议sp方法有效抵御了攻击者的共谋。

(5)验证结果失败:

此时四个地标l1,l2,l3,l4并未完成对用户运行轨迹的所有离散位置的验证,用户运行轨迹的安全验证失败,这种情况包含在进行步骤(4)时无论是用户位置验证失败还是用户身份验证失败的任何时候,说明用户未严格按照轨迹运行,或者共谋攻击者曾试图伪装成为严格按照轨迹运行的合法用户,四个地标l1,l2,l3,l4产生即时的错误验证信息,发出安全报警。

(6)验证结果成功:

此时四个地标l1,l2,l3,l4完成对用户运行轨迹的所有离散位置的验证,用户运行轨迹的安全验证成功,用户严格按照轨迹运行,系统处于安全状态,到此完成了对一个用户的安全验证;若用户是飞行器,则处于正常运行中。如果需要,返回执行步骤(3)-(6),完成对另一个用户的安全验证。

本发明是将位置密码学中的安全定位协议sp应用到轨迹的验证中,并且与哈希链的使用相结合,而设计出的用户运行轨迹验证协议,与现有技术相比,能够抵御攻击者的共谋攻击并且满足可证明安全。

实施例2

用户运行轨迹的安全验证方法的技术方案,同实施例1,其中步骤(4)中位置验证首先采用安全定位协议sp发送验证信息,采用安全定位协议sp发送验证信息的具体步骤如下:

4a)四个地标l1,l2,l3,l4首先进行对在第一离散位置p1的用户发送验证信息,令位置编号为i,由于用户运行轨迹中共有n个离散位置,故1≤i≤n,首先将位置编号i初始化为1;

4b)四个地标l1,l2,l3,l4分别选择密钥ki,1,ki,2,ki,3,ki,4←{0,1}r,r代表密钥的长度,四个地标在私有信道上互相传播ki,1,ki,2,ki,3,ki,4,地标l2,l3,l4分别产生随机信息串xi,1,xi,2,xi,3←{0,1}m,xi,1,xi,2,xi,3为最小熵为(δ+β)m的反向块信息源,m代表信息串的长度,假设用户和攻击者所存储的信息总量为有界的,当四个地标发送的消息高速经过攻击者时,攻击者能够提取的信息必须小于等于存储上界βm,攻击者提取的信息是最小熵源为(δ+β)m的信息量的任意一部分;

4c)为了使四个地标l1,l2,l3,l4广播的消息在时刻ti同时到达位置pi,

第一地标l1在ti-ti,1时刻广播第一密钥ki,1,

第二地标l2在ti-ti,2时刻广播(xi,1,ki,2’=prg(xi,1,ki,1)⊕ki,2),

第三地标l3在ti-ti,3时刻广播(xi,2,ki,3’=prg(xi,2,ki,2)⊕ki,3),

第四地标l4在ti-ti,4时刻广播(xi,3,ki,4’=prg(xi,3,ki,3)⊕ki,4),其中:

prg代表伪随机生成器,ti代表消息到达位置pi点的时刻,ti,j(1≤j≤4)代表消息从位置pi发出至到达lj地标所用时间,ki,j(1≤j≤4)为位置pi第j密钥,xi,1为位置pi第1随机信息串,xi,2为位置pi第二随机信息串,xi,3为位置pi第三随机信息串;

4d)若用户在时刻ti位于位置pi,则依次计算:

ki,2=prg(xi,1,ki,1)⊕ki,2’,

ki,3=prg(xi,2,ki,2)⊕ki,3’,

ki,4=prg(xi,3,ki,3)⊕ki,4’,

此时用户得出位置pi第4密钥ki,4,其中:prg代表伪随机生成器,ki,j(1≤j≤4)为位置pi第j密钥,由4c)知,密钥ki,j’为随机信息串xi,j-1和密钥ki,j-1通过伪随机生成器生成后,再与密钥ki,j抑或后的值,即ki,2’=prg(xi,1,ki,1)⊕ki,2,ki,3’=prg(xi,2,ki,2)⊕ki,3,ki,4’=prg(xi,3,ki,3)⊕ki,4。

本发明中位置验证中四个地标l1,l2,l3,l4首先采用安全定位协议sp发送验证信息,为了保证消息同时到达用户所在位置,各验证者在不同的时刻发送验证信息,故共谋攻击者在无法位于轨迹中离散位置的情况下无法生成正确的位置pi第4密钥ki,4,故共谋攻击者无法生成正确的响应信息,故无法通过位于离散位置pi的验证。

实施例3

用户运行轨迹的安全验证方法的技术方案,同实施例1-2,步骤(4)中所述的进行用户响应信息的判断完成位置验证,具体步骤为,

4e)ti时刻到达pi点的用户可通过安全定位协议sp得出位置pi的第四密钥ki,4,将响应消息mi=idu||ki,4||si广播,使响应消息mi传送到四个地标l1,l2,l3,l4,四个地标l1,l2,l3,l4分别验证所接收响应消息mi中的第四密钥ki,4,完成对用户运行轨迹中离散位置pi点的位置认证,其中idu为用户身份标识,ki,4为pi位置第四密钥,si=hn-i+1(su),为第i身份密钥;

若位置编号i=1并且四个地标l1,l2,l3,l4在ti+ti,j时刻收到响应消息mi中正确的pi位置第四密钥ki,4,则pi点位置验证成功,所有地标将用户标识idu以及身份密钥s1存储,用户信息注册成功,位置编号i=i+1,执行步骤4b);

若位置编号i≠1并且四个地标l1,l2,l3,l4在ti+ti,j时刻收到响应消息mi中正确的pi位置第四密钥ki,4,则pi点位置验证成功,执行步骤4f);

若存在地标lj未在ti+ti,j时刻收到响应消息mi中正确的pi位置第四密钥ki,4,则用户在pi位置的位置验证失败,执行步骤(5);

其中,ti代表规定用户到达位置pi的时刻,ti,j代表消息从pi发出至到达lj地标所用时间,1≤i≤n,1≤j≤4,n为轨迹中离散位置的个数。

本发明中位置验证首先采用安全定位协议sp发送验证信息,四个地标通过对用户在位置pi广播的响应消息中第4密钥ki,4的正确性判断,以及对收到响应消息的时刻的判断,使得共谋攻击者在无法位于轨迹中离散位置的情况下无法通过验证,故攻击者无法通过四个地标l1,l2,l3,l4在离散位置pi的位置验证,从而共谋攻击者无法伪装成为位于离散位置pi的合法用户。

实施例4

用户运行轨迹的安全验证方法的技术方案,同实施例1-3,步骤(4)中所述的身份验证使用哈希链进行验证,具体步骤为,

4f)所有地标l1,l2,l3,l4分别根据用户所广播的响应消息mi中的用户标识idu,检索用户idu对应的身份密钥si-1,将收到的响应消息mi中身份密钥si进行一次哈希运算,通过与si-1的比较来完成对用户运行轨迹中离散位置pi点的身份认证,

若h(si)=si-1,并且位置编号i≠n,其中h代表哈希运算,则用户在位置pi的身份认证成功,所有地标将存储的用户idu的身份密钥si-1更新为si,位置编号i=i+1,执行步骤4b);

若h(si)=si-1,并且位置编号i=n,其中h代表哈希运算,说明最后一个离散位置pn的身份认证成功,执行步骤(6);

若h(si)≠si-1,其中h代表哈希运算,则用户在位置pi的身份认证失败,执行步骤(5)。

本发明由于对用户哈希链的反向使用,不同用户会产生不同的哈希链,四个地标l1,l2,l3,l4会根据用户标识检索所存储的哈希值,攻击者在窃听到用户在之前离散位置的身份密钥后,由于哈希函数的单向性,无法得出用户在下一离散位置的身份密钥,所以即使攻击者位于下一离散位置也无法伪装成为合法用户,这样可以验证是否是由同一用户经过了轨迹中的所有离散位置;由于哈希函数正向计算的高效性,四个地标对用户身份密钥的验证也变得简便、高效。

并且由于四个地标l1,l2,l3,l4对于满足第一离散位置验证成功的用户,即存储其用户标识以及该离散位置的身份密钥,故四个地标无须提前存储用户信息,用户在第一离散位置的位置验证的同时便可实现用户信息的注册。

下面给出一个完整而详尽的例子,对本发明进一步详细说明。

实施例5

用户运行轨迹的安全验证方法的技术方案,同实施例1-4,

参照图2,本发明是将轨迹划分为一系列的离散位置,通过对用户在每一个离散点的安全验证来实现对用户在整个轨迹上的安全验证。对用户的轨迹验证不仅需要验证离散点上是否存在用户,还需验证经过这些离散点上的用户是否确实为同一用户,故在对用户在每一离散位置的验证中,首先进行对用户在该离散位置的位置认证,接着进行对用户在该离散位置的身份认证。本发明中加入了哈希链的逆向使用,利用哈希函数的单向性,使得攻击者即使获取了前一离散位置的用户身份密钥也无法计算出下一离散位置的用户身份密钥,所以即使攻击者位于该离散位置,也无法伪装成为经过该离散位置的合法用户。

与其他离散位置不同的是,对于第一个离散位置p1,只需验证其位置信息,若位置信息正确,则验证者也就是四个地标l1,l2,l3,l4存储该用户的身份标识以及身份密钥,这样不仅可以将不同的用户区分开来实现用户的批量验证,同时满足用户无需提前进行身份注册便可参与轨迹认证。

参照图3,对于已设定的用户运行轨迹t,在实际应用中可以是航线、列车运行轨道等等,在轨迹t中提前设定好了每一离散点的具体位置pi以及用户须到达每一离散点的时刻ti,在用户的真实运行轨迹中,参见图3中的轨迹t1,用户是严格按照设定轨迹t运行的,在所有特定的时刻经过了所有正确的离散位置,故可以通过验证。

对于轨迹t2,用户到达第六个离散位置p6的时刻t6’≠t6,使得地标l1,l2,l3,l4在验证用户的位置时,无法在正确的时刻收到用户所发的响应消息,故此时用户无法通过在该离散位置的位置验证,使得用户的轨迹验证失败。

对于轨迹t3,在运行过程中,用户存在轨迹的偏离,在时刻t5,用户位于位置p5’,用户无法通过在离散位置p5的位置验证,故也无法通过轨迹的验证。

参照图4,在攻击者模型图中,存在五个攻击者a1,a2,a3,a4,a5。其中攻击者a1,a2,a3,a4企图通过共谋攻击,在未占用离散位置p6的情况下,伪装为运行至该点的用户。由于本发明对于离散位置的安全定位是通过安全定位协议sp,该协议抵抗共谋攻击,本发明在共谋攻击下是安全的;另一攻击者a5位于离散位置p4,企图伪装为运行至该位置的合法用户,但由于本发明中合法用户对哈希链的逆向使用,位于离散位置p4的攻击者,即使窃听到了用户u在之前离散位置p1-p3所广播的身份密钥,也无法计算出用户u在位置p4的身份密钥,本发明中即使攻击者可以通过在离散位置p4的位置验证,但无法通过在离散位置p4的身份验证,无法伪装成为合法用户u。无论攻击者是否位于离散位置上,均无法伪装为严格按照轨迹运行的合法用户。

参照图1,本发明的实现步骤包括建立系统模型、建立攻击者模型、用户生成哈希链以及验证用户是否在正确时刻位于运行轨迹上每一离散位置,验证结果分为验证结果成功、验证结果失败两种情况,其详细描述如下:

建立系统模型

(1)在轨迹验证系统中,存在用户、验证者、攻击者以及待验证轨迹,需要验证用户是否严格按照用户运行轨迹运行,设用户运行轨迹周围有四个地标作为验证者,分别为第一地标l1、第二地标l2、第三地标l3以及第四地标l4,用户运行轨迹在这四个地标l1,l2,l3,l4所围成的四面体中,用户运行轨迹划分为n个离散位置,该离散位置依次为p1,p2,…,pn,并且设定用户到达位置pi(1≤i≤n)的时刻为ti,也就是说用户到达每一个离散位置都有一个对应的时刻点,完成系统模型的建立。

建立攻击者模型

(2)共谋攻击者为攻击者a1,a2,…,ak共同协作来完成对用户轨迹验证系统的攻击,攻击者具有主动攻击、被动攻击的能力,如:窃听、监听、伪装、重放等,共谋攻击者可以位于轨迹中离散位置上,也可以位于离散位置之外,共谋攻击者在未严格按照轨迹运行的情况下试图通过用户运行轨迹的验证,即共谋攻击者无法在所有规定时刻t1-tn位于轨迹中所有离散位置p1-pn却试图伪装成为严格按照轨迹运行的合法用户;

(3)由于本发明对用户的位置验证采用位置密码学中在bsm模型下的安全定位协议sp,故当最小熵为(δ+β)m的随机信息串高速经过时,攻击者可以提取的信息量均存在上限βm,m为信息串的长度,βm可以是随机串的任意部分。

用户生成哈希链

(4)用户产生一个种子su并秘密存储防止泄露。将种子su循环进行n次的哈希运算,即为将种子su进行哈希函数运算之后的哈希值再次进行哈希函数运算,将每一次生成的哈希值组成哈希链,并将哈希链存储。其中,n代表轨迹中离散点的个数;

(5)参照图5,令身份密钥si=hn-i+1(su),代表种子su的(n-i+1)次哈希值,即为,将哈希链的元素逆向命名,第一身份密钥s1=hn(su),第二身份密钥s2=hn-1(su),…,第n身份密钥sn=h(su),h代表哈希函数,hi(su)代表对种子su循环进行i次哈希运算,即为种子su的i次哈希值。

验证用户是否在正确时刻位于运行轨迹上每一离散位置:

参照图6,地标l1,l2,l3,l4对离散位置p1至pn进行依次验证,将位置编号i初始化为1,与其他离散位置稍有区别的是,离散位置p1处只进行安全位置验证,若用户u在离散位置p1的位置验证失败,则轨迹验证失败;若用户u在离散位置p1的位置验证成功,则所有地标l1,l2,l3,l4存储用户标识idu以及用户在离散位置p1广播的响应消息中的身份密钥s1=hn(su),用于之后离散位置的身份认证,其中,h代表哈希函数,hn(su)代表对种子su循环进行n次哈希运算,即为种子su的n次哈希值。

(6)四个地标l1,l2,l3,l4分别选择密钥ki,1,ki,2,ki,3,ki,4←{0,1}r在私有信道上互相传播,r代表密钥的长度;

(7)第一地标l1在ti-ti,1时刻广播第一密钥ki,1,

第二地标l2在ti-ti,2时刻广播(xi,1,ki,2’=prg(xi,1,ki,1)⊕ki,2),

第三地标l3在ti-ti,3时刻广播(xi,2,ki,3’=prg(xi,2,ki,2)⊕ki,3),

第四地标l4在ti-ti,4时刻广播(xi,3,ki,4’=prg(xi,3,ki,3)⊕ki,4),其中,

prg代表伪随机生成器,ti代表消息到达位置pi点的时刻,ti,j(1≤j≤4)代表消息从位置pi发出至到达lj地标所用时间,ki,j(1≤j≤4)为位置pi第j密钥,xi,1为位置pi第1随机信息串,xi,2为位置pi第二随机信息串,xi,3为位置pi第三随机信息串;

(8)若用户在ti时刻位于位置pi,则依次计算:

ki,2=prg(xi,1,ki,1)⊕ki,2’,

ki,3=prg(xi,2,ki,2)⊕ki,3’,

ki,4=prg(xi,3,ki,3)⊕ki,4’,

此时用户得出位置pi第4密钥ki,4,其中:prg代表伪随机生成器,ki,j(1≤j≤4)为位置pi第j密钥,由(7)知,密钥ki,j’为随机信息串xi,j-1和密钥ki,j-1通过伪随机生成器生成后,再与密钥ki,j抑或后的值,即ki,2’=prg(xi,1,ki,1)⊕ki,2,ki,3’=prg(xi,2,ki,2)⊕ki,3,ki,4’=prg(xi,3,ki,3)⊕ki,4。

(9)四个地标l1,l2,l3,l4验证用户是否确实经过位置pi,具体方法如下:

只有ti时刻到达pi点的用户才可通过安全定位协议sp得出位置pi的第四密钥ki,4,将响应消息mi=idu||ki,4||si广播,使响应消息mi传送到四个地标l1,l2,l3,l4,四个地标l1,l2,l3,l4分别验证所接收响应消息mi中的第四密钥ki,4,完成对用户运行轨迹中离散位置pi点的位置认证,其中idu为用户身份标识,ki,4为pi位置第四密钥,si=hn-i+1(su),为第i身份密钥;

9a)若位置编号i=1,并且四个地标l1,l2,l3,l4在ti+ti,j(ti,j代表消息从离散位置p1发出至到达lj地标所用时间,1≤j≤4)时刻收到正确的p1位置第四密钥k1,4,则用户在离散位置p1的位置验证成功,此时所有地标将用户标识idu以及身份密钥s1存储,此时用户信息注册成功,令位置编号i=i+1,执行步骤(9);

9b)若位置编号i≠1,并且四个地标l1,l2,l3,l4在ti+ti,j时刻收到正确的pi位置第四密钥ki,4,则ti时刻用户确实在pi位置,pi点位置验证成功,接着进行用户在离散位置pi的身份验证,执行步骤(10);

9c)若四个地标l1,l2,l3,l4未在时刻ti+ti,j收到正确的pi位置第四密钥ki,4,则说明ti时刻pi位置上不存在用户,执行步骤(11);

其中,ti代表规定用户到达位置pi的时刻,ti,j代表消息从pi发出至到达lj地标所用时间,1≤i≤n,1≤j≤4,n为轨迹中离散位置的个数。

(10)用户身份认证,四个地标l1,l2,l3,l4验证用户的身份信息,所有地标检索所存储的用户u所对应的用户标识idu,找出用户u在位置pi-1时所广播的身份密钥si-1:

10a)若h(si)=si-1,并且位置编号i≠n,其中h代表哈希运算,则pi位置身份认证成功,此时离散位置pi的所有验证均通过,所有地标将存储的身份密钥si-1更新为si,位置编号i=i+1,转向执行步骤(9);

10b)若h(si)=si-1,并且位置编号i=n,其中h代表哈希运算,则此时用户运行轨迹中的所有离散位置均验证成功,执行步骤(12);

10c)若h(si)≠si-1其中h代表哈希运算,用户在位置pi的身份验证没有通过,则执行步骤(11)。

(11)此时位置编号i≠n,四个地标l1,l2,l3,l4并未完成对用户运行轨迹的所有离散位置的验证,则用户运行轨迹的安全验证失败,说明用户未严格按照轨迹运行,或者共谋攻击者曾试图伪装成为严格按照轨迹运行的合法用户,四个地标l1,l2,l3,l4产生即时的错误验证信息,发出安全报警。

(12)此时位置编号i=n,四个地标l1,l2,l3,l4完成对用户运行轨迹的所有离散位置的验证,则用户运行轨迹的安全验证成功,用户严格按照轨迹运行,系统处于安全状态,到此完成了对一个用户的安全验证;如果需要,返回到步骤(4),即用户生成哈希链的阶段,并继续之后的系列操作,完成对另一个用户的安全验证。

本发明中由于验证者对于满足第一离散位置验证成功的用户,存储其用户标识以及用户在第一离散位置的身份密钥,所以用户在第一离散位置的位置验证的同时便可实现用户信息的注册。

简而言之,本发明公开的一种用户运行轨迹的安全验证方法,主要解决现有用户运行轨迹验证技术无法抵御共谋攻击者的攻击。其实现方案包括:建立系统模型,将待验证轨迹划分为一系列的离散位置,四个地标作为验证者,将待验证轨迹包围在所围成的四面体中;建立攻击者模型,系统中的攻击者试图通过共谋,在没有严格按照轨迹运行的情况下试图通过轨迹的安全验证;用户生成哈希链,哈希链用于用户在待验证轨迹中的身份验证,来证明位于每一离散位置的为同一用户;验证用户是否在每一正确时刻位于运行轨迹上相应的离散位置,对于用户在离散位置上的验证包括位置验证与身份验证,位置验证采用安全定位协议sp,身份验证使用哈希链;若轨迹验证失败,即用户在某离散位置上的位置验证或身份验证未通过,说明用户未严格按照轨迹运行或攻击者曾试图伪装成为严格按照轨迹运行的合法用户;若轨迹验证成功,说明用户通过了所有离散的所有验证。本发明结合了安全定位协议sp以及哈希链的使用,不仅能够抵御共谋攻击,并保证了用户身份验证的安全高效。可用于验证用户是否严格按照预定轨迹运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1