24
密密密密密密密密 密密密密密密密密 15 15 密 密密密密密密 密 密密密密密密

密碼學與網路安全 第 15 章 電子郵件安全

Embed Size (px)

DESCRIPTION

密碼學與網路安全 第 15 章 電子郵件安全. 電子郵件安全. 電子郵件是使用率最高的網路應用 目前的訊息內容並不安全: 傳送過程可能會被偷看 傳送到目的地之後可能會被其他特權使用者偷看. 加強電子郵件安全. 機密性 防止洩漏 認證 確認發信者的身份 訊息一致性 防止被修改 發信者無法否認 防止發信者否認. Pretty Good Privacy (PGP). 廣被業界用來保護電子郵件 由 Phil Zimmermann 所開發 選出幾個最有效的加密演算法當作基本元件,並整合到單一程式 - PowerPoint PPT Presentation

Citation preview

密碼學與網路安全密碼學與網路安全

第第 1515 章 電子郵件安全章 電子郵件安全

電子郵件安全電子郵件安全 電子郵件是使用率最高的網路應用電子郵件是使用率最高的網路應用 目前的訊息內容並不安全:目前的訊息內容並不安全:

傳送過程可能會被偷看傳送過程可能會被偷看 傳送到目的地之後可能會被其他特權使用者偷傳送到目的地之後可能會被其他特權使用者偷看看

加強電子郵件安全加強電子郵件安全 機密性機密性

防止洩漏防止洩漏 認證認證

確認發信者的身份確認發信者的身份 訊息一致性訊息一致性

防止被修改防止被修改 發信者無法否認發信者無法否認

防止發信者否認防止發信者否認

Pretty Good Privacy (PGP)Pretty Good Privacy (PGP) 廣被業界用來保護電子郵件廣被業界用來保護電子郵件 由 由 Phil ZimmermannPhil Zimmermann 所開發所開發 選出幾個最有效的加密演算法當作基本元選出幾個最有效的加密演算法當作基本元件,並整合到單一程式件,並整合到單一程式 可在眾多平台使用可在眾多平台使用

(( UnixUnix 、、 PCPC 、、 MacintoshMacintosh 等等)等等) 免費版本及商業付費版都有免費版本及商業付費版都有

PGPPGP 的運作 的運作 — — 認證認證1.1. 發送者產生訊息發送者產生訊息2.2. 用用 SHA-1SHA-1 產生訊息的雜湊碼,長度為產生訊息的雜湊碼,長度為 160160 位元位元3.3. 此雜湊碼是利用發送者的私密金鑰以此雜湊碼是利用發送者的私密金鑰以 RSARSA 演算演算法加密,並把結果加在訊息中法加密,並把結果加在訊息中4.4. 接收者利用發送者的公開金鑰以接收者利用發送者的公開金鑰以 RSARSA 演算法解演算法解密並將雜湊碼恢復成原狀密並將雜湊碼恢復成原狀5.5. 接收者對這個訊息產生新的雜湊碼,並將之與接收者對這個訊息產生新的雜湊碼,並將之與解密出來的雜湊碼相比較,若兩者相同,就認解密出來的雜湊碼相比較,若兩者相同,就認可此訊息是可靠的可此訊息是可靠的

PGPPGP 的運作 的運作 — — 保密保密1.1. 發送者產生一個訊息和一把發送者產生一個訊息和一把 128128 位元的亂數,位元的亂數,用來當作這個訊息的連線會期金鑰用來當作這個訊息的連線會期金鑰2.2. 利用利用 CAST-128CAST-128 (或(或 IDEAIDEA 或或 TDEATDEA )和連線)和連線會期金鑰將訊息加密會期金鑰將訊息加密3.3. 再利用接收者的公開金鑰,以再利用接收者的公開金鑰,以 RSARSA 加密此連線加密此連線會期金鑰,並加入訊息會期金鑰,並加入訊息4.4. 接收者用自己的私密金鑰,以接收者用自己的私密金鑰,以 RSARSA 將連線會期將連線會期金鑰解開金鑰解開5.5. 然後再用此連線會期金鑰將訊息解密然後再用此連線會期金鑰將訊息解密

PGPPGP 的運作 的運作 — — 保密和認證保密和認證 這兩項服務項目都可讓同一訊息使用:這兩項服務項目都可讓同一訊息使用:

產生簽章並加到訊息產生簽章並加到訊息 加密訊息和簽章加密訊息和簽章 以以 RSARSA 加密會期金鑰並加到訊息加密會期金鑰並加到訊息

PGPPGP 的運作 的運作 — — 壓縮壓縮 PGPPGP 預設會在簽章後加密前壓縮訊息:預設會在簽章後加密前壓縮訊息:

可以只將未壓縮的訊息和簽章一起儲存,以便可以只將未壓縮的訊息和簽章一起儲存,以便在未來認證在未來認證 PGPPGP 並非並非 deterministicdeterministic 演算法演算法

壓縮所使用的演算法是壓縮所使用的演算法是 ZIPZIP

PGPPGP 的運作 的運作 — — 電子郵件相容性電子郵件相容性 使用使用 PGPPGP 要傳送二進位資料(例如加密過的訊息)要傳送二進位資料(例如加密過的訊息) 但許多電子郵件系統只能用但許多電子郵件系統只能用 ASCIIASCII 文字文字 因此因此 PGPPGP 採用將二進位八位元串流轉換為可列印的採用將二進位八位元串流轉換為可列印的

ASCCIASCCI 字元串流的方式字元串流的方式 PGPPGP 使用 使用 radix-64 radix-64 演算法將二進位資料轉成文字:演算法將二進位資料轉成文字:

以三位元組為一組的二進位資料轉換成四個以三位元組為一組的二進位資料轉換成四個 ASCCIASCCI 字元字元 也加上也加上 CRCCRC(( cyclic redundancy checkcyclic redundancy check )以偵測傳送時所)以偵測傳送時所發生的錯誤發生的錯誤

如果訊息太長,如果訊息太長, PGPPGP 會分割訊息會分割訊息

PGPPGP 的運作過程的運作過程

PGPPGP 會期金鑰會期金鑰 每把會期金鑰都會對應到某個訊息:每把會期金鑰都會對應到某個訊息:

不同的金鑰長度:不同的金鑰長度: DESDES 5656 位元、位元、 CASTCAST 或或IDEA 128IDEA 128 位元、位元、 33DESDES 168168 位元位元

以 以 ANSI X12.17ANSI X12.17 產生產生 亂數產生器的明文輸入包括兩個亂數產生器的明文輸入包括兩個 6464 位元的位元的區塊是由一個區塊是由一個 128128 位元亂數值的串流所產位元亂數值的串流所產生生

PGP PGP 公開金鑰和私密金鑰公開金鑰和私密金鑰 因為可能會使用許多公開因為可能會使用許多公開 // 私密金鑰,因此要能私密金鑰,因此要能夠辨別哪一把真的用在加密會期金鑰:夠辨別哪一把真的用在加密會期金鑰:

將所有的金鑰都傳送出去將所有的金鑰都傳送出去 雖然可行但沒有效率雖然可行但沒有效率

取而代之是指定金鑰取而代之是指定金鑰 IDID 給每把公開金鑰:給每把公開金鑰: 每把公開金鑰的每把公開金鑰的 IDID 為公開金鑰的最後為公開金鑰的最後 6464 位元位元 很難會有重複的金鑰很難會有重複的金鑰 IDID

通常通常 PGPPGP 數位簽章也會需要用到金鑰數位簽章也會需要用到金鑰 IDID

PGP PGP 公開金鑰和私密金鑰公開金鑰和私密金鑰

PGPPGP 金鑰環金鑰環 每位每位 PGPPGP 使用者擁有一對金鑰環:使用者擁有一對金鑰環:

公開金鑰金鑰環包含所認識的其他使用者之公公開金鑰金鑰環包含所認識的其他使用者之公開金鑰(以金鑰開金鑰(以金鑰 UDUD 排列)排列) 私密金鑰金鑰環包含擁有者的公開金鑰私密金鑰金鑰環包含擁有者的公開金鑰 // 私密私密金鑰金鑰

產生產生 PGPPGP 訊息訊息

接收接收 PGPPGP 訊息訊息

PGP PGP 金鑰管理金鑰管理 保護整個公開金鑰不被竄改,在實際的公保護整個公開金鑰不被竄改,在實際的公開金鑰應用是個很困難的問題開金鑰應用是個很困難的問題 每位每位 PGPPGP 使用者擁有自己的使用者擁有自己的 CACA

可以直接對認識的使用者簽署金鑰可以直接對認識的使用者簽署金鑰 PGPPGP 並不包含任何建立憑證的管理人之設並不包含任何建立憑證的管理人之設定,也不對建立信任做設定定,也不對建立信任做設定 但但 PGPPGP 提供便利的使用信任,結合對公開提供便利的使用信任,結合對公開金鑰的信任,並且信任資訊金鑰的信任,並且信任資訊

S/MIMES/MIME S/MIMES/MIME 是是 MIMEMIME 的安全加強版的安全加強版

RFC 822RFC 822 所定義的電子郵件規格只能處理純文字所定義的電子郵件規格只能處理純文字 MIMEMIME提供多樣性的內容型態以及多個訊息主體提供多樣性的內容型態以及多個訊息主體 MIMEMIME 以二進位的方式對訊息內容編碼以二進位的方式對訊息內容編碼 S/MIMES/MIME 以以 RSARSA 技術為基礎,且定義在技術為基礎,且定義在 RFCRFC RFC 2630RFC 2630 、、 26322632 、、 26332633 等文件定義了等文件定義了 S/MIMES/MIME

包括微軟的包括微軟的 OutlookOutlook 和和 NetscapeNetscape 等電子郵件軟體等電子郵件軟體都支援都支援 S/MIMES/MIME

S/MIMES/MIME 功能功能 包裝資料:加密的內容和相關金鑰包裝資料:加密的內容和相關金鑰 簽署資料:數位簽章是待加密的內容訊息簽署資料:數位簽章是待加密的內容訊息認證值,然後由簽署人的秘密金鑰加密而認證值,然後由簽署人的秘密金鑰加密而形成形成清除簽署資料:資料經簽章後就形成內容清除簽署資料:資料經簽章後就形成內容的數位簽章的數位簽章 簽署且包裝資料:只簽章或只加密的資料簽署且包裝資料:只簽章或只加密的資料可以巢狀的方式構成可以巢狀的方式構成

S/MIMES/MIME 加密演算法加密演算法 雜湊功能:雜湊功能: SHA-1SHA-1 、、 MD5MD5 數位簽章:數位簽章: DSSDSS 、、 RSARSA 會期金鑰加密:會期金鑰加密: ElGamalElGamal 、、 RSARSA 訊息加密:訊息加密: 33DESDES 、、 RC2/40RC2/40 等等 以相關程序決定使用的演算法以相關程序決定使用的演算法

S/MIME S/MIME 訊息訊息 MultipartMultipart

SignedSigned• 簡單的簽署訊息有兩部分:一是訊息,另一部份是簽章簡單的簽署訊息有兩部分:一是訊息,另一部份是簽章 ..

ApplicationApplication pkcs7-mimepkcs7-mime (( signedDatasignedData ):已簽署的):已簽署的 S/MIMES/MIME 項目項目 pkcs7-mimepkcs7-mime (( envelopedDataenvelopedData ):已轉成密文的):已轉成密文的 S/MIME S/MIME 項目項目 pkcs7-mimepkcs7-mime (( degenerate signedDatadegenerate signedData ):只包含公開金):只包含公開金鑰憑證的實體鑰憑證的實體 pkcs7-signaturepkcs7-signature :簽章的內文類型是:簽章的內文類型是 multipart/signed multipart/signed 訊息訊息的一部份的一部份

S/MIMES/MIME 憑證處理憑證處理 S/MIMES/MIME 使用公開金鑰憑證,遵循使用公開金鑰憑證,遵循 X.509X.509第第三版的規則三版的規則 S/MIMES/MIME 所使用的金鑰管理系統是一種介於所使用的金鑰管理系統是一種介於

X.509X.509 認證架構與認證架構與 PGPPGP 信任網的混合信任網的混合 S/MIMES/MIME 管理者、使用者必須設定每個客戶管理者、使用者必須設定每個客戶端,列表記錄信任的金鑰及憑證撤銷的名端,列表記錄信任的金鑰及憑證撤銷的名單單憑證是由憑證管理中心簽署憑證是由憑證管理中心簽署

CACA VeriSignVeriSign 提出提出 X.509X.509憑證的產品,並且命名為憑證的產品,並且命名為

VeriSign Digital IDVeriSign Digital ID VeriSignVeriSign 提供三個程度的公開金鑰提供三個程度的公開金鑰::

Class 1 Digital IDClass 1 Digital ID Class 2 Digital IDClass 2 Digital ID Class 3 Digital IDClass 3 Digital ID

總結總結 電子郵件安全電子郵件安全 PGPPGP S/MIMES/MIME