GaussDB技术解读系列:高安全之密态等值

这篇具有很好参考价值的文章主要介绍了GaussDB技术解读系列:高安全之密态等值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在第14届中国数据库技术大会(DTCC2023)的GaussDB“五高两易”核心技术,给世界一个更优选择专场,华为GaussDB首席安全架构师郭亮详细解读了GaussDB的高安全之密态等值技术。

本篇为大家分享GaussDB高安全的关键特性,名字叫密态等值,是一个关于全密态的关键能力。

 

数据成为生产要素,合规要求趋于严格

大家应该都有切身的体会,近些年数据的重要性越来越高,特别是国家已经把数据明确定义为了生产要素。生产要素是什么?就好像过去的石油,从工业革命时期开始,每一家工业企业几乎都要用到,是生产过程中必不可少的东西。现在,国家把数据定义为生产要素,意味着数据在各个领域也将要广泛地使用到。正因为这样,数据也上升成为了国家的“战略资源”。基于此,国家近些年发布了《中华人民共和国数据安全法》、《中华人民共和国个人信息保护法》等一系列法律,对数据安全的保护标准和使用规范越来越明确、越来越严格,这是我们切身体会到的一个大的趋势。

 

数据库安全面临更大的威胁和挑战

在这种新形势下,数据库的安全也面临很大的威胁。我们做了一个梳理,从里到外,数据库的安全问题一共有以下几个方面:

首先,数据安全传输从网络层面容易受到攻击。大概20年前,安全人员在网络上部署一台嗅探器,就可以获取到许多的敏感信息。而之后陆续出现相关的标准和技术,经过一段时间的演进逐步成熟,演变成稳定的安全协议或安全架构,被广泛使用起来。例如HTTPS、TLS等,通过这种安全协议上的消解,我们发现,现在很难通过网络攻击,直接获取到敏感的东西。

随后我们发现,SQL注入,以及网页跨站等问题开始越来越明显,数据展示层的攻击虽然和数据库不直接相关,而是从数据库把数据拿出来之后放到业务层,在业务层引入的风险,但这些风险也可以通过数据库提供的能力进行消减,因此也纳入数据库威胁范围内。同样也是随着技术的发展,一些稳定的安全框架、安全编码规范形成之后,这部分的风险逐渐消减了。

其次是存储。各类安全规范里经常会提及到存储安全保护,因为数据一旦存在磁盘里,有可能永远都在磁盘里,直到磁盘销毁的那一天。如果里面存放了敏感数据,理论上每一天都有被偷走的可能,所以存储安全非常的重要。关于这一点,相关的技术也在逐步成熟,像磁盘加密、透明加密等,而且各家机构企业也都非常重视对于物理硬件的保护,管理手段非常严格,所以磁盘被偷走的情况也很少出现。

最近几年,经常看到各种各样的严重安全事件,主要在两个维度,一个是维护,一个是管理。维护就是后台操作系统的人员做一些数据库的维护操作,管理就是DBA通过数据库标准通道做一些管理操作。这也不一定是内部人员有问题,也有可能是这些内部人员的账号被泄露,近几年世界知名的一些大型数据安全事件,大部分是在这两个方面出了问题,都泄露了很多的数据,这是新形势下最大的安全威胁。

 

GaussDB以数据为中心

构筑起3+1安全架构

面对这些挑战,GaussDB构筑起了3+1的安全架构。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

这个架构的最外层,是基于智能化能力做一些风险、异常行为的感知,先感知有没有恶意攻击,阻挡一遍攻击。中层是访问控制能力,加上口令、身份认证等,进一步控制用户访问风险。里层是数据加密、脱敏,直接在数据上做文章,因而攻击者即使将外层全部攻破,拿走的也全部是密文状态下的数据。

最后在这三层之外是审计,GaussDB做了很多细粒度的审计能力,还有防篡改。我们的审计日志是改不了的,即使篡改了,也能看出来哪里被改了。所以,即使攻击者做了很多操作,把数据库也攻破了,但所有操作是跑不了的。

而今天分享的就是全密态里面的等值查询。

 

GaussDB全密态等值查询

实现数据全流程保护

全密态技术的原理很简单。比如在使用的时候输入一个SQL语句,加密驱动会找到哪个字段需要加密,然后用一个密钥把它自动加密,这样加密完后整个流程都是密文的,整个数据库跑的数据、以及跑完之后的结果都是密文数据,不论什么时候把数据拿走,拿走的也都是密文的,因为在整个数据库里面没有任何解密的过程。我们对查询回来的密文结果在客户端再进行解密,将明文数据返回给业务进行处理,从而能够做到无感知的使用和业务迁移。

我们当前支持密态等值等查询,很快还会支持密态范围查询和模糊查询,都是基于密码学的算法。对于大规模数据,我们还可以基于密文数据进行索引和快速查询,并且支持JDBC、GO、Libpq等多种客户端驱动。

 

客户端密钥管理,保障服务可信

对加密来说,密钥是最关键的,所以全密态最主要的是密钥的分配。我们的全密态密钥是在客户端管理,一般属于业务管理人员负责,业务管理人员拿到密钥后把数据加密再交给数据库。逻辑很简单,我们在驱动层做了一个加密驱动,里面做了自动加解密和自动解析,能够自动识别哪个字段需要哪个密钥,再自动找到密钥、自动加密。这样只要业务不把密钥权限分配给DBA和运维,他们就不能解密这部分数据,但是能够正常运维,如果有极特殊的情况需要看到明文敏感数据才能做管理运维,也可以把密钥赋权给相关人员。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

 

全流程加密,数据库内部全流程零解密

第二层是加密,数据库里的整个流程是没有解密过程的,这是GaussDB实现的最主要的能力,包括传输、查询、存储等操作都有对应的方式,不需要解密再处理。但是,如果不单是在客户端需要数据导出,假如后端也需要直接导出数据,我们也可以在某些特殊场景下把密钥授权给下游做临时解密。这是加密方面的情况介绍。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

 

客户端轻量化解析

业务层加密透明无感

另外,如何做到透明无感知?解析器是数据库里的关键组件,我们在客户端里面做了一个轻量化解析器,对用户输入进去的SQL语句做自动的语法解析,找到哪个字段需要加密,而对于返回过来的语法也进行对应的解析。做完这个解析,客户端可以获取到需要加密的数据以及该数据在原始语句中的位置,然后重新构造一个新的SQL语句,数据库实际收到的就是加密之后的数据。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

 

经过客户端的自动语法解析,自动密钥管理和自动加密后,就可以继承标准的SQL语法,实现业务的透明无感知。对于业务迁移,也只需要修改一下建表语句,配置数据加密的表和加密字段即可,在实际增删改查过程中,所有操作语句都是与明文一样的。

全密态等值和传统加密有什么区别?我做了一个总结。

  • 函数加密:是用户把密钥给到数据库,数据库在执行函数时做一个加密动作,是在数据库里加密。

  • 透明加密:数据库自己找一个密钥,在磁盘落盘时做加密,是磁盘做加密。

  • 全密态:全密态等值是客户找到密钥之后先把数据加密,再交给数据库,全生命周期都是密文的。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

 

应用案例

自己生产的降落伞自己先跳,GaussDB的全密态能力已经在华为的MetaERP系统商用了。不久前,华为宣布实现自主创新的MetaERP研发,完成对旧ERP系统的替换,目前已覆盖了华为公司100%的业务场景和80%的业务量。ERP作为华为企业经营最核心的系统,伴随着华为20多年的快速发展,支撑了每年数千亿产值的业务以及全球170+国家业务高效经营。

我们分析过一个业务,其中有270多个绝密字段,任何一个环节发生数据泄露都是重大事故。而之前的传统方案,是强制在应用层加密,加密完成后存到数据库,用数据的时候,先把数据查询出来之后做解密再使用,数据库做不了任何事情,这种方案加密时间长,性能损耗大,密钥需要自管,所以上了全密态。

刚开始做自己的ERP系统的时候,数据库的容量、性能,特别是对批量数据的查询和处理,都是空前挑战。因为ERP业务实际是不看TPCC等基准测试指标的,他们只看实际业务场景的性能,比如批量插入、批量查询等,这给我们提供了一个良好的训练场,我们对批量处理性能等多种场景的实际应用都进行很大的优化,确保MetaERP在全密态下能满足业务对性能的要求。

另外,ERP应用的时候有一个特点,交易查询完之后,下游还有一个分析库处理,我们有一个密钥授权能力,在业务负责人将密钥权限授权下游处理节点后 ,数据库就把密文数据解密后托管给下游处理,这样后台数据就可以不经过客户端,不同的应用只需要使用同一个KMS(密钥管理)就可以操作同一部分数据。另外,只要业务负责人不把密钥授权给其他任何人,就没有人能处理这个数据,包括管理和运维人员。

GaussDB技术解读系列:高安全之密态等值,GaussDB经验总结,gaussdb,数据库,sql,GaussDB,DBA,密态等值,原力计划

最后是获得的一些成绩,GaussDB是国内首个通过国际CC EAL4+认证的数据库,也是国内首批通过信通院全密态数据库评测、国内首家通过信通院防篡改数据库评测的数据库产品。

今天的分享就到这里,欢迎小伙伴们一起交流。文章来源地址https://www.toymoban.com/news/detail-713228.html

到了这里,关于GaussDB技术解读系列:高安全之密态等值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GaussDB技术解读系列之SQL Audit,面向应用开发的SQL审核工具

    本文分享自华为云社区《​​GaussDB技术解读系列之SQL Audit,面向应用开发的SQL审核工具》​​,作者:华为云数据库和应用迁移专家。 我们先从一个SQL语句说起(以某传统单机数据库为例)。 也许这就是我们业务代码中潜藏的一个SQL语句,对于一个普通开发者来说,这个语

    2024年02月14日
    浏览(46)
  • 《万字长文带你解读AIGC》系列之技术篇

    欢迎关注『CVHub』官方微信公众号! Welcome to back! 在《万字长文带你解读AIGC入门篇》 一文中,我们详细为大家介绍了 AIGC 的相关概念、背景及其如此火爆的原因,接下来我们将进一步深入探讨AIGC背后的技术栈。 作为本系列的技术篇,将从多个角度来介绍 AIGC 的技术栈,其中

    2024年02月09日
    浏览(36)
  • 云图说丨华为云区块链引擎服务:高安全的区块链技术服务平台,轻松部署,快速上链

    摘要: 华为云区块链引擎服务以BCS自主研发区块链内核为底座,结合可信硬件,具有高安全、高性能、高可扩展、强隐私保护等特点,满足企业级和金融级的可信和协同要求。 本文分享自华为云社区《【云图说】 第251期 华为云区块链引擎服务—高安全的区块链技术服务平台

    2024年02月17日
    浏览(39)
  • 第一篇【传奇开心果系列】Python的游戏库pygame技术点案例示例:深度解读实战开发飞机大战经典游戏案例

    开发飞机大战游戏不仅能满足广大玩家的娱乐需求,提供寓教于乐的学习机会,也是技术实践、创新实验和商业探索的重要载体,具有多维度的社会与经济价值。 开发飞机大战游戏具有多方面的意义,涵盖娱乐、教育、技术实践与创新等多个层面: 娱乐价值 : 休闲娱乐 :

    2024年04月23日
    浏览(90)
  • 第四篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas生物信息学领域应用

    生物信息学是一门将计算机科学和生物学相结合的跨学科领域,旨在利用计算机技术和统计学方法来处理、分析和解释生物学数据。在生物信息学研究中,研究人员处理的数据种类繁多,包括基因组数据、蛋白质数据、生物医学图像数据等。 Pandas 是一个基于 Python 编程语言的

    2024年03月09日
    浏览(91)
  • 第七篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读数据分析数据挖掘的几个重要算法为代表的核心技术

    在对大学生数据分析和数据挖掘时,会接触到许多重要的算法,这些算法代表了数据分析和数据挖掘领域中的一些核心技术,大学生可以通过学习和实践这些算法为代表的核心技术来提升自己的数据分析能力和数据挖掘探索分析能力。深入理解这些算法为代表的核心技术的原

    2024年03月19日
    浏览(57)
  • GaussDB数据库SQL系列-行列转换

    一、前言 二、简述 1、行转列概念 2、列转行概念 三、GaussDB数据库的行列转行实验示例 1、行转列示例 1)创建实验表(行存表) 2)静态行转列 3)行转列(结果值:拼接式) 4)动态行转列(拼接SQL式) 2、列转行示例 1)创建实验表(复用前面的测试数据) 2)使用union a

    2024年02月10日
    浏览(51)
  • GaussDB(DWS)查询优化技术大揭秘

    大数据时代,数据量呈爆发式增长,经常面临 百亿、千亿数据查询场景 ,当数据仓库数据量较大、SQL语句执行效率低时,数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行 表结构设计 ,如何进行 SQL优化 ,如何查找 慢SQL和高频SQL ,提高数据仓库的性能和响

    2024年01月17日
    浏览(45)
  • 第二篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读pyttsx3支持多种语音引擎

    pyttsx3是一个Python文本到语音转换库,可以将文本转换为语音并播放出来。它支持多种语音引擎,包括sapi5、nsss、espeak等。pyttsx3可以用于开发语音助手、自动化脚本、语音提示等应用程序。它具有简单易用的接口,可以灵活设置语音输出的音量、语速、声音类型等参数。如果

    2024年02月19日
    浏览(52)
  • GaussDB数据库SQL系列-表连接(JOIN)

    目录 一、前言 二、GaussDB JOIN 1、LEFT JOIN 2、LEFT JOIN EXCLUDING INNER JOIN 3、RIGHT JOIN 4、LEFT JOIN EXCLUDING INNER JOIN 5、INNER JOIN 6、FULL OUTER JOIN 7、FULL OUTER JOIN EXCLUDING INNER JOIN 三、GaussDB 实验示例 1、初始化实验表 2、LEFT JOIN(示例) 3、RIGTH JOIN(示例) 4、INNER JOIN(示例) 5、FULL JOIN(示

    2024年02月13日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包