作者:严强
来源:微众银行区块链
密码学为何称之为密码学?密码和密钥究竟有何区别?隐私保护方案中,密钥的角色是否可以被替代?密钥在使用过程中存在哪些风险?
这里,我们将以密码学中的密码为起点,展开一系列对密码学算法核心组件的技术剖析。密码和密钥在密码学算法中有着至关重要的地位,了解密码和密钥的作用,有助于理解基于密码学的隐私保护方案是否具备有效性。密码和密钥对于用户而言,则是最终达成隐私数据『始于人、利于人、忠于人』隐私保护效果的无上法器。密码学的英文为Cryptography,源自希腊语“κρυπτ??秘密”和“γρ?φειν书写”。最初,其研究主要集中在『如何在攻击者存在的环境中隐秘地传输信息』,是一个关于信息编码的学科,由于其最重要研究目标之一是保密,实现敏感信息的秘密编码,所以被称之为密码学。
密码学中的密码,和我们日常生活中登录各类信息化系统所使用的密码是两个不同的概念。前者包含了信息加密编码、密文解密解码、数据完整性验证等一系列信息变换过程。而后者更多地是指代密码学信息变换过程中所使用的便于用户记忆的一类密钥,为了以示区别,在下文中称之为用户口令。
密码学博士高承实:量子计算机大规模应用将对非对称密码算法和哈希函数带来致命性的影响:密码学博士,计算机应用专业副教授高承实发表《量子计算机的应用会颠覆掉比特币系统吗?》专栏文章,文章表示,量子计算机从发展状况来看,还处于极其早期阶段,离真正实用还有相当远的距离。如果量子计算机真正能够大规模应用,将对密码算法当中的非对称密码算法和哈希函数带来致命性的影响。现在基于数学难解问题而生成的非对称密码算法RSA和ECC安全性将不复存在,哈希函数的抗碰撞性也将受到极大挑战,除非尽可能增加哈希函数的输出长度。目前的非对称密码,主要是ECDSA和哈希函数SHA256,是比特币系统最核心的底层技术,确保了比特币分配和支付的安全,在比特币系统的多个环节得到了应用,包括生成钱包地址、对交易进行签名和验证、计算区块内所有交易的默克尔数生成区块以保证块内数据难以被篡改、激励矿工开展挖矿竞赛以维护系统的自运行……如果ECDSA和SHA256两种算法的安全性不复存在,那么整个比特币系统的安全性也将不复存在。
当然我们也没有必要那么悲观。第一,量子计算机的真正使用还有相当远的距离;第二,随着量子计算以及量子计算机的发展,抗量子计算的密码算法也会同步得到发展,比如格密码。
真的到了那个时候,或者比特币系统中的密码模块会替换为抗量子计算的密码模块,或者比特币已经完成它的历史使命,从这个世界上消亡。(财新)[2020/12/24 16:21:46]
在密码学中,密钥的作用与现实生活中的钥匙很相似,只有掌握密钥的用户,才能解密对应的隐私数据,或进行数字签名等相关敏感操作。
全国密码创新大赛为获奖团队颁发数字人民币奖金138万元:10月26日,“金融密码杯”2020全国密码应用和技术创新大赛颁奖在苏州举行。央行副行长范一飞及评审指导小组成员为获奖团队颁发了数字人民币奖金,获奖团队来自建信金融科技公司、北京邮电大学等,由此计算此次共发出数字人民币奖金138万元。(21世纪经济)[2020/10/27]
为什么密钥能够有这么神奇的作用,一切要从柯克霍夫原则谈起。
柯克霍夫原则
柯克霍夫原则是现代密码学算法设计基本原则之一,最早由荷兰密码学家AugusteKerckhoffs在1883的论文LaCryptographieMilitaire中提出。
其核心思想是『密码学算法的安全性,不应该建立在算法设计保密的基础上』。即便算法设计是公开的,只要实际使用的密钥没有被攻击者获知,密码学算法产生的密文信息就不应该被轻易破解。
声音 | 卫士通:公司在区块链等密码基础前沿领域有科技创新投入:卫士通(002268.SZ)在深交所回复投资者时表示,公司在区块链等密码基础前沿领域有科技创新投入。[2020/2/18]
被誉为“信息论之父”的美国数学家、电子工程师、密码学家ClaudeElwoodShannon后来将这一原则进一步扩展,应用到任意信息安全相关的系统,由此也奠定了密钥在现代密码学中的核心地位。
密钥具体如何使用呢?这里有必要回顾
第3论中提到的,密码学算法设计所基于的计算不对称性,以及与之相关的一个重要概念——单向陷门函数。
一个单向陷门函数可以抽象为y=f(x,key),其中,x为敏感的隐私数据输入,y为经过算法保护的不敏感输出,key就是密钥。实际情形下,根据具体密码学算法设计和实现上的差异,密钥key可以有不同的表现形式,也可以表现为多个秘密参数。
如果以上函数是一个密码学安全的单向陷门函数,在不知道密钥key的前提下,很难从输出y通过逆函数反推出输入x,由此避免了隐私数据的泄露。
现场 | 于佳宁:密码经济时代法定数字货币带来四大变革:11月10日下午,2019密码经济研讨会在重庆市南岸区华商国际会议中心正式开幕。火币大学创始人于佳宁发表了《密码经济时代的风口:智能商业变革》为主题的演讲,于佳宁表示密码经济时代法定数字货币将带来低成本高效率、较为稳定与安全、支付记录可控匿名、交易数字化与智能化四大变革。于佳宁认为区块链很大程度上是密码经济的一个分支,在密码经济的应用下,万物的交易将带来经济效益的急剧飞跃和生产力的极大提升。[2019/11/10]
由此可见,密钥就是密码学信息变换过程中的最高机密。谁掌握了密钥,谁就掌握了隐私数据的访问权。
人类可用的密钥
一般而言,再精密的隐私保护方案,最终都需要服务于人类用户。由于密码学隐私保护方案的安全性很大程度上取决于密钥的长度和复杂性,这也为人类用户在使用密钥时带来了不小挑战。
声音 | “公钥密码学之父”Diffie:区块链是降低和改变网络不安全性的一个主要方向:11月11日,2015年图灵奖得主、有“公钥密码学之父”之称的Whitfield Diffie在上海举行的区块链底层技术学术交流会上发表主题演讲。Diffie认为,互联网有三个主要性质:开放性、去中心化与支持社会变革,但它不可避免地存在一定不安全性,区块链则是降低和改变网络不安全性的一个主要方向。他称,网络安全涉及以下重要元素:一是安全计算,二是密码学,三是从发现恶意软件开始,防范它甚至回击它。Diffie最后提出对网络安全的几点意见:开发抗量子的公钥加密系统;重新审视未被解决的经典计算机安全问题,并用人工智能和其他新技术来解决;开发更多大规模的可信赖软件系统。[2018/11/11]
目前业界主流推荐的密码学安全强度是256位,即密钥的信息熵至少等价为256比特的随机数。如果我们用常见的字母数字来设定用户所用的密钥,该密钥的长度至少为256/log2(26*2+10)~=43个随机字符。考虑到用户通常为了便于记忆而拼接字典中的单词来构成密钥,此时为了满足密钥信息熵的随机性要求,实际可能需要使用长度更长的密钥。
相比之下,现有系统对用户口令的长度一般要求在6~20字符之间,对于部分应用4~6位数字用户口令也不少见。所以,这些用户口令的随机性和长度都不足以达到256位安全强度。
如果一个隐私保护方案所使用的密钥只源自用户口令,是无法满足隐私数据的安全性要求的。
然而,普通人类并不具备计算机一般强大的计算和记忆能力,难以记忆和处理过长的密钥。此时,需要借助技术手段来提高人类可用密钥的信息熵,常见的解决方案有以下三类:
三类解决方案中,平台全权托管的用户体验最好,同时也伴随着最大的隐私风险。混合托管和本地全权托管,在用户体验上差异不大,混合托管相关的隐私风险更低。
需要注意的是,这里存在一个固有的设计取舍,隐私数据的自主权与数据服务的完备性不可兼得。
平台全权托管方案中,用户隐私数据的实际控制权在平台手中,由此平台可以提供诸如用户口令重设、数据恢复等关键数据服务。
然而,在其他托管方案中,用户隐私数据的实际控制权在用户手中,一旦用户遗失密钥或用户口令,则平台无法解密对应的数据,也无法提供口令重设等相关密钥服务。
对于企业而言,具体方案的选择,需要结合用户使用习惯和行业监管要求,建议在平台全权托管和混合托管之间做选择。对于高敏感性隐私数据,酌情选择混合托管,并需要配合密钥恢复方案使用。
密钥相关的风险
隐私数据的自主权往往是隐私保护方案强调的重点,但是为了切切实实地获得控制权,仅仅是安全地使用单个安全密钥,就可能会给用户体验方面带来显著负担,而且还需要防范其他密钥相关的泄露风险。
这些风险可以大致分为以下两类:
内在风险
这类风险与隐私保护方案的内在设计和实现有关。由于绝大部分密码学算法和协议不是信息论安全,也就说,同一个密钥使用的次数越多,理论上被破解的概率越大。
对应的常见风险分析手段是,考虑对应密码学算法和协议在选择明文攻击和选择密文攻击下,是否依旧安全。
这两类攻击都允许攻击者获得一定数量的隐私数据明文和密文对,由此分析破解所使用的密钥。
在现实生活中,攻击者非常有可能获得这样的能力,截获明文和密文对,甚至主动注入数据,生成破解分析所需的明文和密文对,这类风险是真实存在的。
外在风险
这类风险虽然与隐私保护方案的内在设计和实现无关,但却实实在在地对方案的实际效果产生巨大威胁。
比较典型的攻击有社会工程学,具体指通过性手段,如钓鱼网站、短信等,诱导用户直接给出密钥,或者通过下载安装病木马,间接盗取密钥。
无论是哪一类风险,如果用户只有一个密钥,一旦被盗,所有的账户都有被盗的风险,后果不堪设想。
处理好这些风险的必要条件,就是产生并使用多个随机密钥,但这也为隐私保护方案的可用性带来了更大的挑战。
无论隐私保护方案设计安全性多高,如果由于用户体验差,用户难以接受,或者以不安全的变通方式使用,其真实有效性都会大打折扣。这也是学术方案向业务方案转化最常见的阻碍之一。
除了探索更优的方案设计,适当的用户教育也是非常必要的推广手段。
总体而言,同时处理好密钥使用过程的安全性和可用性,是落实隐私保护的重要前提。
正是:隐私数据控制难自主,访问密钥在手任我行!
密钥是任何基于密码学技术方案的最高机密,如何保障其安全性,并让作为隐私数据属主的人类用户方便地记忆和使用,是将隐私控制权回归属主的关键。
这个过程难免会引入数量繁多的密钥,如何实现有效的密钥管理,对于计算机系统和人类用户可以使用哪些不同的技术和策略,欲知详情,敬请关注下文分解。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。