使用GnuPG為資料保駕護航

2021-09-04 12:56:43 字數 2454 閱讀 9164

資料保護可以通過不現的軟體使用不同的方法來實現,例如在網路上的資料傳輸我們可以通過ssl的加密來實現資料的安全性,在郵件傳輸方面我們可以使用pgp或申請證書來保護資料和實現郵件的簽名功能。在以前的文章有有說過windows郵件方面的加密傳輸,通過使用微軟的證書伺服器來實現。具體檔案可參考(

[url]

[url]

)。今天我們來介紹下gnupg

gnupg是實現安全通訊和資料儲存的一系列工具集,可以做資料加密和數字簽名用。在功能上,和pgp一樣,但是由於pgp使用了idea專利演算法,所以使用pgp會有許可的麻煩,但是gnupg沒有使用這個演算法,所以對使用者來說沒有任何限制。

[url]

[url]

[url]

[url]

[url]

[url]

有編譯這些軟體包的時候有兩個地方需要注意,第一是如果你的系統中的libgcrypt的庫檔案是小於1.22版的,在後面的編譯中會出問題,所以你需要先刪除系統中自帶的那個版本,然後再安裝libgcrypt這個軟體。在出現找不到libgcrypt.so.11這個檔案的時候將/usr/local/lib/libgcrypt.so.11拷到/usr/lib下面就可以。下圖是我系統中自帶的libgcrypt的版本,是1.20的。第二點是在編譯pth軟體包時需要加入引數--enable-pthread。其它就沒什麼好說的了,平常的編譯方式就可以搞定了。

tar zxvf gnupg-1.9.20.tar.gz

cd gnupg-1.9.20

./configure --prefix=/usr/local/gnupg

make

make check

make install

完成的頁面如下圖所示:

gnupg應用:

一:生成公鑰/私鑰對

gpg --gen-key

1:選擇要生成的金鑰演算法,這裡有三種選擇。dsa金鑰是生成證書的最基本的格式,eigamal金鑰對可以用來加密。第二種選擇與第一種相似,但是僅生成dsa金鑰對。第三種選擇可以生成供簽證和加密使用的eigamal金鑰對。一般選擇預設。

2:選擇金鑰的長度。dsa的長度為1024位,而eigamal的最小長度為768位,推薦的最大長度為2048位。對於普能的應用選1024就可以了。

3:設定金鑰的有效期。對於安全性較高的應用,可以將有效期設得較短一些,防止別有用心的人有較長的時間破解。

在生成公鑰/私鑰對時,如果當前使用者目錄下不存在.gnupg的資料夾,則會出現下圖所示的錯誤,解決的辦法是新建這個資料夾。

二:匯出公鑰

在使用者使用生成的公鑰之前,需要先導出它。使用者可以輸出公鑰到主頁或是金鑰伺服器上供其它有需要的使用者與自己傳輸資料時使用,選項「export」可以實現這個功能。下面的命令表示以二進位制的格式將使用者super的公鑰輸出到super.asc檔案。

gpg --export waringid#gmail.com >root.asc

下面的命令表示以可讀的ascii字元格式將使用者super的公鑰輸出到super.asc檔案。

gpg --export -a waringid#gmail.com >root_r.asc

三:公鑰的匯入

在使用別的使用者的公鑰之前,需要進行匯入操作,下面的命令表示將waring使用者的公鑰從waring.asc匯入到本地。匯入完成後可以使用gpg --list-keys檢視是否成功匯入了對方的公鑰。

gpg --import root.asc

四:加密和解密

金鑰生成及公鑰分發後,使用者就可以安全地在網路上傳輸自己的隱密資料。如果使用者peter要給使用者root傳送乙個加密檔案,可以使用root的公鑰加密這個檔案,且這個檔案只有root使用自己的金鑰才可以解密檢視。下面是實現的步驟。

1:使用者peter使用root的公鑰加密pgp.conf檔案

gpg -e gpd.conf

2:使用者root使用自己的私鑰解密該檔案

gpg -d gpg.conf.gpg

四:對檔案進行簽名

前面有提到,為了保證向接收使用者證明資料的傳送使用者的身份,可以使用gnupg的簽名機制來實現,這樣接收使用者就能確定接收到的資料是真正的傳送方傳送的,命令如下示。它表示是對本地使用者waring的test.c檔案進行加密(使用peter使用者的公鑰)並簽名(使用waring使用者和私鑰)。當然,在使用上述命令之前要確保兩個使用者的公鑰都進行了匯入操作。

gpg -se -r peter test.c

當然,它的應用遠遠不止如此,更多的應用可以參考它的說明文件。在現實中,安全的等級是相對的,並不是採取了相應的安全方法就能保證100%的安全,就像「木桶理論」說的那樣,乙個系統或是乙個程式的安全不是取決它最安全最長的那塊木板,恰恰是最短的那塊。非對稱加密分離了公鑰和私鑰在一定程度上比對稱加密要強,但是私鑰的保密性就成了決定性的因素。相對公鑰而言,私鑰不存在被篡改的問題,但存在洩露的問題。gnupg的辦法是讓使用者為隨機生成的rsa私鑰指定乙個口令。只有通過給出口令才能將私鑰解壓並使用,所以私鑰的安全性實際上首先是對使用者口令的保密。

使用GnuPG為資料保駕護航

資料保護可以通過不現的軟體使用不同的方法來實現,例如在網路上的資料傳輸我們可以通過ssl的加密來實現資料的安全性,在郵件傳輸方面我們可以使用pgp或申請證書來保護資料和實現郵件的簽名功能。在以前的文章有有說過windows郵件方面的加密傳輸,通過使用微軟的證書伺服器來實現。具體檔案可參考 url u...

Doctor ANS為伺服器健康保駕護航!

樓主 更多 發布於 2017 02 13 14 51 為了解身體健康狀況 發現健康隱患並及時 我們會定期去醫院做體檢。伺服器也像人一樣,需要進行 健康檢查 沒有健康檢查,客戶端可能會將請求傳送到已停機或是不能正常工作的伺服器上,導致故障。ans 安獅 對後台伺服器提供的服務進行監視,並按時檢查伺服器...

智慧型防盜!物聯網卡為你保駕護航

近幾年,隨著我國經濟的不斷發展,人們的生活水平也得到了明顯的提高,生活安全意識也得到了明顯的增強。相信大家對於攝像頭都不會陌生,基本上我們在任何場所都能看見他的存在。攝像頭目前來說主要運用與安防,他可以在我們上班或者是外出的時候可以通過移動裝置實時監控到家裡的動向。在大多數人看來,攝像頭的主要功能就...