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