一种表字段级加密及安全访问控制方法及系统技术方案

技术编号:33377459 阅读:9 留言:0更新日期:2022-05-11 22:45
本发明专利技术公开一种表字段级加密及安全访问控制方法及系统,包括:通过虚拟登录密码连接第一服务器,并接收第一服务器的访问请求消息;解析访问请求消息,得到待加密的查询参数及其值,并根据加密字段确定的加密类型、列加密密钥的密文和列主密钥,根据列主密钥解密列加密密钥的密文,根据加密类型和解密后的列加密密钥对查询参数的值进行加密,将加密后的查询参数封装至访问请求消息中,并转发至第二服务器;接收第二服务器的响应消息,解析并解密响应消息,将解密后的响应消息发送至第一服务器。实现列主密钥的集中存储、轮换、状态更新等,避免列主密钥的传播,解决泄露风险。解决泄露风险。解决泄露风险。

【技术实现步骤摘要】
一种表字段级加密及安全访问控制方法及系统


[0001]本专利技术涉及数据加密
,特别是涉及一种表字段级加密及安全访问控制方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]关系型数据库(SQL Server)支持表字段级的加密操作(Always Encrypted),可以保护数据免受流氓管理员、备份窃贼和中间人攻击。支持的加密方法包括确定性加密(Deterministic)以及非确定性加密(Randomized)。其中列主密钥(Master Key)以x.509证书的形式提供给客户端,用以解密列加密密钥(Encryption Key),进而加密查询参数以及解密查询结果。
[0004]由于需要将列主密钥提供给客户端,从而造成列主密钥广为传播,存在泄露风险。虽然SQL Server支持Azure云密钥仓库服务,可以集中存储列主密钥,但是并不是所有的系统都支持Azure云服务,存在一些医疗、金融等机构基于安全审查等因素,无法使用Azure云服务存在列主密钥泄露风险。
[0005]再者,SQL Server不支持完善的多因子身份验证(MFA),使用账户密码认证方式,需要提供给客户端数据库账户密码,从而造成数据库账户密码的传播,存在泄露风险。另外,SQL Server无法灵活的设定访问规则,从而无法有效的抵御高风险SQL操作。

技术实现思路

[0006]为了解决上述问题,本专利技术提出了一种表字段级加密及安全访问控制方法及系统,在第一服务器和第二服务器之间进行消息的转发时,由透明网关统一管理列主密钥,实现对消息的加密和解密,且通过列主密钥的集中存储、轮换、状态更新等,避免列主密钥的传播,解决泄露风险。
[0007]为了实现上述目的,本专利技术采用如下技术方案:
[0008]第一方面,本专利技术提供一种表字段级加密及安全访问控制方法,包括:
[0009]通过虚拟登录密码连接第一服务器,并接收第一服务器的访问请求消息;
[0010]解析访问请求消息,得到待加密的查询参数及其值,并根据加密字段确定的加密类型、列加密密钥的密文和列主密钥,根据列主密钥解密列加密密钥的密文,根据加密类型和解密后的列加密密钥对查询参数的值进行加密,将加密后的查询参数封装至访问请求消息中,并转发至第二服务器;
[0011]接收第二服务器的响应消息,解析并解密响应消息,将解密后的响应消息发送至第一服务器。
[0012]作为可选择的实施方式,连接第一服务器后建立与第一服务器的加密信道,以接收访问请求消息,与第一服务器的连接方式包括虚拟登录密码、IP地址验证、登录时间验
证、登录机器名验证或登录程序验证。
[0013]作为可选择的实施方式,所述列主密钥被统一管理,包括列主密钥的集中存储、轮换和状态更新,根据对访问请求消息的解析确定列主密钥指纹,以获取对应的列主密钥,并解密列加密密钥的密文。
[0014]作为可选择的实施方式,解析并解密响应消息的过程中,获取列的加密元数据,包括加密字段、加密类型、列加密密钥的密文以及列主密钥指纹,根据列主密钥指纹调取对应的列主密钥,以解密列加密密钥的密文,根据加密类型和解密后的列加密密钥解密响应消息。
[0015]作为可选择的实施方式,将加密后的查询参数封装至访问请求消息中,同时修改查询参数元数据类型,以将加密后的查询参数封装至访问请求消息中的SQL语句中,完成消息体的修改;
[0016]将解密后的响应消息的明文封装至响应消息中时,将加密元数据删除,并还原字段类型。
[0017]作为可选择的实施方式,所述控制方法还包括对存储过程的OUT参数解密,对存储过程的响应消息进行解析得到加密类型,并采用预先缓存的列加密密钥对OUT参数进行解密。
[0018]作为可选择的实施方式,所述控制方法还包括危险行为拦截,所述危险行为拦截包括DDL语句拦截、DML语句拦截、查询结果行数控制、登录失败次数控制。
[0019]第二方面,本专利技术提供一种表字段级加密及安全访问控制系统,包括:
[0020]通信模块,被配置为通过虚拟登录密码连接第一服务器,并接收第一服务器的访问请求消息;
[0021]加密模块,被配置为解析访问请求消息,得到待加密的查询参数及其值,并根据加密字段确定的加密类型、列加密密钥的密文和列主密钥,根据列主密钥解密列加密密钥的密文,根据加密类型和解密后的列加密密钥对查询参数的值进行加密,将加密后的查询参数封装至访问请求消息中,并转发至第二服务器;
[0022]解密模块,被配置为接收第二服务器的响应消息,解析并解密响应消息,将解密后的响应消息发送至第一服务器。
[0023]第三方面,本专利技术提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
[0024]第四方面,本专利技术提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
[0025]与现有技术相比,本专利技术的有益效果为:
[0026]本专利技术提供一种表字段级加密及安全访问控制方法及系统,在第一服务器和第二服务器进行数据访问时,通过在二者之间构建透明网关,在消息的转发过程中,由透明网关统一管理列主密钥,实现列主密钥的集中存储、轮换、状态更新等,避免列主密钥的传播,解决泄露风险。
[0027]本专利技术提供一种表字段级加密及安全访问控制方法及系统,通过提供虚拟用户名密码连接网关,不泄露真实的数据库用户名密码,减少真实用户名密码的传播风险;且提出
基于多因子的身份验证方法,设定灵活的访问规则,保证身份的可靠性,有效抵御高风险SQL操作。
[0028]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0029]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0030]图1为本专利技术实施例1提供的表字段级加密及安全访问控制方法示意图;
[0031]图2为本专利技术实施例1提供的日志审计处理网络拓扑图。
具体实施方式
[0032]下面结合附图与实施例对本专利技术做进一步说明。
[0033]应该指出,以下详细说明都是示例性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0034]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表字段级加密及安全访问控制方法,其特征在于,包括:通过虚拟登录密码连接第一服务器,并接收第一服务器的访问请求消息;解析访问请求消息,得到待加密的查询参数及其值,并根据加密字段确定的加密类型、列加密密钥的密文和列主密钥,根据列主密钥解密列加密密钥的密文,根据加密类型和解密后的列加密密钥对查询参数的值进行加密,将加密后的查询参数封装至访问请求消息中,并转发至第二服务器;接收第二服务器的响应消息,解析并解密响应消息,将解密后的响应消息发送至第一服务器。2.如权利要求1所述的一种表字段级加密及安全访问控制方法,其特征在于,连接第一服务器后建立与第一服务器的加密信道,以接收访问请求消息,与第一服务器的连接方式包括虚拟登录密码、IP地址验证、登录时间验证、登录机器名验证或登录程序验证。3.如权利要求1所述的一种表字段级加密及安全访问控制方法,其特征在于,所述列主密钥被统一管理,包括列主密钥的集中存储、轮换和状态更新,根据对访问请求消息的解析确定列主密钥指纹,以获取对应的列主密钥,并解密列加密密钥的密文。4.如权利要求1所述的一种表字段级加密及安全访问控制方法,其特征在于,解析并解密响应消息的过程中,获取列的加密元数据,包括加密字段、加密类型、列加密密钥的密文以及列主密钥指纹,根据列主密钥指纹调取对应的列主密钥,以解密列加密密钥的密文,根据加密类型和解密后的列加密密钥解密响应消息。5.如权利要求1所述的一种表字段级加密及安全访问控制方法,其特征在于,将加密后的查询参数封装至访问请求消息中,同时修改查询参数元数据类型,以将加密后的查询参数封装至访问请求消息中的SQL语...

【专利技术属性】
技术研发人员:杨新群李晓峰戚勇王继志
申请(专利权)人:济南超级计算技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1