CN115987696B - 一种基于区块链结构的零信任安全网关实现方法及装置 - Google Patents
一种基于区块链结构的零信任安全网关实现方法及装置 Download PDFInfo
- Publication number
- CN115987696B CN115987696B CN202310275290.XA CN202310275290A CN115987696B CN 115987696 B CN115987696 B CN 115987696B CN 202310275290 A CN202310275290 A CN 202310275290A CN 115987696 B CN115987696 B CN 115987696B
- Authority
- CN
- China
- Prior art keywords
- data
- strategy
- address
- security gateway
- policy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013507 mapping Methods 0.000 claims abstract description 92
- 238000012795 verification Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 42
- 238000011217 control strategy Methods 0.000 claims description 21
- 230000003993 interaction Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000013506 data mapping Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链结构的零信任安全网关实现方法及装置,方法包括:建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;当分布式文件***或数据库中的策略数据或策略数据的存储地址发生变化时,重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对更新操作进行验证。本发明的有益效果:解决了现有零信任安全网关缺乏有效监管和验证的安全风险,保障网关自身的安全。
Description
技术领域
本发明涉及信息安全领域中访问控制技术领域,更具体地说,涉及一种基于区块链结构的零信任安全网关实现方法及装置。
背景技术
零信任是当前信息安全领域的热点话题,并且已经在多个行业进入落地阶段。在零信任的体系架构中,零信任的安全网关是最核心的策略执行点,在用户访问资源的过程中,通过对用户访问和API调用的统一代理,对企业的网络暴露面进行收口,强制实施细粒度的动态访问控制。在执行访问控制的过程中,安全网关需要向自身或零信任管控中心的策略数据库获取对应的访问控制策略进行执行,在此过程中,安全网关自身的安全防护属性就需要被额外重视。
传统的安全网关将访问控制策略集成在设备硬件自身的存储空间内,这种方式在安全性上得到了较好的保证,但所存储的访问控制策略数据会受到设备自身存储空间的限制,且用于零信任环境内时,当访问控制策略发生变化时,各安全网关的访问控制策略数据的同步也会是一个棘手的问题。现有的零信任安全网关的解决方案中,安全网关的访问控制策略通常存储于管控中心的统一中心数据库中,部署方式通常是基于独立部署或采用基于集群部署的方式,无论基于那种方式本质上都是一种基于集中式控制手段。这种方式虽然会避免网关设备硬件存储空间的限制和数据同步的问题,但存在单点失效和数据库自身安全缺乏有效保障,造成敏感数据很容易从服务器泄漏,且安全网关与中心数据库的交付过程缺乏有效的监督与认证,操作日志存在被篡改的风险,其自身的安全性得不到有效的保障。
因此,如何设计一种有效的方式来消除上述零信任安全网关***从策略库获取对应访问控制策略的弊端,实现安全高效集成管理,已经成为本领域技术人员亟待解决的技术问题。
发明内容
本发明提供了一种基于区块链结构的零信任安全网关实现方法及装置,解决现有技术存在单点失效和数据库自身安全缺乏有效保障,造成敏感数据很容易从服务器泄漏,且安全网关与中心数据库的交付过程缺乏有效的监督与认证,操作日志存在被篡改的风险,其自身的安全性得不到有效的保障的问题。
为解决上述问题,一方面,本发明提供一种基于区块链结构的零信任安全网关实现方法,包括:
建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;
接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;
当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证。
所述建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链,包括:
将策略数据的原始数据存储在预设的分布式文件***或数据库中;
将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;
通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证。
所述将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中,包括:
设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略的地址;
通过哈希函数把访问控制策略的数据值映射到Key值上:
hash(Data) = Key
其中,Data为访问控制策略的数据值,hash()为哈希函数;
把与Key 值对应的数据值存储到Address值所表示的地址的存储空间中。
所述依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作,包括:
通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证;
通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引;
通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据;
对于得到的原始数据通过映射表组件利用哈希函数计算出第二哈希索引:
hash()=/>
其中,为原始数据,/>为第二哈希索引;
比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
所述当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证,包括:
若分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算;
若地址发生变化时,则更新映射表组件中对应的地址,并在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
一方面,提供一种基于区块链结构的零信任安全网关实现装置,包括:
构建模块,用于建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;
调用模块,用于接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;
更新模块,用于当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证。
所述构建模块包括数据存储子模块、地址存储子模块及交互认证子模块;
数据存储子模块,用于将策略数据的原始数据存储在预设的分布式文件***或数据库中;
地址存储子模块,用于将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;
交互认证子模块,用于通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证;
所述地址存储子模块包括键值对设置子模块、数据映射子模块及对应存储子模块;
键值对设置子模块,用于设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略的地址;
数据映射子模块,用于通过哈希函数把访问控制策略的数据值映射到Key值上:
hash(Data) = Key
其中,Data为访问控制策略的数据值,hash()为哈希函数;
对应存储子模块,用于把与Key 值存储到Address值所表示的地址的存储空间中。
所述调用模块包括交易子模块、索引发送子模块、查询子模块及比较子模块;
交易子模块,用于通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证;
索引发送子模块,用于通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引;
查询子模块,用于通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据;
比较子模块,用于对得到的原始数据通过映射表组件利用哈希函数计算出第二哈希索引:
hash()=/>
其中,为原始数据,/>为第二哈希索引;
比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
所述更新模块包括重新计算子模块及地址更新子模块:
重新计算子模块,用于在分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算;
地址更新子模块,用于在地址发生变化时,则更新映射表组件中对应的地址,并在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
一方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行以上所述的一种基于区块链结构的零信任安全网关实现方法。
本发明的有益效果是:以区块链作为第三方来验证零信任环境下网关设备自身的安全,既避免了传统安全网关自身存储空间的局限性,又解决了现有零信任安全网关将访问控制策略存储于中心数据库所造成的访问过程缺乏有效监管和验证的安全风险,还避免了单点失效的风险。
对区块链***进行改造,通过建立策略数据和数据储存地址索引的映射表,区块链中只存储策略数据的索引,而真实的数据存储于链下的数据库或文件***中(可采用分布式方式),将数据的引用与存储相分离,并通过hash验证的方式确保了数据和索引的一致性,提升区块链***吞吐量,避免了现有区块链***存储空间的限制和效率底下的问题。
实现安全网关进行访问控制操作的可追溯性和责任审计,任何访问和修改访问控制策略数据等活动都通过区块链进行记录,能有效避免安全网关自身的操作日志***被篡改的风险,且任何针对安全网关的恶意尝试都会被检测到。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于区块链结构的零信任安全网关***的结构示意图;
图2是本发明一实施例提供的一种基于区块链结构的零信任安全网关实现方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
参见图1,图1是本发明一实施例提供的一种基于区块链结构的零信任安全网关***的结构示意图,本发明设计了一种基于区块链结构的零信任安全网关***。在零信任环境中,各种部署在用户设备上的零信任客户端(可能以独立小程序、浏览器、浏览器插件、终端管控器等形式呈现),向安全网关发出访问请求。安全网关的访问控制策略数据库通过中间映射表的方式存储在管控平台的数据中心(可以以分布式方式存储),安全网关通过区块链发布交易的方式对安全网关从数据中心获取访问控制策略的过程进行验证,即用区块链来验证安全网关的操作记录,防止篡改,保障网关自身的安全。
在该***部署方案中,***各组件功能介绍如下:
零信任客户端组件:
零信任客户端部署在用户的设备上,可能以独立小程序、浏览器、浏览器插件、终端管控器等形式呈现,负责与用户进行交互,并提供从用户到授权资源的加密连接。
安全网关组件:
安全网关相当于企业网络的大门,对所有经过网关的流量强制执行访问控制策略。当遇到访问请求时,安全网关立即向管控平台上报,并获取对应的访问控制策略,根据此策略进行放行或阻断。其执行的访问控制策略数据需要从管控平台的文件***/数据库中获取。
区块链组件:
区块链组件负责验证安全网关的操作记录,防止篡改,保障网关自身的安全。在区块中存储的不是安全网关的访问控制策略原始数据,而是数据的索引,其信息通过索引表组件获取。区块链将对安全网关对访问控制策略的访问进行验证,即对零信任环境内安全网关对访问控制策略数据的访问是由大多数区块链控制,无需额外可信服务器的任何干预。
索引表组件:
映射表采用一种分布式的存储和寻址技术,表中以<Key,Address>的方式存储键值对,其中KEY值代表具体的访问控制策略的hash索引,而Address值存储的是在分布式文件***/数据库中存储的具体访问控制策略数据的地址。具体原理为使用hash()函数把一个访问控制策略的数据(Data)值映射到一个Key上,即hash(Data) = Key。这样就可以把一个Key值同某个具体访问控制策略数据Data对应起来。然后把与这个KEY值对应的Data存储到Address所标记的存储空间中。这样,每次想要查找KEY所对应的VALUE值时,只需要做一次hash()运算就可以找到了。
文件***/数据库组件:
文件***/数据库负责存储安全网络需要的访问控制策略的具体策略数据。一种优选的方式为采用分布式的文件***/数据库进行存储,进一步避免集中式服务器方式潜在的单点失效风险。
由此,本发明解决了如下问题:
1、本发明设计了一种基于区块链结构的零信任安全网关***,利用区块链***去中心化和难以篡改的结构特性,解决了集中管理的单点失效问题,以及网关从策略库获取访问控制策略过程自身安全缺乏的验证问题,实现安全高效集成管理。
2、为提升区块链的事务处理效率,减少区块链存储开销,提出了一种链下存储的方案,将原本存储在区块链的事务数据转移到链下的数据库或文件***中(可采用分布式方式),以满足零信任安全控制平台大数据处理的实际要求。
3、在区块链结构中加入了映射表组件,建立链上数据索引和链下具体策略数据的映射关系,将事务数据与hash生产的事务ID形成对应关系,并在每次验证时通过计算计算数据hash值的方式确保任何对数据库或文件***中的策略数据的篡改都会被查验和记录。
参见图2,图2是本发明一实施例提供的一种基于区块链结构的零信任安全网关实现方法的流程图,所述基于区块链结构的零信任安全网关实现方法包括S1-S4:
S1、建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;步骤S1包括步骤S11-S13:
S11、将策略数据的原始数据存储在预设的分布式文件***或数据库中。
本实施例中,该方案将访问控制策略的原始数据(data)存储在分布式文件***或数据库中。
S12、将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;步骤S12包括步骤S121-S123:
S121、设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略对应数据(Data)的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略对应数据(Data)的地址。
本实施例中,指向存储数据的索引地址存储在映射表中,映射表采用一种分布式的存储和寻址技术,表中以<Key,Address>的方式存储键值对,其中Key值代表具体的访问控制策略对应数据(Data)的hash索引,而Address值存储的是在分布式文件***/数据库中存储的具体访问控制策略对应数据(Data)的地址。
S122、通过哈希函数把访问控制策略的数据值映射到Key值上。
本实施例中,使用hash()函数把一个访问控制策略的数据(Data)值映射到一个Key上,即hash(Data) = Key。这样就可以把一个KEY值同某个具体访问控制策略数据对应起来。
S123、把与Key 值对应的数据值存储到Address值所表示的地址的存储空间中。
本实施例中,把与这个KEY值对应的Data存储到Address所标记的存储空间中。这样,每次想要查找KEY所对应的VALUE值时,只需要做一次hash()运算就可以找到了。
S13、通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证。
本实施例中,区块链通过映射表与分布式文件***/数据库中的访问控制策略产生交互和认证。从而构建起与映射表组件对应的,验证安全网关获取策略数据操作的区块链***。区块链中只存储策略数据的索引,而真实的数据存储于链下的数据库或文件***中(可采用分布式方式)。
S2、接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作。步骤S2包括步骤S21-S24:
S21、通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证。
本实施例中,零信任客户端验证用户身份后,向安全网关发送访问主体对客体资源的访问控制请求,安全网关在问控制策略数据库获取对应的策略数据前,需要向区块链发布一个交易,区块链作为“受信任第三方”对安全网关的策略获取过程进行验证。
S22、通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引。
本实施例中,区块链向映射表组件发送安全网关将要访问的访问控制策略数据索引(Key),等待反馈。
S23、通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据。
本实施例中,映射表组件利用收到的索引(Key)查到对应的策略数据地址(Address),根据此地址查到在分布式文件***/数据库中的真实策略数据。
S24、对得到的原始数据(),通过映射表组件利用哈希函数计算出第二哈希索引,比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
本实施例中,对于查到的策略数据,映射表组件利用Hash算法计算出hash(/>)=/>。比较/>与映射表组件中存储的Key是否相同,若相同则继续后续步骤,否则说明分布式文件***/数据库中的策略数据发生了变化,终止该操作,并启用审查机制对策略数据的改变进行审查。
若验证通过,即与映射表组件中存储的Key相同,则映射表组件反馈给安全网关组件和区块链组件策略数据验证通过,同意安全网关访问该存储在文件***/数据库中的访问控制策略,并利用区块链对整个操作过程进行验证记录,结果保存在区块链中作为监督和审计资料。
S3、当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证。步骤S3包括步骤S31-S32:
S31、若分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算。
S32、若地址发生变化时,则更新映射表组件中对应的地址。并且上述操作都在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
本实施例中,当分布式文件***/数据库中的策略数据发生变化时,需要对映射表组件中对应的索引值同步重新进行Hash计算生成新的索引值;若存储地址发生变化,则需要更新映射表组件中对应的Address值。并将上述操作都在区块链上通过发布交易的方式进行验证,从而完成整个安全网关***的数据更新和同步。
综上,当零信任客户端向安全网关发送主体对客体的访问请求时,安全网关在问控制策略数据库获取对应的策略数据前,需要向区块链发布一个交易,区块链作为“受信任第三方”对安全网关的策略获取过程进行验证,如果事务被验证并写入到一个区块中,安全网关将获得从策略库获取访问控制策略的权限,查找到对应控制策略,依据此策略对客户端发来的请求执行对应的强制访问控制。
本发明提供一种基于区块链结构的零信任安全网关实现装置,包括:
构建模块,用于建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;
调用模块,用于接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;
更新模块,用于当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证。
所述构建模块包括数据存储子模块、地址存储子模块及交互认证子模块;
数据存储子模块,用于将策略数据的原始数据存储在预设的分布式文件***或数据库中;
地址存储子模块,用于将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;
交互认证子模块,用于通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证;
所述地址存储子模块包括键值对设置子模块、数据映射子模块及对应存储子模块;
键值对设置子模块,用于设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略的地址;
数据映射子模块,用于通过哈希函数把访问控制策略的数据值映射到Key值上:
hash(Data) = Key
其中,Data为访问控制策略的数据值,hash()为哈希函数;
对应存储子模块,用于把与Key 值存储到Address值所表示的地址的存储空间中。
所述调用模块包括交易子模块、索引发送子模块、查询子模块及比较子模块;
交易子模块,用于通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证;
索引发送子模块,用于通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引;
查询子模块,用于通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据;
比较子模块,用于对得到的原始数据通过映射表组件利用哈希函数计算出第二哈希索引:
hash()=/>
其中,为原始数据,/>为第二哈希索引;
比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
所述更新模块包括重新计算子模块及地址更新子模块:
重新计算子模块,用于在分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算;
地址更新子模块,用于在地址发生变化时,则更新映射表组件中对应的地址,并在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种基于区块链结构的零信任安全网关实现方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种基于区块链结构的零信任安全网关实现方法中的步骤,因此,可以实现本发明实施例所提供的任一种基于区块链结构的零信任安全网关实现方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于区块链结构的零信任安全网关实现方法,其特征在于,包括:
建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;
接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;
当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证;
所述建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链,包括:
将策略数据的原始数据存储在预设的分布式文件***或数据库中;
将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;
通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证;
所述将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中,包括:
设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略的地址;
通过哈希函数把访问控制策略的数据值映射到Key值上:
hash(Data) = Key
其中,Data为访问控制策略的数据值,hash()为哈希函数;
把与Key 值对应的数据值存储到Address值所表示的地址的存储空间中。
2.根据权利要求1所述的基于区块链结构的零信任安全网关实现方法,其特征在于,所述依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作,包括:
通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证;
通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引;
通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据;
对于得到的原始数据通过映射表组件利用哈希函数计算出第二哈希索引:
hash()= />
其中,为原始数据,/>为第二哈希索引;
比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
3.根据权利要求1所述的基于区块链结构的零信任安全网关实现方法,其特征在于,所述当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证,包括:
若分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算;
若地址发生变化时,则更新映射表组件中对应的地址,并在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
4.一种基于区块链结构的零信任安全网关实现装置,其特征在于,包括:
构建模块,用于建立区块链中策略索引与分布式文件***或数据库中策略数据的映射表组件,通过哈希函数对策略数据进行计算,构建与映射表组件对应的用于验证安全网关获取策略数据操作事件的区块链;
调用模块,用于接收零信任客户端向安全网关发起的主体对客体资源的访问控制请求,依据策略索引查询策略数据并调用策略数据的访问控制策略以执行强制访问控制操作;
更新模块,用于当分布式文件***或数据库中的策略数据或所述策略数据的存储地址发生变化时,则重新通过哈希函数对策略数据进行计算以进行更新操作,并在区块链上通过发布交易的方式对所述更新操作进行验证;
所述构建模块包括数据存储子模块、地址存储子模块及交互认证子模块;
数据存储子模块,用于将策略数据的原始数据存储在预设的分布式文件***或数据库中;
地址存储子模块,用于将指向存储在分布式文件***或数据库中的原始数据的索引地址存储在映射表组件中;
交互认证子模块,用于通过映射表组件产生区块链与分布式文件***或数据库中的策略数据的交互和认证;
所述地址存储子模块包括键值对设置子模块、数据映射子模块及对应存储子模块;
键值对设置子模块,用于设置映射表组件的存储键值对<Key,Address>,其中,Key值代表访问控制策略的第一哈希索引,Address值表示在分布式文件***或数据库中存储的访问控制策略的地址;
数据映射子模块,用于通过哈希函数把访问控制策略的数据值映射到Key值上:
hash(Data) = Key
其中,Data为访问控制策略的数据值,hash()为哈希函数;
对应存储子模块,用于把与Key 值存储到Address值所表示的地址的存储空间中。
5.根据权利要求4所述的基于区块链结构的零信任安全网关实现装置,其特征在于,所述调用模块包括交易子模块、索引发送子模块、查询子模块及比较子模块;
交易子模块,用于通过安全网关向区块链发布一个交易以使区块链对安全网关获取策略数据事件进行验证;
索引发送子模块,用于通过区块链向映射表组件发送安全网关将要访问的访问控制策略的第一哈希索引;
查询子模块,用于通过映射表组件利用收到的第一哈希索引查到对应的地址,并根据地址查到在分布式文件***或数据库中的策略数据的原始数据;
比较子模块,用于对得到的原始数据通过映射表组件利用哈希函数计算出第二哈希索引:
hash()= />
其中,为原始数据,/>为第二哈希索引;
比较第一哈希索引及第二哈希索引是否相同;若相同则表示区块链对安全网关获取策略数据事件的验证通过;若不同则终止安全网关获取策略数据事件。
6.根据权利要求4所述的基于区块链结构的零信任安全网关实现装置,其特征在于,所述更新模块包括重新计算子模块及地址更新子模块:
重新计算子模块,用于在分布式文件***或数据库中的策略数据发生变化时,对映射表组件中的第一哈希索引重新进行哈希函数计算;
地址更新子模块,用于在地址发生变化时,则更新映射表组件中对应的地址,并在区块链上通过发布交易的方式进行验证,从而完成安全网关的数据更新和同步。
7.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至3任一项所述的一种基于区块链结构的零信任安全网关实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275290.XA CN115987696B (zh) | 2023-03-21 | 2023-03-21 | 一种基于区块链结构的零信任安全网关实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275290.XA CN115987696B (zh) | 2023-03-21 | 2023-03-21 | 一种基于区块链结构的零信任安全网关实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987696A CN115987696A (zh) | 2023-04-18 |
CN115987696B true CN115987696B (zh) | 2023-08-08 |
Family
ID=85959975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310275290.XA Active CN115987696B (zh) | 2023-03-21 | 2023-03-21 | 一种基于区块链结构的零信任安全网关实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987696B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260656B (zh) * | 2023-05-09 | 2023-07-14 | 卓望数码技术(深圳)有限公司 | 基于区块链的零信任网络中主体可信认证方法和*** |
CN116643300B (zh) * | 2023-07-25 | 2023-10-10 | 齐鲁空天信息研究院 | 基于地图映射的卫星导航数据分布式实时处理方法和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123936A (zh) * | 2017-12-13 | 2018-06-05 | 北京科技大学 | 一种基于区块链技术的访问控制方法及*** |
CN108768988A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 区块链访问控制方法、设备及计算机可读存储介质 |
CN113872944A (zh) * | 2021-09-07 | 2021-12-31 | 湖南大学 | 一种面向区块链的零信任安全架构及其集群部署框架 |
CN115618321A (zh) * | 2021-07-16 | 2023-01-17 | 中移物联网有限公司 | 访问控制方法及装置、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
US10795874B2 (en) * | 2019-07-29 | 2020-10-06 | Alibaba Group Holding Limited | Creating index in blockchain-type ledger |
-
2023
- 2023-03-21 CN CN202310275290.XA patent/CN115987696B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123936A (zh) * | 2017-12-13 | 2018-06-05 | 北京科技大学 | 一种基于区块链技术的访问控制方法及*** |
CN108768988A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 区块链访问控制方法、设备及计算机可读存储介质 |
CN115618321A (zh) * | 2021-07-16 | 2023-01-17 | 中移物联网有限公司 | 访问控制方法及装置、电子设备、存储介质 |
CN113872944A (zh) * | 2021-09-07 | 2021-12-31 | 湖南大学 | 一种面向区块链的零信任安全架构及其集群部署框架 |
Non-Patent Citations (1)
Title |
---|
《零信任网络中基于区块链的访问控制机制研究》;陈飞;《信息科技》(第2023年第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115987696A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853805B2 (en) | Data processing system utilising distributed ledger technology | |
CN115987696B (zh) | 一种基于区块链结构的零信任安全网关实现方法及装置 | |
US10002152B2 (en) | Client computer for updating a database stored on a server via a network | |
CN112913203B (zh) | 在数据源处具有保护层的架构 | |
CN113010911B (zh) | 一种数据访问控制方法、装置及计算机可读存储介质 | |
US10484385B2 (en) | Accessing an application through application clients and web browsers | |
CN114726643B (zh) | 云平台上的数据存储、访问方法及装置 | |
US20170286653A1 (en) | Identity risk score generation and implementation | |
CN110365695A (zh) | 可切换共识算法的区块链数据交互方法及装置 | |
CN107124431B (zh) | 鉴权方法、装置、计算机可读存储介质和鉴权*** | |
US20210006410A1 (en) | Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them | |
US20220150066A1 (en) | Security token validation | |
US7568218B2 (en) | Selective cross-realm authentication | |
CN108289098B (zh) | 分布式文件***的权限管理方法和装置、服务器、介质 | |
US11108811B2 (en) | Methods and devices for detecting denial of service attacks in secure interactions | |
CN105577835B (zh) | 一种基于云计算的跨平台单点登录*** | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及*** | |
US11836243B2 (en) | Centralized applications credentials management | |
CN111031074B (zh) | 一种认证方法、服务器和客户端 | |
CN114422197A (zh) | 一种基于策略管理的权限访问控制方法及*** | |
CN106330836B (zh) | 一种服务端对客户端的访问控制方法 | |
US20230334140A1 (en) | Management of applications’ access to data resources | |
WO2006069901A1 (en) | Method and system for providing and utilizing a network trusted context | |
CN116996305A (zh) | 一种多层次安全认证方法、***、设备、存储介质及入口网关 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |