您好, 访客   登录/注册

支持多数据源安全共享的分布式大数据协作系统研究

来源:用户上传      作者:魏啸磊,林苏,潘越,胡奇,夏天

  摘 要: 同态加密算法和安全多方计算技术可在数据加密的情况下进行多方参与的计算,可以有效的解决数据泄露问题。对常见的四种同态加密库SEAL、HElib、PALISADE、Pyfhel进行了分析和选择,综合运行速度和开发效率因素,选择Pyfhel同态加密库,来设计与实现支持多数据源安全共享的分布式大数据协作系统。该系统为数据共享场景提供了一种可行的解决方案。
  关键词: 同态加密; 数据共享; Pyfhel; 多方计算
  中图分类号:TP393 文献标识码:A 文章编号:1006-8228(2022)06-10-04
  Research on distributed big data collaboration system supporting
  secure sharing of multiple data sources
  Wei Xiaolei, Lin Su, Pan Yue, Hu Qi, Xia Tian
  (Wenzhou University, College of Computer Science & Artificial Intelligence, Wenzhou, Zhejiang 325035, China)
  Abstract: Homomorphic encryption algorithm and secure multi-party computing technology can carry out multi-party computing under the condition of data encryption, which can effectively solve the problem of data leakage. In this paper, four common homomorphic encryption libraries SEAL, HElib, PALISADE and Pyfhel are analyzed and selected. Considering the running speed and development efficiency, Pyfhel is selected to design and implement a distributed big data collaboration system that supports the secure sharing of multiple data sources. The system provides a feasible solution for data sharing scenarios.
  Key words: homomorphic encryption; data sharing; Pyfhel; multi-party computation
  0 引言
  随着互联网和大数据等技术的不断发展,我们步入了大数据时代,数据共享、数据分析等应用的使用越来越普遍,海量数据的交叉计算可以为科研、医疗、金融等提供更好支持,但是数据的共享随之带来的是数据的泄露的问题。许多企业或组织出于信息安全或利益的考虑,内部数据是不对外开放的,但是这也会带来“数据孤岛”的问题,数据的价值无法体现出来。同态加密算法和安全多方计算技术可以在不泄露明文的情况下,实现多方参与的数据协同计算,实现安全的数据流通,达到数据“可用不可见”[1]。
  同态加密,英文称之为Homomorphic Encryption,HE是指满足密文同态运算性质的加密算法,即数据经过同态加密之后,直接对密文进行同态计算,得到的密文计算结果与直接用明文进行计算的结果相一致的算法。基于同态加密的安全多方计算技术旨在解决一组互不信任的参与方之间保护隐私的协同计算问题,在不泄露原始数据前提下,为数据需求方提供多方协同计算能力。
  1 同态加密算法库
  同态加密算法可以分为全同态加密算法和半同态加密算法。其中,全同态加密算法是指支持对密文进行任意形式的计算;半同态加密算法是指支持对密文进行部分形式的计算,如仅支持加法或乘法计算[6]。全同态加密算法在不断的发展中依次出现了Gentry、BGV、BFV、GSW、CKKS等方案。一个同态加密库可以支持多种算法,如SEAL可以支持BFV和CKKS方案、HElib可以支持CKKS方案、PALISADE可以支持BGV、BFV、CKKS等方案。Pyfhel库是基于SEAL/PALISADE/HElib开发的。
  1.1 四种同态加密库的简介和调用方法
  SEAL是微软开源的同态加密库,有C++和C#版本,并逐渐推广应用到Python、Javascript和TypeScript。它支持不对称和对称加密算法,提供了两种机制的同态加密,BFV和CKKS[2]。它支持Windows、Linux、macOS、FreeBSD、Android等操作系y平台,并支持
  .NET开发,使开发人员编写同态加密应用程序更为便捷。在Windows中SEAL的安装需要借助Visual studio进行安装和配置。首先需要安装C++编译运行环境,然后下载SEAL源码文件,编译解析源码文件,生成seal.lib文件。在调用时,需添加该lib文件的附件库目录、附加包含目录和附件依赖项。总体上,安装相对比较复杂。
  HElib由C++编写,使用了NTL数学库,可实现无自举的同态加密和近似数算数的同态加密,支持密文的加法和乘法。安装HElib需要先下载HElib源码和HElib依赖。有两种不同的方式来构建和安装HElib。一种是自动下载和构建GMP和 NTL依赖项,并将库打包在可重定位的文件夹中。第二种要求自行安装GMP与NTL并在系统中可用。调用时需要添加头文件目录、lib文件目录、库文件目录。HElib适用于Linux、MacOS等平台[4]。

nlc202206221458



转载注明来源:https://www.xzbu.com/8/view-15434283.htm

相关文章