亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用開(kāi)源PGP技術(shù)實(shí)現(xiàn)Solaris 10下的加密解密(圖)

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-08 19:02:37   作者:佚名   我要評(píng)論
一、PGP(Pretty Good Privacy)技術(shù)簡(jiǎn)介   1、PGP簡(jiǎn)介   PGP技術(shù)是一個(gè)基于非對(duì)稱(chēng)加密算法RSA公鑰體系的郵件加密技術(shù),也是一種操作簡(jiǎn)單、使用方便、普及程度較高的加密軟件。PGP技術(shù)不但可以對(duì)電子郵件加密,防止非授權(quán)者閱讀信件;還能對(duì)電子郵件附加數(shù)字簽名
一、PGP(Pretty Good Privacy)技術(shù)簡(jiǎn)介
  1、PGP簡(jiǎn)介
  PGP技術(shù)是一個(gè)基于非對(duì)稱(chēng)加密算法RSA公鑰體系的郵件加密技術(shù),也是一種操作簡(jiǎn)單、使用方便、普及程度較高的加密軟件。PGP技術(shù)不但可以對(duì)電子郵件加密,防止非授權(quán)者閱讀信件;還能對(duì)電子郵件附加數(shù)字簽名,使收信人能明確了解發(fā)信人的真實(shí)身份;也可以在不需要通過(guò)任何保密渠道傳遞密鑰的情況下,使人們安全地進(jìn)行保密通信。
  PGP技術(shù)創(chuàng)造性地把RSA非對(duì)稱(chēng)加密算法的方便性和傳統(tǒng)加密體系結(jié)合起來(lái),在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制方面采用了無(wú)縫結(jié)合的巧妙設(shè)計(jì),使其幾乎成為最為流行的公鑰加密軟件包。
  PGP使用兩個(gè)密鑰來(lái)管理數(shù)據(jù):一個(gè)用以加密,稱(chēng)為公鑰(Public Key);另一個(gè)用以解密,稱(chēng)為私鑰(Private Key)。公鑰和私鑰是緊密聯(lián)系在一起的,公鑰只能用來(lái)加密需要安全傳輸?shù)臄?shù)據(jù),卻不能解密加密后的數(shù)據(jù);相反,私鑰只能用來(lái)解密,卻不能加密數(shù)據(jù)。
  現(xiàn)在廣泛使用的公共密鑰系統(tǒng)是基于PGP方式。它是一個(gè)基于RSA公鑰加密體系的開(kāi)源軟件,但它與RSA加密算法又有所不同。確切地說(shuō),PGP使用的是RSA和傳統(tǒng)算法DES結(jié)合的新算法——IDEA(受專(zhuān)利保護(hù))。
  RSA算法是利用素?cái)?shù)(即質(zhì)數(shù))的因式不可分解性。RSA算法的要點(diǎn)與難點(diǎn)有二個(gè):算法主要為求模取余運(yùn)算;判斷一個(gè)數(shù)是否為素?cái)?shù)。由于進(jìn)行的都是大數(shù)計(jì)算,使得RSA最快的情況也比DES慢上百倍,所以為了避開(kāi)速度這一缺陷,PGP采用了改進(jìn)后的IDEA算法。
  2、為什么采用PGP加密?
  目前國(guó)內(nèi)多使用56位的加密系統(tǒng),實(shí)際上是不安全的,而PGP是最少128位加密的強(qiáng)大的加密軟件, 可以用于任何格式的文檔,包括文本、電子表、圖形等。具備數(shù)字簽名功能,用于檢查消息和文件的原作者和完整性。支持以下密鑰算法:
  1)公用密鑰算法:Diffie-Hellman/DSS,RSA
  2)散列功能:MD5, RIPEMD-160, SHA-1
  3)對(duì)稱(chēng)算法:CAST, IDEA, Triple-DES
  包括密鑰生成和管理的整套工具,使系統(tǒng)管理員能夠靈活控制整個(gè)網(wǎng)絡(luò)系統(tǒng)的安全策略。
  3、如何部署大規(guī)模PGP系統(tǒng)
  1)建立網(wǎng)絡(luò)系統(tǒng)的PGP證書(shū)管理中心
  在大型網(wǎng)絡(luò)系統(tǒng)中,利用PGP Certificate Server建立一個(gè)證書(shū)的管理中心??梢暂p松地創(chuàng)建并管理統(tǒng)一的公用密鑰基礎(chǔ)結(jié)構(gòu)。從而在網(wǎng)絡(luò)系統(tǒng)內(nèi)部或Internet之間進(jìn)行保密通訊。 通過(guò)將Lightweight Directory Access Protocol (LDAP)目錄和PGP證書(shū)的優(yōu)點(diǎn)相結(jié)合, PGP Certificate Server大大簡(jiǎn)化了投遞和管理證書(shū)的過(guò)程。同時(shí)具備靈活的配置和制度管理。PGP Certificate Server支持LDAP和HTTP協(xié)議,從而保證與PGP客戶軟件的無(wú)縫集成。 其Web接口允許管理員執(zhí)行各種功能,包括配置、報(bào)告和狀態(tài)檢查,以實(shí)現(xiàn)對(duì)其遠(yuǎn)程管理。 我們可以在Sun Solaris或Microsoft Windows Server (Intel)平臺(tái)上實(shí)現(xiàn)。
  2)對(duì)文檔和電子郵件進(jìn)行PGP加密
  在操作系統(tǒng)可以安裝PGP,對(duì)文件系統(tǒng)和電子郵件系統(tǒng)進(jìn)行加密傳輸。
  3)在應(yīng)用系統(tǒng)中集成PGP加密
  利用PGP Software Development Kit(PGP 軟件開(kāi)發(fā)包)系統(tǒng)開(kāi)發(fā)人員可以將密碼功能結(jié)合到現(xiàn)有的應(yīng)用系統(tǒng)中, 如電子商務(wù)、法律、金融及其他應(yīng)用中。
  4、PGP的 運(yùn)行方式
  PGP有5種業(yè)務(wù):認(rèn)證性?保密性?壓縮?電子郵件的兼容性?分段?表1是這5種業(yè)務(wù)的總結(jié)?其中CAST-128是一種分組密碼,算法具有傳統(tǒng)Feistel網(wǎng)絡(luò)結(jié)構(gòu),采用16輪迭代,明文分組長(zhǎng)度為64比特,密鑰長(zhǎng)以8比特為增量,從40比特到128比特可變?
  
功能
使用的算法
功能描述
數(shù)字簽字
DSS/SHA或RSA/SHA
發(fā)送方使用SHA產(chǎn)生消息摘要,再用自己的秘密鑰按DSS算法或RSA算法對(duì)消息摘要簽字。
消息加密
CAST或IDEA或三個(gè)密鑰的三重DES/ElGamal或RSAIDEA或三重DES加密
消息由用戶產(chǎn)生的一次性會(huì)話密鑰按CAST-128或消息加密,會(huì)話密鑰用接收方的公開(kāi)鑰按ElGamal或RSA加密。
壓縮格式
ZIP, ZLIB, BZIP2
消息經(jīng)ZIP, ZLIB, BZIP2算法壓縮后存儲(chǔ)或傳送
電子郵件的兼容性
使用基數(shù)64變換
將加密的消息轉(zhuǎn)換為ASCII字符的兼容性基數(shù)64變換串,以提供電子郵件應(yīng)用系統(tǒng)的透明性。
分段
對(duì)消息進(jìn)行分段和重組以適應(yīng)PGP對(duì)消息最大長(zhǎng)度的限制。
  表1 PGP的業(yè)務(wù)

圖1:PGP工作流程
  5、開(kāi)源pgp工具
  后來(lái)GNU和自由軟件運(yùn)動(dòng)的出現(xiàn)可以使用免費(fèi)的GPG,它的安全性與PGP一樣強(qiáng),可以充分地保護(hù)每個(gè)用戶的隱私。 GnuPG 是用于安全通信的工具;它是對(duì) PGP加密技術(shù)的完全和免費(fèi)的開(kāi)源代替產(chǎn)品。使用 GnuPG,你可以給你的數(shù)據(jù)和通信加密,并可以使用 數(shù)碼簽名(digitally signing)來(lái)驗(yàn)證你的通信。GnuPG還能夠解密及校驗(yàn) PGP 5.x。
  因?yàn)镚nuPG 和其它加密標(biāo)準(zhǔn)兼容,你的安全通信可能會(huì)與其它操作系統(tǒng)(如 Windows 和 Macintosh)上的電子郵件程序兼容。GnuPG 使用公鑰加密術(shù)(public key cryptography)來(lái)為用戶提供安全的數(shù)據(jù)交換。在公鑰加密術(shù)方案中,你生成兩把鑰匙:公鑰和密鑰。你和通信對(duì)方或鑰匙服務(wù)器互換你的公鑰,你決不應(yīng)該出示你的密鑰。
  二、在Solaris的GnuPG安裝
  首先先必須安裝軟件軟件包:
  bzip2-1.0.5
  libidn
  libiconv
  libintl
  readline
  openssl-0.9.8g
  curl
  openldap
  sasl
  zlib
  限于篇幅筆者不詳細(xì)介紹了。
  #gunzip gnupg-1.4.8-sol10-x86-local.gz
  #pkgadd –d gnupg-1.4.8-sol10-x86-local

圖2:是gunpg安裝成功界面
  另外判斷是否安裝有GnuPG的方法也很簡(jiǎn)單。直接在命令行下輸入“gpg -h”命令,如果系統(tǒng)已經(jīng)安裝有GnuPG,就會(huì)顯示關(guān)于GPG版本和用法的信息。
三、Gunpg在Solais下的配置
  確定系統(tǒng)中已經(jīng)安裝了GnuPG后,就可以開(kāi)始下面加密和簽名的工作了。
  1、生成密匙
  用戶應(yīng)用GnuPG,首先要有一對(duì)自己的密鑰。所以,第一步就是產(chǎn)生一對(duì)密鑰。gpg命令通過(guò)大量參數(shù)提供所需要的幾乎所有操作。其中,參數(shù)“-gen-key”就是用來(lái)產(chǎn)生一對(duì)密鑰的。在安裝了GPG的Linux系統(tǒng)上可以運(yùn)行以下命令:
  #gpg --gen-key
  命令開(kāi)始運(yùn)行后,首先,會(huì)看到版本和路徑信息。隨后需要回答一系列問(wèn)題,以幫助產(chǎn)生一對(duì)密鑰。其中,DSA是數(shù)字簽名算法,RSA和ElGamal是兩種不同原理的非對(duì)稱(chēng)密鑰算法。通??梢赃x擇“1”,這樣生成的密鑰可以同時(shí)用作簽名和加密兩種用途。
  接著,會(huì)要求選擇密鑰的長(zhǎng)度。這里的密鑰長(zhǎng)度有768、1024和2048位三種。如圖 3 。

圖3:選擇密鑰使用的長(zhǎng)度
  顯然,密鑰越長(zhǎng)越安全,但太長(zhǎng)又會(huì)影響使用的速度。所以,可以根據(jù)不同的需要選擇適合的長(zhǎng)度。筆者選擇了的1024位密鑰。另外,還需要設(shè)定密鑰過(guò)期的時(shí)間,原則上,密鑰使用的頻率越高,密鑰有效的時(shí)間越長(zhǎng),被攻擊的可能性就越大。
  所以,要根據(jù)應(yīng)用的實(shí)際情況綜合考慮,確定一個(gè)適當(dāng)?shù)臅r(shí)間長(zhǎng)度。需要注意的是,密鑰要定期更換,建議絕對(duì)不要永遠(yuǎn)使用同一對(duì)密鑰。
  最后,需要輸入一些個(gè)人信息,包括真實(shí)姓名、電子郵件地址等,用來(lái)識(shí)別密鑰,最好是如實(shí)填寫(xiě)。然后,必須輸入一個(gè)密碼。密碼用來(lái)保護(hù)密鑰,沒(méi)有這個(gè)密碼,任何人都不能看到密鑰本身的內(nèi)容。密碼是在密鑰文件泄露后惟一的保密措施,它的最大敵人是暴力破解和字典攻擊。
  所以,一定要選擇一個(gè)強(qiáng)壯的密碼,來(lái)有效地對(duì)抗這些攻擊。 密碼確定以后,系統(tǒng)開(kāi)始運(yùn)算。這時(shí)需要隨便地敲擊鍵盤(pán)或是移動(dòng)鼠標(biāo),以產(chǎn)生一些隨機(jī)數(shù),協(xié)助密鑰的順利生成。注意,如果沒(méi)有以上動(dòng)作,很可能最終不能產(chǎn)生密鑰。系統(tǒng)運(yùn)算完成后,會(huì)出現(xiàn)類(lèi)似圖4的信息:

圖4:成功生成鑰匙文件
  2、查看密鑰
  使用下面的命令:
  gpg --list-keys
  你會(huì)看到和圖 5相似的輸出:

圖5:查看所有密鑰
3、其他常用命令:

  查看所有公鑰:

  gpg --list-public-key

  查看所有私鑰:

  gpg --list-secret-key

  列出所有簽名:

  gpg --list-sig

  4、公鑰的使用

  接下來(lái)要做的工作是輸出一個(gè)用來(lái)發(fā)布的公鑰:

  gpg --export -a -o yourpubkey.asc

  -a 是ASCII編碼形式,-o 說(shuō)明輸出公鑰到 yourpubkey.asc 文件。要發(fā)布這個(gè)公鑰,可以將yourpubkey.asc文件放在你的主頁(yè)上,也可以通過(guò)郵件寄給朋友。

  當(dāng)你收到朋友發(fā)來(lái)的公鑰,你需要將這把公鑰導(dǎo)入你的鑰匙庫(kù)。例如,他寄給你的公鑰是 friendpubkey.asc ,使用下面命令就可以導(dǎo)入進(jìn)鑰匙庫(kù):

  gpg --import friendpubkey.asc

  5、生成一份廢棄證書(shū)

  在生成鑰匙對(duì)后,還應(yīng)該為公鑰創(chuàng)建一份廢棄證書(shū)。這不是廢棄剛剛生成的鑰匙,而是提供了一種停止鑰匙被繼續(xù)公開(kāi)使用的安全方法。當(dāng)忘記了口令句,或者該口令句被竊取,或者更換了聯(lián)系郵件地址,或系統(tǒng)崩潰等情況下,可以使用該廢棄證書(shū)宣告原來(lái)的公鑰無(wú)效。使用--gen-revoke選項(xiàng)生成廢棄證書(shū):

  #gpg --output revoke.asc --gen-revoke [user-id: goodcjh@2911.net]

  確認(rèn)廢棄原因后,輸入用來(lái)生成鑰匙的口令句。注意,如果省略了--output revoke.asc選項(xiàng),則廢棄證書(shū)只會(huì)被顯示在屏幕上,需要進(jìn)行復(fù)制、粘貼操作,并保存為文件才行。

  四、Gunpg在Solaris下的應(yīng)用

  1、對(duì)文件進(jìn)行加密和解密

  Gunpg使用的是非對(duì)稱(chēng)的密鑰體系,用戶擁有一對(duì)密鑰,包括一個(gè)公鑰和一個(gè)私鑰。公鑰對(duì)外公布,私鑰則由自己保存。使用公鑰加密的數(shù)據(jù)可以用私鑰解密,同樣,使用私鑰加密的數(shù)據(jù)可以用公鑰解密。

  2、使用GnuPG進(jìn)行數(shù)字簽名(sign)

  利用GnuPG數(shù)字簽名的方式有三種: 1.顯式數(shù)字簽名,即直接把數(shù)字簽名添加在文件內(nèi)容的后面。這樣做的好處是簡(jiǎn)單,可以直接閱讀信息。 2.隱匿數(shù)字簽名,即簽名后隱藏文件內(nèi)容。這樣做的好處是把真實(shí)信息隱藏在簽名檔中。如果想要查看信息,使用命令:

  #gpg -d goodcjh.file.asc

  3、把數(shù)字簽名單獨(dú)存放于一個(gè)文件。

  #gpg -ba goodcjh.file

  這時(shí)目錄下會(huì)出現(xiàn)一個(gè)cjh.file.asc的簽名文件。如果此時(shí)修改原文件test.file的內(nèi)容,再次校驗(yàn)數(shù)字簽名檔時(shí)就會(huì)被警告。

  使用GnuPG進(jìn)行數(shù)據(jù)加密和解密,例如,現(xiàn)有一份文本文件,內(nèi)容為“goodcjh using GnuPG on solaris”。使用如下命令進(jìn)行數(shù)據(jù)加密:

  #gpg -ea -r goodcjh test.txt

  -e表示加密選項(xiàng);-a表示使用ASCⅡ字符,如果不指定,默認(rèn)輸出為二進(jìn)制文件;-r指定某用戶的公鑰;text.txt為所要加密的文件名。

  解密操作使用命令:

  #gpg -d goodcjh.file.asc >test.file

  一般可以用以下命令來(lái)生成一個(gè)同時(shí)帶有數(shù)字簽名和加密的文檔:

  #gpg -o test.gpg -ea -s -r goodcjh.test.file

  其中-o表示輸出文件名;-s表示加入數(shù)字簽名。

  另外在GPG的使用過(guò)程中,可以進(jìn)行多次加密使數(shù)據(jù)更加安全。命令如下:

  #gpg -eas -r goodcjh test.file -o test.gpg.nc1

  #gpg -eas -r goodcjh test.gpg.nc1 -o test.gpg.nc2

  #gpg -eas -r goodcjh test.gpg.nc2 -o test.gpg.nc3

  解密操作過(guò)程類(lèi)似。


五、對(duì)文件進(jìn)行數(shù)字簽名和驗(yàn)證
  #gpg --clearsign policy.txt
  運(yùn)行以上命令,生成一個(gè)名為report.txt.asc的文件,該文件中除了原文件信息外還包含數(shù)字簽名信息。
  驗(yàn)證文件的數(shù)字簽名
  #gpg --verify policy.txt.asc
  在電子郵件中使用gunpg
  在Mutt中使用GnuPG
  GnuPG用的最多的地方,還是在收發(fā)郵件的過(guò)程中。這里以Mutt作為郵件客戶端來(lái)舉例。Mutt對(duì)GnuPG支持的非常好,并且如果你不做任何設(shè)置,它會(huì)自動(dòng)到.gnupg目錄下調(diào)用公鑰和密鑰。
  1、發(fā)信
  寫(xiě)完一封信,在發(fā)出之前,可以使用下列功能: 通過(guò)按“Esc+K”鍵可以添加GPG文檔,按照提示輸入公鑰ID號(hào),如0B383904,或者直接回車(chē)從鑰匙圈上選擇。
  2、閱讀電子郵件
  當(dāng)你收到一封朋友寄來(lái)的加密閱讀電子郵件時(shí),Mutt會(huì)在郵件索引頁(yè)中,用P表示是加密過(guò)的信件,用s表明有簽名。 要打開(kāi)一封P標(biāo)志的信時(shí),Mutt提示先輸入使用密鑰的口令??诹钶斎胝_,Mutt用密鑰自動(dòng)解密該郵件。當(dāng)你關(guān)閉Mutt,下次再看這封郵件時(shí),需要再次輸入口令和解密過(guò)程。 打開(kāi)一封s標(biāo)志的信,Mutt自動(dòng)匹配鑰匙庫(kù)里面的公鑰,顯示信件內(nèi)容的同時(shí)也顯示簽名信息。
  圖形化電子郵件Ximin下使用gunpg
  Ximin下使用gunpg界面如圖 6 。

  常見(jiàn)問(wèn)題:
  當(dāng)您給電子郵件添加一個(gè)加密簽名時(shí),您可能會(huì)看到下面的錯(cuò)誤:
  Failed to GPG sign: Broken pipe
  gpg: skipped ’’: secret key not available
  gpg: signing failed: secret key not available要更正此錯(cuò)誤,請(qǐng)執(zhí)以下步驟:
  打開(kāi)以下文件:$HOME/.gnupg/gpg.conf
  注釋掉以下行:use-agent
  總結(jié):Gunpg作為一個(gè)開(kāi)源并且免費(fèi)的加密和數(shù)字簽名軟件已經(jīng)存在多年。它不但可以為企業(yè)、個(gè)人之間的重要信息提供加密保護(hù),還可以為出版的軟件、內(nèi)核等電子產(chǎn)品進(jìn)行數(shù)字簽名,防止產(chǎn)品被篡改,最大程度地保障信息安全。 對(duì)于Unix用戶來(lái)說(shuō),對(duì)信息安全的要求相對(duì)更高,gunpg更值得在unix用戶中推廣和應(yīng)用。
  有用參考資料:
  Gunpg加密技術(shù)中可以研究討論之處極多,這里只對(duì) GnuPG 蜻蜓點(diǎn)水地介紹了一下。如果你想深入了解這方面的知識(shí),可以參看下面的資料。
  在線的文檔
  Gpg –h ##可以顯示GnuPG 命令和選項(xiàng)的快捷參考。
  有用的網(wǎng)站:
  http://www.gnupg.org — GnuPG 網(wǎng)站,其中有到最新 GnuPG 發(fā)行版本、通俗易懂的用戶指南、以及其它加密資源的鏈接。
  相關(guān)書(shū)籍:
  PGP &GPG ,作者M(jìn)ichael W. Lucas;No Starch Press出版。

PGP &GPG封面

相關(guān)文章

最新評(píng)論