兩個元素
加密技術包括兩個元素:算法和密鑰。算法是將普通的文本(或者可以理解的信息)與一串數字(密鑰)的結合,產生不可理解的密文的步驟,密鑰是用來對數據進行編碼和解碼的一種算法。在安全保密中,可通過適當的密鑰加密技術和管理機制來保證網路的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標準(DES,Data Encryption Standard)算法為典型代表,非對稱加密通常以RSA(Rivest Shamir Ad1eman)算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。
對稱加密
對稱加密採用了對稱密碼編碼技術,它的特點是檔案加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密算法,對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難,除了數據加密標準(DES),另一個對稱密鑰加密系統是國際數據加密算法(IDEA),它比DES的加密性好,而且對計算機功能要求也沒有那么高。IDEA加密標準由PGP(Pretty Good Privacy)系統使用。
非對稱
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協定,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是“公開密鑰系統”。相對於“對稱加密算法”這種方法也叫做“非對稱加密算法”。與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密 (privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
功能作用
PKI(Public Key Infrastructure 的縮寫)是一種遵循既定標準的密鑰管理平台,它能夠為所有網路套用提供加密和數字簽名等密碼服務及所必需的密鑰和證書管理體系。
原有的單密鑰加密技術採用特定加密密鑰加密數據,而解密時用於解密的密鑰與加密密鑰相同,這稱之為對稱型加密算法。採用此加密技術的理論基礎的加密方法如果用於網路傳輸數據加密,則不可避免地出現安全漏洞。因為在傳送加密數據的同時,也需要將密鑰通過網路傳輸通知接收者,第三方在截獲加密數據的同時,只需再截取相應密鑰即可將數據解密使用或進行非法篡改。
區別於原有的單密鑰加密技術,PKI採用非對稱的加密算法,即由原文加密成密文的密鑰不同於由密文解密為原文的密鑰,以避免第三方獲取密鑰後將密文解密。
簽發機構
CA(GlobalSign)是證書的簽發機構,它是PKI的核心。CA是負責簽發證書、認證證書、管理已頒發證書的機關。它要制定政策和具體步驟來驗證、識別用戶身份,並對用戶證書進行簽名,以確保證書持有者的身份和公鑰的擁有權。
CA 也擁有一個證書(內含公鑰)和私鑰。網上的公眾用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。
如果用戶想得到一份屬於自己的證書,他應先向 CA 提出申請。在 CA 判明申請者的身份後,便為他分配一個公鑰,並且 CA 將該公鑰與申請者的身份信息綁在一起,並為之簽字後,便形成證書發給申請者。
如果一個用戶想鑑別另一個證書的真偽,他就用 CA 的公鑰對那個證書上的簽字進行驗證,一旦驗證通過,該證書就被認為是有效的。
證書
證書實際是由證書籤證機關(CA)簽發的對用戶的公鑰的認證。
證書的內容包括:電子簽證機關的信息、公鑰用戶信息、公鑰、權威機構的簽字和有效期等等。目前,證書的格式和驗證方法普遍遵循X.509 國際標準。
加密:
我們將文字轉換成不能直接閱讀的形式(即密文)的過程稱為加密。
解密:
我們將密文轉換成能夠直接閱讀的文字(即明文)的過程稱為解密。
如何在電子文檔上實現簽名的目的呢?我們可以使用數字簽名。RSA公鑰體制可實現對數字信息的數字簽名,方法如下:
信息傳送者用其私鑰對從所傳報文中提取出的特徵數據(或稱數字指紋)進行RSA算法操作,以保證發信人無法抵賴曾發過該信息(即不可抵賴性),同時也確保信息報文在傳遞過程中未被篡改(即完整性)。當信息接收者收到報文後,就可以用傳送者的公鑰對數字簽名進行驗證。
在數字簽名中有重要作用的數字指紋是通過一類特殊的散列函式(HASH函式) 生成的。對這些HASH函式的特殊要求是:
1.接受的輸入報文數據沒有長度限制;
2.對任何輸入報文數據生成固定長度的摘要(數字指紋)輸出;
3.從報文能方便地算出摘要;
4.難以對指定的摘要生成一個報文,而由該報文可以算出該指定的摘要;
5.難以生成兩個不同的報文具有相同的摘要。
驗證:
收方在收到信息後用如下的步驟驗證您的簽名:
1.使用自己的私鑰將信息轉為明文;
2.使用發信方的公鑰從數字簽名部分得到原摘要;
3.收方對您所傳送的源信息進行hash運算,也產生一個摘要;
4.收方比較兩個摘要,如果兩者相同,則可以證明信息簽名者的身份。
如果兩摘要內容不符,會說明什麼原因呢?
可能對摘要進行簽名所用的私鑰不是簽名者的私鑰,這就表明信息的簽名者不可信;也可能收到的信息根本就不是簽名者傳送的信息,信息在傳輸過程中已經遭到破壞或篡改。
數字證書
數字證書為實現雙方安全通信提供了電子認證。在網際網路、公司內部網或外部網中,使用數字證書實現身份識別和電子信息加密。數字證書中含有密鑰對(公鑰和私鑰)所有者的識別信息,通過驗證識別信息的真偽實現對證書持有者身份的認證。
使用數字證書能做什麼䲁
數字證書在用戶公鑰後附加了用戶信息及CA的簽名。公鑰是密鑰對的一部分,另一部分是私鑰。公鑰公之於眾,誰都可以使用。私鑰只有自己知道。由公鑰加密的信息只能由與之相對應的私鑰解密。為確保只有某個人才能閱讀自己的信件,傳送者要用收件人的公鑰加密信件;收件人便可用自己的私鑰解密信件。同樣,為證實發件人的身份,傳送者要用自己的私鑰對信件進行簽名;收件人可使用傳送者的公鑰對簽名進行驗證,以確認傳送者的身份。
線上交易中您可使用數字證書驗證對方身份。用數字證書加密信息,可以確保只有接收者才能解密、閱讀原文,信息在傳遞過程中的保密性和完整性。有了數字證書網上安全才得以實現,電子郵件、線上交易和信用卡購物的安全才能得到保證。
認證、數字證書和PKI解決的幾個問題䲁
保密性 - 只有收件人才能閱讀信息。
認證性 - 確認信息傳送者的身份。
完整性 - 信息在傳遞過程中不會被篡改。
不可抵賴性 - 傳送者不能否認已傳送的信息。
加密套用
加密技術的套用是多方面的,但最為廣泛的還是在電子商務和VPN上的套用,下面就分別簡敘。
在電子商務方面的套用
電子商務(E-business)要求顧客可以在網上進行各種商務活動,不必擔心自己的信用卡會被人盜用。在過去,用戶為了防止信用卡的號碼被竊取到,一般是通過電話訂貨,然後使用用戶的信用卡進行付款。現在人們開始用RSA(一種公開/私有密鑰)的加密技術,提高信用卡交易的安全性,從而使電子商務走向實用成為可能。
許多人都知道NETSCAPE公司是Internet商業中領先技術的提供者,該公司提供了一種基於RSA和保密密鑰的套用於網際網路的技術,被稱為安全插座層(Secure Sockets Layer,SSL)。
也許很多人知道Socket,它是一個編程界面,並不提供任何安全措施,而SSL不但提供編程界面,而且向上提供一種安全的服務,SSL3.0現在已經套用到了伺服器和瀏覽器上,SSL2.0則只能套用於伺服器端。
SSL3.0用一種電子證書(electric certificate)來實行身份進行驗證後,雙方就可以用保密密鑰進行安全的會話了。它同時使用“對稱”和“非對稱”加密方法,在客戶與電子商務的伺服器進行溝通的過程中,客戶會產生一個Session Key,然後客戶用伺服器端的公鑰將Session Key進行加密,再傳給伺服器端,在雙方都知道Session Key後,傳輸的數據都是以Session Key進行加密與解密的,但伺服器端發給用戶的公鑰必需先向有關發證機關申請,以得到公證。
基於SSL3.0提供的安全保障,用戶就可以自由訂購商品並且給出信用卡號了,也可以在網上和合作夥伴交流商業信息並且讓供應商把訂單和收貨單從網上發過來,這樣可以節省大量的紙張,為公司節省大量的電話、傳真費用。在過去,電子信息交換(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在專用網路上完成的,使用專用網的費用大大高於網際網路。正是這樣巨大的誘惑,才使人們開始發展網際網路上的電子商務,但不要忘記數據加密。
在VPN中的套用
現在,越多越多的公司走向國際化,一個公司可能在多個國家都有辦事機構或銷售中心,每一個機構都有自己的區域網路LAN(Local Area Network),但在當今的網路社會人們的要求不僅如此,用戶希望將這些LAN連結在一起組成一個公司的廣域網,這個在現在已不是什麼難事了。
事實上,很多公司都已經這樣做了,但他們一般使用租用專用線路來連結這些區域網路 ,他們考慮的就是網路的安全問題。現在具有加密/解密功能的路由器已到處都是,這就使人們通過網際網路連線這些區域網路成為可能,這就是我們通常所說的虛擬專用網(Virtual Private Network ,VPN)。當數據離開發送者所在的區域網路時,該數據首先被用戶湍連線到網際網路上的路由器進行硬體加密,數據在網際網路上是以加密的形式傳送的,當達到目的LAN的路由器時,該路由器就會對數據進行解密,這樣目的LAN中的用戶就可以看到真正的信息了。
接字層
SSL是一種廣泛實施的公鑰加密。SSL最初由網景公司(Netscape)開發,是網際網路瀏覽器和Web伺服器用於傳輸機密信息的網際網路安全協定。SSL現在已經成為總體安全協定傳輸層安全(TLS)的一部分。
在您的瀏覽器中,您可以通過多種不同方式知道自己什麼時候在使用安全協定(例如TLS)。您將注意到,地址行中的“http”中被替換為“https”,在瀏覽器視窗底部的狀態欄中還會看到一個小的掛鎖符號。
公鑰加密占用大量計算資源,所以大多數系統結合使用公鑰和對稱密鑰。當兩台計算機發起安全會話時,一台計算機創建一個對稱密鑰,並將其傳送給使用公鑰加密的另一台計算機。然後這兩台計算機使用對稱密鑰加密進行通信。一旦完成會話,每台計算機都會丟棄該會話使用的對稱密鑰。進行新的會話要求創建新的對稱密鑰,然後重複上述過程。
四種類型
1、無客戶端SSL:SSL的原始套用。在這種套用中,一台主機計算機在加密的鏈路上直接連線到一個來源(如Web伺服器、郵件伺服器、目錄等)。
2、配置VPN設備的無客戶端SSL:這種使用SSL的方法對於主機來說與第一種類似。但是,加密通訊的工作是由VPN設備完成的,而不是由線上資源完成的(如Web或者郵件伺服器)。
3、主機至網路:在上述兩個方案中,主機在一個加密的頻道直接連線到一個資源。在這種方式中,主機運行客戶端軟體(SSL或者IPsec客戶端軟體)連線到一台VPN設備並且成為包含這個主機目標資源的那個網路的一部分。
SSL:由於設定簡單,SSL已經成為這種類型的VPN的事實上的選擇。客戶端軟體通常是很小的基於Java的程式。用戶甚至可能都注意不到。
IPsec:在SSL成為創建主機至網路的流行方式之前,要使用IPsec客戶端軟體。IPsec仍在使用,但是,它向用戶提供了許多設定選擇,容易造成混淆。
4、網路至網路:有許多方法能夠創建這種類型加密的隧道VPN.但是,要使用的技術幾乎總是IPsec.