CN111740826A - 基于加密代理网关的加密方法、解密方法、装置及设备 - Google Patents
基于加密代理网关的加密方法、解密方法、装置及设备 Download PDFInfo
- Publication number
- CN111740826A CN111740826A CN202010698120.9A CN202010698120A CN111740826A CN 111740826 A CN111740826 A CN 111740826A CN 202010698120 A CN202010698120 A CN 202010698120A CN 111740826 A CN111740826 A CN 111740826A
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- decryption
- proxy gateway
- configuration
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于加密代理网关的加密方法、解密方法、装置及设备,涉及云安全技术领域。该方法包括:接收客户端的存储请求,存储请求包括第一用户帐号和明文数据;在第一用户帐号拥有权限时,获取第一用户帐号的加密密钥;加载与明文数据对应的加密配置;根据加密配置采用加密密钥对明文数据中的目标字段进行加密,得到加密数据;将加密数据存储至数据仓库中。在实现加密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
Description
技术领域
本申请涉及云安全技术领域,特别涉及一种基于加密代理网关的加密方法、解密方法、装置及设备。
背景技术
随着各行业对数据安全的重视程度不断提升,数据加密作为保证数据安全的一种方式,已被广泛应用。
目前,通常在需要进行数据加密的客户端中,集成加密组件来实现数据加密。该加密组件能够通过加密算法以及加密密钥对客户端中的数据进行转换,得到密文数据,从而实现对客户端中的数据进行加密。
上述方法需要在客户端中集成数据加密组件,需要对客户端进行工程改造,导致较大的开发工作量和较低的版本更新效率。
发明内容
本申请提供了一种基于加密代理网关的加密方法、解密方法、装置及设备,可以减少客户端的开发工作量以及提升客户端的版本更新效率。所述技术方案如下。
根据本申请的一方面,提供了一种基于加密代理网关的加密方法,所述加密代理网关是位于客户端和数据仓库之间的网关,所述加密代理网关和所述数据仓库设置在云服务侧,所述方法包括:
接收所述客户端的存储请求,所述存储请求包括第一用户帐号和明文数据;
在所述第一用户帐号拥有权限时,获取所述第一用户帐号的加密密钥;
加载与所述明文数据对应的加密配置;
根据所述加密配置采用所述加密密钥对所述明文数据中的目标字段进行加密,得到加密数据;
将所述加密数据存储至所述数据仓库中。
根据本申请的另一方面,提供了一种基于加密代理网关的解密方法,所述加密代理网关是位于客户端和数据仓库之间的网关,所述加密代理网关和所述数据仓库设置在云服务侧,所述方法包括:
接收所述客户端的读取请求,所述读取请求包括第二用户帐号和数据描述信息;
在所述第二用户帐号拥有权限时,根据所述数据描述信息从所述数据仓库读取加密数据;
获取所述加密数据的解密密钥;
加载与所述加密数据对应的解密配置;
根据所述解密配置采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到返回数据;
将所述返回数据发送至所述客户端。
根据本申请的另一方面,提供了一种加密代理网关装置,应用于加密代理网关中,所述加密代理网关装置位于客户端和数据仓库之间,所述装置和所述数据仓库设置在云服务侧,所述装置包括接收模块、获取模块、加载模块、加密模块以及存储模块。
所述接收模块,用于接收所述客户端的存储请求,所述存储请求包括第一用户帐号和明文数据。
所述获取模块,用于在所述第一用户帐号拥有权限时,获取所述第一用户帐号的加密密钥。
所述加载模块,用于加载与所述明文数据对应的加密配置。
所述加密模块,用于根据所述加密配置采用所述加密密钥对所述明文数据中的目标字段进行加密,得到加密数据。
所述存储模块,用于将所述加密数据存储至所述数据仓库中。
可选地,所述加载模块,用于:
调用数据解析器解析所述明文数据的数据类型和元数据结构;
加载与所述数据类型和所述元数据结构对应的加密配置。
可选地,所述加密代理网关中设置有至少两个所述数据解析器,所述数据解析器对应有各自的数据格式。所述加载模块,用于:
从至少两个所述数据解析器中,加载与所述明文数据的数据格式对应的第一数据解析器;
调用所述第一数据解析器解析所述明文数据的数据类型和元数据结构。
所述存储模块,用于:
将所述加密数据和所述第一数据解析器的解析器元数据存储至所述数据仓库中。
可选地,所述加载模块,用于:
从策略控制台查询与所述数据类型和所述元数据结构对应的加密配置的配置元数据;根据所述配置元数据,获取所述加密配置。
所述存储模块,用于:
将所述加密数据和所述配置元数据存储至所述数据仓库中。
可选地,所述加密配置包括字段级加密配置。所述加密模块,用于:
调用所述第一数据解析器根据所述字段级加密配置,采用所述加密密钥对所述明文数据中的所述目标字段进行加密,得到所述加密数据。
可选地,所述获取模块,用于:
在所述第一用户帐号拥有权限时,从密钥管理系统获取所述第一用户帐号的加密密钥的密钥元数据;根据所述密钥元数据获取所述加密密钥。
所述存储模块,用于:
将所述加密数据和所述密钥元数据存储至所述数据仓库中。
可选地,所述存储请求还包括认证信息。所述装置还包括认证模块。
所述认证模块,用于根据所述认证信息从访问控制系统认证所述第一用户帐号是否具有所述权限。
根据本申请的另一方面,提供了一种加密代理网关装置,应用于加密代理网关中,所述加密代理网关装置位于客户端和数据仓库之间,所述装置和所述数据仓库设置在云服务侧,所述装置包括接收模块、读取模块、获取模块、加载模块、解密模块以及发送模块。
所述接收模块,用于接收所述客户端的读取请求,所述读取请求包括第二用户帐号和数据描述信息。
所述读取模块,用于在所述第二用户帐号拥有权限时,根据所述数据描述信息从所述数据仓库读取加密数据。
所述获取模块,用于获取所述加密数据的解密密钥。
所述加载模块,用于加载与所述加密数据对应的解密配置。
所述解密模块,用于根据所述解密配置采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到返回数据。
所述发送模块,用于将所述返回数据发送至所述客户端。
可选地,所述解密配置包括:与所述第二用户帐号对应的字段级解密权限。所述解密模块,用于:
根据所述数据描述信息从所述数据仓库中读取解析器元数据;
根据所述解析器元数据获取数据解析器;
调用所述数据解析器根据所述字段级解密权限,采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到所述返回数据。
可选地,所述加密代理网关中设置有至少两个所述数据解析器。所述解密模块,用于:
根据所述解析器元数据,从至少两个所述数据解析器中获取第一数据解析器。
可选地,所述解密模块,用于:
响应于所述字段级解密权限具有全部字段权限,调用所述数据解析器采用所述解密密钥对所述加密数据中的全部加密字段进行解密,得到所述返回数据;
响应于所述字段级解密权限具有部分字段权限,调用所述数据解析器采用所述解密密钥对所述加密数据中的部分加密字段进行解密,得到所述返回数据;
响应于所述字段级解密权限不具有任何字段权限,调用所述数据解析器对所述加密数据中的全部加密字段均不进行解密,得到所述返回数据。
可选地,所述获取模块,用于:
根据所述数据描述信息从所述数据仓库中读取密钥元数据;
根据所述密钥元数据从密钥管理系统获取所述解密密钥。
可选地,所述加载模块,用于:
根据所述数据描述信息从所述数据仓库中读取配置元数据;
根据所述配置元数据从策略控制台,加载与所述加密数据对应的所述解密配置。
可选地,所述解密配置还包括:与所述第二用户帐号对应的字段级脱敏权限。所述装置还包括脱敏模块。
所述脱敏模块,用于调用所述数据解析器根据所述字段级脱敏权限,对所述返回数据中的全部或部分字段进行脱敏处理。
根据本申请的另一方面,提供了一种加密代理网关,所述加密代理网关包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的基于加密代理网关的加密方法或基于加密代理网关的解密方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,当所述至少一条指令、所述至少一段程序、所述代码集或指令集由计算机设备的处理器加载并执行时,实现上述方面所述的基于加密代理网关的加密方法或基于加密代理网关的解密方法。该计算机设备可以是加密代理网关。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的基于加密代理网关的加密方法或基于加密代理网关的解密方法。该计算机设备可以是加密代理网关。
本申请提供的技术方案带来的有益效果至少包括:
通过在云服务侧设置加密代理网关,该加密代理网关能够实现对数据进行细粒度加密以及对加密数据进行解密。在实现对客户端中的数据进行加密,以及对客户端的加密数据进行解密的过程中。不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务以及解密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示意性实施例提供的加解密系统的结构框图;
图2是本申请实施例提供的对数据进行加密的过程的示意图;
图3是本申请实施例提供的对数据进行解密的过程的示意图;
图4是本申请实施例提供的一种基于加密代理网关的加密方法的流程示意图;
图5是本申请实施例提供的一种基于加密代理网关的解密方法的流程示意图;
图6是本申请实施例提供的一种基于加密代理网关的加密/解密方法的流程示意图;
图7是本申请实施例提供的获取加密密钥的实现过程的示意图;
图8是本申请实施例提供的加载与明文数据对应的加密配置的实现过程的示意图;
图9是本申请实施例提供的解析明文数据的实现过程的示意图;
图10是本申请实施例提供的加载与数据类型和元数据结构对应的加密配置的实现过程的示意图;
图11是本申请实施例提供的获取解密密钥的实现过程的示意图;
图12是本申请实施例提供的加载解密配置的实现过程的示意图;
图13是本申请实施例提供的对加密数据中的全部或部分字段进行解密的实现过程的示意图;
图14是本申请实施例提供的另一种基于加密代理网关的加密/解密方法的流程示意图;
图15是本申请实施例提供的一种加密代理网关装置的框图;
图16是本申请实施例提供的另一种加密代理网关装置的框图;
图17是本申请实施例提供的又一种加密代理网关装置的框图;
图18是本申请实施例提供的再一种加密代理网关装置的框图;
图19是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于对本申请实施例提供的方法的理解,首先对本申请实施例中涉及的名词进行介绍。
云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。本申请实施例中的加密代理网关和数据仓库设置在云服务侧,即基于加密代理网关的加密方法以及基于加密代理网关的解密方法基于云计算模式。
全量加密:通过加密算法和加密密钥将明文数据全部转换为无意义的密文。当需要获取加密数据中的部分数据的明文数据时,需要将全部加密数据都解密才能实现获取该部分数据的明文数据。
细粒度加密:明文数据通常包括表义性的描述字段和实际存储取值的值字段。细粒度加密指根据加密配置只加密敏感的值字段,非敏感的值字段不做处理。加密配置还包括加密算法。当需要获取部分值字段时,无须解密全部加密数据,只需解密需要获取的值字段的加密数据即可。
数据脱敏:对数据中的某些敏感字段的值字段,通过脱敏规则进行数据变形,不反应出数据的真实内容,实现敏感隐私数据的可靠保护。
密钥管理服务(Key Management Service,KMS),一种部署在云上的符合安全和合规要求的服务,用于创建和管理加密密钥以及解密密钥。能够保证密钥的保密性、完整性和可用性。
访问管理服务(Access Management,AM),通过身份管理和策略管理实现对用户的访问权限的控制以及使用资源的权限的控制。
云数据加密代理网关(Cloud Data Encryption Broker,CDEB),一种部署在云上的用于实现数据细粒度数据加密、数据管理和数据访问控制的软件集合。本申请实施例中的加密代理网关设置在云服务侧,该加密代理网关也称为CDEB。
图1是本申请一个示意性实施例提供的加解密系统的结构框图。该加解密系统100包括:加密代理网关110以及数据仓库120。
加密代理网关110是位于客户端和数据仓库120之间的网关。加密代理网关和数据仓库设置在云服务侧。该客户端指需要进行数据加解密的用户的任一能够生成数据的客户端,例如金融客户端、网购客户端以及社交客户端等。加密代理网关110用于对该客户端发送的数据进行加密并将加密数据发送至数据仓库进行存储。以及,对该客户端需要获取的数据对应的加密数据进行解密并发送至该客户端。可选地,该加密代理网关110为服务器。例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。加密代理网关110中包括至少两个数据解析器,该数据解析器用于解析数据的数据类型和元数据结构,以及对数据进行加密和解密。示例地,数据解析器包括SQL(Structured Query Language)解析器、XML(Extensible MarkupLanguage)解析器、MongDB解析器以及Redis(Remote Dictionary Server )解析器等。不同的数据解析器用于加密和解密相应数据格式的数据。加密代理网关还能够调用策略控制台、访问控制系统以及密钥管理系统。该策略控制台用于保存和管理数据类型和元数据结构对应的加密配置以及解密配置。该访问控制系统用于实现访问管理服务。该密钥管理系统用于实现密钥管理服务。
数据仓库120用于接收加密代理网关110发送的加密数据并进行存储,以及向加密代理网关110发送用于解密的数据。可选地,该数据仓库120为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。
加密代理网关110与数据仓库120之间通过有线网络或无线网络建立连接。
图2是本申请实施例提供的对数据进行加密的过程的示意图。如图2所示,加密代理网关201接收到客户端发送的第一用户帐号的存储请求。根据存储请求中的认证信息,通过访问控制系统201b认证第一用户帐号是否拥有权限。当第一用户帐号拥有权限时,从密钥管理系统201c获取加密密钥的密钥元数据,从而获取加密密钥。加载与存储请求中的明文数据的数据格式对应的第一数据解析器201a,解析该明文数据的数据类型以及元数据结构。从策略控制台201d查询与该数据类型和元数据结构对应的加密配置的配置元数据,从而获取到加密配置。调用第一数据解析器201a,采用加密密钥对明文数据中根据加密配置中的字段级加密配置确定的目标字段进行加密,得到加密数据。之后将解析器元数据、配置元数据、密钥元数据以及加密数据存储至数据仓库202中。实现对客户端发送的明文数据进行加密。
图3是本申请实施例提供的对数据进行解密的过程的示意图。如图3所示,加密代理网关201接收到客户端发送的第二用户帐号的读取请求。根据读取请求中的认证信息,通过访问控制系统201b认证第二用户帐号是否拥有权限。当第二用户帐号拥有权限时,根据读取请求中的数据描述信息,从数据仓库202读取加密数据。根据通过数据描述信息从数据仓库202中读取的密钥元数据,从密钥管理系统201c获取解密密钥。根据通过数据描述信息从数据仓库202读取的配置元数据,从策略控制台201d加载与加密数据对应的解密配置。根据通过数据描述信息从数据仓库202中读取的解析器元数据,获取第一数据解析器201a。并调用该第一数据解析器201a,根据解密配置中的字段级解密权限,采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。可选地,加密代理网关201还根据解密配置中的字段级脱敏权限,调用第一数据解析器201a对返回数据中的全部字段或部分字段进行脱敏处理。之后加密代理网关201将该返回数据发送至客户端。实现对客户端的加密数据进行解密。
加密代理网关调用数据解析器,采用加密密钥根据加密配置对明文数据进行加密。以及,调用数据解析器,采用解密密钥根据解密配置对加密数据进行解密。在实现加密以及解密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务以及解密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
图4是本申请实施例提供的一种基于加密代理网关的加密方法的流程示意图。该方法可以用于如图1所示的系统中的加密代理网关。该方法包括以下步骤。
步骤401、接收客户端的存储请求,存储请求包括第一用户帐号和明文数据。
该存储请求用于指示加密代理网关对明文数据进行加密,并对加密后的数据进行存储。该明文数据指客户端中的未进行加密的原始数据。
可选地,第一用户帐号为客户端的管理人员在加密代理网关中的用户帐号。第一用户帐号为加密代理网关中的任一用户帐号。
明文数据包括描述字段和值字段。该描述字段指具有表义性的描述字段,例如“姓名”。值字段是用于实际存储取值的字段,例如“张三”。
步骤402、在第一用户帐号拥有权限时,获取第一用户帐号的加密密钥。
第一用户帐号拥有权限,指客户端能够使用加密代理网关提供的加密服务以及数据仓库的存储资源,即客户端能够通过加密代理网关加密客户端发送的明文数据并对加密后的数据进行存储。
加密代理网关根据该加密密钥提供的加密运算方法,将明文数据转化为不反映实际信息的密文数据,实现对明文数据的加密。可选地,不同的用户帐号对应不同的加密密钥。该加密密钥由客户端的管理人员通过加密代理网关对应的密钥管理系统生成,或者由客户端的管理人员自定义该加密密钥,并上传至加密代理网关对应的密钥管理系统。
步骤403、加载与明文数据对应的加密配置。
该加密配置用于指示加密代理网关对明文数据采用对应的加密策略进行加密。例如对明文数据进行全量加密或细粒度加密。可选地,该加密配置包括字段级加密配置。该字段级加密配置用于反映明文数据中需要加密代理网关进行加密的字段。
该加密配置与客户端发送的明文数据的数据类型和元数据结构相对应。该数据类型指明文数据中的值字段的存储方式。该元数据结构为明文数据对应的元数据的结构,用于反映明文数据的特征,例如明文数据包括的数据表的名称以及明文数据包括的字段的信息等。可选地,加密代理网关从策略控制台,获取该加密配置。该策略控制台中,预置有明文数据的数据类型和元数据结构对应的加密配置。
步骤404、根据加密配置采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。
该目标字段是通过加密配置确定的。可选地,该目标字段包括明文数据中的全部字段,或者部分字段。加密代理网关包括至少两个数据解析器。数据解析器用于解析明文数据的数据类型和元数据结构,并对明文数据进行加密。可选地,存储请求还包括用于反映明文数据的数据格式的信息。加密代理网关通过第一数据解析器对明文数据进行加密,该第一数据解析器为至少两个数据解析器中,与明文数据的数据格式对应的数据解析器。该数据格式指存储明文数据的数据库的类型。
步骤405、将加密数据存储至数据仓库中。
可选地,加密代理网关还将加密数据对应的解析器元数据、配置元数据以及密钥元数据存储至数据仓库中,用于对加密数据进行解密。该解析器元数据用于标识生成该加密数据的第一数据解析器。该配置元数据用于标识生成该加密数据时用到的加密配置。该密钥元数据用于标识生成该加密数据时用到的加密密钥。
综上所述,本实施例提供的方法,在云服务侧设置加密代理网关,该加密代理网关能够实现对数据进行细粒度加密。在实现对客户端中的数据进行加密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
图5是本申请实施例提供的一种基于加密代理网关的解密方法的流程示意图。该方法可以用于如图1所示的系统中的加密代理网关。该方法包括以下步骤。
步骤501、接收客户端的读取请求,读取请求包括第二用户帐号和数据描述信息。
该读取请求用于指示加密代理网关对加密数据进行解密,并将解密后的数据发送至客户端。该数据描述信息用于确定需要解密的加密数据。可选地,第二用户帐号为客户端的管理人员在加密代理网关中的用户帐号。第二用户帐号为通过加密代理网关加密并存储数据的任一用户帐号。可选地,第二用户帐号与第一用户帐号相同或者不同。
步骤502、在第二用户帐号拥有权限时,根据数据描述信息从数据仓库读取加密数据。
第二用户帐号拥有权限,指客户端能够使用加密代理网关提供的解密服务以及数据仓库的存储资源。即客户端能够通过加密代理网关解密客户端的加密数据,并指示加密代理网关将解密的数据发送至该客户端。该数据描述信息用于反映客户端需要进行解密的加密数据。
可选地,加密代理网关根据数据描述信息从数据仓库读取加密数据时,还根据该数据描述信息,获取加密数据对应的解析器元数据、配置元数据以及密钥元数据,用于对加密数据进行解密。
步骤503、获取加密数据的解密密钥。
加密代理网关根据该解密密钥提供的解密运算方法,将加密数据转化为能够反映实际信息的明文数据,实现对加密数据的解密。可选地,加密数据的解密密钥,与加密数据对应的加密密钥相同。或者,加密数据的解密密钥,与加密数据对应的加密密钥不同,但为该加密密钥对应的解密密钥。
可选地,加密代理网关根据密钥元数据,从密钥管理系统中获取该解密密钥。
步骤504、加载与加密数据对应的解密配置。
该解密配置与该加密数据对应的加密配置相对应。用于指示加密代理网关对加密数据中的解密配置包括的加密字段进行解密。可选地,该解密配置包括与第二用户帐号对应的字段级解密权限。该字段级解密权限用于反映加密数据中需要加密代理网关进行解密的字段。
可选地,加密代理网关根据加密元数据,从策略控制台加载解密配置。该策略控制台预置有用户帐号对应的字段级解密权限。例如加密数据包括字段“姓名”、“身份证号”以及“手机号”。用户帐号1的字段级解密权限包括“姓名”,用户帐号2的字段级解密权限包括“姓名”以及“手机号”。用户帐号1能够通过加密代理网关解密加密数据中的“姓名”,用户帐号2能够通过加密代理网关解密加密数据中的“姓名”以及“手机号”。
步骤505、根据解密配置采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
该全部或部分字段是通过解密配置确定的。可选地,加密代理网关包括至少两个数据解析器。加密代理网关根据解析器元数据,确定出用于解密该加密数据的第一数据解析器。加密代理网关通过第一数据解析器对加密数据进行解密。该第一数据解析器为生成该加密数据的数据解析器。
步骤506、将返回数据发送至客户端。
综上所述,本实施例提供的方法,在云服务侧设置加密代理网关,该加密代理网关能够实现对加密数据进行解密。在实现对客户端的加密数据进行解密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的解密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
图6是本申请实施例提供的一种基于加密代理网关的加密/解密方法的流程示意图。该方法可以用于如图1所示的系统。该方法包括以下步骤。
步骤601、客户端向加密代理网关发送存储请求,存储请求包括第一用户帐号和明文数据。
可选地,客户端基于超文本传输安全协议(Hyper Text Transfer Protocol overSecureSocket Layer,HTTPS)向加密代理网关发送存储请求。
步骤602、加密代理网关根据存储请求中的认证信息从访问控制系统认证第一用户帐号是否具有权限。
该认证信息为加密代理网关向第一用户帐号授予的信息。该认证信息用于反映第一用户帐号能够使用的加密代理网关提供的服务。例如第一用户帐号能够使用加密代理网关提供的加密服务,但第一用户帐号不能使用加密代理网关提供的解密服务。
步骤603、在第一用户帐号拥有权限时,加密代理网关获取第一用户帐号的加密密钥。
可选地,如图7所示,步骤603的实现过程包括以下步骤6031以及步骤6032。
在步骤6031中,从密钥管理系统获取第一用户帐号的加密密钥的密钥元数据。
该密钥元数据用于标识第一用户帐号对应的加密密钥。可选地,当第一用户帐号在密钥管理系统中创建加密密钥时,密钥管理系统生成该密钥元数据。第一用户帐号对应至少一个密钥元数据。可选地,当第一用户帐号对应一个密钥元数据时,加密代理网关根据存储请求中的第一用户帐号,从密钥管理系统获取第一用户帐号的该密钥元数据。当第一用户帐号对应多个密钥元数据时,加密代理网关根据存储请求中的第一用户帐号以及密钥指示信息,从密钥管理系统获取第一用户帐号的密钥指示信息指示出的密钥元数据。
在步骤6032中,根据密钥元数据获取加密密钥。
可选地,当第一用户帐号在密钥管理系统中没有对应的加密密钥时,加密代理网关向登录第一用户帐号的计算机设备发送创建加密密钥的提示信息。
步骤604、加密代理网关加载与明文数据对应的加密配置。
可选地,如图8所示,步骤604的实现过程包括以下步骤6041以及步骤6042。
在步骤6041中,调用数据解析器解析明文数据的数据类型和元数据结构。
可选地,加密代理网关中设置有至少两个数据解析器,数据解析器对应有各自的数据格式,即每个数据解析器对应各自的数据格式。如图9所示,步骤6041的实现过程包括以下步骤6041a以及步骤6041b。
在步骤6041a中,从至少两个数据解析器中,加载与明文数据的数据格式对应的第一数据解析器。
可选地,存储请求包括明文数据的数据格式的的信息。加密代理网关根据该信息,加载与明文数据的数据格式对应的第一数据解析器。
在步骤6041b中,调用第一数据解析器解析明文数据的数据类型和元数据结构。
示例地,明文数据的数据库的类型为XML,则加密代理网关调用XML解析器解析明文数据的数据类型和元数据结构。
在步骤6042中,加载与数据类型和元数据结构对应的加密配置。
可选地,如图10所示,步骤6042的实现过程包括以下步骤6042a以及步骤6042b。
在步骤6042a中,从策略控制台查询与数据类型和元数据结构对应的加密配置的配置元数据。
该配置元数据用于标识与数据类型和元数据结构对应加密配置。可选地,当客户端的管理人员在策略控制台中创建数据类型和元数据结构对应的加密配置时,策略控制台生成该配置元数据。不同的用户帐号对应相同的加密配置。
在步骤6042b中,根据配置元数据获取加密配置。
可选地,当该数据类型和元数据结构在策略控制台中没有对应的加密配置时,加密代理网关向登录第一用户帐号的计算机设备发送创建加密配置的提示信息。
步骤605、加密代理网关根据加密配置采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。
可选地,该加密配置包括字段级加密配置。该目标字段是通过该字段级加密配置确定的。此时加密代理网关调用第一数据解析器根据字段级加密配置,采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。该字段级加密配置用于反映明文数据中需要加密代理网关进行加密的字段。示例地,对于明文数据:“姓名-张三”和“性别-男”,该明文数据对应的加密配置指示加密代理网关只对“张三”进行加密,不对“姓名”和“性别-男”进行加密。
步骤606、加密代理网关将加密数据存储至数据仓库中。
可选地,加密代理网关在将加密数据存储至数据仓库中时,还将第一数据解析器的解析器元数据、配置元数据、密钥元数据存储至数据仓库中,用于对加密数据进行解密。
步骤607、客户端向加密代理网关发送读取请求,读取请求包括第二用户帐号和数据描述信息。
可选地,客户端基于HTTPS向加密代理网关发送读取请求。
步骤608、在第二用户帐号拥有权限时,加密代理网关根据数据描述信息从数据仓库读取加密数据。
步骤609、加密代理网关获取加密数据的解密密钥。
可选地,如图11所示,步骤609的实现过程包括以下步骤6091以及步骤6092。
在步骤6091中,根据数据描述信息从数据仓库中读取密钥元数据。
该密钥元数据为生成数据描述信息对应的加密数据时,所用到的加密密钥的元数据。
在步骤6092中,根据密钥元数据从密钥管理系统获取解密密钥。
可选地,加密数据的解密密钥,与加密数据对应的加密密钥相同。或者,加密数据的解密密钥,与加密数据对应的加密密钥不同,但为该加密密钥对应的解密密钥。
步骤610、加密代理网关加载与加密数据对应的解密配置。
可选地,如图12所示,步骤610的实现过程包括以下步骤6101以及步骤6102。
在步骤6101中,根据数据描述信息从数据仓库中读取配置元数据。
该配置元数据为生成数据描述信息对应的加密数据时,所用到的加密配置的元数据。
在步骤6102中,根据配置元数据从策略控制台,加载与加密数据对应的解密配置。
该策略控制台预置有加密配置对应的解密配置,即配置元数据对应的解密配置。
步骤611、加密代理网关根据解密配置采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
可选地,解密配置包括:与第二用户帐号对应的字段级解密权限。该字段级解密权限是客户端的管理人员在策略控制台中创建的。可选地,不同的用户帐号对应不同的字段级解密权限。字段级解密权限包括能够对加密数据中的至少一个字段进行解密的权限。
可选地,如图13所示,步骤611的实现过程包括以下步骤6111至6113。
在步骤6111中,根据数据描述信息从数据仓库中读取解析器元数据。
该解析器元数据用于标识加密代理网关调用的,用于对加密数据进行解密的数据解析器。根据数据描述信息从数据仓库中读取的解析器元数据,为生成数据描述信息对应的加密数据的数据解析器的元数据。
在步骤6112中,根据解析器元数据获取数据解析器。
可选地,加密代理网关中设置有至少两个数据解析器。加密代理网关根据解析器元数据,从该至少两个数据解析器中获取第一数据解析器。该第一数据解析器为生成数据描述信息对应的加密数据的数据解析器。
在步骤6113中,调用数据解析器根据字段级解密权限,采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
该全部或部分字段是通过解密配置中的与第二用户帐号对应的字段级解密权限确定的。可选地,响应于字段级解密权限具有全部字段权限,加密代理网关调用数据解析器采用解密密钥对加密数据中的全部加密字段进行解密,得到返回数据。或者,响应于字段级解密权限具有部分字段权限,加密代理网关调用数据解析器采用解密密钥对加密数据中的部分加密字段进行解密,得到返回数据。或者,响应于字段级解密权限不具有任何字段权限,加密代理网关调用数据解析器对加密数据中的全部加密字段均不进行解密,得到返回数据。
步骤612、加密代理网关将返回数据发送至客户端。
可选地,解密配置还包括:与第二用户帐号对应的字段级脱敏权限。在执行步骤612之前,加密代理网关还调用数据解析器根据字段级脱敏权限,对返回数据中的全部或部分字段进行脱敏处理。
该字段级脱敏权限是客户端的管理人员在策略控制台中创建的。可选地,不同的用户帐号对应不同的字段级脱敏权限。字段级脱敏权限用于指示数据解析器对返回数据中的至少一个字段进行数据脱敏。
综上所述,本实施例提供的方法,加密代理网关调用数据解析器,采用加密密钥根据加密配置对明文数据进行加密。以及,调用数据解析器,采用解密密钥根据解密配置对加密数据进行解密。在实现加密以及解密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务以及解密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
另外,加密代理网关包括至少两个数据解析器,每个数据解析器对应各自的数据格式,该数据格式为存储明文数据的数据库的类型。因此加密代理网关能够对各类数据库中存储的数据进行加密,扩大了加密的适用范围。通过密钥管理系统管理用户帐号的加密密钥以及解密密钥,保障了密钥的安全。实现加密以及解密的过程中,加密代理网关不需要主动去客户端的数据库中读取数据,降低了数据泄露的风险。通过访问控制系统控制用户的存储请求以及读取请求,能够避免风险操作,从而保障用户的数据安全。客户端的管理人员能够根据需求创建加密配置以及解密配置,并且加密配置以及解密配置能够针对数据中的字段进行设置,提升了用户体验。可针对不同的用户帐号建立不同的解密权限以及脱敏权限,实现针对不同用户管理解密的数据的范围以及读取的解密数据的范围,实现灵活提供解密服务,进一步提升了用户体验。
图14是本申请实施例提供的另一种基于加密代理网关的加密/解密方法的流程示意图。该方法可以用于如图1所示的系统。该方法包括以下步骤。
步骤1401、客户端向加密代理网关发送存储请求,存储请求包括第一用户帐号、认证信息、密钥管理信息、明文数据以及明文数据处理策略。
可选地,客户端基于HTTPS向加密代理网关发送该存储请求。该认证信息用于确定第一用户帐号是否能够使用加密代理网关的加密服务以及数据仓库的存储资源。该密钥管理信息用于确定第一用户帐号是否能够管理加密密钥,例如新增加密密钥和删除加密密钥。该明文数据处理策略用于反映明文数据的数据格式。
步骤1402、加密代理网关根据存储请求中的认证信息从访问控制系统认证第一用户帐号是否具有权限。
第一用户帐号拥有权限,指客户端能够通过加密代理网关加密客户端发送的明文数据并对加密后的数据进行存储。
步骤1403、在第一用户帐号拥有权限时,加密代理网关从密钥管理系统获取第一用户帐号的加密密钥的密钥元数据。
该密钥元数据用于标识第一用户帐号对应的加密密钥。
步骤1404、加密代理网关根据密钥元数据获取加密密钥。
当第一用户帐号在密钥管理系统中没有对应的加密密钥时,加密代理网关向登录第一用户帐号的计算机设备发送创建加密密钥的提示信息。
步骤1405、加密代理网关从至少两个数据解析器中,加载与明文数据的数据格式对应的第一数据解析器。
加密代理网关中设置有至少两个数据解析器,每个数据解析器对应各自的数据格式。加密代理网关根据存储请求中的明文数据处理策略,加载第一数据解析器。
步骤1406、加密代理网关调用第一数据解析器解析明文数据的数据类型和元数据结构。
示例地,明文数据的数据库的类型为XML,则加密代理网关调用XML解析器解析明文数据的数据类型和元数据结构。
步骤1407、加密代理网关从策略控制台查询与数据类型和元数据结构对应的加密配置的配置元数据。
该配置元数据用于标识与数据类型和元数据结构对应的加密配置。策略控制台中预置有不同的数据类型和元数据结构对应的配置元数据。
步骤1408、加密代理网关根据配置元数据,获取加密配置。
该加密配置包括字段级加密配置。当该数据类型和元数据结构在策略控制台中没有对应的加密配置时,加密代理网关向登录第一用户帐号的计算机设备发送创建加密配置的提示信息。
步骤1409、加密代理网关调用第一数据解析器根据字段级加密配置,采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。
其中,目标字段是通过字段级加密配置确定的。字段级加密配置包括明文数据中的全部字段或部分字段。即加密代理网关能够对明文数据进行全量加密或细粒度加密。
步骤1410、加密代理网关将加密数据、第一数据解析器的解析器元数据、配置元数据以及密钥元数据存储至数据仓库中。
其中,第一数据解析器的解析器元数据、配置元数据以及密钥元数据用于对加密数据进行解密。
步骤1411、客户端向加密代理网关发送读取请求,读取请求包括第二用户帐号、认证信息和数据描述信息。
可选地,客户端基于HTTPS向加密代理网关发送该读取请求。该认证信息用于确定第二用户帐号是否能够使用加密代理网关的解密服务以及数据仓库的存储资源。数据描述信息用于确定客户端需要解密的加密数据。
步骤1412、加密代理网关根据读取请求中的认证信息从访问控制系统认证第二用户帐号是否具有权限。
第二用户帐号拥有权限,指客户端能够通过加密代理网关解密数据描述信息对应的加密数据并获取解密后的数据。
步骤1413、在第二用户帐号拥有权限时,加密代理网关根据数据描述信息从数据仓库读取加密数据、第一数据解析器的解析器元数据、配置元数据以及密钥元数据。
第一数据解析器的解析器元数据、配置元数据以及密钥元数据用于对该加密数据进行解密。
步骤1414、加密代理网关根据密钥元数据从密钥管理系统获取解密密钥。
该密钥元数据用于标识生成加密数据时用到的加密密钥。该解密密钥与加密密钥相同,或者为加密密钥对应的解密密钥。
步骤1415、加密代理网关根据配置元数据从策略控制台,加载与加密数据对应的解密配置。
该配置元数据用于标识生成加密数据时用到的加密配置。该策略控制台预置有加密配置对应的解密配置,即配置元数据对应的解密配置。解密配置包括与第二用户帐号对应的字段级解密权限。字段级解密权限包括能够对加密数据中的全部字段进行解密的权限或能够对加密数据中的部分字段进行解密的权限。
步骤1416、加密代理网关根据解析器元数据,从至少两个数据解析器中获取第一数据解析器。
加密代理网关中设置有至少两个数据解析器。解析器元数据用于标识生成加密数据的第一数据解析器。
步骤1417、加密代理网关调用第一数据解析器根据字段级解密权限,采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
该全部或部分字段是通过解密配置中的与第二用户帐号对应的字段级解密权限确定的。可选地,当字段级解密权限具有全部字段权限时,加密代理网关调用数据解析器采用解密密钥对加密数据中的全部加密字段进行解密,得到返回数据。或者,当字段级解密权限具有部分字段权限时,加密代理网关调用数据解析器采用解密密钥对加密数据中的部分加密字段进行解密,得到返回数据。或者,当字段级解密权限不具有任何字段权限时,加密代理网关调用数据解析器对加密数据中的全部加密字段均不进行解密,得到返回数据。
步骤1418、加密代理网关调用第一数据解析器根据字段级脱敏权限,对返回数据中的全部或部分字段进行脱敏处理。
解密配置还包括与第二用户帐号对应的字段级脱敏权限。该字段级脱敏权限是客户端的管理人员在策略控制台中创建的。字段级脱敏权限用于指示第一数据解析器对返回数据中的至少一个字段进行数据脱敏处理。
步骤1419、加密代理网关向客户端发送返回数据。
综上所述,本实施例提供的方法,加密代理网关调用第一数据解析器,采用加密密钥根据加密配置对明文数据进行加密。以及,调用第一数据解析器,采用解密密钥根据解密配置对加密数据进行解密。在实现加密以及解密的过程中,不需要对客户端进行改造,只需要客户端使用加密代理网关提供的加密服务以及解密服务。减少了客户端的开发工作量并且提升了客户端的版本更新效率。
另外,加密代理网关包括至少两个数据解析器,每个数据解析器对应各自的数据格式,该数据格式为存储明文数据的数据库的类型。因此加密代理网关能够对各类数据库中存储的数据进行加密,扩大了加密的适用范围。通过密钥管理系统管理用户帐号的加密密钥以及解密密钥,保障了密钥的安全。实现加密以及解密的过程中,加密代理网关不需要主动去客户端的数据库中读取数据,降低了数据泄露的风险。通过访问控制系统控制用户的存储请求以及读取请求,能够避免风险操作,从而保障用户的数据安全。客户端的管理人员能够根据需求创建加密配置以及解密配置,并且加密配置以及解密配置能够针对数据中的字段进行设置,提升了用户体验。可针对不同的用户帐号建立不同的解密权限以及脱敏权限,实现针对不同用户管理解密的数据的范围以及读取的解密数据的范围,实现灵活提供解密服务,进一步提升了用户体验。
需要说明的是,本申请实施例提供的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图15是本申请实施例提供的一种加密代理网关装置的框图。该装置可以用于如图1所示的系统中的加密代理网关中。该装置150包括接收模块1501、获取模块1502、加载模块1503、加密模块1504以及存储模块1505。
接收模块1501,用于接收客户端的存储请求,存储请求包括第一用户帐号和明文数据。
获取模块1502,用于在第一用户帐号拥有权限时,获取第一用户帐号的加密密钥。
加载模块1503,用于加载与明文数据对应的加密配置。
加密模块1504,用于根据加密配置采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。
存储模块1505,用于将加密数据存储至数据仓库中。
可选地,加载模块1503,用于:
调用数据解析器解析明文数据的数据类型和元数据结构;
加载与数据类型和元数据结构对应的加密配置。
可选地,加密代理网关中设置有至少两个数据解析器,数据解析器对应有各自的数据格式。加载模块1503,用于:
从至少两个数据解析器中,加载与明文数据的数据格式对应的第一数据解析器;
调用第一数据解析器解析明文数据的数据类型和元数据结构。
存储模块1505,用于:
将加密数据和第一数据解析器的解析器元数据存储至数据仓库中。
可选地,加载模块1503,用于:
从策略控制台查询与数据类型和元数据结构对应的加密配置的配置元数据。根据配置元数据,获取加密配置。
存储模块1505,用于:
将加密数据和配置元数据存储至数据仓库中。
可选地,加密配置包括字段级加密配置。加密模块1504,用于:
调用第一数据解析器根据字段级加密配置,采用加密密钥对明文数据中的目标字段进行加密,得到加密数据。
可选地,获取模块1502,用于:
在第一用户帐号拥有权限时,从密钥管理系统获取第一用户帐号的加密密钥的密钥元数据。根据密钥元数据获取加密密钥。
存储模块1505,用于:
将加密数据和密钥元数据存储至数据仓库中。
可选地,存储请求还包括认证信息。如图16所示,装置150还包括认证模块1506。
认证模块1506,用于根据认证信息从访问控制系统认证第一用户帐号是否具有权限。
图17是本申请实施例提供的又一种加密代理网关装置的框图。该装置可以用于如图1所示的系统中的加密代理网关中。该装置170包括接收模块1701、读取模块1702、获取模块1703、加载模块1704、解密模块1705以及发送模块1706。
接收模块1701,用于接收客户端的读取请求,读取请求包括第二用户帐号和数据描述信息。
读取模块1702,用于在第二用户帐号拥有权限时,根据数据描述信息从数据仓库读取加密数据。
获取模块1703,用于获取加密数据的解密密钥。
加载模块1704,用于加载与加密数据对应的解密配置。
解密模块1705,用于根据解密配置采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
发送模块1706,用于将返回数据发送至客户端。
可选地,解密配置包括:与第二用户帐号对应的字段级解密权限。解密模块1705,用于:
根据数据描述信息从数据仓库中读取解析器元数据;
根据解析器元数据获取数据解析器;
调用数据解析器根据字段级解密权限,采用解密密钥对加密数据中的全部或部分字段进行解密,得到返回数据。
可选地,加密代理网关中设置有至少两个数据解析器。解密模块1705,用于:
根据解析器元数据,从至少两个数据解析器中获取第一数据解析器。
可选地,解密模块1705,用于:
响应于字段级解密权限具有全部字段权限,调用数据解析器采用解密密钥对加密数据中的全部加密字段进行解密,得到返回数据;
响应于字段级解密权限具有部分字段权限,调用数据解析器采用解密密钥对加密数据中的部分加密字段进行解密,得到返回数据;
响应于字段级解密权限不具有任何字段权限,调用数据解析器对加密数据中的全部加密字段均不进行解密,得到返回数据。
可选地,获取模块1703,用于:
根据数据描述信息从数据仓库中读取密钥元数据;
根据密钥元数据从密钥管理系统获取解密密钥。
可选地,加载模块1704,用于:
根据数据描述信息从数据仓库中读取配置元数据;
根据配置元数据从策略控制台,加载与加密数据对应的解密配置。
可选地,解密配置还包括:与第二用户帐号对应的字段级脱敏权限。如图18所示,装置170还包括脱敏模块1707。
脱敏模块1707,用于调用数据解析器根据字段级脱敏权限,对返回数据中的全部或部分字段进行脱敏处理。
需要说明的是:上述实施例提供的加密代理网关装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的加密代理网关装置与基于加密代理网关的加密方法实施例以及基于加密代理网关的解密方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请的实施例还提供了一种加密代理网关,该加密代理网关包括:处理器和存储器,该装置存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的基于加密代理网关的加密方法或基于加密代理网关的解密方法。
可选地,该加密代理网关为服务器。示例地,图19是本申请实施例提供的一种服务器的结构示意图。
所述服务器1900包括中央处理单元(Central Processing Unit,CPU)1901、包括随机存取存储器(Random Access Memory ,RAM)1902和只读存储器(Read-Only Memory ,ROM)1903的系统存储器1904,以及连接系统存储器1904和中央处理单元1901的系统总线1905。所述计算机设备1900还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input /Output 系统,I/O系统)1906,和用于存储操作系统1913、应用程序1914和其他程序模块1915的大容量存储设备1907。
所述基本输入/输出系统1906包括有用于显示信息的显示器1908和用于用户输入信息的诸如鼠标、键盘之类的输入设备1909。其中所述显示器1908和输入设备1909都通过连接到系统总线1905的输入输出控制器1910连接到中央处理单元1901。所述基本输入/输出系统1906还可以包括输入输出控制器1910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1907通过连接到系统总线1905的大容量存储控制器(未示出)连接到中央处理单元1901。所述大容量存储设备1907及其相关联的计算机可读存储介质为服务器1900提供非易失性存储。也就是说,所述大容量存储设备1907可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read OnlyMemory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable ProgrammableRead-Only Memory,EEPROM)、闪存或其他固态存储设备,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1904和大容量存储设备1907可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1901执行,一个或多个程序包含用于实现上述方法实施例的指令,中央处理单元1901执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述服务器1900还可以通过诸如因特网等网络连接到网络上的远程服务器运行。也即服务器1900可以通过连接在所述系统总线1905上的网络接口单1911连接到网络1912,或者说,也可以使用网络接口单元1911来连接到其他类型的网络或远程服务器系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由加密代理网关所执行的步骤。
本申请实施例中还提供了一种计算机可读存储介质,该可读存储介质中可以存储有至少一条指令、至少一段程序、代码集或指令集,当该至少一条指令、至少一段程序、代码集或指令集由计算机设备的处理器加载并执行时,实现上述各方法实施例提供的基于加密代理网关的加密方法或基于加密代理网关的解密方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的基于加密代理网关的加密方法或基于加密代理网关的解密方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的可读存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种基于加密代理网关的加密方法,其特征在于,所述加密代理网关是位于客户端和数据仓库之间的网关,所述加密代理网关和所述数据仓库设置在云服务侧,所述方法包括:
接收所述客户端的存储请求,所述存储请求包括第一用户帐号和明文数据;
在所述第一用户帐号拥有权限时,获取所述第一用户帐号的加密密钥;
加载与所述明文数据对应的加密配置;
根据所述加密配置采用所述加密密钥对所述明文数据中的目标字段进行加密,得到加密数据;
将所述加密数据存储至所述数据仓库中。
2.根据权利要求1所述的方法,其特征在于,所述加载与所述明文数据对应的加密配置,包括:
调用数据解析器解析所述明文数据的数据类型和元数据结构;
加载与所述数据类型和所述元数据结构对应的加密配置。
3.根据权利要求2所述的方法,其特征在于,所述加密代理网关中设置有至少两个所述数据解析器,所述数据解析器对应有各自的数据格式;
所述调用数据解析器解析所述明文数据的数据类型和元数据结构,包括:
从至少两个所述数据解析器中,加载与所述明文数据的数据格式对应的第一数据解析器;
调用所述第一数据解析器解析所述明文数据的数据类型和元数据结构;
所述将所述加密数据存储至所述数据仓库中,包括:
将所述加密数据和所述第一数据解析器的解析器元数据存储至所述数据仓库中。
4.根据权利要求2所述的方法,其特征在于,所述加载与所述数据类型和所述元数据结构对应的加密配置,包括:
从策略控制台查询与所述数据类型和所述元数据结构对应的加密配置的配置元数据;根据所述配置元数据,获取所述加密配置;
所述将所述加密数据存储至所述数据仓库中,包括:
将所述加密数据和所述配置元数据存储至所述数据仓库中。
5.根据权利要求3所述的方法,其特征在于,所述加密配置包括字段级加密配置,所述根据所述加密配置采用所述加密密钥对所述明文数据中的目标字段进行加密,得到加密数据,包括:
调用所述第一数据解析器根据所述字段级加密配置,采用所述加密密钥对所述明文数据中的所述目标字段进行加密,得到所述加密数据。
6.根据权利要求1至5任一所述的方法,其特征在于,所述在所述第一用户帐号拥有权限时,获取所述第一用户帐号的加密密钥,包括:
在所述第一用户帐号拥有权限时,从密钥管理系统获取所述第一用户帐号的加密密钥的密钥元数据;根据所述密钥元数据获取所述加密密钥;
所述将所述加密数据存储至所述数据仓库中,包括:
将所述加密数据和所述密钥元数据存储至所述数据仓库中。
7.一种基于加密代理网关的解密方法,其特征在于,所述加密代理网关是位于客户端和数据仓库之间的网关,所述加密代理网关和所述数据仓库设置在云服务侧,所述方法包括:
接收所述客户端的读取请求,所述读取请求包括第二用户帐号和数据描述信息;
在所述第二用户帐号拥有权限时,根据所述数据描述信息从所述数据仓库读取加密数据;
获取所述加密数据的解密密钥;
加载与所述加密数据对应的解密配置;
根据所述解密配置采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到返回数据;
将所述返回数据发送至所述客户端。
8.根据权利要求7所述的方法,其特征在于,所述解密配置包括:与所述第二用户帐号对应的字段级解密权限;
所述根据所述解密配置采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到返回数据,包括:
根据所述数据描述信息从所述数据仓库中读取解析器元数据;
根据所述解析器元数据获取数据解析器;
调用所述数据解析器根据所述字段级解密权限,采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到所述返回数据。
9.根据权利要求8所述的方法,其特征在于,所述加密代理网关中设置有至少两个所述数据解析器;
所述根据所述解析器元数据获取数据解析器,包括:
根据所述解析器元数据,从至少两个所述数据解析器中获取第一数据解析器。
10.根据权利要求8所述的方法,其特征在于,所述调用所述数据解析器根据所述字段级解密权限,对所述加密数据中的全部或部分字段进行解密,得到所述返回数据,包括:
响应于所述字段级解密权限具有全部字段权限,调用所述数据解析器采用所述解密密钥对所述加密数据中的全部加密字段进行解密,得到所述返回数据;
响应于所述字段级解密权限具有部分字段权限,调用所述数据解析器采用所述解密密钥对所述加密数据中的部分加密字段进行解密,得到所述返回数据;
响应于所述字段级解密权限不具有任何字段权限,调用所述数据解析器对所述加密数据中的全部加密字段均不进行解密,得到所述返回数据。
11.根据权利要求8至10任一所述的方法,其特征在于,所述解密配置还包括:与所述第二用户帐号对应的字段级脱敏权限;
所述方法还包括:
调用所述数据解析器根据所述字段级脱敏权限,对所述返回数据中的全部或部分字段进行脱敏处理。
12.一种加密代理网关装置,其特征在于,应用于加密代理网关中,所述加密代理网关装置位于客户端和数据仓库之间,所述装置和所述数据仓库设置在云服务侧,所述装置包括:
接收模块,用于接收所述客户端的存储请求,所述存储请求包括第一用户帐号和明文数据;
获取模块,用于在所述第一用户帐号拥有权限时,获取所述第一用户帐号的加密密钥;
加载模块,用于加载与所述明文数据对应的加密配置;
加密模块,用于根据所述加密配置采用所述加密密钥对所述明文数据中的目标字段进行加密,得到加密数据;
存储模块,用于将所述加密数据存储至所述数据仓库中。
13.一种加密代理网关装置,其特征在于,应用于加密代理网关中,所述加密代理网关装置位于客户端和数据仓库之间,所述装置和所述数据仓库设置在云服务侧,所述装置包括:
接收模块,用于接收所述客户端的读取请求,所述读取请求包括第二用户帐号和数据描述信息;
读取模块,用于在所述第二用户帐号拥有权限时,根据所述数据描述信息从所述数据仓库读取加密数据;
获取模块,用于获取所述加密数据的解密密钥;
加载模块,用于加载与所述加密数据对应的解密配置;
解密模块,用于根据所述解密配置采用所述解密密钥对所述加密数据中的全部或部分字段进行解密,得到返回数据;
发送模块,用于将所述返回数据发送至所述客户端。
14.一种加密代理网关,其特征在于,所述加密代理网关包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的基于加密代理网关的加密方法,或权利要求7至11任一所述的基于加密代理网关的解密方法。
15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的基于加密代理网关的加密方法,或权利要求7至11任一所述的基于加密代理网关的解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698120.9A CN111740826B (zh) | 2020-07-20 | 2020-07-20 | 基于加密代理网关的加密方法、解密方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698120.9A CN111740826B (zh) | 2020-07-20 | 2020-07-20 | 基于加密代理网关的加密方法、解密方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740826A true CN111740826A (zh) | 2020-10-02 |
CN111740826B CN111740826B (zh) | 2021-06-18 |
Family
ID=72655094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010698120.9A Active CN111740826B (zh) | 2020-07-20 | 2020-07-20 | 基于加密代理网关的加密方法、解密方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740826B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491922A (zh) * | 2020-12-07 | 2021-03-12 | 中国电子信息产业集团有限公司第六研究所 | 集中式网关数据保护方法、网关设备、数据服务器及系统 |
CN112988888A (zh) * | 2021-02-19 | 2021-06-18 | 平安科技(深圳)有限公司 | 密钥管理方法、装置、电子设备及存储介质 |
CN115242486A (zh) * | 2022-07-19 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN115296885A (zh) * | 2022-08-01 | 2022-11-04 | 中国银行股份有限公司 | 数据的加密方法、装置、电子设备及计算机存储介质 |
CN117094722A (zh) * | 2023-10-19 | 2023-11-21 | 深圳薪汇科技有限公司 | 一种线上支付的安全监理方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
CN102855448A (zh) * | 2012-08-10 | 2013-01-02 | 深圳市黎明网络系统有限公司 | 一种字段级数据库加密装置 |
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN104063334A (zh) * | 2014-07-11 | 2014-09-24 | 中国人民公安大学 | 一种基于数据属性的加密方法和系统 |
US20150249687A1 (en) * | 2009-05-19 | 2015-09-03 | Security First Corp. | Systems and methods for securing data in the cloud |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和系统 |
CN106357601A (zh) * | 2016-08-15 | 2017-01-25 | 北京奇虎科技有限公司 | 数据访问方法、装置及系统 |
CN107911393A (zh) * | 2017-12-28 | 2018-04-13 | 北京明朝万达科技股份有限公司 | 一种数据安全管理系统和方法 |
CN108289105A (zh) * | 2018-03-01 | 2018-07-17 | 郑州云海信息技术有限公司 | 数据加密存储方法、装置、设备、系统及可读存储介质 |
CN108595971A (zh) * | 2018-04-25 | 2018-09-28 | 杭州闪捷信息科技股份有限公司 | 一种数据库自适应加密方法 |
US20180293384A1 (en) * | 2017-04-05 | 2018-10-11 | International Business Machines Corporation | Securely exchanging information during application startup |
CN109241501A (zh) * | 2018-08-15 | 2019-01-18 | 北京北信源信息安全技术有限公司 | 文件解析方法和装置 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
-
2020
- 2020-07-20 CN CN202010698120.9A patent/CN111740826B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
US20150249687A1 (en) * | 2009-05-19 | 2015-09-03 | Security First Corp. | Systems and methods for securing data in the cloud |
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN102855448A (zh) * | 2012-08-10 | 2013-01-02 | 深圳市黎明网络系统有限公司 | 一种字段级数据库加密装置 |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN104063334A (zh) * | 2014-07-11 | 2014-09-24 | 中国人民公安大学 | 一种基于数据属性的加密方法和系统 |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和系统 |
CN106357601A (zh) * | 2016-08-15 | 2017-01-25 | 北京奇虎科技有限公司 | 数据访问方法、装置及系统 |
US20180293384A1 (en) * | 2017-04-05 | 2018-10-11 | International Business Machines Corporation | Securely exchanging information during application startup |
CN107911393A (zh) * | 2017-12-28 | 2018-04-13 | 北京明朝万达科技股份有限公司 | 一种数据安全管理系统和方法 |
CN108289105A (zh) * | 2018-03-01 | 2018-07-17 | 郑州云海信息技术有限公司 | 数据加密存储方法、装置、设备、系统及可读存储介质 |
CN108595971A (zh) * | 2018-04-25 | 2018-09-28 | 杭州闪捷信息科技股份有限公司 | 一种数据库自适应加密方法 |
CN109241501A (zh) * | 2018-08-15 | 2019-01-18 | 北京北信源信息安全技术有限公司 | 文件解析方法和装置 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491922A (zh) * | 2020-12-07 | 2021-03-12 | 中国电子信息产业集团有限公司第六研究所 | 集中式网关数据保护方法、网关设备、数据服务器及系统 |
CN112491922B (zh) * | 2020-12-07 | 2023-04-18 | 中国电子信息产业集团有限公司第六研究所 | 集中式网关数据保护方法、网关设备、数据服务器及系统 |
CN112988888A (zh) * | 2021-02-19 | 2021-06-18 | 平安科技(深圳)有限公司 | 密钥管理方法、装置、电子设备及存储介质 |
CN112988888B (zh) * | 2021-02-19 | 2024-05-07 | 平安科技(深圳)有限公司 | 密钥管理方法、装置、电子设备及存储介质 |
CN115242486A (zh) * | 2022-07-19 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN115242486B (zh) * | 2022-07-19 | 2024-04-19 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN115296885A (zh) * | 2022-08-01 | 2022-11-04 | 中国银行股份有限公司 | 数据的加密方法、装置、电子设备及计算机存储介质 |
CN117094722A (zh) * | 2023-10-19 | 2023-11-21 | 深圳薪汇科技有限公司 | 一种线上支付的安全监理方法及系统 |
CN117094722B (zh) * | 2023-10-19 | 2024-01-30 | 深圳薪汇科技有限公司 | 一种线上支付的安全监理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111740826B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740826B (zh) | 基于加密代理网关的加密方法、解密方法、装置及设备 | |
US20200382478A1 (en) | Systems and methods for providing data privacy in a private distributed ledger | |
EP3769490B1 (en) | Implementing a blockchain-based web service | |
US10110579B2 (en) | Stateless and secure authentication | |
US8245037B1 (en) | Encryption key management | |
US8832047B2 (en) | Distributed document version control | |
US11290446B2 (en) | Access to data stored in a cloud | |
US9225690B1 (en) | Browser security module | |
US20140075493A1 (en) | System and method for location-based protection of mobile data | |
US11038855B2 (en) | Encryption filter | |
US10110575B2 (en) | Systems and methods for secure data exchange | |
KR20050026478A (ko) | 암호화된 네트워크 | |
US10250723B2 (en) | Protocol-level identity mapping | |
US20170371625A1 (en) | Content delivery method | |
US8848922B1 (en) | Distributed encryption key management | |
US11063922B2 (en) | Virtual content repository | |
CN112311830B (zh) | 基于云存储的Hadoop集群的多租户认证系统及方法 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
US9053297B1 (en) | Filtering communications | |
Dewang et al. | Data secure application: An application that allows developers to store user data securely using blockchain and IPFS | |
CN115766064A (zh) | 一种密码应用方法、装置、设备及存储介质 | |
CN117157623A (zh) | 结合容器化应用程序使用时保护秘密的系统和方法 | |
CN112165381A (zh) | 密钥管理系统和方法 | |
CN114615279B (zh) | 一种基于区块链技术的可信多方数据协同方法及系统 | |
US20240031448A1 (en) | Business data processing method and apparatus, device, storage medium, and program product |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030712 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |