访问控制方法、系统、计算机设备和存储介质与流程

文档序号:20916768发布日期:2020-05-29 13:37阅读:189来源:国知局
访问控制方法、系统、计算机设备和存储介质与流程

本申请涉及网络安全技术领域,特别是涉及一种访问控制方法、系统、计算机设备和存储介质。



背景技术:

物联网系统频繁遭遇分布式拒绝服务攻击、漏洞和病毒的入侵,导致包括互联网在内的基础设施严重崩溃。针对物联网设备的恶意软件,在连接到受害用户时,会传播至受害用户所持有的物联网设备,以分析或控制物联网设备。由此,如何保证物联网设备的安全性是值得关注的问题。目前,通常是通过中心化身份认证与轻量级安全协议来保证物联网的安全问题。但是,该种方式下仍然存在分布式拒绝服务攻击、中间人攻击与物理威胁等安全问题,降低了物联网设备的安全性。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种访问控制方法、系统、计算机设备和存储介质。

一种访问控制方法,所述方法包括:

请求方设备获取申请内容,将携带所述申请内容的令牌申请请求发送至认证服务设备;所述申请内容包括服务方标识;

所述认证服务设备根据所述服务方标识对应的公共参考串与所述申请内容,生成并反馈相应的访问令牌;

请求方设备将携带所述访问令牌的访问请求,传递至所述服务方标识对应的服务方设备;

所述服务方设备解析所述访问令牌得到至少一个加密串,确定每个加密串对应的验证算法,按照所确定的验证算法对应的秘密参数对相应加密串进行零知识验证,并当每个加密串均验证通过时,响应所述访问请求。

在其中一个实施例中,所述认证服务设备根据所述服务方标识对应的公共参考串与所述申请内容,生成并反馈相应的访问令牌,包括:

所述认证服务设备根据所述令牌申请请求确定安全级别,以及所述安全级别对应的至少一个零知识证明算法;

所述认证服务设备按照所确定的每个零知识证明算法对应的秘密参数,根据所述服务方标识对应的公共参考串与所述申请内容,生成相应的加密串;

所述认证服务设备根据每个零知识加密算法对应的加密串,生成并反馈相应的访问令牌。

在其中一个实施例中,所述申请内容包括多个服务方标识与每个服务方标识对应的至少一个访问时间段;所述认证服务设备根据所述服务方标识对应的公共参考串与所述申请内容,生成并反馈相应的访问令牌,包括:

所述认证服务设备根据每个服务方标识对应的公共参考串与所述申请内容,生成与相应的每个访问时间段对应的访问令牌;

所述认证服务设备将针对所述多个服务方标识生成的访问令牌,作为与所述令牌申请请求对应的多个访问令牌,并反馈至所述请求方设备。

在其中一个实施例中,所述请求方设备获取申请内容之前,所述方法还包括:

请求方设备获取注册信息,将携带所述注册信息的注册请求发送至认证服务设备;

所述认证服务设备对所述注册信息与注册时间戳进行哈希计算得到身份私钥,通过椭圆曲线算法根据所述身份私钥确定相应的身份公钥,对所述身份公钥进行哈希计算与编码得到相应地址串,将所述地址串作为请求方标识反馈至所述请求方设备。

在其中一个实施例中,所述将所述地址串与所述身份私钥反馈至所述请求方设备之后,所述方法还包括:

所述请求方设备获取多种目标特征,将携带所述多种目标特征与所述请求方标识的认证请求发送至所述认证服务设备;

所述认证服务设备按照预配置的每个零知识证明算法,根据所述认证请求中的相应目标特征与认证时间戳生成相应的公共参考串,并将所述公共参考串与所述请求方标识关联存储;所述预配置的零知识证明算法有多个。

在其中一个实施例中,所述请求方设备将携带所述访问令牌的访问请求,传递至所述服务方标识对应的服务方设备,包括:

所述请求方设备通过预设离线方式中的至少一种,将携带所述访问令牌的访问请求传递至所述服务方标识对应的服务方设备;

所述预设离线方式包括二维码、声波、红外与蓝牙。

一种访问控制系统,所述系统包括:请求方设备、认证服务设备与服务方设备;

所述请求方设备,用于获取申请内容,将携带所述申请内容的令牌申请请求发送至所述认证服务设备;所述申请内容包括服务方标识;

所述认证服务设备,用于根据所述服务方标识对应的公共参考串与所述申请内容,生成并反馈相应的访问令牌;

所述请求方设备,还用于将携带所述访问令牌的访问请求,传递至所述服务方标识对应的服务方设备;

所述服务方设备,用于解析所述访问令牌得到至少一个加密串,确定每个加密串对应的验证算法,按照所确定的验证算法对应的秘密参数对相应加密串进行零知识验证,并当每个加密串均验证通过时,响应所述访问请求。

在其中一个实施例中,所述认证服务设备,还用于根据所述令牌申请请求确定安全级别,以及所述安全级别对应的至少一个零知识证明算法;按照所确定的每个零知识证明算法对应的秘密参数,根据所述服务方标识对应的公共参考串与所述申请内容,生成相应的加密串;根据每个零知识加密算法对应的加密串,生成并反馈相应的访问令牌。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各个实施例中所述的访问控制方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个实施例中所述的访问控制方法的步骤。

上述访问控制方法、系统、计算机设备和存储介质,请求方设备基于携带有申请内容的令牌申请请求向认证服务设备请求访问令牌,认证服务设备基于申请内容指定的服务方标识所对应的公共参考串与相应申请内容,生成并反馈访问令牌,以便于请求方设备基于该访问令牌访问响应的服务方设备,服务方设备解析请求方设备发送的访问令牌,得到至少一个加密串与每个加密串对应的验证算法,并按照每个验证算法对应的秘密参数对相应加密串进行零知识验证,且在每个加密串均验证通过时判定相应访问令牌验证通过,进而相应该访问请求。这样,基于公共参考串生成访问令牌,并基于访问令牌对应的验证算法所对应的秘密参数验证该访问令牌,能够避免验证过程交换申请随机数共识的过程,能够实现端到端单向提交令牌,避免交互,从而在访问控制过程中能够保证物联网设备的安全性。而通过至少一种验证算法对访问令牌进行零知识验证,能够在加密屏蔽信息串内容以保护隐私的同时验证请求方身份的真伪,以实现物联网设备访问的有效控制,从而能够进一步保证物联网设备的安全性。

附图说明

图1为一个实施例中访问控制方法的应用场景图;

图2为一个实施例中访问控制方法的流程示意图;

图3为另一个实施例中访问控制方法的流程示意图;

图4为一个实施例中应用访问控制方法的边缘网络架构图;

图5为一个实施例中访问控制方法的原理示意图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的访问控制方法,可以应用于如图1所示的应用环境中。其中,请求方设备120与服务方设备160通过网络分别与认证服务设备140进行通信。请求方设备120与服务方设备160之间的通信,可通过网络实现,也可通过离线方式实现,离线方式比如二维码、声波与红外等。请求方设备120、服务方设备160与认证服务设备140,具体可以是物联网设备或智能设备等。物联网设备比如共享智能车,打印机,网络摄像头,住宅网关,医疗设备与智能电网等。智能设备可以是终端或服务器,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。图1所示的请求方设备、服务方设备与认证服务设备仅作为示例,并不用于具体限定。

在一个实施例中,请求方设备、服务方设备与认证服务设备均有多个,请求方设备与服务方设备是相对的。

在一个实施例中,认证服务设备有多个,该多个认证服务设备构成认证服务集群。在一个实施例中,每个认证服务设备上部署有基于区块链技术的全功能客户端。

在一个实施例中,如图2所示,提供了一种访问控制方法,该方法包括以下步骤:

s202,请求方设备获取申请内容,将携带申请内容的令牌申请请求发送至认证服务设备;申请内容包括服务方标识。

其中,申请内容是用于申请访问令牌的内容或数据,具体可包括服务方标识与请求方标识。

具体地,当满足令牌申请条件时,请求方设备获取申请内容,触发生成携带该申请内容的令牌申请请求,并将所生成的令牌申请请求发送至认证服务设备。其中,请求方设备所获取到的申请内容中包括请求方设备对应的请求方标识。令牌申请条件比如检测到令牌申请触发操作,或者,当前时间与预设令牌申请时间一致等。

在一个实施例中,申请内容中还包括访问时间段,以便于认证服务设备基于该访问时间段触发生成具有时间限制的访问令牌。由此,访问令牌的有效时间与访问时间段相对应。可以理解,申请内容中可包括多个访问时间段,以便于认证服务设备基于每个访问时间段触发生成相应的访问令牌。

在一个实施例中,申请内容中还包括服务方设备的功能,以便于认证服务设备触发生成能够访问服务方设备的该功能的访问令牌。可以理解,申请内容中可包括服务方式设备的多个功能,以便于认证服务设备针对每个功能触发相应的访问令牌。申请内容中还可包括每个功能对应的访问时间段,以便于认证服务设备针对每个功能对应的每个访问时间段触发相应的访问令牌。

在一个实施例中,申请内容中还可包括多个服务方标识,以便于认证服务设备针对每个服务方设备分别触发相应的访问令牌。

可以理解,若请求方设备基于携带申请内容的令牌申请请求,从认证服务设备获取到多个访问令牌,则在后续访问具有相应访问令牌的服务方设备时,无需实时的从认证服务设备请求访问令牌,基于预先批量请求的访问令牌即可直接访问相应服务方设备。由此,能够降低访问令牌的请求复杂度与请求次数,从而能够提高访问令牌获取的安全性,且为端到端离线验证提供基础。

s204,认证服务设备根据服务方标识对应的公共参考串与申请内容,生成并反馈相应的访问令牌。

其中,访问令牌是请求方设备访问服务方设备的凭证或依据,具体可以是有数字、字母与符号等字符组成的字符串。

具体地,认证服务设备解析所接收到的令牌申请请求得到申请内容,根据申请内容确定服务方标识,并从本地查询与服务方标识对应的公共参考串。认证服务设备根据根据所查询到的公共参考串与相应的申请内容,触发生成与请求方设备对应的访问令牌,并将所生成的访问令牌反馈至相应请求方设备。

在一个实施例中,认证服务设备根据令牌申请请求确定至少一种零知识证明算法,并根据所确定的每种零知识证明算法与服务方标识从本地获取相应的公共参考串。认证服务设备按照所确定的每种零知识证明算法,根据相应的公共参考串与申请内容生成相应的加密串,并根据每种零知识证明算法对应的加密串得到令牌申请请求对应的访问令牌。

在一个实施例中,认证服务设备根据所确定的每种零知识证明算法与请求方标识获取相应的验证因素,并按照每种零知识证明算法,根据相应的公共参考串、验证因素与申请内容,生成与该零知识证明算法对应的加密串,进而将每种零知识证明算法对应的加密串进行动态组合,能够得到访问令牌。由此,基于多个验证因素与多种零知识证明算法动态生成访问令牌,能够提高访问令牌的安全性,降低被攻击者利用与破解的概率。多个验证因素具体可包括时间、地点、执行主体、成员集合和权限、访问关系等。

s206,请求方设备将携带访问令牌的访问请求,传递至服务方标识对应的服务方设备。

具体地,当需要访问服务方设备时,请求方设备根据服务方设备对应的服务方标识,从本地获取相应的访问令牌,触发生成携带访问令牌的访问请求,并将该访问请求发送至相应服务方式设备。

s208,服务方设备解析访问令牌得到至少一个加密串,确定每个加密串对应的验证算法,按照所确定的验证算法对应的秘密参数对相应加密串进行零知识验证,并当每个加密串均验证通过时,响应访问请求。

具体地,服务方设备解析所所接收到的访问请求得到访问令牌,并解析访问令牌得到相应的至少一个加密串,以及每个加密串对应的验证算法。请求方设备根据每个验证算法对应的秘密参数分别对相应的加密串进行零知识验证,当判定每个加密串均验证通过时,判定相应的访问令牌验证通过,则响应相应的访问请求。

在一个实施例中,访问令牌由至少一个加密串组成,每个加密串对应有相应的验证算法。服务方设备按照验证算法即可从访问令牌中分离出其所包括的每个加密串。

在一个实施例中,加密串对应的验证算法与生成该加密串的零知识证明算法相对应。

上述访问控制方法,请求方设备基于携带有申请内容的令牌申请请求向认证服务设备请求访问令牌,认证服务设备基于申请内容指定的服务方标识所对应的公共参考串与相应申请内容,生成并反馈访问令牌,以便于请求方设备基于该访问令牌访问响应的服务方设备,服务方设备解析请求方设备发送的访问令牌,得到至少一个加密串与每个加密串对应的验证算法,并按照每个验证算法对应的秘密参数对相应加密串进行零知识验证,且在每个加密串均验证通过时判定相应访问令牌验证通过,进而相应该访问请求。这样,基于公共参考串生成访问令牌,并基于访问令牌对应的验证算法所对应的秘密参数验证该访问令牌,能够避免验证过程交换申请随机数共识的过程,能够实现端到端单向提交令牌,避免交互,从而在访问控制过程中能够保证物联网设备的安全性。而通过至少一种验证算法对访问令牌进行零知识验证,能够在加密屏蔽信息串内容以保护隐私的同时验证请求方身份的真伪,以实现物联网设备访问的有效控制,从而能够进一步保证物联网设备的安全性。

在一个实施例中,步骤s204包括:认证服务设备根据令牌申请请求确定安全级别,以及安全级别对应的至少一个零知识证明算法;认证服务设备按照所确定的每个零知识证明算法对应的秘密参数,根据服务方标识对应的公共参考串与申请内容,生成相应的加密串;认证服务设备根据每个零知识加密算法对应的加密串,生成并反馈相应的访问令牌。

具体地,认证服务设备解析令牌申请请求得到安全级别标识字段,根据该安全级别标识字段确定相应的安全级别,从预配置的多种零知识证明算法中选取与该安全级别对应的至少一种零知识证明算法,并确定所选取出的每种零知识证明算法对应的秘密参数。认证服务设备按照所选取出的每种零知识证明算法对应的秘密参数,根据该零知识证明算法与服务方标识对应的公共参考串,以及相应的申请内容生成与该零知识证明算法对应的加密串,将该至少一种零知识证明算法各自对应的加密串进行动态组合,得到相应的访问令牌,并将该访问令牌反馈至相应请求方设备。

在一个实施例中,认证服务设备根据安全级别标识字段确定相应的安全级别数值,并基于安全级别数值确定安全级别。针对每个安全级别预配置有相应的零知识证明算法组,任意两个零知识证明算法组中的零知识证明算法不完全相同。由此,基于安全级别能够确定相应的至少一个零知识证明算法。

举例说明,预配置的多种零知识证明算法包括:构建工作量证明1、同态加密2、签名3、单向成员集合验证4与非交互零知识证明5等,预配置的安全级别1至5,各自对应的零知识证明算法组分别为1、1+2、1+2+3、1+2+3+4、1+2+3+4+5,由此,安全级别越高,相应零知识证明算法组中包括的零知识证明算法数量越多,以逐步增加计算难度。

上述实施例中,基于安全级别动态确定至少一种零知识证明算法,并基于动态确定的至少一种零知识证明算法确定相应的访问令牌,增加了安全算法复杂度,能够提高访问令牌的可靠性。

在一个实施例中,申请内容包括多个服务方标识与每个服务方标识对应的至少一个访问时间段;步骤s204包括:认证服务设备根据每个服务方标识对应的公共参考串与申请内容,生成与相应的每个访问时间段对应的访问令牌;认证服务设备将针对多个服务方标识生成的访问令牌,作为与令牌申请请求对应的多个访问令牌,并反馈至请求方设备。

具体地,认证服务设备解析令牌申请请求中的申请内容,得到多个服务方标识与每个服务方标识对应的至少一个访问时间段,并确定相应的零知识证明算法。对于每个服务方标识,认证服务设备按照所确定的零知识证明算法,根据相应的公共参考串与申请内容,生成与该服务方标识对应的每个访问时间段所对应的访问令牌。认证服务设备可按照上述一个或多个实施例中提供的访问令牌生成流程,生成每个服务方标识对应的访问令牌,在此不再赘述。认证服务设备针对令牌申请请求中的每个服务方标识分别生成相应的访问令牌,得到该令牌申请请求对应的多个访问令牌,并将多个访问令牌反馈至相应的请求方设备。

在一个实施例中,当申请内容中包括多个服务方标识时,根据令牌申请请求统一确定该多个服务方标识各自对应的安全级别,也可根据每个服务方标识对应的安全级别标识字段,确定相应的安全级别。

上述实施例中,通过单个令牌申请请求申请多个访问令牌,以实现访问令牌的批量申请,以便于无网络服务中断的情况下,基于批量申请的访问令牌进行离线访问,为不安全网络中任意两方离线验证提供基础,无需实时从认证服务设备请求访问令牌,从而能能够实现端到端的离线验证。

在一个实施例中,步骤s202之前,上述访问控制方法还包括:请求方设备获取注册信息,将携带注册信息的注册请求发送至认证服务设备;认证服务设备对注册信息与注册时间戳进行哈希计算得到身份私钥,通过椭圆曲线算法根据身份私钥确定相应的身份公钥,对身份公钥进行哈希计算与编码得到相应地址串,将地址串作为请求方标识反馈至请求方设备。

具体地,请求方设备获取注册信息,触发生成携带该注册信息的注册请求,并将所生成的注册请求发送至认证服务设备。认证服务设备解析注册请求得到注册信息,并获取当前时间作为注册时间戳。认证服务设备通过预设的哈希算法对注册信息与注册时间戳进行哈希计算,得到请求方设备对应的身份私钥,通过椭圆曲线算法基于该身份私钥确定相应的身份公钥,通过预设的哈希算法对该身份公钥进行哈希计算得到公钥哈希值,对公钥哈希值按照预设编码算法进行编码得到请求方设备对应的地址串,将该地址串作为请求方设备对应的请求方标识,并将请求方标识反馈至请求方设备。

常用的哈希算法比如,md5(messagedigestalgorithm,消息摘要算法第五版)、sha1(securehashalgorithm1,安全哈希算法1)、sha2(securehashalgorithm2,安全哈希算法1)和sha256(一种哈希值长度为256位的安全哈希算法)等,本实施例在此不做具体限定。预设的编码算法比如base56编码。可以理解,椭圆曲线算法(ecc,ellipticcurvecryptography)相较于rsa算法等,有更强的抗攻击性、更低的硬件需求、更快的加密速度等优势。

在一个实施例中,认证服务设备对身份公钥进行两次哈希计算得到公钥哈希值,对公钥哈希值按照预设编码算法进行编码得到请求方设备对应的地址串,

在一个实施例中,认证服务设备将请求方设备对应的身份私钥反馈至请求方设备,以便于请求方设备基于自身的身份私钥进行后续的认证。

在一个实施例中,认证服务设备基于请求方设备发送的注册请求,为该请求方设备分配多组地址串与相应的密钥对。可以理解,每组地址串与密钥对具有相应的有效时间,以便于请求方设备在不同时间段基于相应的地址串与密钥对进行身份认证,从而能够保证请求方设备的安全性。认证服务设备可采用不同的哈希算法和/或编码算法来生成不同的地址串与密钥对,还可在注册信息中添加标识字段,以便于生成多组地址串与密钥对。

在一个实施例中,服务方设备的注册流程与上述请求方设备的注册流程类似,在此不再赘述。

上述实施例中,通过哈希算法、椭圆曲线算法与预设编码算法,根据请求方设备对应的注册信息,构建匿名的地址串,并将该地址串作为请求方设备对应的请求方标识。地址串用于在边缘网络中唯一标识相应的请求方设备。

在一个实施例中,将地址串与身份私钥反馈至请求方设备之后,上述访问控制方法还包括:请求方设备获取多种目标特征,将携带多种目标特征与请求方标识的认证请求发送至认证服务设备;认证服务设备按照预配置的每个零知识证明算法,根据认证请求中的相应目标特征与认证时间戳生成相应的公共参考串,并将公共参考串与请求方标识关联存储;预配置的零知识证明算法有多个。

其中,目标特征是用于标识请求方设备或请求方设备对应的用户的特征。当参与认证的是请求方设备本身时,目标特征具体可以是请求方设备对应的物理位置标识与uuid(universallyuniqueidentifier,通用唯一识别码)等。当参与认证的是请求方式设备对应的用户时,目标特征具体可以是用户对应的生物特征、pin(personalidentificationnumber,个人身份识别码)与短信等。预配置的零知识证明算法具体可包括构建工作量证明、同态加密、签名、单向成员集合验证与非交互零知识证明等。

具体地,当满足认证触发条件时,请求方式设备获取多种目标特征,触发生成携带该多种目标特征与自身对应的请求方标识的认证请求,并将该认证请求发送至认证服务设备。认证服务设备从本地获取预配置的多种零知识证明算法,从认证请求中确定与每种零知识算法对应的目标特征。对于预配置的每种零知识算法,认证服务设备按照该种零知识证明算法,根据相应的目标特征与当前的认证时间戳,生成与该零知识证明算法对应的公共参考串。认证服务设备将基于该多种零知识证明算法生成的公共参考串与相应的请求方标识关联存储,得到该请求方标识对应的多个公共参考串。认证触发条件比如检测到认证触发操作,或者,接收到认证服务设备针对注册请求反馈的地址串等。

在一个实施例中,当请求方设备为物联网设备、且该物联网设备自身需要进行本地认证时,由认证服务设备所处的认证服务集群对应的管理员,在本地完成该物联网设备的物理位置识别、配对、唯一uuid确定与绑定。

在一个实施例中,请求方设备、认证服务设备与服务方设备,针对每种预配置的零知识证明算法预先配置有相应的秘密参数。秘密参数是指相应零知识证明算法中可动态调整的参数。认证服务设备按照每种零知识证明算法对应的秘密参数,根据相应的目标验证与当前的认证时间戳生成相应的公共参考串。

上述实施例中,认证服务设备基于多种目标特征,按照多种零知识证明算法,确定请求方设备对应的多个公共参考串,该多种目标特征作为用于验证请求方设备的身份的多个可验证因素,该多个公共参考串作为多个证明串,能够提高进行访问控制时验证的可靠性。而将认证时间戳与目标相结合来生成公共参考串,能够进一步保证公共参考串的随机性与公信力,从而能够进一步保证验证的可靠性。

在一个实施例中,步骤s206包括:请求方设备通过预设离线方式中的至少一种,将携带访问令牌的访问请求传递至服务方标识对应的服务方设备;预设离线方式包括二维码、声波、红外与蓝牙。

具体地,请求方设备触发生成携带访问令牌的访问请求后,通过二维码、声波、红外与蓝牙等预设离线方式中的至少一种,将该访问请求传递至服务方标识对应的请求方设备。

上述实施例中,通过离线方式传递携带访问令牌的访问请求,以强化网络与物理挟持的应对能力,避免联网远程入侵与无网络服务中断等风险,从而能够进一步保证物联网设备的安全性。

图3为一个实施例中提供的一种访问控制方法,该方法具体包括以下步骤:

s302,请求方设备获取注册信息,将携带注册信息的注册请求发送至认证服务设备。

s304,认证服务设备对注册信息与注册时间戳进行哈希计算得到身份私钥,通过椭圆曲线算法根据身份私钥确定相应的身份公钥,对身份公钥进行哈希计算与编码得到相应地址串,将地址串作为请求方标识反馈至请求方设备。

s306,请求方设备获取多种目标特征,将携带多种目标特征与请求方标识的认证请求发送至认证服务设备。

s308,认证服务设备按照预配置的每个零知识证明算法,根据认证请求中的相应目标特征与认证时间戳生成相应的公共参考串,并将公共参考串与请求方标识关联存储;预配置的零知识证明算法有多个。

s310,请求方设备获取申请内容,将携带申请内容的令牌申请请求发送至认证服务设备;申请内容包括服务方标识。

s312,认证服务设备根据服务方标识对应的公共参考串与申请内容,生成并反馈相应的访问令牌。

s314,请求方设备将携带访问令牌的访问请求,传递至服务方标识对应的服务方设备。

s316,服务方设备解析访问令牌得到至少一个加密串,确定每个加密串对应的验证算法,按照所确定的验证算法对应的秘密参数对相应加密串进行零知识验证,并当每个加密串均验证通过时,响应访问请求。

图4为一个实施例中应用访问控制方法的边缘网络架构图。边缘网络是相对于整个物联网而言的,边缘网络是指物联网在一个区域内的自治网络,家庭内网络、办公室内网络、工厂内网络等。边缘网络包括用户、智能设备与物联网设备,用户通过与其绑定的智能设备加入该边缘网络。从边缘网络中选取具有公信力的智能设备和/或物联网设备作为认证服务设备,并基于所选取的认证服务设备构建认证服务集群。由能够提供访问服务的服务方设备,共同向用户、智能设备与物联网设备提供物联网本地服务。如图4所示,用户、智能设备、物联网设备与提供物联网本地服务的服务方设备,均需通过认证服务集群进行注册、认证与授权。

图5为一个实施例中访问控制方法的原理示意图。在边缘网络中的多节点部署全功能客户端,由部署有全功能客户端的节点构建认证服务集群,并在该认证服务集群中部署网络管理、认证服务与令牌预约服务等多个服务功能。网络管理是指对认证服务集群中的成员进行准入与删除等操作,并配置管理员与普通查看用户等。网络管理可用于维护成员、查看列表与审计行为等。认证服务为用户、智能设备与物联网设备提供认证服务功能。用户、智能设备与物联网设备作为请求方设备,通过自身对应的客户端向令牌预约服务批量申请令牌,并在需要访问物联网本地服务时,通过客户端触发生成携带访问令牌的访问请求,将访问请求发送至服务方设备。服务方设备解析访问令牌得到至少一个加密串,并判断访问令牌中每个加密串是否都通过验证,若是,则允许请求方设备访问物理网本地服务,否则,则拒绝访问请求。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图1所示,提供了一种访问控制系统100,该系统包括:请求方设备120、认证服务设备140与服务方设备160;

请求方设备120,用于获取申请内容,将携带申请内容的令牌申请请求发送至认证服务设备;申请内容包括服务方标识;

认证服务设备140,用于根据服务方标识对应的公共参考串与申请内容,生成并反馈相应的访问令牌;

请求方设备120,还用于将携带访问令牌的访问请求,传递至服务方标识对应的服务方设备;

服务方设备160,用于解析访问令牌得到至少一个加密串,确定每个加密串对应的验证算法,按照所确定的验证算法对应的秘密参数对相应加密串进行零知识验证,并当每个加密串均验证通过时,响应访问请求。

在一个实施例中,认证服务设备140,还用于根据令牌申请请求确定安全级别,以及安全级别对应的至少一个零知识证明算法;按照所确定的每个零知识证明算法对应的秘密参数,根据服务方标识对应的公共参考串与申请内容,生成相应的加密串;根据每个零知识加密算法对应的加密串,生成并反馈相应的访问令牌。

在一个实施例中,申请内容包括多个服务方标识与每个服务方标识对应的至少一个访问时间段;认证服务设备140,还用于根据每个服务方标识对应的公共参考串与申请内容,生成与相应的每个访问时间段对应的访问令牌;将针对多个服务方标识生成的访问令牌,作为与令牌申请请求对应的多个访问令牌,并反馈至请求方设备。

在一个实施例中,请求方设备120,还用于获取注册信息,将携带注册信息的注册请求发送至认证服务设备;认证服务设备140,还用于对注册信息与注册时间戳进行哈希计算得到身份私钥,通过椭圆曲线算法根据身份私钥确定相应的身份公钥,对身份公钥进行哈希计算与编码得到相应地址串,将地址串作为请求方标识反馈至请求方设备。

在一个实施例中,请求方设备120,还用于获取多种目标特征,将携带多种目标特征与请求方标识的认证请求发送至认证服务设备;认证服务设备140,还用于按照预配置的每个零知识证明算法,根据认证请求中的相应目标特征与认证时间戳生成相应的公共参考串,并将公共参考串与请求方标识关联存储;预配置的零知识证明算法有多个。

在一个实施例中,请求方设备120,还用于通过预设离线方式中的至少一种,将携带访问令牌的访问请求传递至服务方标识对应的服务方设备;预设离线方式包括二维码、声波、红外与蓝牙。

关于访问控制系统的具体限定可以参见上文中对于访问控制方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是用作于请求方设备、认证服务设备或服务方设备的终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种访问控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例中的访问控制方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例中的访问控制方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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