SGX辅助下的一种基于身份的可验证数据聚合分析系统的制作方法

文档序号:37274903发布日期:2024-03-12 21:07阅读:34来源:国知局
SGX辅助下的一种基于身份的可验证数据聚合分析系统的制作方法

本发明涉及云计算,具体涉及sgx辅助下的一种基于身份的可验证数据聚合分析系统。


背景技术:

1、随着云计算的超高速发展,涉及医疗、交通、金融等等各种智能穿戴设备每天都产生海量的数据,这些数据源源不断地被传输数据到互联网上,这些数据可能涉及用户的隐私数据,十分敏感。因此,这些数据都往往都是以加密的形式在开放的网络中进行传输,并且以密文的形式进行安全的存储和计算。通过加密的方式保证数据的机密性,但是,在数据传输的过程中,还有可能存在外部敌手,通过对数据传输测信道进行监听抓取数据进行拦截、替换甚至是篡改数据,因此需要数字签名的技术去保障数据的完整性。然而传统的云计算的场景,绝大部分都是针对加密的密文数据进行相应计算分析操作,大大降低数据的了可用性以及延缓分析效率,也会影响相应的计算效率,无法满足现代网络的快速发展的要求。其次,绝大部分方案的都是依托传统的云服务器,并没有考虑具有更为安全的可信执行环境(trusted execution environment,tee)的云服务器,例如intel sgx,arm trustzone等等。tee是一种能够保证应用程序和数据安全的软硬件结合的技术,它即是一个安全的软件环境,能够保证其内运行的程序和数据不受恶意操作或篡改,进而保证其移动应用和服务。tee也可以有效防止入侵和伪造,可以实现私有的和受保护的应用程序执行,以及保护敏感信息的存储和用户隐私的安全。

2、针对上述传统数据外包的安全问题,以往的方案已经不是最佳的解决方案。因此,如何在具有tee的云计算和边缘计算的场景下,设计并解决数据外包存储计算过程中数据安全以及计算效率问题变得至关重要。

3、在中国专利“cn202110880355.4-一种物联网数据聚合、分析方法”,主要集中在于处理特征规则,确定特征值以及分类,将分类好的特征值发送到kafka进行分类,再通过flink进行数据解析、聚合处理。着重进行数据分析、清洗,提高了对数据实时查询和深度分析的效率;而没考虑数据机密性和完整性,同时,也没有针对新兴具有tee环境的云计算和边缘计算场景进行普遍性设计,此发明着重的数据处理过程可以被放入tee中进行更安全明文处理,更能减缓一些误报率。

4、在中国专利“cn202111026859.6,一种医疗数据聚合统计分析系统和方法”,个人标识数据采集端用个人资料产生加密x-id,并由机构收集端聚合x-id及x-id所含的附属健康信息,而数据应用请求端提供匿名化数据运行环境,此发明是将同一个人的多次医疗数据进行匿名化分析处理,但是并考虑sgx辅助下云计算和边缘计算场景下的实时的大样本数据进行基于身份的聚合分析以及健康信息的完整性。

5、在中国专利“cn201911420366.3,具有隐私保护的外包云存储医疗数据聚合的统计分析方法”,在有效地保证了用户敏感数据的机密性和隐私性同,降低了医疗分析中心的计算开销,同时,又可以验证数据聚合的正确性和完整性,但是分析方法仅仅考虑均值和方差,同时并未对新兴的具有tee环境的云计算场景进行全面的考虑,同时计算开销相比具有tee的云服务器更大,分析效率更低。

6、综上所述,有三个需要解决的关键问题:

7、首先,在目前数据聚合分析模型中,数据机密性和完整性、数据分析效率上以及未经允许的数据聚合都存在着安全性问题,但由于cncert/cc发布的频繁的隐私数据泄漏事件,即使是受信任的数据管理方也能受到入侵损害或因外界利益诱惑泄漏隐私数据。而且,即使这些受信任的数据管理方不会主动地泄漏隐私数据,也很难保证用户的隐私数据能够按照用户所同意的处理方式被使用。

8、其次,尽管我国《网络安全法》、《侵权责任法》、《数据安全法》、《个人信息保护法》等法律条文要求数据服务方对用户开放更多的隐私数据控制权,但实际应用中由于成本或技术等问题并未被实现。这些数据服务方通常是自己起草隐私政策单方面规定用户使用数据的方式,并没有方法实现用户的隐私数据偏好,若用户拒绝数据服务方的隐私方案将被拒绝使用该服务。

9、最后,在现有的数据聚合分析方案中,大多数都是基于传统的云服务器的方案,而没有考虑软硬结合的新型云计算和边缘计算场景。因此,需要一个有效的sgx辅助下的基于身份的可验证数据聚合分析架构,并能够与数据保护机制共存,使得数据产生计算以及传输过程中数据的机密性,完整性以及计算结果的正确性。

10、综上所述,基于上述研究,本发明提出了sgx辅助下的一种基于身份的可验证数据聚合分析系统,保证外包数据的机密性以及传输过程数据的完整性的同时,可以有效地聚合不同数据拥有者上传的数据,并且在tee内部进行更为灵活的明文的统计分析(方差、均值、协方差、标准差、相关性分析、主成分分析),更高效快速地输出密文的分析结果相比于纯粹的密文分析计算。


技术实现思路

1、针对现有技术所存在的上述缺点,本发明在于提供sgx辅助下的一种基于身份的可验证数据聚合分析系统,通过涉及五方实体,分别是数据拥有者do、边缘服务器es、云服务器cs、分析中心ac以及密钥生成中心pkg。其中要求云服务器、密钥生成中心以及分析中心配有可信执行环境(trusted execution environment,tee)的硬件要求,例如:intelsgx(software guard extension)。首先,密钥生成中心以及分析中心分别与云服务器进行远程认证建立安全信道,产生会话密钥s1和s2,并分别验证云服务tee环境(换句话说就是硬件sgx)是否安全运行。其次,密钥生成中心进行系统初始化产生主密钥对,设置系统所有实体一个唯一的身份标识,并根据系统实体身份标识生成签名密钥,再进行密钥分发;然后,数据拥有者根据分发的密钥对上传的源数据进行加密和签名;之后,边缘服务器负责聚合验证所属区域的所有数据拥有者上传的密态数据,如果验证通过则对其聚合后的密文签名并上传至云服务;云服务器聚合验证所有便有密态数据,并用于数据分析;分析中心发起数据分析请求,云服务器的enclave根据需求在其内部进行数据聚合后的数据分析并发送数据分析结果给分析中心;分析中心验证是否按照需求进行聚合以及验证分析结果是否被篡改,然后再进行解密操作,达到更高效快速地输出密文的分析结果相比于纯粹的密文分析计算。

2、为实现上述目的,本发明提供了如下技术方案:

3、本发明提供了sgx辅助下的一种基于身份的可验证数据聚合分析系统,包括以下步骤:

4、步骤1:密钥生成中心与分析中心分别与云服务器进行sgx远程验证建立安全信道,并产生会话密钥s1和s2用于传输数据;

5、步骤2:所述的密钥生成中心pkg通过执行初始化算法生成主密钥对,分为公钥pk与主密钥msk,并且将公钥pk公开给系统中的数据拥有者边缘服务器esi、分析中心ac以及云服务器cs,同时,利用会话密钥s1加密主密钥msk,通过密钥生成中心ac与云服务器之间的sgx远程认证产生的安全通道传输加密的主密钥msk;

6、步骤3:所述的密钥生成中心ac根据数据拥有者分析中心ac、边缘服务器esi和云服务器cs各自身份的唯一标识didj,idac,eidi和idc生成相应的签名密钥,其中i,j分别代表数据拥有者、边缘服务器的个数,其中,1≤i≤m,1≤j≤n,并分发给系统其他实体;

7、步骤4:系统中所述的数据拥有者对源数据通过加密算法加密得到密文,并且计算其签名发送密文和签名到边缘服务器esi;

8、步骤5:所述的边缘服务器es通过聚合算法对所述数据拥有者上传密文数据进行聚合,并进行批量验证其是否被篡改;验证通过后,esi聚合密文数据并对其进行签名,将聚合数据ci和签名σi一同发送至云服务器cs;

9、步骤6:所述云服务器cs包括可信计算enclave,所述enclave对所有边缘服务器上传的聚合密文数据ci和签名σi进行批量验证,验证通过,表示数据未被篡改,则将存储密文数据用于数据分析操作,否则表示数据无效,重新发起挑战;

10、步骤7:所述的分析中心ac向云服务器cs发起数据分析请求,云服务器cs中enclave根据请求进行密文数据聚合得到聚合密文c,并对其进行数字签名,得到数字签名为σ,之后再enclave内执行数据分析操作得到数据分析结果r,再将数据分析结果r进行加密,并对其进行数字签名得签名σr,然后发送{σ,c,σr,cr,t}至所述的分析中心ac,其中t表示时间戳;

11、步骤8:所述的分析中心ac接收{σ,c,σr,cr,t},并分别进行验证其签名,验证通过,所述分析中心ac通过解密算法解密得到最终分析结果;否则,拒绝此结果并重新发起请求。

12、本发明进一步的设置为:在步骤2中,所述的初始化算法具体包括:

13、在步骤2中,所述的初始化算法具体包括:

14、1)读取预先设定的安全参数λ,并生成阶均为p的大整数循环群

15、2)利用所述的循环群构建双线性配对函数e:且g为群的生成元,g1为群的生成元;

16、3)再从所述大整数循环群中选取一个随机数α,并计算h=gα;

17、4)再随机选取两个抗碰撞哈希函数h1:和h2:

18、5)所述密钥生成中心ca将所述的公钥发送至所述分析中心、所述数据拥有者、所述边缘服务器和所述云服务器;并与所述云服务器中sgx执行远程认证服务,建立安全通道,并用于传输主密钥α到sgx内部。

19、本发明进一步的设置为:在步骤4所述的密钥生成算法,具体步骤包括:

20、1)为每位系统中的所有数据拥有者集、分析中心、边缘服务器集群和云服务器实体生成唯一身份标识,公式为:

21、do:idac,es:{esi}={eidi,1≤i≤n}以及idc;

22、2)为系统中所述数据拥有者、所述边缘服务器以及云服务器分别计算数据密钥为:和并将公私钥对分发上述实体。

23、本发明进一步的设置为:在步骤4所述加密的方法,其具体步骤包括:在步骤4所述加密的方法,其具体步骤包括:

24、1)所述的第i个边缘服务器下第j个数据拥有者随机选取随机数并对源数据进行加密,得到密文

25、2)所述的数据拥有者d随机选取随机数利用密钥ski计算的签名其中表示时间戳,tag表示数据类型标签。

26、3)所述数据拥有者发送密文数据签名和当时时间戳至相对应的第i个边缘服务器esi。

27、本发明进一步的设置为:在步骤5所述验证的方法,其具体步骤包括:

28、1)所述第i个边缘服务器esi随机选随机数然后对所述数据拥有者上传的所有签名进行批量验证,通过以下公式:

29、

30、验证通过证明数据在传输过程未被篡改,否则拒绝此结果,要求重新发起请求;

31、2)验证通过后,第i个边缘服务器esi对其辖内所述所有数据拥有者上传至esi密文数据进行以下聚合操作

32、

33、同时,第i个边缘服务器esi随机选随机数然后对聚合后的密文数据进行签名,得到签名

34、3)所述的边缘服务器esi发送密文数据ci、签名σi和当时时间戳ti至云服务器cs。

35、本发明进一步的设置为:在步骤6所述的数据分析的方法具体步骤包括:

36、云服务器cs接收所有边缘服务器esi发送的密文数据ci、签名σi和当时时间戳ti,1≤i≤n,云服务器cs中enclave随机选取一个随机数并对n个不同边缘服务器的密文数据进行批量验证:

37、

38、验证未通过,则证明至少有一个边缘服务器上传的密文数据是被篡改的,则要求所有边缘服务器esi重新发送密文数据、签名以及时间戳;当验证通过之后,云服务器cs存储密态数据。

39、本发明进一步的设置为:在步骤7所述的分析的方法,

40、在步骤7所述的分析的方法,其具体步骤包括:

41、1)分析中心ca根据自身分析需求,通过远程认证建立的安全信道发送加密分析请求{esi,tag}至云服务器cs的enclave中;

42、2)云服务器cs中enclave接收加密的分析请求并解密,然后云服务器cs根据分析请求聚合存储区(非enclave区域)密文数据得到聚合密文c,(代表随机数,代表消息),g,h是公钥一部分;

43、

44、3)然后enclave随机选取一个随机数并对请求分析聚合密文数据产生数字签名:σ=(σ1,σ2)=(gμ,h1(idc)α·h2(c||t||tag)μ),t表示当时的时间戳,tag表示数据类型标签;

45、4)之后,云服务器中enclave解密聚合后密文数据,并在enclave内进行数据分析操作得到分析结果r,分析均值、方差、标准差以及协方差、相关性分析数据分析方法,enclave通过远程认证产生的会话密钥s2加密分析结果r得到密文的分析结果cr再随机选取一个随机数同时也对其产生数字签名σr=(σr1,σr2)=(gτ,h1(idc)α)h2(cr||t)τ);

46、5)云服务器cs的enclave发送{σ,c,σr,cr,t}给分析中心ac。

47、本发明进一步的设置为:在步骤8所述的分析的方法,其具体步骤包括:

48、在步骤8所述的分析的方法,其具体步骤包括:

49、1)分析中心ac接收{σ,c,σr,cr,t},首先,分析中心ac随机选取一个随机数并验证数字签名σ来检查密文数据是否按照需求进行聚合且是否被篡改,具体验证过程如下:

50、

51、式中,σ请求聚合密文的签名,c聚合密文,σr分析结果的签名,cr分析结果的密文,t代表时间戳,idc代表云服务器身份id,tag代表属性标签,σ1和σ2是σ的两个部分;

52、2)验证未通过,则表明密文数据在并未按照需求进行聚合且遭受篡改;反之,分析中心ac随机选取一个随机数则进行分析结果的签名验证,来检测分析结果是否遭受篡改,具体验证过程如下:

53、

54、式中:σ请求聚合密文的签名,cr分析结果的密文,σr分析结果的签名,cr分析结果的密文,t代表时间戳,idc代表云服务器身份id,tag代表属性标签,σr1和σr2是σr的两个部分;

55、3)验证未通过,则表明密文分析记在传输过程中遭受篡改;反之,分析中心ac进行解密操作得到,得到数据分析结果r。

56、本发明进一步的设置为:在步骤1中,所述的安全信道是基于intelsgx硬件自带的远程验证机制。

57、有益效果

58、采用本发明提供的技术方案,与已知的公有技术相比,具有如下

59、有益效果:

60、1、本发明,本系统涉及五方实体,分别是数据拥有者do、边缘服务器es、云服务器cs、分析中心ac以及密钥生成中心pkg。其中要求云服务器、密钥生成中心以及分析中心配有可信执行环境(trusted execution environment,tee)的硬件要求,例如:intel sgx(software guard extension)。首先,密钥生成中心以及分析中心分别与云服务器进行远程认证建立安全信道,产生会话密钥s1和s2,并分别验证云服务tee环境(换句话说就是硬件sgx)是否安全运行。其次,密钥生成中心进行系统初始化产生主密钥对,设置系统所有实体一个唯一的身份标识,并根据系统实体身份标识生成签名密钥,再进行密钥分发;然后,数据拥有者根据分发的密钥对上传的源数据进行加密和签名;之后,边缘服务器负责聚合验证所属区域的所有数据拥有者上传的密态数据,如果验证通过则对其聚合后的密文签名并上传至云服务;云服务器聚合验证所有便有密态数据,并用于数据分析;分析中心发起数据分析请求,云服务器的enclave根据需求在其内部进行数据聚合后的数据分析并发送数据分析结果给分析中心;分析中心验证是否按照需求进行聚合以及验证分析结果是否被篡改,然后再进行解密操作,达到更高效快速地输出密文的分析结果相比于纯粹的密文分析计算。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1