首页 > 专利 > 杭州电子科技大学 > 一种轻量级的无证书工业物联网访问控制方法和系统专利详情

一种轻量级的无证书工业物联网访问控制方法和系统   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-04-03
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-09-04
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-12-21
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-04-03
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010260957.5 申请日 2020-04-03
公开/公告号 CN111526130B 公开/公告日 2021-12-21
授权日 2021-12-21 预估到期日 2040-04-03
申请年 2020年 公开/公告年 2021年
缴费截止日
分类号 H04L29/06H04L9/08H04L9/32 主分类号 H04L29/06
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 6
权利要求数量 7 非专利引证数量 1
引用专利数量 0 被引证专利数量 0
非专利引证 1、CN 108989318 A,2018.12.11CN 106534175 A,2017.03.22CN 108512862 A,2018.09.07Jingwei Liu etc..A novel SecureAuthentication Scheme for HeterogeneousInternet or Thing《.arXiv》.2019,全文. Kuo_Hui Yeh.A_Secure_Transaction_Scheme_With_Certificateless_Cryptographic_Primitives_for_IoT-Based_Mobile_Payments《.IEEE》.2018,;
引用专利 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 陈庆南、吴铤、郑秋华、董铃、胡程楠、夏帅凡、陈安邦、潘莉莉、崔婷婷、高梦州、张旭、丁文倩、翟亮、李潇原 第一发明人 陈庆南
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 14
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱亚冠
摘要
本发明公开一种轻量级的无证书工业物联网访问控制方法和系统。该方法根据OAuth思想由负责授权的本地中央服务器对双方进行身份认证,不同于ACE‑OAuth需在认证前进行传统的(如基于证书的)通信密钥协商,本方法通过本地服务器作为可信第三方,使用基于公钥的挑战应答、令牌和口令实现用户和资源服务器之间的双向认证,并将通信密钥协商融入认证过程,在保证安全性的同时资源服务器无需进行证书的分发、接收和验证,能够有效减少认证过程中的交互轮数,进而有效减少通信数据传输量和密钥协商计算消耗量,包括CPU占用、磁盘占用、内存占用等,在安全性和实用性上更加占优,更适用于工业物联网等资源受限环境。
  • 摘要附图
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图1
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图2
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图3
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图4
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图5
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图6
    一种轻量级的无证书工业物联网访问控制方法和系统
  • 说明书附图:图7
    一种轻量级的无证书工业物联网访问控制方法和系统
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-12-21 授权
2 2020-09-04 实质审查的生效 IPC(主分类): H04L 29/06 专利申请号: 202010260957.5 申请日: 2020.04.03
3 2020-08-11 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种轻量级的无证书工业物联网访问控制方法,其特征在于包括认证、带资源访问
令牌的访问及访问退出三个流程,其中:
所述认证流程包含如下步骤:
步骤1:客户应用APP向资源服务器RS发起携带资源访问身份信息的认证请求;其中资
源访问身份信息包括客户应用APP身份信息、用户身份信息;
步骤2:资源服务器RS接收认证请求,并生成一个随机数NRS;然后利用本地中央服务器
LCS的公钥KLCS将随机数NRS、接收到的资源访问身份信息、资源服务器RS的身份标识加密后构成身份信息数据包,发送给本地中央服务器LCS;
步骤3:本地中央服务器LCS接收资源服务器RS的身份信息数据包并用本地中央服务器
LCS的私钥 解密数据,生成一个随机数作为认证令牌NAToken,并根据资源服务器RS的身份标识从预存的资源服务器公钥数据库中得到对应资源服务器RS的公钥KRS和地址信息;然后将资源访问身份信息、资源服务器RS的地址信息和认证令牌NAToken存入即将到访用户表中;再利用资源服务器公钥KRS将认证令牌NAToken、随机数NRS加密后构成认证令牌数据包,发送到资源服务器RS;
步骤4:资源服务器RS接收本地中央服务器LCS的认证令牌数据包,用资源服务器RS的
私钥 解密数据包,然后将认证令牌NAToken和本地中央服务器LCS的地址信息构成的认证重定向响应包,发送给客户应用APP;
步骤5:客户应用APP接收资源服务器RS的认证重定向响应包,从中提取本地中央服务
器LCS地址信息和认证令牌NAToken;判断客户应用APP的本地存储中是否含有该本地中央服务器LCS的公钥,若不包含则随机生成根服务器GRS与客户应用APP之间的通信密钥KG‑A,然后利用根服务器GRS的公钥KGRS将KG‑A、本地中央服务器LCS的地址信息加密后构成本地中央服务器LCS验证包,发送到根服务器GRS,跳转到步骤6;若包含则跳转到步骤8;
步骤6:根服务器GRS接收客户应用APP发来的本地中央服务器LCS验证包,用根服务器
GRS的私钥 解密验证包,判断接收到的本地中央服务器LCS地址信息是否与预先存储
的对应信息一致;若一致则验证通过,并利用通信密钥KG‑A将该本地中央服务器LCS的公钥KLCS加密后构成本地中央服务器LCS验证确认包,发送到客户应用APP,跳转到步骤7;若不一致则返回错误响应到客户应用APP;
步骤7:客户应用APP接收根服务器GRS发回的本地中央服务器LCS验证确认包,用通信
密钥KG‑A解密验证确认包,提取本地中央服务器LCS的公钥KLCS,将该公钥KLCS和本地中央服务器LCS地址信息作为一个记录存储到本地;然后生成一个随机数NAPP,并利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9;
步骤8:客户应用APP根据本地中央服务器LCS的地址信息从本地存储中提取本地中央
服务器LCS对应的公钥KLCS,生成一个随机数NAPP;然后利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9;
步骤9:本地中央服务器LCS接收客户应用APP发送的用户身份认证数据包,先查询该用
户身份认证数据包源地址是否在即将到访用户表中,若不存在则返回错误响应到客户应用APP;若存在则用本地中央服务器LCS的私钥 解密该用户身份认证数据包后,查验用户
身份认证数据包中的NAToken、用户身份信息是否与本地存储中数据全部一致,若否则验证不通过,则返回错误响应到客户应用APP,若是则验证通过,则本地中央服务器LCS再根据认证令牌NAToken、随机数NAPP、随机数NRS随机生成资源访问令牌NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS和资源服务器RS与本地中央服务器LCS通信密钥KRS‑L;然后利用资源服务器公钥KRS将NAccToken、KA‑RS、KRS‑L和NRS信息进行加密,构成用户认证成功数据包发送到资源服务器RS,跳转到步骤10;同时利用客户应用APP公钥KAPP将NAccToken、KA‑RS和NAPP信息进行加密,构成用户认证成功响应包发送到客户应用APP,跳转到步骤11;
步骤10:资源服务器RS接收本地中央服务器LCS的用户认证成功数据包,利用资源服务
器RS的私钥 进行解密,提取并存储资源访问令牌NAccToken、资源服务器RS与本地中央服务器LCS通信密钥KRS‑L和客户应用APP与资源服务器RS通信密钥KA‑RS;
步骤11:客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用
APP的私钥KAPP进行解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS;
带资源访问令牌的访问流程包含如下步骤:
步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS;
步骤2:资源服务器RS接收客户应用APP的资源访问请求,利用通信密钥KA‑RS解密数据
包,从中提取资源访问令牌NAccToken,通过NAccToken索引资源服务器RS中与之对应的资源授权策略,并与请求的资源操作命令进行比对;若该资源操作命令存在于NAccToken对应的资源授权策略中,则资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若该资源操作命令不存在于NAccToken对应的资源授权策略中,则用通信密钥KRS‑L加密携带资源访问令牌NAccToken的资源授权确认包,发送到本地中央服务器LCS,跳转到步骤3;
步骤3:本地中央服务器LCS接收资源服务器RS的资源授权确认包,用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken;然后查询资源授权数据库,确认该客户应用APP是否有权进行该资源访问请求,利用KRS‑L将资源授权结果和与该资源访问令牌对应的资源授权策略进行加密,构成资源授权数据包发送到资源服务器RS;
步骤4:资源服务器RS接收本地中央服务器LCS的资源授权数据包,利用通信密钥KRS‑L解密,并将资源授权策略保存到内存中;当资源授权结果为允许时,资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若资源授权结果为不允许时,则返回错误响应到客户应用APP;
步骤5:资源设备RE接收资源服务器RS的资源操作请求,返回操作结果到资源服务器
RS;
步骤6:资源服务器RS接收资源设备RE的操作结果,利用KA‑RS将操作结果加密后发送到客户应用APP;
步骤7:客户应用APP接收资源服务器RS返回的操作结果,并用KA‑RS解密;
带资源访问令牌的访问退出流程包含如下步骤:
步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS;
步骤2:资源服务器RS接收客户应用APP的资源访问退出请求,利用通信密钥KA‑RS解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源;然后用密钥KRS‑L加密携带资源访问令牌NAccToken的资源访问退出请求,发送到本地中央服务器LCS;
步骤3:本地中央服务器LCS接收资源服务器RS的资源访问退出请求,利用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源。

2.一种轻量级的无证书工业物联网访问控制系统,其特征在于包括客户应用APP,与资
源服务器通信的资源设备RE,与客户应用APP、本地中央服务器LCS通信的资源服务器RS,与客户应用APP、资源服务器RS通信的本地中央服务器LCS,与客户应用通信的根服务器GRS;
其中:
所述客户应用APP预先存储有根服务器GRS的公钥和地址信息;用于参与认证流程、参
与带资源访问令牌的访问流程、参与带资源访问令牌的访问退出流程;
所述资源设备RE用于接收资源服务器RS的操作命令,并返回操作结果到资源服务器
RS;
所述资源服务器RS预先存储有本地中央服务器LCS的公钥和地址信息;用于向授权客
户应用APP提供服务并参与认证流程;
所述的本地中央服务器LCS存储并统一管理客户应用APP的身份信息、对各资源设备RE
的访问权限策略以及各资源服务器RS的公钥、地址信息信息;用于授权客户应用APP访问资源设备RE并参与认证流程;
所述的根服务器GRS预先存储有本地中央服务器LCS的IP地址、公钥信息,当系统中添
加一个本地中央服务器LCS后,需要在根服务器GRS中添加本地中央服务器LCS的相关信息;
用于参与认证流程;
所述客户应用APP参与认证流程具体包括本地中央服务器LCS的身份认证和用户的身
份认证:
所述本地中央服务器LCS的身份认证是发送认证请求后接收经资源服务器RS传送的本
地中央服务器LCS地址信息和认证令牌NAToken,判断本地存储中是否含有与之对应的公钥KLCS,若不包含则对随机生成的通信密钥KG‑A、本地中央服务器LCS地址信息进行加密,发送到根服务器GRS;若包含则验证通过,根服务器GRS返回验证确认包到客户应用APP;
所述用户的身份认证是将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken信息加密后构成用户身份认证数据包发送到本地中央服务器LCS;若验证通过,本地中央服务器LCS返回利用客户应用APP公钥KAPP加密资源访问令牌NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS的用户认证成功响应包到客户应用APP;
所述客户应用APP参与带资源访问令牌的访问流程,具体包括:
客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私
钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS;接收资源服务器RS返回的资源设备RE操作结果;
所述客户应用APP参与带资源访问令牌的访问退出流程,具体包括:
客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私
钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS。

3.如权利要求2所述的系统,其特征在于所述资源服务器RS中向授权客户应用APP提供
服务具体是通过从客户应用APP资源访问请求中提取出的资源访问令牌NAccToken索引与之对应的资源授权策略,判断请求的资源操作命令是否存在于该资源授权策略中,若存在则与要请求的资源设备RE进行通讯,否则发送资源授权确认包到本地中央服务器LCS,并接收返回的资源授权结果。

4.如权利要求2所述的系统,其特征在于所述资源服务器RS中用户的身份认证具体是
接收客户应用APP的认证请求后将身份信息数据包发送到本地中央服务器LCS,接收本地中央服务器LCS返回的认证令牌NAToken,并和本地中央服务器LCS地址信息组成一个认证重定向响应包发送给客户应用APP;客户应用APP验证通过本地中央服务器LCS的身份后,本地中央服务器LCS接收客户应用APP的用户身份认证数据包并返回用户认证成功数据包到资源
服务器RS。

5.如权利要求2所述的系统,其特征在于所述本地中央服务器LCS授权客户应用APP访
问资源设备RE具体是通过查询资源授权数据库,确认客户应用APP是否有权进行该资源访问请求,并将资源授权结果和与该资源访问令牌对应的资源授权策略发送到资源服务器
RS。

6.如权利要求2所述的系统,其特征在于所述本地中央服务器LCS参与认证流程具体包
括本地中央服务器LCS的身份认证和用户的身份认证,分别是接收资源服务器RS的身份信息进而生成认证令牌NAToken,然后将NAToken和NRS发送到资源服务器RS;接收客户应用APP发送的用户身份认证数据包,核对验证相关信息后生成用户资源访问令牌NAccToken、通信密钥KA‑RS和KRS‑L,然后将NAccToken、KA‑RS和KRS‑L信息发送到资源服务器RS,将NAccToken、KA‑RS信息发送到客户应用APP。

7.如权利要求2所述的系统,其特征在于所述根服务器GRS参与认证流程即认证本地中
央服务器LCS,具体是接收客户应用APP发送的本地中央服务器LCS的地址信息,判断是否与预先存储的对应信息一致;若一致则验证通过,并将该本地中央服务器LCS的公钥KLCS发送到客户应用APP。
说明书

技术领域

[0001] 本发明属于计算机技术领域,特别涉及一种轻量级的无证书工业物联网访问控制方法和系统。

背景技术

[0002] 物联网“万物互联”的特性,令原本与外网隔离的物联网设备被无缝地集成到互联网基础设施中,这使得物联网设备很容易受到攻击和滥用,如何优化访问用户的安全认证和资源设备的访问控制已成为当前物联网安全防护中一个亟需解决的问题。然而传统的解决方案,例如Radius认证协议、NAC认证方案、OpenID等,并没有考虑到物联网设备计算资源受限的特点,导致它们难以满足物联网系统在可伸缩性、互操作性和轻便性方面的内在需求。
[0003] 对此,为了建立适用于计算资源受约束环境下的认证授权方案,IETF提出了ACE‑OAuth解决方案,利用OAuth思想引入第三方授权服务器。该方案要求用户先通过授权服务器进行认证并获得用于资源访问的令牌,后续携带该令牌进行资源访问请求。资源提供方(如物联网设备)通过授权服务器对请求中的令牌进行验证,并检查访问是否被授权。通过该方案将物联网设备的大部分认证与访问控制工作转嫁到授权服务器上,可有效减少设备的资源压力。但为了保证数据的通信安全,在用户认证过程中,客户端、授权服务器及资源服务器两两之间仍需进行传统的(如基于证书的)通信密钥协商,用以建立数据传输的安全通道。该流程由于通信三方需要对证书进行传输并依赖证书链对证书的真实性进行验证,需要较大的计算消耗量和数据传输量。在通用的信息系统环境下(本地中央服务器和客户端)其带来的影响不大,但在资源受约束的计算环境下(物联网设备)会带来较大影响。
[0004] 针对上述技术不足,本发明对现有的ACE‑OAuth认证授权方案进行改进,提出了一种轻量级的无证书工业物联网访问控制方法和系统,该方法根据OAuth思想由负责授权的本地中央服务器对双方进行身份认证,不同于ACE‑OAuth需在认证前进行传统的(如基于证书的)通信密钥协商,本方法通过本地服务器作为可信第三方,使用基于公钥的挑战应答、令牌和口令实现用户和资源服务器之间的双向认证,并将通信密钥协商融入认证过程,在保证安全性的同时资源服务器无需进行证书的分发、接收和验证,能够有效减少认证过程中的交互轮数,进而有效减少通信数据传输量和密钥协商计算消耗量,包括CPU占用、磁盘占用、内存占用等,在安全性和实用性上更加占优,更适用于工业物联网等资源受限环境。
[0005] 术语定义
[0006] 1、公钥加密算法(Public‑key cryptography):又称非对称加密算法,如RSA、ECC等。它的密钥是一对公私钥对。如果使用其中一个密钥加密一段数据,则必须用另一个密钥解密。
[0007] 2、公钥和私钥(Public key and private key):公私钥对用于非对称加密。参与通信的每一方都持有其独特的公私钥对,其中公钥是公开的部分,私钥是非公开的部分。下文使用私钥加密或解密的实体均为私钥的合法持有者。
[0008] 3、对称加密算法(Symmetric encryption algorithm):加密和解密使用相同的密钥,如DES、AES等。相比于公钥加密算法,对称加密的主要特点是计算量小,加密速度快,加密效率高。下文提到的解密若未注明私钥解密,均为对称密钥解密。
[0009] 4、对称密钥(Symmetric key):用于对称加密算法,不同于公钥加密算法,对称算法加解密使用同一个密钥。
[0010] 5、令牌(Token):代表执行某些操作的权利的对象,是服务端生成的一串字符串。资源访问令牌(Access  Token)表示访问控制操作主体的系统对象。认证令牌
(Authentication Token)代表用户身份和程序身份的验证授权。

发明内容

[0011] 本发明的目的是针对工业物联网安全防护中设备计算资源受限的问题,提出一种轻量级的无证书工业物联网访问控制方法。该方法通过本地服务器作为可信第三方,使用基于公钥的挑战应答、令牌和口令实现用户和资源服务器之间的双向认证,并将通信密钥协商融入认证过程,在保证用户认证及密钥协商安全性的同时,有效减少认证过程中的交互轮数。
[0012] 本发明方法基于以下设置:资源服务器RS与负责其认证的本地中央服务器LCS互相预置有对方的公钥信息,资源服务器RS预置负责其认证的本地中央服务器LCS地址信息,客户应用APP预置根服务器GRS的公钥和地址信息,根服务器GRS预置本地中央服务器LCS的公钥和地址信息;
[0013] 主要包括认证、带资源访问令牌的访问及访问退出三个流程,其中:
[0014] 认证流程包含如下步骤:
[0015] 步骤1:客户应用Client App(APP)向资源服务器Resource Server(RS)发起携带资源访问身份信息的认证请求;其中资源访问身份信息包括客户应用APP身份信息(如客户应用APP的IP地址)、用户身份信息(如用户身份ID)等;
[0016] 步骤2:资源服务器RS接收该认证请求,并生成一个随机数NRS;然后利用本地中央服务器Local Central Server(LCS)的公钥KLCS将随机数NRS、接收到的资源访问身份信息(包括客户应用APP身份信息和用户身份信息)、资源服务器RS的身份标识进行加密,构成身份信息数据包发送给本地中央服务器LCS。
[0017] 步骤3:本地中央服务器LCS接收资源服务器RS的身份信息数据包并用本地中央服务器LCS的私钥 解密数据,生成一个随机数作为认证令牌Authentication Token(AToken)NAToken,并根据资源服务器RS的身份标识从预存的资源服务器公钥数据库中得到对应资源服务器RS的公钥KRS和地址信息;然后将资源访问身份信息(包括客户应用APP身份信息和用户身份信息)、资源服务器RS的地址信息和认证令牌NAToken等存入即将到访用户表中;再利用资源服务器公钥KRS将认证令牌NAToken、随机数NRS进行加密,构成认证令牌数据包发送到资源服务器RS。
[0018] 步骤4:资源服务器RS接收本地中央服务器LCS的认证令牌数据包,用资源服务器RS的私钥 解密数据包,然后将认证令牌NAToken和本地中央服务器LCS的地址信息构成的认证重定向响应包发送给客户应用APP。
[0019] 步骤5:客户应用APP接收资源服务器RS的认证重定向响应包,从中提取本地中央服务器LCS地址信息和认证令牌NAToken。判断客户应用APP的本地存储中是否含有该本地中央服务器LCS的公钥,若不包含则随机生成根服务器GlobalRootServer(GRS)与客户应用APP之间的通信密钥KG‑A,然后利用根服务器GRS的公钥KGRS将KG‑A、本地中央服务器LCS的地址信息进行加密,构成本地中央服务器LCS验证包发送到根服务器GRS,跳转到步骤6;若包含则跳转到步骤8。
[0020] 步骤6:根服务器GRS接收客户应用APP发来的本地中央服务器LCS验证包,用根服务器GRS的私钥 解密验证包,判断接收到的本地中央服务器LCS地址信息是否与预先存储的对应信息一致。若一致则验证通过,并利用通信密钥KG‑A将该本地中央服务器LCS的公钥KLCS进行加密,构成本地中央服务器LCS验证确认包发送到客户应用APP,跳转到步骤7;若不一致则返回错误响应到客户应用APP。
[0021] 步骤7:客户应用APP接收根服务器GRS发回的本地中央服务器LCS验证确认包,用通信密钥KG‑A解密验证确认包,提取本地中央服务器LCS的公钥KLCS,将该公钥KLCS和本地中央服务器LCS地址信息作为一个记录存储到本地;然后生成一个随机数NAPP,并利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9。
[0022] 步骤8:客户应用APP根据本地中央服务器LCS的地址信息从本地存储中提取本地中央服务器LCS对应的公钥KLCS,生成一个随机数NAPP;然后利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9。
[0023] 步骤9:本地中央服务器LCS接收客户应用APP发送的用户身份认证数据包,先查询该用户身份认证数据包源地址是否在即将到访用户表中,若不存在则返回错误响应到客户应用APP;若存在则用本地中央服务器LCS的私钥 解密该用户身份认证数据包后,查验用户身份认证数据包中的NAToken、用户身份信息是否与本地存储中数据全部一致,若否则验证不通过,则返回错误响应到客户应用APP,若是则验证通过,则本地中央服务器LCS再根据认证令牌NAToken、随机数NAPP、随机数NRS随机生成资源访问令牌Access Token(AccToken)NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS和资源服务器RS与本地中央服务器LCS通信密钥KRS‑L;然后利用资源服务器公钥KRS将NAccToken、KA‑RS、KRS‑L和NRS等信息进行加密,构成用户认证成功数据包发送到资源服务器RS,跳转到步骤10;同时利用客户应用APP公钥KAPP将NAccToken、KA‑RS和NAPP等信息进行加密,构成用户认证成功响应包发送到客户应用APP,跳转到步骤11;
[0024] 步骤10:资源服务器RS接收本地中央服务器LCS的用户认证成功数据包,利用资源服务器RS的私钥 进行解密,提取并存储资源访问令牌NAccToken、资源服务器RS与本地中央服务器LCS通信密钥KRS‑L和客户应用APP与资源服务器RS通信密钥KA‑RS。
[0025] 步骤11:客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP进行解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS。
[0026] 带资源访问令牌的访问流程包含如下步骤:
[0027] 步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS。
[0028] 步骤2:资源服务器RS接收客户应用APP的资源访问请求,利用通信密钥KA‑RS解密数据包,从中提取资源访问令牌NAccToken,通过NAccToken索引资源服务器RS中与之对应的资源授权策略,并与请求的资源操作命令进行比对。若该资源操作命令存在于NAccToken对应的资源授权策略中,则资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若该资源操作命令不存在于NAccToken对应的资源授权策略中,则用通信密钥KRS‑L加密携带资源访问令牌NAccToken的资源授权确认包,发送到本地中央服务器LCS,跳转到步骤3。
[0029] 所述资源授权策略:允许客户应用对目标设备进行的资源操作,如增删改查等基本操作命令,可根据实际使用情况自行设置。
[0030] 步骤3:本地中央服务器LCS接收资源服务器RS的资源授权确认包,用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken。然后查询资源授权数据库,确认该客户应用APP是否有权进行该资源访问请求,利用KRS‑L将资源授权结果和与该资源访问令牌对应的资源授权策略进行加密,构成资源授权数据包发送到资源服务器RS。
[0031] 所述资源授权数据库:本地中央服务器LCS中负责存储客户应用APP权限的数据库,存储有资源授权策略。
[0032] 步骤4:资源服务器RS接收本地中央服务器LCS的资源授权数据包,利用通信密钥KRS‑L解密,并将资源授权策略保存到内存中。当资源授权结果为允许时,资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若资源授权结果为不允许时,则返回错误响应到客户应用APP。
[0033] 步骤5:资源设备RE接收资源服务器RS的资源操作请求,返回操作结果到资源服务器RS。
[0034] 步骤6:资源服务器RS接收资源设备RE的操作结果,利用KA‑RS将操作结果加密后发送到客户应用APP。
[0035] 步骤7:客户应用APP接收资源服务器RS返回的操作结果,并用KA‑RS解密。
[0036] 带资源访问令牌的访问退出流程包含如下步骤:
[0037] 步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS。
[0038] 步骤2:资源服务器RS接收客户应用APP的资源访问退出请求,利用通信密钥KA‑RS解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源。然后用密钥KRS‑L加密携带资源访问令牌NAccToken的资源访问退出请求,发送到本地中央服务器LCS。
[0039] 这里的资源服务器RS根据NAccToken释放相关资源属于常规技术,故不详解。
[0040] 步骤3:本地中央服务器LCS接收资源服务器RS的资源访问退出请求,利用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源。
[0041] 这里的本地中央服务器LCS根据NAccToken释放相关资源属于常规技术,故不详解。
[0042] 本发明的另一个目的是提供一种轻量级的无证书工业物联网访问控制系统。
[0043] 本发明系统主要包括客户应用APP,与资源服务器RS通信的资源设备Resourceequipment(RE),与客户应用APP、本地中央服务器LCS通信的资源服务器RS,与客户应用APP、资源服务器RS通信的本地中央服务器LCS,与客户应用APP通信的根服务器GRS。
其中:
[0044] 所述客户应用APP为定制化的移动或桌面应用程序,用于访问工业物联网中的资源设备RE,预先存储有根服务器GRS的公钥和地址信息。用于参与认证流程、参与带资源访问令牌的访问流程、参与带资源访问令牌的访问退出流程。
[0045] 其中参与认证流程具体包括本地中央服务器LCS的身份认证和用户的身份认证。
[0046] 所述本地中央服务器LCS的身份认证是发送认证请求后接收经资源服务器RS传送的本地中央服务器LCS地址信息和认证令牌NAToken,判断本地存储中是否含有与之对应的公钥KLCS,若不包含则对随机生成的通信密钥KG‑A、本地中央服务器LCS地址信息进行加密,发送到根服务器GRS。若包含则验证通过,根服务器GRS返回验证确认包到客户应用APP;
[0047] 所述用户的身份认证是将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken等信息加密后构成用户身份认证数据包发送到本地中央服务器LCS。若验证通过,本地中央服务器LCS返回利用客户应用APP公钥KAPP加密资源访问令牌NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS的用户认证成功响应包到客户应用APP。
[0048] 其中用于参与带资源访问令牌的访问流程,具体包括:
[0049] 客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS。接收资源服务器RS返回的资源设备RE操作结果。
[0050] 其中用于参与带资源访问令牌的访问退出流程,具体包括:
[0051] 客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS。
[0052] 所述资源设备RE也即工业物联网设备或工业设备,例如传感器、执行器等,属于计算资源受限设备;用于接收资源服务器RS的操作命令,并返回操作结果到资源服务器RS。
[0053] 所述资源服务器RS属于计算资源受限设备,预先存储有本地中央服务器LCS的公钥和地址信息;用于向授权客户应用APP提供服务并参与认证流程。
[0054] 所述向授权客户应用APP提供服务具体是通过从客户应用APP资源访问请求中提取出的资源访问令牌NAccToken索引与之对应的资源授权策略,判断请求的资源操作命令是否存在于该资源授权策略中,若存在则与要请求的资源设备RE进行通讯,否则发送资源授权确认包到本地中央服务器LCS,并接收返回的资源授权结果;
[0055] 所述参与认证流程即用户的身份认证具体是接收客户应用APP的认证请求后将身份信息数据包发送到本地中央服务器LCS,接收本地中央服务器LCS返回的认证令牌NAToken,并和本地中央服务器LCS地址信息组成一个认证重定向响应包发送给客户应用APP;客户应用APP验证通过本地中央服务器LCS的身份后,本地中央服务器LCS接收客户应用APP的用户身份认证数据包并返回用户认证成功数据包到资源服务器RS。
[0056] 所述的本地中央服务器LCS存储并统一管理客户应用APP的身份信息、对各资源设备RE的访问权限策略以及各资源服务器RS的公钥、地址信息等信息;用于授权客户应用APP访问资源设备RE并参与认证流程。
[0057] 所述授权客户应用APP访问资源设备RE具体是通过查询资源授权数据库,确认客户应用APP是否有权进行该资源访问请求,并将资源授权结果和与该资源访问令牌对应的资源授权策略发送到资源服务器RS;
[0058] 所述参与认证流程具体包括本地中央服务器LCS的身份认证和用户的身份认证,分别是接收资源服务器RS的身份信息进而生成认证令牌NAToken,然后将NAToken和NRS发送到资源服务器RS;接收客户应用APP发送的用户身份认证数据包,核对验证相关信息后生成用户资源访问令牌NAccToken、通信密钥KA‑RS和KRS‑L,然后将NAccToken、KA‑RS和KRS‑L等信息发送到资源服务器RS,将NAccToken、KA‑RS等信息发送到客户应用APP。
[0059] 所述的根服务器GRS预先存储有本地中央服务器LCS的IP地址、公钥等信息,当系统中添加一个本地中央服务器LCS后,需要在根服务器GRS中添加本地中央服务器LCS的相关信息;用于参与认证流程。
[0060] 所述参与认证流程即认证本地中央服务器LCS,具体是接收客户应用APP发送的本地中央服务器LCS的地址信息,判断是否与预先存储的对应信息一致。若一致则验证通过,并将该本地中央服务器LCS的公钥KLCS发送到客户应用APP。
[0061] 上述提及的认证令牌AToken(Authentication Token)是由本地中央服务器LCS生成并用资源服务器RS私钥加密。用于认证客户应用APP和本地中央服务器LCS对资源服务器RS的认证。
[0062] 上述提及的资源访问令牌AccToken(Access Token)是在用户及客户应用APP通过本地中央服务器LCS认证后,会生成并加密分发给资源服务器RS和客户应用APP,用于后续资源访问中资源服务器对客户应用APP的认证。
[0063] 上述提及的即将到访用户表用于记录即将到访的请求认证的客户应用APP信息、请求访问的资源服务器RS的IP地址以及认证令牌。
[0064] 本发明的有益效果如下:
[0065] 原有的基于OAuth思想的ACE‑OAuth解决方案虽然利用第三方授权服务器缓解了物联网受限设备的资源压力,但为了保证数据的通信安全,在对用户进行身份认证前,客户端、授权服务器及资源服务器两两间仍需进行传统的(基于证书的)通信密钥协商,增加了一定的计算消耗量和数据传输量。针对上述技术难点,本发明提出了在认证过程中融入通信密钥协商的解决方法,并由负责授权的本地中央服务器分发令牌和通信密钥,在不涉及证书的情况下,完成三方的身份认证。在保证了数据传输安全性的同时,不仅能够有效减少认证过程中的交互轮数,还能够有效减少通信数据传输量和密钥协商过程中的计算量,降低系统开销,更容易投入到实际应用中。

实施方案

[0073] 下面结合附图和具体实施方式对本发明的具体实施方案作进一步详细描述和说明。
[0074] 如图1所示,一种轻量级的无证书工业物联网访问控制方法通过本地服务器作为可信第三方,使用基于公钥的挑战应答、令牌和口令实现用户和资源服务器之间的双向认证,并将通信密钥协商融入认证过程,在保证用户认证及密钥协商安全性的同时,有效减少认证过程中的交互轮数。
[0075] 该方法基于以下设置:资源服务器RS与负责其认证的本地中央服务器LCS互相预置有对方的公钥信息,资源服务器RS预置负责其认证的本地中央服务器LCS地址信息,客户应用APP预置根服务器GRS的公钥和地址信息,根服务器GRS预置本地中央服务器LCS的公钥和地址信息;
[0076] 主要包括认证、带资源访问令牌的访问及访问退出三个流程,其中:
[0077] 如图2认证流程包含如下步骤:
[0078] 步骤1:客户应用Client App(APP)向资源服务器Resource Server(RS)发起携带资源访问身份信息的认证请求;其中资源访问身份信息包括客户应用APP身份信息(如客户应用APP的IP地址)、用户身份信息(如用户身份ID)等;
[0079] 步骤2:资源服务器RS接收该认证请求,并生成一个随机数NRS;然后利用本地中央服务器Local Central Server(LCS)的公钥KLCS将随机数NRS、接收到的资源访问身份信息(包括客户应用APP身份信息和用户身份信息)、资源服务器RS的身份标识进行加密,构成身份信息数据包发送给本地中央服务器LCS。
[0080] 步骤3:本地中央服务器LCS接收资源服务器RS的身份信息数据包并用本地中央服务器LCS的私钥 解密数据,生成一个随机数作为认证令牌Authentication Token(AToken)NAToken,并根据资源服务器RS的身份标识从预存的资源服务器公钥数据库中得到对应资源服务器RS的公钥KRS和地址信息;然后将资源访问身份信息(包括客户应用APP身份信息和用户身份信息)、资源服务器RS的地址信息和认证令牌NAToken等存入即将到访用户表中;再利用资源服务器公钥KRS将认证令牌NAToken、随机数NRS进行加密,构成认证令牌数据包发送到资源服务器RS。
[0081] 步骤4:资源服务器RS接收本地中央服务器LCS的认证令牌数据包,用资源服务器RS的私钥 解密数据包,然后将认证令牌NAToken和本地中央服务器LCS的地址信息构成的认证重定向响应包发送给客户应用APP。
[0082] 步骤5:客户应用APP接收资源服务器RS的认证重定向响应包,从中提取本地中央服务器LCS地址信息和认证令牌NAToken。判断客户应用APP的本地存储中是否含有该本地中央服务器LCS的公钥,若不包含则随机生成根服务器GlobalRootServer(GRS)与客户应用APP之间的通信密钥KG‑A,然后利用根服务器GRS的公钥KGRS将KG‑A、本地中央服务器LCS的地址信息进行加密,构成本地中央服务器LCS验证包发送到根服务器GRS,跳转到步骤6;若包含则跳转到步骤8。
[0083] 步骤6:根服务器GRS接收客户应用APP发来的本地中央服务器LCS验证包,用根服务器GRS的私钥 解密验证包,判断接收到的本地中央服务器LCS地址信息是否与预先存储的对应信息一致。若一致则验证通过,并利用通信密钥KG‑A将该本地中央服务器LCS的公钥KLCS进行加密,构成本地中央服务器LCS验证确认包发送到客户应用APP,跳转到步骤7;若不一致则返回错误响应到客户应用APP。
[0084] 步骤7:客户应用APP接收根服务器GRS发回的本地中央服务器LCS验证确认包,用通信密钥KG‑A解密验证确认包,提取本地中央服务器LCS的公钥KLCS,将该公钥KLCS和本地中央服务器LCS地址信息作为一个记录存储到本地;然后生成一个随机数NAPP,并利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9。
[0085] 步骤8:客户应用APP根据本地中央服务器LCS的地址信息从本地存储中提取本地中央服务器LCS对应的公钥KLCS,生成一个随机数NAPP;然后利用KLCS将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken和随机数NAPP进行加密,构成用户身份认证数据包发送到本地中央服务器LCS,进行用户身份认证,跳转到步骤9。
[0086] 步骤9:本地中央服务器LCS接收客户应用APP发送的用户身份认证数据包,先查询该用户身份认证数据包源地址是否在即将到访用户表中,若不存在则返回错误响应到客户应用APP;若存在则用本地中央服务器LCS的私钥 解密该用户身份认证数据包后,查验用户身份认证数据包中的NAToken、用户身份信息是否与本地存储中数据全部一致,若否则验证不通过,则返回错误响应到客户应用APP,若是则验证通过,则本地中央服务器LCS再根据认证令牌NAToken、随机数NAPP、随机数NRS随机生成资源访问令牌Access Token(AccToken)NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS和资源服务器RS与本地中央服务器LCS通信密钥KRS‑L;然后利用资源服务器公钥KRS将NAccToken、KA‑RS、KRS‑L和NRS等信息进行加密,构成用户认证成功数据包发送到资源服务器RS,跳转到步骤10;同时利用客户应用APP公钥KAPP将NAccToken、KA‑RS和NAPP等信息进行加密,构成用户认证成功响应包发送到客户应用APP,跳转到步骤11;
[0087] 步骤10:资源服务器RS接收本地中央服务器LCS的用户认证成功数据包,利用资源服务器RS的私钥 进行解密,提取并存储资源访问令牌NAccToken、资源服务器RS与本地中央服务器LCS通信密钥KRS‑L和客户应用APP与资源服务器RS通信密钥KA‑RS。
[0088] 步骤11:客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP进行解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS。
[0089] 如图3带资源访问令牌的访问流程包含如下步骤:
[0090] 步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS。
[0091] 步骤2:资源服务器RS接收客户应用APP的资源访问请求,利用通信密钥KA‑RS解密数据包,从中提取资源访问令牌NAccToken,通过NAccToken索引资源服务器RS中与之对应的资源授权策略,并与请求的资源操作命令进行比对。若该资源操作命令存在于NAccToken对应的资源授权策略中,则资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若该资源操作命令不存在于NAccToken对应的资源授权策略中,则用通信密钥KRS‑L加密携带资源访问令牌NAccToken的资源授权确认包,发送到本地中央服务器LCS,跳转到步骤3。
[0092] 所述资源授权策略:允许客户应用对目标设备进行的资源操作,如增删改查等基本操作命令,可根据实际使用情况自行设置。
[0093] 步骤3:本地中央服务器LCS接收资源服务器RS的资源授权确认包,用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken。然后查询资源授权数据库,确认该客户应用APP是否有权进行该资源访问请求,利用KRS‑L将资源授权结果和与该资源访问令牌对应的资源授权策略进行加密,构成资源授权数据包发送到资源服务器RS。
[0094] 所述资源授权数据库:本地中央服务器LCS中负责存储客户应用APP权限的数据库。
[0095] 步骤4:资源服务器RS接收本地中央服务器LCS的资源授权数据包,利用通信密钥KRS‑L解密,并将资源授权策略保存到内存中。当资源授权结果为允许时,资源服务器RS与要请求的资源设备RE进行通讯,发送资源操作请求,跳转到步骤5;若资源授权结果为不允许时,则返回错误响应到客户应用APP。
[0096] 步骤5:资源设备RE接收资源服务器RS的资源操作请求,返回操作结果到资源服务器RS。
[0097] 步骤6:资源服务器RS接收资源设备RE的操作结果,利用KA‑RS将操作结果加密后发送到客户应用APP。
[0098] 步骤7:客户应用APP接收资源服务器RS返回的操作结果,并用KA‑RS解密。
[0099] 如图4带资源访问令牌的访问退出流程包含如下步骤:
[0100] 步骤1:客户应用APP用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS。
[0101] 步骤2:资源服务器RS接收客户应用APP的资源访问退出请求,利用通信密钥KA‑RS解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源。然后用密钥KRS‑L加密携带资源访问令牌NAccToken的资源访问退出请求,发送到本地中央服务器LCS。
[0102] 这里的资源服务器RS根据NAccToken释放相关资源属于常规技术,故不详解。
[0103] 步骤3:本地中央服务器LCS接收资源服务器RS的资源访问退出请求,利用通信密钥KRS‑L解密数据包,提取资源访问令牌NAccToken,并根据NAccToken释放相关资源。
[0104] 这里的本地中央服务器LCS根据NAccToken释放相关资源属于常规技术,故不详解。
[0105] 如图1一种轻量级的无证书工业物联网访问控制系统主要包括客户应用APP,与资源服务器通信的资源设备Resourceequipment(RE),与客户应用APP、本地中央服务器LCS通信的资源服务器RS,与客户应用APP、资源服务器RS通信的本地中央服务器LCS,与客户应用通信的根服务器GRS。其中:
[0106] 所述客户应用APP为定制化的移动或桌面应用程序,用于访问工业物联网中的资源设备RE,预先存储有根服务器GRS的公钥和地址信息。用于参与认证流程、参与带资源访问令牌的访问流程、参与带资源访问令牌的访问退出流程。
[0107] 其中参与认证流程具体包括本地中央服务器LCS的身份认证和用户的身份认证。
[0108] 所述本地中央服务器LCS的身份认证是发送认证请求后接收经资源服务器RS传送的本地中央服务器LCS地址信息和认证令牌NAToken,判断本地存储中是否含有与之对应的公钥KLCS,若不包含则对随机生成的通信密钥KG‑A、本地中央服务器LCS地址信息进行加密,发送到根服务器GRS。若包含则验证通过,根服务器GRS返回验证确认包到客户应用APP;
[0109] 所述用户的身份认证是将用户身份信息、客户应用APP公钥KAPP、认证令牌NAToken等信息加密后构成用户身份认证数据包发送到本地中央服务器LCS。若验证通过,本地中央服务器LCS返回利用客户应用APP公钥KAPP加密资源访问令牌NAccToken、客户应用APP与资源服务器RS通信密钥KA‑RS的用户认证成功响应包到客户应用APP。
[0110] 其中用于参与带资源访问令牌的访问流程,具体包括:
[0111] 客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问请求,发送到资源服务器RS。接收资源服务器RS返回的资源设备RE操作结果。
[0112] 其中用于参与带资源访问令牌的访问退出流程,具体包括:
[0113] 客户应用APP接收本地中央服务器LCS的用户认证成功响应包,利用客户应用APP的私钥KAPP解密,提取资源访问令牌NAccToken和客户应用APP与资源服务器RS通信密钥KA‑RS,并利用通信密钥KA‑RS加密携带资源访问令牌NAccToken的资源访问退出请求,发送到资源服务器RS。
[0114] 所述资源设备RE也即工业物联网设备或工业设备,例如传感器、执行器等,属于计算资源受限设备;用于接收资源服务器RS的操作命令,并返回操作结果到资源服务器RS。
[0115] 所述资源服务器RS属于计算资源受限设备,预先存储有本地中央服务器LCS的公钥和地址信息;用于向授权客户应用APP提供服务并参与认证流程。
[0116] 所述向授权客户应用APP提供服务具体是通过从客户应用APP资源访问请求中提取出的资源访问令牌NAccToken索引与之对应的资源授权策略,判断请求的资源操作命令是否存在于该资源授权策略中,若存在则与要请求的资源设备RE进行通讯,否则发送资源授权确认包到本地中央服务器LCS,并接收返回的资源授权结果;
[0117] 所述参与认证流程即用户的身份认证具体是接收客户应用APP的认证请求后将身份信息数据包发送到本地中央服务器LCS,接收本地中央服务器LCS返回的认证令牌NAToken,并和本地中央服务器LCS地址信息组成一个认证重定向响应包发送给客户应用APP;客户应用APP验证通过本地中央服务器LCS的身份后,本地中央服务器LCS接收客户应用APP的用户身份认证数据包并返回用户认证成功数据包到资源服务器RS。
[0118] 所述的本地中央服务器LCS存储并统一管理客户应用APP的身份信息、对各资源设备RE的访问权限策略以及各资源服务器RS的公钥、地址信息等信息;用于授权客户应用APP访问资源设备RE并参与认证流程。
[0119] 所述授权客户应用APP访问资源设备RE具体是通过查询资源授权数据库,确认客户应用APP是否有权进行该资源访问请求,并将资源授权结果和与该资源访问令牌对应的资源授权策略发送到资源服务器RS;
[0120] 所述参与认证流程具体包括本地中央服务器LCS的身份认证和用户的身份认证,分别是接收资源服务器RS的身份信息进而生成认证令牌NAToken,然后将NAToken和NRS发送到资源服务器RS;接收客户应用APP发送的用户身份认证数据包,核对验证相关信息后生成用户资源访问令牌NAccToken、通信密钥KA‑RS和KRS‑L,然后将NAccToken、KA‑RS和KRS‑L等信息发送到资源服务器RS,将NAccToken、KA‑RS等信息发送到客户应用APP。
[0121] 所述的根服务器GRS预先存储有本地中央服务器LCS的IP地址、公钥等信息,当系统中添加一个本地中央服务器LCS后,需要在根服务器GRS中添加本地中央服务器LCS的相关信息;用于参与认证流程。
[0122] 所述参与认证流程即认证本地中央服务器LCS,具体是接收客户应用APP发送的本地中央服务器LCS的地址信息,判断是否与预先存储的对应信息一致。若一致则验证通过,并将该本地中央服务器LCS的公钥KLCS发送到客户应用APP。
[0123] 性能测试
[0124] 性能评估方式:将本发明(以下简称LAAS)与现有ACE‑OAuth方案进行比较,性能指标主要针对资源服务器(RS)在身份认证和访问控制中的网络数据传输量、CPU占用率、硬盘占用。
[0125] 实验中为搭建资源服务器模型,利用了Raspberry Pi 3B+,其搭载的Broadcom BCM2837处理器运行频率为1.4GHZ,操作系统为Contiki3.0,内存占用1GB LPDDR2 SDRAM。
[0126] RS服务器上的数据加密操作通过调用wolfssl的加密库实现。为降低硬盘占用,对wolfssl进行了裁剪,只保留了系统实现需要的那部分函数。其中ACE‑OAuth在涉及密钥协商和证书传递的握手协议方面使用了TLS协议进行实现。
[0127] 图5为本发明方案与现有ACE‑OAuth/TLS方案的磁盘占用对比图。磁盘占用由两部分组成,图中黑色部分Libs binary代表调用库的大小,RS binary表示资源服务器核心代码编译后的大小。由于本发明主要调用wolfssl的加密库实现加密操作,相比ACE‑OAuth需要调用整个TLS协议实现,在磁盘占用上由明显的降低。
[0128] 图6为本发明方案与现有ACE‑OAuth/TLS方案一次认证的CPU占用时间(包含内核态和用户态抢占CPU的时间)对比图。在CPU占用率方面主要利用认证过程中对CPU的占用时间进行评估。由图6可以看出,两种方案在内核态(system)下的CPU占用时间一致,但在用户态中,由于ACE‑OAuth实现TLS协议需要一系列的加解密、签名/解签、传递证书等操作,所以在单词认证流程下本发明的CPU占用率明显更低。
[0129] 图7为本发明方案与现有ACE‑OAuth/TLS方案在认证过程中的数据通信量对比图。主要测量了资源服务器RS所接收和发送的数据量,具体有从客户应用发送到资源服务器的数据、资源服务器发送到客户应用的数据、本地中央服务器发送资源服务器的数据和资源服务器到中央服务器的数据。具体测量方法是通过wireshark工具对认证过程产生的流量进行抓包并进行了统计。由图7可以看出,在总数据量方面,ACE‑OAuth在一次认证流程中资源服务器(RS)的总数据传输量约为7200Byte,而相应的本发明LAAS方案约为2400Byte,降低了2/3,本发明中资源服务器(RS)的数据传输量均显著少于ACE‑OAuth的数据传输量。
[0130] 本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。

附图说明

[0066] 图1为本发明系统总体架构图;
[0067] 图2为认证流程图;
[0068] 图3为带资源访问令牌的访问流程图;
[0069] 图4为带资源访问令牌的访问退出流程图;
[0070] 图5为本发明方案与现有ACE‑OAuth/TLS方案的磁盘占用对比图;
[0071] 图6为本发明方案与现有ACE‑OAuth/TLS方案一次认证的CPU占用时间(包含内核态和用户态抢占CPU的时间)对比图;
[0072] 图7为本发明方案与现有ACE‑OAuth/TLS方案在认证过程中的数据通信量对比图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号