SGX可信硬件环境下密态数据库实现方法及密态数据库技术

技术编号:37843448 阅读:10 留言:0更新日期:2023-06-14 09:48
本发明专利技术公开了SGX可信硬件环境下密态数据库实现方法及密态数据库,该方法包括:初始化阶段:对SGX可信硬件环境进行检测;与令牌服务通信,认证并获取密态令牌;构建基于飞地的密态算子服务;执行阶段:获取数据库引擎解析应用服务发起的Sql请求得到的Sql语句,执行Sql语句中的密态算子方法,以使得密态算子方法访问所述密态算子服务,密态算子服务运算密态算子并返回运算结果给数据库引擎从而将请求结果发送回应用服务。利用SGX技术,基于数据库扩展功能实现密态算子方法,通过和飞地中密态算子服务交互,完成可信环境下的密态数据运算,有效的降低了数据库数据受外部攻击者攻击和恶意程序篡改的风险,保障了数据的机密性、隐私性和完整性。私性和完整性。私性和完整性。

【技术实现步骤摘要】
SGX可信硬件环境下密态数据库实现方法及密态数据库


[0001]本专利技术属于隐私计算
,尤其涉及一种SGX可信硬件环境下密态数据库实现方法及密态数据库,通过可信执行环境下的密态运算,保障了数据库数据的机密性和完整性,保护了数据库数据不受外部攻击者、恶意程序的攻击和篡改。对于不同类型数据库,结合数据库自身扩展功能,本专利技术依然可以实现有效的数据机密性和数据完整性保障。

技术介绍

[0002]当今世界每时每刻都在产生数据,以及与数据打交道,数据已经与我们每个人乃至整个社会的方方面面都密切关联。保障数据的安全以及对于数据的隐私保护就成为了当下亟需解决的诉求。对于个人来说,个人信息与所产生的数据如果被泄露,可能会带来身份盗用,财产损失,亲友被骗,严重的甚至会威胁到生命安全。对于企业来说,数据是企业的命脉之一,经营数据涉及到商业机密,一旦泄露对于企业的经营可能造成毁灭性的打击。而企业掌握的用户数据一旦泄露,同样会给企业带来巨额的损失。对于国家来说,数据的安全是直接关系到国家的安全,没有数据安全,国家层面的数据主权就无从建立。
[0003]数据库存储安全问题,敏感数据的泄露,数据的防篡改问题越来越引起业界的重视。常用的数据库加密解决方案使用对称加密技术加密数据表,数据处理时仍以明文的形式进行操作。并且当前很多解决方案都不能实现数据的密文操作,无法提供有效的安全保障。同时数据密文操作运行于不可信的富操作系统环境中,容易在运行时受到网络攻击和被恶意程序破坏,不能提供可靠的安全保护。
[0004]综上所述,现有解决方案存在问题是:不能提供有效的安全保障;没有可信执行环境的安全保护;容易在运行时受到网络攻击和恶意程序破坏。

技术实现思路

[0005]本申请实施例的目的是针对现有技术的不足,提供一种SGX可信硬件环境下密态数据库实现方法及密态数据库。
[0006]根据本申请实施例的第一方面,提供一种SGX可信硬件环境下的密态数据库实现方法,包括:
[0007]初始化阶段:对SGX可信硬件环境进行检测;与令牌服务通信,认证并获取密态令牌;构建基于飞地的密态算子服务;
[0008]执行阶段:获取数据库引擎解析应用服务发起的Sql请求得到的Sql语句,执行Sql语句中的密态算子方法,以使得密态算子方法访问所述密态算子服务,密态算子服务运算密态算子并返回运算结果给数据库引擎从而将请求结果发送回应用服务。
[0009]进一步地,与令牌服务通信,认证并获取密态令牌,具体为:与令牌服务通信,通信时需要携带预先从令牌服务分配的AppKey和Secret进行身份认证,认证通过后获得颁发的密态令牌。
[0010]进一步地,构建基于飞地的密态算子服务,具体为:通过SGX可信硬件驱动构建密
态算子服务的飞地,将密态算子服务程序写入构建完成的飞地中,同时将所述密态令牌一同写入到飞地中,作为密态算子服务的密钥,启动密态算子服务。
[0011]进一步地,执行所述Sql语句中的密态算子方法,具体为:通过数据库自身的扩展功能,使用密态数据库服务提供的动态库中密态算子函数执行密态算子方法。
[0012]进一步地,所述动态库用于实现密态算子方法且封装用于实现和飞地中密态算子服务的通信,其中所述密态算子方法包括:加密算子、解密算子、数学运算算子、聚合运算算子、比较运算算子、时间运算算子和正则表达式算子。
[0013]进一步地,密态算子方法访问所述密态算子服务,密态算子服务运算密态算子并返回运算结果给数据库引擎,包括:
[0014]调用密态运算服务RPC接口,接口使用接收到的参数调用密态算子方法,密态算子方法对密态参数使用密态令牌进行解密运算获得明文参数,使用解密后的明文参数进行算子运算获得明文运算结果,明文运算结果使用密态令牌加密后获得密文并返回调用。
[0015]进一步地,数据库请求结果发送回应用服务,数据库表中任何密态数据字段的更新也将以加密数据格式回写数据库中进行存储。
[0016]进一步地,所述数据库引擎和所述应用服务部署于同一台主机的本地模式。
[0017]根据本申请实施例的第二方面,提供一种密态数据库,所述密态数据库基于第一方面所述的方法实现。
[0018]根据本申请实施例的第三方面,提供一种电子设备,包括:
[0019]一个或多个处理器;
[0020]存储器,用于存储一个或多个程序;
[0021]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
[0022]本申请的实施例提供的技术方案可以包括以下有益效果:
[0023]由上述实施例可知,本申请利用SGX技术,实现在可信硬件环境下的密态数据运算,有效的降低了数据库数据受外部攻击者攻击和恶意程序篡改的风险。本专利技术首次提出了基于数据库扩展功能实现密态算子方法,通过和飞地中密态算子服务交互,完成可信环境下的密态数据运算,保障了数据的机密性、隐私性和完整性。本专利技术具有通用性强,使用方便的特点,针对不同类型数据库,结合数据库自身扩展功能,可方便实现密态算子方法,有效的提高了密态运算的灵活性和高效性,同时降低了密态算子实现对数据库的侵入性。
[0024]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0025]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0026]图1是根据一示例性实施例示出的基于SGX可信硬件环境下的密态数据库实现方法的结构示意图。
[0027]图2是根据一示例性实施例示出的基于SGX可信硬件环境下的密态数据库实现方法的初始化阶段流程图。
[0028]图3是根据一示例性实施例示出的基于SGX可信硬件环境下的密态数据库实现方法的执行阶段流程图。
[0029]图4是根据一示例性实施例示出的基于SGX可信硬件环境下的密态数据库实现方法的执行阶段时序图。
[0030]图5是根据一示例性实施例示出的基于Postgresql为具体数据库引擎实现的原型系统示意图。
[0031]图6是根据一示例性实施例示出的一种基于SGX可信硬件环境下的密态数据库实现装置的框图。
[0032]图7是根据一示例性实施例示出的电子设备的示意图。
具体实施方式
[0033]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
[0034]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SGX可信硬件环境下密态数据库实现方法,其特征在于,包括:初始化阶段:对SGX可信硬件环境进行检测;与令牌服务通信,认证并获取密态令牌;构建基于飞地的密态算子服务;执行阶段:获取数据库引擎解析应用服务发起的Sql请求得到的Sql语句,执行Sql语句中的密态算子方法,以使得密态算子方法访问所述密态算子服务,密态算子服务运算密态算子并返回运算结果给数据库引擎从而将请求结果发送回应用服务。2.根据权利要求1所述的方法,其特征在于,与令牌服务通信,认证并获取密态令牌,具体为:与令牌服务通信,通信时需要携带预先从令牌服务分配的AppKey和Secret进行身份认证,认证通过后获得颁发的密态令牌。3.根据权利要求1所述的方法,其特征在于,构建基于飞地的密态算子服务,具体为:通过SGX可信硬件驱动构建密态算子服务的飞地,将密态算子服务程序写入构建完成的飞地中,同时将所述密态令牌一同写入到飞地中,作为密态算子服务的密钥,启动密态算子服务。4.根据权利要求1所述的方法,其特征在于,执行所述Sql语句中的密态算子方法,具体为:通过数据库自身的扩展功能,使用密态数据库服务提供的动态库中密态算子函数执行密态算子方法。5.根据权利要求4所述的方法,其特征在于,所述动态库用于实现密态算子方法且封装用于实现...

【专利技术属性】
技术研发人员:冯雪锋刘健李沪林任奎俞奕鉴
申请(专利权)人:浙江大学嘉兴研究院
类型:发明
国别省市:

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

1