校園一卡通系統(tǒng)密鑰管理設(shè)計(jì)
文章出處:http://56733.cn 作者: 人氣: 發(fā)表時(shí)間:2011年09月16日
一、 概述
IC卡又稱智能卡(Smart Card),即集成電路卡(Integrated Circuit Card)。它是將一個(gè)集成電路芯片鑲嵌于塑料基片中,封裝成卡的形式。IC卡芯片具有寫入和存儲(chǔ)數(shù)據(jù)的能力,IC卡存儲(chǔ)器中的內(nèi)容根據(jù)需要可以有條件的供外部讀取,或供內(nèi)部信息處理和判定之用。
校園一卡通系統(tǒng)(簡(jiǎn)稱校園卡系統(tǒng))是一個(gè)多功能IC卡應(yīng)用系統(tǒng)。所謂“多功能”,是指以一張IC卡同時(shí)支持多種不同的應(yīng)用子系統(tǒng),而各個(gè)子應(yīng)用系統(tǒng)本身是在統(tǒng)一規(guī)劃的前提下分別開發(fā)的,包括學(xué)生上機(jī)管理、食堂收費(fèi)管理、圖書館管理、校內(nèi)小額消費(fèi)、教務(wù)處學(xué)生成績(jī)管理、學(xué)生選課、學(xué)生處的管理、校醫(yī)院醫(yī)療等,而這些管理項(xiàng)目用IC卡應(yīng)用系統(tǒng)都能很好的實(shí)現(xiàn);其次,學(xué)校是一個(gè)相對(duì)獨(dú)立的實(shí)體,這就為整個(gè)系統(tǒng)在設(shè)計(jì)中整體規(guī)劃,在實(shí)現(xiàn)中分步進(jìn)行,在使用中統(tǒng)一管理、統(tǒng)一結(jié)算打下了堅(jiān)實(shí)的基礎(chǔ)。
實(shí)現(xiàn)這樣一個(gè)多功能校園卡系統(tǒng),無(wú)疑具有巨大的優(yōu)越性。從學(xué)校講,這樣的系統(tǒng)將大大降低整個(gè)系統(tǒng)的成本,減少IC卡生命周期(指IC卡發(fā)放、使用及回收的全過(guò)程)的維護(hù)工作量和整個(gè)系統(tǒng)的維護(hù)工作量;從使用者角度講,用一張IC卡就能完成系統(tǒng)所覆蓋的各種應(yīng)用,實(shí)現(xiàn)“一卡通全校”,這將極大方便使用者。此外,在學(xué)校的各個(gè)管理部門內(nèi)引入基于IC卡的計(jì)算機(jī)管理系統(tǒng),對(duì)于提高工作效率和管理水平、減少現(xiàn)金流通、實(shí)施更加有效的財(cái)務(wù)監(jiān)督等,都將有很大好處。
對(duì)于這樣一個(gè)多功能IC卡應(yīng)用系統(tǒng),保證系統(tǒng)的安全顯得尤為重要。為了杜絕偽卡、防止非授權(quán)用卡、以及防止個(gè)人隱私泄漏必須使用現(xiàn)代密碼技術(shù)。隨著密碼技術(shù)在民用領(lǐng)域的普遍使用,標(biāo)準(zhǔn)密碼算法(如AES、DES、RSA、IDEA等)的細(xì)節(jié)都是公開的。這樣,用密碼技術(shù)保護(hù)的信息系統(tǒng)的安全就應(yīng)取決于對(duì)密鑰的保護(hù),而不是對(duì)密碼算法或設(shè)備本身的保密,即“所有秘密寓于密鑰之中”,密鑰管理在安全保密系統(tǒng)的設(shè)計(jì)中就顯得更加重要。
二、 密鑰的管理
1、密鑰管理的基本要求
密鑰管理歷來(lái)是一個(gè)很棘手的問(wèn)題。它不僅與技術(shù)有關(guān),還與人的因素有關(guān)。技術(shù)上再完善,通過(guò)人員這個(gè)口子仍然可能把核心機(jī)密泄露出去。特別是當(dāng)密鑰管理存在一些漏洞或薄弱環(huán)節(jié)時(shí),從密鑰管理的途徑竊取機(jī)密要比單純從破譯的途徑竊取機(jī)密的代價(jià)要小得多。
密鑰管理主要包括密鑰的產(chǎn)生、檢驗(yàn)、分配、傳遞、保管、使用和銷毀等過(guò)程。好的密鑰管理系統(tǒng)應(yīng)當(dāng)盡量不依賴人的因素,其具體要求如下:
1)密鑰難以被非法竊??;
2)在一定條件下竊取了密鑰也沒(méi)有用;
3)密鑰的分配和更換過(guò)程在用戶看來(lái)是透明的,用戶不一定要親自掌握密鑰。
這三點(diǎn)也是評(píng)價(jià)一個(gè)密鑰管理系統(tǒng)性能好壞的標(biāo)準(zhǔn)。
校園卡系統(tǒng)的密鑰管理方式是在現(xiàn)實(shí)環(huán)境的制約下,盡量滿足這三項(xiàng)要求來(lái)設(shè)計(jì)的。
2、校園卡系統(tǒng)密鑰管理體制
在建立校園卡系統(tǒng)密鑰管理體制時(shí),還要考慮了以下幾方面的情況:
1)校園卡系統(tǒng)是建立在非實(shí)時(shí)網(wǎng)絡(luò)環(huán)境基礎(chǔ)上的,為保證在非聯(lián)網(wǎng)狀態(tài)下系統(tǒng)的正常運(yùn)行,不能采用實(shí)時(shí)的交互式密鑰交換協(xié)議;
2)校園卡系統(tǒng)是一個(gè)專用系統(tǒng),對(duì)開放性要求不高,可以采用單鑰密碼體制來(lái)管理密鑰;
3)充分利用IC卡內(nèi)部的主密碼區(qū)、各區(qū)分區(qū)密碼區(qū)和擦除密碼區(qū),將其納入整個(gè)系統(tǒng)的密鑰管理體系,統(tǒng)一管理。
校園卡系統(tǒng)的密鑰管理體制采用一種二級(jí)密鑰管理體制,主密鑰由人工注入,通過(guò)密鑰協(xié)議產(chǎn)生工作密鑰,分別寫入主密碼區(qū)、各分區(qū)密碼區(qū)和擦除密碼區(qū),用工作密鑰來(lái)保證IC卡,以及校園卡管理中心、校園卡結(jié)算中心和各應(yīng)用子系統(tǒng)間傳輸數(shù)據(jù)的安全性。
2.1 校園卡系統(tǒng)工作密鑰產(chǎn)生、存儲(chǔ)、使用協(xié)議
校園卡系統(tǒng)密鑰管理體制AT88SC1604卡有一個(gè)主密碼區(qū),4個(gè)分區(qū)密碼區(qū)和4個(gè)擦除密碼區(qū),這些密碼區(qū)的內(nèi)容必須在個(gè)人化IC卡時(shí)寫入。在設(shè)計(jì)校園卡系統(tǒng)時(shí),我們?cè)私膺^(guò)一些IC卡應(yīng)用系統(tǒng),其IC卡上密碼區(qū)的數(shù)據(jù)是由無(wú)密鑰控制的簡(jiǎn)單算法(如異或、取反、移位等)生成的,其安全性顯然是很差的
校園卡系統(tǒng)中對(duì)IC卡上各密碼區(qū)數(shù)據(jù)提出的要求是:
1)必須由專用的密碼算法生成,以保證強(qiáng)度;
2)密碼區(qū)數(shù)據(jù)的隨機(jī)性要好;
3)密碼區(qū)數(shù)據(jù)要和個(gè)人信息聯(lián)系;
4)密碼區(qū)數(shù)據(jù)能由各應(yīng)用子系統(tǒng)獨(dú)立生成,不能依賴網(wǎng)絡(luò);
5)IC卡各分區(qū)的安全性要獨(dú)立,并體現(xiàn)分級(jí)保護(hù)原則;
校園IC卡主密碼、各分區(qū)密碼和分區(qū)擦除密碼的產(chǎn)生方法如圖2-1所示。持卡人的姓名、身份證號(hào)經(jīng)過(guò)一個(gè)初始運(yùn)算后,其結(jié)果與4個(gè)獨(dú)立的主密鑰(一級(jí)密鑰)K1、K2、K3、K4一起參與加密運(yùn)算DES、IDEA、流密碼和DES,產(chǎn)生工作密鑰(二級(jí)密鑰),該工作密鑰的某些字節(jié)分別作為主密碼、各分區(qū)密碼和擦除密碼,在個(gè)人化IC卡時(shí)寫入IC卡的主密碼區(qū)、各分區(qū)密碼區(qū)以及擦除密碼區(qū)。
校園卡“密鑰”產(chǎn)生方法
由于采用不同密碼算法生成不同密碼區(qū)密碼,保證了各密碼區(qū)密碼的隨機(jī)性以及相對(duì)獨(dú)立性,而且通過(guò)各密碼區(qū)數(shù)據(jù),要想計(jì)算出主密鑰,在計(jì)算上是不可能的應(yīng)用子系統(tǒng)通過(guò)系統(tǒng)操作員卡獲得該應(yīng)用所需的一級(jí)主密鑰(詳見(jiàn)下述),當(dāng)需要對(duì)IC卡操作時(shí),從IC卡檔案區(qū)讀出持卡人姓名和身份證號(hào),并完成初始運(yùn)算和相應(yīng)的加密運(yùn)算,產(chǎn)生該IC卡的主密碼、某分區(qū)的分區(qū)密碼和擦除密碼,便可對(duì)IC卡操作了。
該產(chǎn)生方法滿足了以上提出的五項(xiàng)要求,它與AT88SC1604卡的硬件保護(hù)措施相結(jié)合(如熔絲后各區(qū)密碼只能比較,不能讀出;密碼連續(xù)比較錯(cuò)誤,將使IC卡損壞),較好地保證了校園卡系統(tǒng)中IC卡的安全性。
2.2 數(shù)據(jù)傳輸密鑰管理協(xié)議
為保證校園卡管理、結(jié)算中心和各應(yīng)用子系統(tǒng)間數(shù)據(jù)(主要是電子底帳)傳輸?shù)陌踩?,必須?duì)傳輸數(shù)據(jù)進(jìn)行加密和認(rèn)證,以保證數(shù)據(jù)的完整性、正確性和有效性。傳輸數(shù)據(jù)的加密和認(rèn)證也是在工作密鑰的控制下進(jìn)行的。以上機(jī)收費(fèi)子系統(tǒng)為例,它與校園卡管理、結(jié)算中心間傳遞的數(shù)據(jù)中,只有電子底帳是經(jīng)過(guò)加密和認(rèn)證的,其使用的工作密鑰產(chǎn)生協(xié)議如圖2-2所示。
數(shù)據(jù)傳輸密鑰產(chǎn)生方法
“底帳時(shí)戳”是產(chǎn)生工作密鑰的參數(shù),它是用來(lái)標(biāo)記每個(gè)機(jī)房每天產(chǎn)生底帳的唯一標(biāo)識(shí),每個(gè)電子底帳文件都具有唯一的時(shí)戳。“底帳時(shí)戳”由機(jī)房管理機(jī)產(chǎn)生并維護(hù),附在電子底帳中一起傳到結(jié)算中心。結(jié)算中心從底帳文件中獲得該底帳的時(shí)戳,并和該機(jī)房的主密鑰一起產(chǎn)生工作密鑰,從而對(duì)電子底帳解密和認(rèn)證。
采用這種二級(jí)密鑰管理體制,保證了每個(gè)底帳文件用不同的工作密鑰進(jìn)行加密、認(rèn)證,并且不需要機(jī)房和結(jié)算中心之間進(jìn)行交互對(duì)話,從而簡(jiǎn)化了管理過(guò)程,適合現(xiàn)在的管理模式。
2.3 應(yīng)用子系統(tǒng)主密鑰注入?yún)f(xié)議
為了保證校園卡系統(tǒng)的非聯(lián)網(wǎng)運(yùn)行能力,各應(yīng)用子系統(tǒng)必須要在本地管理所需的主密鑰(一級(jí)密鑰),而不能每次運(yùn)行都從校園卡管理中心獲得主密鑰,尤其對(duì)于產(chǎn)生IC卡密碼區(qū)數(shù)據(jù)的主密鑰更是如此。因此,在校園卡系統(tǒng)中,采用了專用的密鑰注入設(shè)備——操作員卡。
目前采用的操作員卡也是一張AT88SC1604卡,其內(nèi)部數(shù)據(jù)區(qū)加密存儲(chǔ)了系統(tǒng)信息(如機(jī)房號(hào)、操作員號(hào))、本系統(tǒng)所需的密鑰信息、以及操作員卡認(rèn)證信息。每個(gè)獨(dú)立的系統(tǒng)有一張。
系統(tǒng)啟動(dòng)時(shí),操作員插入操作員卡,并輸入口令,該口令經(jīng)一個(gè)單向函數(shù)變換后,來(lái)源一卡通世界。產(chǎn)生的結(jié)果必須與操作員卡中存儲(chǔ)的認(rèn)證信息的某些分量一致,才能啟動(dòng)系統(tǒng)。這就保證了只有操作員卡的合法擁有者才能憑操作員卡啟動(dòng)系統(tǒng)。系統(tǒng)啟動(dòng)后,從操作員卡中讀出系統(tǒng)信息和密鑰信息,就能開始正常運(yùn)行。
采用操作員卡作為密鑰注入設(shè)備,充分利用了AT88SC1604卡的硬件加密措施。它與系統(tǒng)使用的軟件加密措施相結(jié)合,保證了主密鑰的安全。此外,使用操作員卡保存主密鑰,便于主密鑰的更換(需要時(shí)回收操作員卡,重新寫入密鑰,并更新管理中心密鑰數(shù)據(jù)庫(kù)即可),這也符合現(xiàn)代密鑰管理的要求,提高了系統(tǒng)的安全性。
三、小結(jié)
校園卡系統(tǒng)的密鑰管理體制,是按照現(xiàn)代信息系統(tǒng)密鑰管理的一般要求,并結(jié)合校園卡系統(tǒng)的具體情況建立起來(lái)的一種二級(jí)密鑰管理體制。它具有很好的安全性,同時(shí)對(duì)應(yīng)用系統(tǒng)操作人員是透明的,能較好滿足了校園卡系統(tǒng)中密鑰管理的要求。
參考文獻(xiàn)
(1) 何大可,一種迭代型分組密碼的差分密碼分析,西南交大學(xué)報(bào),1998.6
(2) 于宏軍、趙冬艷,智能IC卡技術(shù)全書,電子工業(yè)出版社,1997
(3) 楊波,網(wǎng)絡(luò)安全理論與應(yīng)用,電子工業(yè)出版社,2002
(4) 智能卡技術(shù)匯編,深圳愛(ài)迪爾電子有限公司,1995