gitbook/实用密码学/docs/319460.md
2022-09-03 22:05:03 +08:00

46 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 加餐 | 密码学,心底的冷暖
你好,我是范学雷。
今天是我们的一次加餐,我们不讲知识,我要跟你分享一点关于密码学的小感慨。
2011年的时候因为要参与解决BEAST安全漏洞的国际合作我得以和一些顶尖的密码学家一块儿工作。当时幸运的是我提议的解决方案被广泛采纳成为了事实上的标准给TLS 1.0续了十年的命。
不幸的是,十多年来,我对密码学一直都很崇拜,但是,它的很完美的印象在我的心底被彻底击碎了,这也彻底改变了我对密码学应用市场的认识。
为了更好地帮助我找到解决方案,当时的一位密码学家分享给我一些他的调查数据。这些数据研究了全球最知名的几十万家公司的公开网站,帮助他们发现了很多和密码学相关的安全问题。
问题很严重,国内公司的问题尤其严重。按理说,大公司有钱有人有技术,能够养得起、请得动密码学专业领域的工程师,信息系统应该没有突出的密码学问题。
很遗憾的是2011年的数据表明那时候的国内大公司虽然有钱有人有技术却依然霸占了问题最突出、威胁最严峻的榜单前列。
## 现实和理想
这是我第一次被密码学现实和理想之间的差距震撼到了。因为这些问题,其实都不是什么技术门槛的问题。技术都是公开的,也都是随手可取的。大部分的安全问题,都来源于这些应用的设计者和实现者没有意识到这些麻烦的存在。
他们没有意识到问题的存在,当然也就不可能解决掉这些问题。在密码学业者眼里的常识,也许是普通软件工程师意识之外的存在。更严重的现实是,由于意识不到这些安全问题,这个公司当然也就不知道这些安全漏洞。
什么时候,他们能知道这些问题呢?要么有善意的研究者告诉他们,要么有恶意的攻击者警告他们。更多的时候,恶意的攻击者已经击破了系统,盗取了数据,也没有留下痕迹,当然也没有敲响警钟。这些被盗取的数据,随时都会是威力巨大的暗雷,不知道什么时候就会引爆!
从BEAST安全漏洞开始随后的几年里我的工作时间几乎就被不断颠覆的密码算法霸占了。三五年的时间里几乎所有的主流密码学算法都爆出了或多或少的漏洞。昨天还占据主流地位的算法今天就被宣布有破解办法明天就要被扫进历史的垃圾箱了。
大家都忙着给算法打补丁,找替代品,更新产品。这种连环式的暴雷,过了五六年才算消停。 但是能够消停也是因为业界几乎把2010年之前主流的密码学算法都换了一个遍。
## 隐忧依然存在
2020年一切似乎算是可以喘口气了。可是隐忧依然存在。
第一个隐忧就是大家都知道老算法有问题那使用新算法了吗答案是令人难堪的并没有。比如2020年Zoom就被研究者披露使用了二三十年前就已经不安全的加密算法。
第二个隐忧是,如果使用新算法,数据就安全了吗? 答案还是令人难堪的:也不一定安全。如果有心者记录了历史数据,如果加密历史数据的算法有一天被破解,历史数据还是有可能被破解。历史数据里有价值的信息,比如用户名和密码,再比如知名人士的行程。尴尬的是,有人认为,不仅存在这样的有心者,而且还有钱有权有势。
第三个隐忧是,如果是新系统、新算法,数据就安全了吗?答案稍微让人欣慰:还有一点风险。这点需要防范的风险就是,如果新算法未来被破解,加密数据能不能被解密? 我们要确保即使未来算法被破解,特别是量子时代到来后,数据也没有办法解密。要做到这一点,还是需要有点密码学领域的专业知识积累的。
看看这些隐忧,我心里只有凉凉两个字。因为,大部分的软件工程师还没有掌握密码学的基础知识,当然也不会担心这些问题。不担心这些问题,当然就更不会有人去想解决问题的方法。
不过我还是听说有很多学校在大学一二年级开设了类似于“密码学101”这样的基础课即便学生的专业并不是计算机。但令人欣慰的是即使不是软件工程师像密码学101这样的基础课程也可以帮助我们更好地保护自己的隐私保护自己。
**十年后,也许有一个新模样。**
极客时间的《实用密码学》这个专栏,就是我为十年后的新模样,添的一块砖。