今年2月,三位中國(guó)專家在山東宣布的研究成果,震動(dòng)了國(guó)際數(shù)學(xué)界和密碼學(xué)界。
大多數(shù)人可能根本無(wú)法理解,這項(xiàng)研究成果——一張布滿數(shù)字的表格究竟有什么意義?對(duì)于某些數(shù)學(xué)專家來(lái)說(shuō),它意味著,人們?cè)诶碚撋峡梢允褂靡慌_(tái)價(jià)值25萬(wàn)美元的先進(jìn)計(jì)算機(jī),花四個(gè)月的時(shí)間復(fù)制一串很長(zhǎng)的數(shù)字——這有什么值得大驚小怪的呢?
答案很簡(jiǎn)單。它關(guān)乎我們每一個(gè)人的銀行賬戶安全。
目前,我們?cè)谔幚砭W(wǎng)上業(yè)務(wù)時(shí)采用的關(guān)鍵保密措施,是通過(guò)一種名為安全散列算法的數(shù)學(xué)方法產(chǎn)生的數(shù)字串來(lái)確認(rèn)信息發(fā)送者的身份,并確保內(nèi)容的真實(shí)性。這些數(shù)字串是互聯(lián)網(wǎng)上“數(shù)字簽名”的核心所在——數(shù)字簽名是網(wǎng)上類似于指紋、印記、手寫簽名的識(shí)別信息。
安全散列算法是互聯(lián)網(wǎng)軟件基礎(chǔ)的一部分,一旦它被證明是脆弱的,就意味著所有人的銀行賬戶都可能面臨更高的被非法進(jìn)入并被盜取存款的危險(xiǎn)。而來(lái)自山東大學(xué)、山東交通大學(xué)和中國(guó)科學(xué)院的研究者宣布,他們已經(jīng)通過(guò)數(shù)學(xué)方法證明:安全散列算法遠(yuǎn)比人們想像的要脆弱得多。
安全散列算法是一種相對(duì)古老的算法,全世界的數(shù)學(xué)家已經(jīng)花了很多年時(shí)間去測(cè)試并嘗試攻破它。山東的研究成果是目前最先進(jìn)的遠(yuǎn)景研究,一旦被證實(shí),它將會(huì)給網(wǎng)上業(yè)務(wù)帶來(lái)深遠(yuǎn)的影響。
安全散列算法中的“散列算法”是一種人們?cè)O(shè)計(jì)的方程式,它可以將一條信息轉(zhuǎn)化成一個(gè)惟一的、擁有固定長(zhǎng)度的壓縮數(shù)字串;產(chǎn)生數(shù)字串的惟一方法,就是將這個(gè)算法應(yīng)用于初始信息上。信息發(fā)送者將散列數(shù)字串和信息都加密,接收者把它們解密后,將散列算法應(yīng)用于接收到信息上,然后將產(chǎn)生的散列數(shù)字串和收到的數(shù)字串進(jìn)行對(duì)比,以驗(yàn)證收到的信息和發(fā)送者散列的是否相同。
這樣的信息也可以是密碼。通過(guò)如此的步驟后,接收者可以驗(yàn)證該密碼的正確性;同時(shí)因?yàn)榭床坏矫艽a究竟是什么,從而保證了密碼的安全性——為什么當(dāng)我們忘記了銀行密碼的時(shí)候,銀行不能告訴我們之前的密碼是什么,而只能讓我們重新設(shè)定一個(gè)?就是因?yàn)楫?dāng)我們通過(guò)互聯(lián)網(wǎng)輸入密碼“shamao66”的時(shí)候,銀行端接收到的可能是類似“2fd4e1c67a2d28fced849ee1bb76e7391b93e b12”的一串東西。
散列程序之所以有價(jià)值,是因?yàn)樗菃蜗虻?。如果你手頭只有經(jīng)過(guò)散列得到的數(shù)字串,并沒(méi)有辦法通過(guò)這一算法反過(guò)來(lái)去得到初始信息(當(dāng)然,能否保證完全“不可逆”,這個(gè)問(wèn)題在理論上還沒(méi)有解決)。作為安全互聯(lián)網(wǎng)交易的基礎(chǔ),所有的公鑰和私鑰密碼技術(shù)都依靠散列算法。
安全散列算法(SHA)程序是由美國(guó)國(guó)家安全局(U.S. National Security Agency)設(shè)計(jì)、由美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究院公布的。安全散列算法的第二個(gè)版本,即被稱為SHA-1的算法,在1995年公布。像SHA這樣的重要算法通常被廣泛地公布,從而使全球的電腦專家(包括黑客)可以對(duì)其進(jìn)行測(cè)試,以期在應(yīng)用以前找到漏洞和弱點(diǎn)。SHA-1算法可以產(chǎn)生264(2的64次方)個(gè)可能的結(jié)果;如果在少于這個(gè)數(shù)目的嘗試中發(fā)現(xiàn)同一結(jié)果出現(xiàn)了兩次,那么,這個(gè)算法就可認(rèn)為是被“攻破”了。王小云、尹依群和于紅波三位專家宣布,他們?cè)?的第33次方上攻破了這個(gè)算法。這意味著,如果一個(gè)犯罪組織擁有強(qiáng)大的計(jì)算能力和足夠的時(shí)間,就有可能偽造數(shù)字簽名。
研究者們目前還沒(méi)有公布科學(xué)研究的細(xì)節(jié),以保護(hù)正在使用的公共編碼結(jié)構(gòu)。人們更關(guān)注的,并非是黑客可能將用2的第33次方攻擊來(lái)獲取銀行密碼,而是這項(xiàng)研究揭示了這樣一種可能性,即一個(gè)使用筆記本電腦的16歲小孩就能冒充“網(wǎng)上中國(guó)銀行”。一些新的、更長(zhǎng)的SHA-1版本已經(jīng)被公布,但是它還沒(méi)有經(jīng)過(guò)測(cè)試,因而也沒(méi)有被收入為標(biāo)準(zhǔn)編碼技術(shù)。
中國(guó)的研究者們攻破了世界上最著名的方程式,也讓中國(guó)展開(kāi)了一場(chǎng)是否應(yīng)將編碼技術(shù)列為《國(guó)家保密法》保護(hù)范疇的爭(zhēng)論。支持者認(rèn)為,用于保證秘密安全的技術(shù)本身就要求保密;反對(duì)者則指出,最安全的技術(shù)來(lái)自于廣泛的公共參與。
密碼學(xué)不再是間諜和軍事密碼信息的獨(dú)有領(lǐng)域,區(qū)分真實(shí)發(fā)送者和冒名者、區(qū)分真實(shí)信息和偽造信息已經(jīng)成為必要——即使約定一個(gè)喝咖啡的日期這樣的小事也是如此?;蛟S,中國(guó)研究者們的最大貢獻(xiàn),就在于把這個(gè)事關(guān)公共安全和需求的事情從陰影中解放出來(lái),把其帶入到公共科學(xué)的研究范疇里。
作者楊思安(Anne Stevenson-Yang)為美國(guó)信息產(chǎn)業(yè)機(jī)構(gòu)(USITC)駐北京首席代表,杜志豪(Ken DeWoskin)為美國(guó)密歇根大學(xué)名譽(yù)教授、普華永道(PricewaterhouseCoopers) 原中國(guó)合伙人