一種基于stk菜單對軟件進(jìn)行授權(quán)的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能卡檢測技術(shù)領(lǐng)域,尤其涉及一種基于STK菜單對軟件進(jìn)行授權(quán)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]智能卡(Smart Card),內(nèi)嵌有微芯片的塑料卡(通常是一張信用卡的大小)的通稱。一些智能卡包含一個RFID芯片,所以它們不需要與讀寫器的任何物理接觸就能夠識別持卡人。智能卡配備有CPU和RAM,可自行處理數(shù)量較多的數(shù)據(jù)而不會干擾到主機(jī)CPU的工作。智能卡還可過濾錯誤的數(shù)據(jù),以減輕主機(jī)CPU的負(fù)擔(dān)。適應(yīng)于端口數(shù)目較多且通信速度需求較快的場合??▋?nèi)的集成電路包括中央處理器CPU、可編程只讀存儲器EEPROM、隨機(jī)存儲器RAM和固化在只讀存儲器ROM中的卡內(nèi)操作系統(tǒng)COS(Chip Operating System)??ㄖ袛?shù)據(jù)分為外部讀取和內(nèi)部處理部分。
[0003]隨著智能卡的廣泛使用,對智能卡的要求也越來越高,同時智能卡需要進(jìn)行授權(quán)以輔助管理生產(chǎn)數(shù)據(jù),因此,對智能卡的授權(quán)方式也多種,目前常用的是軟件授權(quán)方式對智能卡進(jìn)行授權(quán),現(xiàn)有的軟件授權(quán)方法可在多個領(lǐng)域普遍應(yīng)用,但在智能卡領(lǐng)域,由于智能卡軟件均需要使用到智能卡讀卡器,同時,智能卡本身又是非常安全的,因此可使用智能卡對軟件進(jìn)行授權(quán),此種方法可以提高軟件授權(quán)的安全性,能夠避免被破解和復(fù)制。
[0004]然而現(xiàn)有的軟件授權(quán)方式,由于僅通過軟件識別碼及相對應(yīng)的主金鑰對軟件進(jìn)行加密保護(hù),對智能卡進(jìn)行通過軟件識別碼及相對應(yīng)的主金鑰進(jìn)行解密。雖然實(shí)現(xiàn)了授權(quán),但由于安全性較低,導(dǎo)致了軟件加密算法的安全性遠(yuǎn)遠(yuǎn)不如硬件,極易被破解的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種基于STK菜單對軟件進(jìn)行授權(quán)的方法及系統(tǒng),解決了現(xiàn)有的軟件授權(quán)方式由于安全性較低,軟件加密算法的安全性遠(yuǎn)遠(yuǎn)不如硬件,極易被破解的技術(shù)問題。
[0006]本發(fā)明實(shí)施例中提供的一種基于STK菜單對軟件進(jìn)行授權(quán)的方法,包括:
[0007]按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,并獲取瀏覽所述智能卡的STK菜單權(quán)限;
[0008]向所述智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);
[0009]判斷與所述授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則對所述智能卡進(jìn)行授權(quán)處理,并將授權(quán)后的所述智能卡的所述ICCID進(jìn)行儲存。
[0010]優(yōu)選地,向所述智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù)具體包括:
[0011]向所述智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);
[0012]判斷所述可授權(quán)次數(shù)是否大于0,若是,則提取起始授權(quán)的所述智能卡對應(yīng)的起始ICCID,以及預(yù)置的智能卡已授權(quán)數(shù)量。
[0013]優(yōu)選地,判斷與所述授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則對所述智能卡進(jìn)行授權(quán)處理,并將授權(quán)后的所述智能卡的所述ICCID進(jìn)行儲存具體包括:
[0014]判斷與所述授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則向所述智能卡發(fā)送所述STK指令,寫入剩余授權(quán)次數(shù),授權(quán)后的所述智能卡對應(yīng)的所述ICCID和所述智能卡已授權(quán)數(shù)量;
[0015]將授權(quán)后的所有所述ICCID進(jìn)行本地儲存;
[0016]其中,所述剩余授權(quán)次數(shù)為所述可授權(quán)次數(shù)和所述智能卡已授權(quán)數(shù)量的差值。
[0017]優(yōu)選地,將授權(quán)后的所述ICCID進(jìn)行本地儲存之后還包括:
[0018]通過調(diào)用操作動態(tài)庫按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,以獲取瀏覽所述智能卡的所述STK菜單權(quán)限;
[0019]通過所述操作動態(tài)庫向所述智能卡發(fā)送所述STK指令,獲取授權(quán)后的所述智能卡對應(yīng)的所述起始ICCID和所述智能卡已授權(quán)數(shù)量;
[0020]所述操作動態(tài)庫根據(jù)所述起始ICCID和所述智能卡已授權(quán)數(shù)量獲取授權(quán)后的所有所述ICCID。
[0021]優(yōu)選地,按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,并獲取瀏覽所述智能卡的STK菜單權(quán)限之前還包括:
[0022]通過授權(quán)軟件按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,以獲取瀏覽所述智能卡的所述STK菜單權(quán)限;
[0023]通過所述授權(quán)軟件向所述智能卡發(fā)送所述STK指令,對所述可授權(quán)次數(shù)進(jìn)行設(shè)置。
[0024]優(yōu)選地,所述預(yù)置認(rèn)證步驟具體包括:
[0025]通過調(diào)用程序調(diào)用所述智能卡產(chǎn)生第一隨機(jī)數(shù),并進(jìn)行臨時保存;
[0026]通過所述調(diào)用程序使用DES算法對所述第一隨機(jī)數(shù)進(jìn)行加密計(jì)算,并返回對應(yīng)的密文數(shù)據(jù);
[0027]通過所述調(diào)用程序?qū)⑺雒芪臄?shù)據(jù)發(fā)送至所述智能卡進(jìn)行DES算法解密獲取第二隨機(jī)數(shù);
[0028]將所述第一隨機(jī)數(shù)和所述第二隨機(jī)數(shù)進(jìn)行比對,若所述第一隨機(jī)數(shù)和所述第二隨機(jī)數(shù)相等,則認(rèn)證成功。
[0029]本發(fā)明實(shí)施例中提供的一種基于STK菜單對軟件進(jìn)行授權(quán)的系統(tǒng),包括第一授權(quán)端;
[0030]所述第一授權(quán)端包括:
[0031]第一認(rèn)證單元,用于按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,并獲取瀏覽所述智能卡的STK菜單權(quán)限;
[0032]第一獲取單元,用于向所述智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);
[0033]判斷單元,用于判斷與所述授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則對所述智能卡進(jìn)行授權(quán)處理,并將授權(quán)后的所述智能卡的所述ICCID進(jìn)行儲存。
[0034]優(yōu)選地,所述第一獲取單元具體包括:
[0035]獲取子單元,用于向所述智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);
[0036]第一判斷子單元,用于判斷所述可授權(quán)次數(shù)是否大于0,若是,則提取起始授權(quán)的所述智能卡對應(yīng)的起始ICCID,以及預(yù)置的智能卡已授權(quán)數(shù)量;
[0037]所述判斷單元具體包括:
[0038]第二判斷子單元,用于判斷與所述授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則向所述智能卡發(fā)送所述STK指令,寫入剩余授權(quán)次數(shù),授權(quán)后的所述智能卡對應(yīng)的所述ICCID和所述智能卡已授權(quán)數(shù)量;
[0039]儲存子單元,用于將授權(quán)后的所有所述ICCID進(jìn)行本地儲存;
[0040]其中,所述剩余授權(quán)次數(shù)為所述可授權(quán)次數(shù)和所述智能卡已授權(quán)數(shù)量的差值。
[0041]優(yōu)選地,基于STK菜單對軟件進(jìn)行授權(quán)的系統(tǒng)還包括業(yè)務(wù)使用端;
[0042]所述業(yè)務(wù)使用端具體包括:
[0043]第二認(rèn)證單元,用于通過調(diào)用操作動態(tài)庫按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,以獲取瀏覽所述智能卡的所述STK菜單權(quán)限;
[0044]第二獲取單元,用于通過所述操作動態(tài)庫向所述智能卡發(fā)送所述STK指令,獲取授權(quán)后的所述智能卡對應(yīng)的所述起始ICCID和所述智能卡已授權(quán)數(shù)量;
[0045]第三獲取單元,用于所述操作動態(tài)庫根據(jù)所述起始ICCID和所述智能卡已授權(quán)數(shù)量獲取授權(quán)后的所有所述ICCID。
[0046]優(yōu)選地,基于STK菜單對軟件進(jìn)行授權(quán)的系統(tǒng)還包括第二授權(quán)端;
[0047]所述第二授權(quán)端包括:
[0048]第三認(rèn)證單元,用于通過授權(quán)軟件按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,以獲取瀏覽所述智能卡的所述STK菜單權(quán)限;
[0049]設(shè)置單元,用于通過所述授權(quán)軟件向所述智能卡發(fā)送所述STK指令,對所述可授權(quán)次數(shù)進(jìn)行設(shè)置。
[0050]優(yōu)選地,所述預(yù)置認(rèn)證步驟具體包括:
[0051]通過調(diào)用程序調(diào)用所述智能卡產(chǎn)生第一隨機(jī)數(shù),并進(jìn)行臨時保存;
[0052]通過所述調(diào)用程序使用DES算法對所述第一隨機(jī)數(shù)進(jìn)行加密計(jì)算,并返回對應(yīng)的密文數(shù)據(jù);
[0053]通過所述調(diào)用程序?qū)⑺雒芪臄?shù)據(jù)發(fā)送至所述智能卡進(jìn)行DES算法解密獲取第二隨機(jī)數(shù);
[0054]將所述第一隨機(jī)數(shù)和所述第二隨機(jī)數(shù)進(jìn)行比對,若所述第一隨機(jī)數(shù)和所述第二隨機(jī)數(shù)相等,則認(rèn)證成功。
[0055]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0056]本發(fā)明實(shí)施例提供了一種基于STK菜單對軟件進(jìn)行授權(quán)的方法及系統(tǒng),其中,基于STK菜單對軟件進(jìn)行授權(quán)的方法包括:按照預(yù)置認(rèn)證步驟對智能卡進(jìn)行認(rèn)證,并獲取瀏覽智能卡的STK菜單權(quán)限;向智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);判斷與授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否授權(quán),若否,則對智能卡進(jìn)行授權(quán)處理,并將授權(quán)后的智能卡的ICCID進(jìn)行儲存。本實(shí)施例中,通過對智能卡進(jìn)行認(rèn)證,并獲取瀏覽智能卡的STK菜單權(quán)限;向智能卡發(fā)送STK指令獲取授權(quán)軟件的可授權(quán)次數(shù);判斷與授權(quán)次數(shù)對應(yīng)數(shù)量的智能卡的ICCID是否已授權(quán),若否,則對智能卡進(jìn)行授權(quán)處理,并將授權(quán)后的智能卡的ICCID進(jìn)行儲存,便實(shí)現(xiàn)了基于智能卡硬件的STK對軟件進(jìn)行授權(quán)的技術(shù),解決了現(xiàn)有的軟件授權(quán)方式由于僅通過軟件識別碼及相對應(yīng)的主金鑰對軟件進(jìn)行加密保護(hù),對智能卡進(jìn)行通過軟件識別碼及相對應(yīng)的主金鑰進(jìn)行解密。雖然實(shí)現(xiàn)了授權(quán),但由于安全性較低,軟件加密算法的安全性遠(yuǎn)遠(yuǎn)不如硬件,極易被破解的技術(shù)問題。
【附圖說明】
[0057]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0058]圖1為本發(fā)明實(shí)施例中提供的一種基于STK菜單對軟件進(jìn)行授權(quán)的方法的一個實(shí)施例的流程示意圖;
[0059]圖2為本發(fā)明實(shí)施例中提供