LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 密码学原语如何应用?精彩36问

密码学原语如何应用?精彩36问

2020-06-30 巴比特 来源:火星财经

2020年3月4日,《隐私保护周三见》正式与大家见面。栏目围绕即时可用场景式隐私保护高效解决方案WeDPR的核心技术点,每周三晚8点,以社群直播的形式,和各位专家一起探寻隐私保护的发展之道。

每一个论题,交流群里的伙伴或积极参与讨论,或对分享内容不吝指正,不断助力论题拓宽研究深度,也让我们获益匪浅。本合集对交流群中的精彩碰撞进行整理汇编,以飨读者。

自下一论(第15论)起,我们将针对数字化业务系统中无处不在的数字签名开展系列解析,欢迎更多伙伴加入,共话隐私保护。进群请在公众号对话框回复【小助手】。

点击回顾:第1~9论精彩50问

第10论|密码学原语如何应用?解析密码学特有的数据编解码

51

@中·李:PKCS#7中,隐私数据本身以05结尾,没有影响吗?@廖飞强:不影响。不管以什么内容结尾,都会填充,因此最后一部分是填充数据,可以区分是填充格式的内容还是数据本身的内容。

52

@Suki:数据编解码与数据加解密有什么区别?@廖飞强:单纯的数据编解码不能提供数据机密性功能,数据加解密是一类提供数据机密性保护的密码算法,但实现这些密码算法离不开数据编解码的参与。

另外,数据编解码不只用在数据加解算法中,例如第9论中的单向哈希实现,也需要数据编解码。数据编解码是密码协议中数据处理不可缺少的环节。

53

@blackflower:抗量子数据加密算法中,是如何进行数据映射的,需不需要用到量子协议?@廖飞强:抗量子数据加密算法目前研究较多的是格密码,其实现与量子协议没关系,也不存在使用量子协议进行编解码。类似还有NTRU等,其数据映射还是采用经典的数学编解码方式。

54

@wheat:加解密性能看起来和数据分组方式有很大关系啊,现在国密性能普遍偏低,是否与这有关系?@廖飞强:关系不太大,国密也是采用这些标准的分组加密模式,慢的原因主要还是在算法软件工程实现上。

55

@wheat:分享中说到,数据分组会影响安全和性能,是不是有最佳推荐方式或者标准规范呢?@廖飞强:一般从安全和性能上考虑,推荐CTR分组加密模式。

GMSSL中关于国密SM4的实现现状可以参考下图:

56

@唐炜:CTR主要还是因为可以并行,速度快,能否结合ECB这类方式,增加一些保护的强度?@廖飞强:CTR实际上可以看成是解决了ECB模式的安全性的优化版本,而不牺牲并行加解密。

@唐炜:CTR的密码本会不会有点简单啊?

@廖飞强:不会。CTR简洁且安全,得益于它的计数器设计。每次加密解其计数器中的nonce是随机选取的,作用类似于CBC中的IV,因此有效解决了ECB的安全问题。

@唐炜:这样的确安全一些。IV的传递和使用安全性也是个管控点吗?

@廖飞强:get到点了,IV和nonce都要随机产生,不能重复使用。

@唐炜:要把IV当成密钥一样传递、使用。不用了,销毁。这样应该可以吧?

@廖飞强:一次使用过程中,IV是附加在密文一起的,解密需要用到IV。IV的作用是提供随机性,即相同明文、相同密钥,每次提供不同的IV,其密文是不同的。其密文的安全,依赖于密钥的保护。

@唐炜:但保密传输他不香吗?

@廖飞强:密文+IV就是能保密传输的数据。

@唐炜:每次使用一个随机的IV和多个IV,n个参数一起产生IV,n至少一个。不固定。安全性和便利性有啥变化吗?也就是随机种子的产生方式问题。

@廖飞强:建议最好不用自己设计的随机数产生方法,容易出现漏洞,难以提供随机性。使用标准的伪随机生成器就能满足要求。

57

@唐:国密算法通过加密机主要起到什么作用?硬加密相比软加密有哪些好处?@廖飞强:加密机提供保护密钥、执行加解密等密码算法的功能。硬加密对比软加密的显著优势是大幅提升了性能和安全性。另外还提供了更好的随机数,便于产生更安全的密钥。

58

@唐:现在的数字信封方式动态产生密钥文件主要作用是避免密钥泄露吗?@廖飞强:动态产生密钥文件更安全,如果能一次一密,当然更好。

@刘雪峰@西电:嘉宾今天讲的加密上工程面临的问题,很透彻。隐私计算领域,工程坑也有很多,比如负数、浮点数、无理数等等,目前还没有统一标准。这个可能也是未来学术工程化一个待解决的问题。

@廖飞强:是的,密码协议的标准工程实现也面临很大的挑战,需要不断完善、升级。

第11论|密码学原语如何应用?解析密码学承诺的妙用

59

@邱震尧:使用支持加法同态特性的加密算法,是否也能实现类似Pedersen承诺的密文加法约束关系验证的效果?例如使用Paillier加法同态加密算法。

@廖飞强:Paillier加法同态加密算法可以达到这种密文关系效果,但Paillier可以解密密文,主要用于用户自身的加解密数据。其密钥需要自己保存,因此不方便其他人验证。

60

@唐炜:这个不解密计算的方法,已经有和应用系统贯通的场景使用了吗?

@廖飞强:目前使用最广泛的就是隐私支付了,比如WeDPR提供公开可验证密文账本方案中的隐私交易特性就采用了Pedersen承诺。

61

@H:听过3D零知识证明,不知道是不是也用到了Pedersen承诺?

@廖飞强:通过查看公开的专利,使用到了Pedersen承诺。其核心是Pedersen承诺结合双线性对构造了一种验证乘法关系的方案。

62

@琪:Pedersen承诺看似挺好用,用于零知识证明过程中有什么不足或局限吗?

@廖飞强:有的。Pedersen承诺适合做简单的约束关系证明,对于复杂的关系证明都需要额外构造。另外要证明承诺值满足在一个特定范围,需要额外的范围证明提供支持。

@lekkoliu:zk-SNARKs零知识证明系统。还是挺期待的

@廖飞强:后续有零知识证明系统专题哈,欢迎持续关注!

第12论|密码学原语如何应用?解析密文同态性的妙用

63

@lekkoliu:目前同态性在应用层面哪些已经投入了产业界使用?又分别在哪些领域,性能如何?

@李昊轩:目前利用同态性构造的密码协议非常多,比如支付、投票、竞拍等等隐私保护场景均会涉及。半同态加密方案已经比较成熟,能够满足大多数业务的需求。全同态近些年发展也很快,在医疗领域也有了一些应用,但是正如前面所说,还面临数据膨胀、复杂度高等问题,支持高频次和大数据量的业务需求,还需一定的努力。

64

@lekkoliu:全同态的方案目前仅面临性能的瓶颈了吗?根据摩尔定律来看,是否三到五年后能够到来呢?

@李昊轩:全同态方案目前除了性能瓶颈外,还面临业务方理解难度大、模型复杂等问题。但是按照当前的发展势头,发展可期。

65

@皱皱:同态加密和安全多方计算哪个更好?

@李昊轩:同态加密被广泛用于构造安全多方协议。同态加密本质是一种加密算法,即对数据的加密和解密。安全多方计算则是一种协议模型,即对数据进行一定处理,得到最终结果。两者相辅相成,不具有直接可比性。

66

@皱皱:那么同态加密、零知识证明、安全多方计算,他们都有什么关系?

@李昊轩:可以这样理解,同态加密可以用来实现安全多方计算,零知识证明可以用来保证安全多方计算的正确性。根据密文的同态性,可以巧妙构造一些零知识证明,从而证明这些不同密文之间的代数关系,如证明C(v1)=c(v2)+c(v3)。

67

@kentzhang:单密钥和多密钥同态性能差异,大到什么程度,和密钥个数成怎样的比例?

@李昊轩:多密钥全同态加密在算法复杂度上与单密钥至少有10倍以上的差距,可以参考这篇文章《EfficientMulti-KeyHomomorphicEncryptionwithPackedCiphertextswithApplicationtoObliviousNeuralNetworkInference》

68

@kentzhang:多方同态在个数有限,数据量较小(64位以下),比如3方的情况下,还能做到体验上基本可用、立等可取的节奏不?

@李昊轩:在大部分情况下,多密钥同态性能都不如其他定制化的安全多方计算协议,目前多密钥同态在工程上的实现较少,仅有的工程实现资料主要是微软研究院针对SEAL做的扩充。

69

@blackflower:想问一下,有没有可以体验的全同态开源代码库?

@李昊轩:这个网站总结了一些目前开源的全同态加密库,可以参考下:https://homomorphicencryption.org/introduction/

70

@suki:密文同态技术和区块链有什么好的结合点?

@李昊轩:比如在联盟链中,考虑到监管需求,链上机构可能需要将应用中的一些隐私数据上链,如营收账目、产品流量等。为了不泄露机密,机构可以使用监管方的公钥对这些信息进行加密,加密后,信息统计可交由代理机构完成。在这种场景下,由于需要针对密文进行计算,同态加密便可大展身手。

71

@wheat:如何看待利用承诺构造乘法同态,再结合本身承诺具备的加法同态,就叫做全同态的说法?

@李昊轩:这种说法在学术圈比较少见。全同态在密码学中一般指全同态加密FHE,FullyHomomorphicEncryption,或者我们一般说密文具备什么样的同态性。

72

@wheat:snark是否有使用同态性质,或者说借助这个特性?比如如ZCash中的拆分支付,是否用到?我理解需要证明会计平衡,可能需要……

@李昊轩:ZKSNARK是基于电路构造,原理上也是根据不同密文中对应的明文相互关联进行验证,这种也可以说是广义上的同态性。

73

@wheat:既然全同态这么难,有没有存在比较好的办法,将乘法转为加法,然后用加法同态来实现隐匿计算?联邦学习中就必然会面临这个问题

@李昊轩:机器学习中经常面临的问题是计算模型不明确,如果是确定性的计算过程,比如说固定轮次的乘法这种,转换为加法,然后使用半同态方案就比较高效。

74

@郭锐KyonGuo:感谢李老师,很硬核!能否推荐同态加密相关的综述性论文供大家参考。

@李昊轩:半同态的算法目前比较成熟,我就不再赘述了。多密钥全同态的论文可以参考这篇《Multi-KeyFHEfromLWE》

第13论|密码学原语如何应用?走近门限密码算法

75

@琪:请问门限签名讲解过程中,提到了可以不依赖可信第三方来初始化,具体是怎么操作的?

@李昊轩:有多种替代第三方初始化的过程,我这里抛砖引玉给大家提供一种方法。一种常见的思想就是使用我们之前提到过的密文同态性,用户本地产生随机数,将私钥碎片放入密码信封中,作为密文共享,最后完成初始化的过程。

76

@小花:想了解一下,门限密码学算法和相关技术方案,有没有好的开源库推荐?

@李昊轩:门限密码学有很多通用算法,以门限签名为例,基于BLS的门限签名就是比较常用的实现方案,开源社区上有很多成熟实现。

77

@李大狗:比多签更加复杂的权限控制是怎么实现的呢?例如不同的私钥有不同的权重。

@李昊轩:有一个很朴素的思想,就是一个实体拥有两份私钥,这样他对外的权重就可以理解为2。当然,更复杂的扩充方案密码学中也有考虑,但是如何在保证私钥权重隐私性的情况下,还能实现不同权重的占比,也是密码学一个很有意思的研究方向,这里也和安全多方可计算相关。

@唐炜:如果不考虑性能,可以切多份私钥,权重靠私钥的数量来划分。以前的方案里,门限都是用来解开备份密钥的。

78

@wheat:门限加密只能是公私钥的方式吗?有没有对称加密模式的门限加密呢?

@李昊轩:针对秘密共享是密码学原语之一,公钥加密和签名是公钥密码领域的设计。

79

@wheat:似乎没提schnnor,怎么看schnnor和BLS?

@李昊轩:schnorr聚合签名是将n个公钥,对应的n个签名聚合在一起,减少验证签名成本的一种优良方案,和我们讲的门限签名不太一样,这里就没有展开。

80

@袁浩然-HaoranYuan:尽管现有的秘密分享、门限加密、门限签名可以实现多用户参与的密文解密、签名等功能,但是现有的方案在用户撤销时,是否依然面临系统重构问题,是否还是需要重构拉格朗日差值多项式?

@李昊轩:作为一种特殊的群签名,可扩充的门限密码方案在复杂度上都不是特别理想。成员新增、扩充等操作都依赖重复初始化的过程,这个也是一个很有意思的研究方向,就这个问题而言,大部分方案看上去都需要。

81

@曾毅DevinZeng:如果要实现ABC三个用户的三分之二门限签名,那么在签名前,ABC是怎么得到自己的私钥分片的?他们需要两两通讯多次吗?

@李昊轩:可以参考《ThresholdSignatures,MultisignaturesandBlindSignaturesBasedontheGap-Diffie-Hellman-GroupSignatureScheme》这篇文章。这篇文章基于BLS做了门限签名的扩充,交互不需要两两交互,只需要所有成员共同交互一次就可以,剩下的过程可以用交互证明来省略。

82

@杨高峰:可不可以多硬件同时工作,提高可用性?@严强:一定程度上是可以的,但有安全性代价和限制。

这里关键是要不要把TEE中私钥导出,如果需要导出,那解决可用性问题的同时,其安全性的卖点也相当于打了折扣。

如果不从TEE中导出私钥,可以通过一些基于门限密码学的方案,联合使用多个硬件设备中的私钥共同生成一个公开公钥,这样可在一定程度上缓解可用性问题,但是这些方案,一般只支持静态的TEE设备组,不支持动态增加TEE设备,不能从根本上解决可用性问题。

83

@达达:我觉得评价一个技术的成熟度,不应该看存在了多少年,应该看实用了多少年吧~

@李昊轩:评价技术成熟度可以从学术研究和产业落地两方面考量,学术价值和产业应用不完全对等,但两者相辅相成。

@严强:有道理,在这个标准上,那TEE可能就更年轻了。

84

@suki:想请问下严博士,有人说TEE是隐私保护对于数据可用性的妥协,不得不信厂商和平台,怎么看待这一观点?

@严强:用户总是有选择的权力的。隐私保护的诉求很多时候是一个风险管理问题,如果收益很高,用户对隐私风险也不敏感,那信厂商和平台也无妨。但如果不是这个情况,可以酌情选择不参与,压根不提供数据,或者使用其他技术方案。

也会有一些观点提到,其他的软件通用方案都不能支持现有的实际业务需求,说的也不是没有道理。但是它并没有提定制化方案也走不通,我们在实际业务探索中发现,如果认真去提炼具体的业务场景需求,并围绕场景的共性为核心,设计定制化方案,也能很好满足需求,而且不需要引入任何中心化的可信第三方。

85

@三塔菌:感谢严博士的精彩分享,作为小白,想请教几个问题:1、TEE是和硬件(或者硬件平台)强相关的,目前可以作为平台服务商的公司是否屈指可数呢?那么,基于TEE的数据隐私方案是否只能这些厂商来主导呢? 2、TEE技术在保护用户数据方面有很好的优势,但是这种能力是否适用在物联网场景下呢? 3、听说有软TEE和硬TEE两种,软TEE是否是一种伪TEE呢?

@严强

1、TEE只是一个技术工具,很难说由谁来主导的问题,作为用户和开发者,大家总是有,不使用平台服务商指定的TEE权力的。 2、对于物联网应用,如果TEE硬件设备,是在公开环境中部署的,它可以起到一定的安全加固作用。至于是不是能够保护好用户数据,就要看TEE设备实际有谁来控制了。 3、软TEE通常指通过软件算法手段,来核实程序执行的环境是否被修改,通常会比硬TEE的验证功能弱。但其也有优点,一般不依赖中心化的验证服务,不能说是伪TEE。

86

@三塔菌:我理解TEE是一个基于硬件的可信执行环境,这个硬件在终端设备上,秘钥不出终端设备。但是基于云服务的TEE是指云服务厂商提供TEE的方案么?这个秘钥要是不在终端,感觉就有些不靠谱了~

@严强:TEE的精髓在于,信则有。如果相信云服务商,自然可以用用他们的服务。否则的话,还是需要自己能够掌控TEE硬件。作为一项安全加固技术,TEE在自己机构内部,还是可以安心使用的。

《隐私保护周三见》

“科技聚焦人性,隐私回归属主”,这是微众银行区块链团队推出《隐私保护周三见》深度栏目的愿景与初衷。每周三晚8点,专家团队将透过栏目和各位一起探寻隐私保护的发展之道。

栏目内容含括以下五大模块:关键概念、法律法规、理论基础、技术剖析和案例分享,如您有好的建议或者想学习的内容,欢迎随时提出。

本文来源:巴比特
原文标题:密码学原语如何应用?精彩36问

—-

编译者/作者:巴比特

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...