【技术实现步骤摘要】
基于哈希的可信执行环境下的加密数据库连接查询优化方法
[0001]本专利技术属于数据安全
,具体涉及一种基于哈希的可信执行环境下的加密数据库连接查询优化方法。
技术介绍
[0002]随着云计算领域的发展,越来越多的中小型企业选择使用云数据库来降低设备和运维成本,然而,由于开放的部署环境和复杂的网络拓扑结构,相比传统数据库,云数据库面临着更严重、更复杂的攻击场景。对于数据存储和传输过程中的安全保护,已经有了诸多受到业界认可的国内外安全标准和算法,比如AES、国密及TLS等。这些技术的使用可以极大降低数据在静态存储及传输时的风险。
[0003]但是对于数据运行时的保护,却仍存在很大的局限性。目前,相关技术中存在基于密码学的技术方案和基于可信执行环境的技术方案。对于基于纯密码学技术实现的加密数据库,如CryptDB,根据加密算法的强度,其存在的问题也不同;例如,采用确定性加密算法时,明文数据和密文数据一一对应,存在数据访问模式泄露和数据频率信息泄露的风险;而随机性加密算法不支持在密文上进行任何计算,无法提供密文数据检索的功能;属性保护算法和全同态加密算法可以支持在密文上进行一定的计算,但同样存在支持的运算符有限和计算开销过大的问题。对于基于可信执行环境实现的加密数据库,其两种不同实现方式分别存在不同的缺点;例如,基于安全数据库系统的方式,如EnclaveDB,需要将整个数据库内核的可信部分移植到可信执行环境,工程量巨大,且可信计算基很大,容易面临更多的攻击,同时Enclave内存空间受限,导致在大数据场景下无 ...
【技术保护点】
【技术特征摘要】
1.一种基于哈希的可信执行环境下的加密数据库连接查询优化方法,其特征在于,包括:数据提供者为数据表中每个行中的待加密数据,从多个预设安全级别中选出安全级别,根据所述安全级别和所述数据表的条目信息,确定该行的待加密数据的哈希值;所述多个预设安全级别的安全性逐级增加,根据所述多个预设安全级别确定出的多个哈希值的哈希空间逐级减小;数据提供者从密钥管理器中获取预设密钥,并对该行的待加密数据加密,得到密文,将所述密文、所述安全级别和所述哈希值存储至该行中,得到加密的数据表,将所述数据表的信息、所述加密的数据表、该行的名称、所述密文、所述安全级别和所述哈希值存储至数据库,将所述密钥与该行和所述数据表映射关系保存至所述密钥管理器;客户端向服务器代理发送包含待查询的数据表名称、待查询的行名称和待查询数据的查询请求;服务器代理根据所述查询请求从所述数据库中查询出安全级别和条目信息,根据查询出的安全级别和条目信息确定所述待查询数据的哈希值;所述服务器代理根据所述待查询数据的哈希值和所述待查询的数据表进行查询,并将得到的查询结果中的查询密文和所述查询密文的属性信息,发送至可信执行环境组件;所述可信执行环境组件基于所述属性信息从所述密钥管理器获取密钥,根据获取的密钥、所述查询密文和所述待查询的数据,得到目标信息并发送至服务器代理;所述服务器代理将所述查询结果中与所述目标信息对应的数据发送至所述客户端。2.根据权利要求1所述的一种基于哈希的可信执行环境下的加密数据库连接查询优化方法,其特征在于,所述数据表的条目信息为所述数据表包含的行数;每个安全级别对应一种计算方式,不同安全级别对应的计算方式不同;所述根据所述安全级别和所述数据表的条目信息,确定该行的待加密数据的哈希值,包括:对该行的待加密数据进行哈希运算,得到初始哈希值;根据所述安全级别,确定出计算方式;采用确定出的计算方式,对所述初始哈希值和所述行数进行计算,得到该行的待加密数据的哈希值。3.根据权利要求1所述的基于哈希的可信执行环境下的加密数据库连接查询优化方法,其特征在于,所述服务器代理根据所述待查询数据的哈希值和所述待查询的数据表中的哈希值进行查询,并将得到的查询结果中的查询密文和所述查询密文的属性信息,发送至可信执行环境组件,包括:所述服务器代理根据所述待查询数据的哈希值和所述待查询的数据表中的哈希值,从所述待查询的数据表中确定出至少一组数据;根据每一组数据对应得到一组中间数据,将得到的中间数据作为查询结果;每一组中间数据包括至少一个密文;将每一组中间数据包括的密文作为查询密文,将每一组中间数据的属性信息作为所包括的密文的属性信息;将所述查询密文和所述查询密文的属性信息,发送至可信执行环境组件。4.根据权利要求3所述的基于哈希的可信执行环境下的加密数据库连接查询优化方
法,其特征在于,所述数据表至少包括:第一数据表和第二数据表;所述服务器代理根据所述待查询数据的哈希值和所述待查询的数据表中的哈希值,从所述待查询的数据表中确定出至少一组数据,包括:服务器代理从所述第一数据表和所述第二数据表中,筛选与所述待查询数据的哈希值相同的哈希值所在的行,根据筛选出的行的数据,得到所述至少一组数据。5.根据权利要求4所述的基于哈希的可信执行环境下的加密数据库连接查询优化方法,其特征在于,所述每次从所述第一数据表和所述第二数据表中,筛选与所述待查询数据的哈希值相同的哈希值所在的行,根据筛选出的行的数据,得到所述至少一组数据,包括:按照不同行之间的哈希值的大小,对所述第一数据表中的行数据进行降序排序,得到更新的第一数据表;按照不同行之间的哈希值的大小,对所述第二数据表中的行数据进行降序排序,得到更新的第二数据表;比较所述更新的第一数据表的第i行与所述更新的第二数据表的第i行的哈希值;i为大于0且小于或等于N的整数,N为所述更新的第一数据表和所述更新的第二数据表的行数;当所述更新的第一数据表的第i行与所述更新的第二数据表的第i行的哈希值相同时,将所述更新的第一数据表的第i行,以及所述更新的第二数据表的第i行,将所述更新的第一数据表的第i行的数据,以及所述更新的第二数据表的第...
【专利技术属性】
技术研发人员:常曌,刘琦,程珂,沈玉龙,马鑫迪,张涛,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。