CN112733179B - 一种轻量级非交互隐私保护数据聚合方法 - Google Patents

一种轻量级非交互隐私保护数据聚合方法 Download PDF

Info

Publication number
CN112733179B
CN112733179B CN202110353614.8A CN202110353614A CN112733179B CN 112733179 B CN112733179 B CN 112733179B CN 202110353614 A CN202110353614 A CN 202110353614A CN 112733179 B CN112733179 B CN 112733179B
Authority
CN
China
Prior art keywords
certificate
data
function
key
execution environment
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
Application number
CN202110353614.8A
Other languages
English (en)
Other versions
CN112733179A (zh
Inventor
陈晶
王梅
何琨
杜瑞颖
郑明辉
徐丽华
董喆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202110353614.8A priority Critical patent/CN112733179B/zh
Publication of CN112733179A publication Critical patent/CN112733179A/zh
Application granted granted Critical
Publication of CN112733179B publication Critical patent/CN112733179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种轻量级非交互隐私保护数据聚合方法,包含基于可信执行环境的隐私保护函数计算、基于凭证的函数授权、公共可验证的凭证管理。所述基于可信执行环境的隐私保护函数计算,用于实现任意函数的聚合计算,摆脱对可信聚合器的需求;所述基于凭证的函数授权,用于对用户所请求计算的函数进行授权、验证、管理,防止攻击者利用特殊函数获取信息;所述公共可验证的凭证管理,用于防止凭证伪造、凭证重放等针对凭证的恶意行为。本发明所提供的隐私保护数据聚合方法不依赖于可信实体,能够计算任意聚合函数,仅具有常数级通信复杂度和线性计算复杂度,特别适用于资源受限的物联网环境。

Description

一种轻量级非交互隐私保护数据聚合方法
技术领域
本发明属于信息安全技术领域,涉及一种应用密码学中隐私保护数据聚合方法,具体涉及一种轻量级非交互隐私保护数据聚合方法。
背景技术
随着云计算和物联网的巧妙结合,云化物联网已经成为改变生产和生活方式的重要力量。智慧城市、医疗保健、虚拟现实等,这些日益复杂的物联网应用对物联网终端的计算能力、存储容量和电池容量提出了更高的要求。例如,在医疗分析系统中,新兴的可穿戴设备和应用可以检测身体状况(如,心率、氧气水平),为现代医学的发展提供了丰富的数据。用户的健康数据被传输到云服务器(聚合服务器),对这些数据计算一个聚合函数(例如,SUM、MAX或VAR)从而推测用户的身体状况。
然而,由于完全可信的云服务器在现实世界中很难实现,特别是在资源受限的环境中,以保护隐私的方式进行安全的数据聚合仍然是个难题,引起了学术界和工业界的广泛关注。因此,隐私保护数据聚合的概念应运而生。隐私保护数据聚合是指为达到一定目的而对相关数据进行选择和分析以得到预期结果的过程。目前,隐私保护数据聚合已经在各种场景下得到了广泛的研究,如移动传感系统,雾计算,机器学习等。然而,由于较高的计算开销和频繁的交互对于受限的物联网设备来说相对昂贵,并且现有的方案大多数专注于特定函数的隐私保护数据聚合方法难以满足智能服务的多样性需求。
根据数据所有者和聚合器之间的交互,现有的隐私保护数据聚合方案可以分为两类:交互式方案和非交互式方案。交互式方案通常将计算任务分发到终端设备,在终端设备中,数据由数据所有者维护和操作,数据所有者与聚合器频繁交互。最具代表性的交互式解决方案是基于联邦学习和安全多方计算的方案。在联邦学习中,通过在终端设备上生成本地训练的聚合参数更新来生成一个集中式模型。但是,有研究表明参数更新仍旧可能泄露某些敏感信息。与联邦学习不同,基于安全多方计算的方法只需要数据拥有者,不需要可信的聚合器。然后,由于安全多方计算需要频繁交互,在涉及大量数据的数据聚合的场景中性能堪忧。与交互式方法不同的是,非交互式方法通常将数据处理后传输到一个具有强计算能力的中心。在数据聚合的过程中,数据所有者和聚合器之间不再需要进行频繁的交互。非交互式方案中最常用的是同态加密技术。具体来说,同态加密允许直接在密文上进行计算,解密得到明文计算结果。然而,基于密文的计算通常都需要耗费巨大的计算资源。此外,大多数的隐私保护数据聚合方案关注的是特定的函数,这意味着一旦聚合函数发生变化,整个系统就需要重新部署。
可信执行环境是中央处理器(CPU)内的一个安全区域,它运行在一个独立的环境中且与操作系统并行运行。CPU确保可信执行环境中代码和数据的机密性和完整性都得到保护。通过同时使用硬件和软件来保护数据和代码,可信执行环境比操作系统更加安全。在可信执行环境中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作系统中运行的用户安装应用程序的影响。因此,本方案基于可信执行环境,提出一个轻量级的非交互隐私保护数据聚合方案,该方案能够计算任意聚合函数,并且适用于资源受限环境下大体量数据的聚合计算。
发明内容
鉴于以上提及的传统数据聚合方案的弊端,以及在资源受限环境中进行隐私保护数据聚合的安全及性能需求,本发明基于可信执行环境,提供了一种在受限环境中具有低交互、低延时的轻量级非交互隐私保护数据聚合方法。
本发明所采用的技术方案是:一种轻量级非交互隐私保护数据聚合方法,包括基于可信执行环境的隐私保护函数计算,基于凭证的函数授权和公共可验证的凭证管理;
所述基于可信执行环境的隐私保护函数计算,包括系统密钥管理、保护数据机密性和完整性和实现任意函数的聚合计算;具体实现过程包括:
由具有可信执行环境的密钥分发中心生成整个系统所需要的函数计算密钥和公共参数,并将密钥和公共参数分发给系统中的所有参与方,包括数据拥有者、具有可信执行环境的聚合服务器、具有可信执行环境的密钥分发中心、数据分析者和公共账本;
在保护数据机密性和完整性阶段,数据拥有者接收具有可信执行环境的密钥分发中心分发的密钥,并使用混合加密的密钥管理方法结合认证加密对所有数据进行加密保护,然后将所有密文发送给聚合服务器;
在实现任意函数的聚合计算阶段,聚合服务器接收数据拥有者发送的所有密文并将其存储在数据库中;当聚合服务器收到数据分析者发送合法的函数计算请求时,建立一个该函数的可信执行环境并将所需的数据陆续放入该可信执行环境并进行计算,最后输出一个聚合结果,并对聚合结果进行签名从而生成一个有效性证明;所述合法的函数,为基于凭证的授权函数;
所述基于凭证的函数授权,包括函数白名单维护、密钥生成、凭证生成和凭证验证;
所述函数白名单维护,由每个数据拥有者创建一个函数白名单,并定期进行更新维护,当接收到数据分析者发送的函数计算请求时,数据拥有者根据函数白名单规定的规则决定是否为该请求进行授权;
所述密钥生成,每个数据拥有者和公共账本输入公共参数,分别生成一对公私钥对,将其私钥安全保存在本地,用于对凭证中的内容进行签名,并将公钥公开发送给系统中的所有参与方,用于对凭证进行验证;
所述凭证生成,当接收到数据分析者发送的函数请求时,若数据拥有者同意为其授权,则为该请求生成一个凭证,并对其进行签名;
所述凭证验证,当接收到数据分析者发送的函数请求和凭证时,聚合服务器的可信执行环境对该请求和凭证进行验证,当且仅当凭证验证通过时,可信执行环境执行任意函数的聚合计算;
所述公共可验证的凭证管理,包括凭证公示、凭证读取和凭证确认;
所述凭证公示,数据拥有者生成凭证之后,为该凭证生成一个承诺,并将其记录在公共账本上;
所述凭证读取,聚合服务器的可信执行环境接收到数据分析者发送的函数请求和凭证后,向公共账本请求读取该凭证的相关信息,公共账本为该请求生成一个证明;
所述凭证确认,聚合服务器的可信执行环境接收到公共账本发送的证明,验证该凭证的合法性。
本发明相比现有技术,其优点和积极效果主要体现在以下几个方面:
(1)本发明提供了一种轻量级非交互隐私保护数据聚合系统,基于我们的设计,该系统可以计算任意函数,并且不依赖于任何可信实体;
(2)本发明设计了基于可信执行环境的函数计算方法,主要使用轻量级的对称运算,对计算和通信资源消耗较低,适用于资源受限环境;
(3)本发明设计了函数授权和公共可验证的凭证管理,从而对函数请求进行限制,能够抵抗恶意的服务器和数据分析者。
附图说明
图1为本发明实施例的整体框架图。
图2为本发明实施例中基于可信执行环境的隐私保护函数计算模块的原理图。
图3为本发明实施例中基于凭证的函数授权模块的原理图。
图4为本发明实施例中公共可验证的凭证管理模块的原理图。
具体实施方式
为了便于本领域普遍技术人员的理解和实施本发明,下面结合附图及实施例对本发明作为进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供的一种轻量级非交互隐私保护数据聚合系统,包括基于可信执行环境的隐私保护函数计算模块、基于凭证的函数授权模块、公共可验证的凭证管理模块组成,完整的系统架构图请见图1。
本实施例中,基于可信执行环境的隐私保护函数计算模块用于系统密钥管理、保护数据机密性和完整性、实现任意函数的聚合计算,该过程中不要求任何可信实体,仅需要具有可信执行环境的聚合服务器和密钥分发中心;基于凭证的函数授权模块用于函数白名单维护、密钥生成、凭证生成、凭证验证,该过程中由数据拥有者作为决策主体,决定对数据分析者的请求是否授权,并由聚合服务器的可信执行环境对授权进行验证;公共可验证的凭证管理模块用于凭证公示、凭证读取、凭证确认,该过程中主要由公共账本提供公共可验证服务,公共账本的作用是确保保存在公共账本上的凭证数据未被篡改,并为该数据生成一个有效性证明。
基于上述构架,本发明还提供了一种轻量级非交互隐私保护数据聚合方法,包括基于可信执行环境的隐私保护函数计算,基于凭证的函数授权和公共可验证的凭证管理;
本实施例中,基于可信执行环境的隐私保护函数计算,包括系统密钥管理、保护数据机密性和完整性和实现任意函数的聚合计算;具体实现过程包括:
由具有可信执行环境的密钥分发中心生成整个系统所需要的函数计算密钥和公共参数,并将密钥和公共参数分发给系统中的所有参与方,包括数据拥有者、具有可信执行环境的聚合服务器、具有可信执行环境的密钥分发中心、数据分析者和公共账本;
本实施例在保护数据机密性和完整性阶段,数据拥有者接收具有可信执行环境的密钥分发中心分发的密钥,并使用混合加密的密钥管理方法结合认证加密对所有数据进行加密保护,然后将所有密文发送给聚合服务器(该阶段的操作可以离线进行,即选择合适的时间进行传输,而不需要占用数据聚合的线上运行时间)。
混合加密是用对称加密来加密明文,用公钥密码来加密对称加密中所使用的密钥,但是单纯只谈加密只能保证消息的机密性,为了同时保证消息的完整性,本实施例中把对称加密换成了认证加密。
本实施例在实现任意函数的聚合计算阶段,聚合服务器接收数据拥有者发送的所有密文并将其存储在数据库中;当聚合服务器收到数据分析者发送合法的函数计算请求时,建立一个该函数的可信执行环境并将所需的数据陆续放入该可信执行环境并进行计算,最后输出一个聚合结果,并对聚合结果进行签名从而生成一个有效性证明;本实施例中合法的函数,为基于凭证的授权函数;
本实施例中基于凭证的函数授权,包括函数白名单维护、密钥生成、凭证生成和凭证验证;
本实施例中函数白名单维护,由每个数据拥有者创建一个函数白名单,并定期进行更新维护,当接收到数据分析者发送的函数计算请求时,数据拥有者根据函数白名单规定的规则决定是否为该请求进行授权;
本实施例中密钥生成,每个数据拥有者和公共账本输入公共参数,分别生成一对公私钥对,将其私钥安全保存在本地,用于对凭证中的内容进行签名,并将公钥公开发送给系统中的所有参与方,用于对凭证进行验证;
本实施例中凭证生成,当接收到数据分析者发送的函数请求时,若数据拥有者同意为其授权,则为该请求生成一个凭证,并对其进行签名;
本实施例中凭证验证,当接收到数据分析者发送的函数请求和凭证时,聚合服务器的可信执行环境对该请求和凭证进行验证,当且仅当凭证验证通过时,可信执行环境执行任意函数的聚合计算;
本实施例中公共可验证的凭证管理,包括凭证公示、凭证读取和凭证确认;
本实施例中凭证公示,数据拥有者生成凭证之后,为该凭证生成一个承诺,并将其记录在公共账本上;
本实施例中凭证读取,聚合服务器的可信执行环境接收到数据分析者发送的函数请求和凭证后,向公共账本请求读取该凭证的相关信息,公共账本为该请求生成一个证明;
本实施例中凭证确认,聚合服务器的可信执行环境接收到公共账本发送的证明,验证该凭证的合法性。
请见图2,本实施例中,基于可信执行环境的隐私保护函数计算,具体过程包括以下步骤:
步骤A1:由密钥分发中心(具有可信执行环境)生成整个系统所需要的数据保护密钥(ek,dk)和公共参数PP,并将公钥ek和公共参数PP分发给系统中的所有参与方,包括数据拥有者、聚合服务器(具有可信执行环境)、数据分析者、公共账本;
A1.1:密钥分发中心首先生成一组公共参数
Figure 192806DEST_PATH_IMAGE001
,并将该公共参 数发送给该系统中的所有参与方,包括数据拥有者P i 、聚合服务器CS(具有可信执行环境)、 数据分析者P 0 、公共账本PL
其中,λ为系统的安全参数, n为系统中数据所有者的个数,
Figure 844368DEST_PATH_IMAGE002
为一个群生成算法, 可以输出一个以g为生成元的q阶循环群
Figure 952001DEST_PATH_IMAGE003
Figure 81631DEST_PATH_IMAGE004
为数据所有者数据向量的输入空间,
Figure 427162DEST_PATH_IMAGE005
为 函数的输入空间。
A1.2:密钥分发中心生成一对公私钥对(ek,dk),并将该公钥ek发送给所有的数据拥有者,用于对数据进行加密,将该私钥dk保存在密钥分发中心的可信执行环境中;
其中,
Figure 30050DEST_PATH_IMAGE006
是一个哈 希函数;其中dk=x
Figure 828242DEST_PATH_IMAGE007
表示阶为素数q的整数群;
步骤A2:保护数据机密性和完整性阶段中,数据拥有者P i i∈[n])接收步骤A1所 分发的密钥ek,并使用混合加密的密钥管理方法结合认证加密对所有数据
Figure 823880DEST_PATH_IMAGE008
i∈[n])进行加密保护,并将所有密文{c i }(i∈[n])发送给聚合服务 器(该阶段的操作可以离线进行,即选择合适的时间进行传输,而不需要占用数据聚合的线 上运行时间);
其中,假设有n个数据拥有者,假设每条消息向量含有m个消息明文
Figure 23917DEST_PATH_IMAGE009
; {V i },{c i }分别代表所有数据拥有者P i i∈[n])所持有的明文数据V i 和 密文C i 的集合(为了便于表示,假设每个数据拥有者只有一个向量数据);
Figure 299172DEST_PATH_IMAGE010
A2.1:数据拥有者P i 接收到密钥分布中心发送的公钥ek后,结合该公钥ek和随机 数
Figure 787922DEST_PATH_IMAGE011
分别生成一个加密密钥k i DE 和认证密钥k i MA ,以及一个辅助密钥
Figure 56092DEST_PATH_IMAGE012
(用于进行函数 计算时重新恢复出加密密钥和认证密钥);
其中,
Figure 110636DEST_PATH_IMAGE013
A2.2:假设每条消息向量含有m个消息明文
Figure 337218DEST_PATH_IMAGE014
,数据拥有者用加密密 钥对消息向量中的每一条消息v i,j ∈V i 进行加密,并利用认证密钥对加密后的消息生成一 条消息认证码;
其中加密算法本实施例采用AES-GCM算法,消息认证算法本实施例采用SHA-256。
A2.3:数据拥有者将每个消息向量的密文发送给聚合服务器,每个消息向量的密 文C i 包含一个辅助密钥
Figure 359269DEST_PATH_IMAGE012
m个消息密文和m个消息认证码。
步骤A3:实现任意函数的聚合计算阶段,聚合服务器接收数据拥有者发送的所有 密文{c i }(i∈[n])并将其存储在数据库中。当聚合服务器收到数据分析者发送合法的函数 计算(函数授权及验证见步骤B)请求f时,建立一个该函数的可信执行环境并将所需的数据 {c i }(i∈[n])陆续放入该可信执行环境并进行计算,最后输出一个聚合结果f({V i }),并对 聚合结果进行签名从而生成一个有效性证明
Figure 165551DEST_PATH_IMAGE015
A3.1:当接收到数据拥有者发送的密文{c i }后,聚合服务器首先将所有密文{c i }存储在数据库中;
A3.2:当聚合服务器收到数据分析者发送合法的函数计算请求f时,根据该函数建立一个可信执行环境;
A3.3:聚合服务器向密钥分发中心发布请求,在聚合服务器的可信执行环境和密钥分发中心的可信执行环境之间建立一条可信通道,用于传输步骤A1.2中所存储的私钥dk
A3.4:根据数据分析者的请求,聚合服务器将所需要的密文{c i }依次读取到可信执行环境中;
这里为了表述清晰,假设数据分析者请求计算所有的密文;
A3.5:在可信执行环境中,根据每条密文C i 中含有的辅助密钥
Figure 543443DEST_PATH_IMAGE012
,结合私钥生成该 条密文的解密密钥k i DE 和消息验证密钥k i MA ,在确认其消息认证码合法的条件下,用解密密 钥解密出消息明文V i ,并根据数据分析者所请求的函数进行计算,生成一个聚合结果f ({V i });
其中,
Figure 409768DEST_PATH_IMAGE016
;如果消息认证码验证不通过,则程序终止;
A3.6:在可信执行环境中,用私钥为该聚合结果f({V i })生成一个签名作为该结果 的有效性证明
Figure 669848DEST_PATH_IMAGE017
,并将聚合结果f({V i })和证明
Figure 30553DEST_PATH_IMAGE017
一同输出,返回给数据分析者。
其中,数字签名算法本实施例采用ElGamal签名算法;
请见图3,本实施例中,基于凭证的函数授权,具体过程包括以下步骤:
步骤B1:函数白名单维护,由每个数据拥有者P i 创建一个函数白名单W i ,并定期进行更新维护,当接收到数据分析者发送的函数计算请求f时,数据拥有者根据函数白名单规定的规则决定是否为该请求进行授权;
步骤B1.1:在系统运行之前,每个数据拥有者创建一个空的函数白名单W i ,用于对所收到的函数请求进行授权判断;
步骤B1.2:每个数据拥有者对其所拥有的所有数据进行分析,并确定允许计算的函数,将其存入所创建的函数白名单W i 中。
步骤B1.3:数据拥有者制定白名单策略,并根据策略定期对白名单进行更新维护。
步骤B2:密钥生成,每个数据拥有者P i 和公共账本PL(也表示为P n+1 )输入公共参数pp,分别生成一对公私钥对(sk i vk i ) ((i∈[n+1])),将其私钥sk i 安全保存在本地,用于对凭证中的内容进行签名,并将公钥vk i 公开发送给系统中的所有参与方,用于对凭证进行验证;
其中,签名算法本实施例采用ElGamal签名算法。
步骤B3:凭证生成,当接收到数据分析者发送的函数请求f时,若数据拥有者同意为其授权,则为该请求生成一个凭证CERT i ,其中包括数据拥有者对该凭证的签名Sig i
步骤B3.1:当接收到数据分析者发送的函数请求f,数据拥有者对该请求进行分析,包括分析者请求的数据范围是否会造成不必要的泄露等;
步骤B3.2:若数据拥有者认为该函数请求数据范围没有问题,则查找白名单W i 中是否允许计算该函数;
步骤B3.3:若该函数通过了白名单过滤,数据拥有者为该请求生成一个凭证CERT i ,该凭证中包含该请求的序列号ref i 、请求的函数f、该凭证所涉及的相关信息
Figure 325268DEST_PATH_IMAGE018
(比 如数据拥有者和数据分析者的身份标识)、随机值r i
步骤B3.4:除此之外,数据拥有者利用其私钥sk i 对凭证中的所有数据进行签名Sig i ,并将签名Sig i 放在凭证CERT i 中;
其中,签名算法本实施例采用ElGamal签名算法。
步骤B3.5:数据拥有者将最后签名过的凭证CERT i 发送给数据分析者。
步骤B4:凭证验证,当接收到数据分析者发送的函数请求f和凭证CERT i 时,聚合服务器的可信执行环境对该请求f和凭证CERT i 进行验证,当且仅当凭证验证通过时,可信执行环境执行步骤A3.2-A3.6;
步骤B4.1:当聚合服务器接收到数据分析者发送的函数请求f和凭证CERT i ,首先确认该函数是否包含在凭证中、凭证中所含的相关信息是否属实;
步骤B4.2:若函数和凭证均属实,聚合服务器找到签发该凭证的数据拥有者的公钥vk i ,将公钥vk i 、函数f和凭证CERT i 输入可信执行环境中;
步骤B4.3:可信执行环境通过调用公共可验证的凭证管理模块,确保凭证的有效性;
步骤B4.4:可信执行环境取出凭证中的签名,并用输入的公钥验证该签名是否合法,当且仅当该签名通过验证,且所输入函数包含在该凭证中,可信执行环境可继续执行步骤A3.2-A3.6;
请见图4,本实施例中公共可验证的凭证管理,具体过程包括以下步骤:
步骤C1:凭证公示,数据拥有者P i 生成凭证CERT i 之后,为该凭证生成一个承诺COM i ,并将其记录在公共账本PL上;
步骤C1.1:数据拥有者利用系统参数pp、生成的凭证CERT i 和凭证中包含的随机数r i 生成一个承诺COM i ,并将该承诺和数据拥有者的标识P i 一起发送给公共账本中;
其中,承诺算法本实施例采用Pedersen commitment方案。
步骤C1.2:公共账本接收到承诺COM i 和数据拥有者的标识P i 后,将其存放在公共账本中,并将其存储位置add i 返回给数据拥有者;
步骤C1.3:数据拥有者将该凭证所在公共账本中位置add i 发送给数据分析者,数据分析者在向聚合服务器发送请求时将该位置add i 发送给聚合服务器,聚合服务器同样将其输入到可信执行环境中;
步骤C2:凭证读取,聚合服务器的可信执行环境接收到数据分析者发送的函数请 求f和凭证CERT i 后,向公共账本请求读取该凭证的相关信息,公共账本为该请求生成一个 证明
Figure 628074DEST_PATH_IMAGE019
步骤C2.1:聚合服务器的可信执行环境接收到请求f、凭证CERT i 和位置add i 之后,向公共账本发送请求;
步骤C2.2:公共账本读取该位置所存储的凭证承诺COM i ,并利用公共账本的私钥 为其生成一个签名
Figure 109870DEST_PATH_IMAGE019
,一并发回给聚合服务器的可信执行环境。
其中,签名算法本实施例采用ElGamal签名算法。
步骤C3:凭证确认,聚合服务器的可信执行环境接收到公共账本发送的证明
Figure 772802DEST_PATH_IMAGE019
, 验证该凭证的合法性。
步骤C3.1:聚合服务器将公共账本的公钥vk n+1发送给可信执行环境;
步骤C3.2:聚合服务器的可信执行环境接收到凭证承诺COM i 和签名
Figure 859707DEST_PATH_IMAGE019
后,首先用 公共账本的公钥vk n+1验证签名,以确保该凭证承诺确实来自于公共账本,且未被篡改;
步骤C3.3:聚合服务器的可信执行环境利用公共参数pp、凭证CERT i 和凭证中的随 机数r i 重新计算承诺
Figure 333413DEST_PATH_IMAGE020
步骤C3.4:聚合服务器的可信执行环境将重新计算的凭证承诺
Figure 302506DEST_PATH_IMAGE020
与接收到公 共账本发送的凭证承诺COM i 进行比对,若相同,证明该凭证有效,则继续执行凭证验证步 骤,否则系统终止。
本发明能够提供:
1.快速高效的隐私保护数据聚合:本方案采用非交互式数据聚合方式,并基于可信执行环境,能够计算任意聚合函数,避免了参与方之间频繁交互,数据采用对称运算进行加密,降低了对设备计算能力的要求,适用于各类资源受限环境,如物联网;
2.基于凭证的函数授权机制:由数据拥有者作为授权决策者,构建函数白名单机制,对不同函数的请求进行授权,由聚合服务器的可信执行环境作为授权验证者,有效防止敌手恶意发起特殊函数请求所引起的数据泄露;
3.公共可验证的凭证管理机制:所有凭证的信息以承诺的形式记录在公共账本上,任何恶意的伪造凭证或凭证重放都可以被检测到。
本发明能够在物联网、体域网等更多领域,为使用者提供可靠、安全的数据聚合方法。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (10)

1.一种轻量级非交互隐私保护数据聚合方法,其特征在于:包括基于可信执行环境的隐私保护函数计算,基于凭证的函数授权和公共可验证的凭证管理;
所述基于可信执行环境的隐私保护函数计算,包括系统密钥管理、保护数据机密性和完整性和实现任意函数的聚合计算;具体实现过程包括:
由具有可信执行环境的密钥分发中心生成整个系统所需要的函数计算密钥和公共参数,并将密钥和公共参数分发给系统中的所有参与方,包括数据拥有者、具有可信执行环境的聚合服务器、数据分析者和公共账本;
在保护数据机密性和完整性阶段,数据拥有者接收具有可信执行环境的密钥分发中心分发的密钥,并使用混合加密的密钥管理方法结合认证加密对所有数据进行加密保护,然后将所有密文发送给聚合服务器;
在实现任意函数的聚合计算阶段,聚合服务器接收数据拥有者发送的所有密文并将其存储在数据库中;当聚合服务器收到数据分析者发送合法的函数计算请求时,建立一个该函数的可信执行环境并将所需的数据陆续放入该可信执行环境并进行计算,最后输出一个聚合结果,并对聚合结果进行签名从而生成一个有效性证明;所述合法的函数,为基于凭证的授权函数;
所述基于凭证的函数授权,包括函数白名单维护、密钥生成、凭证生成和凭证验证;
所述函数白名单维护,由每个数据拥有者创建一个函数白名单,并定期进行更新维护,当接收到数据分析者发送的函数计算请求时,数据拥有者根据函数白名单规定的规则决定是否为该请求进行授权;
所述密钥生成,每个数据拥有者和公共账本输入公共参数,分别生成一对公私钥对,将其私钥安全保存在本地,用于对凭证中的内容进行签名,并将公钥公开发送给系统中的所有参与方,用于对凭证进行验证;
所述凭证生成,当接收到数据分析者发送的函数请求时,若数据拥有者同意为其授权,则为该请求生成一个凭证,并对其进行签名;
所述凭证验证,当接收到数据分析者发送的函数请求和凭证时,聚合服务器的可信执行环境对该请求和凭证进行验证,当且仅当凭证验证通过时,可信执行环境执行任意函数的聚合计算;
所述公共可验证的凭证管理,包括凭证公示、凭证读取和凭证确认;
所述凭证公示,数据拥有者生成凭证之后,为该凭证生成一个承诺,并将其记录在公共账本上;
所述凭证读取,聚合服务器的可信执行环境接收到数据分析者发送的函数请求和凭证后,向公共账本请求读取该凭证的相关信息,公共账本为该请求生成一个证明;
所述凭证确认,聚合服务器的可信执行环境接收到公共账本发送的证明,验证该凭证的合法性。
2.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于:所述由具有可信执行环境的密钥分发中心生成整个系统所需要的函数计算密钥和公共参数,并将密钥和公共参数分发给系统中的所有参与方;具体实现包括以下子步骤:
A1.1:密钥分发中心首先生成一组公共参数,并将该公共参数发送给系统中的所有参与方,包括数据拥有者、具有可信执行环境的聚合服务器、数据分析者、公共账本;
A1.2:密钥分发中心生成一对公私钥对,并将该公钥发送给系统中所有的数据拥有者,用于对数据进行加密,将该私钥安全地存储在密钥分发中心的可信执行环境中。
3.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于:所述数据拥有者接收具有可信执行环境的密钥分发中心分发的密钥,并使用混合加密的密钥管理方法结合认证加密对所有数据进行加密保护,然后将所有密文发送给聚合服务器;具体实现包括以下子步骤:
A2.1:数据拥有者接收到密钥分布中心发送的公钥后,结合该公钥和随机数分别生成一个加密密钥和认证密钥,以及一个辅助密钥,所述辅助密钥用于进行函数计算时重新恢复出加密密钥和认证密钥;
其中,数据拥有者P i 接收到密钥分布中心发送的公钥
Figure DEST_PATH_IMAGE002
后,结合该公钥ek和随机数
Figure DEST_PATH_IMAGE004
分别生成一个加密密钥k i DE 和认证密钥k i MA ,以及一个辅助密钥
Figure DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE012
式中,私钥dk=x
Figure DEST_PATH_IMAGE014
表示阶为素数q的整数群;g为生成元,通过一个群生成算法
Figure DEST_PATH_IMAGE016
,可以输出一个以g为生成元的q阶循环群
Figure DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE020
为一个哈希函数,λ为系统的安全参数;
A2.2:若每条消息向量含有m个消息明文,数据拥有者用加密密钥对消息向量中的每一条消息进行加密,并利用认证密钥对加密后的每一条消息生成一条消息认证码;
A2.3:数据拥有者将每个消息向量的密文发送给聚合服务器,每个消息向量的密文包含一个辅助密钥,m个消息密文和m个消息认证码。
4.根据权利要求3所述的轻量级非交互隐私保护数据聚合方法,其特征在于:所述当聚合服务器收到数据分析者发送合法的函数计算请求时,建立一个该函数的可信执行环境并将所需的数据陆续放入该可信执行环境并进行计算,最后输出一个聚合结果,并对聚合结果进行签名从而生成一个有效性证明;具体实现包括以下子步骤:
A3.1:当聚合服务器收到数据分析者发送合法的函数计算请求时,根据该函数建立一个可信执行环境;
A3.2:聚合服务器向密钥分发中心发布请求,在聚合服务器的可信执行环境和密钥分发中心的可信执行环境之间建立一条可信通道,用于传输存储在密钥分发中心的可信执行环境中的私钥;
A3.3:根据数据分析者的请求,聚合服务器将所需要的密文依次读取到可信执行环境中;
A3.4:在可信执行环境中,根据每条密文中含有的辅助密钥,结合私钥生成该条密文的解密密钥和消息验证密钥,在确认其消息验证码合法的条件下,用解密密钥解密出消息明文,并根据数据分析者所请求的函数进行计算,生成一个聚合结果;
A3.5:在可信执行环境中,用私钥为该聚合结果生成一个签名作为该结果的有效性证明,并将聚合结果和证明一同输出,返回给数据分析者。
5.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述函数白名单维护,具体实现包括以下子步骤:
步骤B1.1:在系统运行之前,每个数据拥有者创建一个空的函数白名单,用于对所收到的函数请求进行授权判断;
步骤B1.2:每个数据拥有者对其所拥有的所有数据进行分析,确定允许计算的函数,将其存入所创建的函数白名单中;
步骤B1.3:数据拥有者制定白名单策略,并根据策略定期对白名单进行更新维护。
6.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述凭证生成,具体实现包括以下子步骤:
步骤B3.1:当接收到数据分析者发送的函数请求,数据拥有者对该请求进行分析,包括分析者请求的数据范围是否会造成不必要的泄露;
步骤B3.2:若数据拥有者认为该函数请求数据范围没有问题,则查找白名单中是否允许计算该函数,即白名单过滤;
步骤B3.3:若该函数通过了白名单过滤,数据拥有者为该请求生成一个凭证,该凭证中包含该请求的序列号、请求的函数、该凭证所涉及的相关信息和随机值;所述相关信息包括数据拥有者和数据分析者的身份标识;
步骤B3.4:数据拥有者利用其私钥对凭证中的所有数据进行签名,并将签名附加在凭证中;
步骤B3.5:数据拥有者将签名过的凭证发送给数据分析者。
7.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述凭证验证,具体实现包括以下子步骤:
步骤B4.1:当聚合服务器接收到数据分析者发送的函数请求和凭证,首先确认该函数是否包含在凭证中、凭证中所含的相关信息是否属实;
步骤B4.2:若函数和凭证均属实,聚合服务器找到签发该凭证的数据拥有者的公钥,将公钥、函数和凭证输入可信执行环境中;
步骤B4.3:可信执行环境通过执行公共可验证的凭证管理过程,确保凭证的有效性;
步骤B4.4:可信执行环境取出凭证中的签名,并用输入的公钥验证该签名是否合法,当且仅当该签名通过验证,且所输入函数包含在该凭证中,可信执行环境可继续执行任意函数的聚合计算。
8.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述凭证公示,具体实现包括以下子步骤:
步骤C1.1:数据拥有者利用系统参数、生成的凭证和凭证中包含的随机数生成一个承诺,并将该承诺和数据拥有者的标识一起发送给公共账本;
步骤C1.2:公共账本接收到承诺和数据拥有者的标识后,将其存放在公共账本中,并将其存储位置返回给数据拥有者;
步骤C1.3:数据拥有者将该凭证所在公共账本中位置发送给数据分析者,数据分析者在向聚合服务器发送请求时将该位置发送给聚合服务器,聚合服务器同样将其输入到可信执行环境中。
9.根据权利要求1所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述凭证读取,具体实现包括以下子步骤:
步骤C2.1:聚合服务器的可信执行环境接收到请求、凭证和位置之后,向公共账本发送请求;
步骤C2.2:公共账本读取该位置所存储的凭证承诺,并利用公共账本的私钥为其生成一个签名,一同发回给聚合服务器的可信执行环境。
10.根据权利要求1-9任意一项所述的轻量级非交互隐私保护数据聚合方法,其特征在于,所述凭证确认,具体实现包括以下子步骤:
步骤C3.1:聚合服务器将公共账本的公钥发送给可信执行环境;
步骤C3.2:聚合服务器的可信执行环境接收到凭证承诺和签名后,首先用公共账本的公钥验证签名,以确保该凭证承诺确实来自于公共账本;
步骤C3.3:聚合服务器的可信执行环境利用公共参数、凭证和凭证中的随机数重新计算承诺;
步骤C3.4:聚合服务器的可信执行环境将重新计算的凭证承诺与接收到公共账本发送的凭证承诺进行比对,若相同,证明该凭证有效,则继续执行凭证验证步骤,否则终止。
CN202110353614.8A 2021-04-01 2021-04-01 一种轻量级非交互隐私保护数据聚合方法 Active CN112733179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110353614.8A CN112733179B (zh) 2021-04-01 2021-04-01 一种轻量级非交互隐私保护数据聚合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110353614.8A CN112733179B (zh) 2021-04-01 2021-04-01 一种轻量级非交互隐私保护数据聚合方法

Publications (2)

Publication Number Publication Date
CN112733179A CN112733179A (zh) 2021-04-30
CN112733179B true CN112733179B (zh) 2021-06-25

Family

ID=75596291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110353614.8A Active CN112733179B (zh) 2021-04-01 2021-04-01 一种轻量级非交互隐私保护数据聚合方法

Country Status (1)

Country Link
CN (1) CN112733179B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996694B (zh) * 2022-08-01 2023-01-24 阿里云计算有限公司 一种数据融合方法、设备、系统及存储介质
CN115996126B (zh) * 2022-12-02 2023-11-03 北京深盾科技股份有限公司 信息交互方法、应用设备、辅助平台及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
WO2020144027A1 (en) * 2019-01-09 2020-07-16 British Telecommunications Public Limited Company Variable data protection
CN111814191A (zh) * 2020-08-24 2020-10-23 北京邮电大学 区块链隐私数据保护方法、装置及系统
CN112199714A (zh) * 2020-12-04 2021-01-08 支付宝(杭州)信息技术有限公司 基于区块链的隐私保护方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
WO2020144027A1 (en) * 2019-01-09 2020-07-16 British Telecommunications Public Limited Company Variable data protection
CN111814191A (zh) * 2020-08-24 2020-10-23 北京邮电大学 区块链隐私数据保护方法、装置及系统
CN112199714A (zh) * 2020-12-04 2021-01-08 支付宝(杭州)信息技术有限公司 基于区块链的隐私保护方法、装置及电子设备

Also Published As

Publication number Publication date
CN112733179A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
Liu et al. Blockchain empowered cooperative authentication with data traceability in vehicular edge computing
CN113489733B (zh) 基于区块链的内容中心网络隐私保护方法
Ullah et al. Elliptic Curve Cryptography; Applications, challenges, recent advances, and future trends: A comprehensive survey
CN111614680B (zh) 一种基于cp-abe的可追溯云存储访问控制方法和系统
CN109691010B (zh) 用于数据传输的系统和方法
CN111863165A (zh) 基于区块链的医疗信息共享认证方法
CN110519046A (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN112733179B (zh) 一种轻量级非交互隐私保护数据聚合方法
CN110933033A (zh) 智慧城市环境下多物联网域的跨域访问控制方法
CN108462696A (zh) 一种去中心化的区块链智能身份认证系统
CN111563733A (zh) 一种用于数字钱包的环签名隐私保护系统及方法
Li et al. Conditional anonymous authentication with abuse-resistant tracing and distributed trust for internet of vehicles
Pussewalage et al. An anonymous delegatable attribute-based credential scheme for a collaborative e-health environment
CN113747426A (zh) 数据审计方法及系统、电子设备、存储介质
Liu et al. PTAP: A novel secure privacy-preserving & traceable authentication protocol in VANETs
Zhou et al. An efficient identity authentication scheme with dynamic anonymity for VANETs
Zheng et al. A security-enhanced pairing-free certificateless aggregate signature for vehicular Ad-Hoc networks
Lyu et al. A2UA: An Auditable Anonymous User Authentication Protocol Based on Blockchain for Cloud Services
CN116432204B (zh) 基于同态加密和零知识证明的可监管交易隐私保护方法
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
Xie et al. Verifiable Federated Learning With Privacy-Preserving Data Aggregation for Consumer Electronics
CN112436942A (zh) 一种属性基/身份基异构的可撤销签密方法
Cho et al. Big data cloud deduplication based on verifiable hash convergent group signcryption

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