從 GnuPG 看數位時代的身份權與隱私權
這一篇是我給數位文化誌的文章,於 2004/09/17 刊登在 http://mag.udn.com/mag/dc/storypage.jsp?f_MAIN_ID=2&f_SUB_ID=5&f_ART_ID=1899 。請注意,這一篇文章並不授權各位讀者任意作為商業使用。
從 GnuPG 看數位時代的身份權與隱私權
身份權指的是證明「『我』就是『我本人』」的權利,同時也是確保「沒有人可以假冒成我」的權利。而另一方面,隱私權則是「決定如何傳遞私密訊息」的權利,指的是「我不想讓別人知道的訊息就不會有別人知道」,而且「不是我所指定的收信者就不會知道我的訊息內容」。GnuPG 讓人們能夠掌握自己的隱私權、確保彼此的身份權,而在現今的社會裏這種能力越來越重要,這就是我們必須正視它的原因。
隨著虛擬世界不斷地對真實世界解構與重構,人與人之間的關係越來越複雜難解、人與人之間的界線也越來越曖昧模糊。妳要怎樣纔知道「妳」就是「妳」,「她」就是「她」?妳要怎麼證明「自己」就是「妳自己本人」?妳要如何確保妳跟別人間的對話,不會被有心的第三者竊取?
隨著人們的生活越來越離不開電腦與網路,電子郵件、即時通訊軟體等工具正一步步地取代傳統的郵件、電話,然而這些新科技的工具並不安全,它們就像明信片一樣,能輕易地被任何人所竊聽、監視。事實上明信片都還比電子郵件安全些,任何人祇需要一台隨便的家用電腦,就有辦法以極高的效率,用特定的關鍵字來監視每天數以萬計的電子郵件往來。這並不是危言聳聽,美國國安局早就開始利用這種方式來掃瞄所有的國際電報網絡了。
不祇如此,美國政府早在一九九零年代起,就屢次想要在犯罪防制法規中,試圖挾帶白宮的新加密政策方案,要求所有的電子通訊產品裏,都必須要加裝一份編密晶片,好讓美國政府能夠任意地解密而取得妳的通訊內容。這如此險惡的環境中,身為使用者的我們似乎至少還能夠選擇其他的編碼方式,讓訊息內容不要就這麼赤裸裸地暴露在政府老大哥面前;菲爾‧齊麥曼 (Phil Zimmermann) 因此撰寫了 PGP (Pretty Good Privacy, 非常好的隱私) 這套軟體。他說,「如果隱私被判定為非法,那麼世界上就將只有歹徒才能擁有隱私權。情報機構能夠掌握先進的密碼科技,那些有勢力的、毒品走私客、軍火商、石油公司以及種種巨型的國際商業集團也將有辦法能夠搞定。唯一沒有辦法取得軍事等級公鑰密碼科技的就只有平凡老百姓和基層單位。」而這正是他撰寫 PGP 的原因。
PGP 採用的是非對稱式加密法,每一份金鑰對都含有一把公開金鑰跟一把私密金鑰,前者會盡可能散佈到全世界,後者則保持私密而不公開給持有者以外的任何人。藉由這樣的搭配,於是人們得以把資訊加密給指定的金鑰,祇有特定私密金鑰的持有人,纔能彀把密文解密而看到原本的訊息內容;另一方面也可以對訊息加上數位簽章,任何能取得發信者公開金鑰的收件者,都可以拿這把公開金鑰來驗證簽章是否完好,藉以判斷訊息本身是否遭到竄改或偽造。
今日的 PGP 系統不祇能夠為資料加密,或者提供虛擬的私人加密網路系統,還能夠藉由加密以及認證的方式,提供了多種的功能和工具,幫助你保全你的電子郵件、檔案、磁碟、以及網路通訊。妳可以透過 PGP 做這些事:
妳幾乎可以在任何軟體裏,用 PGP 把訊息內容加密成密文、加以簽署,或者把密文解密成明文內容、驗證數位簽章等;妳可以打造、檢視、和維護妳自己的金鑰對,並把任何人的公鑰加入妳的公鑰鑰匙圈;妳還可以建立自動解密壓縮檔,或永久的銷毀檔案、資料夾,並釋放出磁碟空間,甚至能夠建立虛擬的私人加密網路,來保密網路傳輸。
雖然 PGP 本身是商業軟體,但是妳仍可取得免費的 PGPi 或 PGP Personal 這個功能較少的國際免費授權版;另外 GNU 也按照 RFC2440 (OpenPGP) 發展了一套 GnuPG (GNU Privacy Guard) ,這是遵照 GNU General Public License 所授權的自由軟體 (Free Software) ,意味著其程式源碼是自由的,能被任意散佈、編譯、使用,也能受到全世界的程式設計師加以審視是否有程式瑕疵。
當然這一切得來並不易。當年美國政府曾將採用大尺寸金鑰的強加密法,列為不得出口的國防管制品,所以在歷史上曾經發生過兩次「偷渡源碼」的計畫,有人將 PGPi 5/6 的源碼印成七大本厚厚的書,然後裝在手提箱裏搭飛機運到歐洲,再經由文字辨識及校對義工的協助,耗費不計其數的時間,重新讓這些源碼變回電子型態,並在美國以外的世界重新發展及編譯。後來人們更認為這麼重要的軟體不應該受限於商業或政治力,所以 GNU 遂開始發展 GnuPG ,讓隱私權與身份權,也能跟自由軟體的力量相輔相成。
由於自由軟體世界的奮鬥不懈,今天在各式各樣的作業系統上,都可以取得預先編譯好的 GnuPG 、甚至搭配各個不同語言的語系檔來使用,各種夠新的郵件軟體如 mutt 、 Becky! 、 Eudora 、 ThunderBird 等,也都能夠(有些得靠著外掛模組)支援 GnuPG ,也有人撰寫如 GPG Agent 、 GPGShell 、 WinPT 等前端 (front-end) 軟體,幫助使用者透過圖形化介面來管理金鑰、使用 GnuPG 系統。當然更有許多人不斷地撰寫與 GnuPG 有關的文件。
現在,捍衛自己的隱私權跟身份權已經不再是艱深的技術問題或繁雜的政治問題了,一切都祇是為或不為罷了;祇要有心,妳可以從現在就開始用 GnuPG ,保護這些本來就該屬於妳的權利。