可信区块链隐私计算平台研究与实现
The following article is from 信息安全与通信保密杂志社 Author Cismag
内容目录
1 相关工作
2 系统方案
2.1 算法模型
2.2 方案模型
2.3 方案模型
2.4 算法设计
3 安全性与可行性分析
4 实验分析
4.1 实验环境
4.2 实验步骤
4.3 Paillier 同态加密算法测试
5 结 语
随着大数据、人工智能和云计算等技术的快速发展,产生了很多新的服务,需要采集用户的相关信息,但对这些敏感信息的分析和利用可能导致用户隐私的泄露,给用户带来巨大的安全风险,因此,针对敏感数据的隐私计算需求已成为社会共同关注的焦点。如今,隐私计算技术深度融合多方安全计算、可信执行环境、联邦学习等技术,为可信计算、金融、医疗、大数据、电子拍卖等领域的数据流通域中数据的“可用不可见”提供了有效的解决方案 。
但目前隐私计算技术只能提供数据的“可用不可见”特性,因此如何保障隐私计算体系中数据源和数据隐私计算结果的真实性,成为隐私计算发展的重要方向。目前隐私计算在金融、互联网、公共服务、数字版权及保险领域都有了广泛应用。
区块链技术为隐私计算的数据源流通过程中的不可篡改提供了技术保障。区块链技术是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化总账(Decentralized Shard Ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。目前的电子拍卖市场还处于初级发展阶段,存在参与方多、数据难以协同和各方信任缺失的特点。因此在招标式电子拍卖时,拍卖者对于自身出价金额需要进行个人隐私保护,拍卖人只需要公布结果,而不需要公布拍卖者的具体金额,可以采用隐私计算的方式计算出出价最高者,保护被拍者并对保留价进行出价,同时对招标结果的隐私计算过程进行上链操作,实现电子拍卖全流程的可追溯性。
相关工作
系统方案
2.1 算法模型
以下为基于可信区块链隐私计算平台方案需要使用的算法模型。
2.1.1 Paillier 加法同态加密
Paillier 提出了 3 种加密方案,其中的方案一具有良好的加法同态性:对多个密文执行乘法运算,可以秘密实现明文加运算,即
对于密文
公钥
Step1:首先随机挑选大素数 p 和 q ,满足
Step2:计算
Step3:随机选择整数
Step4:定义中间函数
2.1.2 CKKS 全同态加密
Cheon 团队在 2017 年提出了基于 CKKS 的全同态加密方案,如图 1 所示,可以对浮点数进行近似计算,在多个全同态加密算法中效率较高。其主要步骤为:Step1:密文生成算法
Step2:加密算法
Step3:同 态 加 法
Step4:同 态乘法
图 1 CKKS 全同态加密算法流程
2.1.3 区块链
区块链是一个共享的不可篡改的账本,采用分布式自治技术,具有不可篡改性、去中心化、可溯源性等特征。根据开放程度,区块链可划分为公有链和联盟链,任何人都可以自由加入公有链,而只有拥有特定权限的个人或组织才可以加入联盟链。
2.1.4 智能合约
智能合约具有规范性、不可逆性、不可违约性、匿名性等特点。其中,规范性是指智能合约是以计算机代码为基础,通过严密逻辑结构来呈现内容,并且对合约上的所有计算机节点是透明的。不可逆性是指一旦完成约定的条件,合约就可以自动执行对应的预期计划。不可违约性是指在链上的信息公开透明,任何节点都可以追溯流程。匿名性是指区块链上流程是透明的,但交易双方是匿名的。
2.1.5 Keccak256 算法
Keccak256 算法是一种加密散列算法,是第三代安全散列算法。在 Keccak256 算法被确定选为 SHA-3 标准的获胜算法后,就表现出很强的抗实际攻击的特性 ,与 SHA-1 和 SHA-2 协议相比,SHA-3 没有输入长度上的限制。
2.2 方案模型
基于同态加密和区块链技术的可信区块链隐私计算平台的电子拍卖模型如图 2 所示。该方案是针对当前电子拍卖隐私保护场景提出的一种隐私保护解决方案,有效保护了竞拍者、拍卖人的竞拍策略,竞拍金额等隐私问题,该方案包括以下实体:竞拍者、区块链、智能合约、消息认证、计算节点、拍卖机构、拍卖人。
(1)竞拍者。竞拍者需要保护自己的拍卖金额、拍卖策略,同时对于拍卖流程要求透明化,对于最后拍卖成功的交易流程要求可溯化。
(2)区块链。采用联盟链的方式,竞拍者、拍卖人、拍卖机构均作为多方参与者进入联盟链共享信息,与传统公有链相比,联盟链的方式更加灵活、交易的成本更低、区块打包时间更少。
(3)智能合约。接受用户的拍卖金额同态加密密文以及竞拍金额的 Hash 值来上链,并打包成相应区块,同时提供区块链上的随机数生成函数。
图 2 基于可信区块链隐私计算平台的电子拍卖模型
(4)消息认证。通过对用户的个人信息、竞 拍 金 额 进 行 区 块 链 Hash 加 盐 签 名, 采 用Keccak256 算法来预防用户篡改金额以及在最终拍卖验证阶段完成交易。
(5)计算节点。通过在对应服务器上部署相应同态加密服务,对用户传输的密文进行操作。
(6)拍卖机构。拍卖机构同时对拍卖物品进行出价,应对电子拍卖过程中的流拍问题以及恶意出价问题。
(7)拍卖人。拍卖人对拍卖物品进行出价,作为拍卖物品的底价,并可以对低价进行保密处理,达到盲拍的效果。
2.3 方案模型
该设计方案大体可以分为委托者出价、拍卖机构出价、竞拍者竞价、交易完成 4 个阶段,如图 3 所示。
图 3 基于同态加密单次比较算法流程
2.3.1 委托者出价
首先由委托者出价,委托者通过调用本文设计的算法 3 基于同态加密的隐私比较算法将自身的出价金额密文托管到平台,并调用智能合约将金额信息签名,并将签名值记录上链。
2.3.2 拍卖机构出价
拍卖机构为了防止线上平台委托者随意出价导致流拍率过高,需要对拍卖品价格进行预估,若起拍价高于预估价格 3 倍以上,则判定为恶意拍卖,若发生多次则禁止该藏品参与拍卖。
2.3.3 竞拍者竞价
在委托者出价以及拍卖机构验证之后,竞拍者就可以对藏品进行竞价,但基于个人隐私保护以及竞价策略保护的需要,竞拍者并不知道藏品当前竞拍价格以及其他竞争者出价,只能调用平台的隐私比较算法进行比对,得到的结果只是大小关系而不是真实的明文,若出价成功即当前的价格超过之前的其他竞拍者的价格或者为第一次出价超过委托者价格,则会更新为新价格密文,其中每次交易更新都会调用智能合约对相关信息作出签名并记录上链。同时为了防止竞拍者对价格进行爆破攻击,每个竞拍者对当前出价有且仅有 3 次机会。
2.3.4 交易完成
一旦新的价格密文在设定的时间内不变,就可以完成交易,若价格密文和起拍密文相同,则判定为流拍。交易完成后,需要将相应的交易过程上链,包括每次的价格密文以及竞拍者的相应 Hash 值,达到交易过程公开化,可追溯化。
2.4 算法设计
本文设计的智能合约基于 Hyperledger Fabric架构,所涉及的变量和方法名如表 1 所示。
表 1 智能合约的变量和方法名
合约主要分为 3 个主体函数,即随机数生成函数、存储函数、查询函数。随机数生成函数以区块打包的时间和难度作为种子调用 Keccak256来生成随机数。存储函数采用 Storage 在链上永久存储,对传入的结构体存入至链上以供查询。查询函数则提供了查询接口,通过对应 Hash 值可以查询结构体。
使用的算法分别是基于同态加密的隐私比较算法、基于区块链的消息认证算法、基于区块链的随机数生成算法。3 种算法的基本参数如表 2 所示。
表 2 算法相关参数
续表
2.4.1 区块链随机数生成算法
区块链随机数生成算法使用联盟链上的当前区块难度和打包时间作为种子生成随机数,并多次重复 Hash 函数,即将上一次生成的随机数作为数据源重复进行 Hash 运算,提高攻击成本。
算法 1:区块链随机数生成算法
2.4.2 区块链消息认证算法
使用者首先需要调用写入智能合约的区块链随机数生成算法生成随机数作为盐值参与运算,之后将盐值插入到传递信息的末尾作为预处理,调用 Keccak256 算法生成 Hash 值,通过盐值可以有效防止彩虹表攻击。
算法 2:区块链消息认证算法
2.4.3 基于同态加密的隐私比较算法
首先起拍价的委托人调用算法 1 生成两个随机正整数
算法 3:基于 Paillier 同态加密的隐私比较算法
安全性与可行性分析
通过第三节提出的方案,每个用户竞拍时都不会泄露自身具体金额,并且在整个竞拍环境下竞拍者不会泄露自身的竞价策略,而只是知道和藏品当前价格大小关系,为了防止用户使用穷举攻击,对每个价格出价时间和出价次数有着严格的限制。
对于交易过程中的竞拍者和委托者的不诚实问题,在每一次竞拍过程中都会做一次Hash 记录上链,在拍卖结束之后,如果有竞拍者对过程有疑问,则可以重新签名认证金额。
算法 1 区块链随机数生成算法采用了从区块链上调用智能合约 Keccak256 散列算法并结合打包区块的难度和时间作为随机种子,多次 Hash 得到最终的随机数可以有效抵御碰撞攻击。
算法 2 区块链消息认证算法基于 Keccak256算法,通过使用算法 1 生成的随机数作为盐值,可以防止彩虹表对签名值进行攻击,并支持对用户需要认证的信息进行签名存储。
算法 3 基于 Paillier 同态加密的隐私比较算法,为了防止比较者之间的不诚实行为,采用了签名值上链作为防范,借助 Keccak256 算法的抗弱碰撞性作为最后完成对金额及信息验证的保证。
本文通过选择联盟链方案,对加入联盟链的用户进行严格的身份认证,可以获得更好的隐私控制,减少被恶意攻击的可能性。
在最终验证的时候,拍卖成功者需要拿拍卖成功那次签名信息去完成最终交易,进行签名认证,这样可以有效避免篡改攻击。
在拍卖和交易的过程中采用签名数据上链的方式可以有效避免数据篡改,达到交易全过程可溯源、可验证的效果。
实验分析
结语
本文在电子拍卖的场景下,引入可信区块链隐私计算平台,针对拍卖过程中拍卖策略隐私保护的需要、拍卖金额隐私保护的需要、拍卖流程可溯的需要,提出了一种基于 Paillier 的半同态加密和区块链全程可溯源的隐私计算方案。
采用 Paillier 的半同态加密方案有效维护了多人电子竞拍策略以及金额隐私保护的需要,并在电子拍卖全流程中引入区块链,对整个流程进行信息上链,达到了拍卖流程可溯源、不可篡改的效果。
实验结果表明,与 CKKS 的全同态加密方案相比,基于 Paillier 的半同态加密的隐私计算效率可以更好地满足多人电子拍卖场景的需要,并实现拍卖流程中数据可用不可见的效果。
引用格式:
胡绍洲,马兆丰,叶可可.可信区块链隐私计算平台研究与实现[J].信息安全与通信保密,2022(10):2-11.
往期推荐
密码学中常见加密算法的python模块整理
上岸!选择你的隐私计算导师!
REFL: 联邦学习中智能的设备选择方法
对于多方安全计算,你是否也有这样的疑惑?