大家好,我是TT。
這篇不講知識,我要跟你分享一點關于密碼學的小感慨。
2011年的時候,因為要參與解決BEAST安全漏洞的國際合作,我得以和一些頂尖的密碼學家一塊兒工作。當時,幸運的是,我提議的解決方案被廣泛采納,成為了事實上的標準,給TLS 1.0續(xù)了十年的命。
不幸的是,十多年來,我對密碼學一直都很崇拜,但是,它的很完美的印象在我的心底被徹底擊碎了,這也徹底改變了我對密碼學應用市場的認識。
為了更好地幫助我找到解決方案,當時的一位密碼學家分享給我一些他的調(diào)查數(shù)據(jù)。這些數(shù)據(jù)研究了全球最知名的幾十萬家公司的公開網(wǎng)站,幫助他們發(fā)現(xiàn)了很多和密碼學相關的安全問題。
問題很嚴重,國內(nèi)公司的問題尤其嚴重。按理說,大公司有錢有人有技術,能夠養(yǎng)得起、請得動密碼學專業(yè)領域的工程師,信息系統(tǒng)應該沒有突出的密碼學問題。
很遺憾的是,2011年的數(shù)據(jù)表明,那時候的國內(nèi)大公司,雖然有錢有人有技術,卻依然霸占了問題最突出、威脅最嚴峻的榜單前列。
現(xiàn)實和理想
這是我第一次被密碼學現(xiàn)實和理想之間的差距震撼到了。因為這些問題,其實都不是什么技術門檻的問題。技術都是公開的,也都是隨手可取的。大部分的安全問題,都來源于這些應用的設計者和實現(xiàn)者沒有意識到這些麻煩的存在。
他們沒有意識到問題的存在,當然也就不可能解決掉這些問題。在密碼學業(yè)者眼里的常識,也許是普通軟件工程師意識之外的存在。更嚴重的現(xiàn)實是,由于意識不到這些安全問題,這個公司當然也就不知道這些安全漏洞。
什么時候,他們能知道這些問題呢?要么有善意的研究者告訴他們,要么有惡意的攻擊者警告他們。更多的時候,惡意的攻擊者已經(jīng)擊破了系統(tǒng),盜取了數(shù)據(jù),也沒有留下痕跡,當然也沒有敲響警鐘。這些被盜取的數(shù)據(jù),隨時都會是威力巨大的暗雷,不知道什么時候就會引爆!
從BEAST安全漏洞開始,隨后的幾年里,我的工作時間幾乎就被不斷顛覆的密碼算法霸占了。三五年的時間里,幾乎所有的主流密碼學算法都爆出了或多或少的漏洞。昨天還占據(jù)主流地位的算法,今天就被宣布有破解辦法,明天就要被掃進歷史的垃圾箱了。
大家都忙著給算法打補丁,找替代品,更新產(chǎn)品。這種連環(huán)式的暴雷,過了五六年才算消停。但是,能夠消停,也是因為業(yè)界幾乎把2010年之前主流的密碼學算法都換了一個遍。
隱憂依然存在
2020年,一切似乎算是可以喘口氣了??墒?,隱憂依然存在。
第一個隱憂就是,大家都知道老算法有問題,那使用新算法了嗎?答案是令人難堪的:并沒有。比如,2020年,Zoom就被研究者披露使用了二三十年前就已經(jīng)不安全的加密算法。
第二個隱憂是,如果使用新算法,數(shù)據(jù)就安全了嗎?答案還是令人難堪的:也不一定安全。如果有心者記錄了歷史數(shù)據(jù),如果加密歷史數(shù)據(jù)的算法有一天被破解,歷史數(shù)據(jù)還是有可能被破解。歷史數(shù)據(jù)里有價值的信息,比如用戶名和密碼,再比如知名人士的行程。尷尬的是,有人認為,不僅存在這樣的有心者,而且還有錢有權(quán)有勢。
第三個隱憂是,如果是新系統(tǒng)、新算法,數(shù)據(jù)就安全了嗎?答案稍微讓人欣慰:還有一點風險。這點需要防范的風險就是,如果新算法未來被破解,加密數(shù)據(jù)能不能被解密?我們要確保即使未來算法被破解,特別是量子時代到來后,數(shù)據(jù)也沒有辦法解密。要做到這一點,還是需要有點密碼學領域的專業(yè)知識積累的。
看看這些隱憂,我心里只有涼涼兩個字。因為,大部分的軟件工程師還沒有掌握密碼學的基礎知識,當然也不會擔心這些問題。不擔心這些問題,當然就更不會有人去想解決問題的方法。
不過,我還是聽說,有很多學校,在大學一二年級,開設了類似于“密碼學101”這樣的基礎課,即便學生的專業(yè)并不是計算機。但令人欣慰的是,即使不是軟件工程師,像密碼學101這樣的基礎課程,也可以幫助我們更好地保護自己的隱私,保護自己。
十年后,也許有一個新模樣。