帮酷LOGO
0 0 评论
文章标签:gpg  encrypt  Message  


介紹

GPG或GNU Privacy Guard(GNU隱私保護),是一個公鑰加密實現,這允許對各方之間的信息進行安全傳輸,並可以用來驗證消息的原點是否真實。

本指南將討論GPG的工作原理以及如何實現它。

設置GPG密鑰

預設情況下,在大多數發行版中都安裝了GPG 。

如果你沒有安裝,在Ubuntu和Debian上,你可以更新本地repo索引,並通過鍵入以下內容來安裝它:


sudo apt-get update
sudo apt-get install gnupg

在CentOS上,你可以通過鍵入以下命令安裝GPG :


sudo yum install gnupg2

要開始使用GPG加密通信,你需要創建密鑰對,


gpg --gen-key

創建吊銷證書

這個吊銷密鑰必須先生成,並保存在安全的位置,以防你的電腦損壞或不可操作,若要生成吊銷密鑰,請鍵入:


gpg --output ~/revocation.crt --gen-revoke your_email@address.com

將要求你確認吊銷密鑰創建,然後提示你撤回它的原因,通常,為每個可能的場景創建吊銷證書是一個很好的主意。

在創建吊銷證書之前,你需要輸入密鑰密鑰以確認你的身份,吊銷證書將被寫入由--output標誌(我們的例子中的revocation.crt )指定的文件中:


OutputRevocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!

你應該立即限制生成的證書文件的許可權,以防止未經授權的訪問:


chmod 600 ~/revocation.crt

吊銷證書必須保持安全,以便其他用戶不能撤消你的密鑰,你應該考慮將證書備份到其他機器,並且列印出來,正確地保護它。

如何導入其他用戶的公鑰

你可以多種方式導入某人的公鑰,


gpg --import name_of_pub_key_file

也可以把他們的密鑰上傳到公鑰伺服器上,這些密鑰伺服器是用來在世界範圍內公開人們密鑰的。

你可以通過在網頁瀏覽器中訪問姓名或電子郵件地址來搜索人:

 
https://pgp.mit.edu/

 

你還可以通過鍵入以下命令在GPG中搜索密鑰伺服器:


gpg --keyserver pgp.mit.edu --search-keys search_parameters

你可以使用此方法按名稱或電子郵件地址進行搜索,

如何驗證和簽署密鑰

驗證其他人的身份

你可以通過鍵入以下命令獲取公鑰的指紋:


gpg --fingerprint your_email@address.com


Outputpub 4096R/311B1F84 2013-10-04
 Key fingerprint = CB9E C70F 2421 AF06 7D72 F980 8287 6A15 311B 1F84
uid Test User <test.user@address.com>
sub 4096R/8822A56A 2013-10-04

簽署他們的密鑰

若要簽署已導入的密鑰,只需鍵入:


gpg --sign-key email@example.com

你可以通過鍵入以下內容來完成這個操作:


gpg --output ~/signed.key --export --armor email@example.com

你必須重新輸入你的密碼,然後,由你簽署的他們的公鑰將會顯示出來,發送這些信息,以便在與他人交互時獲得"stamp of approval"的好處。

他們可以通過鍵入以下命令來完成:


gpg --import ~/signed.key

如何使你的公鑰更有效

你可以通過從GPG系統請求公鑰來發送你的公鑰:


gpg --output ~/mygpg.key --armor --export your_email@address.com


Output-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)

mQINBFJPCuABEACiog/sInjg0O2SqgmG1T8n9FroSTdN74uGsRMHHAOuAmGLsTse
9oxeLQpN+r75Ko39RVE88dRcW710fPY0+fjSXBKhpN+raRMUKJp4AX9BJd00YA/4
EpD+8cDK4DuLlLdn1x0q41VUsznXrnMpQedRmAL9f9bL6pbLTJhaKeorTokTvdn6
5VT3pb2o+jr6NETaUxd99ZG/osPar9tNThVLIIzG1nDabcTFbMB+w7wOJuhXyTLQ
JBU9xmavTM71PfV6Pkh4j1pfWImXc1D8dS+jcvKeXInBfm2XZsfOCesk12YnK3Nc
u1Xe1lxzSt7Cegum4S/YuxmYoh462oGZ7FA4Cr2lvAPVpO9zmgQ8JITXiqYg2wB3
. . .

另一個選擇是通過GPG介面實現這個功能,


gpg --list-keys your_email@address.com


Outputpub 4096R/311B1F84 2013-10-04
uid Test User <test.user@address.com>
sub 4096R/8822A56A 2013-10-04

要將密鑰上傳到某個密鑰伺服器,你可以使用以下語法:


gpg --send-keys --keyserver pgp.mit.edu key_id

密鑰將被上傳到指定的伺服器上,之後,它會分發到世界各地的其他密鑰伺服器。

使用GPG加密和解密消息

你可以在與其他人共享密鑰后,輕鬆加密和解密郵件。

加密消息

你可以使用"–encrypt"的標誌來加密消息,基本語法如下:


gpg --encrypt --sign --armor -r person@email.com name_of_file

使用收件人密鑰對消息進行加密,用你自己的私鑰來標記它,並以文本格式輸出消息,文件名將與輸入文件名相同,但是,有.asc擴展名。

解密郵件

收到消息時,只需在消息文件上調用GPG :


gpg file_name.asc

你可以按"ctrl-d"來表示消息結束,GPG會為你解密。

密鑰維護

要列出你從其他人那裡獲得的可用GPG密鑰,你可以執行以下命令:


gpg --list-keys

你可以通過以下方式更新密鑰信息:


gpg --refresh-keys

這將從密鑰伺服器獲取新信息。

可以使用以下方法從特定密鑰伺服器提取信息:


gpg --keyserver key_server --refresh-keys

如果密鑰伺服器上找不到密鑰,你收到錯誤消息。



文章标签:Message  encrypt  gpg  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语