“区块链100分”第三十五期——《全同态加密与机器学习》

论坛 期权论坛 期权     
大数据栋察   2020-1-1 00:07   1609   0




  • 区块链产业生态风险与监管每天,我们将邀请一位专家给大家进行分享,并做好持续不间断的传播。
  • 我们希望借此平台汇聚更多的顶尖专家及人才;
  • 我们希望依此活动找到更多志同道合的伙伴;
  • 我们更希望倾听不同界的最强音,借彼此微薄之力,服务于国家战略!

中关村大数据产业联盟副秘书长颜阳:本次分享由中关村大数据产业联盟联手 BITCLUB联合举办,布洛克、天使城邦、31区、数据观等机构提供社群与传播支持,覆盖30+人数超过10000人的天使投资人社群及20+覆盖超过20000人区块链产业人士。
    1024后,每到周一又有期待:今晚我们请来了网红级的人物分享此前非常让人关注的隐私计算相关话题:全同态加密与机器学习。大家知道,从2017年开始,监管部门对于数据的合规使用已经监管力度逐年升级,今年更是对相关违规者进行了严厉地处罚。欧盟的GDPR更是详细地列出了各项场景进行一一地解读。陈智罡博士,在区块链与密码学领域造诣非凡,今天分享的话题详细会对大数据的深度应用有深刻的影响。现在有请陈博士。
陈智罡:

    大家好,我是陈智罡。一直在做密码学研究,主要研究方向是:全同态加密。3年前开始研究区块链。我一方面是大学老师,在学术界,另外一方面,也创立了一家公司:宁波格密链网络科技。



第三十五期:《全同态加密与机器学习》
主持人:颜阳
    颜阳,天津大学管理学博士,高级工程师,北京计算机学会理事、北京航空航天大学软件学院校外导师、国家信息中心深圳大数据研究院学术委员会委员,中国电子学会大数据专家委员会委员、中国大数据产业生态联盟专家委员、区块链+百人峰会联合创始人、中关村大数据产业联盟副秘书长、中科融数(北京)科技有限公司董事长。历任光大证券信息技术部副总经理、民族证券信息技术部总经理、民生证券技术总监等职,多次荣获中国优秀CIO称号。《区块链+赋能数字经济》中文及英文版作者,2019“财经智库”《金融科技的商业之道》作者,《互联网金融+——中国经济新引擎》专著编委,新华社及工信部旗下多家媒体区块链高端访谈嘉宾等。专注在区块链助力大数据智能化行业应用、金融科技应用、数联网理论及标准研究及其在金融、医疗和智慧城市领域实践。


分享嘉宾:陈智罡
分享者简介:
    陈智罡,密码学博士,教授。研究密码学与区块链。宁波格密链网络有限公司创始人。英国Royal Holloway, University of London访问学者。中科院信息安全国家重点实验室客座研究员。亚洲区块链学会荣誉学术顾问。浙江省中青年学科带头人。CCF区块链专委会通讯委员。





全同态加密



    2012年我们就开始研究全同态加密。当时全同态加密研究的人很少,也是很难的一个问题。据说,当时很少有人能够读懂Gentry的论文。
    当时我是花了半年时间,读懂了Gentry全同态加密的论文。Gentry全同态加密论文难的原因是采用的电路观点,这在密码学界确实当时是不太一样的视角。
    2009年Gentry构造出第一个全同态加方案后,学术界、工业界一片哗然,那年云计算恰好很热。工业界都说,有了全同态加密就能够解决云计算的隐私安全问题了。
    那么到底什么是全同态加密呢?一句话,全同态加密能够在不解密的情况下,对密文进行任意计算。也就是密态下计算。





外包计算场景



    全同态加密的应用场景是外包计算场景,全同态加密与传统加密算法一样,都包含:
     密钥生成,加密,解密,三个过程。但是全同态加密还特别具有一个功能:密文计算。


    密文计算目前是一个非常热门的研究领域。密文计算包含三个方向:密文数据库,多分计算,全同态加密。
    从成熟度来看,密文数据库最成熟,有成熟的商业化产品。而在三个方向中全同态加密是最不成熟的。但是随着这几年理论与实践的迅速发展,全同态加密目前处于工程化应用的拐点。
    今年国外 对于隐私保护技术,尤其是全同态加密 炒得很热。
    全同态加密最初是1978年提出,成为密码学界的开放难题 。
    2009年,Gentry基于理想格设计出第一个全同态加密算法,成为密码学界、计算机科学界的一个突破(Breakthrough) 随后产生了一些全同态加密算法
     –  整数上的,小主理想、LWE、环LWE:基于噪音的方案
    目前全同态加密面临的问题:候选方案少 、效率不高 、安全性问题(如何保障其安全) 。这里安全是指如何保证安全的使用。
    目前全同态加密没有出现任何安全问题,因为全同态加密是基于格密码的,目前全同态加密方案都是基于格构造的。
    为什么格上能够构造全同态加密呢?可以看我们的微信号上的文章,这里我就不解释了。
    格密码是一种抗量子密码。有空下次给大家介绍一下。


    格密码上有一个非常有名的困难问题:SVP,最短向量问题,距离产生美。

发展阶段



    目前基于LWE以及环LWE上的全同态加密是主流,LWE问题 是 建立在格上标准困难问题之上,全同态加密大致分为如下几个发展阶段:


    大家可以看到,速度的提升是多么的快,正因为全同态加密从理论到实践,也让我从理论到应用。
    主流的全同态加密方案 有如下:


    BGV, BFV, CKKS等,这两年全同态加密应用覆盖各个领域。





加密领域工作



    下面我介绍一下我们的工作及应用产品:






    有些人说,全同态加密不具有多方特点,其实说的不对。有一种全同态加密,是多key全同态加密,还有一种是门限全同态加密,都具有多方场景。


    我们在16年还研究了,如何安全使用全同态加密。


    对于工业界非常重要,随着全同态加密理论到实践,速度越来越快。我们也研发了应用产品:密文生物特征认证系统
     包括:指纹,虹膜 ,人脸




    应用产品:全同态加密演示系统


    应用产品:全同态加密测试系统


    我们还研发了全同态加密Python接口库,便于机器学习的专业人士使用。
    全同态加密在机器学习中的应用,可以追溯到2011年。当时在CCS上有一篇论文。当时我们看了后,才明白全同态加密在机器学习中的重要性,能够保护机器学习的数据隐私安全。


    不得不佩服微软研究院这些人的高瞻远瞩,那时全同态加密还处于理论中,但是他们已经想到把它用于机器学习的隐私保护。

效率示例



    全同态加密在机器学习中的效率如何?相信很多人都会问,我举几个例子。
    美国的IDASH比赛,将全同态加密应用于基因分析模型中。2017年,在密文数据上训练逻辑回归模型。训练:1500记录 + 18特征,10分钟可以训练好一个模型。提醒一下哦,这可是密文上的模型训练,而不是预测。


    2018年 ,IDASH比赛,1万多个样本,不到2分钟即可训练出一个逻辑回归模型。


    目前国外全同态加密的标准正在开展中,国外真的整个学术界到工业界配合的非常好,目前国外专门有一个民间的全同态加密标准组织。





挑战应对





    如何应对这些挑战呢?
    解决的方法:修改模型适应HE方案,然后再训练。使用低次多项式近似、密文训练比明文训练要困难的多、精度损失明显(对于大规模数据集)。
    目前在机器学习中使用最多的全同态加密方案是CKKS(有的称为HEAAN),支持浮点数。


    CKKS方案的特点:支持(近似)定点数计算、密文模线性增长。
     执行分析型函数的(近似)计算:多项式、乘法逆、三角函数、指数函数(Logistic函数,Sigmoid函数)。
     基于DFT的Packing技巧:SIMD操作、明文槽旋转。





线性回归



    下面我们说说,密文逻辑回归的训练,首先我们说说,什么是线性回归。


    那么 逻辑回归是什么,看下面:


    不好意思啊,因为涉及到一些公式,所以我只能用图片。
    因为逻辑回归就是发现一个最优的参数,所以可以用导数来解决求极值。


    解决方法就是梯度下降法, 这里面的关键是计算Sigmod函数,如何解决?多项式近似。


    目前最佳方法是 使用最小二乘近似Sigmod函数梯度下降的不足,容易陷入局部最优。解决方法:内斯特罗夫加速梯度。

模型训练



    下面我们来说,基于全同态加密的密文逻辑回归模型训练,首先样本数据编码。


    明文计算 转化为 相应的密文计算


    内积计算


    计算Sigmod函数,乘积,求和。这里都是在密态下计算“密文计算”。





效率



    思想介绍完了,效率如何?对于几个标准样本数据集上的测试结果:





    对于1000多样本数量,密文上训练一个逻辑回归模型只需3分钟
    对于15000多样本数量,密文上训练一个逻辑回归模型只需7分钟
故事还没完,学术界最喜欢做的事情就是走极端。
    如果样本数量为几十万。那么,能够做密文逻辑回归模型训练吗?挑战:n变很大,导致乘法次数极大增加;如何控制密文模?如何控制电路深度?
    采用如下方法


    最后,还是老问题:效率如何?效率如下:


    40万样本数量规模,需要1000多分钟训练一个逻辑回归模型。别忘了特征数是200啊,这个效率,已经非常不错了。
    另外,神经网络也是可以在密态下训练的。但是 ,深度神经网络 目前 在反馈传播阶段无法密文进行。
    所以,深度神经网络 不能在密态下进行模型训练。还没有有效的手段方法,今天分享到这里。

交流互动



    陈智罡:  谢谢大家的支持
    小泥湫:  这个任意计算能具体说一下不?乘法和求逆,模运算等都能做是吗?
    陈智罡:  理论上都可以。事实上,这些现在都能做,例如,云环境下,用户将自己的数据加密后,存储在云端。由于是全同态加密,所以用户可以对云中的加密数据进行直接计算操作,无需解密。密文计算结果返回给用户。用户解密获得明文计算结果。即保护了云中数据的隐私安全,也保持了计算功能。
    小泥湫:  密文数据库仅仅只存储密文的数据库吗?它跟密文计算有什么联系呢?谢谢
    陈智罡:  不仅存储,密文计算,一定要计算才可以。
    陈智罡:  传统的密码手段,只能完成通信以及存储的保护,通过加密来解决。
    陈智罡:  但是,计算必须要解密才可以,密文计算一切都不需要解密。
    颜阳:  如果特定的场景,比如a提供同态加密数据给b,b与其计算后结果自用,不回传给a,如征信数据计算,这样的场景还会提高效率?
    陈智罡:  这种情况称为:密文与明文计算
    陈智罡:  是可以的,也可以提高效率。
    颜阳-大数据金融:  严格意义这个不算全同态了吧?
    陈智罡:  我们甚至还可以用明文m*c
    陈智罡:  算的,计算出来的结果是密文,依然具有同态性。
    陈智罡:  结果如果b不知道密钥,将无法使用其明文,全同态加密属于 典型的外包场景。
    白硕:  @陈智罡-全同态加密问个误差方面的问题:全同态目前的算法保连续性吗?对于误差的容忍性如何?密文的误差如果是可控的,相应明文也是可控的吗?密文的序列如果是收敛的,相应明文的序列也是收敛的吗?
    陈智罡:  引入误差后,并不会影响其模型的精度,这是很奇怪的事情,连续性不保。
    陈智罡:  经过大量实验已经论证该结果,密文不存在收敛之说,因为密文是无意义的。做的所有密文计算都为了明文收敛。
    白硕:  没有收敛怎么判断训练什么时候该停下来?
    陈智罡:  解密后判断,目前只能是这样。
    颜阳:  这个也许是个难点
    陈智罡:  但是,模型训练好是给别人用的。训练迭代几次后,可以发给用户,让用户判断是否继续,或者停止。
    白硕:  另外一个问题。如果是N方的数据放在一起学习,大家使用相同的密钥还是不同的密钥?使用不同的密钥怎么保证密文数据放在一起是有公共度量的?
    陈智罡:  如果使用不同的key,就需要使用多key全同态加密方案,多key全同态加密,能够保证不同key的密文进行计算,依然保证同态性。
    白硕:  误差呢
    陈智罡:  当然,用门限全同态加密也可以
    陈智罡:  误差和一般全同态加密一样,因为密文结构都是一样的。唯独不一样的地方是密钥不同,密文尺寸大小不同了。
    陈智罡:  全同态加密应用于机器学习中,具有挑战性。因为机器学习中有大量的非多项式函数计算,以及比较计算。
    陈智罡:  而全同态加密擅长的是多项式计算。所以机器学习中的计算不能直接将全同态加密应用于其中。
    白硕:  RELU,可以算吗?
    陈智罡:  RELU可以
    陈智罡:  通过多项式逼近
    颜阳:  另外问一个问题:在模型训练过程中,可能造成模型训练的中间结果(如梯度值)泄露,会一定程度地窥测到样本数据的特征,怎么避免?
    陈智罡:  不会的,是密态下计算。机器学习分为两个阶段:训练阶段,预测阶段。 训练阶段远远比预测阶段复杂。目前全同态加密应用于预测阶段,效果非常好。
    小泥湫:  2016至今,实践应用速度最快能到多少呀?
    陈智罡:  many many人碰到我,都问:全同态加密有多快?
    陈智罡:  一次乘法,现在大约为几毫秒,但是 全同态加密的速度与其参数直接相关。
    陈智罡:  计算问题越复杂,参数越大,导致速度变慢。
    小泥湫:  全同态加密Python接口库,我想问一下当初选择python来封装的原因。
    小泥湫: 因为SEAL底层的实现貌似是C++的
    陈智罡:  是的,全同态加密目前库都是C++的,但是人工智能的专业人士擅长Python。
    陈智罡:  很多机器学习的库都是Python的
    颜阳:  隐私计算对生物特征识别的意义很大
    陈智罡:  是的
    小泥湫:  你们有尝试使用其他的语言封装吗?
    陈智罡:  今年夏天,欧洲的生物特征库指纹库泄露了,造成了影响很多人下半辈子的生活
    陈智罡:  因为很多人的指纹呢,因为泄露不能再使用了,我们的生物特征认证系统呢,是在密文状态下保存生物特征。
    陈智罡:  比对的时候呢,是通过全同态加密计算,在密台下进行比对。
    陈智罡:  该产品非常具有吸引力,不断可以存储在手机端,也可以存储在云端。
    小泥湫:  陈总,您好,我想问一下,目前FHE在区块链领域有哪些应用?或者您觉得它在区块链上可能存在哪些应用场景。
    陈智罡: 有一些应用在全同态加密、云计算,还在密文,计算等很多领域呢,都可以用。
    小泥湫:  好的,谢谢


    迪:  您好,问两个基础问题:格就是n维向量么?svp可以理解为n维向量分解NP-hard嘛?
    陈智罡:  格是整系数的基,一个空间的话,都可以通过它的基能把所有的点都可以表示出来。
    陈智罡:  但是由于限定了它的系数为整数,所以使得有些点表示不出来,所以格呢,看上去就是离散的点。


    陈智罡:  SVP是求最短向量,如果学过线性代数的话,那么求最短向量是有公式的。
    陈智罡:  但是当n这个维数变大的时候,求最短向量就变成一个困难问题了。
    迪:  get了 前边看定义看错了,谢谢陈总
    赵国栋:  全同态,同态望文生意的含义是什么?
    陈智罡:  密文态和明文态操作保持一致,同态是来自于抽象代数中的一个概念,全同态就指的是可以对密文做任意计算。
    颜阳:  非常感谢致远博士的分享,隐私计算非常烧脑,也非常有前景。我正在组织一个系列的分享,只是大家的时间不能集中到一个星期内,只好分开来。也同时邀请陈博士再行安排下一期。


    分享专家邀请:
    请将您的分享内容发送至files@zgc-bigdata.org。
    要求:
        1、word形式           
        2、可图文结合           
        3、观点明确
    我们收到您的材料后,会第一时间查看反馈,并且确认分享时间,感谢您的参与!






    识别上图二维码即可报名。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:233
帖子:2
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP