PGP Key 的使用與管理

十二月 5, 2007

在前面文章談論過郵件與檔案加密:PGP,本篇文章再來說明一下關於key的使用細節與管理需注意的事項。許多人使用了PGP來加密與簽章,但因為沒有把key的概念弄清楚,因此最後常常搞得放棄使用PGP。因此希望本篇文章可以讓大家很愉快的使用PGP來加強網路安全性。


首先來談談public key(公鑰)與private key(私鑰)。

(1)public key(公鑰)與private key(私鑰):
當你初次使用PGP軟體,所產生的key ring(鑰匙圈)便包括了公鑰與私鑰,鑰匙圈裡可能有你的公私鑰與你朋友的公鑰。你的公鑰是給別人用的,例如對方要傳送加密檔案給你,就必須使用你的公鑰來加密。而對方接到你的簽章文件,就必須使用你的公鑰來確認。

私鑰是你自己用的,例如配合收件對方的公鑰與你的私鑰用來加密文件,而你要簽章文件就用你的私鑰。

而這個公鑰因為是給別人用的,你可以放在大家都取得到的key server或傳送給對方均可,並且當key ring重建就必須重新release給對方。

(2)對於公鑰的sign:
對於朋友的公鑰,你可以sign (也就是使用你的私鑰對這個公鑰確認),sign後會產生DSS signature或DSS exportable signature,表示這個公鑰是確認無誤的。

為何要對公鑰作sign的動作呢?正常情況,這個sign的動作不會對加解密有影響,主要是提高安全性而已。

假設你持有甲的公鑰A,經sign確認使用無誤,如果你的私鑰沒有外流的話,有sign過的公鑰A應可保證沒有問題。如果當你有一天去key server update甲的公鑰,發現有新的甲公鑰B出現,這個甲的公鑰B是真的嗎?(如果沒有sign的話,你可能不會發現公鑰A與公鑰B有不同,如果公鑰A有sign過,當出現公鑰B上就不會有你的signature)。

如果使用假造的甲公鑰B,你加密文件就可能被另外的人解開,反而甲自己打不開。

什麼時候會出現假公鑰?就是被Hacker入侵或被管理者盯上 …這些人可以利用甲的郵件去傳送甲的假公鑰到key server,然後再截取用假公鑰加密的密文。

所以sign公鑰是可以提高安全性,讓使用者分辨哪些是核對無誤的公鑰。

(3)master key與subkeys:
private key(私鑰)又分成master key與subkeys,前者用來簽章,後者用來加解密。一個私鑰只有一個master key,但可有許多subkeys。並且subkeys的remove會影響原本用舊的subkeys加密的文件,也就是原本可以解密的文件會因更換subkey而不能解開。

為什麼要有subkeys?而且可以有許多subkeys?也是提高安全性。

(4)Split key:
split就是把鑰匙分成許多把,只有全部合起來才能做解密與簽章。
如果一把鑰匙A split成兩把鑰匙後,就有一個公鑰與兩個share key B,C
當要做簽章或解密時就必須同時兩把鑰匙都取得,才能完成動作。

敬請留言

你的回應對我們是很重要的. 你的電子郵件將不會被公開.

請等待 ...
*
Loading Facebook Comments ...