CN116527284B - 数据存储安全性确定方法、装置、设备及存储介质 - Google Patents

数据存储安全性确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116527284B
CN116527284B CN202310720424.4A CN202310720424A CN116527284B CN 116527284 B CN116527284 B CN 116527284B CN 202310720424 A CN202310720424 A CN 202310720424A CN 116527284 B CN116527284 B CN 116527284B
Authority
CN
China
Prior art keywords
data
cloud server
verification
node
verified
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
Application number
CN202310720424.4A
Other languages
English (en)
Other versions
CN116527284A (zh
Inventor
陈海锋
丁鼎
李朝霞
邢建兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
Unicom Cloud Data Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
Unicom Cloud Data Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd, Unicom Digital Technology Co Ltd, Unicom Cloud Data Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202310720424.4A priority Critical patent/CN116527284B/zh
Publication of CN116527284A publication Critical patent/CN116527284A/zh
Application granted granted Critical
Publication of CN116527284B publication Critical patent/CN116527284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

本申请提供一种数据存储安全性确定方法、装置、设备及存储介质,涉及云服务器技术领域,该方法应用于安全监测云服务器节点,包括:在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据数据访问请求,在存储的数据中获取待验证数据,将待验证数据发送至安全监测云服务器节点;在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对待验证数据进行安全校验;若校验不成功,则将验证数据和待验证数据发送至区块链验算者节点,以使区块链验算者节点根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证。

Description

数据存储安全性确定方法、装置、设备及存储介质
技术领域
本申请涉及云服务器技术领域,尤其涉及一种数据存储安全性确定方法、装置、设备及存储介质。
背景技术
云服务是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云服务器(Elastic Compute Service,ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。云服务器可以为用户提供灵活的存储服务,提供存储服务的云服务器也可以成为云存储服务商。
相关技术中,用户可以通过签约的方式与资源提供存储服务的云服务器建立关系,将数据存储在已签约的云服务器上,并为云服务器支付存储费用。若用户需要得知数据在某云服务器上的存储情况,则需要用户访问云服务器,否则无法得知数据是否被安全存储。
然而,现有技术的数据存储方式,数据存储的安全性低。
发明内容
本申请提供一种数据存储安全性确定方法、装置、设备及存储介质,以解决现有技术的数据存储方式,数据存储的安全性低的技术问题。
第一方面,本申请提供数据存储安全性确定方法,应用于安全监测云服务器节点,包括:
在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点,其中,所述数据访问请求中包括验证数据;
在接收到所述签约云服务器节点发送的待验证数据后,根据所述验证数据,对所述待验证数据进行安全校验;
若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点,以使所述区块链验算者节点根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证,根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证,根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
这里,本申请在区块链上能够通过一个第三方的云服务器即安全监测云服务器节点,对用户节点的签约云服务器节点进行数据存储状态的安全性监督,具体地,安全监测云服务器节点在区块链上发送数据访问请求,签约云服务器节点可以根据访问请求在自己存储的用户节点的数据中取到对应的数据通过区块链发送至安全监测云服务器节点,安全监测云服务器节点再根据自身存储的用户节点的数据与签约云服务器节点发送的数据进行比对,来确定签约云服务器节点是否存储异常,若异常,则发送至区块链验算者节点进行进一步地验证,能够准确、高效地确定数据存储的安全性,提高了数据存储的安全性及可靠性。
可选地,所述在区块链上发起数据访问请求,包括:
根据预设周期,周期性地在区块链上发起数据访问请求。
其中,本申请安全监测云服务器节点能够定期发送数访问请求,定期查询签约云服务器的状态,能够及时、高效地确定签约云服务器节点的数据存储状态是否安全可靠,进一步地提高了数据存储的安全性。
可选地,在所述在区块链上发起数据访问请求之前,还包括:
在所述安全监测云服务器节点存储的数据中,获取所述用户节点对应的验证数据;
根据所述验证数据,生成数据访问请求。
这里,本申请预先在存储的数据中获取一个用户节点对应的验证数据,通过验证数据生成数据访问请求,以使签约云服务器节点根据数据访问请求中的验证数据在自己存储的数据中进行数据查找,验证数据及签约云服务器发送的待验证数据能够准确判断签约云服务器节点的数据存储状态。
可选地,所述在所述安全监测云服务器节点存储的数据中,获取所述用户节点对应的验证数据,包括:
根据预设数据筛选规则,对所述安全监测云服务器节点存储的用户节点的数据进行筛选,得到待提取数据;
在所述待提取数据中进行随机筛选,得到验证数据。
其中,本申请在确定验证数据时,通过预设数据筛选规则可以预先对存储的用户数据进行筛选,例如筛选出数据大小小于某一阈值的数据,从而避免占用过多内存、产生过多功耗,数据的筛选过程提高了数据存储安全性确定的灵活性,能够满足用户多种多样的需求,进一步地提高了用户体验。
可选地,在所述若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点之后,还包括:
接收所述区块链验算者节点发送的签约请求,其中,所述签约请求为所述区块链验算者节点在确定安全性验证结果为不安全后,向所述安全监测云服务器节点发送的;
根据所述签约请求与所述用户节点签约。
这里,本申请若确定某一签约云服务器节点数据存储不可靠,那么可以撤销跟该签约云服务器节点的签约,将安全监督云服务器节点确定为新的签约云服务器节点,实现了数据存储的安全转移、安全存储。
可选地,所述在区块链上发起数据访问请求之前,还包括:
获取用户节点在云服务器存储的数据,存储所述数据;
获取所述用户节点的所有签约云服务器节点。
其中,安全监督云服务器节点预先存储用户节点的数据,并获取用户节点对应的所有签约云服务器节点,为用户节点对应的数据存储安全性的确定提供先决条件。
第二方面,本申请提供了一种数据存储安全性确定方法,应用于区块链验算者节点,所述方法包括:
接收安全监测云服务器节点发送的验证数据和待验证数据,其中,所述验证数据和待验证数据为所述安全监测云服务器节点在区块链上发起数据访问请求,在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对所述待验证数据进行安全校验,若校验不成功向所述区块链验算者节点发送的,其中,所述数据访问请求中包括验证数据,所述数据访问请求用于用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点;
根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证;
根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
这里,本申请提供的区块链验算者节点能够在安全监督云服务器节点发送验证信息以及待验证信息后,对有安全问题的签约云服务器节点进行进一步地安全验证,并在安全性验证后在签约的云服务器中移除不安全的云服务器,保证了数据存储的安全。
第三方面,本申请提供了一种数据存储安全性确定装置,应用于安全监测云服务器节点,所述装置包括:
请求发起模块,用于在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点,其中,所述数据访问请求中包括验证数据;
校验模块,用于在接收到所述签约云服务器节点发送的待验证数据后,根据所述验证数据,对所述待验证数据进行安全校验;
发送模块,用于若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点,以使所述区块链验算者节点根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证,根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证,根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
可选地,所述请求发起模块具体用于:
根据预设周期,周期性地在区块链上发起数据访问请求。
可选地,在所述请求发起模块在区块链上发起数据访问请求之前,上述装置还包括请求生成模块,用于:
在所述安全监测云服务器节点存储的数据中,获取所述用户节点对应的验证数据;
根据所述验证数据,生成数据访问请求。
可选地,所述请求生成模块具体用于:
根据预设数据筛选规则,对所述安全监测云服务器节点存储的用户节点的数据进行筛选,得到待提取数据;
在所述待提取数据中进行随机筛选,得到验证数据。
可选地,在所述发送模块若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点之后还包括签约模块,用于:
接收所述区块链验算者节点发送的签约请求,其中,所述签约请求为所述区块链验算者节点在确定安全性验证结果为不安全后,向所述安全监测云服务器节点发送的;
根据所述签约请求与所述用户节点签约。
可选地,在所述发起模块在区块链上发起数据访问请求之前,上述装置还包括获取模块,用于:
获取用户节点在云服务器存储的数据,存储所述数据;
获取所述用户节点的所有签约云服务器节点。
第四方面,本申请提供了一种数据存储安全性确定装置,应用于区块链验算者节点,所述装置包括:
接收模块,用于接收安全监测云服务器节点发送的验证数据和待验证数据,其中,所述验证数据和待验证数据为所述安全监测云服务器节点在区块链上发起数据访问请求,在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对所述待验证数据进行安全校验,若校验不成功向所述区块链验算者节点发送的,其中,所述数据访问请求中包括验证数据,所述数据访问请求用于用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点;
第一确定模块,用于根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证;
第二确定模块,用于根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
第五方面,本申请提供一种数据存储安全性确定设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的数据存储安全性确定方法。
第六方面,本申请提供一种数据存储安全性确定设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的数据存储安全性确定方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的数据存储安全性确定方法。
第八方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的数据存储安全性确定方法。
第九方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的数据存储安全性确定方法。
第十方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第二方面以及第二方面各种可能的设计所述的数据存储安全性确定方法。
本申请提供的数据存储安全性确定方法、装置、设备及存储介质,其中该方法在区块链上能够通过一个第三方的云服务器即安全监测云服务器节点,对用户节点的签约云服务器节点进行数据存储状态的安全性监督,具体地,安全监测云服务器节点在区块链上发送数据访问请求,签约云服务器节点可以根据访问请求在自己存储的用户节点的数据中取到对应的数据通过区块链发送至安全监测云服务器节点,安全监测云服务器节点再根据自身存储的用户节点的数据与签约云服务器节点发送的数据进行比对,来确定签约云服务器节点是否存储异常,若异常,则发送至区块链验算者节点进行进一步地验证,能够准确、高效地确定数据存储的安全性,提高了数据存储的安全性及可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据存储安全性确定系统架构示意图;
图2为本申请实施例提供的一种数据存储安全性确定方法的流程示意图;
图3为本申请实施例提供的另一种数据存储安全性确定方法的流程示意图;
图4为本申请实施例提供的一种数据存储安全性确定装置的结构示意图;
图5为本申请实施例提供的一种数据存储安全性确定设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了更好地实现数据共享,通过区块链实现用户节点以及服务器的多云融合。云服务的用户可以通过签约的方式与资源提供存储服务的云服务器建立关系,将数据存储在已签约的云服务器上,并为云服务器支付存储费用。若用户需要得知数据在某云服务器上的存储情况,则需要用户访问云服务器,否则无法得知数据是否被安全存储。现有技术的数据存储方式,数据存储的安全性低。
为了解决上述技术问题,本申请实施例提供一种数据存储安全性确定方法、装置、设备及存储介质,该方法在区块链上能够通过一个第三方的云服务器即安全监测云服务器节点,对用户节点的签约云服务器节点进行数据存储状态的安全性监督。
可选地,将安全监督云服务器可以代替用户实时检测签约云服务器的服务级别协议(Service Level Agreement,SLA)满足度,一旦签约SLA下降或者宕机,安全监督云服务器节点在区块链上私钥签名广播消息方式发布检测结果经过区块链验算者节点认可后自动成为签约云服务器,获得后续的数据存储收益。并获得对验证不安全的签约云服务器相关的罚金,通过上述方法,可以提升面向云际计算基于区块链的存储可靠性保障,有助于云际计算的应用和发展。
可选地,图1为本申请实施例提供的一种数据存储安全性确定系统架构示意图。如图1所示,上述架构包括:安全监督云服务器节点101、签约云服务器节点102、签约云服务器节点103、用户节点104和区块链验算者节点105。
其中,区块链验算者节点105可以为提供区块链服务的服务器的处理器。
其中,云服务器节点又称为云服务商、云服务器、云存储服务商。
其中,安全监督云服务器节点101不获得常规的存储收益,但是安全监督云服务器节点101资源存储用户的数据。安全监督云服务器节点101可以对用户节点对应的所有签约云服务器进行监督,例如针对用户节点104实现对签约云服务器节点102、签约云服务器节点103的监督。
其中,任意未与待验证用户节点签约的云服务器均可以作为区块链中的安全监督云服务器节点。
可以理解的是,上述安全监督云服务器节点、签约云服务器节点、用户节点和区块链验算者节点的数量及具体结构可以根据实际情况确定,图1仅是示意性的,本申请实施例对于上述节点的数目不作具体限制。
上述节点均为连接在区块链网络中的节点,上述节点可以是云服务器、服务器或者终端设备等,任意两个节点之间可以通过区块链网络实现通信。
其中,安全监督云服务器节点、签约云服务器节点、用户节点和区块链验算者节点可以设置在服务器或者终端设备上,安全监督云服务器节点、签约云服务器节点、用户节点和区块链验算者节点也可以是服务器或者终端设备本身。
可以理解的是,本申请实施例示意的结构并不构成对数据存储安全性确定系统架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
另外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种数据存储安全性确定方法的流程示意图,本申请实施例可以应用于图1中的安全监督云服务器节点101,安全监督云服务器节点101可以是服务器或者终端设备,具体执行主体可以根据实际应用场景确定。如图2所示,该方法包括如下步骤:
S201:在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据数据访问请求,在存储的数据中获取待验证数据,将待验证数据发送至安全监测云服务器节点。
其中,数据访问请求中包括验证数据。
可选地,图1中的签约云服务器节点102和签约云服务器节点103在接收到数据访问请求后,根据数据访问请求,在自己存储的数据中获取待验证数据。
可选地,在区块链上发起数据访问请求之前,还包括:
获取用户节点在云服务器存储的数据,存储数据;获取用户节点的所有签约云服务器节点。
其中,安全监督云服务器节点预先存储用户节点的数据,并获取用户节点对应的所有签约云服务器节点,为用户节点对应的数据存储安全性的确定提供先决条件。
可选地,可以单独对某一个签约云服务器节点发起数据访问请求,也可以对 用户节点对应的所有签约云服务器节点发起数据访问请求。
可选地,在区块链上发起数据访问请求,包括:根据预设周期,周期性地在区块链上发起数据访问请求。
可以理解的是,这里的预设周期可以根据实际情况确定,本申请实施例对此不做具体限制。
其中,本申请实施例安全监测云服务器节点能够定期发送数访问请求,定期查询签约云服务器的状态,能够及时、高效地确定签约云服务器节点的数据存储状态是否安全可靠,进一步地提高了数据存储的安全性。
可选地,可以响应于用户节点的验证请求,在区块链上发起数据访问请求。
可选地,在在区块链上发起数据访问请求之前,还包括:
在安全监测云服务器节点存储的数据中,获取用户节点对应的验证数据;根据验证数据,生成数据访问请求。
可选地,安全监测云服务器节点中可以存储有至少一个用户节点对应的数据,根据不同的用户节点,获取不同存储位置的数据。
这里,本申请实施例预先在存储的数据中获取一个用户节点对应的验证数据,通过验证数据生成数据访问请求,以使签约云服务器节点根据数据访问请求中的验证数据在自己存储的数据中进行数据查找,验证数据及签约云服务器发送的待验证数据能够准确判断签约云服务器节点的数据存储状态。
可选地,在安全监测云服务器节点存储的数据中,获取用户节点对应的验证数据,包括:
根据预设数据筛选规则,对安全监测云服务器节点存储的用户节点的数据进行筛选,得到待提取数据;在待提取数据中进行随机筛选,得到验证数据。
其中,本申请实施例在确定验证数据时,通过预设数据筛选规则可以预先对存储的用户数据进行筛选,例如筛选出数据大小小于某一阈值的数据,该阈值可以根据实际情况确定,从而避免占用过多内存、产生过多功耗,数据的筛选过程提高了数据存储安全性确定的灵活性,能够满足用户多种多样的需求,进一步地提高了用户体验。
S202:在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对待验证数据进行安全校验。
可选地,若验证数据与待验证数据相同或者相匹配,则确定安全检验成功,本次校验结束。
可选地,若校验成功,则向用户节点发送校验成功信息。
可选地,若验证数据与待验证数据不同或者不匹配,则确定安全检验失败。
可选地,若校验失败,则向用户节点发送告警信息。
S203:若校验不成功,则将验证数据和待验证数据发送至区块链验算者节点,以使区块链验算者节点根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证,根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证,根据安全性验证结果确定是否将签约云服务器节点与用户节点解约。
可选地,在若校验不成功,则将验证数据和待验证数据发送至区块链验算者节点之后,还包括:
接收区块链验算者节点发送的签约请求,其中,签约请求为区块链验算者节点在确定安全性验证结果为不安全后,向安全监测云服务器节点发送的;根据签约请求与用户节点签约。
这里,本申请实施例若确定某一签约云服务器节点数据存储不可靠,那么可以撤销跟该签约云服务器节点的签约,将安全监督云服务器节点确定为新的签约云服务器节点,实现了数据存储的安全转移、安全存储。
本申请实施例在区块链上能够通过一个第三方的云服务器即安全监测云服务器节点,对用户节点的签约云服务器节点进行数据存储状态的安全性监督,具体地,安全监测云服务器节点在区块链上发送数据访问请求,签约云服务器节点可以根据访问请求在自己存储的用户节点的数据中取到对应的数据通过区块链发送至安全监测云服务器节点,安全监测云服务器节点再根据自身存储的用户节点的数据与签约云服务器节点发送的数据进行比对,来确定签约云服务器节点是否存储异常,若异常,则发送至区块链验算者节点进行进一步地验证,能够准确、高效地确定数据存储的安全性,提高了数据存储的安全性及可靠性。
可选地,图3为本申请实施例提供的另一种数据存储安全性确定方法,本申请实施例可以应用于图1中的区块链验算者节点105,区块链验算者节点105可以是服务器或者终端设备,具体执行主体可以根据实际应用场景确定。如图3所示,该方法包括如下步骤:
S301:接收安全监测云服务器节点发送的验证数据和待验证数据。
其中,验证数据和待验证数据为安全监测云服务器节点在区块链上发起数据访问请求,在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对待验证数据进行安全校验,若校验不成功向区块链验算者节点发送的,其中,数据访问请求中包括验证数据,数据访问请求用于用户节点对应的至少一个签约云服务器节点根据数据访问请求,在存储的数据中获取待验证数据,将待验证数据发送至安全监测云服务器节点;
S302:根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证。
可选地,区块链验算者节点可以根据自身存储的数据或者是请求其它节点,例如通过请求用户节点或者用户节点对应的其它签约云服务器节点获取与验证数据对应的数据,并通过上述数据对待验证数据进行安全性验证。
可选地,区块链验算者节点直接比对验证数据和待验证数据,若不同,则确定不安全。
S303:根据安全性验证结果确定是否将签约云服务器节点与用户节点解约。
可选地,若安全性验证结果为不安全,则确定将签约云服务器节点与用户节点解约。
可选地,将签约云服务器节点与用户节点解约之后,确定安全监督云服务器节点为新的签约云服务器节点。
这里,本申请实施例提供的区块链验算者节点能够在安全监督云服务器节点发送验证信息以及待验证信息后,对有安全问题的签约云服务器节点进行进一步地安全验证,并在安全性验证后在签约的云服务器中移除不安全的云服务器,保证了数据存储的安全。
本申请实施例还提供一种数据存储安全性确定方法,应用于数据存储安全性确定系统,系统包括用户节点,安全监督云服务器节点和至少一个签约云服务器节点,签约云服务器节点必须能够提供所有在区块链中声明存储用户数据的访问权限。方法包括:
步骤一:安全监督云服务器节点根据自己存储的用户的数据,定期不定期的向至少一个签约云服务器节点发起特定数据访问的请求。为了避免占用自己或者其他服务商太多的存储输入/输出(Input/Output,IO)和网络资源,只访问数据大小小于预设数据阈值的数据,比如只请求某个数据块的第N个字节的值。 其中,预设数据阈值可以根据实际情况确定,本申请实施例对此不做具体限制。其中,N为任意正整数,N的大小可以根据实际情况确定,本申请实施例对此不做具体限制。
步骤二:签约云服务器节点接收到来自安全监督云服务器节点的访问请求,进行安全监督云服务器节点的身份验证后,按照约定从自己存储用户的数据块中取到对应字节的数据,并分别采用自己的私钥进行签名,并发送给安全监督云服务器节点。
步骤三:安全监督云服务器节点将从签约云服务器节点获得的数据值首先签名验证,确认来自哪一个签约云服务器节点,然后与自己存储的对应数据进行校验。如果相同,则验证通过。如果签约云服务器节点为按约定的SLA反馈,或者反馈的值与安全监督云服务器节点自己储存的值不一致,则将签约云服务器节点反馈的带签名的数据,以及自己存储的请求数据值一起以私钥签名广播消息方式发布到区块链上,由区块链验算者节点进行判定。
步骤四:如果验算者判定某一签约云服务器节点反馈的数据错误(可以进行三方对比),则将安全监督云服务器节点列为新的签约云服务器节点并获得后续数据存储收益,并将不安全的签约云服务器节点从签约服务商剔除,按照约定进行违约处罚。处罚金额自动转归安全监督云服务器节点。
这样增加了一种对签约云服务商的监督约束机制,进一步保证了存储的可靠性,对于安全监督云服务器节点,也提供了获得收益的机制,可以让更多的签约云服务器节点,在有空闲的存储空间的时候,有更多的意愿成为安全监督云服务器节点。
图4为本申请实施例提供的一种数据存储安全性确定装置的结构示意图,应用于安全监测云服务器节点,如图4所示,本申请实施例的装置包括:请求发起模块401、校验模块402和发送模块403。这里的数据存储安全性确定装置可以是服务器或者终端设备,或者是实现服务器或者终端设备的功能的芯片或者集成电路。这里需要说明的是,请求发起模块401、校验模块402和发送模块403的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
其中,请求发起模块,用于在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据数据访问请求,在存储的数据中获取待验证数据,将待验证数据发送至安全监测云服务器节点,其中,数据访问请求中包括验证数据;
校验模块,用于在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对待验证数据进行安全校验;
发送模块,用于若校验不成功,则将验证数据和待验证数据发送至区块链验算者节点,以使区块链验算者节点根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证,根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证,根据安全性验证结果确定是否将签约云服务器节点与用户节点解约。
可选地,请求发起模块具体用于:
根据预设周期,周期性地在区块链上发起数据访问请求。
可选地,在请求发起模块在区块链上发起数据访问请求之前,上述装置还包括请求生成模块,用于:
在安全监测云服务器节点存储的数据中,获取用户节点对应的验证数据;
根据验证数据,生成数据访问请求。
可选地,请求生成模块具体用于:
根据预设数据筛选规则,对安全监测云服务器节点存储的用户节点的数据进行筛选,得到待提取数据;
在待提取数据中进行随机筛选,得到验证数据。
可选地,在发送模块若校验不成功,则将验证数据和待验证数据发送至区块链验算者节点之后还包括签约模块,用于:
接收区块链验算者节点发送的签约请求,其中,签约请求为区块链验算者节点在确定安全性验证结果为不安全后,向安全监测云服务器节点发送的;
根据签约请求与用户节点签约。
可选地,在发起模块在区块链上发起数据访问请求之前,上述装置还包括获取模块,用于:
获取用户节点在云服务器存储的数据,存储数据;
获取用户节点的所有签约云服务器节点。
本申请实施例还提供另一种数据存储安全性确定装置,应用于区块链验算者节点,本申请实施例的装置包括:接收模块、第一确定模块和第二确定模块。这里的数据存储安全性确定装置可以是服务器或者终端设备,或者是实现服务器或者终端设备的功能的芯片或者集成电路。这里需要说明的是,接收模块、第一确定模块和第二确定模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
其中,接收模块,用于接收安全监测云服务器节点发送的验证数据和待验证数据,其中,验证数据和待验证数据为安全监测云服务器节点在区块链上发起数据访问请求,在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对待验证数据进行安全校验,若校验不成功向区块链验算者节点发送的,其中,数据访问请求中包括验证数据,数据访问请求用于用户节点对应的至少一个签约云服务器节点根据数据访问请求,在存储的数据中获取待验证数据,将待验证数据发送至安全监测云服务器节点;
第一确定模块,用于根据验证数据和待验证数据,对待验证数据对应的签约云服务器进行安全性验证;
第二确定模块,用于根据安全性验证结果确定是否将签约云服务器节点与用户节点解约。
参考图5,其示出了适于用来实现本公开实施例的数据存储安全性确定设备500的结构示意图,该数据存储安全性确定设备500可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(PersonalDigital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的数据存储安全性确定设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,数据存储安全性确定设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(Read Only Memory ,简称ROM)502中的程序或者从存储装置508加载到随机访问存储器(Random Access Memory ,简称RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有数据存储安全性确定设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(Liquid CrystalDisplay ,简称LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许数据存储安全性确定设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的数据存储安全性确定设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述数据存储安全性确定设备中所包含的;也可以是单独存在,而未装配入该数据存储安全性确定设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该数据存储安全性确定设备执行时,使得该数据存储安全性确定设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network ,简称LAN)或广域网(Wide Area Network ,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (11)

1.一种数据存储安全性确定方法,其特征在于,应用于安全监测云服务器节点,所述方法包括:
在区块链上发起数据访问请求,以使用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点,其中,所述数据访问请求中包括验证数据;
在接收到所述签约云服务器节点发送的待验证数据后,根据所述验证数据,对所述待验证数据进行安全校验;
若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点,以使所述区块链验算者节点根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证,根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
2.根据权利要求1所述的方法,其特征在于,所述在区块链上发起数据访问请求,包括:
根据预设周期,周期性地在区块链上发起数据访问请求。
3.根据权利要求1所述的方法,其特征在于,在所述在区块链上发起数据访问请求之前,还包括:
在所述安全监测云服务器节点存储的数据中,获取所述用户节点对应的验证数据;
根据所述验证数据,生成数据访问请求。
4.根据权利要求3所述的方法,其特征在于,所述在所述安全监测云服务器节点存储的数据中,获取所述用户节点对应的验证数据,包括:
根据预设数据筛选规则,对所述安全监测云服务器节点存储的用户节点的数据进行筛选,得到待提取数据;
在所述待提取数据中进行随机筛选,得到验证数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述若校验不成功,则将所述验证数据和所述待验证数据发送至区块链验算者节点之后,还包括:
接收所述区块链验算者节点发送的签约请求,其中,所述签约请求为所述区块链验算者节点在确定安全性验证结果为不安全后,向所述安全监测云服务器节点发送的;
根据所述签约请求与所述用户节点签约。
6.根据权利要求1所述的方法,其特征在于,在所述在区块链上发起数据访问请求之前,还包括:
获取用户节点在云服务器存储的数据,存储所述数据;
获取所述用户节点的所有签约云服务器节点。
7.一种数据存储安全性确定方法,其特征在于,应用于区块链验算者节点,所述方法包括:
接收安全监测云服务器节点发送的验证数据和待验证数据,其中,所述验证数据和待验证数据为所述安全监测云服务器节点在区块链上发起数据访问请求,在接收到签约云服务器节点发送的待验证数据后,根据验证数据,对所述待验证数据进行安全校验,若校验不成功向所述区块链验算者节点发送的,其中,所述数据访问请求中包括验证数据,所述数据访问请求用于用户节点对应的至少一个签约云服务器节点根据所述数据访问请求,在存储的数据中获取待验证数据,将所述待验证数据发送至所述安全监测云服务器节点;
根据所述验证数据和所述待验证数据,对所述待验证数据对应的签约云服务器进行安全性验证;
根据安全性验证结果确定是否将所述签约云服务器节点与所述用户节点解约。
8.一种数据存储安全性确定设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6任一项所述的数据存储安全性确定方法。
9.一种数据存储安全性确定设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求7所述的数据存储安全性确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的数据存储安全性确定方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求7所述的数据存储安全性确定方法。
CN202310720424.4A 2023-06-16 2023-06-16 数据存储安全性确定方法、装置、设备及存储介质 Active CN116527284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310720424.4A CN116527284B (zh) 2023-06-16 2023-06-16 数据存储安全性确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310720424.4A CN116527284B (zh) 2023-06-16 2023-06-16 数据存储安全性确定方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116527284A CN116527284A (zh) 2023-08-01
CN116527284B true CN116527284B (zh) 2023-08-29

Family

ID=87401384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310720424.4A Active CN116527284B (zh) 2023-06-16 2023-06-16 数据存储安全性确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116527284B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339572A (zh) * 2020-03-04 2020-06-26 鹏城实验室 云数据完整性的验证方法、系统、终端设备及存储介质
CN111698278A (zh) * 2020-04-10 2020-09-22 湖南大学 一种基于区块链的多云数据存储方法
CN114499818A (zh) * 2022-01-25 2022-05-13 之江实验室 云数据审计方法及装置、电子设备、计算机可读存储介质
CN114519197A (zh) * 2022-01-21 2022-05-20 广东海洋大学 一种基于区块链和云服务的数据存储架构和方法
CN115604038A (zh) * 2022-12-14 2023-01-13 山东省计算中心(国家超级计算济南中心)(Cn) 基于区块链和边缘计算的云存储数据审计系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554753B2 (en) * 2017-07-06 2020-02-04 Acronis International Gmbh System and method for service level agreement based data storage and verification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339572A (zh) * 2020-03-04 2020-06-26 鹏城实验室 云数据完整性的验证方法、系统、终端设备及存储介质
CN111698278A (zh) * 2020-04-10 2020-09-22 湖南大学 一种基于区块链的多云数据存储方法
CN114519197A (zh) * 2022-01-21 2022-05-20 广东海洋大学 一种基于区块链和云服务的数据存储架构和方法
CN114499818A (zh) * 2022-01-25 2022-05-13 之江实验室 云数据审计方法及装置、电子设备、计算机可读存储介质
CN115604038A (zh) * 2022-12-14 2023-01-13 山东省计算中心(国家超级计算济南中心)(Cn) 基于区块链和边缘计算的云存储数据审计系统及方法

Also Published As

Publication number Publication date
CN116527284A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
CN111991813B (zh) 登录游戏的方法、装置、电子设备及存储介质
CN112184196B (zh) 数据处理方法、装置、服务器和存储介质
CN112684968A (zh) 页面展示方法、装置、电子设备和计算机可读介质
CN112866385A (zh) 接口调用方法、装置、电子设备和存储介质
CN115102744A (zh) 数据访问方法和装置
CN109491908B (zh) 页面检测方法、装置、电子设备和存储介质
CN116700907B (zh) 服务调用需求文档存储方法、装置、电子设备和可读介质
CN116527284B (zh) 数据存储安全性确定方法、装置、设备及存储介质
CN109635558B (zh) 访问控制方法、装置和系统
CN113079085B (zh) 商服交互方法、装置、设备及存储介质
CN110855655B (zh) 一种信息验证方法、装置、设备和存储介质
CN112767036A (zh) 业务处理方法及设备
CN111831566A (zh) 测试方法、装置、电子设备和计算机可读存储介质
CN111367590A (zh) 中断事件处理方法及其装置
CN111125676B (zh) 联合授权方法和装置
CN116489224B (zh) 多云容器调度方法、装置、设备及存储介质
US11809880B2 (en) Dynamically verifying ingress configuration changes
CN117294745B (zh) 网络连接状态信息发送方法、装置、电子设备和介质
CN116471327B (zh) 云资源处理方法、装置、设备及存储介质
CN116738405A (zh) 系统登录方法、装置、设备及存储介质
CN110262756B (zh) 用于缓存数据的方法和装置
CN112929162B (zh) 一种密码管理方法及系统、电子设备、可读存储介质
CN111885006B (zh) 页面访问、授权访问方法和装置
CN113283891A (zh) 信息处理方法、装置和电子设备
CN114218556A (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