星期四, 3月 17, 2005

簽署/加密信件

緣由


通常在使用 E-Mail 的時候,有兩件事我們會有安全上的考量:

  1. 讓收件的人確定是我本人寄出的郵件。

  2. 別人寄給我的信可以用「我的方式」加密,而且只有我能解密。


底下我將會使用 Thunderbird 這套 mail client 來當例子,來介紹如何 簽署/加密 信件。

首先對於我要介紹的加密系統作點簡單的解釋。我們要採用的加解密模式是使用 key-pair policy,也就是我會有兩把 keys,其一為 public key,另一把為 private key。public key 是要公告給大家知道的,而 private key 必須將它保護起來。你的加密程式會把你要加密的東西和指定的 key 做一些運算後,產生新的輸出,這個輸出可能是加密或簽署過的文件。

當我們要簽署文件時,我們是使用 private key 來做簽署,這樣擁有你 public key 的人就可以使用它來驗證這份簽署的有效性,因為只有你自己擁有這把 private key,如此才能保證簽署的人就是你自己。而如果別人寄給你的信想加密的話,他可以用你的 public key 加密後再寄出,然後你就能用自己的 private key 解開這份加密後的文件。要注意的是,這些情況要成立,public key 跟 private key 比需是相互對應的。

所以,我們現在需要一個加密程式,然後再產生自己專屬的 key-pait 。

GnuPG


我們將會用 OpenPGP 這個加密系統來做加密,我選擇使用 Gnu 的實作版本--GnuPG來當我的加密程式。你可以下載別人作好的 binary 程式回來使用,不過我這裡會介紹抓原始檔回來編譯的方法(如果你不熟悉終端機的操作,就下載 binary 回來用吧)。

到 http://www.gnupg.org/download/index.html 下載最新的 source 回來,然後做下列指令:
# tar zxvf gnupg-<version>.tar.gz
# cd gnupg-<version>
# ./configure
# make
# sudo make install clean

這樣應該就可以順利把 gnupg 裝好了。

產生 Key-pair


在終端機下執行 gpg --gen-key ,然後它會問你以下問題:

請選擇妳要使用的金鑰種類:
(1) DSA 和 Elgamal (預設)
(2) DSA (僅能簽署用)
(5) RSA (僅能簽署用)
妳要選哪一個? 1

因為我們要產生 key-pair,所以我們選擇 1


DSA 金鑰對會有 1024 位元長.
ELG-E 金鑰的長度可能介於 1024 位元和 4096 位元之間.
妳想要用多大的金鑰尺寸? (2048) 4096

這裡我們就產生所支援的最長位元,位元愈大雖然資料量變大,但是也更加安全。

請指定這把金鑰的有效期限是多久.
0 = 金鑰不會過期
= 金鑰在 n 天後會過期
w = 金鑰在 n 週後會過期
m = 金鑰在 n 月後會過期
y = 金鑰在 n 年後會過期
金鑰的有效期限是多久? (0)

這裡是詢問你 key-pair 的使用期限,如果你要一直使用同一套 key-pair 的話就選 0

確定了之後,它會要你輸入真實姓名及 E-Mail 帳號:

妳需要一個使用者 ID 來辨識妳的金鑰; 這個軟體會用真實姓名,
註釋和電子郵件地址組合成使用者 ID 如下: "Ke-Huan Lin (Jedi) "

真實姓名: abcde
電子郵件地址: abcde@fg.hi
註釋:
妳選擇了這個使用者 ID:
"abcde "

變更姓名(N), 註釋(C), 電子郵件地址(E)或確定(O)/退出(Q)? o

然後按下 o ,它會要求你輸入一個密碼保護你的 private key:

妳需要一個密語來保護妳的私鑰.

請輸入密語:

接著它就會開始製作金鑰。(4096 bits 可能會有點久)完成時會顯示:

gpg: 金鑰 9FB16F65 已被標記成徹底信任了
公鑰和私鑰已經被建立及簽署了.

gpg: 正在檢查信任資料庫
gpg: 3 個勉強信任以及 1 個完全信任是 PGP 信任模型的最小需求
gpg: 深度: 0 有效: 1 已簽署: 0 信任: 0-, 0q, 0n, 0m, 0f, 1u
pub 1024D/9FB16F65 2005-03-17
金鑰指紋 = 5B0A 562A DB9A C9F6 58E7 954C 0919 B9D5 9FB1 6F65
uid abcde
sub 4096g/23D35AD9 2005-03-17


使用 Thunderbird 來作簽署或加密


首先,我們必須為 Thunderbird 安裝 Enigmail 這個 extension,這樣它才能支援 OpenPGP 的加密系統。

裝好之後我們就要設定一下 Enigmail, 到選單列的 Enigmail -> Preferences 來設定,這裡我們只需要將
GnuPG executable path 設定成 /usr/local/bin/gpg 就可以了。

當我們開始寫信時,會有個 OpenPGP 的選項,如果你是第一次使用,它會要求你選擇 key-pair,如果上述的步驟你都沒有問題的話,你就可以找到你剛產生的 key-pair 而選擇它。我們可以選擇我們要 Sign(簽署)或是 Encrypt(加密)這封信件,如果我們要簽署信件時,選擇 Sign message 就可以了,然後當你信件打完之後,它會要求你輸入 private key 的密碼(別忘了你是用 private key 加密),如此便會寄出簽署過的文件。(你可以把 Enigmail 的 Auto decrypt and verify 的選項關掉,看看寄出什麼樣的東西)

至於加密文件,如果你沒有別人的 public key,你用自己的 public key 加密是沒有意義的(因為這樣只有你自己能解密),如果要匯入別人的 public key,通常大家會以一個純文字檔的方式釋出,當你拿到這個檔案時,就可以到終端機下輸入

# gpg --import < 檔案名

這樣就可以匯入別人的 public key,你也就可以使用它來加密。如果你要輸出你的 public key ,就使用下列指令:

# gpg -a --export > 檔案名

然後你就可以散佈這個檔案,讓別人能用你的 public key 來加密信件寄給你。注意:只有簽署的信件是沒有加密的,所以只會在本文下方加上數位簽章(只能由你的 public key 來驗證);而加密的文件則是一堆亂碼,必須要用 private key 才能解開。

對應 Sign(簽署)的動作叫作 Verify(驗證),而對應 Encrypt(加密)的動作叫作 Decrypt(解密)。

基本的簽署/加密方式就介紹到這裡,剩下的就讓大家自己去試囉。

16 則留言:

逆円助 提到...

さあ、今夏も新たな出会いを経験してみませんか?当サイトは円助交際の逆、つまり女性が男性を円助する『逆円助交際』を提供します。逆円交際を未経験の方でも気軽に遊べる大人のマッチングシステムです。年齢上限・容姿・経験一切問いません。男性の方は無料で登録して頂けます。貴方も新たな出会いを経験してみませんか

精神年齢 提到...

みんなの精神年齢を測定できる、メンタル年齢チェッカーで秘められた年齢がズバリわかっちゃう!かわいいあの子も実は精神年齢オバサンということも…合コンや話のネタに一度チャレンジしてみよう

メル友募集 提到...

最近仕事ばかりで毎日退屈してます。そろそろ恋人欲しいです☆もう夏だし海とか行きたいな♪ k.c.0720@docomo.ne.jp 連絡待ってるよ☆

動物占い 提到...

あなたの性格を、動物に例えて占っちゃいます。もしかしたらこんな動物かも!?動物占いをうまく使って、楽しい人間関係を築いてください

家出 提到...

家出中の女性や泊まる所が無い女性達がネットカフェなどで、飲み放題のドリンクで空腹を満たす生活を送っています。当サイトはそんな女性達をサポートしたいという人たちと困っている女性たちの為のサイトです

セレブラブ 提到...

セレブ女性との割り切りお付き合いで大金を稼いでみませんか?女性に癒しと快楽、男性に謝礼とお互い満たしあえる当サイト、セレブラブはあなたの登録をお待ちしております。

夏フェス!! 提到...

夏フェス一緒に行ってくれる人募集!!夏の思い出一緒につくろぉ☆ megumi-0830@docomo.ne.jp 連絡してね♪

無料ゲーム 提到...

あなたのゲーマー度を無料ゲーム感覚で測定します。15個の質問に答えるだけの簡単測定で一度遊んでみませんか?ゲームが得意な人もそうでない人もぜひどうぞ。

素人 提到...

Hな女性たちは素人ホストを自宅やホテルに呼び、ひとときの癒しを求めていらっしゃいます。当サイトでは男性ホスト様の人員が不足しており、一日3~4人の女性の相手をするホストもおられます。興味を持たれた方は当サイトにぜひお越しください

出会い系 提到...

実は出会い系には…関係者用入り口があるのを知っていますか?広告主やスポンサー用に用意されたIDではサクラや業者が立ち入ることが出来ないようになっているのです。当サイトでは極秘に入手した関係者用URLが公開されています

逆援助 提到...

男性はお金、女性は快楽を得る逆援助に興味はありませんか?お金を払っても性的欲求を満たしたいセレブ達との割り切り1日のお付き合いで当サイトでは大金を得ることができます。無料登録なのでアルバイト感覚でOK、詳しくはTOPページでどうぞ。

友達募集 提到...

ホムペ完成記念!私の事みんなに知ってもらいたくて頑張りましたぁ。色々とご感想をお待ちしているので思った事を意見してください。メアドはほむぺにのせてありますぅ!★ fan.jna@docomo.ne.jp

家出 提到...

夏休みで気軽に家出する女子○生が急増しています。しかし家出したはいいものの泊る所やお金が無い彼女たちは、掲示板などで泊めてくれる男性を探す子も多いようです。当掲示板にも夏休みに入ってから通常の3倍以上のメッセージが寄せられています

人妻 提到...

今最もアツイバイトは人妻とのセフレ契約です。当サイトではお金を払ってでもセフレがほしい人妻が集まり、男性会員様との逆援生活を待っています。当サイトで欲求不満の女性との出会いをしてみませんか

素人 提到...

素人ホストでは、男性のテクニック次第で女性会員様から高額な謝礼がもらえます。欲求不満な人妻や、男性と出会いが無い女性達が当サイトで男性を求めていらっしゃいます。興味のある方はTOPページからどうぞ

友達募集中 提到...

少し魅惑な自分をネットだから公開してみました。普段言えない事など、思い切って告白しているプロフなので興味ある方はぜひ除いてみてください連絡待ってまぁす。 hinyaaaaa@docomo.ne.jp