文 | 严强 密码学为何称之为密码学?密码和密钥究竟有何区别?隐私保护方案中,密钥的角色是否可以被替代?密钥在使用过程中存在哪些风险? 这里,我们将以密码学中的密码为起点,展开一系列对密码学算法核心组件的技术剖析。密码和密钥在密码学算法中有着至关重要的地位,了解密码和密钥的作用,有助于理解基于密码学的隐私保护方案是否具备有效性。密码和密钥对于用户而言,则是最终达成隐私数据『始于人、利于人、忠于人』隐私保护效果的无上法器。 密码学的英文为Cryptography,源自希腊语“κρυπτ??秘密”和“γρ?φειν书写”。最初,其研究主要集中在『如何在攻击者存在的环境中隐秘地传输信息』,是一个关于信息编码的学科,由于其最重要研究目标之一是保密,实现敏感信息的秘密编码,所以被称之为密码学。 密码学中的密码,和我们日常生活中登录各类信息化系统所使用的密码是两个不同的概念。前者包含了信息加密编码、密文解密解码、数据完整性验证等一系列信息变换过程。而后者更多地是指代密码学信息变换过程中所使用的便于用户记忆的一类密钥,为了以示区别,在下文中称之为用户口令。 在密码学中,密钥的作用与现实生活中的钥匙很相似,只有掌握密钥的用户,才能解密对应的隐私数据,或进行数字签名等相关敏感操作。 为什么密钥能够有这么神奇的作用,一切要从柯克霍夫原则谈起。 柯克霍夫原则 其核心思想是『密码学算法的安全性,不应该建立在算法设计保密的基础上』。即便算法设计是公开的,只要实际使用的密钥没有被攻击者获知,密码学算法产生的密文信息就不应该被轻易破解。 被誉为“信息论之父”的美国数学家、电子工程师、密码学家Claude Elwood Shannon后来将这一原则进一步扩展,应用到任意信息安全相关的系统,由此也奠定了密钥在现代密码学中的核心地位。 密钥具体如何使用呢?这里有必要回顾第3论中提到的,密码学算法设计所基于的计算不对称性,以及与之相关的一个重要概念——单向陷门函数。 一个单向陷门函数可以抽象为y = f(x, key),其中,x为敏感的隐私数据输入,y为经过算法保护的不敏感输出,key就是密钥。实际情形下,根据具体密码学算法设计和实现上的差异,密钥key可以有不同的表现形式,也可以表现为多个秘密参数。 如果以上函数是一个密码学安全的单向陷门函数,在不知道密钥key的前提下,很难从输出y通过逆函数反推出输入x,由此避免了隐私数据的泄露。 由此可见,密钥就是密码学信息变换过程中的最高机密。谁掌握了密钥,谁就掌握了隐私数据的访问权。 人类可用的密钥 目前业界主流推荐的密码学安全强度是256位,即密钥的信息熵至少等价为256比特的随机数。如果我们用常见的字母数字来设定用户所用的密钥,该密钥的长度至少为256/log2(26*2+10) ~= 43个随机字符。 考虑到用户通常为了便于记忆而拼接字典中的单词来构成密钥,此时为了满足密钥信息熵的随机性要求,实际可能需要使用长度更长的密钥。 相比之下,现有系统对用户口令的长度一般要求在6~20字符之间,对于部分应用4~6位数字用户口令也不少见。所以,这些用户口令的随机性和长度都不足以达到256位安全强度。 如果一个隐私保护方案所使用的密钥只源自用户口令,是无法满足隐私数据的安全性要求的。 然而,普通人类并不具备计算机一般强大的计算和记忆能力,难以记忆和处理过长的密钥。此时,需要借助技术手段来提高人类可用密钥的信息熵,常见的解决方案有以下三类: 三类解决方案中,平台全权托管的用户体验最好,同时也伴随着最大的隐私风险。混合托管和本地全权托管,在用户体验上差异不大,混合托管相关的隐私风险更低。 需要注意的是,这里存在一个固有的设计取舍,隐私数据的自主权与数据服务的完备性不可兼得。 平台全权托管方案中,用户隐私数据的实际控制权在平台手中,由此平台可以提供诸如用户口令重设、数据恢复等关键数据服务。 然而,在其他托管方案中,用户隐私数据的实际控制权在用户手中,一旦用户遗失密钥或用户口令,则平台无法解密对应的数据,也无法提供口令重设等相关密钥服务。 密钥相关的风险 这些风险可以大致分为以下两类: 内在风险 这类风险与隐私保护方案的内在设计和实现有关。由于绝大部分密码学算法和协议不是信息论安全,也就说,同一个密钥使用的次数越多,理论上被破解的概率越大。 对应的常见风险分析手段是,考虑对应密码学算法和协议在选择明文攻击(Chosen-plaintext Attack, CPA)和选择密文攻击(Chosen-ciphertext Attack, CCA)下,是否依旧安全。 外在风险 这类风险虽然与隐私保护方案的内在设计和实现无关,但却实实在在地对方案的实际效果产生巨大威胁。 比较典型的攻击有社会工程学,具体指通过欺骗性手段,如钓鱼网站、诈骗短信等,诱导用户直接给出密钥,或者通过下载安装病毒木马,间接盗取密钥。 无论是哪一类风险,如果用户只有一个密钥,一旦被盗,所有的账户都有被盗的风险,后果不堪设想。 处理好这些风险的必要条件,就是产生并使用多个随机密钥,但这也为隐私保护方案的可用性带来了更大的挑战。 除了探索更优的方案设计,适当的用户教育也是非常必要的推广手段。 总体而言,同时处理好密钥使用过程的安全性和可用性,是落实隐私保护的重要前提。 正是:隐私数据控制难自主,访问密钥在手任我行! 密钥是任何基于密码学技术方案的最高机密,如何保障其安全性,并让作为隐私数据属主的人类用户方便地记忆和使用,是将隐私控制权回归属主的关键。 这个过程难免会引入数量繁多的密钥,如何实现有效的密钥管理,对于计算机系统和人类用户可以使用哪些不同的技术和策略,欲知详情,敬请关注下文分解。 《隐私保护周三见》 “科技聚焦人性,隐私回归属主”,这是微众银行区块链团队推出《隐私保护周三见》深度栏目的愿景与初衷。每周三晚8点,专家团队将透过栏目和各位一起探寻隐私保护的发展之道。 栏目内容含括以下五大模块:关键概念、法律法规、理论基础、技术剖析和案例分享,如您有好的建议或者想学习的内容,欢迎随时提出。 栏目支持单位:零壹财经、陀螺财经、巴比特、火讯财经、火星财经、价值在线、链客社区 往期集锦 第1论|隐私和效用不可兼得?隐私保护开辟商业新境地 第2论|隐私合规风险知几何?数据合规商用需过九重关 第3论|密码学技术何以为信?深究背后的计算困难性理论 第4论|密码学技术如何选型?初探理论能力边界的安全模型 第5论|密码学技术如何选型?再探工程能力边界的安全模型 第6论|密码学技术如何选型?终探量子计算通信的安全模型 本文来源:微众银行区块链 —- 编译者/作者:微众银行区块链 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
密码密钥傻傻分不清?认识密码学中的最高机密
2020-04-16 微众银行区块链 来源:火星财经
LOADING...
相关阅读:
- 无锋量化:用量化做数字货币效果如何?实盘数据展示2020-8-6日报2020-08-07
- 质押 DOT 至 imToken 与 IOSG 节点,获 KSM 空投好礼2020-08-06
- 2020“创业之星”大赛大数据和区块链行业赛第一期复赛圆满落幕2020-08-06
- 数据确权与个人数据保护驱动互联网信息革命?2020-08-06
- 太子BCH领涨是有原因的,你可能忽视了BCH一些惊人的数据2020-08-06