两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

建立數(shù)據(jù)交互通道的方法和系統(tǒng)、智能卡、服務(wù)器的制作方法

文檔序號(hào):7753784閱讀:308來源:國知局
專利名稱:建立數(shù)據(jù)交互通道的方法和系統(tǒng)、智能卡、服務(wù)器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種建立數(shù)據(jù)交互通道的方法和系統(tǒng)、智能卡、服務(wù)器,尤其是用于在 智能卡和遠(yuǎn)程服務(wù)器間建立遠(yuǎn)程數(shù)據(jù)交互通道的方法、系統(tǒng)、智能卡、服務(wù)器。
背景技術(shù)
近年來,智能卡(如手機(jī)SIM卡、U盾、銀行卡等)的功能迅速發(fā)展,許多智能卡已 經(jīng)可以通過智能卡網(wǎng)絡(luò)服務(wù)器(Smart Card Web Server)與遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)交互。例 如,通過STK(USAT)或OTA通訊方式,使用(U) SIM卡的手機(jī)用戶可以享受手機(jī)銀行、手機(jī)證 券、網(wǎng)頁瀏覽等功能。因此,在智能卡和服務(wù)器間建立一個(gè)安全的數(shù)據(jù)交互通道以保證數(shù)據(jù) 在傳輸過程中的完整性、安全性就顯得十分重要。通常的數(shù)據(jù)交互通道包括握手層和記錄層;握手層主要是建立數(shù)據(jù)交互通道的過 程,用于智能卡和服務(wù)器的相互認(rèn)證,并確定在記錄層中用的傳輸協(xié)議版本、密鑰、向量等 參數(shù);記錄層利用握手層建立的數(shù)據(jù)交互通道傳輸數(shù)據(jù)。在握手層中智能卡和服務(wù)器通 常利用預(yù)存的密鑰進(jìn)行相互認(rèn)證;顯然,一旦該密鑰被盜取,之后的認(rèn)證過程就都不再安全 了。為解決這一問題,可使用一次一密的方式進(jìn)行認(rèn)證,即在智能卡和服務(wù)器中分別設(shè)置相 同的密碼列表,每次認(rèn)證時(shí)智能卡和服務(wù)器分別從中選擇相同的密碼進(jìn)行認(rèn)證。由于在一 次一密的認(rèn)證中每次認(rèn)證采用不同的密碼,故即使某次認(rèn)證中密碼被盜,也不會(huì)對(duì)之后的 認(rèn)證產(chǎn)生影響。發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有的一次一密認(rèn)證過程中,智能卡 和服務(wù)器中都要存儲(chǔ)密碼列表,這樣會(huì)占用智能卡和服務(wù)器中的大量存儲(chǔ)空間。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種建立數(shù)據(jù)交互通道的方法,其可減少對(duì)設(shè)備存儲(chǔ)空間的 占用。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案—種建立數(shù)據(jù)交互通道的方法,包括智能卡和服務(wù)器交互握手消息,所述智能卡 和服務(wù)器交互握手消息包括在所述智能卡和服務(wù)器使用第一密鑰進(jìn)行一次相互認(rèn)證前更 新所述第一密鑰,所述更新所述第一密鑰具體包括所述智能卡和服務(wù)器同步隨機(jī)數(shù);所述智能卡和服務(wù)器分別用所述隨機(jī)數(shù)和各自存儲(chǔ)的第一密鑰按相同的算法生 成第二密鑰,并分別用所述第二密鑰替代所述第一密鑰。其中,“握手消息”是指在建立數(shù)據(jù)交互通道的過程中用的、除了下述的比較MAC值 (Message Authentication Codes,消息認(rèn)證碼)的消息外的其它全部消息,包括確定記錄 層中的參數(shù)用的消息、服務(wù)器和智能卡進(jìn)行相互認(rèn)證用的消息、更新第一密鑰用的消息等。由于在本發(fā)明實(shí)施例的建立數(shù)據(jù)交互通道的方法中,每次認(rèn)證用的密鑰都是由舊 密鑰和隨機(jī)數(shù)生成的,設(shè)備中不用存儲(chǔ)密碼列表,故設(shè)備所需的存儲(chǔ)空間較少。
本發(fā)明的實(shí)施例還提供一種智能卡,其所需的存儲(chǔ)空間較少。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種智能卡,包括發(fā)送單元,用于發(fā)送握手消息;接收單元,用于接收握手消息;處理單元,用于處理所述握手消息;密鑰更新單元,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二密 鑰,再用所述第二密鑰替代所述第一密鑰。其中,處理單元可通過處理所述握手消息進(jìn)行認(rèn)證、生成記錄層中用的參數(shù)等。由于在本發(fā)明實(shí)施例的智能卡中,每次認(rèn)證用的密鑰都是由舊密鑰和隨機(jī)數(shù)生成 的,智能卡中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。本發(fā)明的實(shí)施例還提供一種服務(wù)器,其所需的存儲(chǔ)空間較少。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案本發(fā)明的實(shí)施例還提供一種服務(wù)器,其所需的存儲(chǔ)空間較少。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種服務(wù)器,包括發(fā)送單元,用于發(fā)送握手消息;接收單元,用于接收握手消息;處理單元,用于處理所述握手消息;密鑰更新單元,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二密 鑰,再用所述第二密鑰替代所述第一密鑰。由于在本發(fā)明實(shí)施例的服務(wù)器中,每次認(rèn)證用的密鑰都是由舊密鑰和隨機(jī)數(shù)生成 的,服務(wù)器中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。本發(fā)明的實(shí)施例還提供一種用于建立數(shù)據(jù)交互通道的系統(tǒng),其所需的存儲(chǔ)空間較 少。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種用于建立數(shù)據(jù)交互通道的系統(tǒng),包括智能卡和服務(wù)器,其中,所述智能卡包括發(fā)送單元,用于向所述服務(wù)器發(fā)送握手消息;接收單元,用于接收來自所述服務(wù)器的握手消息;處理單元,用于處理所述握手消息;密鑰更新單元,用于與所述服務(wù)器同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密 鑰按第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰;所述服務(wù)器包括發(fā)送單元,用于向所述智能卡發(fā)送握手消息;接收單元,用于接收來自所述智能卡的握手消息;處理單元,用于處理所述握手消息;密鑰更新單元,用于與所述智能卡同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密 鑰按第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰。
由于在本發(fā)明實(shí)施例的用于建立數(shù)據(jù)交互通道的系統(tǒng)中,每次認(rèn)證用的密鑰都是 由舊密鑰和隨機(jī)數(shù)生成的,設(shè)備中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。圖1為本發(fā)明實(shí)施例一的建立數(shù)據(jù)交互通道的方法的流程圖;圖2為本發(fā)明實(shí)施例一的建立數(shù)據(jù)交互通道的方法中更新第一密鑰步驟的流程 圖;圖3為本發(fā)明實(shí)施例二的建立數(shù)據(jù)交互通道的方法的過程示意圖;圖4為本發(fā)明實(shí)施例三的智能卡的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例的另一種智能卡的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例四的服務(wù)器的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例的另一種服務(wù)器的結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例五的用于建立數(shù)據(jù)交互通道的系統(tǒng)的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例的另一種用于建立數(shù)據(jù)交互通道的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整 地描述;顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其 它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一—種建立數(shù)據(jù)交互通道的方法,包括智能卡和服務(wù)器交互握手消息,如圖1所示, 所述智能卡和服務(wù)器交互握手消息包括在所述智能卡和服務(wù)器使用第一密鑰進(jìn)行一次相 互認(rèn)證前更新所述第一密鑰;如圖2所示,所述更新所述第一密鑰具體包括S11、所述智能卡和服務(wù)器同步隨機(jī)數(shù);S12、所述智能卡和服務(wù)器分別用所述隨機(jī)數(shù)和各自存儲(chǔ)的第一密鑰按相同的算 法生成第二密鑰,并分別用所述第二密鑰替代所述第一密鑰。由于在本發(fā)明實(shí)施例的建立數(shù)據(jù)交互通道的方法中,每次認(rèn)證用的密鑰都是由舊 密鑰和隨機(jī)數(shù)生成的,設(shè)備中不用存儲(chǔ)密碼列表,故設(shè)備所需的存儲(chǔ)空間較少。同時(shí),傳統(tǒng) 的密碼列表中的密碼個(gè)數(shù)顯然有限,在多次認(rèn)證后還是要重復(fù)使用密碼,而本發(fā)明實(shí)施例 的建立數(shù)據(jù)交互通道的方法可完全避免這一問題。實(shí)施例二本發(fā)明實(shí)施例提供一種建立數(shù)據(jù)交互通道的方法,其中智能卡和服務(wù)器中分別預(yù) 設(shè)有相同的16字節(jié)的預(yù)共享密鑰(第一密鑰)、序列數(shù)算法、序列數(shù)初始值等。如圖3所 示,建立數(shù)據(jù)交互通道的方法包括
步驟1、服務(wù)器產(chǎn)生一個(gè)8字節(jié)的隨機(jī)數(shù),并將其以數(shù)據(jù)短信的形式發(fā)送給智能 卡。智能卡和服務(wù)器分別對(duì)該隨機(jī)數(shù)消息的數(shù)據(jù)做MAC (指服務(wù)器對(duì)其發(fā)送的消息的數(shù)據(jù) 做MAC,而智能卡對(duì)其接收到的相應(yīng)消息的數(shù)據(jù)做MAC),得到用于下一步MAC運(yùn)算的中間值。步驟2、智能卡和服務(wù)器分別對(duì)該隨機(jī)數(shù)進(jìn)行運(yùn)算(如MAC運(yùn)算、哈希運(yùn)算等)以 得到32字節(jié)的結(jié)果,智能卡和服務(wù)器分別取該結(jié)果的前16字節(jié)用各自的預(yù)共享密鑰采用 3DES CBC算法進(jìn)行加密,得到16字節(jié)的密鑰(第二密鑰),并分別用該密鑰替代各自的預(yù) 共享密鑰(即用該密鑰作為新的預(yù)共享密鑰,也即更新第一密鑰)。步驟3、智能卡發(fā)送客戶請(qǐng)求(ClientHell0)消息給服務(wù)器,內(nèi)容包括智能卡支 持的傳輸協(xié)議和密碼算法、智能卡隨機(jī)數(shù)(32字節(jié))。智能卡和服務(wù)器分別將各自的序列數(shù) 加到客戶請(qǐng)求消息的數(shù)據(jù)中(例如加到客戶請(qǐng)求消息后邊,該加序列數(shù)的操作主要用于避 免消息傳輸順序出現(xiàn)錯(cuò)誤),之后分別更新各自的序列數(shù)(例如分別將各自的序列數(shù)加1); 智能卡和服務(wù)器再分別對(duì)客戶請(qǐng)求消息的數(shù)據(jù)(帶有序列數(shù)的數(shù)據(jù))做MAC得到新的中間 值(即將客戶請(qǐng)求消息的數(shù)據(jù)輸入上一步MAC運(yùn)算用的MAC函數(shù)中,利用上一步MAC運(yùn)算 得到的中間值對(duì)數(shù)據(jù)進(jìn)行update的MAC運(yùn)算)。步驟4、服務(wù)器發(fā)送服務(wù)器請(qǐng)求(Serverifello)消息給智能卡,內(nèi)容包括選用的 傳輸協(xié)議和密碼算法(都用于記錄層中)、服務(wù)器隨機(jī)數(shù)(32字節(jié))、對(duì)智能卡隨機(jī)數(shù)用預(yù) 共享密鑰(指被替代后的預(yù)共享密鑰,下同)加密后的值。智能卡和服務(wù)器分別對(duì)服務(wù)器 請(qǐng)求消息的數(shù)據(jù)做MAC得到新的中間值。步驟5、智能卡用預(yù)共享密鑰解密得智能卡隨機(jī)數(shù)并與自身保存的智能卡隨機(jī)數(shù) 相比較,相同則服務(wù)器認(rèn)證通過。步驟6、服務(wù)器發(fā)送服務(wù)器請(qǐng)求完成(ServerifelloDone)消息給智能卡。智能卡和 服務(wù)器分別對(duì)服務(wù)器請(qǐng)求完成消息的數(shù)據(jù)做MAC得到新的中間值。步驟7、智能卡發(fā)送密鑰交換(ClientKeyXchg)消息給服務(wù)器,內(nèi)容包括用預(yù)共 享密鑰分別對(duì)服務(wù)器隨機(jī)數(shù)和預(yù)主密鑰(48字節(jié),由智能卡生成)加密后的值。智能卡和 服務(wù)器并分別將各自的序列數(shù)加到密鑰交換消息的數(shù)據(jù)中,再分別將各自的序列數(shù)更新, 并分別對(duì)密鑰交換消息的數(shù)據(jù)做MAC得到新的中間值。步驟8、智能卡用預(yù)主密鑰生成主密鑰,并用該主密鑰生成記錄層中用的密鑰、向 量等參數(shù)。服務(wù)器用預(yù)共享密鑰解密得到服務(wù)器隨機(jī)數(shù)和預(yù)主密鑰;再比較解密的服務(wù)器 隨機(jī)數(shù)和自身保存的服務(wù)器隨機(jī)數(shù),相同則智能卡認(rèn)證通過;同時(shí)用預(yù)主密鑰按與智能卡 相同的算法生成主密鑰,再用主密鑰生成記錄層中用的密鑰、向量等參數(shù)。步驟9、智能卡發(fā)送密碼改變說明(ChangeCipherSpec)消息給服務(wù)器,內(nèi)容包括 上述的記錄層中用的參數(shù)。智能卡和服務(wù)器并分別將各自的序列數(shù)加到密碼改變說明消息 的數(shù)據(jù)中,再分別將各自的序列數(shù)更新,并分別對(duì)密碼改變說明消息的數(shù)據(jù)做MAC得到新 的中間值。步驟10、智能卡發(fā)送完成(Finished)消息給服務(wù)器。智能卡和服務(wù)器并分別將各 自的序列數(shù)加到完成消息的數(shù)據(jù)中,再分別將各自的序列數(shù)更新,并分別對(duì)完成消息的數(shù) 據(jù)做MAC得到新的中間值。步驟11、服務(wù)器發(fā)送密碼改變說明消息給智能卡,驗(yàn)證服務(wù)器和智能卡中生成的用于記錄層的參數(shù)是否相同。智能卡和服務(wù)器分別對(duì)密碼改變說明消息的數(shù)據(jù)做MAC得到 新的中間值。步驟12、服務(wù)器發(fā)送完成消息給智能卡。智能卡和服務(wù)器分別對(duì)完成消息的數(shù)據(jù) 做MAC,得到最終的MAC值(即將完成消息的數(shù)據(jù)輸入上述MAC函數(shù)中,用最新的中間值進(jìn) 行final運(yùn)算,使函數(shù)輸出最終的MAC值結(jié)果)。步驟13、智能卡用AES算法和預(yù)共享密鑰加密其中的最終MAC值,并將加密結(jié)果發(fā) 送給服務(wù)器。步驟14、服務(wù)器用預(yù)共享密鑰解密接收到的加密的MAC值,并比較解密的MAC值與 自身存儲(chǔ)的最終MAC值,如相同則表明上述過程中傳輸?shù)南]有被篡改。步驟15、服務(wù)器用AES算法和預(yù)共享密鑰加密其存儲(chǔ)的最終MAC值,并將加密結(jié)果 發(fā)送給智能卡。步驟16、智能卡用預(yù)共享密鑰解密接收到的加密的MAC值,并比較解密的MAC值與 自身存儲(chǔ)的最終MAC值,如相同則表明上述過程中傳輸?shù)南]有被篡改。由于智能卡和 服務(wù)器中的MAC值是通過對(duì)多條握手消息的數(shù)據(jù)逐一進(jìn)行MAC運(yùn)算而得到的,因此如果其 中任意一條握手消息發(fā)生錯(cuò)誤或被篡改(即服務(wù)器和智能卡中的該條消息不同),則此后 服務(wù)器和智能卡中算出的所有中間值和MAC值都會(huì)不同,這樣通過對(duì)MAC值進(jìn)行比較就可 驗(yàn)證握手過程中傳輸?shù)娜肯⒌恼_性。顯然,上述建立數(shù)據(jù)交互通道的方法可進(jìn)行許多本領(lǐng)域技術(shù)人員公知的變化,例 如可只對(duì)部分消息做MAC或根本不做MAC ;可進(jìn)行多次MAC值比較;比較MAC值時(shí)可不經(jīng) 加密而直接傳輸;在智能卡接收/服務(wù)器發(fā)送消息時(shí)也可進(jìn)行加序列數(shù)的操作,也可完全 不進(jìn)行加序列數(shù)的操作;序列數(shù)可按其它方式加到消息數(shù)據(jù)中(如加到消息前邊或與消息 混編);可用不同的算法生成預(yù)共享密鑰;可用不同的具體方法利用預(yù)共享密鑰進(jìn)行相互 認(rèn)證;部分消息的內(nèi)容、發(fā)送順序、加密情況可變化(例如可先發(fā)送客戶請(qǐng)求消息再發(fā)送 隨機(jī)數(shù)消息,或也可一同發(fā)送隨機(jī)數(shù)消息與客戶請(qǐng)求消息,或可將隨機(jī)數(shù)消息加密后再發(fā) 送);可選用不同的密鑰位數(shù)、隨機(jī)數(shù)位數(shù);各步驟可采用不同的具體算法、密鑰等。實(shí)施例三本發(fā)明實(shí)施例提供一種智能卡11,如圖4所示,其包括發(fā)送單元12,用于發(fā)送握手消息;接收單元13,用于接收握手消息;處理單元14,用于處理所述握手消息;密鑰更新單元15,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二 密鑰,再用所述第二密鑰替代所述第一密鑰??蛇x的,如圖5所示,本發(fā)明實(shí)施例的智能卡11還可包括MAC運(yùn)算單元16,用于對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一MAC值;其中 所述對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值包括對(duì)一條所述握手消息的數(shù) 據(jù)做MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較單元17,用于比較所述第一 MAC值和由所述接收單元13接收的第二 MAC值;序列數(shù)更新單元18,用于生成并更新序列數(shù),并將所述序列數(shù)加到所述握手消息 的數(shù)據(jù)中。
9
由于在本發(fā)明實(shí)施例的智能卡中,每次認(rèn)證用的密鑰都是由舊密鑰和隨機(jī)數(shù)生成 的,智能卡中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。實(shí)施例四本發(fā)明實(shí)施例提供一種服務(wù)器21,如圖6所示,其包括發(fā)送單元22,用于發(fā)送握手消息;接收單元23,用于接收握手消息;處理單元24,用于處理所述握手消息;密鑰更新單元25,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二 密鑰,再用所述第二密鑰替代所述第一密鑰??蛇x的,如圖7所示,本發(fā)明實(shí)施例的服務(wù)器21還可包括MAC運(yùn)算單元26,用于對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值;其中 所述對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值包括對(duì)一條所述握手消息的數(shù) 據(jù)做MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較單元27,用于比較所述第一 MAC值和由所述接收單元23接收的第二 MAC值;序列數(shù)更新單元28,用于生成并更新序列數(shù),并將所述序列數(shù)加到所述握手消息 的數(shù)據(jù)中。由于在本發(fā)明實(shí)施例的服務(wù)器中,每次認(rèn)證用的密鑰都是由舊密鑰和隨機(jī)數(shù)生成 的,服務(wù)器中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。實(shí)施例五本發(fā)明實(shí)施例提供一種用于建立數(shù)據(jù)交互通道的系統(tǒng),如圖8所示,其包括智能 卡11和服務(wù)器21,其中,所述智能卡11包括發(fā)送單元12,用于向所述服務(wù)器21發(fā)送握手消息;接收單元13,用于接收來自所述服務(wù)器21的握手消息;處理單元14,用于處理所述握手消息;密鑰更新單元15,用于與所述服務(wù)器21同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第 一密鑰按第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰;所述服務(wù)器21包括發(fā)送單元22,用于向所述智能卡11發(fā)送握手消息;接收單元23,用于接收來自所述智 卡11的握手消息;處理單元24,用于處理所述握手消息;密鑰更新單元25,用于與所述智能卡11同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第 一密鑰按第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰??蛇x的,如圖9所示,在本發(fā)明實(shí)施例的用于建立數(shù)據(jù)交互通道的系統(tǒng)中,智能卡 11還可包括MAC運(yùn)算單元16,用于與所述服務(wù)器21同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算 以得到智能卡MAC值;其中所述與所述服務(wù)器21同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算 以得到智能卡MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算,并保存所得的中間值, 以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;
比較單元17,用于比較所述智能卡MAC值和由所述接收單元13接收的服務(wù)器MAC 值;序列數(shù)更新單元18,用于按第二算法與所述服務(wù)器21同步地生成并更新序列數(shù), 并將所述序列數(shù)加到所述握手消息的數(shù)據(jù)中;所述服務(wù)器21還包括MAC運(yùn)算單元26,用于與所述智能卡11同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算 以得到服務(wù)器MAC值,其中所述與所述智能卡11同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算 以得到服務(wù)器MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算,并保存所得的中間值, 以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較單元27,用于比較所述服務(wù)器MAC值和由所述接收單元23接收的智能卡MAC 值;序列數(shù)更新單元28,用于按第二算法與所述智能卡11同步地生成并更新序列數(shù), 并將所述序列數(shù)加到所述握手消息的數(shù)據(jù)中。由于在本發(fā)明實(shí)施例的用于建立數(shù)據(jù)交互通道的系統(tǒng)中,每次認(rèn)證用的密鑰都是 由舊密鑰和隨機(jī)數(shù)生成的,設(shè)備中不用存儲(chǔ)密碼列表,故其所需的存儲(chǔ)空間較少。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn) 品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算 機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理 器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生 用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能 的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或 多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì) 算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或 其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖 一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造 性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu) 選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種建立數(shù)據(jù)交互通道的方法,包括智能卡和服務(wù)器交互握手消息,其特征在于,所述智能卡和服務(wù)器交互握手消息包括在所述智能卡和服務(wù)器使用第一密鑰進(jìn)行一次相互認(rèn)證前更新所述第一密鑰,所述更新所述第一密鑰具體包括所述智能卡和服務(wù)器同步隨機(jī)數(shù);所述智能卡和服務(wù)器分別用所述隨機(jī)數(shù)和各自存儲(chǔ)的第一密鑰按相同的算法生成第二密鑰,并分別用所述第二密鑰替代所述第一密鑰。
2.根據(jù)權(quán)利要求1所述的建立數(shù)據(jù)交互通道的方法,其特征在于,所述智能卡和服務(wù) 器同步隨機(jī)數(shù)包括下列兩步驟中的一個(gè)所述智能卡產(chǎn)生隨機(jī)數(shù)并將其發(fā)送給所述服務(wù)器;所述服務(wù)器產(chǎn)生隨機(jī)數(shù)并將其發(fā)送給所述智能卡。
3.根據(jù)權(quán)利要求1所述的建立數(shù)據(jù)交互通道的方法,其特征在于,所述智能卡和服務(wù) 器分別用所述隨機(jī)數(shù)和各自存儲(chǔ)的第一密鑰按相同的算法生成第二密鑰包括所述智能卡和服務(wù)器分別對(duì)所述隨機(jī)數(shù)做MAC運(yùn)算得到隨機(jī)數(shù)MAC值,之后分別用所 述第一密鑰對(duì)所述隨機(jī)數(shù)MAC值加密,并將加密結(jié)果作為第二密鑰。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的建立數(shù)據(jù)交互通道的方法,其特征在于,還包括所述智能卡和服務(wù)器分別同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以分別得到MAC 值;其中所述智能卡和服務(wù)器分別同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以分別得到 MAC值包括所述智能卡和服務(wù)器分別同步地對(duì)一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算,并分 別保存所得的中間值,以用于分別對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較所述智能卡和服務(wù)器中的MAC值。
5.根據(jù)權(quán)利要求4所述的建立數(shù)據(jù)交互通道的方法,其特征在于,至少有一條所述握 手消息的數(shù)據(jù)中包括序列數(shù),所述序列數(shù)由所述智能卡和服務(wù)器按相同的算法分別同步地 生成并加到所述握手消息的數(shù)據(jù)中。
6.根據(jù)權(quán)利要求5所述的建立數(shù)據(jù)交互通道的方法,其特征在于,還滿足下列兩條件 中的至少一個(gè)所述智能卡每發(fā)送一條握手消息后,所述智能卡將其生成的所述序列數(shù)加入其發(fā)送的 所述握手消息的數(shù)據(jù)中,所述服務(wù)器將其生成的所述序列數(shù)加入其接收到的所述握手消息 的數(shù)據(jù)中;所述智能卡和服務(wù)器再分別對(duì)各自的所述序列數(shù)進(jìn)行更新;所述服務(wù)器每發(fā)送一條握手消息后,所述服務(wù)器將其生成的所述序列數(shù)加入其發(fā)送的 所述握手消息的數(shù)據(jù)中,所述智能卡將其生成的所述序列數(shù)加入其接收到的所述握手消息 的數(shù)據(jù)中;所述智能卡和服務(wù)器再分別對(duì)各自的所述序列數(shù)進(jìn)行更新。
7.一種智能卡,包括發(fā)送單元,用于發(fā)送握手消息;接收單元,用于接收握手消息;處理單元,用于處理所述握手消息;其特征在于,所述智能卡還包括密鑰更新單元,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二密鑰,再 用所述第二密鑰替代所述第一密鑰。
8.根據(jù)權(quán)利要求7所述的智能卡,其特征在于,還包括MAC運(yùn)算單元,用于對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值;其中所述 對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做 MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算; 比較單元,用于比較所述第一 MAC值和由所述接收單元接收的第二 MAC值; 序列數(shù)更新單元,用于生成并更新序列數(shù),并將所述序列數(shù)加到所述握手消息的數(shù)據(jù)中。
9.一種服務(wù)器,包括發(fā)送單元,用于發(fā)送握手消息; 接收單元,用于接收握手消息; 處理單元,用于處理所述握手消息; 其特征在于,所述服務(wù)器還包括密鑰更新單元,用于確定隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰生成第二密鑰,再 用所述第二密鑰替代所述第一密鑰。
10.根據(jù)權(quán)利要求9所述的服務(wù)器,其特征在于,還包括MAC運(yùn)算單元,用于對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值;其中所述 對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到第一 MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做 MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算; 比較單元,用于比較所述第一 MAC值和由所述接收單元接收的第二 MAC值; 序列數(shù)更新單元,用于生成并更新序列數(shù),并將所述序列數(shù)加到所述握手消息的數(shù)據(jù)中。
11.一種用于建立數(shù)據(jù)交互通道的系統(tǒng),包括智能卡和服務(wù)器,其特征在于, 所述智能卡包括發(fā)送單元,用于向所述服務(wù)器發(fā)送握手消息; 接收單元,用于接收來自所述服務(wù)器的握手消息; 處理單元,用于處理所述握手消息;密鑰更新單元,用于與所述服務(wù)器同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰按 第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰; 所述服務(wù)器包括發(fā)送單元,用于向所述智能卡發(fā)送握手消息; 接收單元,用于接收來自所述智能卡的握手消息; 處理單元,用于處理所述握手消息;密鑰更新單元,用于與所述智能卡同步隨機(jī)數(shù),并用所述隨機(jī)數(shù)和存儲(chǔ)的第一密鑰按 第一算法生成第二密鑰,再用所述第二密鑰替代所述第一密鑰。
12.根據(jù)權(quán)利要求11所述的用于建立數(shù)據(jù)交互通道的系統(tǒng),其特征在于, 所述智能卡還包括MAC運(yùn)算單元,用于與所述服務(wù)器同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到智 能卡MAC值;其中所述與所述服務(wù)器同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到智能 卡MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較單元,用于比較所述智能卡MAC值和由所述接收單元接收的服務(wù)器MAC值; 序列數(shù)更新單元,用于按第二算法與所述服務(wù)器同步地生成并更新序列數(shù),并將所述 序列數(shù)加到所述握手消息的數(shù)據(jù)中; 所述服務(wù)器還包括MAC運(yùn)算單元,用于與所述智能卡同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到服 務(wù)器MAC值,其中所述與所述智能卡同步地對(duì)所述握手消息的數(shù)據(jù)做MAC運(yùn)算以得到服務(wù) 器MAC值包括對(duì)一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算,并保存所得的中間值,以用于對(duì)下 一條所述握手消息的數(shù)據(jù)做MAC運(yùn)算;比較單元,用于比較所述服務(wù)器MAC值和由所述接收單元接收的智能卡MAC值; 序列數(shù)更新單元,用于按第二算法與所述智能卡同步地生成并更新序列數(shù),并將所述 序列數(shù)加到所述握手消息的數(shù)據(jù)中。
全文摘要
本發(fā)明提供一種建立數(shù)據(jù)交互通道的方法和系統(tǒng)、智能卡、服務(wù)器,屬于數(shù)據(jù)交互技術(shù)領(lǐng)域,可解決現(xiàn)有的建立數(shù)據(jù)交互通道的方法占用設(shè)備的存儲(chǔ)空間過大的問題。本發(fā)明的建立數(shù)據(jù)交互通道的方法包括智能卡和服務(wù)器更新第一密鑰后用第一密鑰進(jìn)行相互認(rèn)證,其中更新第一密鑰包括智能卡和服務(wù)器同步隨機(jī)數(shù);智能卡和服務(wù)器分別用隨機(jī)數(shù)和存儲(chǔ)的第一密鑰按相同的算法生成第二密鑰,并分別用第二密鑰替代所述第一密鑰。本發(fā)明的智能卡和服務(wù)器包括發(fā)送單元、接收單元、處理單元、密鑰更新單元。本發(fā)明的用于建立數(shù)據(jù)交互通道的系統(tǒng)包括上述智能卡和服務(wù)器。本發(fā)明可用于建立遠(yuǎn)程數(shù)據(jù)交互通道。
文檔編號(hào)H04L29/06GK101895538SQ20101022254
公開日2010年11月24日 申請(qǐng)日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者孫婉麗, 張楠 申請(qǐng)人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
连云港市| 民勤县| 海原县| 德昌县| 兰溪市| 得荣县| 巴塘县| 休宁县| 乌拉特前旗| 谢通门县| 积石山| 凌海市| 东至县| 白朗县| 梅州市| 开平市| 永吉县| 徐闻县| 寿光市| 鄂州市| 聊城市| 同德县| 锡林浩特市| 绵竹市| 荆州市| 凤山县| 连山| 分宜县| 巴中市| 莲花县| 五家渠市| 达孜县| 莲花县| 江华| 南乐县| 游戏| 雅安市| 巴塘县| 德阳市| 鲁甸县| 铜川市|