學(xué)生ic卡業(yè)務(wù)管理方法
【專利摘要】本發(fā)明提供了一種學(xué)生IC卡業(yè)務(wù)管理方法,該方法包括:將兩個密鑰種子串聯(lián)形成系統(tǒng)根密鑰,保存到根密鑰基礎(chǔ)卡密鑰文件中;由所述根密鑰基礎(chǔ)卡派生出IC基礎(chǔ)卡,由IC基礎(chǔ)卡提供密鑰,對學(xué)生IC卡進(jìn)行初始化和寫卡操作。本發(fā)明提出了一種學(xué)生IC卡業(yè)務(wù)管理方法,在卡片功能性和安全性上有很大提升,保證了學(xué)生在?;顒又斜憷裕岣吡私逃块T的工作效率和信息化水平。
【專利說明】
學(xué)生IC卡業(yè)務(wù)管理方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及IC卡,特別涉及一種學(xué)生IC卡業(yè)務(wù)管理方法。
【背景技術(shù)】
[0002]在物聯(lián)網(wǎng)發(fā)展過程中,IC卡技術(shù)是識別終端物體的技術(shù),是應(yīng)用最為廣泛的技術(shù)。加密IC卡有易攜帶、兼容性好、超大容量、非常穩(wěn)定等特點?,F(xiàn)在電子商務(wù)、電子政務(wù)逐漸成為互聯(lián)網(wǎng)時代最為流行的應(yīng)用領(lǐng)域的時候,其安全問題變得最為突出。在制造、物流、金融、交通、旅游等很多領(lǐng)域都使用了加密IC卡技術(shù),極大地提高了人們的工作效率,更方便了人們的生活。在教育系統(tǒng)中,所有的職工和學(xué)生用學(xué)生IC卡在學(xué)校出入、活動、消費、注冊,還可以通過學(xué)校的終端來進(jìn)行銀行卡到學(xué)生IC卡的轉(zhuǎn)賬,大大方便了教職工及學(xué)生的生活和學(xué)習(xí),同時也提高了學(xué)校各個部門的工作效率和信息化水平。學(xué)生IC卡系統(tǒng)是學(xué)校管理決策補充系統(tǒng)的功能,是校園信息化采集的重要手段。然而加密IC卡的功能無法滿足日益增長的需要,尤其是加密IC卡的片上系統(tǒng)亟待從功能性和安全性上進(jìn)行提升。
【發(fā)明內(nèi)容】
[0003]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種學(xué)生IC卡業(yè)務(wù)管理方法,包括:
[0004]將兩個密鑰種子串聯(lián)形成系統(tǒng)根密鑰,保存到根密鑰基礎(chǔ)卡密鑰文件中;由所述根密鑰基礎(chǔ)卡派生出IC基礎(chǔ)卡,由IC基礎(chǔ)卡提供密鑰,對學(xué)生IC卡進(jìn)行初始化和寫卡操作。
[0005]優(yōu)選地,所述初始化進(jìn)一步包括以下過程,IC卡出廠設(shè)置有根目錄及卡片主控密鑰,由IC基礎(chǔ)卡提供密鑰:
[0006]I)認(rèn)證IC卡初始主控密鑰;
[0007]2)擦除根目錄并重建,建立密鑰文件;
[0008]3)驗證IC基礎(chǔ)卡及認(rèn)證卡口令,并用認(rèn)證卡對基礎(chǔ)卡進(jìn)行認(rèn)證;
[0009]4)將IC卡序列號導(dǎo)入基礎(chǔ)卡,由基礎(chǔ)卡明文劃分導(dǎo)出該IC卡子控制密鑰,密文劃分方式導(dǎo)出該IC卡子保護(hù)密鑰;
[0010]5)將IC卡子控制密鑰以明文方式寫入IC卡根目錄下密鑰文件中;
[0011]6)將IC卡子保護(hù)密鑰以卡片子控制密鑰做加密保護(hù)寫入IC卡根目錄下密鑰文件中;
[0012]7)建立并寫入根目錄下各數(shù)據(jù)文件及應(yīng)用目錄;
[0013]并且,所述IC卡的寫卡過程進(jìn)一步包括:
[0014]I)在卡片子保護(hù)密鑰的保護(hù)下更新根目錄下數(shù)據(jù)文件;
[0015]2)將卡序列號傳給加密器,在加密器內(nèi)部產(chǎn)生該IC卡片子控制密鑰;
[0016]3)在所述應(yīng)用目錄下創(chuàng)建密鑰文件,并在卡片子控制密鑰的保護(hù)下將應(yīng)用子控制密鑰寫入密鑰文件;
[0017]4)在加密器內(nèi)部產(chǎn)生該IC卡應(yīng)用子保護(hù)密鑰,并用應(yīng)用子控制密鑰加密傳出;
[0018]5)在IC卡上將應(yīng)用子保護(hù)密鑰寫入密鑰文件;
[0019]6)在加密器內(nèi)部用該IC卡應(yīng)用子控制密鑰對主密鑰進(jìn)行加密傳出;
[0020]7)在IC卡上將主密鑰寫入密鑰文件;
[0021 ] 8)建立并寫入應(yīng)用目錄下各數(shù)據(jù)文件。
[0022]優(yōu)選地,所述明文和密文的劃分進(jìn)一步包括:
[0023]將一個16字節(jié)的雙長度的主密鑰MK處理8字節(jié)長度的劃分?jǐn)?shù)據(jù),從中推導(dǎo)出一個16字節(jié)雙長度的子密鑰DK;使用主密鑰MK對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行AES加密運算;對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行求反得到輸入數(shù)據(jù),然后用主密鑰DK對輸入數(shù)據(jù)進(jìn)行AES加密運算。
[0024]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0025]本發(fā)明提出了一種學(xué)生IC卡業(yè)務(wù)管理方法,在卡片功能性和安全性上有很大提升,保證了學(xué)生在校活動中便利性,提高了教育部門的工作效率和信息化水平。
【附圖說明】
[0026]圖1是根據(jù)本發(fā)明實施例的學(xué)生IC卡業(yè)務(wù)管理方法的流程圖。
【具體實施方式】
[0027]下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細(xì)描述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0028]本發(fā)明的一方面提供了一種學(xué)生IC卡業(yè)務(wù)管理方法。圖1是根據(jù)本發(fā)明實施例的學(xué)生IC卡業(yè)務(wù)管理方法流程圖。
[0029]本發(fā)明是對非接觸式CPU加密學(xué)生IC卡的片上系統(tǒng)的密鑰系統(tǒng)和安全體系架構(gòu)的實現(xiàn),提出文件的安全管理機(jī)制和認(rèn)證與鑒別過程。
[0030]加密IC卡的內(nèi)部結(jié)構(gòu)有CPU,控制存儲器和接口XPU負(fù)責(zé)執(zhí)行命令和運算,控制存儲器包括隨機(jī)存儲器RAM、只讀存儲器ROM及電可擦除程序存儲器EEPROM,EEPROM用來存儲發(fā)卡方和持卡方的有關(guān)信息及應(yīng)用數(shù)據(jù),接口則是卡片與外部通信的端口。
[0031]加密IC卡的軟件體系結(jié)構(gòu)是由以下四個功能單元構(gòu)成的。通信管理單元管理卡片與讀卡器之間的數(shù)據(jù)通信,確保數(shù)據(jù)傳輸?shù)耐暾?安全管理單元是對要傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密,加密IC卡的鑒別,控制文件的訪問控制權(quán);指令解釋單元是對從外部收到的指令判斷完整性并調(diào)用其他的單元做進(jìn)一步處理,最后將處理結(jié)構(gòu)返回給通信管理單元,文件管理單元管理對各種文件的創(chuàng)建和讀寫。
[0032]學(xué)生IC卡的片上系統(tǒng)調(diào)度和分配好軟件和硬件資源,對加密IC卡的片上系統(tǒng)進(jìn)行初始化及指令的處理。從卡片上電開始,打開卡片接口等待數(shù)據(jù)的接收,然后進(jìn)入循環(huán)接收數(shù)據(jù)的過程,不斷詢問是否接收到讀卡器發(fā)送來的選擇指令,如果收到了有效地選擇指令,則片上系統(tǒng)初始化執(zhí)行環(huán)境,初始化文件系統(tǒng),選擇根目錄主文件,然后主進(jìn)程向通信傳輸單元發(fā)送應(yīng)答選擇信號,讀卡器收到片上系統(tǒng)已經(jīng)初始化的返回響應(yīng),卡片就會被選中。通信傳輸單元打開數(shù)據(jù)輸入輸出端口,按照通訊協(xié)議將塊數(shù)據(jù)組合起來形成完整的數(shù)據(jù)放入收發(fā)緩沖區(qū),并對數(shù)據(jù)塊進(jìn)行判斷其完整性。通信傳輸單元接收完數(shù)據(jù)后,將其傳輸給指令解釋單元,這時加密IC卡的片上系統(tǒng)就會啟動命令處理流程。等指令處理單元處理完畢,通信傳輸單元就會將處理的結(jié)果返回給讀卡器。流程會循環(huán)等待消息的接收,然后再進(jìn)行指令的處理,在上電后一次處理多條的指令。
[0033]加密IC卡與讀卡器是以指令的形式來通信的,讀卡器發(fā)出指令,加密IC卡接收指令,這種采用指令應(yīng)答的方式,處理完接收的指令后返回應(yīng)答結(jié)果。在學(xué)生IC卡的系統(tǒng)架構(gòu)中,指令處理單元由指令處理器和指令解釋器兩部分組成,指令解釋器從傳輸單元接收到指令數(shù)據(jù)后,將調(diào)用指令處理器并負(fù)責(zé)對指令處理環(huán)境的判斷,如果指令處理器在正常狀態(tài)下,指令處理器就會啟動并根據(jù)指令映射入口,然后執(zhí)行相應(yīng)的操作和返回結(jié)果。
[0034]命令處理分為命令解釋和命令處理,命令解釋部分是用來查看卡片狀態(tài)、更新數(shù)據(jù)狀態(tài)、應(yīng)用狀態(tài)和更新隨機(jī)數(shù)。然后進(jìn)入命令處理部分,根據(jù)尋找指令執(zhí)行入口,調(diào)用其他單元進(jìn)行相應(yīng)的操作。
[0035]在數(shù)據(jù)I/O方面,使用塊鏈方式來傳輸數(shù)據(jù),收發(fā)的數(shù)據(jù)存儲在長256字節(jié)長的RAM中,數(shù)據(jù)塊分為三部分,包括開始域、信息域和結(jié)束域。開始域由卡標(biāo)識符、協(xié)議控制字、節(jié)點地址NAD構(gòu)成。信息域包含的是命令數(shù)據(jù)。結(jié)束域包含的是差錯檢測碼,是開始域和信息域的校驗結(jié)果。
[0036]系統(tǒng)應(yīng)用數(shù)據(jù)的I/O流程進(jìn)一步包括:系統(tǒng)接受到數(shù)據(jù)后將數(shù)據(jù)傳給命令層,命令層就根據(jù)命令處理流程來處理并產(chǎn)生應(yīng)答數(shù)據(jù),這些數(shù)據(jù)將被放在收發(fā)緩沖區(qū)中,然后主進(jìn)程調(diào)用傳輸單元,開始數(shù)據(jù)發(fā)送流程,通信傳輸單元打開數(shù)據(jù)發(fā)送端口,檢查數(shù)據(jù)并判斷發(fā)送方式,如果不進(jìn)行塊鏈發(fā)送,就組裝數(shù)據(jù)塊并加入?yún)f(xié)議控制字和卡標(biāo)識符發(fā)送出去;如果以塊鏈方式發(fā)送,則先計算塊鏈個數(shù),以最大長度數(shù)據(jù)塊組裝發(fā)送出去,然后循環(huán)組裝和發(fā)送直至數(shù)據(jù)全部發(fā)送出去。
[0037]片上系統(tǒng)的文件系統(tǒng)采用樹狀結(jié)構(gòu)進(jìn)行分層管理,各目錄間獨立。文件系統(tǒng)分為根目錄、對象目錄和應(yīng)用目錄文件這三級目錄。卡片的文件存儲就是把邏輯結(jié)構(gòu)的文件映射到EEPROM內(nèi)。卡內(nèi)存儲結(jié)構(gòu)包括:單個文件的存儲和文件鏈的存儲。
[0038]單個文件的存儲指的是單個文件對象在卡內(nèi)的數(shù)據(jù)結(jié)構(gòu),用來對單個文件的存儲和管理。單個文件的存儲分為兩個部分。文件描述塊用來記錄文件的屬性等信息,包含了對應(yīng)用文件的描述,由片上系統(tǒng)來管理和維護(hù)。文件體是文件的數(shù)據(jù)信息部分。對于對象目錄文件,文件體包含了所有子文件對象信息;對于應(yīng)用目錄文件,文件體包含了實際的應(yīng)用數(shù)據(jù)。文件體是文件系統(tǒng)管理的具體對象。
[0039]文件鏈在邏輯上也是樹狀結(jié)構(gòu)。文件鏈只實現(xiàn)單向的搜索功能。實現(xiàn)文件鏈包括:
[0040]文件的初始入口,卡片上電復(fù)位后自動選擇根目錄,然后進(jìn)入文件系統(tǒng);同層次文件的關(guān)系,用來維護(hù)同層次文件的關(guān)系;對象目錄文件和子文件的關(guān)系。用來維護(hù)前后層次直接的關(guān)系。
[0041 ]根目錄文件的起始地址在片上系統(tǒng)中預(yù)先指定,如EEPROM的第一個或第N個數(shù)據(jù)塊當(dāng)做根目錄文件描述塊的起始地址,當(dāng)根目錄自動被選擇則從指定地址進(jìn)入。同一層下的文件都是按照文件創(chuàng)建時間先后在存儲器空間上連續(xù)存儲的,同層次文件的文件鏈與父子層的文件鏈有顯式連接和隱式連接兩種。
[0042]顯式連接是指在文件描述塊中記錄同層次下的下一個文件的地址,在遍歷文件時就使用這個指針來訪問。在對象目錄文件中,文件描述塊記錄子層上第一個文件的起始地址,這樣就可以把不同層的文件鏈連起來。
[0043]隱式鏈接中不同關(guān)系的文件由加密IC卡的片上系統(tǒng)來定義和解釋定位的方式,通常就是存儲空間按塊來連續(xù)分配,各文件之間則沒有空閑的文件數(shù)據(jù)塊,塊的起始地址就當(dāng)做文件的起始地址,子文件的空間從父文件的起始地址開始分配,只要通過文件描述塊記錄的文件大小就能計算出下一個文件的起始地址,然后遍歷文件。
[0044]文件的空間結(jié)構(gòu)分為文件描述塊的空間結(jié)構(gòu)和文件體的空間結(jié)構(gòu)。所以根目錄和對象目錄可以設(shè)計為相同的文件空間結(jié)構(gòu)。主文件根目錄是文件系統(tǒng)的根目錄,在文件系統(tǒng)中有且只有一個,根目錄文件在初始化時首先被創(chuàng)建,并在整個卡片生存期間都有效。
[0045]透明二進(jìn)制文件是學(xué)生IC卡文件系統(tǒng)里面最基礎(chǔ)的文件,其空間結(jié)構(gòu)的文件描述塊中控制字為OxFF,文件體則存儲連續(xù)的字節(jié)流。
[0046]本發(fā)明設(shè)計的學(xué)生IC卡的片上系統(tǒng)安全體系包括:狀態(tài)機(jī)單元、安全屬性單元、安全機(jī)制單元、密碼算法單元四部分組成。
[0047]狀態(tài)機(jī)單元也叫做安全狀態(tài)單元,它是指卡片當(dāng)前所處的安全級別。加密IC卡的片上系統(tǒng)用一個寄存器來存儲當(dāng)前的安全狀態(tài),寄存器的低四位表示當(dāng)前應(yīng)用的安全狀態(tài),高四位表示根目錄的安全狀態(tài)。安全屬性就是進(jìn)行某種文件操作需要達(dá)到的條件,而這種條件就是文件訪問時的權(quán)限,權(quán)限在文件建立時就設(shè)定好的。加密IC卡的片上系統(tǒng)的訪問權(quán)限是用一個區(qū)間來描述的。如果文件的讀的權(quán)限是LR,則當(dāng)前應(yīng)用的安全狀態(tài)要滿足的條件是:L>M>R;如果設(shè)定文件禁止被訪問的權(quán)限,則定義當(dāng)前的安全屬性LR滿足L>R。
[0048]片上系統(tǒng)通過外部認(rèn)證和驗證口令兩種方式來改變安全狀態(tài),在應(yīng)用文件目錄下只能用驗證口令方式改變。任何一種安全狀態(tài)可以跳轉(zhuǎn)到另外一種安全狀態(tài)。如果目錄更改了,則安全狀態(tài)置為0,在新的目錄下,創(chuàng)建密鑰文件不受目錄創(chuàng)建權(quán)限的限制,在密鑰文件中,裝載第一個密鑰同樣不受該機(jī)制約束。
[0049]片上系統(tǒng)采用以下兩種對稱密鑰加密算法之一。
[0050]I)首先,把密文分割成多段的64位的明文,進(jìn)行逐段的加密,接著做與密鑰無關(guān)的初始變換處理,然后對變換的結(jié)構(gòu)進(jìn)行總共16次的迭代,每次用不同的56位的密鑰進(jìn)行相同的迭代,每次迭代完后,密鑰的左28位和右28位都循環(huán)移位,形成下一次的密鑰,當(dāng)16次迭代完之后,把結(jié)果的左32位和右32位互換位置,最后,再把結(jié)果進(jìn)行一次還原變換就得到64位的密文,還原變換就是初始變換的逆變換。
[0051 ] 2)利用K代表AES算法中的不同的密鑰,X代表明文,Y代表密文,因此用公式表示為:
[0052]加密過程:Y=AES(KL)[AES^1(KR) [AES(KL[X])]]
[0053]解密過程:X=AES-1(KL) [AES(KR) [AES—HKL[Y])]]
[0054]其中AESO表示AES算法的加密過程;AES—1O表示AES算法的解密過程;
[0055]文件的安全屬性表現(xiàn)在對文件的操作和訪問的控制方式上。對文件的操作方式就是在文件創(chuàng)建的時候定義允許對文件進(jìn)行哪些操作,比如文件的創(chuàng)建、刪除、讀和寫操作,而對于密鑰文件來說,是不能定義讀操作的。訪問的控制方式就是在對文件進(jìn)行訪問時必須滿足規(guī)定的訪問權(quán)限。
[0056]為了保證加密IC卡和外部信息傳輸?shù)陌踩?,加密IC卡的片上系統(tǒng)還提供安全報文傳送,安全報文傳送可以對數(shù)據(jù)的完整性、可靠性及發(fā)送方的認(rèn)證。利用消息認(rèn)證碼保證數(shù)據(jù)的完整性和對發(fā)送方的認(rèn)證,對信息域的加密則保證了數(shù)據(jù)的可靠性。
[0057]消息認(rèn)證碼是密鑰和消息內(nèi)容公開的函數(shù),而且輸出為定長的數(shù)據(jù)塊。假設(shè)I為消息內(nèi)容,K為密鑰,M為生成消息認(rèn)證碼的算法,則消息認(rèn)證碼MAC = M(I,K)。只有在I完全相同的情況下,才會生產(chǎn)相同的消息認(rèn)證碼值,所以消息認(rèn)證碼可以鑒別報文的完整性。安全報文的傳送有以下兩種方式:
[0058](I)發(fā)送方先對數(shù)據(jù)進(jìn)行消息認(rèn)證碼運算得到4字節(jié)的消息認(rèn)證碼值,將其附加在數(shù)據(jù)的后面并傳送給接收方,接收方收到后也對數(shù)據(jù)進(jìn)行消息認(rèn)證碼運算得到消息認(rèn)證碼值,并與附在數(shù)據(jù)后面的消息認(rèn)證碼值進(jìn)行比較,如果相同則接收數(shù)據(jù)。
[0059](2)發(fā)送數(shù)據(jù)前先對數(shù)據(jù)進(jìn)行AES加密形成密文,然后對密文進(jìn)行消息認(rèn)證碼運算得到消息認(rèn)證碼值,數(shù)據(jù)在接收后先對密文進(jìn)行消息認(rèn)證碼運算得到消息認(rèn)證碼值并與發(fā)送方的消息認(rèn)證碼值進(jìn)行比較,如果相同則接收并進(jìn)行AES解密得到明文。
[0060]為了驗證卡片用戶的合法性,本發(fā)明采用個人口令的方式來驗證使用者的身份信息的,加密IC卡中對應(yīng)有驗證指令,驗證指令的使用是通過驗證用戶輸入的密碼完整性來確定卡片用戶的合法性。當(dāng)個人口令完成輸入后,如果密碼正確,改變安全狀態(tài)寄存器的值作為口令密鑰的安全狀態(tài),并重新設(shè)置口令錯誤計數(shù)器;如果密碼不正確,就將口令允許錯誤的次數(shù)減去I,但是如果輸入錯誤密碼次數(shù)超過允許的次數(shù),則個人密碼將被鎖定,被鎖定的密碼只能通過解鎖指令恢復(fù)。
[0061 ]驗證個人口令的過程如下:首先卡片用戶通過鍵盤輸入個人口令,然后讀卡器對其進(jìn)行編碼發(fā)給卡片,收到指令后就對數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行消息認(rèn)證碼驗證并解密,如果將得到的個人密碼與文件中存儲的個人密碼對比,結(jié)果一致的話則將安全狀態(tài)設(shè)置為個人口令的安全狀態(tài)并重置錯誤計數(shù)器,返回密碼驗證成功的代碼。
[0062]讀卡器對加密IC卡認(rèn)證時,讀卡器和加密IC卡通過內(nèi)部授權(quán)指令來進(jìn)行內(nèi)部認(rèn)證,讀卡器內(nèi)部產(chǎn)生隨機(jī)數(shù)及存儲的密鑰可以進(jìn)行數(shù)據(jù)認(rèn)證。認(rèn)證的過程是:首先加密IC卡中的密鑰對需要認(rèn)證的數(shù)據(jù)進(jìn)行AES加密得到鑒別數(shù)據(jù),然后將鑒別數(shù)據(jù)作為應(yīng)答數(shù)據(jù)返回給讀卡器進(jìn)行AES解密并與鑒別數(shù)據(jù)進(jìn)行比較驗證。
[0063]通過卡片驗證讀卡器時,認(rèn)證的過程是:讀卡器先產(chǎn)生隨機(jī)數(shù),然后通過外部認(rèn)證密鑰進(jìn)行加密,再按照外部命令編碼格式發(fā)給加密IC卡,加密IC卡用相應(yīng)密鑰對數(shù)據(jù)解密并與存儲的隨機(jī)數(shù)對比,相同則認(rèn)證通過,如果不同,則認(rèn)證失敗,返回錯誤代碼。
[0064]密鑰管理分為兩個部分:一部分是由銀行方面來負(fù)責(zé)密鑰的產(chǎn)生和管理,另一部分是由學(xué)校方的密鑰系統(tǒng)來產(chǎn)生和管理。
[0065]密鑰管理體系中有專用密鑰、管理密鑰、共享密鑰三種。加密IC卡生成專用密鑰和共享密鑰,存儲于加密IC基礎(chǔ)卡中,用來進(jìn)行校園消費,加密IC卡還能生成用于其它交易的保護(hù)密鑰。管理密鑰可分為保護(hù)密鑰和認(rèn)證密鑰,前者用于加密IC卡的加密保護(hù),后者用于對讀卡器認(rèn)證。
[0066]在傳送前將密鑰劃分到不同區(qū)域,在密鑰被截取的情況下,依然可以通過該算法來找回密鑰。密鑰劃分算法是將一個16字節(jié)的雙長度的主密鑰MK用來處理8字節(jié)長度的劃分?jǐn)?shù)據(jù),從中推導(dǎo)出一個16字節(jié)雙長度的子密鑰DK。
[0067]子密鑰DK的左邊部分的推導(dǎo)為:使用主密鑰MK對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行AES加密運算;推導(dǎo)子密鑰DK右半部分的過程是:先對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行求反得到輸入數(shù)據(jù),然后用主密鑰DK對輸入數(shù)據(jù)進(jìn)行AES加密運算。
[0068]在根密鑰產(chǎn)生過程中,首先,由學(xué)校輸入16位種子A和種子B,將種子A和B分別進(jìn)行壓縮并進(jìn)行串聯(lián)形成系統(tǒng)根密鑰,并以明文劃分導(dǎo)出密鑰形式保存到IC卡密鑰文件中,此卡即為密鑰基礎(chǔ)卡,其他所有卡片密鑰均由此基礎(chǔ)卡派生。為防止基礎(chǔ)卡損壞,種子A和B也應(yīng)做備份保存,以便重新生成基礎(chǔ)卡。
[0069]本發(fā)明采用兩級基礎(chǔ)卡密鑰體系,根密鑰基礎(chǔ)卡,再由根密鑰基礎(chǔ)卡派生出IC基礎(chǔ)卡。
[°07°] 在寫基礎(chǔ)卡的同時寫卡其認(rèn)證卡,基礎(chǔ)卡和基礎(chǔ)卡認(rèn)證卡在使用時均須輸入口令,口令通過后,基礎(chǔ)卡在經(jīng)過認(rèn)證卡認(rèn)證后方可支持導(dǎo)出密鑰功能。
[0071]IC卡出廠設(shè)置有根目錄及一個卡片主控密鑰,即卡片主控密鑰,初始化過程只能在安全區(qū)域完成。初始化由IC基礎(chǔ)卡提供密鑰,流程如下:
[0072]I)認(rèn)證IC卡初始主控密鑰;
[0073]2)擦除根目錄并重建,建立密鑰文件,長度要能保存2個16字節(jié)密鑰;
[0074]3)驗證IC基礎(chǔ)卡及認(rèn)證卡口令,并用認(rèn)證卡對基礎(chǔ)卡進(jìn)行認(rèn)證;
[0075]4)將IC卡序列號導(dǎo)入基礎(chǔ)卡,由基礎(chǔ)卡明文劃分導(dǎo)出該IC卡子控制密鑰,密文劃分方式導(dǎo)出該IC卡子保護(hù)密鑰;
[0076]5)將IC卡子控制密鑰以明文方式寫入IC卡根目錄下密鑰文件中;
[0077]6)將IC卡子保護(hù)密鑰以卡片子控制密鑰做加密保護(hù)寫入IC卡根目錄下密鑰文件中;
[0078]7)建立并寫入根目錄下各數(shù)據(jù)文件及應(yīng)用目錄。
[0079]IC卡寫卡,連接加密器,密鑰明文只能在加密器中出現(xiàn),流程如下:
[0080]I)在卡片子保護(hù)密鑰的保護(hù)下更新根目錄下數(shù)據(jù)文件;
[0081]2)將卡序列號傳給加密器,在加密器內(nèi)部產(chǎn)生該IC卡片子控制密鑰;
[0082]3)在所述應(yīng)用目錄下創(chuàng)建密鑰文件,并在卡片子控制密鑰的保護(hù)下將應(yīng)用子控制密鑰寫入密鑰文件;
[0083]4)在加密器內(nèi)部產(chǎn)生該IC卡應(yīng)用子保護(hù)密鑰,并用應(yīng)用子控制密鑰加密傳出;
[0084]5)在IC卡上將應(yīng)用子保護(hù)密鑰寫入密鑰文件;
[0085]6)在加密器內(nèi)部用該IC卡應(yīng)用子控制密鑰對主密鑰進(jìn)行加密傳出;
[0086]7)在IC卡上將主密鑰寫入密鑰文件;
[0087]8)建立并寫入應(yīng)用目錄下各數(shù)據(jù)文件。
[0088]綜上所述,本發(fā)明提出了一種學(xué)生IC卡業(yè)務(wù)管理方法,在卡片功能性和安全性上有很大提升,保證了學(xué)生在?;顒又斜憷裕岣吡私逃块T的工作效率和信息化水平。
[0089]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各單元或各步驟可以用通用的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0090]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權(quán)項】
1.一種學(xué)生IC卡業(yè)務(wù)管理方法,其特征在于,包括: 將兩個密鑰種子串聯(lián)形成系統(tǒng)根密鑰,保存到根密鑰基礎(chǔ)卡密鑰文件中;由所述根密鑰基礎(chǔ)卡派生出IC基礎(chǔ)卡,由IC基礎(chǔ)卡提供密鑰,對學(xué)生IC卡進(jìn)行初始化和寫卡操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述初始化進(jìn)一步包括以下過程,IC卡出廠設(shè)置有根目錄及卡片主控密鑰,由IC基礎(chǔ)卡提供密鑰: 1)認(rèn)證IC卡初始主控密鑰; 2)擦除根目錄并重建,建立密鑰文件; 3)驗證IC基礎(chǔ)卡及認(rèn)證卡口令,并用認(rèn)證卡對基礎(chǔ)卡進(jìn)行認(rèn)證; 4)將IC卡序列號導(dǎo)入基礎(chǔ)卡,由基礎(chǔ)卡明文劃分導(dǎo)出該IC卡子控制密鑰,密文劃分方式導(dǎo)出該IC卡子保護(hù)密鑰; 5)將IC卡子控制密鑰以明文方式寫入IC卡根目錄下密鑰文件中; 6)將IC卡子保護(hù)密鑰以卡片子控制密鑰做加密保護(hù)寫入IC卡根目錄下密鑰文件中; 7)建立并寫入根目錄下各數(shù)據(jù)文件及應(yīng)用目錄; 并且,所述IC卡的寫卡過程進(jìn)一步包括: 1)在卡片子保護(hù)密鑰的保護(hù)下更新根目錄下數(shù)據(jù)文件; 2)將卡序列號傳給加密器,在加密器內(nèi)部產(chǎn)生該IC卡片子控制密鑰; 3)在所述應(yīng)用目錄下創(chuàng)建密鑰文件,并在卡片子控制密鑰的保護(hù)下將應(yīng)用子控制密鑰寫入密鑰文件; 4)在加密器內(nèi)部產(chǎn)生該IC卡應(yīng)用子保護(hù)密鑰,并用應(yīng)用子控制密鑰加密傳出; 5)在IC卡上將應(yīng)用子保護(hù)密鑰寫入密鑰文件; 6)在加密器內(nèi)部用該IC卡應(yīng)用子控制密鑰對主密鑰進(jìn)行加密傳出; 7)在IC卡上將主密鑰寫入密鑰文件; 8)建立并寫入應(yīng)用目錄下各數(shù)據(jù)文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述明文和密文的劃分進(jìn)一步包括: 將一個16字節(jié)的雙長度的主密鑰MK處理8字節(jié)長度的劃分?jǐn)?shù)據(jù),從中推導(dǎo)出一個16字節(jié)雙長度的子密鑰DK;使用主密鑰MK對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行AES加密運算;對16位長度的劃分?jǐn)?shù)據(jù)進(jìn)行求反得到輸入數(shù)據(jù),然后用主密鑰DK對輸入數(shù)據(jù)進(jìn)行AES加密運算。
【文檔編號】G06K7/10GK105893830SQ201610196614
【公開日】2016年8月24日
【申請日】2016年3月31日
【發(fā)明人】劉林
【申請人】成都銀事達(dá)信息技術(shù)有限公司