保護郵件加密兩把鎖:PGP和S/MIME(轉)

RegisterForBlog發表於2007-09-19
保護郵件加密兩把鎖:PGP和S/MIME(轉)[@more@]

  你的電子郵件不安全

  我們知道,電子郵件在傳輸中使用的是SMTP協議,它不提供加密服務,攻擊者可在郵件傳輸中截獲資料。其中的文字格式、非文字格式的二進位制資料(如:.exe檔案)都可輕鬆地還原。你經常收到,好像是你的好友發來的郵件,但可能這是一封冒充的、帶著病毒或其他讓你被欺騙的郵件。還有,電子郵件誤發給陌生人或不希望發給的人,也是電子郵件的不加密性客觀帶來的資訊洩露。安全電子郵件能解決郵件的加密傳輸問題,驗證傳送者的身份驗證問題,錯發使用者的收件無效問題(因為需要用金鑰解密)。但是,安全電子郵件不能解決如郵件炸彈、防禦病毒在郵件中的傳播、郵件伺服器的入侵等問題。

  PGP和S/MIME郵件加密專用協議

  PGP和S/MIME這兩種協議對一般使用者來說,在使用上幾乎沒有什麼差別。但是事實上它們是完全不同的,主要體現在格式上,這就有點像GIF和JPEG兩種圖形檔案,對使用者來說,檢視圖片是沒有區別,但它們是兩種完全不一樣的檔案。這也就意味著,由於格式的不同,一個使用PGP的使用者不能與另一個使用S/MIME的使用者通訊,且他們也不能共享證照。

  PGP/MIME 和OpenPGP

  PGP最早出現在1990年,是一種長期在學術圈和技術圈內得到廣泛使用的安全郵件標準。其特點是透過單向雜湊演算法對郵件內容進行簽名,保證信件內容無法修改,使用公鑰和私鑰技術保證郵件內容保密且不可否認。發信人與收信人的公鑰釋出在公開的地方,如FTP站點。公鑰本身的權威性由第三方,特別是收信人所熟悉或信任的第三方進行簽名認證,但它沒有統一的集中的機構進行公鑰/私鑰的簽發。即在PGP系統中,更多的信任是來自於通訊的雙方。

  s/mime v3和openpgp的對比

  主要特徵 s/mime v3 openpgp

  資訊通訊的格式 基於cms的二進位制格式 基於早期 pgp的二進位制格式

  身份認證的格式 基於 x.509v3的二進位制格式 基於早期 pgp的二進位制格式

  機密演算法 tripledes(des ede3 cbc) tripledes(des ede3 eccentric cfb)

  數字簽名 diffie-hellman(x9.42) with dss elgamal with dss

  雜湊演算法 sha-1 sha-1

  PGP/MIME和OpenPGP都是基於PGP的,已經得到許多重要的郵箱提供商支援,PGP的通訊和認證的格式是隨機生成的、使用簡單的二進位制程式碼。PGP的主要提供商是美國NAI的子公司PGP,在中國,由於PGP的加密超過128位,受到美國出口限制,所以商用的比較少。

  S/MIME

  S/MIME是一個新協議,最初版本來源於私有的商業社團RSA 資料安全公司。S/MIME V2版本已經廣泛地使用在安全電子郵件上。 但是它並不是IETF 的標準。 因為它需要使用 RSA 的金鑰交換,這就受限於美國RSA資料安全公司的專利(不過,2001年12月該專利到期)。

  S/MIME是從PEM (Privacy Enhanced Mail)和MIME(Internet郵件的附件標準)發展而來的。 同PGP一樣,S/MIME也利用單向雜湊演算法和公鑰與私鑰的加密體系。但它與PGP主要有兩點不同:它的認證機制依賴於層次結構的證照認證機構,所有下一級的組織和個人的證照由上一級的組織負責認證,而最上一級的組織(根證照)之間相互認證,整個信任關係基本是樹狀的,這就是所謂的Tree of Trust。還有,S/MIME將信件內容加密簽名後作為特殊的附件傳送,它的證照格式採用X.509,但與一般瀏覽器網上使用的SSL證照有一定差異。

  國內眾多的認證機構基本都提供一種叫“安全電子郵件證照”的服務,其技術對應的就是S/MIME技術,平臺使用的基本上是美國Versign的。主要提供商有北京的天威誠信()和TrustAsia上海(),它們一個是Versign的中國區合作伙伴,一個是Versign亞太區分支機構。

  如何保證郵件安全

  加密與解密

  找兩個很大的質數,一把公開,稱為“公鑰”,另一把保密,叫“私鑰”。這兩把密匙是互補的,就是說用公鑰加密的密文可以用私鑰解密,反之亦然。假設甲要寄信給乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到後就可以用自己的私鑰解密出甲的原文。由於只有乙知道他的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。

  數字簽名

  上面例子中,由於每個人都知道乙的公鑰,他們都可以給乙發信,而乙無法確信是不是甲的來信。這就需要數字簽名來進行認證。

  圖中為安全電子郵件的邏輯圖,傳送者使用自己的證照對郵件進行數字簽名,同時將自己的證照傳給接收者。對加密郵件來說,傳送者需要使用接收者證照中的公鑰對郵件進行加密,對無證照的接收者,則不能加密。

  瞭解數字簽名首先要了解“郵件文摘”(messagedigest)。簡單地講,“郵件文摘”就是對一封郵件用某種演算法算出一個能體現這封郵件的“精華”數來,一旦郵件有任何改變,這個數都會變化,這個數加上作者的名字(實際上在作者的金鑰裡)和日期等等,就可以作為一個簽名了。

  甲用自己的私鑰將上述的“精華”加密,附在郵件上,再用乙的公鑰將整個郵件加密。這樣這份密文被乙收到以後,乙用自己的私鑰將郵件解密,得到甲的原文和簽名,乙自身的驗證系統也從原文計算出一個“精華”來,再用甲的公鑰解密簽名得到的數進行比較,如果符合就說明這份郵件確實是甲寄來的。這一點在商業領域有很大應用前途,可以防止發信人抵賴和信件被途中篡改。

  

·上一篇:

·下一篇:
 
     最新更新
·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·


| | | | | | |

Copyright © 2004 - 2007 All Rights Reserved

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10763080/viewspace-970236/,如需轉載,請註明出處,否則將追究法律責任。

保護郵件加密兩把鎖:PGP和S/MIME(轉)
請登入後發表評論 登入
全部評論

相關文章