二 密碼技術

2.2 密碼技術

2.2.1 計算安全性
    信息安全的技術基礎是密碼技術。當前的各種加密算法沒有理論安全性,只有計算安
全性。
   當代密碼學需要三個基本假設,即:
  隨機性假設:在單一地域內,物理地產生均勻分佈的隨機比特序列是可能的。
  物理假設:物理地保護存儲在單一地域內的數據是可能的,對長距離傳輸中的數
據實行物理保護是困難的。
  計算假設:合理的計算時間有一個量的界限,在合理的計算時間內單向函數是存
在的,它正向計算容易求逆困難。
   密碼學的這三個基本假設是信息系統設計的基本前提,但現實中只能接近它們,而無法
從理論上證明達到這三個假設的要求。自然也就無法從理論上證明某個密碼算法的安全性

   一個密碼算法如果在它使用期間或者在它所保護的信息失去保密需求之前具有抗破譯能
力是可能的,也可以說達到了設計的安全性目標。而期望一個算法能夠一勞永逸地保持安全
性是不現實的,因爲未來數學的發展可能使得密碼破解方法取得突破性進展。不但是理論
上還沒有證明這樣的算法存在,就算是在實際應用中,由於密碼分析方法和計算機計算能
力的快速發展,原來可以認爲具有計算安全性的算法經過一段時間之後不再具有計算安全
性。這樣的例子隨處可見,DES算法就是其中之一。
    沒有辦法能夠證明一種加密方式的安全性;只可以證明不安全或者試驗失敗。這就是
所謂的證明虛假設。密碼學專家的審查-長時間的審查是目前人們所擁有的,關於安全性
能的唯一證據。

2.2.2傳統密碼體制
    傳統對稱密鑰體制基於替換和置換,其安全性是計算安全性。
    以DES爲例,從它被採納爲聯邦標準以來對它的安全性一直爭論不休。爭論的焦點集中
在密鑰的長度和算法本身的安全性上面。對於現在的計算能力,56位密鑰長度的DES已經岌
岌可危,所以專家建議的密鑰長度在不斷增加。但是這也只不過是增加了密碼破解的時間
而已,理論上仍然可以破解。1998年,電子新領域基金會建立了一臺能夠暴力破解DES算法
的計算機。這臺計算機名爲DES深層破解,每秒試驗900億個密鑰;它平均用4.5天可以找到
一個56位DES密鑰。1999年,名爲distributed.net的破解DES密鑰的分佈式互聯網密鑰查找
工程可以每秒試驗2500億個密鑰。DES的擴展算法3DES將密鑰長度定爲112位,而大多數的
現代算法都有至少128位的密鑰。美國政府新的高級加密標準AES支持128位,192位和256位
的密鑰長度。當然使用更長的密鑰會影響算法本身的加解密速度(3重DES算法在許多環境
下太慢),這也是在安全性和成本方面必須進行做出的權衡之一。另一個問題集中在每輪
迭代所用的S盒上面,因爲S盒的設計標準不公開,因此人們懷疑如果知道S盒的構造方法,
有可能能夠找出S盒的弱點。
    對於DES的密碼分析,目前最有希望的是差分密碼分析和線性密碼分析。儘管這兩種方
法需要的攻擊次數明顯少於窮舉攻擊,但是由於分析的前提條件還是相對較高(對於56位密
鑰長度,前者需要247個選擇明文,後者需要247個明文),使得這兩種方法對於較長的密鑰
也只有理論上的意義。

2.2.3公鑰密碼體制
    公鑰密碼學的發展是整個密碼學發展歷史中最偉大的一次革命。公鑰算法基於數學函
數。當代公鑰密碼體制的安全性依賴於幾個數學難題,如大質數的分解、離散對數問題、
橢圓曲線上的離散對數問題等等,這些問題沒有在數學上嚴格證明是不可解的,所以公鑰
密碼體制同樣達不到理論安全性。另外公鑰密碼算法的計算速度大大低於對稱密鑰算法,
使得在許多的密碼協議中,採用對稱加密算法加密明文消息,再用公鑰算法加密對稱加密
算法所用的密鑰。
    以RSA爲例,它基於數學中的大質數分解問題,所以安全性依賴於大質數分解的困難性
。儘管大質數的分解在數學上依然是個難題,但是由於計算機計算能力的不斷增強和因子
分解算法的不斷改進,RSA算法已經受到了威脅。1999年RSA實驗室提供的祕文RSA-155已經
被解密,其密鑰長度爲155十進制位,攻擊者使用的分解方法是一般數域篩法。因此在選擇
RSA的密鑰長度時需要小心,最近一段時間,密碼學專家建議的比較安全的密鑰長度爲 10
24到2048位。
    理論上,對於RSA算法可能的攻擊有以下三種:窮舉攻擊、數學攻擊、計時攻擊。其中
計時攻擊值得一提。計時攻擊類似於竊賊通過觀察他人轉動保險櫃撥號盤的時間長短來猜
測密碼,攻擊者通過記錄計算機解密消息所用的時間來確定私鑰。計時攻擊不僅可用於攻
擊RSA,而且可以用於攻擊其他的公鑰密碼系統,由於這種攻擊的完全不可預知性以及它僅
依賴於明文,所以計時攻擊具有很大的威脅。儘管如此,對於當前的計算能力,採取如上
建議的密鑰長度,RSA是計算安全的。
.
2.2.4密碼協議
    密碼協議,指雙方或者多方使用密碼學來完成某項任務的一系列有序的步驟,目的是
爲了防止攻擊者實施欺騙和非法存取信息。各種密碼協議都着眼於滿足信息安全的五個基
本屬性中的一個或者多個。可以用簡單的協議爲基礎構造複雜的協議,甚至是深奧的協議

    可以用一個簡單的例子來說明密碼協議的重要性,如果沒有安全性良好的密鑰分配方案,
那麼密碼算法的強度再好也無濟於事。其結果等同於建立了一個超級安全的大門,而大門的
鑰匙卻丟在門口。
    理論上證明只有一次一密本身是安全的,但是首先一次一密要求使用真隨機數,這在
信息系統中無法滿足(見下段);其次,各種密碼協議是用前面所述的對稱密碼體制和公鑰
密碼體制構造出來的,而這兩者本身就沒有理論安全性;再次,現實應用中要做到一次一
密還有實現複雜度和系統成本上的考慮。所以實際上一次一密加密一般只用在某個局部,
並不能保證整個複雜系統的安全性。

2.2.5隨機數
    隨機數是密碼技術裏一個很重要的組件,差不多每臺使用加密技術的計算機安全系統
都需要隨機數,供密鑰、協議中的唯一值等等使用或者用做輔助信息或者初始化向量。這
些系統的安全也經常依賴於這些隨機數的隨機性。如果隨機數的隨機性不夠安全,整個系
統極有可能被攻擊者攻破。
    真隨機數序列滿足不可預測性和不可重複性,但是真正的隨機數只有上帝造得出來,
計算機只能產生僞隨機數。計算機之父馮諾依曼曾指出:“任何想用人爲算術方法生成隨
機數字的人正處在糊塗狀態中”。他這樣說的含義,是從一個像計算機這樣的確定性物體
中得到真正隨機的東西是不可能的。計算機的隨機數取決於初始的種子,如果種子一樣,
產生的隨機序列也一樣。以M序列隨機數發生器爲例,它可以得到隨機性良好的隨機數,但
是事實上只是它的循環週期比較大而已,比如50級的M序列隨機數發生器的循環週期爲2的
50次方,輸出還是會在一定時間之後產生重複,也即產生的只是僞隨機數。
    要產生真隨機數,只能藉助於上帝的力量,利用物理噪聲源。遺憾的是,真正的物理
噪聲源難以獲得也難以在信息系統中直接使用,經過電路模擬之後的噪聲源產生的隨機數
雖然與上帝創造的隨機數相當接近,卻終歸不是真隨機數。這方面有一些例子:NSA在其硬
件電路中使用電子干擾二極管,生成隨機數;有些系統在磁盤驅動器中使用空氣紊流或者
是表面上的、連續網絡信息包的隨機到達時間產生隨機數。當然這樣產生的隨機數與真隨
機數之間的差別從實用的角度來說可以忽略,但是必須明確理論上這兩者是有嚴格區別的
,不能等同起來。我國現有的WNG系列隨機數發生器芯片依照轉幣模型生成,是做得比較成
功的物理噪聲源芯片。

2.2.6公鑰基礎設施PKI
    密碼技術當前的一個熱點就是公鑰基礎設施PKI,下面來討論一下這方面的問題。
    PKI(Public Key Infrastructure)是電子商務安全技術平臺的基石,它由公開密鑰
密碼技術、數字證書、證書發放機構(CA)和關於公開密鑰的安全策略等基本成分共同組
成的。PKI是利用公鑰技術實現電子商務安全的一種體系,是一種基礎設施,網絡通訊、網
上交易是利用它來保證安全的。
  PKI是提供公鑰加密和數字簽名服務的系統或平臺,目的是爲了管理密鑰和證書。一個
機構通過採用PKI框架管理密鑰和證書可以建立一個安全的網絡環境。PKI主要包括四個部
分:X.509格式的證書(X.509 V3)和證書廢止列表CRL(X.509 V2);CA/RA操作協議;C
A管理協議;CA政策制定。一個典型、完整、有效的PKI應用系統至少應具有以下部分:認
證中心CA 、X.500目錄服務器、具有高強度密碼算法(SSL)的安全WWW服務器、Web(安全通
信平臺)、自開發安全應用系統、完整的PKI。
    爲了保證電子商務交易中信息的安全性(保密性、真實完整性和不可否認性)。需要使
交易各方能夠相互信任,並通過一種信任驗證機制互相驗證。這種信任及信任驗證機制是
通過參加電子商務的各方的數字證書(即證明其身份的標識)認證實現的。
    數字證書是各實體在網上進行信息交流及商務交易活動中的身份證明,具有唯一性和
權威性。爲滿足這一要求,需要建立一個參與電子商務各方都信任的機構,專門負責數字
證書的發放和管理,以保證數字證書的真實可靠。這個機構就是數字證書認證中心(Cert
ificate Authority, 以下簡稱CA)。CA是保證網上電子交易安全的關鍵環節,它產生、發
放並管理所有參與網上交易的實體的數字證書。CA的主要職責包括:證書頒發、證書更新
、證書廢除、證書和CRL的公佈、證書狀態的在線查詢、證書認證和制定政策等。
    爲促進電子商務在中國的順利開展,一些單位和部門都已建成了自己的一套CA體系。
其中較有影響的如中國電信CA安全認證體系(CTCA)、上海電子商務CA認證中心(SHECA)
和中國金融認證中心(CA)等。
    儘管取得了一些進展,在設計和實施完全應用PKI技術的系統還面臨着嚴峻的挑戰。在
PKI技術廣泛和有效的應用之前,還有一些重大的問題必須解決。這些問題包括:共用性、
操作經驗、承受能力、明確的和強制的政策和程序、經過培訓的人員。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章