PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上

2009年5月2日 星期六

使用 PGP 來建立人際信任網

當我們可以使用自己生成的 PGP 公私錀來作加解密及簽章驗證的工作後,事實上,我們還能將 PGP 運用得更淋離盡致: 我們把整個人際關係展現在我們的公錀上。

當你把公錀四處發放的時候,實際上,你正在宣告這個世界,這把公錀可以代表你的身份,用這把公錀所加密的訊息只有你才看得到。而只要相信了「這把公錀就是對應著你的身份」這個關係後,也代表「這把公錀」所驗證成功的某個訊息,必定是由「你」所發佈的。

以上,就是 PGP 信任網的基礎: 一把公錀代表一個人。

所以,如果有一個 A 用他的私錀 Sa,為另一個 B 的公錀 Pb 作簽章而得到 Pb'(這也就是為什麼一把公錀生成後,會有變動發生的原因),那麼我們可以透過 Pa 來作 Pb' 的驗證,驗證成功後,我們將了解到 A 這個人完全為 B 的新公錀 Pb' 負責,因為 Pb' 是 A 所簽章過的。也就是,我們可以合理地相信 A 這個人一定認識 B 這個人,而且他也同意 Pb' 是屬於 B 這個人的公錀

所以,本來我們可能只認識 A ,相信 Pa 是 A 的代表,但是透過 Sa 對 Pb' 的簽章,我們間接地相信 Pb' 是 B 的代表,就算原本我們根本不曉得 B 是何許人也,就算 B 也沒告知我們他的公錀編號,但我們可以透過 A 來相信 Pb' 代表 B 了。

簡單地講,你可以使用個人私錀為「認識(信任)的人的公錀」作簽章 *1,簽章後,別人就會知道你一定認識這些人。

註1: PGP 信任網中,所謂的信任並不指的是一般的信任,並不是說你簽章了某個人的公錀,就表示你相信這個人是「好人」,這裡的信任,指的是你「確認」該公錀的確是這個人所擁有的。

這麼作的好處是什麼? 如果你想要寫一封信給歐巴馬(想當然耳,你一定不認識他),又希望你的內容只有他看得見且連他的幕僚也無法事先閱讀,那麼你就可以先下載他的公錀,用他的公錀來加密。但在加密前,得先確認他的公錀有沒有經過你認識的人作過簽章,如果有,則表示這把公錀的確是歐巴馬所擁有。

有沒有可能你不直接認識歐巴馬,但卻透過你的朋友的朋友來認識到歐巴馬呢? 因為他的公錀被 A 簽章過,而 A 的公錀又被 B 簽章過,而 B 的公錀又被 U 簽章過,最後湊巧你認識 U 這個人。這真的是有可能的,請參考六度分離理論 *2。

註2: 六度分離理論告訴我們,地球上的任二個人,他們之間只被 6 個人隔離,也就是你必定能透過某人的朋友去認識某人的朋友再去認識某人的朋友再去認識某人的朋友再去認識某人的朋友去認識某人的朋友來認識地球上的任何一個人。

了解了 PGP 這麼偉大的信任網概念,那麼該如何實現呢? 很簡單,你只要為你所認識的人的公錀所簽章,那麼就能協助體現 PGP 信任網了。

一樣來到「金錀管理程式」的介面。(不知道如何叫出嗎? 請參考如何使用 PGP (Linux/Mac/Windows 皆適用)來加解密及簽章驗證)



選擇一把欲簽章的公錀並按下[簽章],然後再按下[Sign this key]並選擇使用那一把私錀來簽章。完成後,你就會看到該公錀下出現你金錀的資訊,這代表已簽章成功。



** 在為某些公錀簽章時,可能會出現失敗訊息,原因可能是 FireGPG 尚未支援該公錀的額外資訊簽章,如:相片資訊(是的! 公錀也可以放相片。要看別人公錀中的相片請打 gpg --list-options show-photos --list-keys {XXX})。

所以這時候,可以使用命令列來作,如下指令:


# gpg --sign-key {XXX}

並回答它所提出的問題即可。{XXX}代該公錀編號。
**

接下來把該簽章後的公錀匯出至伺服器,並告知該公錀的擁有者:「你已經確認了這把公錀就是代表他這個人,請他可以更新自己的公錀」。

那如果是別人簽章了你的公錀後,請務必記得:「如果你認識這個人且確認他的公錀是那一把的情況下,絕對要用你的私錀去簽章他的公錀,因為這是禮貌」。當然啦, PGP 並沒有強迫你一定要這麼作,但如果你這麼作了, PGP 信任網會更完備。

在簽章他人公錀時,請務必記得:「這個簽章不是恩惠,是一種信任,唯有你認識的人才作簽章。不認識的人請不要簽章。」

除了用自己的私錀去簽章他人公錀外,我建議各位也可以利用 PGP 信任網的概念,為自己的私錀買保險。

什麼是買保險? 之前我提過,如果私錀搞丟了,是不是之前別人用它對應公錀所加密的內文,你完全就看不到了。沒錯,的確是完全看不到了。但是逝者已矣,來者可追,你還是得繼續用 PGP 來過你未來的生活呀! 但是如果你原本的公錀已經有 200 個人為它作過簽章了,那麼你的新公錀難道要重新再去找這些人作一次簽章嗎? 是的,你必須再麻煩當初的 200 個人為你重新再簽章一次。但那些人如何確認你的新公錀的確可以代表你呢! 你勢必得再經歷 200 次由第三方管道(面對面確認、電話確認等非網路形式的確認)提供公錀編號讓對方知道你的新公錀的確代表你的動作,嘩! 這會累死人。

所以,我建議各位多生幾把金錀,並彼此互相簽章,如下圖:



amornose@gmail.com 這把金錀已被 hoamon@hoamon.info, hoamon@gmail.com ... 等金錀給簽章過了。所以如果我的主要使用金錀 HOamon@hoAmon.iNfo 不小心搞丟了,那麼我就用 AmOnroSe@Gmail.Com 的信箱寄信給那 200 個人,並告知我的公錀必須更換為 AmoNrosE@GmaiL.com 了,因為早在之前 amoONrose@gmail.com 已被 hoamon@hoamon.info 所確認過了,所以,那 200 個人可以很容易地相信我這個人已把 hoamon@hoamon.info 公錀更換成 amonrose@gmail.com 了。這就是買保險的意思。

最後,再提醒各位一次,私錀搞丟了,的確是很麻煩的一件事,請慎重保管呀!

1 則留言:

  1. We had few GPG sign party before, maybe we can sign each other's key next time :D

    回覆刪除

Related Posts Plugin for WordPress, Blogger...