加密應用(GPG)
-
Upload
kenny-chen -
Category
Internet
-
view
876 -
download
2
description
Transcript of 加密應用(GPG)
資訊加密實務篇
[email protected]/12/24
•甚麼是 PGP
•認識 GnuPG
•取得 GnuPG
•管理 GnuPG Keys
•文件加密與解密
•文件簽名與驗證
•郵件簽名與加密
•用 SSH 封裝非加密連線
甚麼是 PGP
•甚麼是 PGP•PGP 的功能•PGP 重要里程•PGP 授權模式
GPG是 Pretty Good Privacy的縮寫。
為 PGP公司的加密及簽名工具套件,可以讓電子郵件或檔案具有保密功能的程式。
PGP技術目前被廣泛應用在加密標準當中,且同時被整合到多種企業電腦系統之中。
甚麼是 PGP
PGP利用公鑰密碼學為基礎,使用商業版權的 IDEA演算法,並集成了有商業版權的PGPdisk工具。有別於開源的 GPG( GnuPG)。
PGP 的功能
其原理是利用 PGP產生一對鑰匙:•一把是私人鑰匙•一把是公開鑰匙當要傳送一封保密信或檔案給對方時,首先必須先取得對方的公鑰,並加入自己的公鑰匙環中,接下來利用對方的公鑰將信件加密後再傳給對方。當對方收到加密的信件後,對方必須利用相對的私鑰來解密。
PGP 的功能
PGP亦提供 PGP專屬簽名。其目的通常是當要公開傳送訊息時,希望讓別人知道這訊息確實是由作者所發出。一旦加上專屬簽名後,任何人只要更改訊息本身或簽名的話, PGP都能偵測出此篇文章已被更動,並非是原作者之成品。
PGP 的功能
Philip R. Zimmermann是 PGP的主要開發者。•他在志願者的幫助下,突破政府的禁止,於 1991年將 PGP在網際網路上免費發布。•公元 2000年, PGP 7.0.3釋出,專門提供給個人及freeware用戶; PGP 7.0.4釋出給企業用戶。•公元 2002年,新成立 PGP Corporation從 Network Associates手中購回 PGP產品及智慧產權。•公元 2006年, PGP Corporation為 PGP加密平台發布增強版本的應用程式。
PGP 重要里程
PGP的授權模式主要分三種 :•PGP Subscription License (PGP一年訂閱授權 )
•PGP Perpetual License (PGP長期無保固授權 )
•PGP Software Insurance License (PGP軟體升級保固授權 )
PGP 授權模式
PGP Subscription License(PGP一年訂閱授權 )
PGP一年訂閱授權提供在訂閱期間 (通常是一年 )購買者使用 PGP產品之權利。購買 PGP一年訂閱授權之消費者可使用及享有最新版 PGP軟體更新(Update)和升級 (Upgrades)。更新是小幅度的改進;升級是大規模的改版,提供全新的功能。
PGP 授權模式
PGP Perpetual License(PGP長期無保固授權 )
PGP長期無保固授權之購買者永久使用 PGP產品之權利,但 PGP Perpetual License期間不提供任何更新 (Update)、升級 (Upgrades)或更換最新版本服務。 PGP長期無保固授權之購買者若想得到最新的更新、升級,則必須另加升級保固授權 (Upgrade Insurance License)。
PGP 授權模式
PGP Software Insurance License(PGP軟體升級保固授權 )
PGP軟體升級保固授權提供購買者在升級保固期間享有更新 (Update)及升級 (Upgrades)之權利,有效時間是一年。
PGP 授權模式
認識 GnuPG
•甚麼是 GnuPG•GnuPG 支援的演算法
GnuPG( GNU Privacy Guard)簡稱 GPG。是一個基於 PGP的以 GNU通用公共許可證釋出的開放源碼軟體,用於加密、及相關鑰匙對生成。
GPG完全符合 IETF正在進行標準化的 OpenPGP協議RFC4880,可用於替代符合相同協議的 PGP。
現時有兩組分支 version 1.*.* 與 version 2.*.*, 後者增加了對 S/MIME的支持。
GPG是自由軟體基金會 GNU軟體項目。 GPG軟體發佈於 GPLv3下。
甚麼是 GPG
GnuPG支持的演算法:公鑰演算: RSA, RSA-E, RSA-S, ELG-E, DSA對稱加密: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH信息摘要: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224壓縮:不壓縮 , ZIP, ZLIB, BZIP2
GnuPG支援的演算法
取得 GnuPG
目前大部分的主流 Linux發行版本均已內建GnuPG軟體及工具。如需自行編譯或升級,也可以到 GnuPG的官方網站下載:http://www.gnupg.org
取得 GnuPG
此外,也有人將 GnuPG移植到 MS Windows平台上運行。其中 Gpg4win計畫就是 Windows版本的GnuPG。 Gpg4win整合了若干非常好用的前端介面,便於使用者安裝及操作。大家可以到 Gpg4win的官方網站下載:http://www.gpg4win.org
取得 GnuPG
管理 GnuPG Keys
•產生 GnuPG Key•備份 GnuPG Key•匯出 GnuPG Key•上傳 GnuPG Key 至 Key Server•匯入 GnuPG Key•註銷 GnuPG Key
gpg --key-gen
產生 GnuPG Key
輸入名字、 email及建立密碼
產生 GnuPG Key
移動滑鼠或敲擊鍵盤等操作
產生 GnuPG Key
稍侯… 直到成功產生 Key (ID)
產生 GnuPG Key
檢查私鑰及公鑰(請留意 KeyID)
產生 GnuPG Key
編輯私鑰並臨時修改密語
備份 GnuPG Key
輸入新密語 (兩次 )并退出
備份 GnuPG Key
輸出公鑰及私鑰至備份檔案
備份 GnuPG Key
重新編輯私鑰並重設原密語
備份 GnuPG Key
將輸出結果存於輸出檔案*再複製給需要傳送加密文件給您或需要驗證您的簽名的相關人員
匯出 GnuPG Key
方法一:直接上傳至 keyserver
上傳 GnuPG Key至 Key Server
方法二:先輸出並複製公鑰內容
上傳 GnuPG Key至 Key Server
然後貼至 server網頁並提交
上傳 GnuPG Key至 Key Server
再確認成功上傳
上傳 GnuPG Key至 Key Server
方法一:從 keyserver匯入 KeyID
匯入 GnuPG Key
方法二:從 keyserver搜尋並匯入
匯入 GnuPG Key
方法三:從檔案匯入
匯入 GnuPG Key
檢查公鑰清單
匯入 GnuPG Key
查看公鑰指紋
匯入 GnuPG Key
編輯並設定信任程度
匯入 GnuPG Key
編輯並設定信任程度
匯入 GnuPG Key
指定 KeyID並說明原因
註銷 GnuPG Key
確認註銷憑證成功產生
註銷 GnuPG Key
註銷己方憑證、至 keyserver註銷、及刪除
註銷 GnuPG Key
註銷他方憑證:
方法一:從 keyserver匯入註銷憑證
註銷 GnuPG Key
方法二:從檔案匯入註銷憑證
註銷 GnuPG Key
確認憑證及刪除
註銷 GnuPG Key
文件加密與解密
•為文件設定密碼保護•對文件作加密處理•對文件作解密處理
用 gpg以密碼方式加密文件
為文件設定密碼保護
文件被加密為 .gpg結尾的文件
為文件設定密碼保護
用 gpg解密以密碼方式加密的文件
為文件設定密碼保護
傳送文件之前先取得並確認接收者的 KeyID
對文件作加密處理
以接收者的 KeyID來進行文件加密處理
對文件作加密處理
Gpg不能解開別人的加密文件
對文件作解密處理
解開傳送給自己的加密文件
對文件作解密處理
查看被解密文件
對文件作解密處理
文件簽名與驗證
•對文件作簽名•驗證文件簽名
對文件作明碼簽名並附於同一檔案內
*需有私鑰
對文件作簽名
確認簽名生成
對文件作簽名
對文件作明碼簽名並附於另一檔案內
*需輸入私鑰密語
對文件作簽名
確認簽名生成
對文件作簽名
同時對文件作加密與簽名處理
對文件作簽名
驗證附於同一文件的簽名
驗證文件簽名
驗證附於另一文件的簽名
驗證文件簽名
同時解密與驗證簽名
*需私鑰密語
驗證文件簽名
郵件簽名與加密
•對郵件作簽名•對郵件作加密•驗證與解密郵件
*以 Evolution郵件程式來說明
* Evolution將直接使用鑰匙圈中的金鑰
對郵件作簽名
在 OpenSuSE中啟動 Evolution
對郵件作簽名
按“新增”按鈕撰寫新郵件
對郵件作簽名
在發送郵件之前,
點選“安全性”->“GPG加簽”
對郵件作簽名
按下“傳送”按鈕
對郵件作簽名
輸入私鑰密語
對郵件作簽名
在發送郵件之前,
點選“安全性”->“PGP加密”
對郵件作加密
同時做簽名與加密
對郵件作加密
按下“傳送”鍵之後輸入私鑰密語
對郵件作加密
按下“ Get Mail”按鈕來收信
驗證與解密郵件
如果是第一次使用,需要為Evolution設定一個密語
驗證與解密郵件
展開簽名郵件就可驗證簽名*如果簽名有效但無法驗證寄件者,可能需要調整信任程度
驗證與解密郵件
重新驗證簽名
驗證與解密郵件
打開已加密郵件*在輸入私鑰密語之前無法察看內容
驗證與解密郵件
輸入私鑰密語
驗證與解密郵件
查看完成解密郵件,確認加密狀態
驗證與解密郵件
打開已加密及已簽名郵件*在輸入私鑰密語之前無法察看內容
驗證與解密郵件
輸入私鑰密語
驗證與解密郵件
查看完成解密郵件,確認簽名與加密狀態
驗證與解密郵件
•憑證申請書的 email欄位必須要與信箱一致•需要轉換為 PKCS12格式openssl pkcs12 -export -inkey myname.key -in myname.crt -out myname.pkcs12
•Outlook Express需將 CA Cert匯入至“受信任的根憑證發行者”
S/MIME注意事項
用 SSH 封裝非加密連線
方法一, 在本地端開一個 port 然後透過 tunnel 連線遠端服務: ssh -L 10110:4.3.2.1:110 4.3.2.1
用 SSH 封裝非加密連線
方法二, 在遠端開一個 port 然後透過 tunnel 連線回本地端服務: ssh -R 10110:1.2.3.4:110 4.3.2.1
用 SSH 封裝非加密連線
方法三, 在本地端開一個 port 然後透過 tunnel 連線第三方主機的服務 ( 離開 tunnel 的連線沒有加密 ) : ssh -L 10110:10.0.0.1:110 4.3.2.1
用 SSH 封裝非加密連線
注意:tunnel 入口只允許 localhost 連線
解決方法:設定 GatewayPorts yes 於/etc/ssh/sshd_config (server 端 )/etc/ssh/ssh_config (client 端 )
用 SSH 封裝非加密連線