文章編號:1672-5913(2008)08-0085-02
摘要:本文介紹了一些常見的誤用密碼協議的例子,進而探討了信息安全專業密碼學教學中的一些可行性方法。
關鍵詞:信息系統;密碼;協議;教學
中圖分類號:G642
文獻標識碼:B
1簡介
由于使用了數學中的有限域和數論理論,因此密碼學課程一直被視為是非常數學的。誠然,數學基礎對現代密碼方案設計和算法理解是至關重要的,但是對于密碼系統開發和評估人員來說,一般不需要考慮底層的密碼算法,而是需要分析高層密碼協議(如密鑰分配協議,身份認證協議)的安全性。因此,過分強調數學在密碼學中的作用而忽視一般密碼知識的重要性,就導致出現了很多有缺陷的密碼系統,而這些缺陷一般都不是因為底層密碼算法的瑕疵而引起的。故此,如何使信息安全的思想和方法更有效地被系統開發者理解,引起了國內外政府、大學、科研機構的高度關注。我國于本世紀初在一些大學先后開設了信息安全專業,但是如何將密碼學從純粹數學研究或者科學研究領域轉變為非數學和科研工作者應用的開發工具,是一個嚴峻的挑戰,而分析和總結非數學專業密碼學課程的教學是一項有意義的工作。
2一些例子
本節介紹一些有缺陷的密碼系統,從中可以看出缺乏對必要的密碼協議的理解將帶來的安全隱患。
2.1商場支付卡系統
商家的支付可系統通常用一個PIN碼簿加密客戶的PIN碼。由于系統的敏感性,PIN碼簿應周期性地更新。而在早先的裝置中,這些系統使用主密鑰管理系統,這就需要信用卡認證主機定期下載一個新的會話密鑰充當PIN碼簿。但不幸的是,商家終端和信用卡認證主機之間通信協議的設計者沒有意識到這個問題,在通信協議中不提供對更新會話密鑰的下載,因此大多數情況下,會話密鑰沒有更新。
2.2IBM 4758處理器
一些銀行的ATM機利用了IBM 4758密碼處理器,但在執行庫設計上存在著一個缺陷,這就使得某個心懷叵測的銀行職員可以獲得設備使用的密鑰。
2.3等價保密
為了達到與有線通信等價的保密性,無線通信協議標準IEEE 802.11b利用RC4密碼算法實現加密。而為了防止RC4密碼算法被破解,密鑰不能重復使用,但在IEEE 802.11b標準中并未提及這點,因此在許多依據此標準構造的安全體系中,密鑰可以重復使用,導致系統很容易受到攻擊。
2.4Microsoft護照
Microsoft Passport系統主要是為了提供.NET服務而引入的,使用的協議是Kerberos協議的一個變體。Passport不需要每個用戶擁有一個私鑰,這樣用戶的認證就得不到保證,攻擊者就可以通過其他方式獲取Passport,而在線商家并不能檢驗出來。
3一個概念
大多數學生會認為密碼系統就是那些密碼算法。實際上密碼系統還有兩個重要的組成部分:一個是密鑰管理,定義密鑰的選擇和交換;另一個是密碼使用,定義數據保密策略。
上節例子可以看出,缺陷的產生源于對密鑰的選擇或密碼使用不當,而不是因為沒有很好地理解有限域和數論理論。事實上,如果缺乏相應的數學基礎,真正能夠攻擊底層密碼算法的攻擊者很少,大量的安全問題出自于對密碼不恰當的使用和對密鑰管理的疏忽。因此,對于信息安全專業的學生,密碼學課程的重點應該集中在基于密碼算法之上的信息安全系統的理解,強調密碼管理和應用方面的理解和技術實現。
4課程要點
密碼課程內容從密碼基本原理與信息系統相結合進行選材,包含對有缺陷系統的剖析。在實驗中,盡可能將一些開發密碼系統的工具介紹給學生,使學生在解決問題中體會密碼系統可能產生的問題。從而強化學生對密碼基本原理的理解以及對密碼管理和應用的思考。
針對學生在工程設計中可能出現的問題,集中討論以下問題:
1) 理解密碼算法的基本要求以及不同算法相互之間的關系。如討論RC4密碼算法為什么要求使用不可重復的隨機密鑰。討論DES的不同操作模式應用場景。
2) 討論密鑰更新的時間和方法。
3) 檢查所有協議是否存在中間人攻擊方法。了解防止該攻擊的消息認證方法。
4) 檢驗所有協議是否存在重放攻擊,了解防止該攻擊的時間戳和會話密鑰分配方法。
5) 理解信息泄露攻擊。不經意的設計會引起信息泄露。一些協議和API庫函數都有自己特定的使用方法和范圍,應慎重使用。例如診斷請求只需報告系統的正常狀態,而不需要提供系統中處于密碼保護的信息
6) 新的研究成果的介紹。如新發現的系統缺陷和攻擊(防御)技術。
7) 關注信息安全領域的發展,擴展密碼原理和技術的應用范圍。
5自由選擇
學生對于課程的興趣點會有所不同,有的學生喜歡編寫程序,而有些學生對項目管理感興趣。為了更好的理解密碼學原理和應用,以及滿足對大部分學生的教學要求,適當給學生布置一些交叉作業,并以相應的難度計分,充分調動學生學習的主動性和積極性。通常給學生一定的自由度,學生可以根據其興趣和能力選擇合適的作業完成。對于在某一方面突出的學生,給他發揮自己特長的條件,引導其了解一些關鍵的密碼系統的設計思想,或者推薦一些研究文獻擴展知識面。見下表。

6教材選擇
鑒于在教學中的實踐和體會,我們選擇清華大學出版的《現代密碼學》作為學生學習密碼基礎的主要教程,該教材較簡練地給出了密碼學中基本原理,相比其他教程,較容易理解,適合非數學專業的學生學習,但對密碼應用和安全協議的討論不足。為此,Wenbo Mao著的《現代密碼學理論與實踐》可以彌補其不足,該書著重強調了應用密碼學研究與開發的原則,可以根據學生的知識結構選擇適當的素材開展實驗和討論。
7教學實踐
教學實踐中,對信息安全專業的大學低年級學生而言,建立信息系統安全的整體概念,了解安全需求,分析安全隱患對于密碼學學習尤為重要。主要體現在兩方面:一方面,許多密碼安全協議后來證明是不安全的。另一方面,密碼誤用可能出現第二節分析的系統問題。因此,在教學中以密碼協議和密碼應用為核心開展教學,將密碼學基本原理滲透其中,可以得到不錯的教學效果。針對具體實際,可以分學期安排教學重點,力求使學生系統而全面的理解、掌握密碼學原理和應用。在計算機網路發展日新月異的當今社會,信息安全的價值不可估量,密碼學的相關課程的教學應該引起相當的重視。
參考文獻
[1] 楊波. 現代密碼學[M]. 北京:清華大學出版社,2004.
[2] Mao Wenbo. 現代密碼學理論與實踐[M]. 北京:電子工業出版社,2006.