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