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