歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> openSUSE下玩轉GPG圖文詳解

openSUSE下玩轉GPG圖文詳解

日期:2017/2/28 14:23:23   编辑:Linux教程

關於這個話題最早首先是瑪格麗特·蘇在微博上貼圖求助,同時也讓我有興趣好好去了解了解,特別是當時我又感興趣於GPG與智能卡的交互。後來我曾在2014年openSUSE.Asia Summit上做過一個workshop,但效果不是很好,很多朋友覺得講的不夠細致,確實,GPG的命令行操作對初學者比較難,上手困難。

後來我就花費了一些時間考察了常用的一些GPG圖形前端,最終選定了本文我要介紹的這個軟件——Kleopatra。沒錯,名字就是來源於“埃及艷後”克裡奧佩特拉(Cleopatra)。我選定Kleopatra有幾個原因,第一是因為它比較簡潔明了,容易上手。第二是因為功能豐富,除了常用的GPG/OpenPGP密鑰操作以外,還支持x509個人證書等。第三是通用性,Kleopatra可以在包括Linux/BSD/Windows等操作系統上使用,Windows可以通過安裝gpg4win來安裝Kleopatra,這一點就超過了同樣非常強大也非常簡潔的GNOME Seahorse和Kgpg。

本文力求簡明扼要地講述如何在openSUSE下玩轉GPG(其他Linux發行版、BSD和Windows也可以應用本文所有例子),力求一句話講明與GPG相關的一些概念和操作,比如常用的加密/解密以及文件和密鑰的簽名及其校驗。關於與電子郵件的結合,我會推薦使用Thunderbird+Engimail的組合,但不會過多詳述。

相關概念

  • PGP (Pretty Good Privacy):可以簡單理解為是一種數據加密解密和驗證的應用程序。使用散列算法。此軟件是閉源商業軟件。
  • OpenPGP:這是一種數據加密算法的開放標准,也就是一種加密協議(RFC 4880)。而PGP也是這個標准的實現之一。
  • GnuPG(GPG):是OpenPGP標准的開源實現,使用GPL協議的自由軟件。
  • 散列算法(Hashing,哈希算法):可以簡單理解為是對一段數據(可能是文件、也可能是流)取其摘要的數學運算方法,這種運算有個特性,就是不可逆性,無法根據已經摘要的數據(即哈希值或散列值)恢復成原數據。常用的散列算法有MD5、SHA-1、SHA-256、SHA-512等等。可以用這種算法來驗證數據的一致性,也可為數據生成數字指紋。
  • 非對稱加密:先來說“對稱加密”,就是在加密和解密過程中使用的是相同的密鑰。而非對稱加密,就是在加密和解密的過程中使用的是不同的密鑰。一個公鑰,一個私鑰。使用公鑰加密,使用私鑰解密,因為公鑰只是用來加密,甚至可以隨處散播。而私鑰就必須妥善且私密的保管好,否則就無法解密了。同時私鑰還可以用來對文件進行數字簽名,也就是對文件或信息生成一個散列值,若文件在傳輸過程中發生更改,再做散列操作以後,這個值就變了,這樣就有了形似古時通信用“封印”的效果。我們常用的非對稱加密算法有DSA和RSA等。

安裝 Kleopatra

這個軟件包一般在kdeim組件包內,有些發行版會單獨打包,比如OpenMandriva/Debian/Ubuntu,可以單獨安裝Kleopatra包。若沒有可以從源碼編譯。

Windows用戶可以選擇安裝gpg4win這個軟件,選擇下載完整版包含Kleopatra的就行。Mac OS 用戶可以安裝gpgtool,但只有命令行版。

創建個人openPGP密鑰對

打開 Kleopatra 之後選擇文件—>新建認證,打開新建認證對話框。可以看到有兩個大按鈕,因為Kleopatra除了支持常用的OpenPGP協議以外,還可以用來生成個人站點x509證書。這裡我們選擇“創建個人 OpenPGPG 密鑰對”

然後填入個人信息。特別注意名字和郵件地址不要填錯。注釋建議留空。之後我們按“高級設置”按鈕,配置更多選項。

在這個高級設置對話框中,我們可以選擇生成的算法,保持默認的RSA即可。為了更高的安全性,我們選擇4096比特,這是目前gpg支持的最大位數,也是最安全的。另外就是證書有效期(也就是密鑰的有效期),這裡注意,為了安全起見,也為了防止密鑰丟失造成的損失,這裡推薦還是為密鑰增加有效期,一般三年左右就行。這並不是不可修改的,還可以修改,建議逐年增加。如圖所示:

然後選“下一步”。之後會有個確認信息,確認生成的密鑰對是否如你所願,特別注意名稱和電子郵件地址不要寫錯。然後點選“創建密鑰”按鈕。

在創建密鑰的過程中,會要求你輸入一個密碼,這個密碼是個密鑰的本地密碼,強烈建議設置一個密碼,不要為空!假設你的私鑰丟失,落入他人之手,因為他沒有此密碼,也無法使用你的私鑰。

密鑰被創建以後,可以看到一個密鑰的指紋,此指紋是對密鑰對進行散列算法得到一個為了便於記憶和識別的編碼。這裡可以點選生成密鑰對的副本,也可以郵件發送證書,目前不建議把證書(這裡其實是你的公鑰)上傳到服務器。

如圖所示,綠色陰影所在的密鑰就是剛剛生成的密鑰對。

雙擊此密鑰可以獲得密鑰相關的細節。我們可以對其進行修改,修改好之後可以選擇上傳到密鑰服務器,這裡只會上傳公鑰,這樣可以有更多人知道你的GPG公鑰。之後別人就可以根據你的GPG公鑰,給你發送加密信息了。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-01/112425p2.htm

Copyright © Linux教程網 All Rights Reserved