[敲打鍵盤] 信任網 2.0

這一篇又是舊稿,於 2009/01/15 刊登於自由軟體鑄造場電子報第 119 期

信任網 2.0

各位電子報的讀者新春快樂!在這次的專欄當中,筆者要從 GnuPG 的基礎切入 Web 2.0 的世界,點出發展網頁服務的可行方向。GnuPG 與 Web 2.0 乍聽之下實在是沒什麼關係,究竟是怎麼一回事呢?且聽筆者慢慢道來……

在自由軟體/開放源碼軟體的世界中,說到隱私與保密,一定會提到 GnuPG。GnuPG 的技術背景是非對稱性的公開金鑰加密法,因此許多相關的文件、文章,都大量著墨於這些加密法;公鑰、私鑰、簽章、憑證、指紋等專有名詞,也是這些文章當中所少不了的關鍵字。

然而,對於終端使用者來說,GnuPG 到底如何利用階段金鑰、如何使用質數來運算,一點兒也不是重點;真正重要的事情是要如何來管理 GnuPG 金鑰與鑰匙圈。如果我們不在意一份加簽文件的簽署者是不是真的如簽章所宣稱的人,那麼再嚴密的演算法也可以輕易偽造簽章;如果不在意收件者的公鑰是否真的屬於該收件者,加密法再嚴苛也守不住秘密。

GnuPG 這套方法,首先要求使用者確定特定的金鑰是否屬於某個實際的使用者,使用的手段包括人與人實際見面、檢視彼此的有效證件、以白紙黑字的方式查核金鑰 ID 與指紋等。接著 GnuPG 再以金鑰加簽的方式,讓金鑰之間能夠互相「背書」;在理想的 GnuPG 實務當中,簽署一把金鑰,代表使用者對另一個使用者的金鑰經謹慎驗證,並且公開地將驗證結果表達出來,讓其他使用者可以用於參考。

最後,GnuPG 讓使用者可以設定「主觀信任」⸺使用者可以決定自己對「另一個使用者驗證他人金鑰的過程」有多信任,這種信任資料不會公開出來,但是卻能幫助使用者判斷未知的金鑰。舉例來說,如果你完全信任葉大雄,認為葉大雄對他人金鑰的簽署必經嚴格縝密的考核,那麼葉大雄所簽署過的金鑰,對你來說也會是有效可用的金鑰;如果你對葉大雄的驗證能力祇有半信半疑的程度,對於源宜靜的驗證能力也祇有半信半疑的程度,可是葉大雄跟源宜靜都簽署了武技安的金鑰,則武技安的這把金鑰對你來說或許就是有效可用的了。當然,如果你完全不信任葉大雄,那麼他簽署過的金鑰通通當做沒簽署過,也是天經地義。

GnuPG 這種由主觀信任搭配金鑰簽章,推測未知金鑰的有效性的程度,也稱作「客觀信任」;這整個機制在 GnuPG 當中稱作「信任網」,由信任關係延續交織成的虛擬網絡,默默地成為 GnuPG 世界中的重要根基,讓公鑰網絡成為資訊時代最穩固、有效的人際網絡之一。

信任網的運作,能帶給我們什麼啟發?

近年來隨著網頁科技的發展,社交網站把網路使用的人口帶往新高峰;各種社交網站及人際網絡網站不外乎提供每個使用者代表自己的網頁,然後讓使用者能夠與其他使用者建立連結。這些網站都能讓使用者設定「朋友」,有的網站則有提供「朋友」、「同事」、「家人」等多種人際關係;多數的社交網站當中,這些人際關係都是單向的,亦即你是我的朋友,我卻不見得要是你的朋友,不過也有一些網站,要求人際關係的更動是雙向、且需兩造都同意纔能成立。

幾乎所有這類的社交網站,都會把這種人際關係公開揭露出來,讓所有的使用者都能夠看到你有哪些朋友、認識那些人;人脈成為一種能力的展示,也成為這類網站使用者的經營重點。有些網站讓使用者可以互相撰寫評價「背書」,這跟 GnuPG 信任網中金鑰互相簽署很像,都是公開表達使用者之間,不祇是單純知道對方而已。然而現有的社交網站當中,能夠對映到 GnuPG 信任網的功能僅止於此,所以會有一些難以處理的狀況:

第一個情況是「損友」:你總會認識一些人,有些事務往來,但是如果可以的話,會希望盡可能避而遠之;當你到了下班時間後,最不希望的就是被這些人打擾,與這些人的私下交往對你來說完全是浪費時間。或者反過來,你也會有一些酒肉朋友,平常一起喫喝玩樂,但是你真的知道,這些朋友在行事上完全靠不住,事業上招來的麻煩比助益還多;這些人,以及經由這些人而找上門來的其他人,都不會是你想要的合作、聯繫對象。以 GnuPG 信任網的術語來說,這些都是你主觀「完全不信任」的部分。

雖然你不信任這些人,但不代表你會想跟他們交惡;與人交際,少一個敵人總比多一個好。所以站在人性的角度來看,我們需要一個網站,除了表面上的和氣,還能讓使用者對自己的人際關係品頭論足一番,而且這些資訊祇有該使用者自己能夠取得,沒有任何其他方,能以任何方式探知箇中秘密。

另一方面,基於隱私之必要,你也會有一些好朋友,但是你們的友誼並不適合任意公諸於世;這可能是為了利益迴避,例如分別扮演著黑白手套的死黨,或者是你們之間有不倫的關係而不可告人。不論原因是什麼,這些朋友都是你的人脈,祇不過都不是其他人能藉你動用的人脈。在 GnuPG 的信任網模型當中,這種關係可以由主觀信任搭配(金鑰)本地簽章來表達:你信任某個人,但是這種信任關係及背書並不公開。

換句話說,你跟那些人有交集、你的人際網絡如何伸展,應該是由你決定要如何披露。真正有價值的人際關係,是個人隱私的一環,不應該跟八卦網絡搞混;參與八卦流通固然吸引人,但是不該為此犧牲交友的隱私。

現在的社交網站缺乏這些功能。或許你可以選擇公開所有的人際關係,或者不公開所有的人際關係,但是沒辦法選擇祇公開某些人際關係,也沒辦法對人際網路中的某一部分標記為不信任,因此許多社交網站就算造就了大量有著眾多親朋好友的使用者,充其量也就是某種遊樂園,難有「家」一般的長久歸屬感。

當每個社交網站都是如此時,也難怪有人說「Web 2.0 就是到每個網站建立帳號,然後一次又一次地(把同樣的一群人)加入好友」了。每個網站都是如此相似,唯一不同的是每個網站各有其核心小圈圈;對於不在核心小圈圈的普羅使用者,則祇能隨波逐流,四處飄蕩。長久下來,除了產生大量無活動的使用者帳號,消磨了許多人寶貴時間外,不見得有什麼建樹,實在很可惜。

人際交往必有親疏之別,建構社交網絡時自然不可天真地一視同仁;GnuPG 多年來用信任網的模式打下了穩固基礎,正是時下 Web 2.0 社交網站還須學習的:讓使用者能夠放心且便利地掌控信任關係,使社交網絡中的每個「人」更為鮮明,纔是把抽象網絡轉換為實質功能的入場券。

jedi.org: