1、论文研究背景、动机与主要贡献

研究背景

  • 边缘计算
    • 边缘计算(Edge Computing)是一种分布式计算架构,它将计算能力从中心化的数据中心扩展到网络的边缘,即更靠近数据源的地方。这种架构的目的是提高数据处理速度、降低延迟、增强应用性能,并减少对中心数据中心的依
    • 边缘计算技术带来了大量靠近移动设备的计算和存储资源,弥补了传统云计算中实时性低、数据隐私泄露等问题

存在问题(动机)

  • 数据隐私
    • 区块链的开放性和透明性也对链上数据安全造成了威胁。如何保护区块链上数据的隐私性正成为研究热点之一。
    • 边缘计算设备采集的数据与用户的隐私息息相关,其安全性理应得到妥善的保护
  • 数据共享
    • 边缘计算节点之间的数据共享和互操作已经成为一种常态化的需求。例如,在车联网中需要实现车辆之间的数据共享
    • 在区块链边缘网络中实现隐私数据的安全共享和协作是一个关键需求。
  • 扩展架构
    • 不同区块链中边缘计算节点的存在将方便数据的管理,降低区块链节点的存储压力。因此,单一的区块链架构越来越不适应物联网的创新发展

传统方案

  1. 提出了一种基于信誉度的数据共享方案,实现车辆间高质量的数据共享。该方案实现了车辆边缘网络中的数据存储和安全共享。但是,它没有考虑到车辆边缘节点的跨域情况。
  2. 多边链结构以提高链上数据效率,实现异构区块链系统中的跨链边数据共享。无法进行链上数据的计算

主要贡献

  1. 基于全同态加密( FHE ) 算法CKKS的跨边区块链网络数据隐私保护方案。
  2. 可审计的中继链私钥共享方法,使监管机构能够以去中心化的方式对包含FHE加密数据的跨区块链交易进行事后审计和争议管理
  3. 使得数据”可用且可见”,保证了私有数据的可用性和安全性。

2、论文问题描述或定义

问题背景

边缘区块链网络中的链上数据隐私泄露问题日益凸显,共享困难、隐私性不高、可见不可用。

问题定义

如何在保证数据隐私安全的前提下,实现跨边缘区块链网络中的数据安全共享和计算。具体来说,需要解决以下问题:

  1. 数据隐私保护:如何在区块链上保护数据不被未授权访问,同时允许数据的计算和分析。
    1. 基于全通太加密实现,允许直接计算密文,避免了原始数据的暴露
  2. 跨链互操作性:不同区块链之间的数据和应用如何实现互操作,以支持更广泛的业务场景。
    1. 跨链技术:目前,研究者主要通过如公证人方案、哈希锁定和侧链/中继等跨链技术来解决不同区块链之间的交互问题。
      • 公证人方案:引入一个或多个可信实体作为公证人来监听和响应链上事件,但存在公证人被攻击或串谋的风险。
      • 哈希锁定:通过设置时间和解锁条件来实现跨链交易的安全性和原子性,但可能因超时或数据传输失败而造成资产损失。
      • 侧链/中继:侧链或中继链执行跨链交易的验证和传输,不依赖于可信第三方,具有高度的可扩展性。

CKKS的加密策略证明

算法支持浮点计算,满足多种场景下的数据计算。

  1. 密钥生成
    • 随机生成一个秘密密钥 𝑠。
    • 计算公钥 𝑏=−𝑎⋅𝑠+𝑒=−a⋅s+e,其中 𝑎 是预先定义的常数,𝑒 是从高斯分布采样的误差项。
  2. 加密
    • 假设有一个明文 𝑚,将其编码为多项式 𝑚。
    • 加密多项式 𝑚 得到密文 𝑐: 𝑐=(𝑚⋅𝑠+𝑒′)mod  𝑞 其中 𝑒′ 是新的误差项,𝑞 是一个大的质数,作为模数。
  3. 解密
    • 使用秘密密钥 𝑠 对密文 𝑐 进行解密,恢复原始多项式: 𝑚=𝑐−𝑒′𝑠mod  𝑞 这里需要对误差进行调整以保证结果的正确性。
  4. 同态加法
    • 假设有两个密文 𝑐1​ 和 𝑐2​,它们的解密结果分别是 𝑚1​ 和 𝑚2​
    • 加密的加法可以表示为: 𝑐sum=(𝑐1+𝑐2)mod  𝑞
    • 解密 𝑐sum 将得到 𝑚1+𝑚2
  5. 同态乘法
    • 如果要对两个密文 𝑐1​ 和 𝑐2c 进行乘法运算,需要考虑误差增长问题。
    • 乘法操作为: 𝑐prod=(𝑐1⋅𝑐2)mod  𝑞
    • 由于误差项 𝑒1 和 𝑒2在乘法中会相互影响,可能需要进行重比例操作来调整误差。
  6. 重比例操作
    • 乘法后,密文的模数可能需要调整以控制误差,这个过程称为重比例。
    • 重比例可以表示为: 𝑐′=$\frac{c(x)}{s^k}$其中 𝑘 是一个适当的整数,用于调整密文的模数和误差。

3、论文提出的新思路、新理论、或新方法

基于FHE的跨边区块链网络隐私保护方案

机构A(中央银行)下的边缘计算节点需要收集用户在机构B和C(农行、建设银行)中存储的量之和(存款的和)。A、B、C分别位于三个应用链中。

系统架构

架构图

  • 四类实体:
    • 应用链( AC ):AC节点可以根据业务需求发起需要全同态操作的事务,并在不知道原始数据的情况下获得操作结果
    • 边缘设备( ED ):收集海量用户数据的设备,收集到的数据将由应用链中的节点客户端进行处理。
    • 中继链( RC ):跨区块链服务平台,提供跨区块链交易的数据全同态操作、AC管理、可信验证等服务。
      • RC节点共同维护一个AC访问表( AAT ),记录连接到RC的AC的ID和生成的FHE公钥
    • 跨区块链接入设备( CAD ):连接RC和AC的插件,用于转换事务格式以保证它们之间的消息交互。
      • 跨链事务$From,to,EventID,TransHash,TransContent$

威胁模型

实体内部的恶意节点是整个交易过程中的潜在节点。
系统可能会受到包括消息篡改、消息伪造和拒绝服务攻击等威胁。
系统应提供身份认证机制,确保加入跨链系统的节点是合法的参与者

方案流程

隐私加密流程

  1. AC1向RC中继链发起跨区块链交易T1,请求从AC2和AC3获取数据,$T_1=\{AC_1,RC,0x0001,TxH_1,Timestamp_1,NULL\}$

  2. RC接收消息T1,并使用ReqiureCross(判断是否需要跨链操作)方法检查AC2和AC3是否连接。RC发起交叉区块链 $T_2=\{RC,AC_1,0x0001,TxH_2,Timestamp_2,R_1\}$

  3. 如果R1 = false,则进程中止,即AC2或AC3未连接到RC。否则,A向RC发起跨区块链交易T3,得到用户的总借款金额 $T_3=\{AC_1,RC,0x0001,TxH_3,Timestamp_3,UserID\}$

  4. RC接收T3并准备(还未)使用FHE_SUM(全同态加密求总和)方法计算总量。
    RC通过查询AAT来判断公私钥对是否由AC1分发。

  • 未分发:密钥生成
  • 分发:向AC2和AC3起跨区块链交易T4和T5
    • $T_4=\{RC,AC_2,0x0001,TxH_4,Timestamp_4,(UserID,PK_{FHE})\}$
    • $T_5=\{RC,AC_3,0x0001,TxH_5,Timestamp_5,(UserID,PK_{FHE})\}$
  1. AC2收到T4和AC3收到T5后,分别使用QueryAmount方法根据自己的用户列表查询用户的贷款额度。然后用A机构的$PK_{FHE}$加密贷款额度,并启动T6和T7将加密结果R2和R3返回给RC
  2. RC接收结果并进行同态加法,计算加密量之和SumEncAmount。然后RC发起跨区块链交易T8将结果返回给A
  3. A接收后,用私钥$SK_{FHE}$(自己的)解密,得到明文借款金额之和

用于审计的中继链私钥共享方案

AC中的边缘计算节点很可能被恶意攻击或内部敌手篡改金额,导致错误的金额被存储在机构中

  • 目的:确保在跨边缘区块链网络中进行的FHE加密的数据能够在必要时被监管机构或授权实体审计和验证。
  • 目标:联合维护审计所需的参数- -全同态私钥,以防止其被单个节点攻击
  • 分类讨论
    • 如果正常:边缘结点(建设银行)保存私钥,公开公钥。数据用私钥加密,别人用公钥解密,即可完成数据加密传输。
    • 如果故障:当一个交易出现异常时,中继链中的多个节点将共同获得全同态私钥。然后,中继链可以通过追踪交易和检查错误数据的来源来解密相关数据,实现了可审计的功能

两个密钥

  1. 数据加密密钥:每个边缘结点有一个密钥对,用来加密自己的数据,并加密传送给中继结点。
  2. 审计密钥:用于加密数据加密密钥

具体过程

审计私钥共享方案

  1. 审计密钥生成$ECC.KeyGen(\lambda)$:中继链生成FHE公私钥对$(sk,pk)$,并使用椭圆曲线密码学(ECC)算法加密私钥
  2. 审计子密钥分发:子密钥会分发给每个审计结点
    • 中继链选择 $t−1$个随机数构建一个多项式,并从该多项式生成$n$个子密钥,然后销毁原始多项式。
    • $f(x)=sk+a_1·x+a_2·x^2+\cdots+a_{t-1}·x^{t-1}$
    • 随机选取n个数$x_1,x_2,x_3,\cdots,x_n$,并计算$(x_i,f(x_i))$
    • 摧毁$sk$和$f(x)$
  3. 审计子密钥存储:每个审计节点存储其对应的子密钥。
  4. 数据加密密钥生成:由各个AC结点自行生成。用刚刚生成的审计公钥$pk$,对数据私钥$SK_{FHE}$加密。将加密私钥$E(SK_{FHE})$和公钥$PK_{FHE}$存储在AAT中
    • 只有在必要的审计(大部分同意)的情况下,才能解密数据私钥,对加密数据解密审查。
审计时
  1. 私钥恢复:在需要审计时,所有诚实节点广播其子密钥,通过秘密共享恢复出完整的私钥$sk$。
  2. 数据审计:使用恢复的私钥解密相关数据$SK_{FHE}$,追踪交易并检查错误数据的来源。
    该恢复运用【Shamir门限秘密共享】进行恢复

$\begin{cases}sk+a_1\cdot x_1+\cdots+a_{t-1}x_1^{t-1}=f(x_1)\\sk+a_1\cdot x_2+\cdots+a_{t-1}x_t^{t-1}=f(x_2)\...\\sk+a_1\cdot x_t+\cdots+a_{t-1}x_t^{t-1}=f(x_t)\end{cases}$

只需要知道门限个(t)个方程组即可知道。

$\begin{bmatrix}sk\\a_1\\\vdots\\a_{t-1}\end{bmatrix}=\begin{bmatrix}1&x_1&x_1^2&…&x_1^{t-1}\\1&x_2&x_2^2&…&x_2^{t-1}\\\vdots&\vdots&\ddots&\vdots\\1&x_3&x_t^2&…&x_t2^{t-1}\end{bmatrix}^{-1}.\begin{bmatrix}f(x_1)\\f(x_2)\\\vdots\\f(x_t)\end{bmatrix}$

加密解密流通过程

上图的紫色部分写错了,以下图紫色为准。

审计密钥

4、论文方法的理论分析或实验评估方法与效果

安全性分析

FHE私钥的安全性

  • 私钥加密与存储:FHE私钥使用中继链的私钥进行加密,并存储在中继链上,以便进行审计。中继链的私钥由多个节点共同维护,少于某个阈值的恶意节点无法完全恢复私钥,从而确保了私钥的安全

原始数据的安全性

  • 数据请求者即使数据请求者持有FHE公钥,他们也无法直接获取原始数据。他们只能通过同态计算操作获得加密的数据,进一步确保了数据所有者的数据安全。

关键指标

  1. 交易处理时间:衡量从发起交易请求到交易被确认在区块链上所需的时间。
  2. FHE操作时间:评估全同态加密(FHE)操作的性能,包括密钥生成、加密、密文操作(如加法和乘法)以及解密的时间。
  3. 并发处理能力:测试系统在处理大量并发交易时的性能,分析交易处理时间如何随着并发数量的增加而变化。
  4. 系统稳定性:评估系统在长时间运行和高负载情况下的稳定性和可靠性。
  5. 资源消耗:衡量方案运行时对计算资源(如CPU和内存)的需求。

    5、总结

创新点

中继链中利用同态加密FHE算法完成私有数据的安全计算,使数据”可访问、可运算且可审查“。中继链负责私有数据的链下计算功能。

提出了一个分布式私钥共享方案来维护应用链的全同态密钥。多个节点以分布式的方式管理中继链私钥,保证了全同态私钥在审计以外的状态下无法恢复。

不足之处

  1. 中继链算例问题:中继链承担私有数据的链下计算功能,实际上还是一种“将边缘结点算力部分中心化”的操作,削弱了去中心化的程度。可基于领导者结点制度,选取一批量的可信边缘结点作为“中继点”,通过中继点进行传送,能够一定程度上提升去中心化程度。
  2. 审计权限控制:
    1. 细粒度权限控制: 对审计权限进行细粒度控制,例如,只允许审计特定的交易或数据,而不是所有数据。
    2. 审计日志: 记录审计操作日志,以便追踪审计行为,防止滥用审计权限。

原文:链接