黃 瓊 郭艾俠
(華南農業大學 信息學院,廣東 廣州 510642)
談現代密碼學的教學
黃 瓊 郭艾俠
(華南農業大學 信息學院,廣東 廣州 510642)
密碼學是實現信息安全的一個重要工具。文章就如何提高現代密碼學課程的教學效率、激發學生的興趣,闡述幾點感覺和體會。在教學中應注重理論與應用、攻擊與防御的緊密結合,以應用入手,帶出理論,再輔之以理論在實際中的具體應用。
信息安全;密碼學;數學;教學思想
近年來,隨著計算機、網絡、通信等的信息技術迅速發展,出現了大量的電子、計算機設備和應用系統,以及網絡信息系統,例如電子商務、電子政務、網上銀行、移動通信 等。這些設備和系統與人們的日常生活的聯系越來越緊密,成為人們生活中不可或缺的部分。雖然社會的信息化程度越來越高,這些設備和系統在我們的生活中起著越來越重要的作用,但是隨之而來的安全問題卻不容小覷。近幾年信息安全事件頻繁發生,信息泄漏給人們的生活造成諸多不良影響和困擾,使得人們對信息安全的關注度也越來越高。如何保障信息安全也成為了一個熱點研究問題。然而,無論是過去、現在還是將來,信息安全保障技術以數學和計算機科學為基礎,需要相關專業的畢業生來開發并實現這些防護技術。因此,許多高校都開設了信息安全或相關專業,培養優秀畢業生,將來從事信息安全建設工作。
保障信息安全的一個重要手段是密碼學。密碼技術可以用于實現數據的保密性、完整性、不可篡改性、可用性、不可抵賴性等,也可以用于控制對數據的訪問。密碼學的重要基礎是數學,如抽像代數、數論等,理論性強,是一門相對比較難學的學科。許多學生對如何使用理論知識來解決實際問題還不是很清楚[1]。高校開設這門課程的目的之一是要求學生具備一定的分析問題和解決問題的動手能力,能夠進行一些安全實踐[2,3]。筆者就如何激發學生的興趣、提高信息安全數學基礎的教學效率和效果,闡述幾點感想與體會,與同行做探討。
與其它課程相比,現代密碼學具有以下特點[5]:
(1)密碼學是一門具有非常強的理論性的學科,其教學離不開密碼理論的講授,常常需要講解各種方案的原理。然而,光講解密碼理論的話,學生很容易感覺到枯燥。各種密碼方案都具有其應用背景,且學生們多數都對應用較為感興趣。因此,密碼學的教學過程中應該理論與應用并重,以應用引出理論,再以理論指導應用。
(2)現代密碼學的內容涉及數論、抽象代數、概率等諸多數學知識,范圍較廣,潛在地要求學生具有一定的數學基礎。
(3)由于密碼學的應用很廣,如數據庫安全、網絡安全、操作系統安全等都需要用到密碼工具。因此,密碼學也就和這些相關課程有著密切的關聯。在教學過程中可穿插一些密碼學在各個領域的應用。
針對以上特點,在教學實踐中筆者采取了如下的思路和方法。
2.1 以數據隱藏為切入點
密碼學的發展源于數據的隱藏,早在古羅馬時期就出現了數據加密技術“凱撒密碼”。除此之外,還有很多經典的古典加密方法,如普萊菲爾密碼、維吉尼亞密碼等。此類的數據加密技術較容易引起學生的興趣,二戰時期美國與德國、日本之間的“密碼戰爭”的故事更能激發學生對密碼術的興趣。在實際教學中可以用此類的故事展開,然后舉一些古典密碼的例子,如:
加密方法:凱撒密碼
明文:Attack Midway Island Tomorrow
密文:Dwwdfn plgzdb Lvodqg Wrpruurz
密鑰:3
使學生掌握“明文”、“密文”、“密鑰”這幾個概念以及加密、解密是怎么一回事。由此,向學生講解對稱加密的機制,并介紹幾種著名的古典密碼和現代的對稱加密算法,如 DES等。
2.2 以加密破解為激勵點
自古以來,密碼學就包括“矛”和“盾”兩部分。密碼方案、協議的設計是“盾”,集中于防御;而密碼分析、破解則是“矛”。兩者相輔相成,密不可分。不過,一直以為,密碼分析和破解都能吸引人們的眼光和興趣。在教學中,也可以以此來進一步吸引學生們的注意和興趣??梢越o出一個簡單的密文,如
密文:Dwwdfn plgzdb Lvodqg Wrpruurz
并告訴學生該密文是用凱撒密碼計算出來的,要求學生尋找其相應的明文。之后,可再以這個例子來講解統計分析方法,通過統計字母出現頻率來進行密碼分析。上述例子較為簡單,學生們一般都能較快地能完成整個分析過程。然后再一步增加難度,以簡化的 DES為例[4],向學生講解差分分析的方法。
2.3 以公鑰密碼做進一步展開
對稱密碼技術具有速度快的優點,既適合軟件實現,也比較適合硬件實現;但是,對稱密碼也有一個很大的缺點,即加解密雙方需要共享密鑰,管理和分發都是難題。在向學生們分析完對稱密碼的缺點之后,自然地開始向學生介紹Diffie和Hellman為何要開拓公鑰密碼學這個新方向,并講解公鑰密碼的特點和運行機制。這樣學生們較為容易接受公鑰密碼這個概念。然后以RSA加密方案為例子,完整講解公鑰加密的原理,并以此帶出公鑰加密的數學基礎,如同余的性質、歐拉函數,擴展的歐幾里德算法、平方剩余等內容。
此外,為使學生們對公鑰加密保持相當的興趣,還可以進一步講解如何攻擊原始的RSA加密方案,介紹立方根攻擊、共模攻擊、選擇密文攻擊等攻擊方式,使學生們了解針對公鑰加密方案的一些分析方法。
有攻就應有防。接下來向學生們講解應該如何去防御這些攻擊,并由此向學生們傳輸“安全模型”這個概念,令他們了解“安全”的相對性,即,所謂的“安全”都是針對于某些類型的攻擊而言的,攻擊類型不同,安全程度也將有所差異。以RSA加密為例,向學生們介紹公鑰加密當中常見的“選擇明文安全”和“選擇密文安全”,以及如何去實現這兩種安全性,將攻與防的思想貫徹始終。
2.4 以數字簽名作為補充
公鑰密碼學不單只有公鑰加密,還包括很多其它方面的內容,其中較為常用的便是數字簽名。以安全的電子郵件為楔子,令學生們明白保護數據完整性的重要、數字簽名的作用以及如何應用數字簽名。并以RSA簽名為代表,遵循“設計——攻擊——再設計”的思路,用一些簡單的例子向學生們講解數字簽名方案的設計理念和原理。
2.5 以實際應用作結尾
理論研究源于應用,又反哺于應用。在講解了這么多密碼學理論之后,有必要向學生們介紹一些密碼學在現實生活中的具體應用,進一步增強學生對密碼理論的理解,使其清楚如何使用密碼學技術去解決現實問題。在教學中可以考慮以下幾個典型的應用:
(1)安全套接字層(SSL):該協議為Netscape公司研發,目的是保障在互聯網上數據傳輸的安全,利用加密技術確保數據在網絡上之傳輸過程中不會被截取及竊聽。目前已被眾多網站采用,用以安全數據傳送。在介紹這部分內容時,可以以學生較為感興趣的網頁服務器(如Apache)配置入手,介紹SSL的功能,以及如何在服務器上加載SSL,實現安全的超文本傳輸。
(2)數字證書(Certificate):數字證書是公鑰基礎設施(PKI)中用于標識身份的一種方式,主要用于將用戶身份與其公鑰綁定,由證書權威機構(CA)頒發。數字證書可確保數據加密、數字簽名中所涉及的公鑰的有效性和真實性。在教學過程中,可以從數據加密、數字簽名中公鑰的管理問題入手,進而講到數字證書的必要性以及如何使用數字證書來解決公鑰的管理問題,并以實際例子,如 Gmail(https://mail.google.com)等,來向學生展示數字證書的具體應用。
(3)PGP(Pretty Good Privacy):這是互聯網上比較流行的供大眾使用的一種加密簽名軟件,可提供獨立的信息保護功能。在教學中可以以安全的電子郵件為例。為了保護郵件內容,防止郵件被非授權的用戶讀取,可以使用PGP提供的加密功能對郵件進行加密。為了保障郵件在傳送過程中不被非授權的用戶修改,可以使用PGP提供的簽名功能,對郵件進行簽名。此外,還可以向學生介紹如何在實際生活中使用PGP這個軟件,以及“加密再簽名”和“簽名再加密”這兩種數據保護模式和它們的區別。
(4)數字版權管理(DRM):數字介質(如電話、音樂、軟件)的出版者通常會使用此類技術來控制數字介質的使用權。常用的數字版權管理的技術包括數字水印、數字簽名和數據加密等。由于很多學生都對蘋果的產品比較感興趣,因此在教學中可以以蘋果的 iTunes商店為例為學生介紹為何需要數字版權管理以及數字版權管理的功能,如數字媒體加密、阻止非法內容注冊、用戶環境檢測、用戶行為監控、認證機制以及付費機制的存儲管理等。
針對現代密碼學的特點,筆者根據自己在教學中的體會,介紹并探討了如何向計算機類專業的學生講授現代密碼學課程。拋磚引玉,期望同行們多些討論,共同提高教學效率和效果。
[1]李曦.密碼學課程實踐教學存在的問題及改進措施[J]. 高等教育研究. 2011, (28): 23-24.
[2]錢偉中.“信息安全概論”課程教學研究與探索[J] 計算機教育, 2007, (12): 26-28.
[3]宋瑋.“信息安全概論”課程教學的思考[J].廣東工業大學學報(社科版),2008, (7): 213-215.
[4]William Stallings.密碼編碼學與網絡安全-原理與實踐[M].北京: 電子工業出版社, 2011.
[5]王昭.信息技術學科密碼學教學思路探討[J].計算機教育, 2011, (134): 48-51.
(責任編校:劉志壯)
G642
A
1673-2219(2012)09-0171-02
2012-07-05
華南農業大學2010年度教育教學改革項目(JG10120)和華南農業大學信息學院教改課題(INFJG09 03)。
黃瓊(1982-),男,江西南昌人,副教授,博士,研究方向為密碼學與信息安全。郭艾俠(1974-),女,安徽宿州人,講師,研究方向為信息安全。