大规模用户多密钥场景云加密数据库系统及存储查询方法技术方案

技术编号:21551960 阅读:29 留言:0更新日期:2019-07-07 00:03
本发明专利技术公开了大规模用户多密钥场景云加密数据库系统及存储查询方法,对已有的云加密数据库系统,在应对大规模用户多密钥场景下的性能和安全问题提出了解决方案。最好的安全保护技术是对数据进行先加密后存储,已有的云加密数据库系统一定程度上解决了云服务器密文数据检索困难问题,但密钥的单一性使其很难应对大规模用户多密钥场景。本发明专利技术使用私有云代理服务器对用户的海量数据进行加解密服务,同时使用私有云密钥管理器对用户组密钥进行高效分发管理。私有云代理服务器高并行处理用户请求,私有云密钥管理器散列存储、匹配用户组密钥,能够高效实现大规模用户请求,解决了现有云加密数据库系统在应对大规模用户多密钥场景下的性能和安全问题。

Cloud Encrypted Database System and Storage and Query Method for Large Scale User Multi-Key Scene

【技术实现步骤摘要】
大规模用户多密钥场景云加密数据库系统及存储查询方法
本专利技术属于信息安全
,具体涉及大规模用户多密钥场景下云服务器中海量数据的加解密服务,以及密钥的高效分发管理。
技术介绍
随着现代科学的蓬勃发展,信息化和大数据时代的到来,海量数据成为极其重要的资源,如何有效的保护隐私数据的安全也成为重要的研究课题。对于海量数据的处理,人们通常的做法是将自己的数据外包到云服务器进行存储和管理。但云服务器并不是完全安全的,近年来云服务器安全事件屡见不鲜,例如2015年的网易邮箱账号密码泄露事件、2015年的阿里云盾安全事件和2016年130万考研用户信息泄露事件等。随着云服务器安全事件的频发,人们越来越重视起云服务器安全问题。对于云服务器安全问题,对数据进行先加密后存储是目前公认最好的安全保护技术。然而数据加密后,数据之间的联系减少,对云服务器检索数据带来很大困难。有人提出了加密数据库如CryptDB,它通过把对数据库进行的操作(选择、连接、投影等)进行特殊处理,使得这些操作能够执行在已加密的数据上。这一定程度上解决了云服务器检索密文数据困难问题,但又因其加密密钥单一,无法应对大规模用户多密钥场景下的性能和安全挑战。
技术实现思路
本专利技术的目的是提出一种在大规模用户多密钥场景下对云服务器中海量数据进行加解密服务,同时对密钥进行高效分发管理,达到用户数据安全的方案。为实现上述目的,本专利技术采用的技术方案是:设计出了一种在大规模用户多密钥场景下的加密数据库系统,本地私有云服务器对海量数据进行加解密服务,并将密文数据上传远程公有云服务器进行存储管理,同时私有云服务器对密钥进行高效分发管理。加密数据库系统基于本地私有云代理服务器集群,能够同时处理大规模用户的请求,将用户上传的数据加密为密文存储于公有云服务器;对大规模用户请求查询的数据,从公有云服务器获得密文数据,再配合私有云分发的密钥进行解密处理后发送给请求用户。本系统包括用户端、私有云端、公有云端三部分,用户端可以实现用户系统注册、数据上传和数据查询等功能;私有云端提供数据加解密处理和密钥分发管理服务,包括密钥管理器、代理服务器集群和资源调度器三个部分;公有云端提供密文数据的存储管理资源。在大规模用户多密钥场景下用户对加密数据库的请求操作具体可分为两种——上传和查询,加密数据库对用户请求的处理可以概况为以下内容:一、上传时步骤如下:步骤一、用户在本系统用户端注册;步骤二、私有云端为注册用户生成一组唯一特定匹配的密钥,并将该组密钥存储在私有云密钥管理器中;步骤三、用户向私有云端发起数据上传请求,并经由用户端向私有云端上传数据;步骤四、私有云端接收到用户发起的数据上传请求,私有云资源调度器先为该请求发起请求线程,再将该请求线程挂载在请求就绪队列的末尾,并为该请求线程设置优先级。此时该请求线程进入等待状态,等待私有云资源调度器唤醒后执行;步骤五、私有云资源调度器实时调度请求就绪队列中的线程,同时监控私有云代理服务器集群中执行完成的线程,并将该结束线程退出代理服务器;步骤六、私有云资源调度器监控到空闲的代理服务器后,即唤醒等待的请求线程,将该请求线程调度到空闲的代理服务器进行处理;步骤七、私有云代理服务器接收到用户由用户端上传的数据;步骤八、私有云密钥管理器接收到用户请求线程被调度的信息后,立即通过该用户的认证码匹配到其唯一特定组密钥,并将该组密钥分发给私有云代理服务器;;步骤九、私有云代理服务器使用该组密钥对接收到的数据进行加密处理;步骤十、私有云代理服务器由私有云端将加密后的密文数据上传到公有云进行存储管理。二、查询时步骤如下:步骤一、用户经由用户端向私有云端发起数据查询请求;步骤二、私有云端接收到用户发起的数据查询请求后,私有云资源调度器先为该请求发起请求线程,再将该请求线程挂载在请求就绪队列的末尾,并为该请求线程设置优先级。此时该请求线程进入等待状态,等待私有云资源调度器唤醒后执行;步骤三、私有云资源调度器实时调度请求就绪队列中的线程,同时监控私有云代理服务器集群中执行完成的线程,并为该结束线程退出代理服务器;步骤四、私有云资源调度器监控到空闲的代理服务器后,即唤醒等待的请求线程,将该请求线程调度到空闲的代理服务器进行处理;步骤五、私有云代理服务器对该用户请求线程进行数据库重写,该重写是为私有云端在公有云端进行密文数据查询做准备;步骤六、私有云代理服务器对该请求线程重写后,经由私有云端向公有云端请求用户查询的密文数据,此时该请求线程被挂起,进入等待状态;步骤七、公有云端接收到私有云端的密文数据请求,经查询后将该密文数据返回给私有云端;步骤八、私有云资源调度器监控到公有云端返回的密文数据,即将该被挂起进入等待状态的用户请求线程唤醒,并为该请求线程调度空闲的私有云代理服务器对其进行处理;步骤九、私有云资源管理器调度空闲的私有云代理服务器接收到公有云端返回的密文数据;步骤十、私有云密钥管理器接收到用户请求线程被调度的信息后,立即通过该用户的认证码匹配到其唯一特定组密钥,并将该组密钥分发给私有云代理服务器;步骤十一、私有云代理服务器使用该组密钥对接收到的密文数据进行解密处理;步骤十二、私有云代理服务器由私有云端将解密后的明文数据返回给请求查询数据的用户。与现有技术相比,本专利技术至少具有以下有益的技术效果,本专利技术一定程度上解决了大规模用户多密钥场景下,云服务器中海量数据加解密服务的性能问题和海量密钥带来的密钥分发管理问题,达到用户数据安全存储的目的。本地私有云服务器对用户的海量数据进行加解密服务,同时对密钥进行高效分发管理,远程公有云服务器对密文数据进行存储管理,能够高效实现大规模用户请求。进一步的,用户在注册时系统会为该用户生成一个特定值作为该用户唯一特定的用户认证码,同时本系统内置一套固定的密钥生成器,密钥生成器属于私有云端部分,存储管理用户对应生成的特定组密钥,为代理服务器分发组密钥配合其解密。密钥管理器只需要分发管理这组唯一特定密钥即可达到用户与密钥配对的功能。当用户向私有云端发起数据查询请求时,资源管理器向私有云代理服务器发起响应询问,同时密钥管理器将该用户的认证码传递给密钥生成器,快速匹配到用户组密钥,再将该组密钥传递给代理服务器,配合其解密数据。由于密钥管理器只需要存储用户唯一特定的组密钥,且匹配用户密钥是立即匹配,因此本系统能够做到操作简单、管理便捷、分发高效。进一步的,当系统用户量只需部分代理服务器进行处理时时,私有云代理服务器将对用户请求进行集中处理,此时资源调度器对请求线程进行组调度。资源调度器将用户的一组相关的请求线程,基于一对一的原则,同时调度到一组代理服务器上,对该组请求线程进行集中处理。组调度在用户量少时,能够高效处理用户请求。进一步的,当系统用户量超出系统饱和度时,代理服务器集群协调处理大量用户请求是困难的。为减少用户请求的等待时间,资源调度器对请求线程进行动态调度。动态调度在用户量大时,能够减轻代理服务器集群的负载,同时减少用户请求的等待时间,有效的处理用户的请求。附图说明图1为本专利技术大规模用户多密钥场景云加密数据库加密代理系统结构图;图2为本专利技术大规模用户多密钥场景云加密数据库资源调度图;图3为本专利技术大规模用户多密钥场景云加密数据库代理服本文档来自技高网...

【技术保护点】
1.一种大规模用户多密钥场景云加密数据库系统,其特征在于,包括用户端、私有云端和公有云端,所述用户端和私有云端双向通讯连接,所述私有云端和公有云端双向通讯连接;所述用户端用于实现用户系统注册、数据上传和数据查询功能;所述私有云端用于提供数据加解密处理和密钥分发管理服务,所述公有云端用于提供密文数据的存储管理资源。

【技术特征摘要】
1.一种大规模用户多密钥场景云加密数据库系统,其特征在于,包括用户端、私有云端和公有云端,所述用户端和私有云端双向通讯连接,所述私有云端和公有云端双向通讯连接;所述用户端用于实现用户系统注册、数据上传和数据查询功能;所述私有云端用于提供数据加解密处理和密钥分发管理服务,所述公有云端用于提供密文数据的存储管理资源。2.根据权利要求1所述的一种大规模用户多密钥场景云加密数据库系统,其特征在于,私有云端包括密钥管理器、代理服务器集群和资源调度器;所述代理服务器集群包括若干代理服务器,所述资源调度器为代理服务器集群调度请求线程,密钥管理器为代理服务器集群分发用户特定组密钥,代理服务器集群中若干代理服务器以并行处理方式处理请求线程。3.根据权利要求1所述的一种大规模用户多密钥场景云加密数据库系统,其特征在于,用户在注册时,为该用户生成一个特定值作为该用户唯一特定的用户认证码;本系统内置有固定的密钥生成器,所述该密钥生成器由各密钥生成函数组成;通过向所述固定密钥生成器传入用户唯一特定认证码,为用户生成一组唯一特定密钥,该特定密钥以散列方式存储在密钥管理器中。4.一种基于权利要求2所述的大规模用户多密钥场景云加密数据库系统的数据存储方法,其特征在于,包括以下步骤:步骤一、私有云端接收用户在用户端的注册信息;步骤二、私有云端为注册用户生成一组唯一特定匹配的密钥,并将该组密钥存储在密钥管理器中;步骤三、向私有云端发起数据上传请求,并经由用户端向私有云端上传数据;步骤四、私有云端接收到数据上传请求后,资源调度器先为该请求发起请求线程,再将该请求线程挂载在请求就绪队列的末尾,并为该请求线程设置优先级;此时该请求线程进入等待状态,等待资源调度器唤醒后执行;步骤五、资源调度器实时调度请求就绪队列中的线程,同时监控代理服务器集群中执行完成的线程,并将该结束线程退出代理服务器;步骤六、资源调度器监控到空闲的代理服务器后,即唤醒等待的请求线程,将该请求线程调度到空闲的代理服务器进行处理;步骤七、代理服务器接收到用户上传的数据;步骤八、密钥管理器接收到用户请求线程被调度的信息后,立即通过该用户的认证码匹配到其唯一特定组密钥,并将该特定组密钥分发给代理服务器;步骤九、代理服务器使用该特定组密钥对接收到的数据进行加密处理;步骤十、代理服务器由私有云端将加密后的密文数据上传到公有云端进行存储。5.根据权利要求4所述的一种大规模用户多密钥场景云加密数据的存储方法,其特征在于,资源管理器对集群中代理服务器的调度有下述三种方式:用户量正常-负载分配:当系统用户量在系统饱和度内时,此时,私有云端代理服务器集群能够满足用户的请求和数据处理服务;所述云加密数据库系统维护一个请求就绪全局队列,每个代理服务器只要处于空闲,资源调度器就从就绪请求队列中选择一个线程,将该空闲的代理服务器分配给此线程进行请求处理;用户量少-组调度:当系统用户量只需部分私有云代理服务器进行处理时,私有云代理服务器将对用户请求进行集中处理,此时资源调度器对请求线程进行组调度;资源调度器将用户的一组相关的请求线程,基于一对一的原则,同时调度到一组代理服务器上,对该组请求线程进行集中处理;用户量大-动态调度:当系统用户量超出系统饱和度时,资源调度器对请求线程进行动态调度。6.根据权利要求5所述的一种大规模用户多密钥场景云加密数据的存储方法,其特征在于,资源调度器对用户请求的动态调度过程如下:步骤一、资源管理器为用户请求线程维护一个动态的请求就绪队列;步骤二、资源管理器为就绪队列中的用户请求线程设置优先级,第一个线程的优...

【专利技术属性】
技术研发人员:马建峰徐皖辉王祥宇马鑫迪沈玉龙卢笛杨睿康卢锴
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1