“如果你所使用的是開(kāi)源安全軟件,那么這款軟件本身是否安全?”
作為Benetech公司的一員,這是我們?cè)谶x擇使用Martus——一款免費(fèi)而又極為強(qiáng)大的,由Benetech人權(quán)計(jì)劃提供的敏感信息安全收集與管理加密工具——時(shí)曾經(jīng)多次提出的問(wèn)題。這個(gè)問(wèn)題對(duì)我們而言非常重要,當(dāng)然對(duì)于在后斯諾登時(shí)代下?lián)纳踔量謶钟诒O(jiān)控活動(dòng)的同行們亦有著極為關(guān)鍵的意義。我們不僅堅(jiān)信開(kāi)源機(jī)制能夠與數(shù)字安全的各項(xiàng)要求相吻合,同時(shí)也認(rèn)為其正是安全體系當(dāng)中不可或缺的組合部分。
安全軟件就像一個(gè)保險(xiǎn)箱
請(qǐng)?jiān)试S我用以下比喻來(lái)解釋開(kāi)源與安全的關(guān)系:
我們不妨將加密機(jī)制視為一套用于數(shù)據(jù)保護(hù)的組合型保險(xiǎn)箱。大家可能是惟一使用這套組合的用戶,或者可以通過(guò)從幾套相關(guān)組合中選擇其一提高其可信度。保險(xiǎn)箱的設(shè)計(jì)目標(biāo)在于保證未經(jīng)授權(quán)的對(duì)象無(wú)法接觸到其中保管的內(nèi)容。而這些對(duì)象可能包括有意竊取有價(jià)值業(yè)務(wù)信息的罪犯、想了解同行薪酬數(shù)字的員工或者希望獲取機(jī)密信息以實(shí)施詐騙活動(dòng)的惡意人士。無(wú)論屬于哪種情況,我們要求保險(xiǎn)箱能夠做到的就是保證內(nèi)容安全并將無(wú)權(quán)訪問(wèn)的對(duì)象阻絕在外。
既然如此重要,那么我們接下來(lái)就要為有價(jià)值數(shù)據(jù)選擇一款保險(xiǎn)箱了。我是否應(yīng)該選擇保險(xiǎn)箱一號(hào)——廣告中說(shuō)它擁有半英寸厚的金屬箱壁、六枚鎖緊螺栓,獨(dú)立機(jī)構(gòu)測(cè)試驗(yàn)證其中保管的內(nèi)容甚至能夠在長(zhǎng)達(dá)兩小時(shí)的火災(zāi)當(dāng)中毫發(fā)無(wú)損?又或者,我應(yīng)該選擇保險(xiǎn)箱二號(hào)——這款保險(xiǎn)箱的安保水平僅僅得到了供應(yīng)商方面的承諾,因?yàn)槠湓O(shè)計(jì)細(xì)節(jié)屬于商業(yè)機(jī)密而無(wú)法公布?事實(shí)上,保險(xiǎn)箱二號(hào)很可能是用膠合板及金屬薄層粘夾而成,但出于“商業(yè)機(jī)密”保證、具體情況我們不得而知。當(dāng)然,二號(hào)也許真的比一號(hào)更為安全,不過(guò)需要強(qiáng)調(diào)的是——我們無(wú)法確定。
大家不妨想象自己為保險(xiǎn)箱一號(hào)制定出了完善的部署計(jì)劃與使用規(guī)范,甚至能夠在擁有正確素材及工具的情況下另外制作一套復(fù)制品。這一切會(huì)降低保險(xiǎn)箱一號(hào)的安全保護(hù)效果嗎?不,完全不會(huì)。保險(xiǎn)箱一號(hào)的安全性主要由兩大因素所提供:設(shè)計(jì)強(qiáng)度與猜測(cè)密碼組合的難度。由于能夠確切了解到這款保險(xiǎn)箱的具體規(guī)劃思路,因此我個(gè)人或者安全專家們能夠準(zhǔn)確判斷其設(shè)計(jì)水平究竟如何。這自然有助于建立起不存在設(shè)計(jì)缺陷或者除自行選定的密碼組合外無(wú)其它“后門(mén)”組合的保險(xiǎn)箱解決方案。請(qǐng)大家記住,一套優(yōu)秀的保險(xiǎn)箱設(shè)計(jì)方案應(yīng)該允許用戶隨意選擇自己的安全要素組合。從另一個(gè)角度講,熟知保險(xiǎn)箱的設(shè)計(jì)思路并不一定能幫助攻擊者猜出用戶所選擇的特定隨機(jī)組合。
安全保護(hù)的真正目標(biāo)
世界上并不存在完美的安全保護(hù)機(jī)制。廣告宣傳中所謂的“一款堅(jiān)不可摧的保險(xiǎn)箱”殊不可信,屬于完全超出實(shí)際水平的虛假承諾。因此,對(duì)有價(jià)值信息進(jìn)行保護(hù)的目標(biāo)并不是為了使其“不可能被竊取”,而是盡可能提高惡意人士竊取時(shí)所需投入的成本——無(wú)論是以金錢(qián)形式(更好的工具要求攻擊者投入更多資金)、時(shí)間形式抑或是被送進(jìn)監(jiān)獄的可能性。
一款保險(xiǎn)箱在破解時(shí)需要投入的成本越高,我們的有價(jià)值信息就越安全。
了解到一款保險(xiǎn)箱的技術(shù)規(guī)格并借此知曉其破解辦法并不會(huì)導(dǎo)致安全性因此而降低。理由很簡(jiǎn)單:意識(shí)到一款保險(xiǎn)箱采用半英寸厚的鋼板制造確實(shí)可能讓竊賊們發(fā)現(xiàn),他們需要使用強(qiáng)勁的切割工具才能穿過(guò)如此厚重的防護(hù)。但這方面知識(shí)并不能降低他們的犯罪活動(dòng)成本。一款設(shè)計(jì)出色的保險(xiǎn)箱擁有一整套難以被猜出的密碼組合,而這已經(jīng)足以應(yīng)對(duì)大部分攻擊者。
看到這里相信大家已經(jīng)明白了,前面提到的采用開(kāi)放設(shè)計(jì)的強(qiáng)大保險(xiǎn)箱正是用來(lái)比喻安全軟件設(shè)計(jì)思路的。
正如保險(xiǎn)箱方案一樣,作為一款強(qiáng)大的加密軟件工具、其安全性并不會(huì)因?yàn)槠鋵儆诨蛘卟粚儆陂_(kāi)源設(shè)計(jì)而受到影響。事實(shí)上,一款安全軟件的源代碼向大家公開(kāi),這本身就是強(qiáng)化其安全性的一種有效舉措。與此同時(shí),這也能夠擴(kuò)展其用戶的安全水平與隱私保護(hù)效果。
具體理由如下:如果代碼能夠以公開(kāi)及自由的方式供我們審查,那么最終用戶、相關(guān)專業(yè)人士以及整個(gè)開(kāi)源社區(qū)就能夠廣泛參與到軟件的修改當(dāng)中,從而切實(shí)保證其符合所作出的不存在“后門(mén)”的承諾??紤]到如今我們已經(jīng)生活在一個(gè)超監(jiān)控時(shí)代之下,用戶們當(dāng)然會(huì)傾向于選擇能夠切實(shí)踐行軟件開(kāi)發(fā)者透明度承諾的安全產(chǎn)品。這一點(diǎn)對(duì)于保障那些人權(quán)捍衛(wèi)者、社會(huì)活動(dòng)家、記者、民間社會(huì)團(tuán)體以及其他以公平正義為主導(dǎo)的使用者的數(shù)字及物理安全效果有著極為重要的意義。
這看起來(lái)像是一種悖論,即對(duì)安全軟件的源代碼加以開(kāi)放反而能夠提高其可信度。不過(guò)作為工具開(kāi)發(fā)人員,我們的目標(biāo)并不是要把軟件設(shè)計(jì)思路隱藏起來(lái),而是利用軟件對(duì)委托信息進(jìn)行加密。正如前面提到的保險(xiǎn)箱比喻所言,軟件的安全強(qiáng)度僅僅取決于其自身設(shè)計(jì)質(zhì)量以及密碼內(nèi)容被猜出的難度。有了強(qiáng)大且可公開(kāi)訪問(wèn)的設(shè)計(jì)方案,其它關(guān)鍵性安全元素會(huì)鼓勵(lì)用戶選擇內(nèi)容較長(zhǎng)、強(qiáng)度較高且非直觀性密碼內(nèi)容。這種將安全設(shè)計(jì)與良好保密密碼相結(jié)合的方案完全能夠使得那些技術(shù)水平最高、資源最充足的攻擊者亦難于訪問(wèn)存儲(chǔ)在開(kāi)源安全軟件當(dāng)中的機(jī)密信息。
不過(guò)正如最安全的保險(xiǎn)箱最終還是會(huì)被擁有大量時(shí)間與資源的專業(yè)攻擊者破解一樣,安全軟件最終也將倒在類似的攻擊活動(dòng)之下。再次強(qiáng)調(diào)我們之前提到過(guò)的結(jié)論,安全軟件的目標(biāo)在于提高此類攻擊行為的成本,從而降低攻擊者侵?jǐn)_我們的可能性——沒(méi)錯(cuò),他們更可能選擇安全性較為薄弱的其他受害者。
將開(kāi)源機(jī)制引入解決方案
在Benetech公司,我們相信協(xié)作與社區(qū)體系有助于帶來(lái)強(qiáng)有力的安全保障。在這里,我們將開(kāi)源代碼引入軟件開(kāi)發(fā)流程,從而簡(jiǎn)化合作機(jī)制并吸引各類現(xiàn)有重要?jiǎng)?chuàng)新成果。在Martus項(xiàng)目當(dāng)中,我們不需要重新實(shí)現(xiàn)密碼庫(kù),而是選擇了一套強(qiáng)大的開(kāi)源方案(Bouncy Castle)。同樣,我們也不需要重新開(kāi)發(fā)匿名工具,而是直接將Tor集成到了Martus當(dāng)中。通過(guò)這種方式,我們的用戶將從整個(gè)開(kāi)源社區(qū)的工作中受益,并反過(guò)來(lái)通過(guò)推出更多優(yōu)秀數(shù)字化安全工具的方式支持及推廣社區(qū)的開(kāi)發(fā)成果。
各人權(quán)組織中的主要技術(shù)資助方表示,開(kāi)源軟件在其支持對(duì)象群體內(nèi)往往擁有更為理想的信賴水平。他們中的一部分機(jī)構(gòu),例如開(kāi)放技術(shù)基金,目前正以出資方式積極鼓勵(lì)受資方讓自己的軟件成果接受來(lái)自第三方專業(yè)人士的評(píng)估與審計(jì)。
只有更良好的透明度、問(wèn)責(zé)機(jī)制、獨(dú)立可驗(yàn)證性以及協(xié)作機(jī)制才能帶來(lái)卓越的安全性保障。而開(kāi)源正推動(dòng)著我們朝著這一目標(biāo)大步前行。