采用三級(jí)密鑰體系實(shí)現(xiàn)校園一卡通系統(tǒng)IC卡密鑰管理子系統(tǒng)
文章出處:http:// 作者:李峰 人氣: 發(fā)表時(shí)間:2010年07月16日
1 概況
校園卡系統(tǒng)是以校園網(wǎng)為基本載體,采用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)與通信技術(shù)、數(shù)據(jù)庫技術(shù)和卡與卡的識(shí)別技術(shù)等信息化的手段和工具,利用卡作為電子身份的載體、以及與計(jì)算機(jī)進(jìn)行交互的介質(zhì),持卡人在其身份允許的范圍內(nèi),實(shí)現(xiàn)在校園內(nèi)進(jìn)行商務(wù)消費(fèi)、身份識(shí)別認(rèn)證、金融服務(wù)等社會(huì)應(yīng)用活動(dòng)的數(shù)字化信息化[1]。校園系統(tǒng)作為數(shù)字化校園的基礎(chǔ)部分,為整個(gè)校園提供了基本的消費(fèi)平臺(tái)。在該消費(fèi)平臺(tái)上存在著不同系統(tǒng)間的金融數(shù)據(jù)交互。這些金融數(shù)據(jù)在校園網(wǎng)的傳遞中必須要確保足夠的安全。本文針對(duì)校園卡系統(tǒng)的密鑰子系統(tǒng)進(jìn)行設(shè)計(jì),目的是確保校園卡系統(tǒng)金融數(shù)據(jù)的安全傳輸。
2 校園卡物理部署
2.1 系統(tǒng)簡介
校園卡服務(wù)器負(fù)責(zé)處理其他系統(tǒng)通過接口程序傳送上來的數(shù)據(jù)。其中大多數(shù)屬于金融信息數(shù)據(jù)。如:對(duì)消費(fèi)系統(tǒng)的上傳數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)、處理等操作。數(shù)據(jù)庫服務(wù)器用于存儲(chǔ)校園卡日常的消費(fèi)數(shù)據(jù)信息以及校園卡的相關(guān)數(shù)據(jù)信息。
交換機(jī)用于連接校園卡系統(tǒng)內(nèi)各個(gè)終端設(shè)備。
圈存機(jī)為系統(tǒng)提供銀行卡到校園卡的圈存轉(zhuǎn)賬等功能。
校園卡前置機(jī)為校園卡系統(tǒng)提供與銀行前置機(jī)之間的卡業(yè)務(wù)服務(wù),以完成指定金融交易。如:圈存、銀行卡余額查詢等功能。
銀行前置機(jī)提供與學(xué)校前置機(jī)之間的通信服務(wù),以完成指定交易。
銀行大機(jī)即銀行核心業(yè)務(wù)主機(jī)系統(tǒng)。
在校園卡服務(wù)器和校園卡前置機(jī)上分別運(yùn)行著兩個(gè)Socket 服務(wù)程序,用于處理校園卡系統(tǒng)設(shè)備間的數(shù)據(jù)包傳遞。數(shù)據(jù)包中包括基本的財(cái)務(wù)信息以及校園卡用戶的卡基本信息等。
2.2 校園卡系統(tǒng)中需要加密的部分
校園卡服務(wù)器與圈存機(jī)之間。校園卡前置機(jī)器與圈存機(jī)之間。校園卡服務(wù)器與校園卡前置機(jī)之間。POS 機(jī)消費(fèi)系統(tǒng)與校園卡服務(wù)器之間。校園卡前置機(jī)器與銀行前置機(jī)之間。
3 校園卡密鑰管理子系統(tǒng)方案介紹
3.1 密鑰介紹
在校園卡系統(tǒng)中,系統(tǒng)間傳遞的數(shù)據(jù)包的內(nèi)容由多個(gè)定義好的數(shù)據(jù)域組成,用于存儲(chǔ)系統(tǒng)運(yùn)行中的字段信息。其中,在不同的操作中會(huì)生成不同的數(shù)據(jù)域,有些域是要做適當(dāng)?shù)募用芴幚淼摹H纾涸趯W(xué)生進(jìn)行圈存和消費(fèi)操作時(shí)會(huì)輸入校園卡的密碼或是銀行卡的密碼,這些密碼在網(wǎng)絡(luò)中傳輸都是以密文的形式傳輸?shù)摹L貏e是在校園卡前置機(jī)發(fā)送數(shù)據(jù)包到銀行前置機(jī)、以及圈存機(jī)發(fā)送數(shù)據(jù)包到校園卡前置機(jī)的線路上,都需要對(duì)用戶的卡密碼進(jìn)行加密后傳輸。
為了確保數(shù)據(jù)在校園網(wǎng)內(nèi)傳遞、以及通過專線在銀行和學(xué)校傳遞的絕對(duì)安全,對(duì)密鑰的管理分為PKG 密鑰、PIN 密鑰、MAC 密鑰等幾類密鑰進(jìn)行管理。
PKG 密鑰:主要用于對(duì)在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包進(jìn)行加密時(shí)使用的密鑰。
PIN 密鑰:用于對(duì)網(wǎng)絡(luò)數(shù)據(jù)包中的密碼字段域進(jìn)行加密時(shí)使用的密鑰,在校園卡系統(tǒng)中,主要對(duì)校園卡在使用時(shí)輸入的校園卡密碼和銀行卡密碼進(jìn)行加密。
MAC 密鑰:MAC 算法是一種將數(shù)據(jù)校驗(yàn)算法和DES 算法相融合的非公開算法,主要用于判斷在網(wǎng)絡(luò)中兩個(gè)通訊設(shè)備間的接、發(fā)數(shù)據(jù)包的真?zhèn)?,以防止攻擊者?gòu)造虛假交易包而達(dá)到作案目的[2]。MAC 密鑰是計(jì)算MAC 校驗(yàn)值時(shí)所用到的密鑰。MAC 校驗(yàn)數(shù)值作為數(shù)據(jù)包的校驗(yàn)值保存到數(shù)據(jù)包的尾部。
校園卡系統(tǒng)的加密重點(diǎn)是在圈存到銀行前置機(jī)間的通訊數(shù)據(jù)包。因?yàn)樵摬糠种饕墓δ芫褪菍?shí)現(xiàn)銀行轉(zhuǎn)賬到校園卡,所以也是金融數(shù)據(jù)最集中部分。
校園卡系統(tǒng)采用國際成熟的三層密鑰體系的管理思想進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。
3.1.1 一級(jí):傳輸密鑰
用 PKG 密鑰、PIN 密鑰、MAC 密鑰進(jìn)行加密的操作對(duì)象都是校園卡系統(tǒng)網(wǎng)絡(luò)中涉及的金融交易數(shù)據(jù)包,屬于三級(jí)加密體系的第一級(jí),統(tǒng)稱為傳輸密鑰[2]。
3.1.2 二級(jí):交換密鑰
參照金融業(yè)界的數(shù)據(jù)加密標(biāo)準(zhǔn),在傳輸密鑰中PIN 密鑰和MAC 密鑰是兩個(gè)動(dòng)態(tài)變化的密鑰。密鑰根據(jù)實(shí)際要求可以隨時(shí)更換,校園卡系統(tǒng)會(huì)每日從銀行前置機(jī)器系統(tǒng)動(dòng)態(tài)的獲取隨機(jī)的PIN 密鑰和MAC 密鑰。這兩個(gè)密鑰值是不允許在網(wǎng)上明文傳送的,對(duì)這兩個(gè)密鑰進(jìn)行加密的密鑰稱為交換密鑰,它屬于三級(jí)加密體系的第二級(jí)[2]。
3.1.3 三級(jí):主密鑰
傳輸密鑰、交換密鑰都需要存儲(chǔ)起來,它們的存儲(chǔ)形式也不允許用明文保存,必須進(jìn)行加密,將傳輸密鑰、交換密鑰加密用于存儲(chǔ)時(shí)所用到的密鑰稱為主密鑰。主密鑰也稱為存儲(chǔ)密鑰,它屬于三級(jí)加密體系的第三級(jí)[1]。為避免攻擊者一旦竊得主密鑰即可獲得所有密鑰的情況發(fā)生,系統(tǒng)對(duì)主密鑰實(shí)行分散管理,即PK 密鑰、PIN 密鑰、MAC 密鑰、交換密鑰均有各自的主密鑰。
3.2 密鑰子系統(tǒng)結(jié)構(gòu)
一級(jí):明文通過PIN 密鑰加密數(shù)據(jù)包中的密碼信息,通過PKG 密鑰對(duì)數(shù)據(jù)包進(jìn)行加密,通過MAC 密鑰對(duì)數(shù)據(jù)包進(jìn)行驗(yàn)證信息生成;最終生成的數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸。
二級(jí):通過交換密鑰把在對(duì)網(wǎng)絡(luò)中傳輸?shù)腜IN 密鑰和MAC 密鑰進(jìn)行加密處理后生成在網(wǎng)絡(luò)中傳遞的PIN、MAC 的密文,用于在網(wǎng)絡(luò)中傳輸。
三級(jí):通過主密鑰對(duì)PKG 密鑰、PIN 密鑰、MAC 密鑰、交換密鑰進(jìn)行加密后保存在系特定的介質(zhì)中。如:IC 卡或系統(tǒng)本地。
在實(shí)際使用中為了加強(qiáng)密鑰系統(tǒng)的安全性,交換密鑰和主密鑰在使用時(shí)一般會(huì)使用多個(gè)針對(duì)不同的密鑰對(duì)需要加密的密鑰進(jìn)行加密,以增加加密過程的復(fù)雜度。所有密文在需要轉(zhuǎn)換成明文使用的時(shí)候,通過相應(yīng)的解密過程后,還原明文后使用。
4 校園卡密鑰管理子系統(tǒng)
在信息技術(shù)高度發(fā)達(dá)的校園中,系統(tǒng)的安全性設(shè)計(jì)應(yīng)充分考慮到各方面的因素,包括卡片、讀卡機(jī)具、應(yīng)用系統(tǒng)服務(wù)器、網(wǎng)絡(luò)數(shù)據(jù)傳輸、中心數(shù)據(jù)存儲(chǔ)、系統(tǒng)管理軟件、應(yīng)用系統(tǒng)軟件和運(yùn)行管理等[3]。而系統(tǒng)密鑰的安全是一卡通系統(tǒng)安全的基石。為保證數(shù)字化數(shù)字校園系統(tǒng)的正常、安全、穩(wěn)定的運(yùn)行,完備的密鑰管理系統(tǒng)是至關(guān)重要的。
系統(tǒng)采用標(biāo)準(zhǔn)的算法與加密方案對(duì)交易數(shù)據(jù)及IC 卡進(jìn)行認(rèn)證,而加解密的核心就是密鑰。根據(jù)現(xiàn)代加密理論,對(duì)公開算法的密鑰系統(tǒng)而言,系統(tǒng)的安全性取決于密鑰的安全性。本系統(tǒng)按照“金融級(jí)”的安全性標(biāo)準(zhǔn)設(shè)計(jì)密鑰管理系統(tǒng),以確保系統(tǒng)的安全核心——密鑰的絕對(duì)安全。
校園卡系統(tǒng)的服務(wù)程序?yàn)榱舜_保網(wǎng)絡(luò)的傳輸效率,建議最好采用C++或C 語言通過socket 技術(shù)實(shí)現(xiàn)。socket 服務(wù)程序在轉(zhuǎn)發(fā)數(shù)據(jù)包的時(shí)候完成加密過程。具體的密鑰管理由學(xué)校人員來保管,系統(tǒng)的交換密鑰和主密鑰由銀行提供,并且定期更新。在校園卡前置機(jī)每日定時(shí)動(dòng)態(tài)獲取當(dāng)日的PIN 密鑰和MAC 密鑰。由于校園卡系統(tǒng)在高校范圍內(nèi)使用廣泛,且校園的管理人員也比較繁雜。所以,系統(tǒng)在有安全技術(shù)保障的同時(shí),一定要有相應(yīng)的制度作為保障,確保密鑰管理的安全。在校園卡系統(tǒng)的實(shí)際密鑰管理系統(tǒng)中,密鑰的轉(zhuǎn)移和存儲(chǔ)對(duì)管理人員來說都是不可見的。做法是通過IC 射頻卡的數(shù)據(jù)存儲(chǔ)功能將各類密鑰保存在對(duì)應(yīng)的數(shù)據(jù)域中。用戶在使用密鑰的時(shí)候可以通過對(duì)IC 卡的讀取操作來更換系統(tǒng)的主密鑰、交換密鑰、傳輸密鑰的內(nèi)容。用于密鑰系統(tǒng)的IC 卡由專員保管,使用之后立即交回學(xué)?;蜚y行。確保了密鑰信息在校園內(nèi)部的有限是使用,也同時(shí)大大加強(qiáng)了密鑰系統(tǒng)的安全。
目前校園卡的建設(shè)的模式多采用多方合作的模式,與金融數(shù)據(jù)相關(guān)的單位為銀行和學(xué)校。有些校園卡系統(tǒng)對(duì)密鑰系統(tǒng)的管理是由銀行和學(xué)校共同的管理兩個(gè)不同的密鑰,兩個(gè)密鑰同時(shí)使用時(shí)才能將交換密鑰和傳輸密鑰等轉(zhuǎn)化明文后使用。
4.1 密鑰子系統(tǒng)的組成
在密鑰子系統(tǒng)中,通過將數(shù)據(jù)包加、解密函數(shù)封裝成window 平臺(tái)下的動(dòng)態(tài)鏈接庫的方式實(shí)現(xiàn)加、解密函數(shù)功能的簡單調(diào)用。
具體的子系統(tǒng)功能組成如下:
1.密鑰卡管理功能;
該功能提供 VC++系統(tǒng)開發(fā)出的操作頁面,在銀行端使用或是在學(xué)校端使用。用于存儲(chǔ)密鑰信息到IC 卡。
2. 密鑰分發(fā)功能;
在學(xué)校端使用,主要負(fù)責(zé)分發(fā)學(xué)校的密鑰到對(duì)應(yīng)的終端設(shè)備。
3. 圈存機(jī)密鑰獲取功能;
圈存機(jī)在每日簽到時(shí)獲取相應(yīng)的各類密鑰信息。
4. 動(dòng)態(tài)連接庫:
網(wǎng)絡(luò)傳輸數(shù)據(jù)包加、解密函數(shù)。
用戶卡密碼加、解密函數(shù)。
DES 加、解密函數(shù)。
MAC 校驗(yàn)碼生成函數(shù)。
傳輸密鑰加、解密函數(shù)。
交換密鑰加、解密函數(shù)。
主密鑰加、解密函數(shù)。
4.2 校園卡系統(tǒng)中加密部分說明
校園卡服務(wù)器與圈存機(jī)之間
采用 PIN 密鑰、PKG 密鑰、MAC 密鑰對(duì)數(shù)據(jù)包進(jìn)行加密。
校園前置機(jī)與圈存機(jī)之間
采用 PIN 密鑰、PKG 密鑰、MAC 密鑰對(duì)數(shù)據(jù)包進(jìn)行加密。
校園卡服務(wù)器與校園卡前置機(jī)之間
采用 PKG 密鑰對(duì)數(shù)據(jù)包進(jìn)行加密。
POS 機(jī)消費(fèi)系統(tǒng)與校園卡服務(wù)器之間。
通過 PKG 密鑰對(duì)數(shù)據(jù)包進(jìn)行加密
校園卡前置機(jī)與銀行前置機(jī)之間
通過 PIN 密鑰、PKG 密鑰、MAC 密鑰進(jìn)行數(shù)據(jù)加密;通過交換密鑰獲取PIN密鑰、MAC 密鑰。
IC 卡中保存的全部密鑰
使用主密鑰對(duì)PIN 密鑰、PKG 密鑰、MAC 密鑰;交換密鑰等加密保存。
5 結(jié)論
在校園卡的建設(shè)中,對(duì)金融數(shù)據(jù)在網(wǎng)絡(luò)中的保護(hù),主要是通過密鑰管理子系統(tǒng)來實(shí)現(xiàn)。實(shí)施證明在當(dāng)今技術(shù)飛速發(fā)展的高校內(nèi),對(duì)金融數(shù)據(jù)的保護(hù)是十分必要的。無論是學(xué)校還是銀行都應(yīng)該重視這方面的工作。