複製鏈接
請複製以下鏈接發送給好友

加密體系

鎖定
在密碼學中,加密是將明文信息隱匿起來,使之在缺少特殊信息時不可讀。加密體系包括了加密算法、數字摘要、數字簽名和CA。
加密,是以某種特殊的算法改變原有的信息數據,使得未授權的用户即使獲得了已加密的信息,但因不知解密的方法,仍然無法瞭解信息的內容。加密之所以安全,絕非因不知道加密解密算法方法,而是加密的密鑰是絕對的隱藏,現在流行的RSA和AES加密算法都是完全公開的,一方取得已加密的數據,就算知道加密算法也好,若沒有加密的密鑰,也不能打開被加密保護的信息。單單隱蔽加密算法以保護信息,在學界和業界已有相當討論,一般認為是不夠安全的。公開的加密算法是給黑客和加密家長年累月攻擊測試,對比隱蔽的加密算法要安全得多 [1] 
中文名
加密體系
外文名
Encryption system
軟件工具
程序語言和算法
目    的
保證信息安全
分    類
加密算法、數字摘要、數字簽名等
領    域
計算機、通信等

加密體系加密算法

加密算法可以分為兩類:對稱加密和非對稱加密。

加密體系對稱加密

1.概述
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
需要對加密和解密使用相同密鑰的加密算法。由於其速度快,對稱性加密通常在消息發送方需要加密大量數據時使用。對稱性加密也稱為密鑰加密。
所謂對稱,就是採用這種加密方法的雙方使用方式用同樣的密鑰進行加密和解密。密鑰是控制加密及解密過程的指令。算法是一組規則,規定如何進行加密和解密。
因此加密的安全性不僅取決於加密算法本身,密鑰管理的安全性更是重要。因為加密和解密都使用同一個密鑰,如何把密鑰安全地傳遞到解密者手上就成了必須要解決的問題 [1] 
2.常用算法
對稱加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。不同算法的實現機制是不同的。
3.優缺點
對稱加密算法的優點是算法公開、計算量小、加密速度快、加密效率高。
對稱加密算法的缺點是在數據傳送前,發送方和接收方必須商定好密鑰,然後使雙方都能保存好密鑰。其次如果一方的密鑰被泄露,那麼加密信息也就不安全了。另外,每對用户每次使用對稱加密算法時,都需要使用其他人不知道的唯一密鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔 [1] 

加密體系非對稱加密

1.概述
對稱加密算法在加密和解密時使用的是同一個密鑰;而非對稱加密算法需要兩個密鑰來進行加密和解密,這兩個秘鑰是公開密鑰(public key,簡稱公鑰)和私有密鑰(private key,簡稱私鑰)。
與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
2.常用算法
在非對稱加密中使用的主要算法有:RSA、Elgamal、揹包算法、Rabin、D-H、ECC(橢圓曲線加密算法)等。
3.優缺點
非對稱加密與對稱加密相比,其安全性更好:對稱加密的通信雙方使用相同的秘鑰,如果一方的秘鑰遭泄露,那麼整個通信就會被破解。而非對稱加密使用一對密鑰,一個用來加密,一個用來解密,而且公鑰是公開的,密鑰是自己保存的,不需要像對稱加密那樣在通信之前要先同步密鑰
非對稱加密的缺點是加密和解密花費時間長、速度慢,只適合對少量數據進行加密。
一般來説,非對稱加密是用來處理短消息的,而相對於較長的消息則顯得有些吃力。當然,可以將長的消息分成若干小段,然後再分別簽名。不過,這樣做非常麻煩,而且會帶來數據完整性的問題。比較合理的做法是在數字簽名前對消息先進行數字摘要 [2] 

加密體系數字摘要

數字摘要是將任意長度的消息變成固定長度的短消息,它類似於一個自變量是消息的函數,也就是Hash函數。數字摘要就是採用單項Hash函數將需要加密的明文“摘要”成一串固定長度(128位)的密文這一串密文又稱為數字指紋,它有固定的長度,而且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。
數字摘要就是採用單項Hash函數將需要加密的明文“摘要”成一串固定長度(128位)的密文這一串密文又稱為數字指紋,它有固定的長度,而且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致 [1] 

加密體系優缺點

一個Hash函數的好壞是由發生碰撞的概率決定的。如果攻擊者能夠輕易地構造出兩個消息具有相同的Hash值,那麼這樣的Hash函數是很危險的。一般來説,安全Hash標準的輸出長度為160位,這樣才能保證它足夠的安全。 這一加密方法亦稱安全Hash編碼法(SHA:Secure Hash Algorithm)或MD5(MD Standards for Message Digest),由Ron Rivest所設計。該編碼法採用單向Hash函數將需加密的明文“摘要”成一串128bit的密文,這一串密文亦稱為數字指紋(Finger Print),它有固定的長度,且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。這樣這摘要便可成為驗證明文是否是“真身”的“指紋”了 [1] 

加密體系數字簽名

數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑑別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。
數字簽名,就是隻有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。
數字簽名是非對稱密鑰加密技術與數字摘要技術的應用。
簡單地説,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網絡中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名算法、Des/DSA,橢圓曲線數字簽名算法和有限自動機數字簽名算法等。特殊數字簽名有盲簽名、代理簽名、羣簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標準(DSS)。
數字簽名算法依靠公鑰加密技術來實現的。在公鑰加密技術裏,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發佈,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現 [1] 

加密體系常用算法

普通的數字簽名算法包括三種算法:密碼生成算法;標記算法;驗證算法。

加密體系主要功能

數字簽名保證信息傳輸的完整性、發送者的身份認證、防止交易中的抵賴發生。
數字簽名技術是將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發送者的公鑰才能解密被加密的摘要信息,然後用HASH函數對收到的原文產生一個摘要信息,與解密的摘要信息對比。如果相同,則説明收到的信息是完整的,在傳輸過程中沒有被修改,否則説明信息被修改過,因此數字簽名能夠驗證信息的完整性。
數字簽名是個加密的過程,數字簽名驗證是個解密的過程 [1] 

加密體系原理

每個人都有一對“鑰匙”(數字身份),其中一個只有她/他本人知道(密鑰),另一個公開的(公鑰)。簽名的時候用密鑰,驗證簽名的時候用公鑰。又因為任何人都可以落款聲稱她/他就是你,因此公鑰必須向接受者信任的人(身份認證機構)來註冊。註冊後身份認證機構給你發一數字證書。對文件簽名後,你把此數字證書連同文件及簽名一起發給接受者,接受者向身份認證機構求證是否真地是用你的密鑰簽發的文件。
在通訊中使用數字簽名一般基於以下原因:
一、鑑權
公鑰加密系統允許任何人在發送信息時使用公鑰進行加密,數字簽名能夠讓信息接收者確認發送者的身份。當然,接收者不可能百分之百確信發送者的真實身份,而只能在密碼系統未被破譯的情況下才有理由確信。
鑑權的重要性在財務數據上表現得尤為突出。舉個例子,假設一家銀行將指令由它的分行傳輸到它的中央管理系統,指令的格式是(a,b),其中a是賬户的賬號,而b是賬户的現有金額。這時一位遠程客户可以先存入100元,觀察傳輸的結果,然後接二連三的發送格式為(a,b)的指令。這種方法被稱作重放攻擊
二、完整性
傳輸數據的雙方都總希望確認消息未在傳輸的過程中被修改。加密使得第三方想要讀取數據十分困難,然而第三方仍然能採取可行的方法在傳輸的過程中修改數據。一個通俗的例子就是同形攻擊:回想一下,還是上面的那家銀行從它的分行向它的中央管理系統發送格式為(a,b)的指令,其中a是賬號,而b是賬户中的金額。一個遠程客户可以先存100元,然後攔截傳輸結果,再傳輸(a,b3),這樣他就立刻變成百萬富翁了。
三、不可抵賴
在密文背景下,抵賴這個詞指的是不承認與消息有關的舉動(即聲稱消息來自第三方)。消息的接收方可以通過數字簽名來防止所有後續的抵賴行為,因為接收方可以出示簽名給別人看來證明信息的來源 [1] 

加密體系CA

為解決互聯網的安全問題,世界各國信息安全業者進行了多年的研究,形成了全方位、多層次的安全解決方案。其中,目前被廣泛採用的PKI技術,在安全解決方案中佔據了重要位置,它可以保證信息傳輸的機密性、真實性、完整性和不可否認性,從而保證信息的安全傳輸。
一個完整地PKI系統是由認證機構、密鑰管理中心(KMC)、註冊機構、目錄服務、以及安全認證應用軟件、證書應用服務等部分組成,其中認證機構(Certification Authority,CA)在PKI系統中居於核心地位。
我們知道,為了在信息傳輸的過程中,確保信息的機密性、真實性、完整性和不可否認性,採用了公開密鑰加密機制。而公鑰機制所涉及的公鑰是公開的、需要通過互聯網傳送。因此,需要解決的一個重要問題就是公鑰的信任問題。必須有一個可信任的機構對任何一個主體公鑰進行公證,證明主體的身份以及它與公鑰的匹配關係。CA就是這樣的機構。為了確保CA的公信力,它必須具有高度的權威性、公正性和第三方性。目前在國內存在的CA基本上可以分為三類:第一類是行業性的CA,如中國金融認證中心(CFCA)、海關CA、商務部CA(國富安CA)等,這些CA是由相應行業的主管部門牽頭建立的;第二類是地方性CA,如北京CA、上海CA、浙江CA等,這些CA是由當地地方政府牽頭建立的;第三類CA是商業性CA,如天威誠信CA。這類CA進行商業化經營,並不從屬於任何行業或地域,但它們也必須具有良好的公信力,必須由國家主管部門審批通過才能投入運營,以確保其權威、公正性 [1] 

加密體系基本功能

作為CA,必須具有如下基本功能:
(1)簽發數字證書
(2)CA密鑰的管理
(3)接受證書申請,審核申請者身份
(4)證書管理
(5)提供證書和證書狀態的查詢
以上功能中,最為重要的是簽發證書。CA對其簽發的數字證書全部內容,包括證書用户姓名標識、公鑰信息、頒發者標識、證書有效期、簽名算法標識等信息,進行數字簽名。從而權威地證明了證書持有者和公鑰的唯一匹配關係。
CA的另一項重要功能是證書查詢。CA的證書庫可以作為公鑰的來源地。此外,證書有效性的查詢對於安全認證也是至關重要的。由於證書遺失或其他原因,證書可能需要在失效期未到時就予以撤銷。CA提供證書撤銷列表(Certificate Revocation List,CRL)或其他方法供證書依賴方實時查詢。
CA自己的一對密鑰管理,必須確保其具備高度的機密性,防止其被偽造而顛覆CA的權威性。在CFCA,根密鑰被存放在安全的屏蔽機房,其訪問受到了嚴格的管理。CA的密鑰由通過國家認證的加密機產生,私鑰一經產生將不能通過明文方式離開加密機。這些措施保證了CFCA根密鑰的安全與CFCA的權威性 [2] 

加密體系組成部分

CA主要由以下部分組成:
CA服務器:這是CA的核心,是數字證書生成、發放的運行實體,同時提供發放證書的管理、證書廢止列表(CRL)的生成和處理等服務。
證書下載中心:該中心連接在互聯網上,用户通過登錄CA網站訪問證書下載中心,CA服務器生成的證書通過證書下載中心供用户下載。
目錄服務器:它的功能是提供數字證書的存儲,以及數字證書和證書撤銷列表(CRL)的查詢。業者有時把它稱為”LDAP”,這是因為目錄服務的技術標準遵循LDAP (輕量級目錄訪問協議)的緣故。
OCSP服務器:該服務器向用户提供證書在線狀態的查詢。
密鑰管理中心(KMC):根據國家密碼管理規定,加密用私鑰必須由權威、可靠的機構進行備份和保管。CFCA被授權建立KMC,以備份和保管用户的加密密鑰。
證書註冊機構(Registration Authority,RA):它負責受理證書的申請和審核,其主要功能是接受客户證書申請並進行審核。 RA主要是遠程的,CFCA的RA部署在各家用户銀行、税務機關、或企業所在地。因為,這樣一方面便於進行客户資料的審查,另一方面也便於銀行將證書與客户的賬號進行綁定,以實現認證。但即使RA部署在遠程所在地,這些RA也仍然是CA的組成部分。
此外,CFCA還在其所在地部署了直屬CA,對一些比較零散的,不適合或者不必要建立RA的用户提供註冊服務 [2] 
參考資料
  • 1.    [美] Michael E.Whitman,[美] Herbert J.Matto 著 .信息安全原理:清華大學出版社 ,2015
  • 2.    [美] 斯坦普著.信息安全原理與實踐:清華大學出版社,2013