如何:在 Linux 上使用 OTR

什麼是 OTR?Anchor link

OTR (不記錄) 是一種協定,讓人可以使用他們已經熟悉的通訊工具進行機密交談。OTR 藉由以下方式提供安全性:

  • 加密您的交談
  • 提供方法來確保您的交談對象確為其人
  • 不允許伺服器記錄或以其他方式存取您的對話

這個協定跟 Google 的「Off the record」不同,後者只能停用聊天記錄,並沒有加密或驗證能力。

有幾種方法可以在 Linux 上使用 OTR。在本指引中,我們將向您介紹如何使用 Pidgin 的 OTR 外掛程式。Pidgin 是一個熱門的即時通訊用戶端程式,可用於許多 Linux 套件版本。它可以藉由外掛程式進行功能擴展;外掛程式通常是分開安裝的。

即時通訊用戶端 Pidgin 預設會自動記錄非 OTR 對話,但您可以禁用此功能。不過,即使您自己停用了記錄功能,您也無法控制交談對象 - 他可能正在記錄或擷取交談的擷圖。

為什麼要使用 Pidgin + OTR?Anchor link

您在 Google 或 Facebook 網站上使用 Google Hangouts 或 Facebook 進行聊天對話時,使用 HTTPS 對該聊天進行加密,這表示您的交談內容在傳輸過程中不受駭客和其他第三方的侵害。然而,這無法防堵 Google 或 Facebook,他們有您談話的金鑰,可以交給當局。

安裝 Pidgin 之後,您可以同時使用多個帳戶登錄。例如,您可以同時使用 Google Hangouts、Facebook 和 XMPP。Pidgin 還可讓您在沒有 OTR 的情況下使用這些工具進行聊天。由於 OTR 只在兩個人都使用的情況下才起作用,這表示即使對方沒有安裝 OTR,也可以使用 Pidgin 與他們聊天。

Pidgin 還可讓您執行頻外驗證,確保您正在與您所認為的人交談,而且沒有受到攔截式攻擊。對於每個對話,有一個選項可顯示您的金鑰指紋給您和您的交談對象。「金鑰指紋」是一串像是「342e 2309 bd20 0912 ff10 6c63 2192 1928」這樣的一連串字元,可以用於驗證長度較長的公開金鑰。藉由另一個通訊管道 (如 Twitter 私人訊息 (DM) 或電子郵件) 交換您的指紋,以確保沒有人干擾您的交談。

限制:我何時不該使用 Pidgin + OTR?Anchor link

技術專家有一個術語來描述一個程式或技術何時可能容易受到外部攻擊:他們會說,它有一個很大的「攻擊面」(attack surface)。Pidgin 的攻擊面很大。這是一個複雜的程式,撰寫時沒有把安全視為首要條件。它幾乎肯定有漏洞,其中一些漏洞可能被政府甚至大公司用來入侵使用它的電腦。使用 Pidgin 加密您的談話,對於用來監視每個人在網際網路對話的那種無特定目標灑網式監視來說,是一種很好的防禦措施,但是如果您認為自己將成為資源充沛的攻擊者 (例如一個民族國家) 的目標,應該考慮強度更高的防禦措施,例如 PGP 加密的電子郵件。

獲取並安裝 Pidgin 和 Pidgin OTR Anchor link

雖然 Pidgin 和 OTR 外掛程式在每個 Linux 套件版本上的運作方式類似,但仍有一些差異。不同套件版本之間最大的區別是如何找到並安裝 Pidgin 和 Pidgin OTR。 

在下面的操作示範中,我們使用 Mint 17,預設提供 Pidgin,並在其 Mint Software Center 提供 Pidgin OTR。這兩個程式幾乎肯定會在您的 Linux 套件版本裡的軟體庫中提供:Ubuntu 的 Ubuntu Software Center、Redhat 或 Fedora 的 PackageKit、Debian 的 apt-get 命令等等。Pidgin 本身的封裝通常稱為「pidgin」;OTR 外掛程式的封裝通常稱為「pidgin-otr」。

Pidgin 也可能與下面的螢幕擷圖略有不同,視您使用的 Linux windows manager 而定。

要在 mint 上安裝 pidgin-otr,請按一下「Mint」功能表並選取「Mint Software Center」圖示。

會出現一個視窗,要求您輸入密碼輸入您的密碼,然後按一下「確定」(OK)。

現在 Software Center 主視窗會打開。

在搜尋列中輸入「pidgin」,然後按一下「輸入」(Enter),您將在 Software Center 找到 pidgin-otr。

點兩下 pidgin-otr 條目可以查看更多關於 pidgin-otr 的資訊。

按一下「安裝」(Install)。Software Center 將安裝 pidgin-otr。pidgin-otr 安裝時,您將在 Software Center 視窗的底部看到一條進度列。安裝完成後,「安裝」(Install) 按鈕將變成「刪除」 (Remove) 按鈕。

設定 Pidgin Anchor link

按一下「Mint」功能表,將滑鼠游標停在「網際網路」(Internet) 選項上,然後從功能表中按一下「Pidgin Internet Messenger」。

新增帳戶 Anchor link

Pidgin 第一次啟動時,您會看到這個歡迎視窗,讓您可以加入一個帳戶。由於您還沒有設定帳戶,請按一下「新增」(Add) 按鈕

現在您會看到「新增帳戶」(Add Account) 視窗。Pidgin 能夠與許多交談系統共同運作,但我們將著重介紹 XMPP,以前稱為 Jabber。

協定 (Protocol) 條目,選取「XMPP」選項

在使用者名稱 (Username) 輸入處,輸入您的 XMPP 使用者名稱

在網域 (Domain) 輸入處,輸入您的 XMPP 帳戶的網域

密碼 (Password) 輸入處,輸入您的 XMPP 密碼

將「記住密碼」(Remember password) 條目旁的核取方塊勾選起來,將讓您更容易存取帳戶。請注意,記住密碼會將您的密碼保存在電腦上,讓有權使用您電腦的人存取。如果有這個問題,請不要勾選此方塊。每次啟動 Pidgin 時,您都需要輸入您的 XMPP 帳戶密碼。

新增好友 Anchor link

現在您可能會想新增交談對象。按一下「好友」(Buddies) 功能表,然後選擇「新增好友」(Add Buddy)。「新增好友」(Add Buddy) 視窗將打開。

在「新增好友」(Add Buddy) 視窗中,您可以輸入想要交談對象的使用者名稱。這個使用者不一定要來自同一部伺服器,但必須使用相同的協定,如 XMPP

在「好友的使用者名稱」(Buddy's username) 條目中,輸入具有網域名稱的使用者名稱。看起來會像一個電子郵件位址。

在「(選用) 別名」((Optional) Alias) 條目中,可以輸入您想用的名稱。這完全是選擇性的,但是如果您的聊天對象的 XMPP 帳戶很難記住,這可能會有所幫助。

按一下「新增」(Add)

一旦您按了「新增」(Add),Boris 會收到一則訊息,詢問他是否授權您新增他為好友。一旦 Boris 這麼做,他就會新增您的帳戶,而您也會收到同樣的要求。按一下「授權」(Authorize)

設定 OTR 外掛程式 Anchor link

現在您將設定 OTR 外掛程式,以便您可以安全地進行交談。按一下「工具」(Tools) 功能表選取「外掛程式」(Plugins) 選項

向下捲動,直到到達「不記錄通訊」(Off-the-Record Messaging) 選項,並選取該方塊。現在按一下「不記錄通訊」(Off-the-Record Messaging) 條目,並按一下「設定外掛程式」(Configure Plugin) 按鈕。

現在您將看到「不記錄通訊」(Off-the-Record Messaging) 設定視窗。注意上面寫著「找不到金鑰」(No key present)。按一下「產生」(Generate) 按鈕

現在畫面上會打開一個小視窗,並產生一個金鑰。完成後,按一下「確定」(OK)。

現在您將看到新的資訊:40 個字元的文字字串,分成 5 組,每組 8 個字元。這就是您的 OTR 指紋。用筆記錄下來。按一下「關閉」(Close) 按鈕

現在按一下外掛程式視窗上的「關閉」(Close) 按鈕。

安全交談 Anchor link

您現在可以和 Boris 交談了。你們兩個可以來回發送訊息。但是,我們仍然沒有安全地交談。即使您連線到 XMPP 伺服器,您與 Boris 之間的連線仍可能不安全。如果您查看交談視窗,請注意右下角顯示「非私人交談」(Not private) 的紅色字樣。按一下「非私人交談」(Not private) 按鈕

功能表將打開;選取「開始私人交談」(Start private conversation)。

請注意,按鈕現在用黃色表示「未驗證」(Unverified)。您的對話現在已加密,但敵人可能已經攔截您的對話,並正在監聽 (所謂的攔截式攻擊)。為確保您的對話完全安全,您必須確認加密對話的另一端確實是您的好友。為此,請按一下「未驗證」(Unverified) 按鈕。

功能表將打開;選取「驗證好友」(Authenticate buddy)。

畫面上會打開一個視窗。您會被詢問「您想如何認證您的朋友?」(How would you like to authenticate your buddy?)

下拉式功能表有三個選項:

共用祕密 Anchor link

共用祕密是您與交談對象已經事前同意使用的一行文字。可能的話,親自共用這一行文字;絕不要藉由電子郵件或 Skype 等不安全管道交換這些資訊。

您和您的好友需要一起輸入這行文字。按一下「身分驗證」(Authenticate)。

如果您和您的朋友已經安日後交談,但尚未在您使用的電腦上建立 OTR 指紋,共用祕密驗證將非常有用。

手動指紋驗證 Anchor link

如果您已經取得好友的指紋,現在使用 pidgin 連線,手動指紋驗證會很管用。如果您的好友換了電腦,或者必須建立新的指紋,這將不會有用。

如果您的指紋和畫面上的指紋相符,請選擇「我有」(I have),然後按一下「身分驗證」(Authenticate) 按鈕。

問題和答案 Anchor link

如果您知道您的好友,,但沒有建立共用祕密,也沒有機會分享指紋,問題和答案驗證會很有用。這個方法對於以您所知道的事物為基礎來建立驗證是很有用的,比如共同經歷的事件或者記憶。

輸入您想問的問題。不要太簡單,讓別人很容易猜到,但也不要讓它不可能答對。一個好問題會像是「我們在明尼亞波利斯的哪裡吃晚餐?」一個不好的問題會像是「東京買得到蘋果嗎?」

大小寫也有差別,所以您可以考慮在後面用括弧加註 (例如:使用大寫字母、小寫字母)

輸入問題和答案,然後按一下「身分驗證」(Authenticate)。

您好友的畫面將會打開一個視窗,顯示必須回答的問題。他必須自己按一下「身分驗證」(Authenticate) 按鈕,然後收到一條訊息,表示身分驗證成功。

一旦您的好友完成了認證程序,您將會看到一個視窗,讓您知道認證成功。

您的好友還應該驗證您的帳戶,以便雙方確認通訊是安全的。這就是 Akiko 和 Boris 畫面的樣子。注意聊天視窗右下角的綠色「私人」(Private) 圖示。

使用其他軟體 Anchor link

身分驗證機制應該能夠在 Jitsi、Pidgin、Adium 和 Kopete 等不同的交談軟體之間運作。您不需要使用相同的交談軟體,藉由 XMPP 和 OTR 進行交談,但有時軟體會出錯。Adium 是 OS X 的一款交談軟體,在接收問題和答案驗證時會發生錯誤。如果您在使用問題和答案驗證時,發現驗證他人失敗,請檢查他們是否正在使用 Adium 並看是否可以使用其他驗證方法。

 

上次查閱: 
2015 年 7 月 15 日