目前互聯網上應用最多的服務是電子郵件,保證電子郵件的安全常用到兩種端到端的安全技術:PGP(Pretty Good Privacy)和S/MIME(Secure Multi-Part Intermail Mail Extension)。它們的主要功能就是身份的認證和傳輸數據的加密。
PGP/MIME和OpenPGP都是基于PGP的,已經得到許多重要的郵箱提供商支持,PGP的通信和認證的格式是隨機生成的、使用簡單的二進制代碼。PGP的主要提供商是美國NAI的子公司PGP,在中國,由于PGP的加密超過128位,受到美國出口限制,所以商用的比較少。
![](/files/uploadimg/20051219/0220100.jpg)
圖中為安全電子郵件的邏輯圖,發送者使用自己的證書對郵件進行數字簽名,同時將自己的證書傳給接收者。對加密郵件來說,發送者需要使用接收者證書中的公鑰對郵件進行加密,對無證書的接收者,則不能加密。
了解數字簽名首先要了解“郵件文摘”(messagedigest)。簡單地講,“郵件文摘”就是對一封郵件用某種算法算出一個能體現這封郵件的“精華”數來,一旦郵件有任何改變,這個數都會變化,這個數加上作者的名字(實際上在作者的密鑰里)和日期等等,就可以作為一個簽名了。
甲用自己的私鑰將上述的“精華”加密,附在郵件上,再用乙的公鑰將整個郵件加密。這樣這份密文被乙收到以后,乙用自己的私鑰將郵件解密,得到甲的原文和簽名,乙自身的驗證系統也從原文計算出一個“精華”來,再用甲的公鑰解密簽名得到的數進行比較,如果符合就說明這份郵件確實是甲寄來的。這一點在商業領域有很大應用前途,可以防止發信人抵賴和信件被途中篡改。