在IP支持的无线传感网络中的隐私保护访问控制方法与流程

文档序号:18074321发布日期:2019-07-03 04:07阅读:271来源:国知局
在IP支持的无线传感网络中的隐私保护访问控制方法与流程

本发明属于物联网安全领域,尤其涉及一种在ip支持的无线传感网络中的隐私保护访问控制方法。



背景技术:

近年来,得益于6lowpan标准的发展,解决阻碍传感器和互联网原生结合的问题,真正实现了互联网用户与节点端到端的通信,促进了传感器网络的应用。但同时也引入了新的安全危机,互联网上的攻击者可以通过全局寻址的方式,更容易地访问到传感器节点。由于无线传感器网络本身的高度脆弱性,例如设备资源受限、部署环境复杂等,使其很容易成为许多安全攻击的目标或是沦为黑客发动安全攻击的工具(例如:mira由物联网设备构成十万数量级别的僵尸网络,曾对krebsonsecurity等发起了疯狂的资源消耗攻击)。因此必须对节点的数据访问进行严格的控制。一个基本的访问控制解决方案至少包含三个组件:身份验证,授权和审计。认证和授权过程意味着用户需要提供身份相关信息给目标服务,于是又带来了新的安全问题:用户数据访问隐私。用户的访问行为成了数据收集的目标,从中总结获取用户的行为模式和偏好,威胁到用户的隐私安全。因此为了保证无线传感器网络的安全访问,必须对访问节点数据进行严格的控制同时不泄露用户隐私。

在无线传感器网络中实施传统的访问控制方案主要存在以下两个问题:1)传感器资源受限:传感器不论是在计算能力、存储能力还是可承载的传输开销上,都受到严格的资源限制,使得复杂的安全机制无法使用。2)隐私泄露:用户对传感器服务的访问行为,可能与用户的社会工作、偏好等隐私信息密切相关。实施访问控制,需要用户提供身份等信息进行证明。可能潜在恶意监听者,将用户身份与数据访问记录进行收集和分析,进一步获取用户的隐私信息,对用户造成安全威胁。

当前的隐私保护访问控制方法大致有两种类型,一种通过引入密码学机制(例如:群签名、环签名等)来隐藏用户的真实身份,这些方法中用户的隐私安全通常基于困难问题,有较强的隐私安全性。但是这些方法缺乏在受限设备情景中对可行性的考虑。另一类方案通过引入一个绝对可信的第三方来实施访问控制,第三方存储用户的真实身份和假名的映射表,因此用户在访问数据过程中可以通过发送假名到第三方进行认证和授权。但是这类方法将用户隐私安全完全托付于第三方,一旦第三方遭受攻击造成数据泄露,所有用户的数据访问隐私安全都将受到威胁。盲目信任第三方可能造成更加严重的后果,例如第三方私下出售用户的数据访问记录,或是移交政府机构,用户的访问趋势、隐私偏好都将被监控。



技术实现要素:

本发明的目的在于提供在ip支持的无线传感网络中的隐私保护访问控制方法,解决ip支持的无线传感器网络中的访问控制隐私保护问题。

本发明的目的至少通过如下技术方案之一实现。

本发明方法框架包含系统用户,区块链网络,一个目标传感器节点和作为第三方的访问控制服务器(访问控制服务器)和当地法律机构(la)。为了保障用户的访问隐私,系统用户按照不同的访问控制权限划分成了不同的组,组用户使用群签名进行身份认证。在系统设置阶段,访问控制服务器和法律机构合作生成组密钥,其中组公钥由访问控制服务器发布到区块链上,利用区块链平台管理公钥。新用户通过获取区块链上相应的组公钥,执行组加入操作。

本发明提供的在ip支持的无线传感网络中的隐私保护访问控制方法,应用于ip支持的无线传感器网络中,访问控制基于hidra协议,保证在资源受限环境中的可行性;利用群签名技术,将用户按照不同的访问权限分成不同的用户组,组用户生成群签名进行身份认证,网络中任何人可以验证群签名的正确性,但无法知道签名者的身份;利用假票证机制和自我更新票证机制对hidra协议的身份认证和授权过程进行改进,保证协议消息的不可链接性;利用区块链技术管理组公钥,使得密钥管理和hidra协议的用户撤销过程更加灵活;利用区块链技术改进问责机制,使得问责过程公开透明,解决可能存在的问责纠纷。

进一步地,本发明方法将群签名中的打开密钥分成两个部分,由两个不同的仲裁机构访问控制服务器和法律机构生成和保存。任何一方仲裁机构无法单独打开群签名,只有当有用户出现非法行为需要启动问责过程时,由两个持有打开密钥的仲裁机构合作才能打开群签名揭示签名者身份。

进一步地,使用自我更新票证机制改进hidra协议,访问控制服务器加密用户授权请求消息中的票证授予票证(tgt)并发送给请求用户,用户使用该更新后的票证作为下一次授权请求的凭证,保证两次授权过程的不可连接性。使用假票证机制改进hidra协议,访问控制服务器在原资源票证字段使用无效的数据进行填充,而真正的资源票证使用一个保证完整性机密性的新字段来携带和传送,保证授权过程和安全访问程的不可连接性。

进一步地,利用区块链管理群签名公钥,由访问控制服务器将生成的群公钥信息发布到区块链上。当组中有用户需要被撤销时,无需广播撤销信息和更新后的公钥给未被撤销的用户,而是由访问控制服务器发布包含撤销信息的撤销交易到区块链网络,并更新链上的组公钥。

进一步地实施的,本发明方法包含如下的执行流程:

1)系统启动:法律机构和访问控制服务器为各个用户组生成组公钥;

2)新用户加入:新用户生成成员私钥在访问控制服务器处进行注册获得组成员身份证明;

3)身份认证阶段;用户生成群签名在访问控制服务器处进行身份认证,访问控制服务器只能验证用户是否属于它所声明的组,而不能知道具体是组里的那个成员。

4)授权阶段:用户使用身份认证阶段获取的凭证请求访问控制服务器颁发资源票证。

5)安全访问和审计阶段:用户使用授权阶段获得的资源票证访问目标传感器,传感器阶段对于每一个安全连接生成日志,并发送到访问控制服务器进行审计;

6)用户撤销:用户的生存期结束后或是用户出现了不法行为,需要撤销用户的组成员资格。访问控制服务器更新组公钥要,并在区块链上发布撤销交易;

7)问责与纠纷解决阶段:当有用户出现违背访问策略的非法行为时,法律机构和访问控制服务器作为仲裁机构,通过区块链平台进行合作,使用各自持有的部分打开密钥揭开签名者的身份。

在访问控制服务器中,组管理相关操作包括:群密钥生成,用户加入和撤销,都由组管理服务器(gms)执行。认证和颁发票证授予票证由身份认证服务器(as)负责。在授权阶段,身份认证服务器从请求消息中提取群签名后交与群签名验证器(gms)进行验证。群签名验证器返回验证结果到身份认证服务器。票证颁发服务器(tgs)负责授权和颁发资源票证。问责管理员(acm)执行审计和问责操作。

本发明基于增强版kerberos协议——hidra访问控制协议,结合群签名技术保障用户在协议认证过程中的匿名性及协议消息的不可链接性。另外本发明方法结合区块链技术改进了传统的问责机制,让问责过程可以公开透明,解决可能存在的纠纷。

附图说明

图1为实施例中在ip支持的无线传感网络中的隐私保护访问控制方法的框架图。

图2为实施例中的协议流程图。

图3为实施例中的问责机制流程图。

具体实施方式

以下结合附图和实施例对本发明的具体实施作进一步说明,但本发明的实施和保护不限于此,需指出的是,以下若有未特别详细说明之过程或符号,均是本领域技术人员可参照现有技术实现或理解的。

如图1,一种在ip支持的无线传感网络中的隐私保护访问控制方法,其具体实现步骤如下。

符号说明:

u:无线传感器网络的注册用户,有权访问网络中特定的传感器节点

ik:颁发密钥,访问控制服务器使用该密钥给注册用户颁发组成员身份证明

ok:打开密钥,它包含两个部分{ξ1,ξ2},这两个部分分别由访问控制服务器和法律机构生成。

ex:实体x(访问控制服务器、用户等实体)的椭圆曲线迪菲-赫尔曼私钥。例如,用户u的椭圆曲线迪菲-赫尔曼私钥为eu。

ex:实体x(访问控制服务器、用户等实体)的椭圆曲线迪菲-赫尔曼公钥

gsk:组私钥

gpk:组公钥

uk:用户密钥,由注册用户生成和保存,用以生成组签名进行身份认证

ucert:组成员身份证明

cert:注册用户个人身份证书

upk:注册用户个人身份证书对应的公钥

usk:注册用户个人身份证书对应的私钥

acs访问控制服务器

as:访问控制服务器中的身份认证服务器

tgs:访问控制服务器中的票证授予服务器

σ:注册用户生成的组签名

gidj:第j个用户组的组标识

bcaddrx:实体x(访问控制服务器、用户等实体)的区块链地址

eskx,y:实体x和y(访问控制服务器、用户等实体)之间基于椭圆曲线迪菲-赫尔曼的临时会话密钥

kx,y:实体x和y(访问控制服务器、用户等实体)之间的共享密钥

kx:实体x(用户等实体)和访问控制服务器之间的共享密钥

单向密钥链的第i个值,用来提供实体x和y(访问控制服务器、用户等实体)之间通信消息的新鲜度证明

subkey:用户与传感器节点之间的会话密钥。

步骤1:系统启动

访问控制服务器为各个用户组生成组公钥、部分打开密钥和椭圆曲线迪菲-赫尔曼(ecdh)公私钥对(eacs,eacs),其中椭圆曲线迪菲-赫尔曼公钥eacs作为组公钥的一部分发布,发布方式是访问控制服务器调用智能合约将组公钥存储在区块链上。由于在访问控制过程中访问控制服务器并不能知道请求用户的真实身份,不能预置和每个用户之间的会话密钥,所以方法中使用基于椭圆曲线迪菲-赫尔曼的密钥协商算法来建立访问控制服务器和请求用户的临时会话密钥esku,acs。

具体来说,访问控制服务器的过程如下:

1)是三个阶为素数p的双线性群,g1,k为的两个独立的生成元,g2为的生成元。ψ是的一个单向同构映射:ψ(g2)=g2。是一个有效的双线性映射。

2)选择rsa的模数n,以及的最高阶元素g。

3)生成迪菲-赫尔曼(diffie-hellman)密钥ik称为颁发密钥,用来颁发组成员身份证明和用户成员密钥。计算作为ik对应的公钥。

4)生成部分打开密钥计算它对应的公钥h=kξ1。

5)选择随机数作为椭圆曲线迪菲-赫尔曼私钥,计算椭圆曲线迪菲-赫尔曼公钥eacs=eacs×k。

法律机构执行以下过程:

1)生成部分打开密钥ξ2,计算对应的公钥g=kξ2

2)发送g到访问控制服务器。

在此阶段之后,生成了组公钥gpk和组私钥gsk(包括颁发密钥ik、打开密钥ok和ecdh私钥eacs)。具体如下:

——

——gsk={ik,ok,eacs}

--ok={ξ1,ξ2}

完整公钥生成后,访问控制服务器调用智能合约将公钥存储到区块链上。

步骤二:新用户加入

在申请加入用户组之前,新用户u需要以其真实身份进行注册,这里假设每个用户u已经获得了个人认证公钥和相关联的私钥(upk,usk)。在申请加入某个用户组时,他必须向访问控制服务器验证自己是已注册的合法用户,以获得他的组成员证书和用户密钥,过程如下:

1)从区块链上获取组公钥。

2)选择用户密钥并计算c=huk

3)计算可提取承诺c=guk

4)生成零知识证明nizkpeqdl:选择随机数r∈r(z\nz),计算r1=grmodn2,r2=hr,h=hash(g,n2,c,c,h,r1,r2),s=r-h·uk。

5)通过安全信道发送{c,c,h,s}到访问控制服务器。

步骤(4)中的nizkpeqdl是零知识证明,步骤(3)中的可提取承诺为知识证明:用户u知道用户密钥uk。

在接收到消息后,访问控制服务器将执行以下工作:

1)验证零知识证明nizkpeqdl:计算r1=gs·chmodn2,r2=hs·ch,并且验证挑战值h是否正确。若验证成功,则为用户u生成凭证ucert;否则终止程序。

2)选择并且计算a=(g1·c)1/(ik+x)。用户u的组成员身份证为ucert=(a,x)。

3)计算b=e(g1·c,g2)/e(a,w),d=e(a,g2),t1=bikandt2=dik。生成nizkpokdl(b,d):选择计算临时变量s=r-c·x

4)通过安全信道发送{a,t,s}给用户u,其中a是组成员身份证明的左半部。

nizkpokdl(b,d)是b基于d的离散对数零知识证明。

访问控制服务器接收到消息后执行如下过程:

1)计算b=e(g1·c,g2)/e(a,w),d=e(a,g2),

2)如果挑战值h正确,用户u使用个人私钥usk对a进行签名生成数字签名s,s=signusk(a),发送二元组(cert,s)到访问控制服务器。

访问控制服务器验证cert的有效性并从数字签名s中提取签署的组成员身份证明的左半部a′。如果证书cert有效,并且a′=a。访问控制服务器在数据库中注册用户u,然后通过安全信道发送组成员身份证明的右半部份x给用户u。用户u保存组成员身份证明{ucert(a,x),uk}。

步骤三:身份认证阶段

在身份验证阶段,用户使用用户密钥生成组签名,以对访问控制服务器进行身份验证。它只能检查请求者是否是相应组的成员,而不能识别具体是哪个用户。如果上述检查成功,身份认证服务器将通过区块链向请求者发放票证授予票证(tgt)。本阶段的操作如下(符号的下标n仅用于区别于上一阶段使用的临时变量符号):

用户端执行如下步骤:

1)用户生成一次性区块链地址bcaddru;选择一个随机数作为用户u的ecdh私钥,下标u指代用户端参数,计算对应的公钥eu=eu×k(k为步骤一中生成的公钥参数)。生成请求消息mn,包含第j个用户组的组标识gidj、访问控制服务器中的票证授予服务器(tgs)的标识idtgs、票证授予票证的生命周期lifetime、用户u的一次性区块链地址bcaddru以及用于建立和访问控制服务器之间临时会话密钥的eu。

2)随机选择计算

3)生成{αn,βn,ucert}的证明:随机选择(下标α,β,x,y,z仅用于区别各个随机数,n用于区别于系统设置阶段中使用的临时变量);计算:cn=hash(mn,t1,n,t2,n,t3,n,r1,n,r2,n,r3,n);

计算:

sα,n=rα,n+cn·αnmodp,sβ,n=rβ,n+cn·βnmodp,sx,n=rx,n+cn·xmodp,sy,n=ry,n+cn·ynmodpandsz,n=rz,n+cn·znmodpwhereyn=x·βnmodp,zn=x·αn+ukmodp。

4)生成群签名σ(t1,n,t2,n,t3,n,cn,sα,n,sβ,n,sx,n,sy,n,sz,n)。

5)随机选择一次性区块链地址,将请求消息打包成交易,发到访问控制服务器的区块链地址。

访问控制服务器中的认证服务器监听所有发往本地区块链地址的交易,从中提取出群签名σn,并发送到组签名验证器(gsv)进行验证,过程如下:

1)计算

2)验证

如果上述的验证成功,身份认证服务器为请求者生成临时身份(id),该身份只在票证授予票证生存期内有效,身份认证服务器将该临时身份存储在活动连接信息数据库。

身份认证服务器为请求者提供票证授予票证、临时身份和密钥ku,tgs(用户u和票证授予服务器tgs的会话密钥)的实例,以便用户能够通过与票证授予服务器tgs进行通信。身份认证服务器使用esku,acs=eu×eacs对身份认证回复消息hid_as_rep进行加密,并通过区块链网络将加密后的回复消息发送到请求者的一次性区块链地址。

步骤四:授权阶段

上一个阶段完成后,用户u获得票证授予票证和他的临时身份,在整个过程中没有人知道他的真实身份,包括访问控制服务器。身份认证服务器。如图2,在此阶段,用户u通过向访问控制服务器的票证授予服务器(tgs)发送hid_tgs_req授权请求消息来申请资源票证。为了支持服务访问不可链接性和交换不可追踪性,使用两种机制来修改tgs响应请求者的hid_tgs_rep消息,自我更新的票证授予票证机制和假票机制。关于前者,票证授予票证为请求者生成新的票证授予票证,该票证授予票证嵌入在称为pa-sr-tgt(由kerberosv5支持)的新类型字段中,在hid_tgs_rep消息中的pa-priv字段携带。另一方面,原资源票证字段使用无效数字填充,实际资源票据嵌入在称为pa-ticket的新字段中,包含在pa-priv字段中,pa-priv字段提供完整性,机密性和反重放攻击,所以攻击者无法对后续的消息交换建立任何联系。

步骤五:安全访问和审计阶段

用户获取资源票据后,便可以向受限设备发起服务请求,通过消息hid_u_r_req向提供服务的设备发送资源票据。若设备验证资源票据有效,便可以确定请求者已经通过身份验证和授权,发送消息hid_u_s_rep回应请求者以建立安全关联。对于进一步的服务请求,设备将根据请求的动作检查策略实例以匹配适当的规则,执行本地的访问控制。在后续的服务提供过程,设备和请求者使用消息hid_u_r_req中的会话密钥subkey加密传送保证端到端的通讯安全。另外,每个资源访问请求可以触发消息hid_s_ind以将活动日志发送到访问控制服务器。访问控制服务器收到后,根据消息中的用户临时身份将日志和用户的签名相关联,并存储该条目以用于记录,跟踪,记帐和进一步的审计目的。待接收到访问控制服务器返回的消息hid_s_ack后,设备删除日志缓存防止存储溢出。

步骤六:用户撤销

当用户的生存期结束,或是出现不当行为被撤销,访问控制服务器需要更新组的公共参数以及未被撤销的组成员的身份证。假设拥有成员身份证ucerm=(am,xm)的用户m要被撤销,访问控制服务器将执行以下的撤销过程:

1)更新组公钥:

2)调用智能合约的撤销函数,发送包含xr的撤销交易,修改链上对应的组公钥。假设未被撤销的用户u监听到撤销交易,他将执行以下操作:

1)获取链上更新后的组公钥更新本地缓存的组公钥

2)根据更新后的组公钥和撤销交易中的撤销参数xr更新身份证明:

3)验证的有效性:

4)使用私钥upk签名将签名后的结果发送到访问控制服务器。

访问控制服务器接受到用户更新的身份证明签名后,

1)计算

2)使用更新c,使用更新a。

步骤七:问责和纠纷解决阶段

如果用户行为违反了网络访问政策,访问控制服务器和法律机构将合作撤销群签名的匿名性,如图3借助区块链技术以一种公开透明的方式揭示签名者身份。

当有用户出现非法行为,系统需要揭开用户的真实身份以追究其责任。问责过程如下:

1)访问控制服务器使用自己的部分打开密钥ξ1计算(参见步骤三),计算v1的哈希值h(v1),调用智能合约中的问责函数,将h(v1)作为承诺发布到区块链上。同样,法律机构使用自己的部打开密钥ξ2计算(参见步骤三),计算v2的哈希值h(v2),调用智能合约中的问责函数,将h(v2)作为承诺发布到区块链上。

2)待访问控制服务器和法律机构检测到双方都已提交了承诺,便调用智能合约各自提交v1、v2。访问控制服务器计算签名者的组成员身份证明as=t3,n×v1×v2(as为签名者的组成员身份证明,t3,n参见步骤三)。

3)访问控制服务器查找用户注册数据库中as对应的用户真实身份,将as、用户身份和用户对as的签名signusk(as)发布到区块链上。

上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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