Submit Search
Upload
加密應用(GPG)
•
6 likes
•
2,092 views
Kenny (netman)
Follow
主要介紹 GPG 的應用:文件與郵件的加解密及簽章。順帶一提 SSH Tunnel 的應用。
Read less
Read more
Internet
Report
Share
Report
Share
1 of 96
Download now
Download to read offline
Recommended
Chap 18 net
Chap 18 net
Kenny (netman)
rpi_audio configuration steps
rpi_audio configuration steps
Kenny (netman)
Rpi audio
Rpi audio
Kenny (netman)
Importance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation reading
Kenny (netman)
Ha opensuse
Ha opensuse
Kenny (netman)
Chap 19 web
Chap 19 web
Kenny (netman)
Chap 17 advfs
Chap 17 advfs
Kenny (netman)
About the Course
About the Course
Kenny (netman)
Recommended
Chap 18 net
Chap 18 net
Kenny (netman)
rpi_audio configuration steps
rpi_audio configuration steps
Kenny (netman)
Rpi audio
Rpi audio
Kenny (netman)
Importance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation reading
Kenny (netman)
Ha opensuse
Ha opensuse
Kenny (netman)
Chap 19 web
Chap 19 web
Kenny (netman)
Chap 17 advfs
Chap 17 advfs
Kenny (netman)
About the Course
About the Course
Kenny (netman)
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System Rescue
Kenny (netman)
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job Scheduling
Kenny (netman)
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell script
Kenny (netman)
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account management
Kenny (netman)
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
Kenny (netman)
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 11 boot
Kenny (netman)
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fs
Kenny (netman)
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkg
Kenny (netman)
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 08 proc
Kenny (netman)
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 07 vi
Kenny (netman)
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regx
Kenny (netman)
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filter
Kenny (netman)
Linux fundamental - Chap 04 archive
Linux fundamental - Chap 04 archive
Kenny (netman)
Linux fundamental - Chap 03 file
Linux fundamental - Chap 03 file
Kenny (netman)
Linux fundamental - Chap 02 perm
Linux fundamental - Chap 02 perm
Kenny (netman)
Linux fundamental - Chap 01 io
Linux fundamental - Chap 01 io
Kenny (netman)
Linux fundamental - Chap 00 shell
Linux fundamental - Chap 00 shell
Kenny (netman)
Linux system security
Linux system security
Kenny (netman)
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
Linux Network Monitoring
Linux Network Monitoring
Kenny (netman)
More Related Content
More from Kenny (netman)
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System Rescue
Kenny (netman)
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job Scheduling
Kenny (netman)
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell script
Kenny (netman)
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account management
Kenny (netman)
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
Kenny (netman)
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 11 boot
Kenny (netman)
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fs
Kenny (netman)
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkg
Kenny (netman)
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 08 proc
Kenny (netman)
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 07 vi
Kenny (netman)
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regx
Kenny (netman)
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filter
Kenny (netman)
Linux fundamental - Chap 04 archive
Linux fundamental - Chap 04 archive
Kenny (netman)
Linux fundamental - Chap 03 file
Linux fundamental - Chap 03 file
Kenny (netman)
Linux fundamental - Chap 02 perm
Linux fundamental - Chap 02 perm
Kenny (netman)
Linux fundamental - Chap 01 io
Linux fundamental - Chap 01 io
Kenny (netman)
Linux fundamental - Chap 00 shell
Linux fundamental - Chap 00 shell
Kenny (netman)
Linux system security
Linux system security
Kenny (netman)
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
Linux Network Monitoring
Linux Network Monitoring
Kenny (netman)
More from Kenny (netman)
(20)
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 04 archive
Linux fundamental - Chap 04 archive
Linux fundamental - Chap 03 file
Linux fundamental - Chap 03 file
Linux fundamental - Chap 02 perm
Linux fundamental - Chap 02 perm
Linux fundamental - Chap 01 io
Linux fundamental - Chap 01 io
Linux fundamental - Chap 00 shell
Linux fundamental - Chap 00 shell
Linux system security
Linux system security
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Linux Network Monitoring
Linux Network Monitoring
加密應用(GPG)
1.
資訊加密實務篇 netman@study-area.org V1.2.5 2012/12/24
2.
•甚麼是 PGP •認識 GnuPG •取得
GnuPG •管理 GnuPG Keys •文件加密與解密 •文件簽名與驗證 •郵件簽名與加密 •用 SSH 封裝非加密連線
3.
甚麼是 PGP
4.
•甚麼是 PGP •PGP 的功能 •PGP
重要里程 •PGP 授權模式
5.
GPG 是 Pretty
Good Privacy 的縮寫。 為 PGP 公司的加密及簽名工具套件,可以讓 電子郵件或檔案具有保密功能的程式。 PGP 技術目前被廣泛應用在加密標準當中, 且同時被整合到多種企業電腦系統之中。 甚麼是 PGP
6.
PGP 利用公鑰密碼學為基礎,使用商業版權 的 IDEA
演算法,並集成了有商業版權的 PGPdisk 工具。 有別於開源的 GPG ( GnuPG )。 PGP 的功能
7.
其原理是利用 PGP 產生一對鑰匙: •一把是私人鑰匙 •一把是公開鑰匙 當要傳送一封保密信或檔案給對方時,首先必須先 取得對方的公鑰,並加入自己的公鑰匙環中,接下 來利用對方的公鑰將信件加密後再傳給對方。 當對方收到加密的信件後,對方必須利用相對的私 鑰來解密。 PGP
的功能
8.
PGP 亦提供 PGP
專屬簽名。 其目的通常是當要公開傳送訊息時,希望讓 別人知道這訊息確實是由作者所發出。 一旦加上專屬簽名後,任何人只要更改訊息 本身或簽名的話, PGP 都能偵測出此篇文章 已被更動,並非是原作者之成品。 PGP 的功能
9.
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 重要里程
10.
PGP 的授權模式主要分三種 : •PGP
Subscription License (PGP 一年訂閱授權 ) •PGP Perpetual License (PGP 長期無保固授權 ) •PGP Software Insurance License (PGP 軟體升級 保固授權 ) PGP 授權模式
11.
PGP Subscription License (PGP
一年訂閱授權 ) PGP 一年訂閱授權提供在訂閱期間 ( 通常是一年 ) 購買者使用 PGP 產品之權利。購買 PGP 一年訂閱 授權之消費者可使用及享有最新版 PGP 軟體更新 (Update) 和升級 (Upgrades) 。 更新是小幅度的改進;升級是大規模的改版,提供 全新的功能。 PGP 授權模式
12.
PGP Perpetual License (PGP
長期無保固授權 ) PGP 長期無保固授權之購買者永久使用 PGP 產品 之權利,但 PGP Perpetual License 期間不提 供任何更新 (Update) 、升級 (Upgrades) 或更 換最新版本服務。 PGP 長期無保固授權之購買者 若想得到最新的更新、升級,則必須另加升級保固 授權 (Upgrade Insurance License) 。 PGP 授權模式
13.
PGP Software Insurance
License (PGP 軟體升級保固授權 ) PGP 軟體升級保固授權提供購買者在升級保固期 間享有更新 (Update) 及升級 (Upgrades) 之權 利,有效時間是一年。 PGP 授權模式
14.
認識 GnuPG
15.
•甚麼是 GnuPG •GnuPG 支援的演算法
16.
GnuPG ( GNU
Privacy Guard )簡稱 GPG 。是一 個基於 PGP 的以 GNU 通用公共許可證釋出的開放源碼 軟體,用於加密、及相關鑰匙對生成。 GPG 完全符合 IETF 正在進行標準化的 OpenPGP 協議 RFC4880 ,可用於替代符合相同協議的 PGP 。 現時有兩組分支 version 1.*.* 與 version 2.*.* , 後者增加了對 S/MIME 的支持。 GPG 是自由軟體基金會 GNU 軟體項目。 GPG 軟體發佈 於 GPLv3 下。 甚麼是 GPG
17.
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 支援的演算法
18.
取得 GnuPG
19.
目前大部分的主流 Linux 發行版本均已內建 GnuPG
軟體及工具。 如需自行編譯或升級,也可以到 GnuPG 的官 方網站下載: http://www.gnupg.org 取得 GnuPG
20.
此外,也有人將 GnuPG 移植到
MS Windows 平台上運行。 其中 Gpg4win 計畫就是 Windows 版本的 GnuPG 。 Gpg4win 整合了若干非常好用的 前端介面,便於使用者安裝及操作。 大家可以到 Gpg4win 的官方網站下載: http://www.gpg4win.org 取得 GnuPG
21.
管理 GnuPG Keys
22.
•產生 GnuPG Key •備份
GnuPG Key •匯出 GnuPG Key •上傳 GnuPG Key 至 Key Server •匯入 GnuPG Key •註銷 GnuPG Key
23.
gpg --key-gen 產生 GnuPG
Key
24.
輸入名字、 email 及建立密碼 產生
GnuPG Key
25.
移動滑鼠或敲擊鍵盤等操作 產生 GnuPG Key
26.
稍侯… 直到成功產生 Key
(ID) 產生 GnuPG Key
27.
檢查私鑰及公鑰(請留意 KeyID ) 產生
GnuPG Key
28.
編輯私鑰並臨時修改密語 備份 GnuPG Key
29.
輸入新密語 ( 兩次
) 并退出 備份 GnuPG Key
30.
輸出公鑰及私鑰至備份檔案 備份 GnuPG Key
31.
重新編輯私鑰並重設原密語 備份 GnuPG Key
32.
將輸出結果存於輸出檔案 * 再複製給需要傳送加密文件給您或需要驗證您的簽名的相關人員 匯出 GnuPG
Key
33.
方法一:直接上傳至 keyserver 上傳 GnuPG
Key 至 Key Server
34.
方法二:先輸出並複製公鑰內容 上傳 GnuPG Key
至 Key Server
35.
然後貼至 server 網頁並提交 上傳
GnuPG Key 至 Key Server
36.
再確認成功上傳 上傳 GnuPG Key
至 Key Server
37.
方法一:從 keyserver 匯入
KeyID 匯入 GnuPG Key
38.
方法二:從 keyserver 搜尋並匯入 匯入
GnuPG Key
39.
方法三:從檔案匯入 匯入 GnuPG Key
40.
檢查公鑰清單 匯入 GnuPG Key
41.
查看公鑰指紋 匯入 GnuPG Key
42.
編輯並設定信任程度 匯入 GnuPG Key
43.
編輯並設定信任程度 匯入 GnuPG Key
44.
指定 KeyID 並說明原因 註銷
GnuPG Key
45.
確認註銷憑證成功產生 註銷 GnuPG Key
46.
註銷己方憑證、至 keyserver 註銷、及刪除 註銷
GnuPG Key
47.
註銷他方憑證: 方法一:從 keyserver 匯入註銷憑證 註銷
GnuPG Key
48.
方法二:從檔案匯入註銷憑證 註銷 GnuPG Key
49.
確認憑證及刪除 註銷 GnuPG Key
50.
文件加密與解密
51.
•為文件設定密碼保護 •對文件作加密處理 •對文件作解密處理
52.
用 gpg 以密碼方式加密文件 為文件設定密碼保護
53.
文件被加密為 .gpg 結尾的文件 為文件設定密碼保護
54.
用 gpg 解密以密碼方式加密的文件 為文件設定密碼保護
55.
傳送文件之前先取得並確認接收者的 KeyID 對文件作加密處理
56.
以接收者的 KeyID 來進行文件加密處理 對文件作加密處理
57.
Gpg 不能解開別人的加密文件 對文件作解密處理
58.
解開傳送給自己的加密文件 對文件作解密處理
59.
查看被解密文件 對文件作解密處理
60.
文件簽名與驗證
61.
•對文件作簽名 •驗證文件簽名
62.
對文件作明碼簽名並附於同一檔案內 *需有私鑰 對文件作簽名
63.
確認簽名生成 對文件作簽名
64.
對文件作明碼簽名並附於另一檔案內 *需輸入私鑰密語 對文件作簽名
65.
確認簽名生成 對文件作簽名
66.
同時對文件作加密與簽名處理 對文件作簽名
67.
驗證附於同一文件的簽名 驗證文件簽名
68.
驗證附於另一文件的簽名 驗證文件簽名
69.
同時解密與驗證簽名 *需私鑰密語 驗證文件簽名
70.
郵件簽名與加密
71.
•對郵件作簽名 •對郵件作加密 •驗證與解密郵件
72.
* 以 Evolution
郵件程式來說明 * Evolution 將直接使用鑰匙圈中的金鑰 對郵件作簽名
73.
在 OpenSuSE 中啟動
Evolution 對郵件作簽名
74.
按“新增”按鈕撰寫新郵件 對郵件作簽名
75.
在發送郵件之前, 點選“安全性”->“GPG加簽” 對郵件作簽名
76.
按下“傳送”按鈕 對郵件作簽名
77.
輸入私鑰密語 對郵件作簽名
78.
在發送郵件之前, 點選“安全性”->“PGP加密” 對郵件作加密
79.
同時做簽名與加密 對郵件作加密
80.
按下“傳送”鍵之後輸入私鑰密語 對郵件作加密
81.
按下“ Get Mail”
按鈕來收信 驗證與解密郵件
82.
如果是第一次使用,需要為Evolution設定一個密語 驗證與解密郵件
83.
展開簽名郵件就可驗證簽名 *如果簽名有效但無法驗證寄件者,可能需要調整信任程度 驗證與解密郵件
84.
重新驗證簽名 驗證與解密郵件
85.
打開已加密郵件 *在輸入私鑰密語之前無法察看內容 驗證與解密郵件
86.
輸入私鑰密語 驗證與解密郵件
87.
查看完成解密郵件,確認加密狀態 驗證與解密郵件
88.
打開已加密及已簽名郵件 *在輸入私鑰密語之前無法察看內容 驗證與解密郵件
89.
輸入私鑰密語 驗證與解密郵件
90.
查看完成解密郵件,確認簽名與加密狀態 驗證與解密郵件
91.
•憑證申請書的 email 欄位必須要與信箱一致 •需要轉換為
PKCS12 格式 openssl pkcs12 -export -inkey myname.key -in myname.crt -out myname.pkcs12 •Outlook Express 需將 CA Cert 匯入至“受信 任的根憑證發行者” S/MIME 注意事項
92.
用 SSH 封裝非加密連線
93.
方法一, 在本地端開一個 port
然後透過 tunnel 連線遠端服務: ssh -L 10110:4.3.2.1:110 4.3.2.1 用 SSH 封裝非加密連線
94.
方法二, 在遠端開一個 port
然後透過 tunnel 連線回本地端服務: ssh -R 10110:1.2.3.4:110 4.3.2.1 用 SSH 封裝非加密連線
95.
方法三, 在本地端開一個 port
然後透過 tunnel 連線第三 方主機的服務 ( 離開 tunnel 的連線沒有加密 ) : ssh -L 10110:10.0.0.1:110 4.3.2.1 用 SSH 封裝非加密連線
96.
注意: tunnel 入口只允許 localhost
連線 解決方法: 設定 GatewayPorts yes 於 /etc/ssh/sshd_config (server 端 ) /etc/ssh/ssh_config (client 端 ) 用 SSH 封裝非加密連線
Download now