掌桥专利:专业的专利平台
掌桥专利
首页

访问控制系统、方法、设备及计算机可读存储介质

文献发布时间:2024-04-18 19:59:31


访问控制系统、方法、设备及计算机可读存储介质

技术领域

本发明实施例涉及但不限于位置服务及网络安全技术领域,尤其涉及一种访问控制系统、方法、设备及计算机可读存储介质。

背景技术

相关技术在基于位置信息的访问控制领域中,将个人轨迹信息通过区块链设备加密上链保存,然后验证方要求数据所有者证明其个人轨迹,数据所有者从区块链上获取个人位置信息后在个人终端上计算可证明的结果。但是数据所有者在个人终端上向验证方展示验证结果时,验证方难以验证数据所有者可能存在的假冒或篡改风险。

发明内容

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供了一种访问控制系统、方法、设备及计算机可读存储介质,能够避免数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置服务的服务提供方权益。

第一方面,本发明实施例提供了一种访问控制系统,包括:

服务请求设备,用于发送服务请求和授权查询标识;

服务提供设备,与所述服务请求设备连接,用于接收所述服务请求和所述授权查询标识,根据所述服务请求和所述授权查询标识生成零知识证明的约束条件,并将所述约束条件输出;

位置提供设备,与所述服务提供设备连接,用于接收所述约束条件,根据所述约束条件基于零知识证明得到可证明结果,并将所述可证明结果输出给所述服务提供设备;所述服务提供设备还用于对所述可证明结果进行验证处理得到验证结果,并根据所述验证结果判断是否对所述服务请求设备提供基于位置的服务,其中,所述可证明结果不包括所述服务请求设备的位置数据。

第二方面,本发明实施例还提供了一种访问控制方法,应用于服务请求设备,所述方法包括:

向服务提供设备发送服务请求和授权查询标识,以使所述服务提供设备根据所述服务请求和所述授权查询标识生成零知识证明的约束条件并将所述约束条件输出给位置提供设备;

接收来自所述服务提供设备的基于位置的服务,其中,所述基于位置的服务是所述服务设备对来自所述位置提供设备提供的的可证明结果进行验证处理后发送的,所述可证明结果是所述位置提供设备根据所述约束条件,基于零知识证明得到的,其中,所述可证明结果不包括所述服务请求设备的位置数据。

第三方面,本发明实施例还提供了一种访问控制方法,应用于服务提供设备,所述方法包括:

接收服务请求设备的服务请求和授权查询标识,并根据所述服务请求和所述授权查询标识,得到零知识证明的约束条件;

向位置提供设备发送所述约束条件,以使所述位置提供设备根据所述约束条件,基于零知识证明得到可证明结果,其中,所述可证明结果不包括所述服务请求设备的位置数据;

接收所述位置提供设备发送的所述可证明结果,对所述可证明结果进行验证处理,得到验证结果,并根据所述验证结果,判断是否对所述服务请求设备提供基于位置的服务;

在判断结果为是的情况下,发送所述基于位置的服务。

第四方面,本发明实施例还提供了一种访问控制方法,应用于位置提供设备,所述方法包括:

获取来自服务提供设备的零知识证明的约束条件,并根据所述约束条件基于零知识证明得到可证明结果,其中,所述可证明结果不包括所述服务请求设备的位置数据;

将所述可证明结果输出给所述服务提供设备,以使所述服务提供设备对所述可证明结果进行验证处理生成验证结果,并根据所述验证结果判断是否对服务请求设备提供基于位置的服务。

第五方面,本发明实施例还提供了一种访问控制设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:

如上述第二方面所述的访问控制方法;

或者,

如上述第三方面所述的访问控制方法;

或者,

如上述第四方面所述的访问控制方法。

第六方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:

执行如上述第二方面所述的访问控制方法;

或者,

执行如上述第三方面所述的访问控制方法;

或者,

执行如上述第四方面所述的访问控制方法。

本发明实施例包括:数据所有者通过服务请求设备向服务提供设备发送服务请求和授权查询标识;服务提供设备与服务请求设备连接以接收服务请求和授权查询标识,并根据服务请求和授权查询标识生成零知识证明的约束条件,且将约束条件输出给位置提供设备;位置提供设备与服务提供设备连接以接收约束条件,并根据约束条件查询得到服务请求设备的位置数据,且对约束条件和位置数据进行零知识证明以得到可证明结果,再将可证明结果输出给服务提供设备;服务提供设备还用于对可证明结果进行验证处理得到验证结果,并根据验证结果对服务请求设备提供基于位置的服务。与相关技术相比,本发明实施例的访问控制系统,由数据所有者通过服务请求设备对服务提供设备进行授权,并对约束条件和位置数据进行零知识证明,能够避免数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供方权益;也不需要引入新的可信设备,可证明结果不包括服务请求设备的位置数据,基于现有的接入网络即可保护个人隐私数据和保证计算完整性的可信度,进而降低成本。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1是本发明第一方面的一个实施例提供的访问控制系统的结构示意图;

图2是本发明第一方面的一个实施例提供的访问控制系统具体的结构示意图;

图3是本发明第一方面的一个实施例提供的基于蜂窝网络用户行程的访问控制系统的结构示意图;

图4是本发明第一方面的另一个实施例提供的基于用户接入位置的权限评估系统的结构示意图;

图5是本发明第二方面的一个实施例提供的访问控制方法的流程示意图;

图6是本发明第三方面的一个实施例提供的访问控制方法的流程示意图;

图7是本发明第三方面的另一个实施例提供的获取约束条件的流程示意图;

图8是本发明第三方面的另一个实施例提供的获取验证结果的流程示意图;

图9是本发明第三方面的另一个实施例提供的业务模块对验证结果进行处理的流程示意图;

图10是本发明第三方面的另一个实施例提供的对可证明结果进行验证处理的流程示意图;

图11是本发明第三方面的另一个实施例提供的对服务请求设备提供基于位置服务的流程示意图;

图12是本发明第四方面的一个实施例提供的访问控制方法的流程示意图;

图13是本发明第四方面的另一个实施例提供的获取可证明结果的流程示意图。

具体实施方式

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

需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

传统的基于位置的访问控制系统中,以传统蜂窝网络中无线接入网络的信号定位为例,用户手机终端所在小区标识定位就是基础的定位功能,基站里每个小区都有相对固定的覆盖范围和编号,最简单的定位方法就是根据终端所接入的小区进行定位。基站测量定位信号接收终端反馈的测量结果,将信息上报给定位解算引擎,然后定位引擎根据测量信息计算终端的位置坐标,并将位置坐标发送至定位平台,最终传递到各种基于位置的应用。其他各种接入网络场景如基于卫星定位或基于室内定位等技术也是类似的原理。这种传统的接入网络下基于位置的访问控制系统,需要个人数据所有者向接入网络的数据平台发送请求,数据平台返回在一定时间和空间下的个人位置轨迹信息,进而个人数据所有者展示这些明文数据以换取基于位置的服务。

但是,这种传统的基于位置的访问控制系统在无法证明计算完整性的情况下,数据所有者依然必须无条件信任接入网络的数据平台,而事实上数据平台面临着因处理过程无意失误导致结果出错、有意作弊导致篡改计算过程和结果、被恶意攻击者攻陷并控制等风险;并且数据所有者必须通过展示个人的位置轨迹信息来换取相应的基于位置的服务,牺牲了个人的数据隐私性;另外,提供位置服务的服务提供者只能查看而不能验证,导致数据所有者可能通过伪造等方式提交不合法的证明,无法保护服务提供者的利益。

相关技术在基于位置信息的访问控制领域中,提供了基于区块链的零知识证明方式,将个人轨迹信息通过区块链设备加密上链保存,然后验证方要求数据所有者证明其个人轨迹,数据所有者从区块链上获取个人位置信息后在个人终端上计算可证明的结果。但是数据所有者在个人终端上向验证方展示验证结果时,验证方难以验证数据所有者可能存在的假冒或篡改风险。

基于上述情况,本发明实施例提供了一种访问控制系统、方法、设备及计算机可读存储介质,其中,访问控制系统包括服务请求设备、服务提供设备和位置提供设备,数据所有者通过服务请求设备向服务提供设备发送服务请求和授权查询标识;服务提供设备与服务请求设备连接以接收服务请求和授权查询标识,并根据服务请求和授权查询标识生成零知识证明的约束条件,且将约束条件输出给位置提供设备;位置提供设备与服务提供设备连接以接收约束条件,并根据约束条件查询得到服务请求设备的位置数据,且对约束条件和位置数据进行零知识证明以得到可证明结果,再将可证明结果输出给服务提供设备;服务提供设备还用于对可证明结果进行验证处理得到验证结果,并根据验证结果对服务请求设备提供基于位置的服务。与相关技术相比,本发明实施例的访问控制系统,由数据所有者通过服务请求设备对服务提供设备进行授权,并对约束条件和位置数据进行零知识证明,能够避免数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供方权益;也不需要引入新的可信设备,可证明结果不包括服务请求设备的位置数据,基于现有的接入网络即可保护个人隐私数据和保证计算完整性的可信度,进而降低成本。

下面结合附图,对本发明实施例作进一步阐述。

本发明第一方面实施例具体提供一种访问控制系统,参照图1,图1是本发明一个实施例提供的访问控制系统的结构示意图,访问控制系统包括服务请求设备、服务提供设备和位置提供设备,服务请求设备用于发送服务请求和授权查询标识;服务提供设备与服务请求设备连接,用于接收服务请求和授权查询标识,根据服务请求和授权查询标识生成零知识证明的约束条件,并将约束条件输出;位置提供设备与服务提供设备连接,用于接收约束条件,根据约束条件基于零知识证明得到可证明结果,并将可证明结果输出给服务提供设备;服务提供设备还用于对可证明结果进行验证处理得到验证结果,并根据验证结果判断是否对服务请求设备提供基于位置的服务,其中,可证明结果不包括服务请求设备的位置数据。

需要说明的是,在现有接入网络条件基于位置信息的访问控制系统中,通过对约束条件和位置数据进行零知识证明以验证数据所有者是否满足提供位置服务的服务提供者的要求,进而实现独立数据平台计算完整性的信任问题;通过零知识证明得到的可证明结果代替传统的必须展示个人位置信息的方式,以对个人隐私数据进行保护;数据所有者通过服务请求设备向服务提供设备发送服务请求并进行授权,不必依赖个人终端设备的计算能力计算得到可证明结果,防止数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供者方的权益。

需要说明的是,标识包括数据所有者的标识信息及数据所有者需要查询的位置信息。数据所有者的标识信息可以为手机号,也可以为员工的员工ID,还可以为其他可以甄别数据所有者的标识信息,对此,本发明实施例不作限定。

需要说明的是,获取可证明结果的具体流程为:位置提供设备根据约束条件查询得到服务请求设备的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果。

具体地,数据所有者通过服务请求设备向服务提供设备也即服务提供者发送服务请求并授权给服务提供设备,允许服务提供设备使用数据所有者自身的身份标识符来查询数据所有者需要查询的位置信息;服务提供设备根据数据所有者通过服务请求设备发送的服务请求和授权,查询数据所有者的标识信息,以及数据所有者需要查询的位置信息,并根据该标识信息和位置信息形成零知识证明的约束条件,并将约束条件发送给位置提供设备;位置提供设备根据约束条件到位置提供设备中查询获取与数据所有者相对应的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果,再将可证明结果输出给服务提供设备;之后服务提供设备对可证明结果进行验证处理得到验证结果,验证结果包括若可证明结果被验证按照约束条件并由零知识证明计算得到的,则采信本次可证明结果,否则不认可本次可证明结果或重新获取可证明结果,并再次进行验证处理,直至采信本次可证明结果;若采信本次可证明结果,则服务提供设备对数据所有者提供基于位置的服务,若不认可本次可证明结果,则服务提供设备拒绝对数据所有者提供基于位置的服务。

需要说明的是,可证明结果不包括数据所有者的个人位置数据。位置数据使用同态加密的方式存储,位置数据可以是明文存储,也可以是密文存储,本发明实施例在此不作限定。

参照图1,可以理解的是,位置提供设备包括ZKP证明器调用模块和数据源模块,ZKP证明器调用模块分别与服务提供设备、数据源模块连接,ZKP证明器调用模块用于根据约束条件从数据源模块中查询得到服务请求设备的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果,并将可证明结果输出给服务提供设备。

需要说明的是,位置提供设备包括数据处理设备和数据源,数据处理设备中设有ZKP证明器调用模块,数据源中设有数据源模块,服务提供设备将约束条件发送给位置提供设备中的数据处理设备;数据处理设备根据约束条件到数据源中的数据源模块中查询并获取与数据所有者相对应的位置数据,ZKP证明器调用模块对约束条件和位置数据进行零知识证明以得到可证明结果,并将可证明结果输出给服务提供设备。

需要说明的是,ZKP为Zero Knowledge Proof的缩写,译为零知识证明。零知识证明指的是证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

参照图1,可以理解的是,服务提供设备包括ZKP证明器分发模块、ZKP验证器调用模块和业务模块,业务模块分别与服务请求设备、ZKP证明器分发模块、ZKP验证器调用模块连接,ZKP证明器分发模块与ZKP证明器调用模块的输入端连接,ZKP验证器调用模块与ZKP证明器调用模块的输出端连接;ZKP证明器分发模块用于根据服务请求和授权查询标识生成零知识证明的约束条件,并将约束条件输出给位置提供设备;ZKP验证器调用模块用于接收可证明结果,对可证明结果进行验证处理得到验证结果,并将验证结果发送给业务模块;业务模块用于根据验证结果,判断是否对服务请求设备提供基于位置的服务。

需要说明的是,ZKP证明器分发模块根据数据所有者的标识信息和需要查询的位置信息形成零知识证明的约束条件,并将约束条件输出给ZKP证明器调用模块,以使ZKP证明器调用模块根据约束条件从数据源模块中获取与数据所有者相对应的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果且将可证明结果输出给ZKP验证器调用模块;ZKP验证器调用模块根据可证明结果调用验证功能以对可证明结果进行验证处理,得到验证结果,验证结果包括:若可证明结果被验证按照约束条件并由零知识证明计算得到的,则采信本次可证明结果,否则不认可本次可证明结果或重新获取可证明结果并再次进行验证处理,直至采信本次可证明结果;并且ZKP验证器调用模块将得到的验证结果发送给业务模块,业务模块根据该验证结果,决定是否对服务请求设备提供基于位置的服务,具体为若采信本次可证明结果,则业务模块对数据所有者提供基于位置的服务,若不认可本次可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务。

需要说明的是,访问控制方法可以应用于基于蜂窝网络用户行程的访问,也可以应用于基于用户接入位置的权限评估系统,还可以应用于其他实施例,上述两种实施例仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同、替换和改进等,均应包含在本发明的保护范围之内。

示例性的,参照图2,手机用户是否在最近14天到过疫情中、高危城市,具体流程为:首先,UE用户通过扫码等方式申请进入公共服务场所并授权提供服务的公共服务场所使用自身的手机号进行历史位置查询;公共服务场所根据获得的手机号以及业务需要查询的时间段和位置空间列表生成零知识证明的约束条件,并将该约束条件发送到运营商的数据处理平台;运营商的数据处理平台根据接收到的约束条件以及运营商自身蜂窝网络平台存储的用户历史位置轨迹信息进行零知识证明,并将可证明结果返回给公共服务场所,其中,可证明结果并不包括UE用户的个人位置数据,仅包含是否满足在最近14天到过疫情中、高危城市是或否的结果,即可验证信息不包括UE用户的个人位置数据;公共服务场所对可证明结果进行验证处理,如果可证明结果被验证是严格按照约束条件进行计算的,就采信本次可证明结果,否则要求数据处理平台重算或者认为可证明结果为假;最后,公共服务场所根据验证结果决定是否对UE用户提供基于位置的服务。

示例性的,参照图3,安全授权场景下员工登录办公系统,需要根据员工位置(如居家或公司现场)评估风险并授予不同级别的权限,具体流程为:首先,需要接入网络的用户请求接入服务并授权访问系统使用自己的用户ID,其中,访问系统可能不是网络供应商自有,比如是独立的第三方安全商以云平台形式提供的通用安全服务,因此员工的具体位置信息不能对其暴露;访问控制系统根据用户ID(如员工ID)、时间段(如当前接入时间)、位置列表(如公司所有办公园区位置)生成零知识证明的约束条件,并将该约束条件发送到网络供应方(如公司IT系统)的数据处理平台即ZKP证明器调用模块;网络供应方的数据处理平台也即ZKP证明器调用模块根据接收到的约束条件以及网络供应方自身平台存储的用户网络接入点信息(如IP等)进行零知识证明得到可证明结果,并将可证明结果返回给访问系统,其中,可证明结果中并不包含员工的具体接入地点信息,即可验证信息不包括员工的具体接入地点信息;访问系统对可证明结果进行验证处理,如果可证明结果被验证是严格按照约束条件进行计算的,就采信本次可证明结果,否则要求数据处理平台重算或者认为可证明结果为假;最后访问系统根据验证结果评估接入用户的风险级别,进而决定对接入用户授予相应级别的权限。

需要说明的是,UE为User Equipment的缩写,译为用户设备;IT为InformationTechnology的缩写,译为信息技术;ID为Identity Document的缩写,译为身份标识号码。

第二方面,本发明实施例还提供了一种访问控制方法,应用于服务请求设备,参照图1和图5,方法包括但不限于以下步骤:

步骤S100,向服务提供设备发送服务请求和授权查询标识,以使服务提供设备根据服务请求和授权查询标识生成零知识证明的约束条件并将约束条件输出给位置提供设备;

步骤S200,接收来自服务提供设备的基于位置的服务,其中,基于位置的服务是服务设备对来自位置提供设备提供的可证明结果进行验证处理后发送的,可证明结果是位置提供设备根据约束条件,基于零知识证明得到的。其中,可证明结果不包括服务请求设备的位置数据。

需要说明的是,第二方面实施例提供的访问控制方法具体应用于访问控制系统的服务请求设备,访问控制系统还包括服务提供设备和位置提供设备,服务提供设备分别与服务请求设备、位置提供设备连接。

具体地,位置提供设备包括ZKP证明器调用模块和数据源模块,ZKP证明器调用模块分别与服务提供设备、数据源模块的输出端连接;服务提供设备包括ZKP证明器分发模块、ZKP验证器调用模块和业务模块,业务模块分别与服务请求设备、ZKP证明器分发模块的输入端、ZKP验证器调用模块的输出端连接,ZKP证明器分发模块的输出端与ZKP证明器调用模块的输入端连接,ZKP验证器调用模块的输入端与ZKP证明器调用模块的输出端连接。

需要说明的是,参照图2,数据所有者通过服务请求设备向服务提供设备发送服务请求并进行授权,以使ZKP证明器分发模块根据数据所有者的标识信息和需要查询的位置信息形成零知识证明的约束条件,并将约束条件输出给ZKP证明器调用模块,以使ZKP证明器调用模块对约束条件和位置数据进行零知识证明以得到可证明结果并将可证明结果输出给ZKP验证器调用模块,ZKP验证器调用模块根据可证明结果调用验证功能以对可证明结果进行验证处理,得到验证结果,并且ZKP验证器调用模块将得到的验证结果发送给业务模块,业务模块根据该验证结果,决定是否对服务请求设备提供基于位置的服务,具体为若采信本次可证明结果,则业务模块对数据所有者提供基于位置的服务,若不认可本次可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务。

需要说明的是,数据所有者通过服务请求设备向服务提供设备发送服务请求并进行授权,不必依赖个人终端设备的计算能力计算得到可证明结果,防止数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供者方的权益。与相关技术相比,本发明实施例的访问控制方法,由数据所有者通过服务请求设备对服务提供设备进行授权,并对约束条件和位置数据进行零知识证明,能够避免数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供方权益;也不需要引入新的可信设备,基于现有的接入网络即可保护个人隐私数据和保证计算完整性的可信度,进而降低成本。

第三方面,本发明实施例还提供了一种访问控制方法,应用于访问控制系统的服务提供设备,参照图1和图6,访问控制系统还包括服务请求设备和位置提供设备,服务提供设备分别与服务请求设备、位置提供设备连接;

访问控制方法,包括但不限于以下步骤:

步骤S300,接收服务请求设备的服务请求和授权查询标识,并根据服务请求和授权查询标识,得到零知识证明的约束条件;

步骤S400,向位置提供设备发送约束条件,以使位置提供设备根据约束条件,基于零知识证明得到可证明结果;其中,可证明结果不包括服务请求设备的位置数据;

步骤S500,接收位置提供设备发送的可证明结果,对可证明结果进行验证处理,得到验证结果,并根据验证结果,判断是否服务请求设备提供基于位置的服务。

步骤S600,在判断结果为是的情况下,发送基于位置的服务。

需要说明的是,第三方面实施例提供的访问控制方法具体应用于访问控制系统的服务提供设备,访问控制系统还包括服务请求设备和位置提供设备,服务提供设备分别与服务请求设备、位置提供设备连接。

需要说明的是,位置提供设备包括数据处理设备和数据源,数据处理设备中设有ZKP证明器调用模块,数据源中设有数据源模块,ZKP证明器调用模块分别与服务提供设备、数据源模块连接,服务提供设备将约束条件发送给位置提供设备中的数据处理设备;数据处理设备根据约束条件到数据源中的数据源模块中查询并获取与数据所有者相对应的位置数据,ZKP证明器调用模块对约束条件和位置数据进行零知识证明以得到可证明结果,并将可证明结果输出给服务提供设备。

需要说明的是,与相关技术相比,本发明实施例的访问控制方法,由数据所有者通过服务请求设备对服务提供设备进行授权,并对约束条件和位置数据进行零知识证明,能够避免数据所有者可能存在的假冒或篡改风险,有效保障提供基于位置的服务的服务提供方权益;也不需要引入新的可信设备,基于现有的接入网络即可保护个人隐私数据和保证计算完整性的可信度,进而降低成本。

需要说明的是,参照图2,数据所有者通过服务请求设备向服务提供设备发送服务请求并进行授权,以使服务提供设备根据数据所有者的标识信息和需要查询的位置信息形成零知识证明的约束条件,并通过服务提供设备将约束条件输出给ZKP证明器调用模块,以使ZKP证明器调用模块对约束条件和位置数据进行零知识证明以得到可证明结果并将可证明结果返回输出给服务提供设备,服务提供设备根据可证明结果调用验证功能以对可证明结果进行验证处理,得到验证结果,并且服务提供设备根据该验证结果,决定是否对服务请求设备提供基于位置的服务,具体为:若采信本次可证明结果,则业务模块对数据所有者提供基于位置的服务,若不认可本次可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务。

示例性的,将访问控制方法应用于识别手机用户是否在最近14天到过疫情中、高危城市,则可证明结果为到过疫情中、高危城市,或者可证明结果为未到过疫情中、高危城市。

参照图2和图7,可以理解的是,服务提供设备包括ZKP证明器分发模块、ZKP验证器调用模块和业务模块,业务模块分别与服务请求设备、ZKP证明器分发模块、ZKP验证器调用模块连接,ZKP证明器分发模块与ZKP证明器调用模块的输入端连接,ZKP证明器调用模块与ZKP验证器调用模块的输出端连接;步骤S300中的根据服务请求和授权查询标识,得到零知识证明的约束条件,及步骤S400中的向位置提供设备发送约束条件,包括但不限于以下步骤:

步骤S410,将服务请求和授权查询标识发送到ZKP证明器分发模块,以使ZKP证明器分发模块根据服务请求和授权查询标识生成零知识证明的约束条件,并将约束条件发送到位置提供设备。

具体地,ZKP证明器分发模块根据数据所有者的标识信息和需要查询的位置信息形成零知识证明的约束条件,并将约束条件输出给ZKP证明器调用模块,以使ZKP证明器调用模块对约束条件和位置数据进行零知识证明以得到可证明结果并将可证明结果输出给ZKP验证器调用模块。

参照图2和图,8,可以理解的是,步骤S500中的对可证明结果进行验证处理,得到验证结果,包括但不限于以下步骤:

步骤S510,将可证明结果发送到ZKP验证器调用模块,以使ZKP验证器调用模块对可证明结果进行验证处理,得到验证结果。

需要说明的是,将可证明结果输出给ZKP验证器调用模块。ZKP验证器调用模块根据可证明结果调用验证功能以对可证明结果进行验证处理,得到验证结果,并且ZKP验证器调用模块将得到的验证结果发送给业务模块,业务模块根据该验证结果,决定是否对服务请求设备提供基于位置的服务,具体为若采信本次可证明结果,则业务模块对数据所有者提供基于位置的服务,若不认可本次可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务

参照图9,可以理解的是,步骤S500中的根据验证结果,判断是否对服务请求设备提供基于位置的服务,包括但不限于以下步骤:

步骤S520,将验证结果发送到业务模块,以使业务模块根据验证结果,判断是否对服务请求设备提供基于位置的服务。

需要说明的是,验证结果包括若可证明结果被验证按照约束条件并由零知识证明计算得到的,则采信本次可证明结果,否则不认可本次可证明结果或重新获取可证明结果,并再次进行验证处理,直至采信本次可证明结果;若采信本次可证明结果,则业务模块对数据所有者提供基于位置的服务,若不认可本次可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务。

参照图10,可以理解的是,步骤S500中的对可证明结果进行验证处理,得到验证结果,包括但不限于以下步骤:

步骤S530,对可证明结果进行验证处理,若可证明结果为在约束条件下根据零知识证明得到的,确定验证结果为采信可证明结果;

步骤S540,若可证明结果不是在约束条件下根据零知识证明得到的,确定验证结果为拒绝采信可证明结果。

需要说明的是,ZKP验证器调用模块根据可证明结果调用验证功能以对可证明结果进行验证处理,进而得到验证结果,其中,若可证明结果不是在约束条件下根据零知识证明得到的,则确定验证结果为拒绝采信可证明结果或者重新获取可证明结果并再次进行验证处理,直至确定验证结果为采信可证明结果。

参照图11,可以理解的是,步骤S500中的根据验证结果,判断是否对服务请求设备提供基于位置的服务,包括但不限于以下步骤:

步骤S550,若验证结果为采信可证明结果,对服务请求设备提供基于位置的服务;

步骤S560,若验证结果为拒绝采信可证明结果,拒绝对服务请求设备提供基于位置的服务。

需要说明的是,业务模块根据ZKP验证器调用模块得到的验证结果,决策是否对数据所有者提供提供基于位置的服务。

具体地,数据所有者通过服务请求设备向服务提供设备也即服务提供者发送服务请求并授权给服务提供设备,允许服务提供设备使用数据所有者自身的身份标识符来查询数据所有者需要查询的位置信息,该位置信息包括位置空间信息和时间信息;服务提供设备根据数据所有者发送的服务请求和授权,查询数据所有者的标识信息,以及数据所有者需要查询的位置信息,并根据该标识信息和位置信息形成零知识证明的约束条件,并将该约束条件通过ZKP证明器分发模块发送到位置提供设备中的ZKP证明器调用模块;ZKP证明器调用模块根据约束条件到数据源中的数据源模块查询获取与数据所有者相对应的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果,再将可证明结果输出给ZKP验证器调用模块;之后ZKP验证器调用模块对可证明结果进行验证处理并得到验证结果,若验证结果为采信可证明结果,则业务模块对数据所有者提供基于位置的服务,若验证结果为拒绝采信可证明结果,则业务模块拒绝对数据所有者提供基于位置的服务。

第四方面,本发明实施例还提供了一种访问控制方法,应用于访问控制系统的服务提供设备,参照图1和图12,访问控制系统还包括服务请求设备和服务提供设备,服务提供设备分别与服务请求设备、位置提供设备连接;

访问控制方法,包括但不限于以下步骤:

步骤S700,获取来自服务提供设备的零知识证明的约束条件,并根据约束条件基于零知识证明得到可证明结果;其中,可证明结果不包括所述服务请求设备的位置数据;

步骤S800,将可证明结果输出给服务提供设备,以使服务提供设备对可证明结果进行验证处理生成验证结果,并根据验证结果判断是否对服务请求设备提供基于位置的服务。

需要说明的是,第四方面实施例提供的访问控制方法具体应用于访问控制系统的位置提供设备,访问控制系统还包括服务请求设备和服务提供设备,服务提供设备分别与服务请求设备、位置提供设备连接。

需要说明的是,在步骤S700之前,服务请求设备向服务提供设备发送服务请求和授权查询标识,以使服务提供设备根据服务请求和授权查询数据所有者的标识信息和数据所有者所要查询的位置信息并根据该标识信息和位置信息生成零知识证明的约束条件,再将约束条件发送到位置提供设备。

示例性的,数据所有者通过服务请求设备向服务提供设备也即服务提供者发送服务请求并授权给服务提供设备,允许服务提供设备使用数据所有者自身的身份标识符来查询数据所有者需要查询的位置信息,该位置信息包括位置空间信息和时间信息;服务提供设备根据数据所有者通过服务请求设备发送的服务请求和授权,查询数据所有者的标识信息,以及数据所有者需要查询的位置信息,并根据该标识信息和位置信息形成零知识证明的约束条件,并将约束条件发送给位置提供设备;位置提供设备根据约束条件到位置提供设备中查询获取与数据所有者相对应的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果,再将可证明结果输出给服务提供设备;之后服务提供设备对可证明结果进行验证处理得到验证结果,验证结果包括若可证明结果被验证按照约束条件并由零知识证明计算得到的,则采信本次可证明结果,否则不认可本次可证明结果或重新获取可证明结果,并再次进行验证处理,直至采信本次可证明结果;若采信本次可证明结果,则服务提供设备对数据所有者提供基于位置的服务,若不认可本次可证明结果,则服务提供设备拒绝对数据所有者提供基于位置的服务。

参照图2和图13,可以理解的是,位置提供设备包括ZKP证明器调用模块和数据源模块,ZKP证明器调用模块分别与服务提供设备、数据源模块连接;根据约束条件,查询得到服务请求设备的位置数据,步骤S700中的根据约束条件基于零知识证明得到可证明结果,包括但不限于以下步骤:

步骤S710,将约束条件发送到ZKP证明器调用模块,以使ZKP证明器调用模块根据约束条件从数据源模块中查询得到服务请求设备的位置数据并对约束条件和位置数据进行零知识证明,得到可证明结果。

需要说明的是,服务提供设备包括ZKP证明器分发模块、ZKP验证器调用模块和业务模块,业务模块分别与服务请求设备、ZKP证明器分发模块、ZKP验证器调用模块连接,ZKP证明器分发模块与ZKP证明器调用模块的输入端连接,ZKP验证器调用模块与ZKP证明器调用模块的输出端连接。

需要说明的是,ZKP证明器分发模块根据数据所有者的标识信息和需要查询的位置信息形成零知识证明的约束条件,并将约束条件输出给ZKP证明器调用模块,以使ZKP证明器调用模块根据约束条件从数据源模块中获取与数据所有者相对应的位置数据,并对约束条件和位置数据进行零知识证明以得到可证明结果且将可证明结果输出给ZKP验证器调用模块;ZKP验证器调用模块根据可证明结果调用验证功能以对可证明结果进行验证处理,得到验证结果,其中,验证结果包括:若可证明结果被验证为在约束条件下根据零知识证明得到的,确定验证结果为采信可证明结果,否则确定验证结果为拒绝采信可证明结果或重新获取可证明结果并再次进行验证处理,直至采信本次可证明结果;并且ZKP验证器调用模块将得到的验证结果发送给业务模块,业务模块根据该验证结果,决定是否对服务请求设备提供基于位置的服务,具体为若验证结果为采信可证明结果,则业务模块对数据所有者对服务请求设备提供基于位置的服务,若验证结果为拒绝采信可证明结果,则业务模块拒绝对服务请求设备提供基于位置的服务。

在一些实施例中,参照图2,将访问控制系统应用于基于蜂窝网络用户行程的访问,示例性的,手机用户是否在最近14天到过疫情中、高危城市,具体流程为:首先,UE用户通过扫码等方式申请进入公共服务场所并授权提供服务的公共服务场所使用自身的手机号进行历史位置查询;公共服务场所根据获得的手机号以及业务需要查询的时间段和位置空间列表生成零知识证明的约束条件,并将该约束条件发送到运营商的数据处理平台;运营商的数据处理平台根据接收到的约束条件以及运营商自身蜂窝网络平台存储的用户历史位置轨迹信息进行零知识证明,并将可证明结果返回给公共服务场所,其中,可证明结果并不包括UE用户的个人位置数据,仅包含是否满足在最近14天到过疫情中、高危城市是或否的结果,及可验证信息,不包括UE用户的个人位置数据;公共服务场所对可证明结果进行验证处理,如果可证明结果被验证是严格按照约束条件进行计算的,就采信本次可证明结果,否则要求数据处理平台重算或者认为可证明结果为假;最后,公共服务场所根据验证结果决定是否对UE用户提供基于位置的服务。

在一些实施例中,参照图3,将访问控制系统应用于基于用户接入位置的权限评估系统,示例性的,安全授权场景下员工登录办公系统,需要根据员工位置(如居家或公司现场)评估风险并授予不同级别的权限,具体流程为:首先,需要接入网络的用户请求接入服务并授权访问系统使用自己的用户ID,其中,访问系统可能不是网络供应商自有,比如是独立的第三方安全商以云平台形式提供的通用安全服务,因此员工的具体位置信息不能对其暴露;访问控制系统根据用户ID(如员工ID)、时间段(如当前接入时间)、位置列表(如公司所有办公园区位置)生成零知识证明的约束条件,并将该约束条件发送到网络供应方(如公司IT系统)的数据处理平台即ZKP证明器调用模块;网络供应方的数据处理平台也即ZKP证明器调用模块根据接收到的约束条件以及网络供应方自身平台存储的用户网络接入点信息(如IP等)进行零知识证明得到可证明结果,并将可证明结果返回给访问系统,其中,可证明结果中并不包含员工的具体接入地点信息,即可验证信息不包括员工的具体接入地点信息;访问系统对可证明结果进行验证处理,如果可证明结果被验证是严格按照约束条件进行计算的,就采信本次可证明结果,否则要求数据处理平台重算或者认为可证明结果为假;最后访问系统根据验证结果评估接入用户的风险级别,进而决定对接入用户授予相应级别的权限。

可以理解的是,位置数据使用同态加密的方式存储。

需要说明的是根据约束条件从数据源模块查询得到服务请求设备的位置数据使用同态加密的方式存储,以对位置数据进行更好的保护。位置数据可以是明文存储,也可以是密文存储,本发明实施例在此不作限定。

另外,本发明第五方面实施例还提供了一种访问控制设备,该访问控制设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。

处理器和存储器可以通过总线或者其他方式连接。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现上述第二方面实施例的访问控制方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的访问控制系统,例如,执行以上描述的图5中的方法步骤S100至S200。

实现上述第三方面实施例的访问控制方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的访问控制方法,例如,执行以上描述的图6中的方法步骤S300至S600、图7中的方法步骤S410、图8中的方法步骤S510、图9中的方法步骤S520、图10中的方法步骤S530至S540、图11中的方法步骤S550至S560。

实现上述第四方面实施例的访问控制方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的访问控制方法,例如,执行以上描述的图12中的方法步骤S700至S900、图13中的方法步骤S910。

以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的访问控制方法,例如,执行以上描述的图5中的方法步骤S100至S200、图6中的方法步骤S300至S600、图7中的方法步骤S410、图8中的方法步骤S510、图9中的方法步骤S520、图10中的方法步骤S530至S540、图11中的方法步骤S550至S560、图12中的方法步骤S700至S900、图13中的方法步骤S910。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

相关技术
  • 一种热水器的循环水路结构及具有其的热水器
  • 一种铁路牵引变电所低电压通电检测试验方法及装置
  • 一种储水式电热水器能耗测试装置
  • 一种太阳能热水器防冻带寿命测试装置及方法
  • 一种热水器通电测试结构
  • 一种热水器通电测试结构
技术分类

06120116518577