OpenSSL隱形戰爭:15個創始人15年從未謀面

jopen 9年前發布 | 7K 次閱讀 OpenSSL

OpenSSL隱形戰爭:15個創始人15年從未謀面

作者:李魚

[華盛頓]

史蒂夫·馬奎斯隱居在華盛頓郊外的一棟小木屋里,沒有電視、沒有手機信號。服務商每年都保證信號塔就要立到他家門前了,可從來沒兌現過。除此之外,小木屋周圍綠樹環抱、鳥語花香,很適合做超級英雄不用拯救世界的周末去處。

“我老了。老到還記得穿孔卡片和真空管電腦的時代。那會兒沒有軟件專利權這回事,IBM 之類的電腦商會把軟件隨主機附贈。從那時起,我就對開源著了迷。”

史蒂夫·馬奎斯已經從野雞大學畢業許多年,當過美國國防部咨詢顧問也注冊了軍火商執照,終于把購房貸款還清,連女兒都已經到了大學畢業的年紀。

他話多卻有點耳背,平時愛好喝酒打獵,余下的時間都用來守護那個有史以來應用最廣泛的開源密碼庫項目——OpenSSL。如果 OpenSSL 代碼存在漏洞,全球三分之二的網站服務器將會受到影響。黑客甚至可能直接對個人電腦發起攻擊,上億互聯網用戶從私密博文到銀行卡密碼都將不保。

自創立之初,OpenSSL 就開放源代碼接受所有改進和質疑。和維基百科類似,這個開源項目不屬于任何商業公司,每一行代碼都依靠世界各地程序員們在閑暇周末的自愿貢獻。為了維護服 務器、購置新設備、雇傭外包驗證測試,OpenSSL 接受公眾捐款,也會接一些與項目完全無關的編程工作換取報酬。

十五年來,OpenSSL 每年得到的捐款收入始終徘徊在可憐巴巴的兩千美金。說出去大概沒人會信,但這個保障了半個互聯網安全的密碼庫項目實際上只雇得起兩個全職員工,兩人都叫史蒂夫,跟美國隊長重名。

第一個史蒂夫姓漢森,是英國人、圖論數學博士、電影里那種連講電話都含羞的編程天才。他辭掉原先的工作,全職投入 OpenSSL 的建設,每年收入驟減到兩萬美元。要知道,在硅谷,一個剛畢業的年輕律師一個月就能輕松入賬一萬。第二個史蒂夫就是前國防部顧問馬奎斯。他負責管理 OpenSSL 基金會,記賬、填表、接受采訪,擔任高能程序員們跟現實世界的唯一紐帶。

去年夏天,森林綠意蔥蘢,史蒂夫·馬奎斯坐在他沒有手機信號的小木屋中,突然收到一封郵件。發件人來自中國,叫“Han Xu”,搞不清哪個是名哪個是姓。他代表一家叫 Smartisan 的年輕公司詢問 OpenSSL 項目是否需要一百萬人民幣的捐款。

“要要要!”是史蒂夫·馬奎斯當時的第一反應。他和他的小木屋都太老了,老得沒用過智能手機。不過,1 后面接了六個0,史蒂夫搜索起匯率,相當于十六萬多美元。這將是 OpenSSL 創立以來得到的最大單筆捐助,超過歷年所有企業與個人捐助額的總和——如果這個中國人不是騙子。

[望京]

正是 2014 年 5 月,史蒂夫·馬奎斯的小木屋本來歲月靜好,OpenSSL 卻遭遇“心臟出血”(heartbleed)。隊伍中的一名德國程序員在新年假期加班,不小心寫下一串包含漏洞的代碼,直到兩年后才被谷歌工程師檢查出 來。“心臟出血”漏洞使全球超過半數使用 https 協議的網站安全受到威脅,黑客甚至可能直接對個人電腦發起攻擊,獲得隱私信息。

由于沒有 firefox 和 linux 一樣的顯眼本質, 此前 15 年來一直運轉過于良好 OpenSSL 的代碼就像托住冰山的海面以下部分,從大企業到初創公司都用得心安理得。沒人特意向這個開源項目捐款,也沒人操心他們究竟有多少人手、能不能維持生計,反 正半個互聯網這么多年來都這么用著。

“心臟出血”爆發后,不少人爭相跟 OpenSSL 劃清界限。基層程序員批評他們的代碼“令人作嘔”,大公司則比賽著將牽連自身的安全漏洞盡快修復。而開源宣言《大教堂與集市》(The Cathedral and the Bazaar)的作者更是由此認定開源生態存在亟待解決的本質漏洞。

史蒂夫·馬奎斯能理解這些批評:互聯網上那么多人,總會有某人因為某事而感到不滿。可他很想對他們說:“抱歉,我們搞砸了。要不,退你們錢好了。”他接著想了想,“啊哦,你們壓根沒付過錢呀。”

就連不少鼎鼎大名、多年使用 OpenSSL 代碼的公司也從沒投入一分錢來支持這個開源項目。在偶爾提出要捐款的公司中,有些會臨時反悔、人間蒸發,有些要反復商談“公司商標掛在 OpenSSL 官網上寬和高至少達到多少像素”,有些則要求史蒂夫和他的程序員朋友們“順便幫個小忙”。

史蒂夫·馬奎斯邊擦獵槍邊憤怒地回復:“如果你想要我們為你的公司‘順便’做商業編程,那就不叫捐助了。那叫雇傭。”

最終,捐款總是來自全球各地、積少成多,連一美分的都有。史蒂夫·馬奎斯很驚訝,一些他在廣播中聽說的最不尊重人權、最限制自由和最不發達的國 家,反而有不少人認可開源項目,還設法向基金會的賬號捐了款。可支付平臺總是會抽掉一部分,一美分的捐款就都被抹掉了,史蒂夫忿忿不平。

太平洋這頭,羅永浩也愛忿忿不平。多年以來人們往他身上貼的標簽,除了“胖子”,就是“理想主義者”。可是這回,他終于發現比他還要理想主義的 OpenSSL。“我聽說該機構最初的幾名工程師放棄了高薪的工作,而投身于這樣一項公益事業,來維護互聯網的安全。”羅永浩說,“這符合中國人所說的 ‘俠義精神’,這些人的內心一定有理想主義的支撐。這是我所欣賞的。”

于是,離發出郵件還不到十天,史蒂夫·馬奎斯就收到了百萬元捐款——OpenSSL 基金會有史以來最大的單筆收入。

[大西洋海域]

史蒂夫·馬奎斯和他的戰友們并不是第一撥踏上密碼學戰場的人。

第一次世界大戰告終后,《凡爾賽條約》規定戰敗的德國不能擁有潛艇,但德國海軍依然秘密研制出了適用于遠洋海戰的大型潛艇,以字母U后綴數字命 名。每艘U型潛艇上都搭載著恩尼格瑪密碼機,用來對重要作戰情報進行加密保護。在戰爭雙方的加密與破譯之間,一場場偷襲、登陸和轟炸被策劃或者揭露。有人 死傷,有人歡慶。

那時的德國男孩會覺得潛艇兵是一個光榮的位子,只有身體條件最好、心理素質最過硬的人才能入選。在U型潛艇上工作,不光每 12 周就有假期,還能享受封閉環境服役補助和潛水補助,薪水幾乎是陸軍的兩倍。唯一的痛苦是潛艇內空間有限、溫度奇高。緊貼艙壁的鋪位只能容納士兵側身躺下, 許多崗位還是兩人輪流用一個“熱鋪”。每到換崗時間,鋪上的士兵就得不情不愿地去接班,而剛回來的戰友則在那張五十攝氏度汗濕的鋪位上繼續睡去。

U-110 潛艇上的德國士兵同樣沒有機會了解戰友的樣貌身世和脾氣喜好。他們也同樣深信自己是為了責任與榮耀才投入戰事。1941 年,U-110 潛艇被英軍捕獲。1945 年,U-505 潛艇被美軍捕獲。潛艇上的恩尼格瑪密碼機和密碼本幫助盟軍提前兩年取得在西歐的全面勝利。

二戰后,美國政府頒布聯邦資料處理標準(Federal Information Processing Standards),其中 140-2 號標準收緊了對加密法的控制。所有賣給美國政府的軟件必須經過第三方機構獨立驗證其保密性能,并提交檢測報告。無數公司立刻抓住機會提供評估服務,整個新 的行業應運而生。

國防部咨詢顧問史蒂夫·馬奎斯就在這個行業中耗盡了前半生。他煩透了官僚主義作風,看膩了一個政府部門跟另一個斗智斗勇,像左手掐右手。為了簡化行政程序,他四處求援。一個政府部門 6 次決定資助,而另外一個部門駁回了 6 次。

“政府像怪獸那樣大,那么多文件,我一輩子都那么過去了。”最后,史蒂夫·馬奎斯像所有超級英雄一樣等到了戲劇化的人生轉折。他聽說 OpenSSL 項目缺人手。他深信,“我們的世界必須擁有一個可靠的加密系統,它不能落入任何政府與商業公司的控制中”。

加密法是互聯網時代保障隱私信息的關鍵技術。歷史告誡現代人,如果加密和破譯規則被別有用心的人掌握,后果將是多么可怕。于是,史蒂夫·馬奎 斯,同史蒂夫·漢森還有其他幾十個沒有超級英雄名字的程序員們決定投身 OpenSSL 的建設。他們抱著同樣的信念,要造出有史以來最棒的加密系統,以開源的方式分享給全世界,以保障后代的隱私和安全。

為了分出時間給這項工程,他們多多少少推掉商業工作、犧牲假日休息,與屏幕中看不見的戰友討論、爭執、推翻再重來。一開始還純粹享受著腦力鍛煉 的程序員們,慢慢就被責任感淹沒了。在開源中,他們能夠享有對代碼作品的最大控制權和最高透明度,也能堅持做自己認為“對”的事。他們覺得保護這個世界就 是對的事。

“總有唱反調的人把這些開源項目說成是‘反資本主義’的。”但史蒂夫·馬奎斯覺得恰恰相反:“開源項目其實來源于最純粹的競爭。如果一個開源項 目在商業世界獲得了成功,那決不會是出于僥幸,決不會是因為其它競爭者恰好被規章制度所累、被知識產權法約束、被人傻錢多的贊助商拖垮。如果一個開源項目 勝出了,背后只會有一個原因——它真的比其他競爭者都要好。”

史蒂夫·馬奎斯很清楚自己的編程技術比不上世界級水平的戰友們(其中一半擁有博士文憑),于是主動負責案頭工作。他豐富的填表經驗解放了戰友們的寶貴時間,他的話嘮正好足夠對付來訪的記者。他總是忍不住好心提醒記者,某些郵箱后綴逼格太低,最好換掉。

他從沒離開過隱居的森林木屋,只靠郵件和網絡電話跟全世界人通訊。他幫史蒂夫·漢森爭取到合理的工資待遇,接著操心團隊里其他人能不能去得起超市。

史蒂夫·馬奎斯認為地道的開源文化就該這樣,只憑智力成果定奪名聲,沒有人會因為長相、性別、家世而受到歧視或者特別關照。

他跟其中一個見過面,還有四個打過電話,對剩下的就一無所知了。他倒是熟悉他們編程的風格、郵件的寫法,但即使有天恰好在大街上迎面碰見,他們也不會認出彼此。

OpenSSL隱形戰爭:15個創始人15年從未謀面
OpenSSL 在杜塞爾多夫的聚會。從左至右依次為:Steve Marquess、 Kurt Roeckx、Geoff Thorpe、Richard Levitte、Lutz J?nicke、Tim Hudson、Matt Caswell、Bodo M?ller、Rich Salz、Andy Polyakov、Emilia K?sper。參會者還有四個人并未出現在照片中。

[杜塞爾多夫]

如果永遠見不到真人,開源程序員們大概可以暢想,自己的戰友其實是個人工智能。幸好在 2014 年末的杜塞爾多夫,Linux 基金會特意在年度歐洲大會的舉辦現場辟出一個房間給 OpenSSL 團隊。有了捐款,世界各地并肩作戰多年的戰友終于相聚。

第一天早上,史蒂夫·馬奎斯等在會議室里,竟有點緊張。直到一個接一個陌生人走進房間,客氣地道過早安,他憑口音猜到他們的家鄉,才突然發現都 已經認識他們十多年了。英國人、瑞典人、澳大利亞人、愛沙尼亞人……十五位戰友們的名字跟臉慢慢對上號,胖瘦高矮全部不同,花花綠綠各色T恤,逛超市時都 不會被當做超級英雄。

每個人都一樣的興奮。“十五年了,終于見到隊友們。他們不再是藏在電郵地址后面的隱形人。他們都有自己的個性、愛好。”后來在郵件里,程序員理 查德回憶道。另一名程序員杰夫也說,“過去我們中的大部分人只認識另外的一、兩個人,這還是第一次有機會讓這么多人同時聚在一起。當有張臉可以跟電郵地址 對上號時,溝通都會變得更加輕松。”

他們喝光了五瓶蘇打水和兩瓶可樂,不眠不休地談論 OpenSSL 的過去與將來。白天,偶爾有一兩個參會者突兀地敲開會議室的門,稱贊他們。但更多的人依然沒聽說過 OpenSSL。等到晚上,會展中心要關門了,他們就挪到幾步遠外的家庭餐館里,就著啤酒和烤肉繼續暢談,直到凌晨一點。連續三天,都是這樣。

這次聚會對 OpenSSL 意義非凡。綱領性文件在遲到十五年后終于出爐,團隊主力還就發布策略和漏洞處理問題達成了一致。代碼標準化和證書申請目錄被明確了,官方路線圖文件也發布在了網站上。OpenSSL 補好“心臟出血”,每個人都整裝待發。

大會閉幕那天,有人提議拍張合影吧。史蒂夫·馬奎斯小跑到門外叫住一個路人。對方友好地停步,幫忙按下一次快門。他當然不會知道,取景框里這十四個男人和一個女人曾參與過保護人類隱私的偉大工程。

就像史蒂夫·馬奎斯不知道,錘子科技為什么會突然跑過來幫助 OpenSSL。他多次坐在小木屋中惴惴不安,猜測這間中國公司是否能夠得到行俠仗義的回報。而他能做的,只是把那次聚會的合影發給錘子科技,表示感謝。 沒過幾天,錘子科技竟又捐出一百萬元人民幣。這下 OpenSSL 可以再雇傭三名全職程序員了,所有代碼都會經過反復的漏洞檢查。史蒂夫·馬奎斯說戰友們敲起代碼來總是興沖沖的,像古代工匠專心雕刻一枚盾牌,這兒敲一錘 子、那兒敲一錘子,雖然累,但窮開心。

在二百萬人民幣之后,OpenSSL 又收到不少來自中國的個人捐款,史蒂夫·馬奎斯依然費解于從天而降的好運。不過,他和許多開源參與者一樣,都有點理想主義。他相信,自己的林中木屋總有一 天能收到手機信號。他還相信,在肉眼看不見的地方,總有一群隱形的戰友,志同道合,只等相認。

————————————————

如果您也想對這項偉大工程做出一點點貢獻,請點擊:這里

題圖插畫:Mzzz,平面設計師,常居北京。

來自: www.jiemian.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!