□莫紅枝,韋盛學,莫敏艷,覃柳鮮
(1.玉林師范學院 教育技術(shù)中心,廣西 玉林 537000;2.玉林師范學院 數(shù)學與信息科學學院,廣西 玉林 537000;3.河池市羅城鎮(zhèn)中,廣西,河池 546400;4.宜州市劉三姐鄉(xiāng)冬田小學,廣西 河池 546300)
基于模擬互聯(lián)網(wǎng)應用環(huán)境的密碼學數(shù)字簽名實驗方案的設計
□莫紅枝1,韋盛學2,莫敏艷3,覃柳鮮4
(1.玉林師范學院 教育技術(shù)中心,廣西 玉林 537000;2.玉林師范學院 數(shù)學與信息科學學院,廣西 玉林 537000;3.河池市羅城鎮(zhèn)中,廣西,河池 546400;4.宜州市劉三姐鄉(xiāng)冬田小學,廣西 河池 546300)
在分析密碼學傳統(tǒng)常見的實驗教學方式存在問題的基礎上,通過以數(shù)字簽名實驗為實驗方式改革的切入口,設計了一個基于模擬互聯(lián)網(wǎng)環(huán)境的實驗教學方案進行嘗試. 通過統(tǒng)計證實,采用新方式實驗,能提高學生的學習理論、參加實驗的興趣,提高對知識的掌握能力和學習效率.
模擬;數(shù)字簽名;CA;實驗方案;對比
密碼學是計算機科學這個一級學科下多個專業(yè)本科生必備的專業(yè)理論與技術(shù)基礎,在《密碼學》、《信息安全》、《電子商務》、《計算機網(wǎng)絡》等專業(yè)課程中,都有與密碼學理論與應用技術(shù)相關的教學內(nèi)容.密碼學的加密、解密的算法,及有關評估加密強度的方法,與數(shù)學的某些領域緊密相關,在單純的理論教學不能給學生一個直觀的理解的情況下,很多老師會開出有關的實驗,通過增強實驗、實踐環(huán)節(jié)的教學,提高學生對枯燥理論學習的興趣和對知識掌握與運用能力的程度.
密碼學傳統(tǒng)的實驗方式是通過編程實現(xiàn)加解密算法,然后再對明文、密文進行相應處理進行驗證.這種實驗方式在一定程度上,起到了提高學生的學習興致、掌握程度的作用.但因為密碼學畢竟是應用在互聯(lián)網(wǎng)、移動通訊網(wǎng)等之上的一門學科,除了算法外,還有很多與實際應用環(huán)境相關的密碼運營管理體制的知識需要掌握;而且這些知識往往是影響加解密算法設計思路的客觀要素.
本文通過模擬數(shù)字簽名在實際應用中的運行環(huán)境,并在此基礎上設計一種數(shù)字簽名的實驗教學方案,作為密碼學實驗向模擬應用環(huán)境方式發(fā)展的一次嘗試與探討.
數(shù)字簽名是附加在發(fā)送報文上的一些數(shù)據(jù),這些數(shù)據(jù)用于報文接收者確認報文來源及報文完整性,防止被人偽造.這是對電子形式的消息進行簽名的一種方法,基于公鑰密碼體制(非對稱密鑰體制)和私鑰密碼體制(對稱密鑰體制)都可以獲得數(shù)字簽名,但現(xiàn)實中數(shù)字簽名主要是基于公鑰加密技術(shù)與數(shù)字摘要技術(shù).數(shù)字簽名的應用涉及到法律問題,美國聯(lián)邦政府基于有限域上的離散對數(shù)問題制定了自己的數(shù)字簽名標準(DSS).
2.1 數(shù)字簽名的過程及功能
發(fā)送報文時,發(fā)送方用哈希函數(shù)從報文文本中生成報文摘要,然后用自己的私鑰對此摘要進行加密,加密后的摘要作為報文的數(shù)字簽名和報文一起發(fā)送給接收方.接收方首先用與發(fā)送方一樣的哈希函數(shù)從接收到的原始報文中計算出報文摘要,再用與發(fā)送方私鑰配對的公鑰來解密附加在報文上的數(shù)字簽名,如果這兩個摘要相同,那么接收方就能確認該數(shù)字簽名是發(fā)送方的.過程如圖1所示:
圖1 數(shù)字簽名報文的生成流程
數(shù)字簽名有兩種功效:一是能確定消息確實是由發(fā)送方簽名并發(fā)出來的,因為別人假冒不了發(fā)送方的簽名.二是數(shù)字簽名能確定消息的完整性.因為數(shù)字簽名的特點是它代表了文件的特征,文件如果發(fā)生改變,數(shù)字簽名的值也將發(fā)生變化.不同的文件將得到不同的數(shù)字簽名. 一次數(shù)字簽名涉及到一個哈希函數(shù)、發(fā)送者的公鑰、與發(fā)送者公鑰配對的私鑰.
2.2 數(shù)字簽名的應用實際環(huán)境
數(shù)字簽名在互聯(lián)網(wǎng)的實際應用中,涉及到公鑰基礎設施(PKI)及其證書授權(quán)中心(CA)等.為了防止公鑰被仿冒,CA會用自己的私鑰對發(fā)送方公鑰進行加密形成認證證書,頒發(fā)給接收方,接收方就會擁有CA公鑰及發(fā)送方公鑰證書.發(fā)送方、接收方及CA的關系如圖2所示:
圖2 CA與報文發(fā)送方、接收方關系
數(shù)字簽名實驗方案分三部分:硬件實驗環(huán)境的搭建、數(shù)字簽名有關程序設計、實驗運行方案設計.硬件實驗環(huán)境搭建是模擬數(shù)字簽名在實際應用中的運營環(huán)境;數(shù)字簽名有關程序設計包括密鑰對生成及分配、加解密、比較等程序的設計,實驗運行方案設計是依據(jù)互聯(lián)網(wǎng)上數(shù)字簽名的實際運營過程來設計實驗過程.
3.1 硬件實驗環(huán)境的搭建
數(shù)字簽名實際應用環(huán)境有四個要素:通信網(wǎng)絡、CA中心、報文發(fā)送方及接收方.模擬實際應用環(huán)境可以使用一臺交換機模擬網(wǎng)絡,再用三臺實驗用計算機分別模擬CA中心、報文發(fā)送方、報文接收方.如圖3所示:
圖3 數(shù)字簽名實驗的模擬硬件環(huán)境
交換機無需做任何配置,只需保證三臺計算機能直接互相訪問即可.硬件實驗環(huán)境在模擬實際環(huán)境時,交換機不局限于只連接三臺計算機,可以連接更多的計算機.但建議只設一臺計算機用于模擬CA中心,以便學生理清有關機構(gòu)的運作方式,不至混亂.
在連接更多的計算機的情況下,有必要向?qū)W生強調(diào)三點:(1)發(fā)送方、接收方是一個相對的概念,每一臺計算機都是潛在的發(fā)送方或接收方.(2)每一臺計算機在“公鑰密碼體制”中都會分到一對密鑰,其中一把作為私鑰,僅供自身使用;另一把作為公鑰供其它各機使用.(3)發(fā)送時,用自身私鑰加密;接收時,用對方公鑰解密.
3.2 數(shù)字簽名有關程序設計
數(shù)字簽名有關程序設計即在三臺計算機內(nèi)編寫各自模擬角色所需的各種程序,各角色方案程序見下述:
3.2.1 模擬CA中心的計算機
密鑰對生成程序:用于生成CA自身的密鑰對和發(fā)送方的密鑰對.
密鑰對分配管理程序: 負責把密鑰對其中一把指定為發(fā)送方私鑰、一把指定為發(fā)送方公鑰;私鑰直接頒發(fā)給發(fā)送方.若有必要,還可具備簡單的分配記錄功能.
公鑰認證證書生成程序:負責用CA私鑰把發(fā)送方公鑰加密,附到認證證書上,頒發(fā)給接收方.
3.2.2 模擬報文發(fā)送方的計算機
數(shù)字簽名生成程序:負責用哈希函數(shù)生成發(fā)送報文的摘要,并用私鑰把報文摘要加密成數(shù)字簽名.
報文發(fā)送程序:負責把數(shù)字簽名附上報文,并發(fā)送.
3.2.3 模擬報文接收方的計算機
哈希摘要生成程序:負責用哈希函數(shù)生成接收報文的摘要,且稱為“哈希摘要”.
證書拆解程序:負責把認證證書上的發(fā)送方公鑰拆解出來.證書上的發(fā)送方公鑰是經(jīng)過CA私鑰加密的,拆解就是用CA公鑰進行解密,獲得發(fā)送方公鑰.
解密摘要生成程序:負責用發(fā)送方將報文上的數(shù)字簽名解密成報文摘要,且稱為“解密摘要”.
數(shù)字簽名驗證程序:將“哈希摘要”與“解密摘要”進行比較,完全相同返回“簽名有效”;否則返回“簽名無效或報文出錯”.
數(shù)字簽名有關程序設計是包括加解密算法編碼的實現(xiàn),是整個實驗難度最高的階段.這個階段類似前述的密碼傳統(tǒng)常見實驗方式,說明這個探討方案已經(jīng)涵蓋了傳統(tǒng)實驗方式的實驗效果.
3.3 實驗運行方案的設計
實驗運行方案的設計依據(jù)數(shù)字簽名實際工作流程,分三步實驗過程:CA分配密鑰對、發(fā)送方發(fā)送有數(shù)字簽名的報文、接收方驗證數(shù)字簽名和報文有效性.
3.3.1 CA分配密鑰對的實驗過程
CA生成CA自身的密鑰對和發(fā)送方的密鑰對;把發(fā)送方密鑰對其中一把指定為發(fā)送方私鑰、一把指定為發(fā)送方公鑰;私鑰直接頒發(fā)給發(fā)送方,再用CA私鑰把發(fā)送方公鑰加密,附到認證證書上,頒發(fā)給接收方.
3.3.2 發(fā)送方發(fā)送有數(shù)字簽名的報文的實驗過程
用哈希函數(shù)生成發(fā)送報文的摘要,并用發(fā)送方私鑰把報文摘要加密成數(shù)字簽名;把數(shù)字簽名附上報文,并發(fā)送.
3.3.3 接收方驗證數(shù)字簽名和報文有效性的實驗過程
用哈希函數(shù)生成接收報文的摘要,為“哈希摘要”;用CA公鑰把認證證書上的發(fā)送方公鑰解密出來,然后將報文上的數(shù)字簽名解密成報文摘要,為“解密摘要”;將“哈希摘要”與“解密摘要”進行比較,完全相同返回“簽名有效”,否則返回“簽名無效或報文出錯”.
對新實驗方式的教學效果統(tǒng)計,主要采用的方法是兩種成績(實驗平均成績、考試平均成績)的對比,數(shù)據(jù)來源于不同年級(A年級與B年級)、同年級不同班別(1班與2班).采用新舊實驗方式的情況是這樣的:A年級兩個班都沒采用新實驗方式,B年級中1班采用新實驗方式教學,而2班沒采用新實驗方式.對比情況如表1、表2所示:
表1 采用不同方式的年級平均成績對比
表2 采用不同方式的同年級不同班別平均成績對比
通過這兩個對比可見,采用新的實驗方式對實驗成績、考試成績是有提高作用的.
本文在分析密碼學傳統(tǒng)常見的實驗教學方式存在問題的基礎上,通過以數(shù)字簽名實驗為實驗方式改革的切入口,設計了一個基于模擬互聯(lián)網(wǎng)環(huán)境的實驗教學方案進行嘗試.通過該嘗試證實,學生在新方式實驗中,除了獲得傳統(tǒng)實驗方式中能獲得的算法理論、算法設計能力之處,還了解了某些密碼系統(tǒng)在互聯(lián)網(wǎng)中的實際工作過程.把這種新實驗方式推廣到其它密碼系統(tǒng)實驗教學中,會更加有利于提高學生的學習理論、參加實驗的興趣,提高對知識的掌握能力和學習效率. ■
[1]張興蘭.信息安全專業(yè)的密碼學教學[J].計算機教育,2008,(8):85-86.
[2]王昭,袁春.信息安全原理與應用[M].北京:電子工業(yè)出版社,2010.
[3]程紅蓉,周川杰,傅種等.信息安全綜合實驗教學研究[J].實驗科學與技術(shù),2011,9(5):214-216.
[4]程紅蓉,聶旭云,王勇.信息安全基礎綜合實驗教程[M].北京:高等教育出版社,2012.
[5]秦鋼年,廖慶敏,蒙艷玫,創(chuàng)新型人才培養(yǎng)與實驗教學示范中心建設[J].實驗室研究與探索,2010,29(9):116-118.
[6]Ding Yong. An exploration of the teaching of cryptograp in the discipline of information and computational science[J]. Journal of Guilin University of Electronic Technology, 2008, Vol 28, No 2: 131-133.
【責任編輯 謝明俊】
A Design of Digital Signature Experimental Scheme of Cryptology Based on the Imitation of Internet Application Environment
MO Hong-zhi1, WEI Sheng-xue2, MO Min-yan3, QIN Liu-xian4
(1. Educational Technology Center, Yulin Normal University, Yulin, Guangxi 537000; 2. College of Mathematics & Information Science, Yulin Normal University, Yulin, Guangxi 537000; 3. Luochen Town School, Hechi, Guangxi 546400; 4. Yizhou Primary School, Hechi, Guangxi 5463000)
By analyzing the common problems existing in traditional cryptological experiment teaching method, this paper intends to take digital signature experiment as a starting point to tentatively design an experimental teaching method by imitating internet environment. Through verifying statistics and adopting new ways in experiment, it is expected to improve students’ study theory and cultivate their interest in taking part in experiments, so as to improve their ability of mastering knowledge as well as their study efficiency.
imitation; digital signature; CA; experimental scheme; comparison
TP39
A
1004-4671(2014)05-0135-05
2014-07-01
廣西教育廳科研項目:201204LX346,21204LX349;玉林師范學院校級重點項目2011YJZD20。
莫紅枝(1981~),女,廣西羅城人,玉林師范學院教育技術(shù)中心實驗師,研究方向:計算機網(wǎng)絡。