国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法和系統(tǒng)的制作方法

      文檔序號:7929962閱讀:207來源:國知局
      專利名稱:一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)通訊領(lǐng)域,特別涉及一種智能密鑰設(shè)備與應(yīng)用軟件的通訊 方法和系統(tǒng)。
      背景技術(shù)
      智能密鑰設(shè)備可以包括智能卡、USBKey等。智能密鑰裝置是一種帶有處理 器和存儲器的小型硬件裝置,主要用于身份認證、軟件保護等領(lǐng)域。它通過計 算機的數(shù)據(jù)通訊接口與計算機連接,并具有密鑰生成功能,可安全存儲密鑰, 預(yù)置加密算法。智能密鑰裝置與密鑰相關(guān)的運算完全在裝置內(nèi)部運行,且智能 密鑰裝置具有抗攻擊的特性,安全性極高。USBKey是一種USB接口的智能密 鑰裝置,它內(nèi)置單片機或智能卡芯片,可以存儲用戶的密鑰或數(shù)字證書。其中,智能卡(SmartCard)也可以稱為IC (Integrate Circuit,集成電路) 卡,是一種帶有微處理器和存儲器等微型集成電路芯片的卡片。智能卡根據(jù)裝 載芯片類型的不同可以分為存儲式卡片、微處理卡片等,根據(jù)信息通信方式的 不同,可以分為接觸式卡片、非接觸式卡片和雙界面卡片,根據(jù)用途不同,可 以分為金融卡、加油卡、社???、SAM卡等。智能卡具有標準規(guī)格,因此需要 遵循一套標準,如IS07816或者IS014443。其中,IS07816是接觸式讀寫器的 標準,IS014443是非接觸式讀寫器的標準。IS014443制定了專門用于非接觸式 卡的通訊協(xié)議規(guī)范的標準,定義非接觸方式的收發(fā)與識別。USB Key是一種USB 接口的智能密鑰裝置,它內(nèi)置單片機或智能卡芯片,可以存儲用戶的密鑰或數(shù) 字證書。現(xiàn)有技術(shù)中,智能密鑰設(shè)備與應(yīng)用軟件之間的通訊方法一般為以下三種中 的一種1、 通ifl凄W居為明文,或者明文+MAC (Message Authentication Code,消息 鑒別碼),只是對于敏感數(shù)據(jù)如PIN碼和密鑰的安裝使用密文,或者密文+MAC;2、 通訊數(shù)據(jù)為明文,或者明文+MAC,對于密鑰的安裝使用密文,或者密文+MAC,同時取消PIN碼,使用外部認證方式進行PIN碼的驗證或?qū)IN碼 進行一系列雜亂、散列或加密;
      3、通訊數(shù)據(jù)為密文,進行通訊時,首先從智能卡中獲耳又加密所用的過程密 鑰,獲取到的內(nèi)容是使用非對稱密鑰的加密密鑰進行加密后的密文,應(yīng)用軟件 使用自身擁有的非對稱密鑰的解密密鑰進行解密得到過程密鑰。以后的通訊數(shù) 據(jù)使用過程密鑰進行加密。為了進一步保證安全,往往智能卡每次上電都更換 過程密鑰。
      在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺點
      1、 第l種方式加密密鑰必然要放到應(yīng)用軟件中,攻擊者可以靜態(tài)或動態(tài)分 析應(yīng)用軟件找到該密鑰對PIN碼、密鑰及應(yīng)用進行攻擊;
      2、 第2種方式雖然保護了在認證的過程中攻擊者無法拿到認證密鑰,但是 對于密鑰安裝和更新仍然存在和第1種情況相類似的隱患,并且同時對于其他 通訊數(shù)據(jù)不進行保護;
      3、 第3種方式過程密鑰的解密密鑰存在于軟件代碼中,靜態(tài)或動態(tài)分析到 解密密鑰或者編寫一個應(yīng)用合法通訊去獲取過程密鑰都是可以破解通訊數(shù)據(jù) 的。

      發(fā)明內(nèi)容
      為了保證智能密鑰設(shè)備與應(yīng)用軟件之間的通訊安全,本發(fā)明實施例提供了 一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法和系統(tǒng)。所述^t術(shù)方案如下 一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,所述方法包括 智能密鑰設(shè)備與應(yīng)用軟件建立連接;
      所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰, 所述單獨會話的會話號與所述過程密鑰相對應(yīng);
      所述應(yīng)用軟件使用所述過程密鑰對通訊數(shù)據(jù)進行加密,并向所述智能密鑰 設(shè)備發(fā)送指令,所述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);
      所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用與所述會話號相對應(yīng) 的過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      所述智能密鑰設(shè)備根據(jù)所述明文通訊數(shù)據(jù)執(zhí)行操作,得到響應(yīng)數(shù)據(jù);
      使用所述過程密鑰對所述響應(yīng)數(shù)據(jù)進行加密,并將已加密的響應(yīng)數(shù)據(jù)發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件接收到所述已加密的響應(yīng)數(shù)據(jù),使用所述過程密鑰對接收到 的所述已加密的響應(yīng)數(shù)據(jù)進行解密,得到所述響應(yīng)數(shù)據(jù)。所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰, 具體包括所述智能密鑰設(shè)備接收所述應(yīng)用軟件發(fā)送的建立單獨對話的指令,根據(jù)所 述指令選擇會話號,并將所述會話號發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成與所述會話號 對應(yīng)的過程密鑰,并使用預(yù)先保存的公鑰對所述過程密鑰進行加密;所述應(yīng)用軟件將所述已加密的過程密鑰和所述會話號發(fā)送給所述智能密鑰 設(shè)備;所述智能密鑰設(shè)備使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解密。所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰, 具體包括所述應(yīng)用軟件按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成過程密鑰,并 使用預(yù)先保存的公鑰對所述過程密鑰進行加密;所述智能密鑰設(shè)備接收所述應(yīng)用軟件發(fā)送的建立單獨會話的指令和已加密 的過程密鑰,根據(jù)所述建立單獨會話的指令選擇與所述過程密鑰相對應(yīng)的會話號;所述智能密鑰設(shè)備使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解密,并保存所述過程密鑰與所述會話號的對應(yīng)關(guān)系;所述智能密鑰設(shè)備將所述會話號發(fā)送給所述應(yīng)用軟件。 所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,具體包括所述應(yīng)用軟件^獪照預(yù)先約定的方法計算第一約定參數(shù),將所述第一約定參 數(shù)、獲取過程密鑰和建立單獨會話的指令發(fā)送給所述智能密鑰設(shè)備; 所述智能密鑰設(shè)備按照所述預(yù)先約定的方法計算第二約定參數(shù); 根據(jù)所述建立單獨會話的指令選擇會話號,并根據(jù)所述會話號選擇過程密鑰;10根據(jù)接收到的所述第 一約定參數(shù)計算第 一密鑰; 使用所述第 一密鑰對所述過程密鑰進行加密;將所述第二約定參數(shù)、.已加密的過程密鑰和所述會話號發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件根據(jù)接收到的所述第二約定參數(shù)計算第二密鑰; 使用所述第二密鑰對所述已加密的過程密鑰進行解密,得到所述過程密鑰。 所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用所述過程密鑰對所述 已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù),具體包括所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,通過查詢自身保存的所述 過程密鑰與所述會話號的對應(yīng)關(guān)系,得到所述會話號對應(yīng)的所述過程密鑰,使 用所述過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù)。 所述方法還包才舌所述應(yīng)用軟件向所述智能密鑰設(shè)備發(fā)送結(jié)束會話指令,所述結(jié)束會話指令 經(jīng)過所述過程密鑰加密;相應(yīng)地,所述智能密鑰設(shè)備接收到所述結(jié)束會話指令,使用所述過程密鑰 對所述結(jié)束會話指令進行解密,并銷毀所述過程密鑰。一種智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),所述系統(tǒng)包括主機和智能密 鑰設(shè)備;所述主機包括接口模塊,用于所述主機與所述智能密鑰設(shè)備建立連接;約定模塊,用于所述主機中的應(yīng)用軟件與所述智能密鑰設(shè)備之間建立單獨會話并且約定過程密鑰,所述單獨會話的會話號與所述過程密鑰相對應(yīng);加密模塊,用于所述主機中的應(yīng)用軟件使用所述過程密鑰對通訊數(shù)據(jù)進行加密;發(fā)送模塊,用于所述主機中的應(yīng)用軟件向所述智能密鑰設(shè)備發(fā)送指令,所 述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);接收模塊,用于接收所述智能密鑰設(shè)備發(fā)送的已加密的響應(yīng)數(shù)據(jù);解密模塊,用于所述主機中的應(yīng)用軟件使用所述過程密鑰對所述已加密的 響應(yīng)數(shù)據(jù)進行解密,得到所述響應(yīng)數(shù)據(jù)。所述智能密鑰設(shè)備包括ii接口模塊,用于所述智能密鑰設(shè)備與所述主機建立連接;
      約定模塊,用于所述智能密鑰設(shè)備與所述主機中的應(yīng)用軟件之間建立單獨 會話并且約定過程密鑰,所述單獨會話的會話號與所述過程密鑰相對應(yīng);
      解密模塊,用于所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用所述 過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      操作模塊,用于所述智能密鑰設(shè)備根據(jù)所述明文通訊數(shù)據(jù)執(zhí)行操作,得到 響應(yīng)數(shù)據(jù);
      加密模塊,用于所述智能密鑰設(shè)備使用所述過程密鑰對由所述響應(yīng)數(shù)據(jù)進
      行力口密;
      接收模塊,用于所述智能密鑰設(shè)備接收所述主機中的應(yīng)用軟件發(fā)送的指令, 所述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);
      發(fā)送模塊,用于將已加密的響應(yīng)數(shù)據(jù)發(fā)送給所述應(yīng)用軟件。
      所述主機中的約定模塊具體包括
      第一接收單元,用于接收智能密鑰設(shè)備發(fā)送的會話號;
      密鑰生成單元,用于按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成過程密
      鑰;
      第一加密單元,用于使用預(yù)先保存的公鑰對所述過程密鑰進行力口密; 第一發(fā)送單元,用于將所述已加密的過程密鑰和所述會話號發(fā)送給所述智 能密鑰設(shè)備。
      所述智能密鑰設(shè)備中的約定模塊具體包括
      第二接收單元,用于接收所述主機中的應(yīng)用軟件發(fā)送的建立單獨對話的指
      令;
      第二選擇單元,用于根據(jù)所述接收單元接收到的所述指令選擇會話號; 第二發(fā)送單元,用于將所述選擇單元選擇的會話號發(fā)送給所述主機中的應(yīng) 用軟件;
      所述第二接收單元還用于接收所述主機中的應(yīng)用軟件發(fā)送的已加密的過程 密鑰和所述會話號;
      第二解密單元,用于使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解
      密;
      保存單元,用于保存所述過程密鑰與所述會話號的對應(yīng)關(guān)系。所述主機中的約定模塊具體包括
      第三計算單元,用于按照預(yù)先約定的方法計算第一約定參數(shù); 第三發(fā)送單元,用于將所述第一約定參數(shù)、獲取過程密鑰和建立單獨會話
      的指令發(fā)送給所述智能密鑰設(shè)備;
      第三接收單元,用于接收所述智能密鑰設(shè)備發(fā)送的第二約定參數(shù)、已加密
      的過程密鑰和所述會話號;
      所述第三計算單元還用于#4居接收到的所述第二約定參數(shù)計算第二密鑰; 第三解密單元,用于使用所述第二密鑰對所述已加密的過程密鑰進行解密,
      得到所述過程密鑰。
      所述智能密鑰設(shè)備中的約定才莫塊具體包括
      第四接收單元,用于接收所述主機中的應(yīng)用軟件發(fā)送的所述第一約定參數(shù)、 獲取過程密鑰和建立單獨會話的指令;
      第四計算單元,用于按照所述預(yù)先約定的方法計算第二約定參數(shù); 第四選擇單元,用于根據(jù)所述建立單獨會話的指令選擇會話號,并根據(jù)所
      述會話號選擇過程密鑰;
      所述第四計算單元還用于4艮據(jù)接收到的所述第一約定參數(shù)計算第一密鑰; 第四加密單元,使用所述第一密鑰對所述過程密鑰進行加密; 第四發(fā)送單元,用于將所述第二約定參數(shù)、已加密的過程密鑰和所述會話
      號發(fā)送給所述主機中的應(yīng)用軟件。
      所述智能密鑰設(shè)備中的解密模塊具體用于
      根據(jù)所述單獨會話的會話號,通過查詢自身保存的所述過程密鑰與所述會 話號的對應(yīng)關(guān)系,得到所述會話號對應(yīng)的所述過程密鑰,使用所述過程密鑰對 所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù)。
      所述主機的約定模塊還用于向所述智能密鑰設(shè)備發(fā)送結(jié)束會話指令,所 述結(jié)束會話指令經(jīng)過所述過程密鑰加密;
      相應(yīng)地,所述智能密鑰設(shè)備還用于接收所述結(jié)束會話指令,使用所述過程 密鑰對所述結(jié)束會話指令進行解密,并銷毀所述過程密鑰。 本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是
      通過在智能密鑰設(shè)備和應(yīng)用軟件之間建立單獨會話并使用雙方共同約定的 密鑰對通訊數(shù)據(jù)進行加密后再進行傳輸,解決了目前軟件和智能密鑰設(shè)備之間
      13明文傳輸或者使用靜態(tài)密鑰的問題,使通訊數(shù)據(jù)不再有被破解的危險,并且, 由于每次會話的過程密鑰不同,即使攻擊者模擬合法應(yīng)用軟件也只是獲得其自 身通訊所使用的會話號對應(yīng)的過程密鑰,無法得到其他會話的密鑰。


      圖1是本發(fā)明實施例1中提供的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法流程
      圖2是本發(fā)明實施例2中提供的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法流程
      圖3是本發(fā)明實施例3中提供的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法流程
      圖4是本發(fā)明實施例4中提供的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng)的一 種結(jié)構(gòu)示意圖5是發(fā)明實施例4中提供的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng)的另一 種結(jié)構(gòu)示意圖。
      具體實施例方式
      為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明 實施方式作進一步地詳細描述。
      實施例1
      在本實施例中,以智能密鑰設(shè)備為智能卡進行說明,其中公鑰保存在應(yīng)用 軟件中,私鑰保存在智能卡中,公鑰和私鑰是預(yù)先生成的,其中私鑰是在智能 卡進行初始化時通過秘密途徑保存在智能卡中的,公鑰是直接內(nèi)置在應(yīng)用軟件 中的;或者,公鑰和私鑰是根據(jù)需要在智能卡中生成的,私鑰直接保存在智能 卡中,公鑰在應(yīng)用軟件和智能卡約定過程密鑰之前由應(yīng)用軟件從智能卡中獲得。
      參見圖1 ,本實施例4是供了 一種智能卡與應(yīng)用軟件的通訊方法,該方法包括 101:應(yīng)用軟件通過調(diào)用函數(shù)SCardConnect ()與智能卡建立連接; 102:應(yīng)用軟件按照與智能卡預(yù)先約定的要求隨機生成一個過程密鑰Skeyl, 并用自身保存的公鑰對過程密鑰Skeyl進行加密;其中,預(yù)先約定的要求可以指應(yīng)用軟件與智能卡之間預(yù)先約定過程密鑰的 長度。
      在本實施例中,應(yīng)用軟件自身保存的公鑰是1024位的RSA算法的公鑰。
      103:應(yīng)用軟件通過調(diào)用函數(shù)SCardTransmit ()將操作指令發(fā)送給智能卡, 并且該才喿作指令是一個APDU (Application Protocol Data Unit,應(yīng)用協(xié)議數(shù)據(jù)單 元)指令,其格式為APDU指令頭+APDU指令參數(shù)+APDU指令數(shù)據(jù);
      在本實施例中,上述APDU操作指令包含有建立單獨會話的指令和對過程 密鑰Skeyl進行加密后的數(shù)據(jù),該APDU操作指令可以表示為
      80 FC 00 00 80 BB F8 2F 09 06 82 CE 9C 23 38 AC 2B 9D A8 71 F7 36 8D 07 EE D4 10 43 A4 40 D6 B6 FO 74 54 F5 IF B8 DF BA AF 03 5C 02 AB 61 EA48 CE EB 6F CD 48 76 ED 52 0D 60 El EC 46 19 71 9D 8A 5B 8B 80 7F AF B8 E0 A3 DF C7 37 72 3E E6 B4 B7 D9 3A 25 84 EE 6A 64 9D 06 09 53 74 88 34 B2 45 45 98 39 4E E0 AA Bl 2D 7B 61 A5 IF 52 7A 9A 41 F6 Cl 68 7F E2 53 72 98 CA 2A 8F 59 46 F8 E5 FD 09 1DBD CB。
      104:智能卡接收到包含有建立單獨會話的指令和對過程密鑰Skeyl加密后 的數(shù)據(jù)的指令,并使用自身保存的私鑰對接收到的對過程密鑰Skeyl進行加密 后的數(shù)據(jù)進行解密,并保存解密得到的過程密鑰Skeyl;
      105:智能卡為與應(yīng)用軟件的本次會話選擇會話號SessionIDl,并將該會話 號Session IDl發(fā)送給應(yīng)用軟件,并在智能卡中維護該會話號Session IDl和過程 密鑰Skeyl之間的對應(yīng)關(guān)系;
      其中,可以建立會話號與過程密鑰之間的對應(yīng)關(guān)系表,以方便查詢。
      106:本實施例步驟103中調(diào)用的函凄t SCardTransmit ()返回一個APDU 響應(yīng)數(shù)據(jù),返回的響應(yīng)數(shù)據(jù)中包含會話號SessionIDl,并且應(yīng)用軟件將上述會話 號SessionIDl進行保存;
      其中,上述APDU響應(yīng)數(shù)據(jù)可以表示為01 9000, 01為會話號,90 00表 示該APDU成功執(zhí)4亍。
      107:在通訊過程中,應(yīng)用軟件向智能卡發(fā)送加密后的數(shù)據(jù);
      其中,加密后的數(shù)據(jù)包括使用過程密鑰Skeyl進^f亍加密后的通訊數(shù)據(jù)和應(yīng) 用軟件與智能卡之間的會話號Session IDl;
      108:智能卡接收到應(yīng)用軟件發(fā)送的加密后的數(shù)據(jù),根據(jù)接收到的會話號
      15Session ID1查找與該會話號Session ID1對應(yīng)的過程密鑰Skeyl;
      109:智能卡使用查找得到的過程密鑰Skeyl對接收到的加密后的數(shù)據(jù)中的 密文通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      110:智能卡根據(jù)解密得到的明文通訊數(shù)據(jù)執(zhí)行相應(yīng)的操作,并將操作完成 后得到的響應(yīng)數(shù)據(jù)使用過程密鑰Skeyl進行加密,再發(fā)給應(yīng)用軟件;
      lll:應(yīng)用軟件使用過程密鑰Skeyl對接收到的加密后的響應(yīng)數(shù)據(jù)進行解密, 得到明文響應(yīng)凄史據(jù);
      112:不再進行通訊時,應(yīng)用軟件向智能卡發(fā)送使用過程密鑰Skeyl加密后 的結(jié)束會話指令;
      113:智能卡接收到結(jié)束會話指令,并用過程密鑰Skeyl進行解密,然后智 能卡銷毀所維護的該會話號SessionID1對應(yīng)的過程密鑰Skeyl;
      在智能卡以后的通訊過程中,該會話號Session ID1還可以繼續(xù)為另一個會 話所使用。
      本發(fā)明實施例通過在智能卡和應(yīng)用軟件之間建立單獨會話并使用雙方共同 約定的密鑰對通訊數(shù)據(jù)進行加密后再進行傳輸,解決了目前軟件和智能卡之間 明文傳輸或者使用靜態(tài)密鑰進行傳輸?shù)膯栴},使通訊密文數(shù)據(jù)不再有被破解的 危險,并且,由于每次會話的過程密鑰不同,即使攻擊者模擬合法應(yīng)用軟件也 只是獲得其自身通訊所使用的會話號對應(yīng)的過程密鑰,無法得到其他會話的密 鑰。
      實施例2
      在本實施例中,以智能密鑰設(shè)備為智能卡進行說明,智能卡和應(yīng)用軟件在 進行初始化時,公鑰就被保存在應(yīng)用軟件中,私鑰被保存在智能卡中。參見圖2, 本發(fā)明實施例提供了一種智能卡與應(yīng)用軟件的通訊方法,該方法與實施例1中 提供的方法不同之處在于,應(yīng)用軟件與智能卡之間首先建立單獨會話后,再進 行密鑰的約定。該方法包括
      201:應(yīng)用軟件通過調(diào)用函數(shù)SCardCo皿ect ()與智能卡建立連接; 202:應(yīng)用軟件通過調(diào)用函數(shù)SCardTransmit()向智能卡發(fā)送一個操作指令, 并且該操作指令是一個APDU指令,其格式為APDU指令頭+ APDU指令參 數(shù)+APDU指令數(shù)據(jù);在本實施例中,上述APDU操作指令為建立單獨會話的指令,該APDU操 作指令可以表示為80 EE 00 00。
      203:智能卡接收應(yīng)用軟件發(fā)送的操作指令,選擇本次會話要使用的會話號 Session ID2 ,并將該會話號Session ID2發(fā)送給應(yīng)用軟件;
      204:本實施例步驟202中調(diào)用的函數(shù)SCardTransmit ()返回一個APDU 響應(yīng)數(shù)據(jù),返回的響應(yīng)數(shù)據(jù)中包含有會話號Session ID2,并且應(yīng)用軟件將上述 會話號Session ID2進行保存,然后應(yīng)用軟件按照預(yù)先與智能卡約定的要求隨機 生成一個過程密鑰SKey2;
      在本實施例步-驟204中,上述APDU響應(yīng)凄t據(jù)可以表示為01 90 00,其中 01為會話號,卯00表示該APDU成功執(zhí)行;
      其中,預(yù)先約定的要求可以指應(yīng)用軟件與智能卡之間預(yù)先約定過程密鑰的 長度。
      205:應(yīng)用軟件將生成的過程密鑰SKey2用自身保存的公鑰進行加密,并通 過調(diào)用函數(shù)SCardTransmit ()將操作指令發(fā)送給智能卡,并且該操作指令是一 個APDU指令,其格式為APDU指令頭+APDU指令參數(shù)+APDU指令數(shù)據(jù);
      在本實施例中,在本實施例中,應(yīng)用軟件自身保存的公鑰是1024位的RSA 算法的公銅;
      并且上述APDU操作指令中包含有對過程密鑰SKey2進行加密后的數(shù)據(jù)和 會話號Session ID2,上述APDU操作指令可以表示為
      80 EE 01 01 80 5F 60 2F OA 26 7F 53 5E 23 9A 06 09 09 ID BD CB 09 53 53 74 71 F7 36 8D 07 EE D4 10 43 A4 40 A5 34 B2 45 45 98 2D 7B IF 52 7A9AF5 IF B841 F6 Cl 68 7F 02 42 6B 45 7C BC 23 B4 48 76 ED 52 0D 3C 60 39 4E E0 AA Bl El EC 46 19 71 9D 8A 5B 8B 80 7F 0D 3C 60 El DF C7 37 72 3A 25 84 EE 6A 64 3E E6 B4 B7 D9 9D 06 74 88 61 E2 53 72 98 CA A5 IF 52 7A 9A 41 F6 Cl 68 7F 2A8F 59 46 F8 E5 FD
      206:智能卡用自身保存的私鑰對接收到的對過程密鑰SKey2進行加密后的 數(shù)據(jù)進行解密,保存解密得到的過程密鑰SKey2,并且智能卡維護會話號Session ID2和過程密鑰SKey2的對應(yīng)關(guān)系;
      其中,會話號與過程密鑰之間的對應(yīng)關(guān)系可以使用對應(yīng)關(guān)系表,方便查詢。
      207:本地實施例步驟205中調(diào)用的函數(shù)SCardTransmit ()返回一個APDU
      17在本實施例步驟207中,上述APDU響應(yīng)數(shù)據(jù)可以表示為90 00, 90 00表示該APDU成功執(zhí)行;
      208:在通訊過程中,應(yīng)用軟件向智能卡發(fā)送加密后的數(shù)據(jù);
      其中,加密后的數(shù)據(jù)包括使用過程密鑰SKey2進行加密后的通訊數(shù)據(jù)和應(yīng)用軟件與智能卡之間的會話號Session ID2;
      209:智能卡接收到應(yīng)用軟件發(fā)送的加密后的數(shù)據(jù),根據(jù)接收到的會話號Session ID2查找與該會話號Session ID2對應(yīng)的過程密鑰SKey2;
      210:智能卡使用查找得到的過程密鑰SKey2對接收到的加密后的數(shù)據(jù)中的密文通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      211:智能卡根據(jù)解密得到的明文通訊數(shù)據(jù)執(zhí)行相應(yīng)的操作,并對操作完成后得到的響應(yīng)數(shù)據(jù)使用過程密鑰Skey2進行加密,再發(fā)送給應(yīng)用軟件;
      212:應(yīng)用軟件再用過程密鑰Skey2對接收到的加密后的響應(yīng)數(shù)據(jù)進行解密,得到明文響應(yīng)數(shù)據(jù);
      213:不再進行通訊時,應(yīng)用軟件向智能卡發(fā)送使用過程密鑰SKey2加密后的結(jié)束會話指令;
      214:智能卡接收加密后的結(jié)束會話指令,并用過程密鑰SKey2進行解密,然后智能卡銷毀所維護的該會話號Session ID2對應(yīng)的過程密鑰SKey2。
      在智能卡以后的通訊過程中,該會話號Session ID2還可以繼續(xù)為另 一個會話所使用。
      本發(fā)明實施例通過在智能卡和應(yīng)用軟件之間建立單獨會話并使用雙方共同約定的密鑰對通訊數(shù)據(jù)進行加密后再進行傳輸,解決了目前軟件和智能卡之間明文傳輸或者使用靜態(tài)密鑰進行傳輸?shù)膯栴},使通訊密文數(shù)據(jù)不再有被破解的危險,并且,由于每次會話的過程密鑰不同,即使攻擊者模擬合法應(yīng)用軟件也只是獲得其自身通訊所使用的會話號對應(yīng)的過程密鑰,無法得到其他會話的密鑰。
      實施例3
      參見圖3,本發(fā)明實施例提供了一種智能密鑰設(shè)備與應(yīng)用軟件之間的通訊方法,以智能密鑰i殳備為USB Key為例,該方法與實施例l、實施例2之間的區(qū)
      18別在于,本實施例的過程密鑰的保護密鑰是應(yīng)用軟件和USB Key通過安全約定的方法得到的。該方法包括
      301:應(yīng)用軟件通過調(diào)用函數(shù)CreateFile ()與USB Key建立連接,并且雙方進行約定,雙方都保存lt A和數(shù)B;
      其中,數(shù)A和數(shù)B都是整數(shù),其中數(shù)A是一個質(zhì)數(shù),并且數(shù)B、數(shù)B的平
      方、數(shù)B的三次方........數(shù)B的(A-1)次方分別對數(shù)A取余后的結(jié)果都是
      不相同的。
      在本實施例中,凄tA可以為ll,數(shù)B可以為2。302:應(yīng)用軟件生成一個隨機數(shù)數(shù)C,并根據(jù)該隨機數(shù)數(shù)C計算數(shù)D;其中,應(yīng)用軟件生成的隨機數(shù)數(shù)C是一個小于數(shù)A的整數(shù);根據(jù)隨機數(shù)數(shù)C計算數(shù)D的方法可以為先計算數(shù)B的C次方,再將數(shù)B的C次方對數(shù)A取余,得到的結(jié)果即為數(shù)D;在本實施例中,數(shù)C可以為3,數(shù)D為3。
      303:應(yīng)用軟件通過調(diào)用函數(shù)SetFeature ()向USB Key發(fā)送一個APDU操作指令,并且該操作指令是一個APDU指令,其格式為APDU指令頭+APDU指令參數(shù)+ APDU指令數(shù)據(jù);
      在本實施例中,上述APDU操作指令包含有獲取過程密鑰和建立單獨會話的指令以及數(shù)D,該APDU才喿作指令可以表示為
      80EF00 00 01 03。
      304: USBKey接收應(yīng)用軟件發(fā)送的獲取過程密鑰和建立單獨會話指令,并保存數(shù)D;
      305: USB Key生成一個隨機數(shù)數(shù)E,并根據(jù)該隨機數(shù)數(shù)E計算數(shù)F;其中,USB Key生成的隨機數(shù)數(shù)E是一個小于數(shù)A的整數(shù);根據(jù)隨沖幾數(shù)數(shù)E計算數(shù)F的方法可以為先計算數(shù)B的E次方,再將數(shù)B的E次方對數(shù)A取余,得到的結(jié)果即為數(shù)F;在本實施例中,數(shù)E可以為4,數(shù)F為5。
      306: USBKey為與應(yīng)用軟件的本次會話選擇會話號Session ID3,根據(jù)該會話號Session ID3隨才幾生成一個過程密鑰SKey3,并且USB Key維護會話號Session ID3和過程密鑰SKey3的對照關(guān)系;
      其中,為每個會話產(chǎn)生的過程密鑰是根據(jù)該會話的會話號產(chǎn)生的,可以是隨機的,也可以是從同一個翁:據(jù)派生出來的;
      會話號與過程密鑰之間的對照關(guān)系,可以通過對照關(guān)系表進行維護。
      307: USB Key根據(jù)數(shù)A、數(shù)D和數(shù)E計算密鑰Kl ,并用該密鑰Kl對過
      程密鑰SKey3進行加密,得到密文Ms;
      其中,根據(jù)數(shù)A、數(shù)D和數(shù)E計算密鑰Kl的方法為先計算數(shù)D的E次
      方,再將數(shù)D的E次方對數(shù)A取余,得到的結(jié)果即為密鑰Kl。
      在本實施例中,根據(jù)數(shù)A、數(shù)D和數(shù)E計算得出的密鑰Kl為4;
      308: USB Key將數(shù)F 、密文Ms和會話號Session ID3發(fā)送給應(yīng)用軟件;
      309:應(yīng)用軟件通過調(diào)用函數(shù)GetFeature ()接收USB Key返回的APDU指
      令數(shù)據(jù),并且應(yīng)用軟件對上述數(shù)據(jù)進行保存,再根據(jù)數(shù)A、數(shù)C和數(shù)F計算密
      鑰K2;
      在本實施例步驟309中,上述APDU數(shù)據(jù)中包含有數(shù)F、密文Ms和會話號Session ID3,該APDU指令可以表示為01 05 01 01 01 04 90 00;
      其中,根據(jù)數(shù)A、數(shù)C.和數(shù)F計算密鑰K2的具體方法為先計算數(shù)F的C次方,再將數(shù)F的C次方對數(shù)A取余,得到的結(jié)果即為密鑰K2;
      在本實施例中,根據(jù)數(shù)A、數(shù)C和數(shù)F計算得出的密鑰K2為4。
      在本實施例中,根據(jù)307中計算密鑰Kl的方法和309中計算密鑰K2的方法可以知道密鑰Kl與密鑰K2是相等的。
      310:應(yīng)用軟件使用密鑰K2對密文Ms進行解密,得到過程密鑰SKey3;
      311:在通訊過程中,應(yīng)用軟件向USB Key發(fā)送包含有會話號Session ID3和使用過程密鑰SKey3加密后的通訊數(shù)據(jù);
      312: USB Key接收到上述密文通訊數(shù)據(jù),并根據(jù)會話號Session ID3從對照關(guān)系中查找與該會話號SessionID3對應(yīng)的過程密鑰SKey3;
      313: USB Key用查找得到的過程密鑰SKey3對接收到的加密后的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      314: USBKey根據(jù)解密得到的明文通訊數(shù)據(jù)執(zhí)行相應(yīng)的操作,并將操作完成后得到的響應(yīng)數(shù)據(jù)使用過程密鑰Skey3進行加密,再發(fā)給應(yīng)用軟件;
      315:應(yīng)用軟件再用過程密鑰Skey3對接收到的加密后的響應(yīng)數(shù)據(jù)進行解密,得到明文響應(yīng)數(shù)據(jù);316:不再進行通訊時,應(yīng)用軟件向USB Key發(fā)送4吏用過程密鑰SKey3加密后的結(jié)束會話指令;
      317: USB Key接收到該指令并用查找得到的過程密鑰SKey3對該指令進行解密,然后USBKey銷毀所維護的該會話號Session ID3對應(yīng)的過程密鑰SKey3,同時該會話號Session ID3可以繼續(xù)作為下一個通訊過程使用。
      本發(fā)明實施例通過在USB Key和應(yīng)用軟件之間建立單獨會話并使用相同的算法進行密鑰的約定,解決了目前軟件和USB Key之間明文傳輸或者使用靜態(tài)密鑰的問題,使通訊數(shù)據(jù)不再有被破解的危險,并且,由于每次會話的過程密鑰不同,即使攻擊者模擬合法應(yīng)用軟件也只是獲得其自身通訊所使用的會話號對應(yīng)的過程密鑰,無法得到其他會話的密鑰。
      實施例四
      參見圖4,本發(fā)明實施例提供了一種智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),包括主機401和智能密鑰設(shè)備402;主機401包括
      接口模塊401 A,用于主機401中的應(yīng)用軟件與智能密鑰設(shè)備402建立連接;約定模塊401B,用于主機401中的應(yīng)用軟件與智能密鑰設(shè)備402之間建立
      單獨會話并且約定過程密鑰,單獨會話的會話號與約定過程密鑰對應(yīng);
      加密模塊401C,用于主機401中的應(yīng)用軟件使用過程密鑰對通訊數(shù)據(jù)進行
      加密;
      發(fā)送模塊401D,用于主機401中的應(yīng)用軟件向智能密鑰設(shè)備402發(fā)送指令,該指令包括單獨會話的會話號和已加密的通訊數(shù)據(jù);
      接收模塊401E,用于接收智能密鑰設(shè)備402發(fā)送的已加密的響應(yīng)數(shù)據(jù);
      解密4莫塊401F,用于主沖幾401中的應(yīng)用軟件使用過程密鑰對已加密的響應(yīng)數(shù)據(jù)進行解密,得到響應(yīng)數(shù)據(jù)。
      智能密鑰設(shè)備402包括
      接口模塊402A,用于智能密鑰設(shè)備402與主機401中的應(yīng)用軟件建立連接;約定模塊402B,用于智能密鑰設(shè)備402與主機401的應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,單獨會話的會話號與約定過程密鑰相對應(yīng);
      解密模塊402C,用于智能密鑰設(shè)備402根據(jù)單獨會話的會話號,使用過程
      21密鑰對已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);
      操作模塊402D,用于智能密鑰設(shè)備402根據(jù)明文通訊數(shù)據(jù)執(zhí)行操作,得到響應(yīng)數(shù)據(jù);
      接收模塊402E,用于接收主機401中的應(yīng)用軟件發(fā)送的指令,上述指令包括單獨會話的會話號和已加密的通訊數(shù)據(jù);
      加密模塊402F,用于智能密鑰設(shè)備402使用過程密鑰對由響應(yīng)數(shù)據(jù)進行加
      密;
      發(fā)送模塊402G,用于將已加密的響應(yīng)數(shù)據(jù)發(fā)送給主機401中的應(yīng)用軟件。其中, 一種實施方式下,主機401中的約定模塊401B具體包括第一接收單元401B1,用于接收智能密鑰設(shè)備402發(fā)送的會話號;密鑰生成單元401B2,用于按照與智能密鑰設(shè)備402預(yù)先約定的方式生成過程密鑰;
      第一加密單元401B3 ,用于使用預(yù)先保存的公鑰對過程密鑰進行加密;第一發(fā)送單元401B4,用于將已加密的過程密鑰和會話號發(fā)送給智能密鑰設(shè)備402。
      智能密鑰設(shè)備402中的約定模塊402B具體包括
      第二接收單元402B1 ,用于接收主機401中的應(yīng)用軟件發(fā)送的建立單獨對話
      的指令;
      第二選擇單元402B2,用于根據(jù)接收單元402B1接收到的指令選擇會話號;第二發(fā)送單元402B3,用于將會話號發(fā)送給主機401中的應(yīng)用軟件;第二接收單元402B1還用于接收主機401中的應(yīng)用軟件發(fā)送的已加密的過程密鑰和會話號;
      第二解密單元402B4,用于使用預(yù)先保存的私鑰對已加密的過程密鑰進行解
      密;
      保存單元402B5,用于保存過程密鑰與會話號的對應(yīng)關(guān)系。
      參見圖5,另一種實施方式下,主機401中的約定模塊401B具體包括第三計算單元401B1 ,用于按照預(yù)先約定的方法計算第一約定參數(shù);第三發(fā)送單元401B2,用于將第一約定參數(shù)、獲取過程密鑰和建立單獨會話的指令發(fā)送給智能密鑰i殳備402;第三接收單元401B3,用于接收智能卡402發(fā)送的第二約定參數(shù)、已加密的
      過程密鑰和會話號;
      第三計算單元401B1還用于根據(jù)接收到的第二約定參數(shù)計算第二密鑰; 第三解密單元401B4,用于使用第二密鑰對已加密的過程密鑰進行解密,得
      到過程密鑰。
      智能密鑰設(shè)備402中的約定模塊402B具體包括
      第四接收單元402B1,用于接收主機401中的應(yīng)用軟件發(fā)送的第一約定參
      數(shù)、獲取過程密鑰和建立單獨會話的指令;
      第四計算單元402B2,用于按照預(yù)先約定的方法計算第二約定參數(shù); 第四選擇單元402B3,用于根據(jù)建立單獨會話的指令選擇會話號,并根據(jù)會
      話號選擇過程密鑰;
      第四計算單元402B1還用于根據(jù)接收到的第一約定參數(shù)計算第一密鑰; 第四加密單元402B4,使用第一密鑰對過程密鑰進行加密; 第四發(fā)送單元402B5,用于將第二約定參數(shù)、已加密的過程密鑰和會話號發(fā)
      送給主機401中的應(yīng)用軟件。 解密模塊402C具體用于
      根據(jù)單獨會話的會話號,通過查詢自身保存的過程密鑰與會話號的對應(yīng)關(guān) 系,得到會話號對應(yīng)的過程密鑰,使用過程密鑰對已加密的通訊數(shù)據(jù)進行解密, 得到明文通訊數(shù)據(jù)。
      主機401的約定模塊401B還用于向智能密鑰設(shè)備402發(fā)送結(jié)束會話指令, 該結(jié)束會話指令經(jīng)過過程密鑰加密;
      相應(yīng)地,智能密鑰設(shè)備402還用于接收結(jié)束會話指令,使用過程密鑰對結(jié) 束會話指令進行解密,并銷毀過程密鑰。
      本發(fā)明實施例通過在智能密鑰設(shè)備和主機中的應(yīng)用軟件之間建立單獨會話 并使用相同的算法進行密鑰的約定,解決了目前軟件和智能密鑰設(shè)備之間明文 傳輸或者使用靜態(tài)密鑰的問題,使通訊數(shù)據(jù)不再有被破解的危險,并且,由于 每次會話的過程密鑰不同,即使攻擊者模擬合法應(yīng)用軟件也只是獲得其自身通 訊所使用的會話號對應(yīng)的過程密鑰,無法得到其他會話的密鑰。
      以上對本發(fā)明所提供的 一種智能密鑰設(shè)備和應(yīng)用軟件之間進行密文通訊的方法與系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方 式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思
      想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
      及應(yīng)用范圍上均會有改變之處,綜上,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限 制,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均 應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      1、一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,其特征在于,所述方法包括智能密鑰設(shè)備與應(yīng)用軟件建立連接;所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,所述單獨會話的會話號與所述過程密鑰相對應(yīng);所述應(yīng)用軟件使用所述過程密鑰對通訊數(shù)據(jù)進行加密,并向所述智能密鑰設(shè)備發(fā)送指令,所述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用與所述會話號相對應(yīng)的過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);所述智能密鑰設(shè)備根據(jù)所述明文通訊數(shù)據(jù)執(zhí)行相應(yīng)操作,構(gòu)造相應(yīng)的響應(yīng)數(shù)據(jù);所述智能密鑰設(shè)備使用所述過程密鑰對所述響應(yīng)數(shù)據(jù)進行加密,并將已加密的響應(yīng)數(shù)據(jù)發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件接收到所述已加密的響應(yīng)數(shù)據(jù),使用所述過程密鑰對接收到的所述已加密的響應(yīng)數(shù)據(jù)進行解密,得到所述響應(yīng)數(shù)據(jù)。
      2、 如權(quán)利要求1所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,其特征在于, 所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,具體 包括所述智能密鑰設(shè)備接收所述應(yīng)用軟件發(fā)送的建立單獨對話的指令,根據(jù)所 述指令選擇會話號,并將所述會話號發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成與所述會話號 對應(yīng)的過程密鑰,并使用預(yù)先保存的公鑰對所述過程密鑰進行加密;所述應(yīng)用軟件將所述已加密的過程密鑰和所述會話號發(fā)送給所述智能密鑰 設(shè)備;所述智能密鑰設(shè)備使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解 密,并保存所述過程密鑰與所述會話號的對應(yīng)關(guān)系。
      3、 如權(quán)利要求1所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,其特征在于,所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,具體包括所述應(yīng)用軟件按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成過程密鑰,并 使用預(yù)先保存的公鑰對所述過程密鑰進行加密;所述智能密鑰設(shè)備接收所述應(yīng)用軟件發(fā)送的建立單獨會話的指令和已加密 的過程密鑰,根據(jù)所述建立單獨會話的指令選4奪與所述過程密鑰相對應(yīng)的會話 號;所述智能密鑰設(shè)備使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解密;所述智能密鑰設(shè)備將所述會話號發(fā)送給所述應(yīng)用軟件。
      4、 如權(quán)利要求1所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,其特征在于, 所述智能密鑰設(shè)備與所述應(yīng)用軟件之間建立單獨會話并且約定過程密鑰,具體 包括所述應(yīng)用軟件按照預(yù)先約定的方法計算第一約定參數(shù),將所述第一約定參 數(shù)、獲取過程密鑰和建立單獨會話的指令發(fā)送給所述智能密鑰設(shè)備; 所述智能密鑰i殳備按照所述預(yù)先約定的方法計算第二約定參數(shù); 根據(jù)所述建立單獨會話的指令選擇會話號,并根據(jù)所述會話號選擇過程密鑰;根據(jù)接收到的所述第 一約定參數(shù)計算第 一密鑰; 使用所述第 一密鑰對所述過程密鑰進行加密;將所述第二約定參數(shù)、已加密的過程密鑰和所述會話號發(fā)送給所述應(yīng)用軟件;所述應(yīng)用軟件才艮據(jù)接收到的所述第二約定參數(shù)計算第二密鑰;使用所述第二密鑰對所述已加密的過程密鑰進行解密,得到所述過程密鑰。
      5、 如權(quán)利要求2至4中任一權(quán)利要求所述的智能密鑰設(shè)備與應(yīng)用軟件的通 訊方法,其特征在于,所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用所 述過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù),具體包括所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,通過查詢自身保存的所述過程密鑰與所述會話號的對應(yīng)關(guān)系,得到所述會話號對應(yīng)的所述過程密鑰,使 用所述過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù)。
      6、 如權(quán)利要求1所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊方法,其特征在于, 所述方法還包括所述應(yīng)用軟件向所述智能密鑰設(shè)備發(fā)送結(jié)束會話指令,所述結(jié)束會話指令 經(jīng)過所述過程密鑰加密;相應(yīng)地,所述智能密鑰設(shè)備接收到所述結(jié)束會話指令,使用所述過程密鑰 對所述結(jié)束會話指令進行解密,并銷毀所述過程密鑰。
      7、 一種智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在于,所述系統(tǒng)包括 主機和智能密鑰設(shè)備;所述主機包括接口模塊,用于所述主機與所述智能密鑰設(shè)備建立連接;約定模塊,用于所述主機中的應(yīng)用軟件與所述智能密鑰設(shè)備之間建立單獨會話并且約定過程密鑰,所述單獨會話的會話號與所述過程密鑰相對應(yīng);加密模塊,用于所述主機中的應(yīng)用軟件使用所述過程密鑰對通訊數(shù)據(jù)進行加密;發(fā)送模塊,用于所述主機中的應(yīng)用軟件向所述智能密鑰設(shè)備發(fā)送指令,所 述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);接收模塊,用于接收所述智能密鑰設(shè)備發(fā)送的已加密的響應(yīng)數(shù)據(jù);解密模塊,用于所述主機中的應(yīng)用軟件使用所述過程密鑰對所述已加密的 響應(yīng)數(shù)據(jù)進行解密,得到所述響應(yīng)數(shù)據(jù);所述智能密鑰設(shè)備包括接口模塊,用于所述智能密鑰設(shè)備與所述主機建立連接;約定模塊,用于所述智能密鑰設(shè)備與所述主機中的應(yīng)用軟件之間建立單獨 會話并且約定過程密鑰,所述單獨會話的會話號與所述過程密鑰相對應(yīng);解密模塊,用于所述智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用所述 過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù);操作模塊,用于所述智能密鑰設(shè)備根據(jù)所述明文通訊數(shù)據(jù)執(zhí)行操作,得到響應(yīng)數(shù)據(jù);接收模塊,用于所述智能密鑰設(shè)備接收所述主機中的應(yīng)用軟件發(fā)送的指令, 所述指令包括所述單獨會話的會話號和已加密的通訊數(shù)據(jù);加密模塊,用于所述智能密鑰設(shè)備使用所述過程密鑰對所述響應(yīng)數(shù)據(jù)進行 加密;發(fā)送模塊,用于將已加密的響應(yīng)數(shù)據(jù)發(fā)送給所述應(yīng)用軟件。
      8、如權(quán)利要求7所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在 于,所述主^L中的約定模塊具體包括第一接收單元,用于接收智能密鑰設(shè)備發(fā)送的會話號;密鑰生成單元,用于按照與所述智能密鑰設(shè)備預(yù)先約定的方式生成過程密鑰;第一加密單元,用于使用預(yù)先保存的公鑰對所述過程密鑰進行加密; 第一發(fā)送單元,用于將所述已加密的過程密鑰和所述會話號發(fā)送給所述智 能密鑰設(shè)備。
      9、 如權(quán)利要求8所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在于, 所述智能密鑰設(shè)備中的約定模塊具體包括第二接收單元,用于接收所述主機中的應(yīng)用軟件發(fā)送的建立單獨對話的指令;第二選擇單元,用于根據(jù)所述接收單元接收到的所述指令選擇會話號; 用軟件;所述第二接收單元還用于接收所述主機中的應(yīng)用軟件發(fā)送的已加密的過程 密鑰和所述會話號;第二解密單元,用于使用預(yù)先保存的私鑰對所述已加密的過程密鑰進行解密;保存單元,用于保存所述過程密鑰與所述會話號的對應(yīng)關(guān)系。
      10、 如權(quán)利要求7所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在于,所述主機中的約定才莫塊具體包括第三計算單元,用于按照預(yù)先約定的方法計算第一約定參數(shù); 第三發(fā)送單元,用于將所述第一約定參數(shù)、獲取過程密鑰和建立單獨會話的指令發(fā)送給所述智能密鑰設(shè)備;第三接收單元,用于接收所述智能密鑰設(shè)備發(fā)送的第二約定參數(shù)、已加密的過程密鑰和所述會話號;所述第三計算單元還用于根據(jù)接收到的所述第二約定參數(shù)計算第二密鑰; 第三解密單元,用于使用所述第二密鑰對所述已加密的過程密鑰進行解密,得到所述過程密鑰。
      11、 如權(quán)利要求IO所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在 于,所述智能密鑰設(shè)備中的約定模塊具體包括第四接收單元,用于接收所述主機中的應(yīng)用軟件發(fā)送的所述第一約定參數(shù)、獲取過程密鑰和建立單獨會話的指令;第四計算單元,用于按照所述預(yù)先約定的方法計算第二約定參數(shù); 第四選擇單元,用于根據(jù)所述建立單獨會話的指令選擇會話號,并根據(jù)所述會話號選擇過程密鑰;所述第四計算單元還用于根據(jù)接收到的所述第 一約定參數(shù)計算第 一密鑰; 第四加密單元,使用所述第一密鑰對所述過程密鑰進行加密; 第四發(fā)送單元,用于將所述第二約定參數(shù)、已加密的過程密鑰和所述會話號發(fā)送給所述主機中的應(yīng)用軟件。
      12、 如權(quán)利要求7至11中任一權(quán)利要求所述的智能密鑰設(shè)備與應(yīng)用軟件的 通訊系統(tǒng),其特征在于,所述智能密鑰設(shè)備中的解密模塊具體用于根據(jù)所述單獨會話的會話號,通過查詢自身保存的所述過程密鑰與所述會 話號的對應(yīng)關(guān)系,得到所述會話號對應(yīng)的所述過程密鑰,使用所述過程密鑰對 所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù)。
      13、 如權(quán)利要求7所述的智能密鑰設(shè)備與應(yīng)用軟件的通訊系統(tǒng),其特征在 于,所述主機的約定模塊還用于向所述智能密鑰設(shè)備發(fā)送結(jié)束會話指令,所述結(jié)束會話指令經(jīng)過所述過程密鑰加密;相應(yīng)地,所述智能密鑰設(shè)備還用于接收所述結(jié)束會話指令,使用所述過程 密鑰對所迷結(jié)束會話指令進行解密,并銷毀所述過程密鑰。
      全文摘要
      本發(fā)明公開了一種智能密鑰設(shè)備與應(yīng)用軟件的通訊方法和系統(tǒng),屬于數(shù)據(jù)通訊領(lǐng)域。所述方法包括智能密鑰設(shè)備與應(yīng)用軟件建立連接;智能密鑰設(shè)備與應(yīng)用軟件建立單獨會話并且約定過程密鑰;應(yīng)用軟件使用所述過程密鑰對通訊數(shù)據(jù)進行加密,并將單獨會話的會話號和已加密的通訊數(shù)據(jù)發(fā)送給智能密鑰設(shè)備;智能密鑰設(shè)備根據(jù)所述單獨會話的會話號,使用與所述會話號相對應(yīng)的過程密鑰對所述已加密的通訊數(shù)據(jù)進行解密,得到明文通訊數(shù)據(jù)。所述系統(tǒng)包括主機和智能密鑰設(shè)備。通過在智能密鑰設(shè)備和應(yīng)用軟件之間建立單獨會話并使用雙方共同約定的密鑰對通訊數(shù)據(jù)進行加密后再進行傳輸,解決了目前軟件和智能密鑰設(shè)備之間明文傳輸或者使用靜態(tài)密鑰進行傳輸?shù)膯栴}。
      文檔編號H04L9/32GK101540675SQ200810247458
      公開日2009年9月23日 申請日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
      發(fā)明者于華章, 舟 陸 申請人:北京飛天誠信科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1