首页 / 专利库 / 计算机网络 / 无线传感器网络 / 基于CA证书的Restful架构下的无线传感器网络接入认证方法

基于CA证书的Restful架构下的无线传感器网络接入认证方法

阅读:1036发布:2020-07-05

专利汇可以提供基于CA证书的Restful架构下的无线传感器网络接入认证方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于CA证书的Restful架构下的无线 传感器 网络接入认证方法,将传感器 节点 和汇聚节点自组织成为网络,将汇聚节点连接到基于Restful架构的Web 服务器 ,客户端与Web服务器之间的认证,汇聚节点与Web服务器之间的认证、传感器节点与汇聚节点之间的认证以及客户端与汇聚节点之间的认证均基于CA证书完成,用户通过客户端 访问 Web服务器获取无线传感器节点的数据。本发明能有效防止恶意攻击者对数据的破坏,保护 无线传感器网络 中数据的安全。,下面是基于CA证书的Restful架构下的无线传感器网络接入认证方法专利的具体信息内容。

1.一种基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:将传感器节点和汇聚节点自组织成为网络,将汇聚节点连接到基于Restful架构的Web服务器,客户端与Web服务器之间的认证、汇聚节点与Web服务器之间的认证、传感器节点与汇聚节点之间的认证以及客户端与汇聚节点之间的认证均基于CA证书完成,用户通过客户端访问Web服务器获取无线传感器节点的数据;认证过程中,被认证方持有第一CA证书、第一公钥和第一私钥,认证方持有第二CA证书、第二公钥和第二私钥,认证过程包括如下步骤:
A、 被认证方向认证方发送接入请求,并接收认证方返回的第一随机数和第二CA证书;
B、 被认证方用自身保存的CA公钥对接收到的第二CA证书进行验证,若验证通过,进入步骤C,否则进入步骤D;
C 、被认证方获取第二CA证书中携带的第二公钥,采用自身保存的第一私钥对第一随机数进行加密,并采用获取的第二公钥对第一私钥加密后的第一随机数再进行加密;
D 、被认证方确定认证方为非法身份,拒绝向认证方发送数据信息;
E 、被认证方将第一公钥携带在自身保存的第一CA证书中,采用获取第二公钥对第一CA证书进行加密,并将加密后的第一CA证书,以及再加密后的第一随机数发送给认证方;
F 、认证方采用自身保存的第二私钥,对接收到的加密后的第一CA证书解密,获取第一CA证书,并根据自身保存的CA公钥对获取的第一CA证书进行验证,若验证通过,则进入步骤G,否则进入步骤H;
G 、认证方获取第一CA证书中携带的第一公钥,采用自身保存的第二私钥,对再加密后的第一随机数进行解密,并采用第一公钥对解密后的第一随机数再解密;
H 、认证方确定解密结果与自身发送的第一随机数相同时,向被认证方返回确认通知和加密后的第二随机数;
I、被认证方获取第二随机数,并将第二随机数作为会话密钥。
2.根据权利要求1所述的基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:还包括第三方应用程序与Web服务器之间的基于令牌的认证。
3.根据权利要求1所述的基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:在认证过程中,被认证方采用错误检查纠正算法生成并保存第一公钥和第一私钥,认证方采用错误检查纠正算法生成并保存第二公钥和第二私钥。
4.根据权利要求1或3所述的基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:汇聚节点与Web服务器之间的认证过程还包括对汇聚节点的ID的认证,具体为:
被认证方采用获取的第一公钥对自身的ID进行加密,并发送给认证方;
认证方采用自身保存的第一私钥对加密后的ID进行解密,获取被认证方的ID,并验证被认证方的ID是否合法。
5.根据权利要求2所述的基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于,第三方应用程序与Web服务器之间的认证采用基于Restful架构的令牌认证,认证过程分为两种情况:
情况一:用户在与Web服务器完成身份认证后进行身份注册,注册时对传感器数据的操作权进行授权,表明所拥有的传感器的数据是仅个人可见、全部可见或者某些人可见,此时第三方应用程序与Web服务器之间的认证,包括以下步骤:
A1、第三方应用程序向Web服务器发出访问数据请求,进入步骤B1;
B1、Web服务器决定是否生成临时令牌返回给第三方应用程序,若不允许,则拒绝访问;
若允许,则进入步骤C1;
C1、Web服务器发送临时令牌给第三方应用程序,进入步骤D1;
D1、第三方应用程序接收临时令牌,并向Web服务器再次发送携带临时令牌的数据访问请求,进入步骤E1;
E1、Web服务器收到数据访问请求后对临时令牌进行解析,判断临时令牌是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则重新生成临时令牌返回给第三方应用程序,第三方应用程序使用新的临时令牌发送数据访问请求;
情况二:用户在与Web服务器完成身份认证后进行身份注册,注册时对所拥有的传感器数据的操作权没有进行授权或第三方应用程序不是授权的可见方,此时第三方应用程序与Web服务器之间的认证步骤有:
A2、第三方应用程序向Web服务器发出访问数据请求,进入步骤B2;
B2、Web服务器向用户询问是否允许访问数据,若不允许,则拒绝访问;若允许,则进入步骤C2;
C2、用户给予Web服务器授权,Web服务器发送临时令牌给第三方应用程序,进入步骤D2;
D2、第三方应用程序接收临时令牌,并向Web服务器再次发送携带临时令牌的数据访问请求,进入步骤E2;
E2、Web服务器收到数据访问请求后对临时令牌进行解析,判断临时令牌是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则进入步骤B2。
6.根据权利要求5所述的方法,其特征在于,基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:
步骤C1和步骤C2中,Web服务器内部以当前时间的元素生成一个临时令牌返回给第三方应用程序;
步骤E1和步骤E2中,对临时令牌进行解析,还原成临时令牌的生成时间,从而判断临时令牌是否失效。

说明书全文

基于CA证书的Restful架构下的无线传感器网络接入认证

方法

技术领域

[0001] 本发明涉及计算机网络技术领域,尤其涉及一种基于CA证书的Restful架构下的无线传感器网络接入认证方法

背景技术

[0002] 无线传感器网络(Wireless Sensor Networks,WSN)是由一组微型传感器节点以自组织方式构成的无线网络,其目的是协作地感知、采集和处理网路覆盖地理区域中感知对象的信息,并发布给观察者。无线传感器网络中的每个传感器具有一个或多个节点,传感器节点通常是一个微型的嵌入式系统。每个节点来监测自己的感知范围对象,监测特定的行为,使用节点来采集数据,将采集到的数据传送到最近的汇聚节点,随后进入汇聚阶段,从接近节点所采集到的数据进行分析和处理,然后将结果根据需要发送给基站,基站将最终结果传送给观察员。
[0003] 由于传感器网络配置环境一般比较恶劣,加之无线网络本身固有的脆弱性,因而极易受到各种各样的攻击。为保证信息的安全传递,需要有一种机制来验证通信各方身份的合法性。在传统的有线网络中,公钥基础设施有效地解决了这个问题,它通过对数字证书的使用和管理,来提供全面的公钥加密和数字签名服务。通过公钥基础设施,可以将公钥与合法拥有者的身份绑定起来,从而建立并维护一个可信的网络环境。然而,非对称加密体制需要很高的计算、通信和存储开销,这决定了在资源受限的传感器上使用数字签名和公钥证书机制是不可行的。为保证信息的安全传递,需要有一种机制来验证通信各方身份的合法性,必须建立一套综合考虑安全性、效率和性能并进行合理的传感器网络身份认证方案。

发明内容

[0004] 本发明的目的是提供一种基于CA证书的Restful架构下的无线传感器网络接入认证方法,有效防止恶意攻击者对数据的破坏,保护无线传感器网络中数据的安全。
[0005] 本发明采用的技术方案为:一种基于CA证书的Restful架构下的无线传感器网络接入认证方法,将传感器节点和汇聚节点自组织成为网络,将汇聚节点连接到基于Restful架构的Web服务器,客户端与Web服务器之间的认证,汇聚节点与Web服务器之间的认证、传感器节点与汇聚节点之间的认证以及客户端与汇聚节点之间的认证均基于CA证书完成,用户通过客户端访问Web服务器获取无线传感器节点的数据。
[0006] 还包括第三方应用程序与Web服务器之间的基于令牌的认证。
[0007] 认证过程中,被认证方持有第一CA证书、第一公钥和第一私钥,认证方持有第二CA证书、第二公钥和第二私钥,认证过程包括如下步骤:
[0008] A 被认证方向认证方发送接入请求,并接收认证方返回的第一随机数和第二CA证书;
[0009] B 被认证方用自身保存的CA公钥对接收到的第二CA证书进行验证,若验证通过,进入步骤C,否则进入步骤D;
[0010] C 被认证方获取第二CA证书中的携带的第二公钥,采用自身保存的第一私钥对第一随机数进行加密,并采用获取的第二公钥对第一私钥加密后的第一随机数再进行加密;
[0011] D 被认证方确定认证方为非法身份,拒绝向认证方发送数据信息;
[0012] E 被认证方将第一公钥携带在自身保存的第一CA证书中,采用获取第二公钥对第一CA证书进行加密,并将加密后的第一CA证书,以及再加密后的第一随机数发送给认证方;
[0013] F 认证方采用自身保存的第二私钥,对接收到的加密后的第一CA证书解密,获取第一CA证书,并根据自身保存的CA公钥对获取的第一CA证书进行验证,若验证通过,则进入步骤G,否则进入步骤H;
[0014] G 认证方获取第一CA证书中携带的第一公钥,采用自身保存的第二私钥,对再加密后的第一随机数进行解密,并采用第一公钥对解密后的第一随机数再解密;
[0015] H 认证方确定解密结果与自身发送的第一随机数相同时,向被认证方返回确认通知和加密后的第二随机数;
[0016] I被认证方获取第二随机数,并将第二随机数作为会话密钥。
[0017] 在认证过程中,被认证方采用错误检查纠正算法生成并保存第一公钥和第一私钥,认证方采用错误检查纠正算法生成并保存第二公钥和第二私钥。
[0018] 汇聚节点与Web服务器之间的认证过程还包括对汇聚节点的ID的认证,具体为:
[0019] 被认证方采用获取的第一公钥对自身的ID进行加密,并发送给认证方;
[0020] 认证方采用自身保存的第一私钥对加密后的ID进行解密,获取被认证方的ID,并验证被认证方的ID是否合法。
[0021] 第三方应用程序与Web服务器之间的认证采用基于restful架构的令牌认证,认证过程分为两种情况:
[0022] 情况一:用户在与Web服务器完成身份认证后进行身份注册,注册时对传感器数据的操作权进行授权,表明所拥有的传感器的数据是仅个人可见、全部可见或者某些人可见,此时第三方应用程序与Web服务器之间的认证,包括以下步骤:
[0023] A1、第三方应用程序向Web服务器发出访问数据请求,进入步骤B1;
[0024] B1、Web服务器决定是否生成临时令牌返回给第三方应用程序,若不允许,则拒绝访问;若允许,则进入步骤C1;
[0025] C1、Web服务器发送临时令牌给第三方应用程序,进入步骤D1;
[0026] D1、第三方应用程序接收临时令牌,并向Web服务器再次发送携带临时令牌的数据访问请求,进入步骤E1;
[0027] E1、Web服务器收到数据访问请求后对临时令牌进行解析,判断临时令牌是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则重新生成临时令牌返回给第三方应用程序,第三方应用程序使用新的临时令牌发送数据访问请求;
[0028] 情况二:用户在与Web服务器完成身份认证后进行身份注册,注册时对所拥有的传感器数据的操作权没有进行授权或第三方应用程序不是授权的可见方,此时第三方应用程序与Web服务器之间的认证步骤有:
[0029] A2、第三方应用程序向Web服务器发出访问数据请求,进入步骤B2;
[0030] B2、Web服务器向用户询问是否允许访问数据,若不允许,则拒绝访问;若允许,则进入步骤C2;
[0031] C2、用户给予Web服务器授权,Web服务器发送临时令牌给第三方应用程序,,进入步骤D2;
[0032] D2、第三方应用程序接收临时令牌,并向Web服务器再次发送携带临时令牌的数据访问请求,进入步骤E2;
[0033] E2、Web服务器收到数据访问请求后对临时令牌进行解析,判断临时令牌是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则进入步骤B2;
[0034] 基于CA证书的Restful架构下的无线传感器网络接入认证方法,其特征在于:
[0035] 步骤C1和步骤C2中,Web服务器内部以当前时间的元素生成一个临时令牌返回给第三方应用程序;
[0036] 步骤E1和步骤E2中,对临时令牌进行解析,还原成临时令牌的生成时间,从而判断临时令牌是否失效。
[0037] 本发明将传感器节点和汇聚节点自组织成为网络,将汇聚节点连接到基于Restful架构的Web服务器,客户端与Web服务器之间的认证,汇聚节点与Web服务器之间的认证、传感器节点与汇聚节点之间的认证以及客户端与汇聚节点之间的认证均基于CA证书完成,用户通过客户端访问Web服务器获取无线传感器节点的数据。本发明能有效防止恶意攻击者对数据的破坏,保护无线传感器网络中数据的安全。附图说明
[0038] 图1为本发明基于Restful架构的无线传感器网络拓扑图;
[0039] 图2为本发明的身份认证拓扑图;
[0040] 图3为本发明中基于CA证书的认证方与被认证方的认证流程图
[0041] 图4为本发明中汇聚节点与Web服务器之间的认证流程图;
[0042] 图5为本发明中的第三方应用程序与Web服务器之间的身份认证流程图。

具体实施方式

[0043] 本发明所述的基于CA证书的Restful架构下的无线传感器网络接入认证方法,将传感器节点sensor和汇聚节点sink node自组织成为网络,将汇聚节点sink node连接到基于Restful架构的Web服务器,客户端user与Web服务器之间的认证、汇聚节点sink node与Web服务器之间的认证、传感器节点sensor与汇聚节点sink node之间的认证以及客户端user与汇聚节点sink node之间的认证均基于CA证书完成,客户端user、Web服务器、汇聚节点sink node和传感器节点sensor均具有CA证书中心颁发的CA证书;第三方应用程序与Web服务器之间的认证,采用基于restful架构的令牌认证;用户通过客户端user访问Web服务器获取无线传感器节点的数据
[0044] REST全称是Representational State Transfer,即表述性状态转移,指的是一组架构约束条件和原则,如果一个架构符合REST的约束条件和原则,就称其为Restful架构。目前HTTP是唯一与REST相关的实例。
[0045] Restful架构遵循无状态通信原则。无状态通信原则指的是客户端user和Web服务器交互的过程中各次请求之间是无状态的。REST要求状态要么被放入资源状态中,要么被保存在客户端user上,即Web服务器不能保持除了单次请求之外的任何与其通信的客户端user的通信状态。此种通信状态使得Web服务器的可用空间具有可伸缩性,如果Web服务器需要保持客户端user状态,那么大量的客户端user交互会严重影响Web服务器的内存可用空间(footprint)。为实现无状态通信,基于Restful架构的认证请求应当不依赖于cookie或session,且每一个请求都应当携带某种类型的认证凭证。
[0046] CA 证书内含电子签证机关的信息、公钥用户信息、公钥、私钥、权威机构的签字和有效期等。鉴别CA证书的真伪需用 CA 公钥对CA证书上的签字进行验证,验证通过,该CA证书就被认为是有效的。目前,证书的格式和验证方法普遍遵循X.509 国际标准。
[0047] 图1为基于Restful架构的无线传感器网络拓扑图,一个汇聚节点sink node连接若干传感器节点sensor,传感器节点sensor用于收集测量数据,汇聚节点sink node主要负责操控传感器节点sensor收集数据、接受所有传感器节点sensor的数据以及与外网连接,可看作网关节点。一个Web服务器可接入大量汇聚节点sink node,Web服务器用来存储汇聚节点sink node发送来的测量数据,用户可以通过网页的客户端user登录Web服务器,通过浏览器发送数据操作请求支配节点完成任务或者查看Web服务器中保存的收集数据。若用户拥有私人汇聚节点sink node,则客户端user可直接与汇聚节点sink node建立连接而不需要通过Web服务器来查看或操控数据。
[0048] 图2为本发明的身份认证拓扑图,在整个认证系统中,客户端user、Web服务器、汇聚节点sink node和传感器节点sensor都具有CA证书中心颁发的CA证书,并且四者都保存有验证CA证书的CA公钥。第三方应用程序与Web服务器之间进行令牌认证。
[0049] 在认证流程中,统一把客户端user与Web服务器之间的认证,汇聚节点sink node与Web服务器之间的认证,传感器节点sensor与汇聚节点sink node之间的认证以及客户端user与汇聚节点sink node之间的认证中的前者称为被认证方,后者称为认证方,被认证方持有第一CA证书、第一公钥和第一私钥,认证方持有第二CA证书、第二公钥和第二私钥,由第一公钥加密的数据只能由第一私钥进行解密,由第一私钥加密的数据只能由第一公钥进行解密,同理,由第二公钥加密的数据只能由第二私钥进行解密,由第二私钥加密的数据只能由第二公钥进行解密,因此,即使被认证方和认证方认证过程中的数据包被截取,非法者由于没有密钥不能获取关键数据,因而不能进行身份冒充对数据造成威胁。
[0050] 在本实施例中,由于汇聚节点sink node与传感器节点sensor的计算能有限,不能有效地支持运算复杂度较大的算法,例如,公钥加密RSA算法,当采用RSA算法进行认证时,会消耗很长的认证时间,从而降低通信网络间的通信效率。因此为了提高通信网络间的通信效率,该认证过程中传感器节点sensor,汇聚节点sink node,Web服务器和客户端user采用错误检查纠正(Error Correcting Code,ECC)算法生成并保存第一公钥、第一私钥、第二公钥和第二私钥,其相应的加密和解密算法也是根据ECC算法进行加密和解密的。
[0051] 图3为本发明中,客户端user与Web服务器之间的认证,汇聚节点sink node与Web服务器之间的认证,传感器节点sensor与汇聚节点sink node之间的认证以及客户端user与汇聚节点sink node之间的认证,认证过程包括如下步骤:
[0052] S101、被认证方向认证方发送接入请求,并接收认证方返回的第一随机数和第二CA证书;
[0053] 在本实施例中,当被认证方与认证方通信时,先要向认证方发送接入请求,认证方接收到该接入请求后,生成第一随机数,并向被认证方返回第一随机数。为了进一步提高被认证方发送的数据信息的安全性,认证方还要向被认证方返回自身保存的第二CA证书。
[0054] S102、被认证方用自身保存的CA公钥对接收到的第二CA证书进行验证,若验证通过,进入步骤S103,否则进入步骤S104;
[0055] 在本实施例中,被认证方可以根据自身保存的CA公钥,对接收到的第二CA证书进行验证,即对认证方进行验证。
[0056] S103、被认证方获取第二CA证书中的携带的第二公钥,采用自身保存的第一私钥对第一随机数进行加密,并采用获取的第二公钥对第一私钥加密后的第一随机数再进行加密;
[0057] 当验证通过时,即确定认证方合法时,被认证方获取第二CA证书中携带的第二公钥,采用自身保存的第一私钥对该第一随机数进行加密,并采用第二公钥对加密后的第一随机数再进行加密。
[0058] S104、被认证方确定认证方为非法身份,拒绝向认证方发送数据信息;
[0059] 当验证不通过时,即确定被认证方非法时,被认证方拒绝向认证方发送数据信息。
[0060] S105、被认证方将第一公钥携带在自身保存的第一CA证书中,采用获取的第二公钥对第一CA证书进行加密,并将加密后的第一CA证书,以及再加密后的第一随机数发送给认证方;
[0061] 在本实施例中,被认证方将自身保存的该第一公钥携带在第一CA证书中,并采用获取第二公钥对第一CA证书进行加密,将加密后的该第一CA证书,以及步骤S103中该再加密后的第一随机数发送给认证方。
[0062] S106、认证方采用自身保存的第二私钥,对接收到的加密后的第一CA证书解密,获取第一CA证书,并根据自身保存的CA公钥对获取的第一CA证书进行验证,若验证通过,则进入步骤S107,否则进入步骤S110;
[0063] 认证方采用自身保存的第二私钥对加密后的第二CA证书解密,获取第二CA证书,根据自身保存的CA公钥对获取的第一CA证书进行验证,即对被认证方进行验证。
[0064] S107、认证方获取第一CA证书中携带的第一公钥,采用自身保存的第二私钥,对再加密后的第一随机数进行解密,并采用第一公钥对解密后的第一随机数再解密;
[0065] 当验证通过时,认证方获取第一CA证书中携带的第一公钥,并采用自身保存的第二私钥对该再加密后的第一随机数进行解密,采用第一公钥,对解密后的第一随机数再进行解密。
[0066] S108、认证方确定解密结果与自身发送的第一随机数相同时,向被认证方返回确认通知和采用第一公钥加密后的第二随机数;
[0067] 在本实施例中,当认证方对再加密后的第一随机数进行两次解密后的解密结果,与自身发送的该第一随机数相同时,确定被认证方安全,向被认证方返回确认通知和采用第一公钥加密后的第二随机数,第二随机数用于对通信过程中的数据信息进行加密。
[0068] S109、被认证方采用第一私钥对接收到的加密后第二随机数进行解密,获取第二随机数,并将第二随机数作为会话密钥。
[0069] S110、认证方确定被认证方为非法身份,拒绝接收被认证方发送的数据信息;
[0070] 在本实施例中,被认证方采用自身保存的第一私钥对接收到的加密后第二随机数进行解密,获取第二随机数,并将第二随机数作为通信过程中的数据信息的会话密钥。
[0071] 在上述过程中,被认证方在验证接收到的第二CA证书通过时,即验证认证方通过时,获取第二CA证书中携带的第二公钥,采用自身保存的第一私钥对接收到的第一随机数进行加密,并采用第二公钥对第一私钥加密后的第一随机数再进行加密,采用第二公钥对携带第一公钥的第一CA证书进行加密,将加密后的第一CA证书,以及再加密后的第一随机数发送到认证方,认证方采用自身保存的第二私钥对加密后的第一CA证书解密,并在验证该第一CA证书通过时,获取第一公钥,采用自身保存的第二私钥对再加密后的第一随机数解密,并采用第一公钥对解密后的第一随机数再解密,在确定解密结果与自身发送的第一随机数相同时,向汇聚节点sink node返回确认通知和采用第一公钥加密后的用于对通信过程中的数据信息进行加密的第二随机数,极大的提高了被认证方发送的数据信息的安全性。
[0072] 在实际应用中,非法的汇聚节点sink node可能会使用两个以上的不同ID频繁的向Web服务器方发送接入请求,即对该Web服务器进行恶意攻击,由于身份验证过程需要一定的时间,因此会导致Web服务器由于同时进行的验证过程过多而产生数据积压,最终使Web服务器瘫痪。为了防止非法的汇聚节点sink node对Web服务器的攻击,在本实施例中,Web服务器对接收到的汇聚节点sink node的加密后的CA证书解密之前,还要接收汇聚节点sink node发送的该节点的序列号(Identity,ID),并对该ID进行验证,当验证该ID合法时,再进行后续步骤。
[0073] 图4为本发明中汇聚节点sink node与Web服务器之间的认证,具体包括以下步骤:
[0074] S201:汇聚节点sink node向Web服务器发送注册请求。
[0075] 在本实施例中,汇聚节点sink node与Web服务器第一次建立连接时进行身份注册,即将自身的ID发送给Web服务器,Web服务器保存汇聚节点sink node的ID。
[0076] S202:汇聚节点sink node向Web服务器发送接入请求,并接收Web服务器返回的第一随机数和第二CA证书。
[0077] 在本实施例中,当汇聚节点sink node与Web服务器通信时,先要向Web服务器发送接入请求,Web服务器接收到该接入请求后,生成第一随机数,并向汇聚节点sink node返回第一随机数。为了进一步提高汇聚节点sink node发送的数据信息的安全性,Web服务器还要向汇聚节点sink node返回自身保存的第二CA证书。
[0078] S203:汇聚节点sink node根据自身保存的CA公钥,及接收到的第二CA证书,对Web服务器进行验证,若通过验证,则进行步骤S204,否则进行步骤S205。
[0079] 在本实施例中,汇聚节点sink node可以根据自身保存的CA公钥,对接收到的第二CA证书进行验证,即对Web服务器进行验证。
[0080] S204:汇聚节点sink node获取第二CA证书中携带的第二公钥,采用第一私钥对第一随机数加密,并采用获取的第二公钥对第一私钥加密后的第一随机数再进行加密。
[0081] 当验证通过时,即确定Web服务器合法时,汇聚节点sink node获取第二CA证书中携带的第二公钥,采用该第一私钥对该第一随机数进行加密,并采用第二公钥对加密后的第一随机数再进行加密。
[0082] S205:汇聚节点sink node确定Web服务器为非法的Web服务器,拒绝向Web服务器发送数据信息。
[0083] 当验证不通过时,即确定Web服务器非法时,汇聚节点sink node拒绝向Web服务器发送数据信息。
[0084] S206:汇聚节点sink node将第一公钥携带在自身保存的第一CA证书中,采用获取的第二公钥对其自身的ID进行加密,对该第一CA证书进行加密,并将加密后的ID、第一CA证书,以及再加密后的第一随机数发送给Web服务器。
[0085] 在本实施例中,为了进一步提高汇聚节点sink node发送的数据信息的安全性,汇聚节点sink node将自身保存的第一公钥携带在第一CA证书中,并采用获取的第二公钥对该第一CA证书进行加密,将加密后的第二CA证书,以及步骤S204中再加密后的第一随机数发送到Web服务器。并且,为了防止非法的汇聚节点sink node对Web服务器的攻击,汇聚节点sink node还要采用第二公钥对自身的ID加密,并将加密后的ID也发送给Web服务器。
[0086] S207:Web服务器采用自身保存的第二私钥,对加密后的ID解密,获取该ID,验证该ID的合法性,若验证通过,则进行步骤S208,否则进行步骤S212。
[0087] Web服务器先采用第二私钥对加密后的ID解密,获取汇聚节点sink node的ID,并判断该ID是否保存在Web服务器本地,若是则为合法,否则,不合法。
[0088] S208:Web服务器采用自身保存的第二私钥,对加密后的该第一CA证书解密,获取该第一CA证书,根据自身保存的CA公钥对获取的该第一CA证书进行验证,若验证通过,则进行步骤S209,否则进行步骤S212。
[0089] 当Web服务器确定汇聚节点sink node的ID合法时,采用第二私钥对加密后的第一CA证书进行解密,获取第一CA证书,并根据自身保存的CA公钥对该第一CA证书进行验证,即进一步验证汇聚节点sink node是否安全。
[0090] S209:Web服务器获取第一CA证书中携带的第一公钥,采用自身保存的第二私钥,对加密后的第一随机数解密,并采用第一公钥,对解密后的第一随机数再解密,判断解密结果与自身发送的该第一随机数是否相同,若相同,则进行步骤S210,否则,进行步骤S212。
[0091] 当验证第一CA证书通过时,获取第一CA证书中携带的第一公钥,采用第二私钥对再加密后的第一随机数进行解密,并采用获得的第一公钥对解密后的第一随机数再进行解密,获得解密结果,判断解密结果与自身发送的该第一随机数是否相同,从而判断汇聚节点sink node是否安全。
[0092] S210:Web服务器采用第一公钥对第二随机数进行加密,将确认通知和加密后的第二随机数返回汇聚节点sink node。
[0093] 当确定该解密结果与自身发送的第一随机数相同时,Web服务器确定汇聚节点sink node安全,生成确认通知和第二随机数,采用第一公钥对第二随机数进行加密,将该确认通知和加密后的第二随机数发送给汇聚节点sink node。
[0094] S211:汇聚节点sink node接收Web服务器返回的确认通知和加密后的第二随机数,采用自身保存的第一私钥对加密后的第二随机数解密,获取该第二随机数,并将第二随机数作为会话密钥。
[0095] 汇聚节点sink node接收到该确认通知后,采用第一私钥对该加密后的第二随机数进行解密,获取第二随机数,采用第二随机数对待发送的数据信息加密,即Web服务器与汇聚节点sink node约定采用第二随机数作为后续的会话密钥。
[0096] S212:Web服务器确定汇聚节点sink node不安全,拒绝接收汇聚节点sink node发送的数据信息。
[0097] 当Web服务器确定汇聚节点sink node的ID不合法时,或验证该第一CA证书不通过时,或确定解密结果与自身发送的第一随机数不相同时,确定汇聚节点sink node不安全,拒绝接收汇聚节点sink node发送的数据信息。
[0098] 其中,上述过程中的第一公钥和第一私钥为汇聚节点sink node根据ECC算法生成并保存的,第二公钥和第二私钥为Web服务器根据ECC算法生成并保存的,其相应的加密和解密算法也是根据ECC算法进行加密和解密的。
[0099] 在上述过程中,汇聚节点sink node接收Web服务器返回的第一随机数,采用自身保存的第一私钥对第一随机数加密,并将自身保存的第一公钥及加密后的第一随机数返回,Web服务器采用第一公钥对加密后的第一随机数进行解密,根据解密结果是否与自身发送的第一随机数相同,判断汇聚节点sink node是否安全,当确定安全时,接收汇聚节点sink node发送的数据信息。由于本发明实施例中采用第一私钥进行加密的第一随机数,只能采用第一公钥解密,如果该第一公钥被非法的汇聚节点sink node窃取,则非法的汇聚节点sink node采用窃取的第一公钥对第一随机数进行加密后,Web服务器不能采用第一公钥对加密后的第一随机数进行解密,从而不能正确的获取第一随机数,拒绝非法的汇聚节点sink node发送的数据信息,因此提高了汇聚节点sink node发送给Web服务器的数据信息的安全性。
[0100] 并且,为了防止非法的汇聚节点sink node对Web服务器的攻击,导致Web服务器因数据积压而瘫痪,汇聚节点sink node还向Web服务器发送其自身的ID,Web服务器验证该ID的合法性,当验证通过时才进行后续的步骤,否则确定汇聚节点sink node不安全,拒绝接收汇聚节点sink node发送的数据信息。
[0101] 同时,Web服务器还向汇聚节点sink node返回第二CA证书,汇聚节点sink node在验证第二CA证书通过后,确定Web服务器合法,获取第二CA证书中携带的第二公钥,采用第二公钥对自身的ID和携带第一公钥的第一CA证书进行加密,并对第一私钥加密后的第一随机数再进行加密,将加密后的ID和第一CA证书,以及再加密后的第一随机数返回Web服务器,Web服务器在确定汇聚节点sink node的ID和第一CA证书合法后,采用相应的解密方式对该再加密后的第一随机数进行解密,获得解密结果,再根据该解密结果与该第一随机数是否相同,判断汇聚节点sink node是否安全,进一步提高了汇聚节点sink node发送的数据信息的安全性。
[0102] 另外,上述过程中的第一公钥、第一私钥、第二公钥和第二私钥均为根据ECC算法生成的,由于汇聚节点sink node能够有效的支持该ECC算法,因此提高了汇聚节点sink node与移动通信网络间的通信效率。
[0103] 图5为本发明中的第三方应用程序与Web服务器之间的身份认证流程图,第三方应用程序与Web服务器之间的认证采用基于Restful架构的令牌认证,一个访问令牌可以被用来唯一的识别和认证一个用户,用户每个请求都需要携带令牌来实现访问的安全性,这里令牌的发放分为两种情况:
[0104] 情况一:用户在与Web服务器完成身份认证后进行身份注册,注册时对传感器数据的操作权进行授权,表明所拥有的传感器的数据是仅个人可见、全部可见或者某些人可见,此时第三方应用程序与Web服务器之间的认证依次包括以下步骤:
[0105] S301:第三方应用程序向Web服务器发出访问数据请求;
[0106] S302:Web服务器决定是否生成临时令牌Token返回给第三方应用程序,若不允许,则拒绝访问;若允许,则进入步骤S303;
[0107] S303:Web服务器发送临时令牌Token给第三方应用程序;
[0108] Web服务器内部以当前时间的元素生成一个临时令牌Token返回给第三方应用程序;
[0109] S304:第三方应用程序接收临时令牌Token,并向Web服务器再次发送携带临时令牌Token的数据访问请求;
[0110] S305:Web服务器收到数据访问请求后对临时令牌Token进行解析,判断临时令牌Token是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则重新生成临时令牌Token返回给第三方应用程序,第三方应用程序使用新的临时令牌Token发送数据访问请求;
[0111] Web服务器收到请求后对临时令牌Token进行解析还原出临时令牌Token的生成时间,判断临时令牌Token是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,则重新生成临时令牌Token返回给第三方应用程序,第三方应用程序使用新的临时令牌Token发送数据访问请求。
[0112] 情况二:用户在与Web服务器完成身份认证后进行身份注册,注册时对所拥有的传感器数据的操作权没有进行授权或第三方应用程序不是授权的可见方,此时第三方应用程序与Web服务器之间的认证步骤有:
[0113] S401:第三方应用程序向Web服务器发出访问数据请求;
[0114] S402:Web服务器向用户询问是否允许访问数据,若不允许,则拒绝访问;若允许,则进入步骤S403;
[0115] S403:用户给予Web服务器授权,Web服务器发送临时令牌Token给第三方应用程序;
[0116] Web服务器内部以当前时间的元素生成一个临时令牌Token返回给第三方应用程序;
[0117] S404:第三方应用程序接收临时令牌Token,并向Web服务器再次发送携带临时令牌Token的数据访问请求;
[0118] S405:Web服务器收到数据访问请求后对临时令牌Token进行解析,判断临时令牌Token是否失效,若未失效,则返回给第三方应用程序想要访问的数据;若失效,进入步骤S402。
[0119] 现有的令牌认证通常采用动态口令技术。动态口令技术是对传统的静态口令技术的改进,用户要拥有一些凭证,如系统颁发的临时令牌Token,且临时令牌Token上的数字是不断变化的,而且与认证的Web服务器是同步的,因此用户登录到系统的口令也是不断地变化的,即所谓的“一次一密”。
[0120] 现有的动态口令技术有两种同步方案:时间同步、事件同步。
[0121] 1. 时间同步,是指临时令牌Token采用时间作为动态口令的一个种子,Web服务器通过采用时间作为一个种子验证临时令牌Token产生的口令。
[0122] 2. 事件同步,是指临时令牌Token每次产生动态口令时以当前的计数作为一个种子,每次产生完成动态口令后,该计数会自动递增,Web服务器同样采用次数作为验证时的种子。
[0123] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈