CN110889130B - 基于数据库的细粒度数据加密方法、系统及装置 - Google Patents
基于数据库的细粒度数据加密方法、系统及装置 Download PDFInfo
- Publication number
- CN110889130B CN110889130B CN201911253407.4A CN201911253407A CN110889130B CN 110889130 B CN110889130 B CN 110889130B CN 201911253407 A CN201911253407 A CN 201911253407A CN 110889130 B CN110889130 B CN 110889130B
- Authority
- CN
- China
- Prior art keywords
- encryption
- data
- database
- strategy
- data encryption
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于数据库的细粒度数据加密方法及装置。包括:数据加密组件和数据加密管理组件,数据加密组件以插件的形式安装在每个需要访问数据库的应用中,时刻监视应用的进程和拦截应用对数据库的操作,用于还原应用进程上下文中的实体信息、基于数据库表中的列或行为粒度对数据加解密、以及根据实体权限对敏感数据解密或脱敏;数据加密管理组件通过网络连接数据加密组件,用于管理数据库中敏感数据的实体访问权限、加解密策略和加解密密钥。在应用系统的数据访问层以数据库表中的行或列为粒度对敏感数据加解密,将原本以明文提交到数据库驱动层的敏感数据替换为密文,确保了数据的传输安全和存储安全。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种基于数据库的细粒度数据加密方法、系统及装置。
背景技术
企业信息系统中流转着大量高价值数据,这些数据一般存储在数据库中,是企业的核心资产,同时也是攻击者觊觎的目标。数据一旦泄露,会给企业带来不可估量的损失。为了维护企业利益,必须重视保护企业的数据安全,而数据库是安全防护的重点。对企业数据库中关键、敏感的数据进行加密,是安全防护中最经济有效的手段。
企业信息化是一个持续过程,会用到不同品牌或不同版本数据库产品,而不同品牌或版本数据库所使用的协议并不统一,有些甚至不公开,这就为数据库加密增加了实施难度。企业需要一个通用数据库加密产品,对企业重要数据进行统一安全防护。
但是,当前业界使用的数据库加密方法,受制于数据库品牌或者版本的不同,需要分别提供产品或者方案,实施成本高,并且效果有限,尤其是在企业拥有大量应用系统的情况下,更是难于实施数据库加密方案。因此,需要一种通用的数据库加密解决方案,能够完全解耦数据库的品牌或者版本,为企业降低实施成本的同时,能够有效的保护企业数据安全。
根据数据状态的不同,可将数据威胁防护的需求划分为三个层级:数据存储过程中的安全即确保存储安全、数据传输过程中的安全即确保传输安全、数据在使用过程中的安全即确保使用安全。虽然目前针对在这三种不同的需求层面,每一层都存在多种多样的数据防护技术和手段,但是问题在于大多数技术往往仅能从一方面满足数据安全防护需求。当数据在状态间切换时,也往往意味着数据安全防护的失效。
如专利CN 101639882 A/101639882 B《基于存储加密的数据安全保密系统》中所述,其核心特征为通过改造数据库管理系统,以及使用数据库加密服务器加密数据,将数据加密并以密文形式存储在数据库内。虽然该发明可以确保前文所述的存储安全,但当数据离开该系统的数据加密服务器时,即由密文转为明文进行传输,即该发明仅能防护数据的存储安全,当网络间存在中间人窃听时,此防护手段即失效。本发明,即基于数据库的细粒度数据加密方法、系统及装置与其区别在于,敏感数据仅在应用层加解密,即仅在使用态解密,无论数据从应用层离开传输至数据库,还是数据库将数据存储,敏感数据都以密文形式流转,确保了数据的传输安全和存储安全。
再如专利CN101540704 A《不可信DBMS恶意如新检测系统及方法》中所述,其核心特征为在DBMS和应用之间引入恶意入侵检测系统,入侵检测系统的客户端和服务端通过安全连接传输数据,通过分析SQL语句、使用加密技术加密数据、以及通过建立可信DBMS和不可信DBMS的镜像检测数据库操作是否存在恶意行为,确保数据加密存储并且只有合法的数据库操作最终被执行。该发明确保了数据的传输安全和存储安全,但存在数据使用授权粒度过粗的问题。入侵检测系统仅验证客户端的身份,而不检测操作数据库的实体信息,当目标应用系统存在漏洞或客户端被攻击者攻破时,仍然可以获得以明文形式使用的敏感数据。本发明,即基于数据库的细粒度数据加密方法、系统及装置与其区别在于基于目标应用中的访问实体建立细粒度的访问控制策略,通过监视目标应用进程中的上下文还原实体信息,或对接目标应用的认证系统识别实体身份,仅对拥有权限的用户解密数据,即避免了系统在被攻破的情况下敏感数据发生泄露,也避免了由于内部人员的误操作或恶意行为造成的数据失窃。
再如专利CN1017888992A《一种数据库查询讯语句的转换方法和转换系统》中所述,其核心特征为建立中、英文之间的对应关系,将用户基于中文的数据库操作语句转译成基于英文的数据库操作语句,校验后提交数据库执行。本发明,即基于数据库的细粒度数据加密方法、系统及装置无需建立数据库操作语句的中、英文映射关系,无需变更或改造已有应用或数据库的部署模式、运行方式,即可将细粒度数据加密系统与已有系统集成。
发明内容
本发明提供了一种基于数据库的细粒度数据加密方法、系统及装置,通过识别敏感数据并加密、基于应用中的实体信息建立细粒度的访问控制,从数据的存储态、传输态和使用态三个层次防护敏感数据,保证企业的数据安全。
为了实现上述目的,本发明提供了一种基于数据库的细粒度数据加密方法,包括:记录敏感数据在所述数据库中的元信息,在所述应用系统的应用层对所述敏感数据加解密,限定所述敏感数据的访问权限并执行预定的加解密策略,其中,当对所述数据库执行写入操作时,在应用系统的数据访问层分析操作请求,通过加密将所述敏感数据加密并替换,并写入所述数据库,当对所述数据库执行读取操作时,分析从所述数据库得到的数据,根据访问控制策略将从所述数据库得到的数据中包含的所述敏感数据在应用系统的数据访问层解密。
更进一步地,所述应用层所在的应用系统包括数据加密组件和数据加密管理组件,其中:所述数据加密组件以插件的形式安装在每个需要访问所述数据库的应用中,
所述数据加密管理组件通过网络连接所述数据加密组件,用于管理所述数据库中所述敏感数据的实体访问权限、所述预定的加解密策略和加解密密钥。
更进一步地,所述的数据加密组件基于所述数据库访问层对数据库标准连接驱动进行封装,从而实现拦截所述应用层对所述数据库的操作请求的语义分析,并根据所述分析的结果对数据执行加解密。
更进一步地,所述数据加密组件中包含密码软件模块,所述密码软件模块用于为所述数据加密组件提供加解密能力。
更进一步地,所述元信息包括所述敏感数据所在的所述数据库的库信息、表信息、列信息及行信息。
所述元信息包括所述敏感数据的内容特征,包括姓名、手机号、电子邮件、身份证、护照、军官证、家庭住址、生物特征、位置坐标以及个人或企业资产信息中的一个或多个。
更进一步地,所述加解密策略和访问控制策略在数据加密管理组件中通过自定义方式进行设置,或者将所述敏感数据加解密策略和访问控制策略预置在特定的数据加密管理组件中,
所述数据加解密策略包括要被加密数据的元信息以及所使用的加密方法,
所述数据访问控制策略包括访问主体的实体信息、敏感数据元信息以及对数据的处理策略信息,所述对数据的处理策略信息包含对数据执行解密处理、不解密处理以及脱敏处理,
所述数据加密管理组件将所述敏感数据在加解密策略和访问控制策略下发单元给指定的应用系统中对应的所述数据加密组件。
更进一步地,加解密的密钥来自于数据加密管理组件的密钥管理单元,硬件安全模块,企业的密钥管理系统或者通过数据库加密管理装置从密钥管理系统中获得;在所述预定的数据加密策略中,加密算法支持采用确定性加密方法,实现对密文的精确检索。
更进一步地,所述实体信息通过所述数据加密组件监视目标应用进程,通过还原其进程中的上下文信息获得,或通过对接目标应用所使用的实体认证系统获得。
本发明还提出了一种基于数据库的细粒度数据加密装置,包括:加密组件、控制面板、策略存储库、密钥管理器;
所述加密组件,安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥可以来自于密钥管理系统,也可以来自于管理器自身的硬件安全模块。
本发明还提出了一种基于数据库的细粒度数据加密装置,其特征在于:其包括:加密组件、控制面板、策略存储库、密钥管理器以及数据库管理工具;
所述加密组件安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥来自于密钥管理系统或来自于管理器自身的硬件安全模块;
所述数据库管理工具用于提供给授权的数据库管理员管理加密后的敏感数据,数据库管理员借助于数据库管理工具能够明文形式查看加密后的敏感数据并进行常见的数据库维护操作。
本发明还提出了一种基于数据库的细粒度数据加密系统,包括:应用系统、数据库加密管理装置和数据库;
所述数据库加密管理装置包括策略管理模块、加密模块以及数据库管理工具;
所述策略管理模块包括策略编辑单元、策略存储单元和策略下发单元;所述策略编辑单元用于新建和编辑数据加密策略和访问控制策略,用户根据需求按照步骤提示进行数据加密策略和访问控制策略的配置;所述策略存储单元用于保存设置完成后的数据加密策略和访问控制策略,形成数据加密策略和访问控制策略的数据库;所述策略下发单元用于将数据加密策略和访问控制策略发送给加密模块,以供执行数据加密处理和访问控制处理。
所述加密模块包括加密执行单元以及密钥管理单元;所述加密执行单元,用于接收策略管理模块的数据加密策略和访问控制策略,执行相应的数据加密处理和访问控制处理;所述密钥管理单元,用于为加密执行单元提供加密所使用的密钥。
所述数据库管理工具用于授权数据库管理员管理加密后的敏感数据,使数据库管理员经过授权后查看敏感数据的明文信息,并对数据库进行维护操作。
所述应用系统为要进行数据加密保护的目标信息系统,所述应用系统安装有加密执行单元;以及
所述数据库用于存储应用系统数据并对存储的数据进行加密保护。
本发明的基于数据库的细粒度数据加密方法、系统及装置。数据加密组件以插件的形式安装在每个需要访问数据库的应用中,时刻监视应用的进程和拦截应用对数据库的操作,用于还原应用进程上下文中的实体信息、基于数据库表中的列或行为粒度对数据加解密、以及根据实体权限对敏感数据解密或脱敏;数据加密管理组件通过网络连接数据加密组件,用于管理数据库中敏感数据的实体访问权限、加解密策略和加解密密钥。本发明的优点在于:在应用系统的数据访问层以数据库表中的行或列为粒度对敏感数据加解密,将原本以明文提交到数据库驱动层的敏感数据替换为密文,确保了数据的传输安全和存储安全;同时,根据实体的访问权限设定敏感数据的脱敏或解密策略,强化敏感数据在使用中的安全管控,防止由于系统缺陷、应用漏洞或内部人员威胁造成的敏感数据泄露。
附图说明
图1为本发明一实施例的基于数据库的细粒度数据加密方法流程图;
图2为本发明一实施例的基于数据库的细粒度数据加密装置结构图;
图3为本发明一实施例的基于数据库的细粒度数据加密装置结构图;
图4为本发明一实施例的数据库加密系统的拓扑示意图;
图5为本发明一实施例的部署流程图;
图6为本发明一实施例的数据库防护策略配置流程图;
图7为本发明一实施例的数据加密流程图;
图8为本发明一实施例的数据解密流程图。
具体实施方式
为使本发明实施例的目的、技术方案及优点更加清楚,下面将结合附图及实施例,对本发明实施例中的技术方案进一步的详细说明。很显然,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明的一种基于数据库的细粒度数据加密方法,包括:
步骤S101,记录敏感数据在所述数据库中的元信息,在所述应用系统的应用层对所述敏感数据加解密,限定所述敏感数据的访问权限并执行预定的加解密策略。
步骤S102,当对所述数据库执行写入操作时,在应用系统的数据访问层分析操作请求,通过加密将所述敏感数据加密并替换,并写入所述数据库,当对所述数据库执行读取操作时,分析从所述数据库得到的数据,根据访问控制策略将从所述数据库得到的数据中包含的所述敏感数据在应用系统的数据访问层解密。
其中,当对所述数据库执行写入操作时,数据库加解密组件拦截应用传递给数据库的操作指令,这些指令通常是SQL语句或受目标数据库所支持的操作协议,解析出SQL语句或操作协议中所包含的指令动作(例如:Insert、Update、Select、Find、Delete等)以及识别该操作中所有数据所属的表、字段和内容特征。解析完成后,逐一对这些数据所属的表、字段和内容特征等与敏感数据加解密策略中标记的表、字段和内容特征信息进行匹配,如果某一数据所属的表、字段或内容信息信息与敏感数据加解密策略中标记的表和字段信息一致,则将该数据加密并替换。当所有数据完成对比后,重组SQL语句或操作协议,并且重组后的SQL语句或操作协议所包含的指令动作与原SQL语句或操作协议一致。重组完成后,将操作指令传递给数据库写入数据,
当对所述数据库执行读取操作时,数据库加解密组件拦截数据库传递给应用的结果集,解析并识别出结果集中包含的表、字段和内容信息与敏感数据加解密策略中标记的表、字段和内容特征进行匹配,如果某一数据所属的表、字段或内容信息信息与敏感数据加解密策略中标记的表和字段信息一致,则将该数据解密并替换。当所有数据完成对比后,重组SQL语句或操作协议,并且重组后的结果集与原结果集保持一致。重组完成后,将结果集返回给应用。
在一个实施例中,所述应用层所在的应用系统包括数据加密组件和数据加密管理组件,其中:所述数据加密组件以插件的形式安装在每个需要访问所述数据库的应用中,所述数据加密管理组件通过网络连接所述数据加密组件,用于管理所述数据库中所述敏感数据的实体访问权限、所述预定的加解密策略和加解密密钥。
在一个实施例中,所述的数据加密组件基于所述数据库访问层对数据库标准连接驱动进行封装,从而实现拦截所述应用层对所述数据库的操作请求的语义分析,并根据所述分析的结果对数据执行加解密。
在一个实施例中,所述数据加密组件中包含密码软件模块,所述密码软件模块用于为所述数据加密组件提供加解密能力。
在一个实施例中,所述元信息包括所述敏感数据所在的所述数据库的库信息、表信息、列信息及行信息。所述元信息包括所述敏感数据的内容特征,包括以下至少之一:姓名、手机号、电子邮件、身份证、护照、军官证、家庭住址、生物特征、位置坐标、个人或企业资产信息,但不限于这些信息。
在一个实施例中,所述加解密策略和访问控制策略在数据加密管理组件中通过自定义方式进行设置,或者将所述敏感数据加解密策略和访问控制策略预置在特定的数据加密管理组件中,所述数据加解密策略包括要被加密数据的元信息以及所使用的加密方法,所述数据访问控制策略包括访问主体的实体信息、敏感数据元信息以及对数据的处理策略信息,所述对数据的处理策略信息包含对数据执行解密处理、不解密处理以及脱敏处理,所述数据加密管理组件将所述敏感数据在加解密策略和访问控制策略下发单元给指定的应用系统中对应的所述数据加密组件。
在一个实施例中,加解密的密钥来自于数据加密管理组件的密钥管理单元,硬件安全模块,企业的密钥管理系统或者通过数据库加密管理装置从密钥管理系统中获得;在所述预定的数据加密策略中,加密算法支持采用确定性加密方法,实现对密文的精确检索。
在一个实施例中,所述实体信息通过所述数据加密组件监视目标应用进程,通过还原其进程中的上下文信息获得,或通过对接目标应用所使用的实体认证系统获得。
如图2所示,一种基于数据库的细粒度数据加密装置,包括:加密组件201、控制面板202、策略存储库203、密钥管理器204;
所述加密组件201,安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板202,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库203,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器204,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥可以来自于密钥管理系统,也可以来自于管理器自身的硬件安全模块。
如图3所示,本发明的一种基于数据库的细粒度数据加密装置,其包括:加密组件301、控制面板302、策略存储库303、密钥管理器304以及数据库管理工具305;
所述加密组件301安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板302,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库303,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器304,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥来自于密钥管理系统或来自于管理器自身的硬件安全模块;
所述数据库管理工具305用于提供给授权的数据库管理员管理加密后的敏感数据,数据库管理员借助于数据库管理工具能够明文形式查看加密后的敏感数据并进行常见的数据库维护操作。
如图4所示,本发明的一种基于数据库的细粒度数据加密系统,包括:应用系统、数据库加密管理装置和数据库;
所述数据库加密管理装置包括策略管理模块、加密模块以及数据库管理工具;
所述策略管理模块包括策略编辑单元、策略存储单元和策略下发单元;所述策略编辑单元用于新建和编辑数据加密策略和访问控制策略,用户根据需求按照步骤提示进行数据加密策略和访问控制策略的配置;所述策略存储单元用于保存设置完成后的数据加密策略和访问控制策略,形成数据加密策略和访问控制策略的数据库;所述策略下发单元用于将数据加密策略和访问控制策略发送给加密模块,以供执行数据加密处理和访问控制处理。
所述加密模块包括加密执行单元以及密钥管理单元;所述加密执行单元,用于接收策略管理模块的数据加密策略和访问控制策略,执行相应的数据加密处理和访问控制处理;所述密钥管理单元,用于为加密执行单元提供加密所使用的密钥。
所述数据库管理工具用于授权数据库管理员管理加密后的敏感数据,使数据库管理员经过授权后查看敏感数据的明文信息,并对数据库进行维护操作。
所述应用系统为要进行数据加密保护的目标信息系统,所述应用系统安装有加密执行单元;以及所述数据库用于存储应用系统数据并对存储的数据进行加密保护。
下面结合一个具体的实施例详细描述本发明的基于数据库的细粒度数据加密方法,本实施例基于某企业已有ERP系统进行实施,ERP系统基于C/S架构,采用Java技术进行开发,ERP系统通过Applet技术利用浏览器建立系统客户端,使用EJB技术在浏览器和ERP服务器之间交换数据。ERP系统使用Oracle作为系统的数据库存储数据。在此系统中应用本发明的方法、装置及系统,结合图4-8进行详细的描述。
首先,安装数据加密组件,该组件以Java Jar包形式发布,将该组件放置在系统的Java环境的库文件目录内。
然后,替换ERP系统的数据库驱动配置,将原数据库驱动的包名称变更为数据加密组件的包名称。
在数据加密组件的配置文件中配置数据加密组件连接数据加密管理组件的服务地址。
重新启动ERP系统,使其加载数据加密组件作为数据库驱动。然后进入数据加密设备中的数据库防护面板,新增数据库防护策略。
进一步的,根据数据库防护面板的提示来设置敏感数据加密策略,包括:输入要防护数据库的连接信息,信息输入后,数据加密管理组件将连接数据库,并获取库中所有的表和表中所有列的相关信息;确定被加密的数据所在的表;步确定被加密的数据所在的列或行;确定被加密数据所使用的加密方式;完成本次敏感数据加密策略的设置。本次新增或者编辑的敏感数据加密策略完成后,敏感数据的元信息和加密策略会被数据加密管理组件保存,并下发给所有访问该数据库的数据加密组件。
数据加密组件向数据加密管理组件申请加密密钥,数据加密管理组件获得申请后,向数据库加密组件传递加密密钥。
进入实体定义管理面板,新增或编辑应用中的实体信息。具体操作为,根据实体定义管理面板中的提示信息来管理系统中的实体,包括:选择目标应用系统所使用的认证方式;输入认证系统的相关信息;完成本次实体定义的设置,完成设置后,数据加密管理组件将连接认证系统并获取目标系统中的全部实体信息。
进入数据加密管理组件中的数据防护面板,新增敏感数据脱敏策略。进一步的,根据数据防护面板的提示来设置敏感数据的脱敏策略,具体操作包括:选择被加密的敏感数据;选择授予解密权限的实体;完成本次数据脱敏策略的设置。完成设置后,脱敏策略将下发至所有访问该数据的数据加密组件。
目标应用对数据库执行写入操作时,数据加密组件接收到该请求,并对请求中的SQL语句进行语义分析,并生成语法分析树。通过扫描语法分析树中的节点信息,匹配加密策略中敏感数据的元信息,当存在与元信息相匹配的数据时,使用策略中定义的加密方法对数据加密并将原数据替换为密文。数据加密组件对语法分析树的扫描全部完成后,重构SQL语句,完成将原为明文形式的敏感数据替换为加密后的密文,并提交数据库执行。
目标应用对数据库执行读取操作时,数据加密组件接收到该请求,以及数据库返回的结果集。数据加密组件分析请求中的SQL语句进行语义分析,并生成语法分析树,通过扫描语法分析树中的节点信息,匹配加密策略中敏感数据的元信息,当存在与元信息相匹配的数据时,数据加密组件将检测目标应用进程上下文中包含的实体信息。当该实体具备使用敏感数据权限时,数据加密组件将对结果集中的敏感数据做解密处理;当该实体不具备使用敏感数据权限时,数据加密组件将对结果集中的敏感数据做脱敏处理。数据加密组件对语法分析树的扫描完成后,重构结果集,并将结果集返回给目标应用。
本方法的技术效果在于:在应用系统的数据访问层以数据库表中的行或列为粒度对敏感数据加解密,将原本以明文提交到数据库驱动层的敏感数据替换为密文,确保了数据的传输安全和存储安全;同时,根据实体的访问权限设定敏感数据的脱敏或解密策略,强化敏感数据在使用中的安全管控,防止由于系统缺陷、应用漏洞或内部人员威胁造成的敏感数据泄露。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用计算机或任何其他类似硬件设备来实现。同样的,本发明的软件程序可以被存储到计算机可读存储介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其它信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其它模块或步骤,单数不排除复数。权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (9)
1.一种基于数据库的细粒度数据加密方法,其特征在于:记录敏感数据在所述数据库中的元信息,在信息系统的应用系统层对所述敏感数据加解密,限定所述敏感数据的访问权限并执行预定的加解密策略,
其中,当对所述数据库执行写入操作时,在应用系统的数据访问层分析操作请求,通过加密将所述敏感数据加密并替换,并写入所述数据库,
当对所述数据库执行读取操作时,分析从所述数据库得到的数据,根据访问控制策略将从所述数据库得到的数据中包含的所述敏感数据在应用系统的数据访问层解密;
所述加解密策略和访问控制策略在数据加密管理组件中通过自定义方式进行设置,或者将所述敏感数据加解密策略和访问控制策略预置在特定的数据加密管理组件中,
所述数据加解密策略包括要被加密数据的元信息以及所使用的加密方法,
所述数据访问控制策略包括访问主体的实体信息、敏感数据元信息以及对数据的处理策略信息,所述对数据的处理策略信息包含对数据执行解密处理、不解密处理以及脱敏处理,
所述数据加密管理组件将所述敏感数据在加解密策略和访问控制策略下发单元给指定的应用系统中对应的数据加密组件,
所述实体信息通过所述数据加密组件监视目标应用进程,通过还原其进程中的上下文信息获得,或通过对接目标应用所使用的实体认证系统获得。
2.根据权利要求1所述的基于数据库的细粒度数据加密方法,其特征在于:
应用层所在的应用系统包括数据加密组件和数据加密管理组件,其中:所述数据加密组件以插件的形式安装在每个需要访问所述数据库的应用中;
所述数据加密管理组件通过网络连接所述数据加密组件,用于管理所述数据库中所述敏感数据的实体访问权限、所述预定的加解密策略和加解密密钥。
3.根据权利要求2所述的基于数据库的细粒度数据加密方法,其特征在于:
所述数据加密组件基于所述数据库访问层对数据库标准连接驱动进行封装,从而实现拦截所述应用层对所述数据库的操作请求的语义分析,并根据所述分析的结果对数据执行加解密。
4.根据权利要求3所述的基于数据库的细粒度数据加密方法,其特征在于:
所述数据加密组件中包含密码软件模块,所述密码软件模块用于为所述数据加密组件提供加解密能力。
5.根据权利要求1所述的基于数据库的细粒度数据加密方法,其特征在于:
所述元信息包括所述敏感数据所在的所述数据库的库信息、表信息、列信息及行信息;
所述元信息包括所述敏感数据的内容特征,包括姓名、手机号、电子邮件、身份证、护照、军官证、家庭住址、生物特征、位置坐标以及个人或企业资产信息中的一个或多个。
6.根据权利要求1所述的基于数据库的细粒度数据加密方法,其特征在于:
加解密的密钥来自于数据加密管理组件的密钥管理单元,硬件安全模块,企业的密钥管理系统或者通过数据库加密管理装置从密钥管理系统中获得;
在所述预定的数据加密策略中,加密算法支持采用确定性加密方法,实现对密文的精确检索。
7.一种根据权利要求1至6之一所述的基于数据库的细粒度数据加密方法的加密装置,包括:加密组件、控制面板、策略存储库、密钥管理器,其特征在于:
所述加密组件,安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥来自于密钥管理系统,或者来自于管理器自身的硬件安全模块。
8.一种用于权利要求1所述基于数据库的细粒度数据加密方法的加密装置,其特征在于:其包括:加密组件、控制面板、策略存储库、密钥管理器以及数据库管理工具;
所述加密组件安装在应用系统的数据库访问层,用于根据获取的数据加解密策略和访问控制策略,对应用系统写入数据库的数据执行加密处理和访问控制;
所述控制面板,用于对数据加密策略和访问控制策略进行设置,用户根据需求在此模块上按照步骤提示进行数据加密策略和访问控制策略的配置;
所述策略存储库,用于将配置完成的数据加密策略和访问控制策略进行存储,并将数据加密策略和访问控制策略发送给安装在应用系统中的数据库加密组件;
所述密钥管理器,用于管理向应用系统中安装的数据库加密组件提供加密数据所用的密钥,密钥来自于密钥管理系统或来自于管理器自身的硬件安全模块;
所述数据库管理工具用于提供给授权的数据库管理员管理加密后的敏感数据,数据库管理员借助于数据库管理工具能够明文形式查看加密后的敏感数据并进行常见的数据库维护操作。
9.一种用于权利要求1所述基于数据库的细粒度数据加密方法的加密系统,其特征在于:包括:应用系统、数据库加密管理装置和数据库;
所述数据库加密管理装置包括策略管理模块、加密模块以及数据库管理工具;
所述策略管理模块包括策略编辑单元、策略存储单元和策略下发单元;所述策略编辑单元用于新建和编辑数据加密策略和访问控制策略,用户根据需求按照步骤提示进行数据加密策略和访问控制策略的配置;所述策略存储单元用于保存设置完成后的数据加密策略和访问控制策略,形成数据加密策略和访问控制策略的数据库;所述策略下发单元用于将数据加密策略和访问控制策略发送给加密模块,以供执行数据加密处理和访问控制处理;
所述加密模块包括加密执行单元以及密钥管理单元;所述加密执行单元,用于接收策略管理模块的数据加密策略和访问控制策略,执行相应的数据加密处理和访问控制处理;所述密钥管理单元,用于为加密执行单元提供加密所使用的密钥;
所述数据库管理工具用于授权数据库管理员管理加密后的敏感数据,使数据库管理员经过授权后查看敏感数据的明文信息,并对数据库进行维护操作;
所述应用系统为要进行数据加密保护的目标信息系统,所述应用系统安装有加密执行单元;以及
所述数据库用于存储应用系统数据并对存储的数据进行加密保护。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811501405 | 2018-12-10 | ||
| CN2018115014058 | 2018-12-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110889130A CN110889130A (zh) | 2020-03-17 |
| CN110889130B true CN110889130B (zh) | 2023-03-28 |
Family
ID=69751188
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911253407.4A Active CN110889130B (zh) | 2018-12-10 | 2019-12-09 | 基于数据库的细粒度数据加密方法、系统及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110889130B (zh) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111427908A (zh) * | 2020-04-23 | 2020-07-17 | 北京中安星云软件技术有限公司 | 一种基于量子密钥的透明加、解密方法、系统及装置 |
| EP4158515A1 (en) * | 2020-06-29 | 2023-04-05 | Huawei Technologies Co., Ltd. | Data storage server and client devices for securely storing data |
| CN112035871A (zh) * | 2020-07-22 | 2020-12-04 | 北京中安星云软件技术有限公司 | 一种基于数据库驱动代理的动态脱敏方法及系统 |
| CN112270012B (zh) * | 2020-11-19 | 2022-04-12 | 北京炼石网络技术有限公司 | 一种用于分布式数据安全防护的装置、方法及其系统 |
| CN112711762A (zh) * | 2020-12-22 | 2021-04-27 | 航天信息股份有限公司 | 一种数据库透明加密的方法 |
| CN112580100B (zh) * | 2020-12-28 | 2022-06-10 | 北京炼石网络技术有限公司 | 基于odbc驱动代理的结构化数据细粒度加解密的方法和系统 |
| CN113127927B (zh) * | 2021-04-27 | 2022-03-18 | 泰山学院 | 一种许可链数据共享及监管的属性重构加密方法及系统 |
| CN114329562A (zh) * | 2021-12-30 | 2022-04-12 | 胜斗士(上海)科技技术发展有限公司 | 一种请求处理方法及装置 |
| CN116127425B (zh) * | 2022-12-30 | 2025-04-11 | 中国电信股份有限公司 | 一种数据访问方法、装置、电子设备及可读介质 |
| CN116595564B (zh) * | 2023-07-13 | 2023-09-15 | 南京煋禾网络科技有限公司 | 一种信息系统数据库检测管理方法 |
| CN116910784B (zh) * | 2023-07-17 | 2024-04-30 | 北京炼石网络技术有限公司 | 一种用于数据可用不可转安全共享的装置、方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
| CN103327002A (zh) * | 2013-03-06 | 2013-09-25 | 西安电子科技大学 | 基于属性的云存储访问控制系统 |
| CN104378386A (zh) * | 2014-12-09 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种云数据机密性保护和访问控制的方法 |
| CN104573549A (zh) * | 2014-12-25 | 2015-04-29 | 中国科学院软件研究所 | 一种可信的数据库机密性保护方法及系统 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7315859B2 (en) * | 2000-12-15 | 2008-01-01 | Oracle International Corp. | Method and apparatus for management of encrypted data through role separation |
-
2019
- 2019-12-09 CN CN201911253407.4A patent/CN110889130B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
| CN103327002A (zh) * | 2013-03-06 | 2013-09-25 | 西安电子科技大学 | 基于属性的云存储访问控制系统 |
| CN104378386A (zh) * | 2014-12-09 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种云数据机密性保护和访问控制的方法 |
| CN104573549A (zh) * | 2014-12-25 | 2015-04-29 | 中国科学院软件研究所 | 一种可信的数据库机密性保护方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110889130A (zh) | 2020-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110889130B (zh) | 基于数据库的细粒度数据加密方法、系统及装置 | |
| EP4229532B1 (en) | Behavior detection and verification | |
| US7904732B2 (en) | Encrypting and decrypting database records | |
| US10666647B2 (en) | Access to data stored in a cloud | |
| US11379601B2 (en) | Detection of sensitive database information | |
| CN113468576B (zh) | 一种基于角色的数据安全访问方法及装置 | |
| US10320775B2 (en) | Eliminating abuse caused by password reuse in different systems | |
| KR102542213B1 (ko) | 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 | |
| CN117150453B (zh) | 网络应用检测方法、装置、设备、存储介质及程序产品 | |
| CN117454420A (zh) | 一种云计算加密存储服务系统及方法 | |
| CN119442290A (zh) | 面向数据安全大模型的数据隔离与隐私保护方法及系统 | |
| US11658996B2 (en) | Historic data breach detection | |
| Kamra et al. | Responding to anomalous database requests | |
| EP3563543B1 (en) | Data breach detection | |
| US11611570B2 (en) | Attack signature generation | |
| CN111931218A (zh) | 一种用于客户端数据安全防护装置和防护方法 | |
| Karlzén | An Analysis of Security Information and Event Management Systems-The Use or SIEMs for Log Collection, Management and Analysis | |
| CN119484129B (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
| CN117610079B (zh) | 数据安全处理方法、设备和存储介质 | |
| Zhang et al. | SELinux-based operating system security research | |
| CN115310060A (zh) | 一种计算机的加解密方法及系统 | |
| CN117521132A (zh) | Saas系统的安全性措施和访问控制方法 | |
| GB2569553A (en) | Historic data breach detection | |
| Street | Verdasys, Inc. |
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 |