CN110336837B - 一种实用性的云端隐私保护外包计算系统及其计算方法 - Google Patents
一种实用性的云端隐私保护外包计算系统及其计算方法 Download PDFInfo
- Publication number
- CN110336837B CN110336837B CN201910723361.1A CN201910723361A CN110336837B CN 110336837 B CN110336837 B CN 110336837B CN 201910723361 A CN201910723361 A CN 201910723361A CN 110336837 B CN110336837 B CN 110336837B
- Authority
- CN
- China
- Prior art keywords
- data
- tpui
- security domain
- tpu
- security
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 48
- 238000012946 outsourcing Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 229920002803 thermoplastic polyurethane Polymers 0.000 claims 32
- 230000003993 interaction Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种实用性的云端隐私保护外包计算系统(ATOM)及其计算方法,用户可以在单个云端服务器上安全获取外包存储数据以及快速地进行安全的数据处理操作。具体来说,本发明首次提出了下云服务器具备多个可信任单元(TPU)的前提下的ATOM计算系统,然而TPU面临侧通道攻击的危害。在ATOM系统下,本发明设计了两个特殊的快速处理工具包,其允许用户获取进行安全整数计算以及安全浮点型计算以此来抵御TPU的侧通道攻击的危害。另外,本发明的ATOM系统在数据处理以及获取用户私人信息的同时也保证了访问模式不被泄露。
Description
技术领域
本发明涉及网络安全领域,特别是一种实用性的云端隐私保护外包计算系统及其计算方法。
背景技术
嵌入到电子器件,网络链接以及其它诸如传感器的硬件之中的物互联设备能够连接到网络,且能识别出其他设备。随着物联网设备数量的不断增加,产生的大量数据需要存储在相应设备之中。根据IDC调查研究表明,接入网络的物联网设备到2025年将会达到800亿的数量,并且有助于每年产生180万亿字节的新数据。其中,近四分之一的数据将会实时创建,并且有95%的数据是来自物联网的实时资料。伴随着大量的实时资料产生,对于存储资源有限的物联网设备而言及时存储并分析数据的相关性质已经没有可能。目前,几乎具备无限存储以及计算能力的云端计算设备提供了各种各样的功能特性,诸如,存储、数据库、网络、软件、分析、智能化。在云计算的帮助下,截至2025年将会有45%的数据被存储在公共云端环境中。因此,意料之中的是,由IOT设备产生的大量数量流外包给云端用于长期的存储并且可以获取实时的在线处理。
尽管通过IOT云数据外包架构提供了许多优势,但是个自的IOT用户在没有任何保护方法下对系统实现数据的存储以及处理持有怀疑的态度。以医疗用品为例,病人的可穿戴医疗设备通常装有生物计量观测传感器(例如,心率,排汗水平,氧气水平)以此记录病人的一些身体特征。医院可以利用用户的PHI决策模型去检测病人的健康状况。倘若没有保护方法的采用,病人的健康指标可能会被不法分子利用。另外,医院的模型被第三方公司采用以此来牟利。传统的加密算法可以保证数据不被泄露,但是,密文失去了明文原本的意义故而不能对密文做任何操作。
保护数据以及获取仿真性的安全外包计算是一个引人注目的领域以此解决以上的问题。目前,已经存在了两个典型的技术方面用于获取安全的外包计算的方案:理论上的安全加密系统解决方案和系统安全解决方案。对于理论上的安全加密系统,同态加密被认为是一个非常优秀用于解决外包计算的解决方案,它允许第三方在不释放明文的前提下能够在密文的基础上完成相应的计算。而,全同态则可以完成任意情况下明文对应在密文上的复杂操作。但是,这些方案的计算代价很大,所以实用性不强。(例如,它要求29.5秒的时间内在公共PC上执行安全整型乘法计算。)半独立的同态加密方法仅仅支持同态的一种类型(如,加法同态)可以在密文下借助诚实且好奇的服务器安全地完成复杂数据的计算。但是,额外的计算服务将会增加信息泄露的可能性。最近,工业界,可信任的执行环境(如,TEE)将运用于完成允许用户级或者操作系统级代码定义的私人记忆存储区域,同样被称之为安全域。这些在安全域内被保护的数据既不能被读取也不能在安全域之外的任何区域被保存。TEE对应明文的计算代价。TEE很容易受到单边信道攻击,以及安全域内单边信息泄露给敌手的可能。因此,需要创建一个系统用于平衡实用性外包计算系统与排除额外信息泄露的风险。
发明内容
有鉴于此,本发明的目的是提出一种实用性的云端隐私保护外包计算系统及其计算方法,实现快速稳定的单云安全计算。
本发明采用以下方案实现:一种实用性的云端隐私保护外包计算系统,包括请求用户端即RU和云端;所属云端包括不可信存储即UNS以及可信任存储单元即TPUs;所述请求用户端用于生成公钥和私钥并对密钥和数据进行分享;所述不可信存储用于存储或管理所述请求用户端的外包数据;所述可信任存储单元用于为独自的RU提供孤立的安全计算环境并且上传、分享该可信任存储单元从UNS获取到的数据用以完成确定的计算,然后,将所述分享的数据进行封装用于数据存储。
进一步地,本发明还提供一种基于实用性的云端隐私保护外包计算系统的计算方法,包括以下步骤:
步骤S1:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi都需要初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤S2:进行数据更新:所述RU随机地分裂数据xj,1,…,xj,p∈G;然后,TPU i(i=1,…,p)利用Intel处理器的SGX方法,通过CPU的硬件模式切换,系统进入可信模式执行,加载一个极小的微内核操作系统支持任务调度,完成身份认证以此创建安全域i;RU定义程序ci,建立与TPU安全域i的安全信道,并对安全域i内部的x1,i,…,xv,i,ci进行加载,并将加载的值安全的封装在UNS中;最后,TPU i对所有的i=1,…,p释放安全域i;
步骤S3:进行数据的安全计算:首先每一个TPUi产生一个安全域i;然后,所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,i,…,xv,i,pk,ski,ci给安全域i,并且将其定义为Si;TPUs通过用户默认的程序c1,…cp交互计算(y1,1,...,yω,1:...:y1,p,...,yω,p)←GenCpt(S1:...:Sp);最后,所有的TPUs交互更新私钥和数据共享;TPUi将y1,i,...,yω,i封装在UNS中然后对安全域i进行释放;
步骤S4:进行数据的检索:如果RU要在云端检索结果,则TPUi将创建安全域i,打开封装的数据y1,i,...yω,i与RU建立一个安全信道,并向RU发回发回分享的数据值;当所有的shares发送回RU,则对于j=1,…,ω,RU计算如果RU不需检索则无需做作何操作。
进一步地,本发明还提供一种基于实用性的云端隐私保护外包计算系统的计算方法,包括以下步骤:
步骤SA:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi都需初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤SB:进行数据的更新:系统初始化以后,对具有功能计算步骤的t(t=1,…,ζ)和随机分离的数据xj,1,1,…,xj,1,p定义程序变量ci,t,然后,RU与TPU的安全域i之间DH密钥交换协议建立安全信道,远程向安全域i加载数据c1,i,…,cζ,i,x1,1,i,…,xv,1,i以及将其安全地封装在UNS中;最后,TPUi对所有i=1,…,p释放安全域i;
步骤SC:进行数据的安全计算:首先,每一个TPUi产生一个安全域i;然后,所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i到安全域i并将其组成一个集合εt,i;根据用户端定义的程序c1,i,…,cζ,i,TPUs交互计算(y1,t,1,…,yω,t,1:…:y1,t,n,…,yω,t,p)←GenCpt(εt,i:…:εt,i);所有的TPUs交互对私钥以及data shares进行更新,如果t=ξ,PUi将y1,ζ,i,…,yω,ζ,i封装到UNS,然后对安全域进行释放;如果t≠ζ,对于TPUi,则需要从y1,ζ,i,…,yω,t,p中选择x1,t+1,1,…,xv,t+1,i;然后,TPUs将x1,t+1,1,…,xv,t+1,i封装到UNS,最后释放安全域;
步骤SD:进行数据检索:通过步骤SA至步骤SC,TPUi开辟一个新的安全域i,打开封装的数据y1,ζ,i,…,yω,ζ,i,并且与RU之将建立一个安全的信道通信,然后将数据重新传回RU;TPU中的数据被发出,则RU在ζ(j=1,…,ω)时执行
进一步地,所述GenCpt函数的具体实现过程如下:
首先,定义一个多输出多变量函数f,令TPUi(i=1,…,p)含有x1,i,…,xv,i,,对于每一个TPU i,GenCpt能够安全地输出(y1,…,yω)←f(x1,…,xv),在此处当j=1,…,v;k=1,…ω时有xj,1+…+xj,p=xj以及yk,1+…+yk,p=yk;GenCpt又能够被分为离线与在线两个阶段;
离线阶段:对于每一个TPUi(i=1,…,p)创建一个安全域i,从UNS中加载已封装的钥匙pk,ski以及程序ci到安全域并与其它TPUs之间建立安全的信道通信;然后,所有的TPUs协同产生随机数进行分享然后再将其组成一个集合并且,集合在产生的过程之中对其它的TPUs是保密的;通过以上计算过程,每一个TPUi,将分别封装到UNS之中;
在线阶段:对于每一个TPUi(i=1,…,p),从离线阶段中的安全域i中加域封装的随机集合然后,所有的TPU协同计算输出结果;根据RU的隐私程序ci,fi表示域上的+,×以及域上的∧具有特殊功能的联合计算。
进一步地,所述系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p),具体包括以下步骤:
步骤Sb:每一个TPUi(i=1,…,p)创建一个安全域i;然后,TPUi与TPUj的安全域(j=1,…,p;j≠i)之间建立安全的信道;
步骤Sc:TPUi随机的挑选数值δi,1,…,δi,p∈G,然后将δi,j发送给TPU的安全域j;
进一步地,所述用户端对密钥和数据进行分享建立在基础的数据共享操作协议的基础之上,具体内容为:建立三个群域Zn={0,1,…,N-1},以及Z2={0,1};通过通过Paillier密码系统分布式解密方法(PCDD方法)进行离线处理其明文数据在群域ZN之中,并且令将数据x从群ZN转到DN的函数为「x」N,
所述数据分享有两种类型,一种时整型分享另一种是二进制分享;对于整型分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈DN;对于二进制分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈Z2,然后,RU发送整型类型的分享值mi或者二进制类型的分享值mi给TPUi,然后,封装到UNS进行安全地存储。
进一步地,所述所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i到安全域i,其中所述加载封装数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i,采用的是封装算法,具体为:TPUi加密共享的数据x将其变为将输入的与TPU第t时间隐私钥匙分享值使用哈希函数H:{0,1}*→ZN进行计算其中IDi是[xi]的事务标识;
可信存储i将[xi]与St,i一起发送到不可信存储中存储。
进一步地,所述打开封装的数据y1,ζ,i,…,yω,ζ,i,采用的是解封算法,具体为:TPUi用St,i加载到安全域i,并计算用以检验结果是否等于St,i;假设与St,i不相等,,则此算法停止;否则可信处理单元i利用安全分布式解密算法去共享xi。
进一步地,所述所有的TPUs之间通过DH密钥交换协议产生一对密钥对的具体内容为:TPU 1随机生成ri (1),...,ri (ι)∈Z2,将它们加密为表示它们为并将这些密文发送到处理单元2;然后,TPU i(i=1,…,p)生成ri (1),···,ri (ι)∈Z2并计算如果i≠p,TPU i将发送给TPU i+1;如果i=p,则TPU计算最后,对于TPU i(i=1,…,p)随机生成ri∈DN并计算[r]←[r]·[ri],并将[r]发送到TPUi+1;TPU 1得到[r],使用安全分布式解密算法获取r,并将表示r1;计算后,每个TPUi(i=1,…,p)随机持有位ri (1),...,ri (ι)∈Z2和整数ri∈DN。
进一步地,所述安全分布式解密算法具体为:首先,TUP的安全域χ与其它安全域i(i≠χ)之间建立安全的信道。接着,安全域χ发送到其它的安全域i;然后,一旦被接收,TPUi使用PDec算法去获取CTi以及安全地将CTi发送到安全域χ;最后,TPUχ通过TDec算法安全地利用CTχ获取x。
与现有技术相比,本发明有以下有益效果:
不同于现有的多服务器外包计算模型,本发明可以实现用户端在单个云端服务器上安全获取外包存储数据以及快速地进行安会的数据处理操作,并且本发明还首次提出云服务器具备多个可信单元进行数据的一系统的计算。最重要的是本发明可以实现快速稳定的单云安全计算。
附图说明
图1为本发明实施例的系统框图。
图2为本发明实施例的系统密钥更新图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1、2所示,本实施例提供了一种实用性的云端隐私保护外包计算系统,包括请求用户端即RU和云端;所属云端包括不可信存储即UNS以及可信任存储单元即TPUs;所述请求用户端用于生成公钥和私钥并对密钥和数据进行分享;所述不可信存储用于存储或管理所述请求用户端的外包数据;所述可信任存储单元用于为独自的RU提供孤立的安全计算环境并且上传、分享该可信任存储单元从UNS获取到的数据用以完成确定的计算,然后,将所述分享的数据进行封装用于数据存储。
本实施例还提供一种基于实用性的云端隐私保护外包计算系统的计算方法,应用于单一功能的方法设计,达到了三方面的目的:1)在不可信的云存储中实现数据的安全存储;2)TPUs在抵御单信道攻击前提下的数据安全处理;3)高效和动态的外包密钥以及数据的更新分享;
包括以下步骤:
步骤S1:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,并且私钥sk适用于公钥加密系统;系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi,对于云端的每一个TPUi都需要初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤S2:进行数据更新:所述RU随机地分裂数据xj,1,…,xj,p∈G;例如当j=1,…,v时xj,1+…+xj,p=xj。然后,TPU i(i=1,…,p)利用Intel处理器的SGX方法,通过CPU的硬件模式切换,系统进入可信模式执行,只使用必需的硬件构成一个完全隔离的特权模式,加载一个极小的微内核操作系统支持任务调度,完成身份认证以此创建安全域i;对于用到的计算函数,RU定义程序ci,建立与TPU安全域i的安全信道,并对安全域i内部的x1,i,…,xv,i,ci进行加载,并将加载的值安全的封装在UNS中;最后,TPU i对所有的i=1,…,p释放安全域i;
步骤S3:进行数据的安全计算:所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,i,…,xv,i,pk,ski,ci给安全域i,并且将其定义为Si;TPUs通过用户默认的程序c1,…cp交互计算(y1,1,…,yω,1:…:y1,p,…,yω,p)←GenCpt(S1:…:Sp);最后,所有的TPUs交互更新私钥和数据共享;TPUi将y1,i,…,yω,i封装在UNS中然后对安全域i进行释放;
步骤S4:进行数据的检索:如果RU要在云端检索结果,则TPUi将创建安全域i,打开封装的数据y1,i,…yω,i与RU建立一个安全信道,并向RU发回发回分享的数据值;当所有的shares发送回RU,则对于j=1,…,ω,RU计算如果RU不需检索则无需做作何操作。
本实施例还一种基于的实用性的云端隐私保护外包计算系统的计算方法,应用于功能组合的方法设计包括以下步骤:
步骤SA:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,并且私钥sk适用于公钥加密系统;系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi都需初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤SB:进行数据的更新:系统初始化以后,对具有功能计算步骤的t(t=1,…,ζ)和随机分离的数据xj,1,1,…,xj,1,p定义程序变量ci,t,比如,当j=1,…,v时,xj,1,1+…+xj,1,p=xj。然后,RU与TPU的安全域i之间DH密钥交换协议建立安全信道,远程向安全域i加载数据c1,i,…,cζ,i,x1,1,i,…,xv,1,i以及将其安全地封装在UNS中;最后,TPUi对所有i=1,…,p释放安全域i;
步骤SC:进行数据的安全计算:首先,每一个TPUi产生一个安全域i;然后,所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i到安全域i并将其组成一个集合εt,i;根据用户端定义的程序c1,i,…,cζ,i,TPUs交互计算(y1,t,1,…,yω,t,1:…:y1,t,n,…,yω,t,p)←GenCpt(εt,i:…:εt,i);所有的TPUs交互对私钥以及data shares进行更新,如果t=ξ,PUi将y1,ζ,i,…,yω,ζ,i封装到UNS,然后对安全域进行释放;如果t≠ζ,对于TPUi,则需要从y1,ζ,i,…,yω,t,p中选择x1,t+1,1,…,xv,t+1,i;然后,TPUs将x1,t+1,1,…,xv,t+1,i封装到UNS,最后释放安全域;
步骤SD:进行数据检索:通过步骤SA至步骤SC,TPUi开辟一个新的安全域i,打开封装的数据y1,ζ,i,…,yω,ζ,i,并且与RU之将建立一个安全的信道通信,然后将数据重新传回RU;TPU中的数据被发出,则RU在ζ(j=1,…,ω)时执行
在本实施例中,所述GenCpt函数的具体实现过程如下:
首先,定义一个多输出多变量函数f,令TPUi(i=1,…,p)含有x1,i,…,xv,i,,对于每一个TPU i,GenCpt能够安全地输出(y1,…,yω)←f(x1,…,xv),在此处当j=1,…,v;k=1,…ω时有xj,1+…+xj,p=xj以及yk,1+…+yk,p=yk;GenCpt又能够被分为离线与在线两个阶段;
离线阶段:对于每一个TPUi(i=1,…,p)创建一个安全域i,从UNS中加载已封装的钥匙pk,ski以及程序ci到安全域并与其它TPUs之间建立安全的信道通信;然后,借用同态公钥加密系统的特点,所有的TPUs协同产生随机数进行分享然后再将其组成一个集合并且,集合在产生的过程之中对其它的TPUs是保密的;通过以上计算过程,每一个TPUi,将分别封装到UNS之中;
在线阶段:对于每一个TPUi(i=1,…,p),从离线阶段中的安全域i中加域封装的随机集合然后,所有的TPU协同计算输出结果;根据RU的隐私程序ci,fi表示域上的+,×以及域上的∧具有特殊功能的联合计算。
在本实施例中,所述系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p),具体包括以下步骤:
步骤Sb:每一个TPUi(i=1,…,p)创建一个安全域i;然后,TPUi与TPUj的安全域(j=1,…,p;j≠i)之间建立安全的信道;
步骤Sc:TPUi随机的挑选数值δi,1,…,δi,p∈G,比如:在群G下满足δi,1+…+δi,p=0,然后将δi,j发送给TPU的安全域j;
另外,系统也可以抵御侧信道攻击下实现数据的共享。当然,实现数据的共享需要将数据加载到TPU用于处理,由于侧信道的攻击分享时有可能将数据泄给敌手,进而敌手可以重建RU的原始数据。因此,需要动态地在时间t(t=0,1,2,…)更新数据共享值比如此时当i=1,…,p时,以及
在本实施例中,所述用户端对密钥和数据进行分享建立在基础的数据共享操作协议的基础之上,具体内容为:建立三个群域Zn={0,1,…,N-1},以及Z2={0,1};通过Paillier密码系统分布式解密方法(PCDD方法)进行离线处理其明文数据在群域ZN之中,并且令将数据x从群ZN转到DN的函数为「x」N,
另外,为了确保安全共享的安全性,在ATOM系统中数据共享有两种类型被应用,所述数据分享有两种类型,一种时整型分享另一种是二进制分享;对于整型分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈DN;对于二进制分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈Z2,然后,RU发送整型类型的分享值mi或者二进制类型的分享值mi给TPUi,然后,封装到UNS进行安全地存储。
在本实施例中,算法1所述安全地分布式解密算法(SDD):
构建TPU操作之前,首先需要构建安全分布式解密算法,此算法目的在于允许所有的TPUs对PCDD的密文进行解密。其具体步骤如下:
步骤3:TPUχ通过TDec算法安全地利用CTχ获取x。
算法2:基于TPU的安全的数据封装与解封。
作为TPU的安全域在安全处理过程当中不仅仅提供了单独的计算环境,而且在TPU安全域中的数据还需要被封装在UNS用于长期的存储,因此,需要设计数据的封装算法以及数据的解封算法。
(1)封装算法:
步骤3:可信存储i将[xi]与St,i一起发送到不可信存储中存储。
(2)解封算法:
算法3:随机分享产生。
基于秘密共享的隐私计算需要一次随机数进行处理。在构建基于可信处理单元的计算之前,我们设计了一种称为随机元组生成协议的协议。随机元组生成协议的目标是让可信处理单元协同生成任意元组ri (1),...,ri (ι)∈Z2和ri∈DN(i=1,…,p),使和r=r1+····+rp,其中l是随机数r∈Dn的位长。随机元组生成协议生成如下:
步骤3:对于TPU i(i=1,…,p)随机生成ri∈DN并计算[r]←[r]·[ri],并将[r]发送到TPUi+1。TPU 1得到[r],使用安全分布式解密算法获取r,并将表示r1。计算后,每个TPUi(i=1,…,p)随机持有位ri (1),...,ri (ι)∈Z2和整数ri∈DN。
算法3:共享域变换
一、二进制共享到整数共享转换
步骤2:为了执行B2I,可信处理单元i随机生成b1∈ZN,表示x=b1和s=ai,加密x为[x],s为[s],并将[x]和[s]发送到可信处理单元2。
二、整数共享到二进制共享转换
步骤2:为了执行整数共享到二进制共享转换,可信处理单元1允许y=a1,加密y为[y],并发送到TPU2进行计算。在此之后,TPUi(i=1,…,p)使用共享来计算[y]←[y]·[a1]。
步骤3:如果i≠p,可信处理单元i向可信处理单元i+1发送[y]。
步骤4:表示[s]←[y]和每个可信处理单元i(i=P,...,2)生成bi∈Z2,并计算并将[s]发送给可信处理单元i-1。步骤5:一旦收到[s],可信处理单元1使用安全分布式解密算法解密[s]并将结果表示为b1。
本实施例所搭建的系统包含如下几部分:
1、请求用户(RU):其生成相应的公钥和私钥并对密钥和数据进行分享。当然RU可以安全地外包公钥、私钥以及数据分享给云端以便可以进行安全的存储。另外,RU同样可以要求云端完成外包数据的安全计算并且可以安全的取回加密后的最后结果。
2、不可信存储(UNS):云端的UNS具有无限的数据存储空间用于存储或管理从注册用户RU的外包数据。同样,UNS以加密的形式存储所有中间以及最终的结果。
3、可信任存储单元(TPUs):云端的可信任存储单元TPUs对每一个RUs提供在线的计算能力。每一个TPU为独自的RU提供孤立的安全计算环境并且可以上传、分享从UNS获取到的数据以此完成确定的计算,接着安全地封装分享的数据用于存储。需要指出的是TPU并不能上传其它的TPU封装在UNS中的数据。
本实施例主要实现了处理器内部多处理器协同处理的目的,具体流程是将数据经过加密存储到不可信任的存储空间中,然后多可处理单元对需要处理的数据通过本发明所设计的安全计算协议进行可处理单元之间的协同处理,提高数据的处理效率,输出结果任然是密文的计算结果。
本实施例提出了一种实用性的云平台下的隐私保护计算系统,并将其定义为ATOM。不同于现有的多服务器外包计算模型,使用ATOM,用户可以在单个云端服务器上安全获取外包存储数据以及快速地进行安全的数据处理操作。具体来说,本实施例首次提出了下云服务器具备多个可信任单元(TPU)的前提下的ATOM计算框架,然而TPU面临侧通道攻击的危害。在ATOM框架下,本实施例设计了两个特殊的快速处理工具包,其允许用户获取进行安全整数计算以及安全浮点型计算以此来抵御TPU的侧通道攻击的危害。另外,本实施例的ATOM框架在数据处理以及获取用户私人信息的同时也保证了访问模式不被泄露。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (9)
1.一种实用性的云端隐私保护外包计算系统,其特征在于:包括请求用户端即RU和云端;所属云端包括不可信存储即UNS以及可信任存储单元即TPUs;所述请求用户端用于生成公钥和私钥并对密钥和数据进行分享;所述不可信存储用于存储或管理所述请求用户端的外包数据;所述可信任存储单元用于为独自的RU提供孤立的安全计算环境并且上传、分享该可信任存储单元从UNS获取到的数据用以完成确定的计算,然后,将所述分享的数据进行封装用于数据存储;
其中,上述实用性的云端隐私保护外包计算系统的计算方法,包括以下步骤:
步骤S1:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi都需要初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤S2:进行数据更新:所述RU随机地分裂数据xj,1,…,xj,p∈G;然后,TPU i(i=1,…,p)利用Intel处理器的SGX方法,通过CPU的硬件模式切换,系统进入可信模式执行,加载一个极小的微内核操作系统支持任务调度,完成身份认证以此创建安全域i;RU定义程序ci,建立与TPU安全域i的安全信道,并对安全域i内部的x1,i,…,xv,i,ci进行加载,并将加载的值安全的封装在UNS中;最后,TPU i对所有的i=1,…,p释放安全域i;
步骤S3:进行数据的安全计算:首先每一个TPUi产生一个安全域i;然后,所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,i,…,xv,i,pk,ski,ci给安全域i,并且将其定义为Si;TPUs通过用户默认的程序c1,…cp交互计算(y1,1,…,yω,1:…:y1,p,…,yω,p)←GenCpt(S1:…:Sp);其中,GenCpt(εt,i:…:εt,i)表示通用安全函数计算方法;最后,所有的TPUs交互更新私钥和数据共享;TPUi将y1,i,…,yω,i封装在UNS中然后对安全域i进行释放;
2.一种基于权利要求1所述的实用性的云端隐私保护外包计算系统的计算方法,其特征在于:包括以下步骤:
步骤SA:所述请求用户端对系统进行初始化:所述请求用户端产生一个公钥pk和私钥sk,系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p);对于云端的每一个TPUi都需初始化一个安全域i,从而建立一个安全信道以及将更新的ski存储到安全域内;TPUi将产生的pk,ski封装后安全地存储在UNS中;
步骤SB:进行数据的更新:系统初始化以后,对具有功能计算步骤的t(t=1,…,ζ)和随机分离的数据xj,1,1,…,xj,1,p定义程序变量ci,t,然后,RU与TPU的安全域i之间DH密钥交换协议建立安全信道,远程向安全域i加载数据c1,i,…,cζ,i,x1,1,i,…,xv,1,i以及将其安全地封装在UNS中;最后,TPUi对所有i=1,…,p释放安全域i;
步骤SC:进行数据的安全计算:首先,每一个TPUi产生一个安全域i;然后,所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i到安全域i并将其组成一个集合εt,i;根据用户端定义的程序c1,i,…,cζ,i,TPUs交互计算(y1,t,1,…,yω,t,1:…:y1,t,n,…,yω,t,p)←GenCpt(εt,i:…:εt,i);其中,GenCpt(εt,i:…:εt,i)表示通用安全函数计算方法;所有的TPUs交互对私钥以及分享值进行更新,如果t=ξ,PUi将y1,ζ,i,…,yω,ζ,i封装到UNS,然后对安全域进行释放;如果t≠ζ,对于TPUi,则需要从y1,ζ,i,…,yω,t,p中选择x1,t+1,1,…,xv,t+1,i;然后,TPUs将x1,t+1,1,…,xv,t+1,i封装到UNS,最后释放安全域;
3.根据权利要求2所述的一种实用性的云端隐私保护外包计算系统的计算方法,其特征在于:所述GenCpt函数的具体实现过程如下:
首先,定义一个多输出多变量函数f,令TPUi(i=1,…,p)含有x1,i,…,xv,i,对于每一个TPU i,GenCpt能够安全地输出(y1,…,yω)←f(x1,…,xv),在此处当j=1,…,v;k=1,…ω时有xj,1+…+xj,p=xj以及yk,1+…+yk,p=yk;GenCpt又能够被分为离线与在线两个阶段;
离线阶段:对于每一个TPUi(i=1,…,p)创建一个安全域i,从UNS中加载已封装的钥匙pk,ski以及程序ci到安全域并与其它TPUs之间建立安全的信道通信;然后,所有的TPUs协同产生随机数进行分享然后再将其组成一个集合并且,集合在产生的过程之中对其它的TPUs是保密的;通过以上计算过程,每一个TPUi,将分别封装到UNS之中;
4.根据权利要求2所述的一种实用性的云端隐私保护外包计算系统的计算方法,其特征在于:所述系统将所述私钥sk分解成p个离散分享数值ski(i=1,…,p),具体包括以下步骤:
步骤Sb:每一个TPUi(i=1,…,p)创建一个安全域i;然后,TPUi与TPUj的安全域(j=1,…,p;j≠i)之间建立安全的信道;
步骤Sc:TPUi随机的挑选数值δi,1,…,δi,p∈G,然后将δi,j发送给TPU 的安全域j;
5.根据权利要求1所述的一种实用性的云端隐私保护外包计算系统,其特征在于:所述用户端对密钥和数据进行分享建立在基础的数据共享操作协议的基础之上,具体内容为:建立三个群域Zn={0,1,…,N-1},以及Z2={0,1};通过Paillier密码系统分布式解密方法进行离线处理其明文数据在群域ZN之中,并且令将数据x从群ZN转到DN的函数为「x」N,
所述数据分享有两种类型,一种是整型分享另一种是二进制分享;对于整型分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈DN;对于二进制分享,RU执行Share(m),即m=m1+…+mp,此时,m,m1,…,mp∈Z2,然后,RU发送整型类型的分享值mi或者二进制类型的分享值mi给TPUi,然后,封装到UNS进行安全地存储。
6.根据权利要求2或3所述的一种实用性的云端隐私保护外包计算系统的计算方法,其特征在于:所述所有的TPUs之间通过DH密钥交换协议产生一对密钥对,然后通过密钥对对TPUs之间通信的数据进行加密以此建立安全的信道通信,接着从UNS中加载封装的数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i到安全域i,其中所述加载封装数据x1,t,i,…,xv,t,i,pk,ski,c1,i,…,cζ,i,采用的是封装算法,具体为:TPUi加密共享的数据x将其变为将输入的与TPU第t时间隐私钥匙分享值使用哈希函数H:{0,1}*→ZN进行计算其中IDi是[xi]的事务标识;
可信存储i将[xi]与St,i一起发送到不可信存储中存储。
8.根据权利要求2或3所述的一种实用性的云端隐私保护外包计算系统的计算方法,其特征在于:所述所有的TPUs之间通过DH密钥交换协议产生一对密钥对的具体内容为:TPU 1随机生成ri (1),...,ri (ι)∈Z2,将它们加密为表示它们为并将这些密文发送到处理单元2;然后,TPUi(i=1,…,p)生成ri (1),···,ri (ι)∈Z2并计算如果i≠p,TPUi将发送给TPU i+1;如果i=p,则TPU计算最后,对于TPU i(i=1,…,p)随机生成ri∈DN并计算[r]←[r]·[ri],并将[r]发送到TPUi+1;TPU 1得到[r],使用安全分布式解密算法获取r,并将表示r1;计算后,每个TPUi(i=1,…,p)随机持有位ri (1),...,ri (ι)∈Z2和整数ri∈DN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910723361.1A CN110336837B (zh) | 2019-08-06 | 2019-08-06 | 一种实用性的云端隐私保护外包计算系统及其计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910723361.1A CN110336837B (zh) | 2019-08-06 | 2019-08-06 | 一种实用性的云端隐私保护外包计算系统及其计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110336837A CN110336837A (zh) | 2019-10-15 |
CN110336837B true CN110336837B (zh) | 2020-10-09 |
Family
ID=68148672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910723361.1A Active CN110336837B (zh) | 2019-08-06 | 2019-08-06 | 一种实用性的云端隐私保护外包计算系统及其计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110336837B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910631B (zh) * | 2021-02-08 | 2022-11-22 | 上海海洋大学 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
CN114996719B (zh) * | 2022-07-28 | 2022-11-04 | 杭州锘崴信息科技有限公司 | 可信处理单元的隐私数据及金融隐私数据的安全分析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104735081A (zh) * | 2015-04-07 | 2015-06-24 | 四川理工学院 | 一种云环境下安全模指数外包方法及系统 |
CN105812141A (zh) * | 2016-03-07 | 2016-07-27 | 东北大学 | 一种面向外包加密数据的可验证交集运算方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104009959B (zh) * | 2013-02-22 | 2017-06-27 | 中国科学院软件研究所 | 一种基于xacml的可验证的云访问控制方法 |
CN105897812B (zh) * | 2015-04-10 | 2019-04-23 | 杭州远眺科技有限公司 | 一种适用于混合云环境下的数据安全共享方法 |
CN104993931B (zh) * | 2015-06-05 | 2018-06-15 | 东南大学 | 一种云存储中多用户的加密搜索方法 |
SG10201508390PA (en) * | 2015-10-09 | 2017-05-30 | Singapore Man University | Data security system and method for operation thereof |
-
2019
- 2019-08-06 CN CN201910723361.1A patent/CN110336837B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104735081A (zh) * | 2015-04-07 | 2015-06-24 | 四川理工学院 | 一种云环境下安全模指数外包方法及系统 |
CN105812141A (zh) * | 2016-03-07 | 2016-07-27 | 东北大学 | 一种面向外包加密数据的可验证交集运算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110336837A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109690551B (zh) | 区块链数据保护方法、装置、系统及计算机可读存储介质 | |
Al Omar et al. | Privacy-friendly platform for healthcare data in cloud based on blockchain environment | |
Al Omar et al. | Medibchain: A blockchain based privacy preserving platform for healthcare data | |
US9252942B2 (en) | Method and system for secure multiparty cloud computation | |
Zheng et al. | Efficient and privacy-preserving medical data sharing in Internet of Things with limited computing power | |
CN108712260A (zh) | 云环境下保护隐私的多方深度学习计算代理方法 | |
CN110059501B (zh) | 一种基于差分隐私的安全外包机器学习方法 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
Vijayakumar et al. | A secured cloud storage auditing with empirical outsourcing of key updates | |
Yan et al. | Context-aware verifiable cloud computing | |
CN111431898B (zh) | 用于云协助物联网的带搜索的多属性机构属性基加密方法 | |
CN111917721B (zh) | 基于区块链的属性加密方法 | |
Zhang et al. | A privacy protection scheme for IoT big data based on time and frequency limitation | |
CN110336837B (zh) | 一种实用性的云端隐私保护外包计算系统及其计算方法 | |
CN115987592A (zh) | 基于区块链的移动医疗物联网细粒度访问控制方法及系统 | |
CN114598472A (zh) | 基于区块链的条件隐藏可搜索代理重加密方法及存储介质 | |
CN110198216B (zh) | 一种保护隐私的增量真值发现方法、装置、计算机设备及存储介质 | |
Zhang et al. | Privacyeafl: Privacy-enhanced aggregation for federated learning in mobile crowdsensing | |
Chen et al. | Cryptanalysis and improvement of DeepPAR: Privacy-preserving and asynchronous deep learning for industrial IoT | |
Chen et al. | Double rainbows: A promising distributed data sharing in augmented intelligence of things | |
Li et al. | LEPA: a lightweight and efficient public auditing scheme for cloud‐assisted wireless body sensor networks | |
Vamsi et al. | Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes | |
Azhar et al. | A group authentication protocol on multilayer structure for privacy-preserving IoT environment | |
Deng et al. | Privacy Protection of Personal Education Information on Blockchain | |
Feng et al. | Secure outsourced principal eigentensor computation for cyber-physical-social systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared |