張麗萍 葛福鴻
摘 要:成績管理是教務(wù)管理中的基礎(chǔ)業(yè)務(wù),在成績管理系統(tǒng)中引入多重數(shù)字簽名可以提高成績管理的可靠性和安全性。針對目前成績管理系統(tǒng)存在的篡改和抵賴的安全威脅,將哈希函數(shù)、RSA算法、CA認(rèn)證和多重簽名技術(shù)集成一體,提出具體解決方案,具有很強(qiáng)的實(shí)用價值。
關(guān)鍵詞:網(wǎng)絡(luò)安全;多重數(shù)字簽名;成績管理系統(tǒng)
中圖分類號:G434 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2016)09-0056-04
學(xué)生成績管理作為教務(wù)管理中的基礎(chǔ)業(yè)務(wù),其安全性在高校信息安全中處于重要地位。當(dāng)前學(xué)生成績管理系統(tǒng),沒有采用多方數(shù)字簽名技術(shù),這種方式實(shí)現(xiàn)起來簡單,但是成績?nèi)菀妆淮鄹模诔霈F(xiàn)問題時沒有有效的手段來解決爭議。多重數(shù)字簽名就是多個用戶對同一個消息進(jìn)行數(shù)字簽名。它能夠保證多用戶在網(wǎng)上簽名的安全可靠,發(fā)生爭議時又不能推卸責(zé)任。在成績管理中引入多重數(shù)字簽名,保證了成績的真實(shí)性,提高了成績管理的可靠性,切實(shí)保障了學(xué)生的利益。本文分析目前成績管理系統(tǒng)存在的安全威脅,給出了具體的解決方案,將哈希函數(shù),RSA算法,CA認(rèn)證和多重簽名技術(shù)集成在一體來保證成績管理系統(tǒng)的安全。
一、成績管理系統(tǒng)安全威脅
目前的成績管理系統(tǒng)存在兩方面的威脅:一方面,在傳輸過程中有可能被非法用戶截獲進(jìn)行篡改,或者是非法用戶通過截獲信息偽造一張非法的成績表上傳給管理員,來干擾管理員的正常工作,所以要通過數(shù)字簽名來保證安全性和可靠性;另一方面,在成績管理系統(tǒng)中對于公共課和專業(yè)課都需要有多位判卷老師的共同簽名,這種多用戶的環(huán)境可能會出現(xiàn)互相抵賴現(xiàn)象。
二、數(shù)字簽名技術(shù)
RSA算法作為非對稱密鑰算法,保證了計(jì)算上的安全性,簡單易操作,可以很好用于數(shù)字簽名。為了提高數(shù)字簽名的效率和安全性,可以引入單向散列函數(shù)哈希函數(shù),可以對明文生成摘要。CA可用于RSA算法中密鑰的管理和用戶的認(rèn)證。可將哈希函數(shù),RSA算法、CA認(rèn)證和多重簽名技術(shù)綜合應(yīng)用于成績管理系統(tǒng),以解決其存在的威脅。
1.哈希函數(shù)
在數(shù)字簽名過程中,可以引入哈希函數(shù)來解決簽名消息長的問題。一方面破壞了消息本身的數(shù)據(jù)結(jié)構(gòu)來提高穩(wěn)健性;另一方面是縮短了簽名算法的輸入長度,可以提高數(shù)字簽名的速度。當(dāng)簽名者想要簽一個任意長的消息x時,它先構(gòu)造一個消息摘要z=h(x),然后對z計(jì)算y=Sigk(z)得到簽名。一般采用的是單向散列函數(shù),即通過摘要不能推出明文。
2.RSA數(shù)字簽名算法
常規(guī)的密碼算法就是通過某種方式對信息進(jìn)行變換,使得別人無法解讀這些信息。按照加密密鑰是否和解密密鑰相同或者說從加密密鑰是否可以推出解密密鑰,密碼算法可以分為對稱密碼算法和非對稱密碼算法, RSA算法是最典型的非對稱密碼算法。RSA算法的數(shù)學(xué)基礎(chǔ)是大整數(shù)因子難分解問題。如圖1所示為RSA數(shù)字簽名算法。
簽名:信息m的簽名y=sig(m)=(h(m))amod n來生成。其中h(m)為生成的信息摘要,它由信息m通過單向散列函數(shù)得到。
驗(yàn)證:驗(yàn)證算法ver(m,y)=真(TRUE)→h(m)≡ybmod n。
其中公開n,b和sig(m),而保密a,p,q和ver(m,y)。在原理上如果有人冒充信息發(fā)送者在計(jì)算上是不可能的,因?yàn)橹挥兴救送ㄟ^他的私鑰a才能計(jì)算出y使得ver(m,y)=真(TRUE)[1]。
3.多重數(shù)字簽名
多重數(shù)字簽名按照簽名是否有順序可以分為:順序多重數(shù)字簽名和廣播多重數(shù)字簽名。順序多重簽名是簽名者按照規(guī)定的順序進(jìn)行簽名,如圖2所示為順序多重數(shù)字簽名。廣播多重簽名則沒有層級和順序之分,由消息發(fā)送者將消息發(fā)給每個簽名者,簽名完成后把簽名發(fā)給一個簽名收集者,由簽名收集者整理后形成簽名,如圖3所示為廣播多重數(shù)字簽名[2]。
4.公開密鑰基礎(chǔ)設(shè)施PKI
PKI主要的功能是生成密鑰并對密鑰進(jìn)行管理,而且公鑰和用戶身份信息是綁定的,用戶丟失密鑰后可以掛失并重新申請,方便了數(shù)字簽名和數(shù)據(jù)加密的實(shí)現(xiàn)。PKI中最核心的組成部分是CA,CA作為證書頒發(fā)機(jī)構(gòu),可以對用戶身份進(jìn)行認(rèn)證。學(xué)生成績管理系統(tǒng)中CA方便了不同用戶之間的通信,各個用戶之間可以通過CA建立可靠的信任關(guān)系,出現(xiàn)問題不能推卸責(zé)任。
三、多重數(shù)字簽名在高校成績管理系統(tǒng)中的應(yīng)用
1.方案概述
對于公共統(tǒng)考課有多位判卷老師,比如英語課、政治理論課的期末考試,所有參與判卷的老師都需要在成績單上簽名,而且他們之間沒有層級關(guān)系,簽名不存在順序之說,可以采用廣播多重數(shù)字簽名。簽名的收集者要驗(yàn)證每一個簽名的有效性,然后形成最終簽名上傳到成績管理系統(tǒng)[3]。管理員收到消息后解密得到成績單,在網(wǎng)上公布成績供查詢。如圖4 所示公共課簽名過程。
對于專業(yè)課程,任課老師在成績單上簽名后需要發(fā)給系教研室主任審核簽字,系教研室主任再發(fā)給系主任審核簽字,最后發(fā)給系統(tǒng)管理員。他們之間存在層級關(guān)系,是一個規(guī)范化的辦公流程,順序是不能隨便改的,可以采用順序多重數(shù)字簽名,如圖5 所示為非公共課簽名過程。在順序簽名方案中后一個人總能驗(yàn)證他前面所有人簽名的有效性。
2.成績簽名方案
每一個成員簽名之前要先通過CA申請證書,獲取證書后用其私鑰對收到的信息簽名。CA會根據(jù)用戶的身份自動生成密鑰對。一個是私鑰,通過秘密通道傳給用戶,用戶丟失后可以掛失,重新申請;另一個是公鑰,可以供其他成員查詢。在成績管理系統(tǒng)中會提供規(guī)范的成績單格式,提示相應(yīng)的簽名,以便日后進(jìn)行驗(yàn)證。每一個簽名者驗(yàn)證簽名有效且信息正確后進(jìn)行簽名,否則拒絕簽名[4]。
(1)廣播簽名方案
對于公共統(tǒng)考課采用廣播簽名方案,具體的簽名步驟如下:
1)判卷主要負(fù)責(zé)人需要下載成績單規(guī)范格式,錄入成績單m,核對以后要簽字。采用RSA簽名方式,先對成績單形成摘要h(m),然后用自己的私鑰a對這個摘要簽名,即y=sig(m)=(h(m))2mod n。通過查詢得到每一位參與判卷老師的公鑰,然后將成績單和自己的簽名用他們的公鑰加密后發(fā)給每一位閱卷者,即廣播發(fā)給每一位判卷老師進(jìn)行審核簽字。
2)每一位判卷老師在收到消息后用自己的私鑰解密,會得到消息發(fā)送者的簽名和成績單。先要對簽名進(jìn)行驗(yàn)證,如果驗(yàn)證正確,再核對成績無誤后可以對成績單形成摘要并簽名,簽名和成績單一起用簽名收集者的公鑰加密后發(fā)給簽名收集者。在這里為了方便,簽名的收集者也是最初的廣播消息的發(fā)送者即主要負(fù)責(zé)人。
3)主要負(fù)責(zé)人收到每個簽名后要用自己的私鑰解密,得到每個判卷老師的簽名文件和原始的成績單。對簽名驗(yàn)證有效后就可以把所有的簽名文件按照成績單中判卷老師的名字順序排好序,再一次用自己的私鑰簽名,最后將簽名連同成績單用系統(tǒng)管理員的公鑰加密上傳到成績管理系統(tǒng)。
4)管理員收到信息后先把它保存到數(shù)據(jù)庫中以備日后驗(yàn)證,然后用自己的私鑰解密后得到主要負(fù)責(zé)人的簽名和成績單,驗(yàn)證了主要負(fù)責(zé)人的簽名有效后,可以把成績發(fā)布到網(wǎng)上。
(2)順序簽名方案
對于專業(yè)課程的簽名采用順序簽名方式,具體的簽名步驟如下:
1)任課教師需要下載成績單規(guī)范格式,錄入成績單,核對后對成績單形成摘要后進(jìn)行簽名,將簽名和成績單一起用系教研室主任的公鑰加密后發(fā)給系教研室主任。
2)系教研室主任收到消息后先用自己的私鑰解密得到任課老師的簽名文件和成績單。驗(yàn)證簽名的有效性后,對收到的任課老師的簽名文件用自己的私鑰進(jìn)行簽名,連同成績單一起用系主任的公鑰進(jìn)行加密,然后發(fā)給系主任。
3)系主任收到消息后先用自己的私鑰解密得到系教研室主任的簽名和成績單文件。驗(yàn)證簽名的有效性后,對收到的系教研室主任的簽名文件用自己的私鑰簽名后連同成績單一起用任課老師的公鑰進(jìn)行加密上傳到成績管理系統(tǒng)。
4)管理員收到信息后先把它保存到數(shù)據(jù)庫中以備日后驗(yàn)證,然后用自己的私鑰解密得到信息,驗(yàn)證簽名有效性后可以把成績發(fā)布到網(wǎng)上。
3.驗(yàn)證方案
消息的接收者收到消息后,先要用自己的私鑰解密。解密成功并不能保證消息來源就是可以信任的,因?yàn)槊總€人都可以查詢到消息接收者的公鑰進(jìn)行加密,然后可以冒充消息的發(fā)送者發(fā)送消息。
對于公共課,每一個判卷老師解密得到的是成績單和消息發(fā)送者的簽名,此時要驗(yàn)證簽名的有效性。RSA簽名的驗(yàn)證過程前面已經(jīng)提及就是把得到的簽名y用消息發(fā)送者的公鑰b再做一次模n運(yùn)算,得到的就是成績單的摘要,即h(m)=ybmod n,然后對收到的成績單用哈希函數(shù)做一次哈希運(yùn)算,得到h(m)′,比較h(m)是否和h(m)′相等,就驗(yàn)證了簽名確實(shí)是系統(tǒng)的消息發(fā)送者即主要負(fù)責(zé)人發(fā)來的,如圖6所示為判卷老師驗(yàn)證簽名過程。主要負(fù)責(zé)人收到每個判卷老師發(fā)來的消息后先要用自己的私鑰解密得到成績單和判卷老師的簽名,然后對簽名進(jìn)行驗(yàn)證,也是用消息發(fā)送者的公鑰進(jìn)行解密得到了成績單的摘要,然后對收到的成績單形成摘要,按照上面的步驟進(jìn)行驗(yàn)證。系統(tǒng)管理員收到消息后先把它保存到數(shù)據(jù)庫中以備日后驗(yàn)證,然后解密消息得到的就是成績單和主要負(fù)責(zé)人的簽名。用主要負(fù)責(zé)人的公鑰進(jìn)行解密得到的就是判卷老師們有序的簽名文件,可以用前幾位老師的公鑰解密簽名文件,得到的就是判卷老師們收到的原始成績的摘要。管理員把收到的來自主要負(fù)責(zé)人的成績單也形成摘要,將兩個摘要進(jìn)行比較,如果都是相等的則驗(yàn)證成功就可以在網(wǎng)上公布成績。
如果成績出現(xiàn)問題一般是管理員的問題,因?yàn)楣芾韱T在驗(yàn)證主要負(fù)責(zé)人簽名的時候已經(jīng)排除了主要負(fù)責(zé)人修改成績的可能,保證了主要負(fù)責(zé)人發(fā)給判卷老師的成績單和發(fā)給管理員的成績單是一致的。此時可以通過數(shù)據(jù)庫中的原始數(shù)據(jù)進(jìn)行驗(yàn)證,解決爭議。驗(yàn)證過程是:管理員將數(shù)據(jù)庫中的原始信息進(jìn)行解密,得到成績單和主要負(fù)責(zé)人的簽名,可以驗(yàn)證主要負(fù)責(zé)人簽名的有效性,并驗(yàn)證這個成績單和公布的成績單的一致性。
對于專業(yè)課程采用的是順序簽名,后一個人總能驗(yàn)證他前面所有人的簽名的有效性。比如系主任收到消息后,就用自己的私鑰解密消息,得到了一個系教研室主任自己的簽名和一份成績單,因?yàn)橄到萄惺抑魅蔚暮灻褪菍θ握n老師的簽名用自己的私鑰再次簽名形成的,所以對系教研室主任的簽名用系教研室主任的公鑰進(jìn)行解密得到的當(dāng)然是任課老師的簽名,然后再用任課老師的公鑰進(jìn)行解密得到的即為成績單的摘要信息h(m),對收到的成績單進(jìn)行哈希運(yùn)算也得到一個摘要信息h(m)′,比較h(m)是否和h(m)′相等,就驗(yàn)證了系教研室主任和任課老師簽名的有效性,如圖7 所示為系主任驗(yàn)證簽名過程。系統(tǒng)管理員把收到的信息先保存到數(shù)據(jù)庫中然后解密信息后對簽名的有效性進(jìn)行驗(yàn)證,驗(yàn)證過程也類似,他可以驗(yàn)證系主任,系教研室主任和任課老師的簽名的有效性。
如果成績有問題,一般是管理員的問題,因?yàn)楣芾韱T在驗(yàn)證簽名有效性的過程中已經(jīng)排除了其他人修改成績的可能,我們可以通過數(shù)據(jù)庫中的原始消息來驗(yàn)證管理員是否修改成績。驗(yàn)證過程很簡單:管理員把數(shù)據(jù)庫中的原始消息進(jìn)行解密得到成績單和系主任的簽名,然后驗(yàn)證系主任簽名的有效性,并將這個成績單與公布的成績單進(jìn)行比較。
4.安全性分析
每一個人的簽名是不可以偽造的,因?yàn)槌怂约浩渌藳]法知道他的私鑰,這樣就很好地保證了安全性。一方面,如果有非法用戶截獲了信息,但是我們知道信息是加密的,他沒有信息接收者的私鑰是沒法解密得到明文,截獲的消息是無意義的;另一方面,非法用戶想要偽造一份成績單并用自己的私鑰進(jìn)行簽名同樣是不可行的,因?yàn)橄⒔邮照呤盏较⒑竽芎芸祢?yàn)證出簽名無效,就會拒絕簽名。
四、小結(jié)
1.結(jié)論和展望
采用了多重數(shù)字簽名的高校學(xué)生成績管理系統(tǒng),滿足了實(shí)際的應(yīng)用需求,保證了多用戶環(huán)境中學(xué)生成績的真實(shí)性,可靠性。隨著PKI基礎(chǔ)建設(shè)的不斷加強(qiáng),我們可以將多重數(shù)字簽名技術(shù)應(yīng)用到其他學(xué)生服務(wù)中,甚至整個校園網(wǎng)的辦公系統(tǒng)中,來保障校園網(wǎng)的安全有效運(yùn)行,使校園網(wǎng)建設(shè)步入更加正規(guī)化的網(wǎng)絡(luò)辦公軌道。
2.問題和不足
成績管理系統(tǒng)的安全性指的是計(jì)算上的安全性,它是建立在系統(tǒng)本身安全的假設(shè)基礎(chǔ)上的。因此不管數(shù)字簽名采用的密碼算法設(shè)計(jì)如何良好,如果系統(tǒng)自身是不安全的也就很難保證密碼不被破解。就是說很少有人會去進(jìn)行蠻力攻擊來破解密碼,而利用系統(tǒng)的漏洞去攻擊會更容易實(shí)現(xiàn)[5]。因此要重視系統(tǒng)自身安全建設(shè),通過部署各種安全策略和建立多維度的安全防護(hù)體系來保證預(yù)期功能的實(shí)現(xiàn),保證系統(tǒng)的安全性、穩(wěn)定性和可靠性。
參考文獻(xiàn):
[1]Sattar J,Aboud.Two Efficient Digital Multi-signature Schemes[J].International of Soft computing,2007,2(1):113-117.
[2]Eun-Jun Yoon,Kee-Young Yoo.Cryptanalysis of Password Authenticated Key Exchange Based on RSA for Imbalanced Wireless Networks[J].IEICE Transactions on Communications,2005,E88-B(6):2627-2628.
[3]郭改文.多重數(shù)字簽名在高校辦公系統(tǒng)中的應(yīng)用研究[J].中州大學(xué)報,2013,30(3):123-126.
[4]張明熙.混合多重數(shù)字簽名的研究[D].上海:上海交通大學(xué),2005.
[5]王曉峰,張璟,王尚平.多重數(shù)字簽名方案及其安全性證明[J].計(jì)算機(jī)學(xué)報,2008,31(1):176-183.