本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體涉及一種密鑰存儲(chǔ)及設(shè)備身份認(rèn)證方法、裝置。
背景技術(shù):
為了提高設(shè)備之間信息傳輸?shù)陌踩?,通常采用密鑰對(duì)信息加密后傳輸。用于信息加密的密鑰包括簽名密鑰對(duì)、加密密鑰對(duì)和會(huì)話密鑰對(duì),其中加密密鑰對(duì)用于保護(hù)會(huì)話密鑰,簽名密鑰對(duì)用于數(shù)字簽名和驗(yàn)證,會(huì)話密鑰對(duì)用于數(shù)據(jù)加解密和mac運(yùn)算。為了保護(hù)密鑰的安全性、進(jìn)一步提高信息傳輸?shù)陌踩?,通常將密鑰對(duì)存儲(chǔ)于安全芯片的不可讀寫(xiě)區(qū)域,密鑰通常不可以導(dǎo)出。
圖1所示為安全芯片的應(yīng)用邏輯結(jié)構(gòu)圖,其由國(guó)家密碼管理局所制定的標(biāo)準(zhǔn)(國(guó)密標(biāo)準(zhǔn))提供。其中,應(yīng)用為包括容器、設(shè)備認(rèn)證密鑰和文件的一種結(jié)構(gòu),具備獨(dú)立的權(quán)限管理;容器特指密鑰容器,是一個(gè)用于存放非對(duì)稱密鑰對(duì)和會(huì)話密鑰的邏輯對(duì)象。簽名密鑰對(duì)由安全芯片內(nèi)部產(chǎn)生,加密密鑰對(duì)由外部產(chǎn)生并安全導(dǎo)入,會(huì)話密鑰可由安全芯片內(nèi)部產(chǎn)生或者由外部產(chǎn)生并安全導(dǎo)入。
數(shù)字簽名作為一種常用的數(shù)據(jù)安全傳輸方式,可以防止發(fā)送方所發(fā)送的信息被篡改。具體地,發(fā)送方采用簽名私鑰對(duì)信息加密(即簽名),接收方采用簽名公鑰對(duì)加密信息解密。安全芯片中可生成簽名密鑰對(duì),然而只能夠?qū)С龊灻€,而不能導(dǎo)出簽名私鑰。因此,當(dāng)有信息需要簽名時(shí),只能將待簽名信息導(dǎo)入安全芯片,由安全芯片內(nèi)部簽名處理后導(dǎo)出已簽名信息。
然而,在待簽名信息較多時(shí)(例如服務(wù)器需要與多個(gè)客戶端進(jìn)行通信),安全芯片的處理能力便成為服務(wù)器進(jìn)行通信的瓶頸?,F(xiàn)有方式解決這一瓶頸問(wèn)題時(shí),往往通過(guò)提高安全芯片性能、增加安全芯片的數(shù)量等手段。這往往會(huì)增加系統(tǒng)成本。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種密鑰存儲(chǔ)方法及裝置,和一種設(shè)備身份認(rèn)證方法及裝置,以減少安全芯片的計(jì)算量。
本發(fā)明第一方面提供了一種密鑰存儲(chǔ)方法,所述方法包括:向安全芯片內(nèi)部導(dǎo)入第一加密密鑰;導(dǎo)出所述第一加密密鑰的公鑰;利用所述第一加密密鑰的公鑰在所述安全芯片外部生成第一會(huì)話密鑰密文和第一會(huì)話密鑰句柄;在所述安全芯片外部生成存儲(chǔ)密鑰;采用所述第一會(huì)話密鑰句柄對(duì)所述存儲(chǔ)密鑰加密,得到存儲(chǔ)密文;將所述第一會(huì)話密鑰密文和所述存儲(chǔ)密文存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū);所述第一會(huì)話密鑰密文導(dǎo)入所述安全芯片可以獲取所述第一會(huì)話密鑰句柄。
可選地,所述向安全芯片內(nèi)導(dǎo)入第一加密密鑰的步驟包括:控制安全芯片內(nèi)部生成并導(dǎo)出第一簽名密鑰;采用所述第一簽名密鑰在所述安全芯片內(nèi)部生成第二會(huì)話密鑰,并導(dǎo)出第二會(huì)話密鑰密文和第二會(huì)話密鑰句柄;在所述安全芯片外部生成第二加密密鑰;采用所述第二會(huì)話密鑰句柄對(duì)所述第二加密密鑰進(jìn)行加密,得到第二加密密鑰密文;根據(jù)所述第二會(huì)話密鑰密文和所述第二加密密鑰密文生成第一加密密鑰;將所述第一加密密鑰導(dǎo)入所述安全芯片內(nèi)部。
本發(fā)明第二方面提供了一種設(shè)備身份認(rèn)證方法,用于服務(wù)器,所述服務(wù)器采用第一方面或者第一方面任意一種可選實(shí)施方式所述的密鑰存儲(chǔ)方法存儲(chǔ)簽名私鑰;所述方法包括:接收所述客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù);所述第一加密數(shù)據(jù)采用服務(wù)器的簽名公鑰加密;當(dāng)所述客戶端證書(shū)驗(yàn)證合法時(shí),從所述安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰;采用所述簽名私鑰對(duì)所述第一加密數(shù)據(jù)進(jìn)行解密;當(dāng)解密成功時(shí),接收所述客戶端所發(fā)送的簽名值;采用所述客戶端證書(shū)中的公鑰對(duì)所述簽名值驗(yàn)簽;當(dāng)驗(yàn)簽通過(guò)時(shí),確定所述客戶端身份認(rèn)證通過(guò)。
可選地,所述從所述安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰的步驟,包括:從所述安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取所述第一會(huì)話密鑰密文和所述存儲(chǔ)密文;將所述第一會(huì)話密鑰密文導(dǎo)入所述安全芯片,得到所述第一會(huì)話密鑰句柄;采用所述第一會(huì)話密鑰句柄對(duì)所述存儲(chǔ)密文解密,得到所述存儲(chǔ)密鑰作為所述服務(wù)器的簽名私鑰。
可選地,所述接收所述客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)的步驟之前,還包括:將簽名公鑰和服務(wù)器信息生成證書(shū)請(qǐng)求文件;通過(guò)所述證書(shū)請(qǐng)求文件向證書(shū)認(rèn)證機(jī)構(gòu)請(qǐng)求獲取數(shù)字證書(shū);接收所述證書(shū)認(rèn)證機(jī)構(gòu)所發(fā)送的數(shù)字證書(shū);存儲(chǔ)所述數(shù)字證書(shū)。
本發(fā)明第三方面提供了一種密鑰存儲(chǔ)裝置,所述裝置包括:導(dǎo)入單元,用于向安全芯片內(nèi)部導(dǎo)入第一加密密鑰;導(dǎo)出單元,用于導(dǎo)出所述第一加密密鑰的公鑰;第一生成單元,用于利用所述第一加密密鑰的公鑰在所述安全芯片外部生成第一會(huì)話密鑰密文和第一會(huì)話密鑰句柄;第二生成單元,用于在所述安全芯片外部生成存儲(chǔ)密鑰;加密單元,用于采用所述第一會(huì)話密鑰句柄對(duì)所述存儲(chǔ)密鑰加密,得到存儲(chǔ)密文;第一存儲(chǔ)單元,用于將所述第一會(huì)話密鑰密文和所述存儲(chǔ)密文存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū);所述第一會(huì)話密鑰密文導(dǎo)入所述安全芯片可以獲取所述第一會(huì)話密鑰句柄。
可選地,所述導(dǎo)入單元包括:第一控制子單元,用于控制安全芯片內(nèi)部生成并導(dǎo)出第一簽名密鑰;第一生成子單元,用于采用所述第一簽名密鑰在所述安全芯片內(nèi)部生成第二會(huì)話密鑰,并導(dǎo)出第二會(huì)話密鑰密文和第二會(huì)話密鑰句柄;第二生成子單元,用于在所述安全芯片外部生成第二加密密鑰;加密子單元,用于采用所述第二會(huì)話密鑰句柄對(duì)所述第二加密密鑰進(jìn)行加密,得到第二加密密鑰密文;第三生成子單元,用于根據(jù)所述第二會(huì)話密鑰密文和所述第二加密密鑰密文生成第一加密密鑰;第一導(dǎo)入子單元,用于將所述第一加密密鑰導(dǎo)入所述安全芯片內(nèi)部。
本發(fā)明第四方面提供了一種設(shè)備身份認(rèn)證裝置,用于服務(wù)器,所述服務(wù)器采用第三方面或者第三方面任意一種可選實(shí)施方式所述的密鑰存儲(chǔ)裝置存儲(chǔ)簽名私鑰;所述裝置包括:第一接收單元,用于接收所述客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù);所述第一加密數(shù)據(jù)采用服務(wù)器的簽名公鑰加密;獲取單元,用于當(dāng)所述客戶端證書(shū)驗(yàn)證合法時(shí),從所述安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰;解密單元,用于采用所述簽名私鑰對(duì)所述第一加密數(shù)據(jù)進(jìn)行解密;第二接收單元,用于當(dāng)解密成功時(shí),接收所述客戶端所發(fā)送的簽名值;驗(yàn)簽單元,用于采用所述客戶端證書(shū)中的公鑰對(duì)所述簽名值驗(yàn)簽;確定單元,用于當(dāng)驗(yàn)簽通過(guò)時(shí),確定所述客戶端身份認(rèn)證通過(guò)。
可選地,所述獲取單元包括:獲取子單元,用于從所述安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取所述第一會(huì)話密鑰密文和所述存儲(chǔ)密文;第二導(dǎo)入子單元,用于將所述第一會(huì)話密鑰密文導(dǎo)入所述安全芯片,得到所述第一會(huì)話密鑰句柄;解密子單元,用于采用所述第一會(huì)話密鑰句柄對(duì)所述存儲(chǔ)密文解密,得到所述存儲(chǔ)密鑰作為所述服務(wù)器的簽名私鑰。
可選地,所述裝置還包括:第三生成單元,用于將簽名公鑰和服務(wù)器信息生成證書(shū)請(qǐng)求文件;請(qǐng)求單元,用于通過(guò)所述證書(shū)請(qǐng)求文件向證書(shū)認(rèn)證機(jī)構(gòu)請(qǐng)求獲取數(shù)字證書(shū);第三接收單元,用于接收所述證書(shū)認(rèn)證機(jī)構(gòu)所發(fā)送的數(shù)字證書(shū);第二存儲(chǔ)單元,用于存儲(chǔ)所述數(shù)字證書(shū)。
本發(fā)明實(shí)施例所提供的密鑰存儲(chǔ)方法及裝置,在安全芯片外部生成存儲(chǔ)密鑰,利用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密得到存儲(chǔ)密文,將存儲(chǔ)密文和第一會(huì)話密鑰密文一起存放至安全芯片的可讀寫(xiě)存儲(chǔ)區(qū),從而當(dāng)有信息需要用存儲(chǔ)密鑰進(jìn)行簽名或解密時(shí),可以從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取存儲(chǔ)密文和第一會(huì)話密鑰密文,將第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄,采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密文解密可以獲取存儲(chǔ)密鑰,進(jìn)而可以在安全芯片外部利用該存儲(chǔ)密鑰對(duì)待處理信息進(jìn)行簽名或解密,而無(wú)需將待簽名信息導(dǎo)入到安全芯片中由安全芯片進(jìn)行處理,由此減少了安全芯片的計(jì)算量。
本發(fā)明實(shí)施例所提供的設(shè)備身份認(rèn)證方法及裝置,服務(wù)器接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)之后,當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰,采用該簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,由于該簽名私鑰是采用第一方面或者第一方面任意一種可選實(shí)施方式所述的密鑰存儲(chǔ)方法存儲(chǔ)的,因此該設(shè)備身份驗(yàn)證算法可以減少安全芯片的計(jì)算量。
附圖說(shuō)明
通過(guò)參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
圖1示出了安全芯片的應(yīng)用邏輯結(jié)構(gòu)圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種密鑰存儲(chǔ)方法的流程圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例的另一種密鑰存儲(chǔ)方法的流程圖;
圖4示出了密鑰存儲(chǔ)方法的示意圖;
圖5示出了根據(jù)本發(fā)明實(shí)施例的一種設(shè)備身份認(rèn)證方法的流程圖;
圖6示出了根據(jù)本發(fā)明實(shí)施例的另一種設(shè)備身份認(rèn)證方法的流程圖;
圖7示出了根據(jù)本發(fā)明實(shí)施例的一種密鑰存儲(chǔ)裝置的原理框圖;
圖8示出了根據(jù)本發(fā)明實(shí)施例的另一種密鑰存儲(chǔ)裝置的原理框圖;
圖9示出了根據(jù)本發(fā)明實(shí)施例的一種設(shè)備身份認(rèn)證裝置的原理框圖;
圖10示出了根據(jù)本發(fā)明實(shí)施例的另一種設(shè)備身份認(rèn)證裝置的原理框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種密鑰存儲(chǔ)方法的流程圖,該方法用于服務(wù)器。根據(jù)圖2所示,該方法包括如下步驟:
s101:向安全芯片內(nèi)部導(dǎo)入第一加密密鑰。該方法中需要用到加密密鑰,而根據(jù)安全芯片國(guó)密標(biāo)準(zhǔn),加密密鑰須由外部產(chǎn)生并安全導(dǎo)入。除非特指加密密鑰的公鑰或私鑰,否則本申請(qǐng)中的加密密鑰是指加密密鑰對(duì),即包括公鑰和私鑰。
s102:導(dǎo)出第一加密密鑰的公鑰。根據(jù)安全芯片國(guó)密標(biāo)準(zhǔn),只有加密密鑰的公鑰才可以導(dǎo)出,私鑰不可以導(dǎo)出。
s103:利用第一加密密鑰的公鑰在安全芯片外部生成第一會(huì)話密鑰密文和第一會(huì)話密鑰句柄。
s104:在安全芯片外部生成存儲(chǔ)密鑰。該存儲(chǔ)密鑰即為本方法所要存儲(chǔ)的密鑰。需要注意的是,該存儲(chǔ)密碼是外部生成的,并非安全內(nèi)部生成的。
s105:采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密,得到存儲(chǔ)密文。
s106:將第一會(huì)話密鑰密文和存儲(chǔ)密文存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū)。其中,第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄。
需要補(bǔ)充說(shuō)明的是,上述步驟s104可以在步驟s105之前的任意一個(gè)步驟之前或之后,本申請(qǐng)?jiān)诖瞬粚?duì)步驟s104的位置做限定。
上述密鑰存儲(chǔ)方法,在安全芯片外部生成存儲(chǔ)密鑰,利用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密得到存儲(chǔ)密文,將存儲(chǔ)密文和第一會(huì)話密鑰密文一起存放至安全芯片的可讀寫(xiě)存儲(chǔ)區(qū),從而當(dāng)有信息需要用存儲(chǔ)密鑰進(jìn)行簽名或解密時(shí),可以從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取存儲(chǔ)密文和第一會(huì)話密鑰密文,將第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄,采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密文解密可以獲取存儲(chǔ)密鑰,進(jìn)而可以在安全芯片外部利用該存儲(chǔ)密鑰對(duì)待處理信息進(jìn)行簽名或解密,而無(wú)需將待簽名信息導(dǎo)入到安全芯片中由安全芯片進(jìn)行處理,由此減少了安全芯片的計(jì)算量。
實(shí)施例二
圖3示出了根據(jù)本發(fā)明實(shí)施例的另一種密鑰存儲(chǔ)方法的流程圖,該方法用于服務(wù)器。圖4示出了該密鑰存儲(chǔ)方法的示意圖。
根據(jù)圖3所示,該方法包括如下步驟:
s201:控制安全芯片內(nèi)部生成并導(dǎo)出第一簽名密鑰。
如圖4所示,控制在安全芯片內(nèi)部生成第一簽名密鑰p1(pu1,pr1),pu1、pr1分別為該第一簽名密鑰p1(pu1,pr1)的公鑰和私鑰。
s202:采用第一簽名密鑰在安全芯片內(nèi)部生成第二會(huì)話密鑰,并導(dǎo)出第二會(huì)話密鑰密文和第二會(huì)話密鑰句柄。
上述在安全芯片內(nèi)部生成第一簽名密鑰p1(pu1,pr1)之后,可以直接控制安全芯片內(nèi)部利用第一簽名密鑰p1(pu1,pr1)生成第二會(huì)話密鑰sek2(c2,kh2);或者先導(dǎo)出第一簽名密鑰p1(pu1,pr1)的公鑰pu1,再將公鑰pu1導(dǎo)入到安全芯片中,控制安全芯片內(nèi)部利用公鑰pu1生成第二會(huì)話密鑰sek2(c2,kh2)。其中c2為第二會(huì)話密鑰的密文,kh2為第二會(huì)話密鑰的句柄。
s203:在安全芯片外部生成第二加密密鑰。
如圖4所示,在安全芯片外部生成第二加密密鑰key2。
s204:采用第二會(huì)話密鑰句柄對(duì)第二加密密鑰進(jìn)行加密,得到第二加密密鑰密文。
如圖4所示,利用第二會(huì)話密鑰句柄kh2對(duì)第二加密密鑰key2進(jìn)行加密,得到第二加密密鑰密文c2。
s205:根據(jù)第二會(huì)話密鑰密文和第二加密密鑰密文生成第一加密密鑰。
如圖4所示,根據(jù)第二會(huì)話密鑰密文c2和第二加密密文c2生成第一加密密鑰c1(pu1,pr1),其中pu1、pr1分別為該第一加密密鑰c1(pu1,pr1)的公鑰和私鑰。
s206:將第一加密密鑰導(dǎo)入安全芯片內(nèi)部。
如圖4所示,即將第一加密密鑰c1(pu1,pr1)導(dǎo)入到安全芯片內(nèi)部。
上述步驟s201至s206具體實(shí)現(xiàn)了實(shí)施例一中的步驟s101。
s207:導(dǎo)出第一加密密鑰的公鑰。
如圖4所示,導(dǎo)出第一加密密鑰c1(pu1,pr1)的公鑰pu1。
s208:利用第一加密密鑰的公鑰在安全芯片外部生成第一會(huì)話密鑰密文和第一會(huì)話密鑰句柄。
如圖4所示,利用上述第一加密密鑰c1(pu1,pr1)的公鑰pu1在安全芯片外部生成第一會(huì)話密鑰sek1(c1,kh1),其中c1為第一會(huì)話密鑰的密文,kh1為第一會(huì)話密鑰的句柄。
s209:在安全芯片外部生成存儲(chǔ)密鑰。
如圖4所示,在安全芯片外部生成存儲(chǔ)密鑰key1。
s210:采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密,得到存儲(chǔ)密文。
如圖4所示,利用第一會(huì)話密鑰句柄kh1對(duì)存儲(chǔ)密鑰key1加密,得到存儲(chǔ)密文c3。
s211:將第一會(huì)話密鑰密文和存儲(chǔ)密文存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū)。第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄。
如圖4所示,將第一會(huì)話密鑰密文c1和存儲(chǔ)密文c3存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū),可讀寫(xiě)存儲(chǔ)區(qū)內(nèi)的數(shù)據(jù)均可以被外部獲取。
上述步驟s207至s211請(qǐng)參閱實(shí)施例一中的步驟s102至s106,在此不再贅述。
實(shí)施例三
圖5示出了根據(jù)本發(fā)明實(shí)施例的一種設(shè)備身份認(rèn)證方法的流程圖,該方法用于服務(wù)器,并且服務(wù)器采用實(shí)施例一或?qū)嵤├龅拿荑€存儲(chǔ)方法存儲(chǔ)簽名私鑰。根據(jù)圖5所示,該方法包括如下步驟:
s301:接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)。第一加密數(shù)據(jù)采用服務(wù)器的簽名公鑰加密。
s302:當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰。
s303:采用簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密。
由于該第一加密數(shù)據(jù)是采用服務(wù)器的簽名公鑰進(jìn)行加密的,因此若采用服務(wù)器的簽名私鑰解密成功,則可以說(shuō)明該客戶端持有服務(wù)器證書(shū)(一般簽名公鑰包含于服務(wù)證書(shū)中)。
s304:當(dāng)解密成功時(shí),接收客戶端所發(fā)送的簽名值。
s305:采用客戶端證書(shū)中的公鑰對(duì)簽名值驗(yàn)簽。
由于客戶端所發(fā)送的簽名值是采用客戶端證書(shū)中的私鑰進(jìn)行加密的,因此若通過(guò)客戶端證書(shū)中的公鑰對(duì)簽名值驗(yàn)簽通過(guò),則可以說(shuō)明該簽名值確實(shí)為該客戶端所發(fā)而未經(jīng)更改過(guò),其簽名內(nèi)容可信。
s306:當(dāng)驗(yàn)簽通過(guò)時(shí),確定客戶端身份認(rèn)證通過(guò)。
上述設(shè)備身份認(rèn)證方法,服務(wù)器接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)之后,當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰,采用該簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,由于該簽名私鑰是采用實(shí)施例一或?qū)嵤├龅拿荑€存儲(chǔ)方法存儲(chǔ)的,因此該設(shè)備身份驗(yàn)證算法可以減少安全芯片的計(jì)算量,具體請(qǐng)見(jiàn)實(shí)施例一。
實(shí)施例四
圖6示出了根據(jù)本發(fā)明實(shí)施例的另一種設(shè)備身份認(rèn)證方法的流程圖,該方法用于服務(wù)器,并且服務(wù)器采用實(shí)施例一或?qū)嵤├龅拿荑€存儲(chǔ)方法存儲(chǔ)簽名私鑰。根據(jù)圖6所示,該方法包括如下步驟:
s401:將簽名公鑰和服務(wù)器信息生成證書(shū)請(qǐng)求文件。
s402:通過(guò)證書(shū)請(qǐng)求文件向證書(shū)認(rèn)證機(jī)構(gòu)請(qǐng)求獲取數(shù)字證書(shū)。
s403:接收證書(shū)認(rèn)證機(jī)構(gòu)所發(fā)送的數(shù)字證書(shū)。
s404:存儲(chǔ)數(shù)字證書(shū)。該數(shù)字證書(shū)可以存儲(chǔ)于安全芯片中,也可以存儲(chǔ)于安全芯片外部。
上述步驟s401至s404用于服務(wù)器向證書(shū)認(rèn)證機(jī)構(gòu)獲取數(shù)字證書(shū)。
s405:響應(yīng)客戶端所發(fā)送的認(rèn)證請(qǐng)求時(shí),向客戶端發(fā)送服務(wù)器證書(shū)。該服務(wù)器證書(shū)即上述數(shù)字證書(shū),用于客戶端驗(yàn)證服務(wù)器的身份,實(shí)現(xiàn)客戶端與服務(wù)器的雙向認(rèn)證。
s406:接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)。第一加密數(shù)據(jù)采用服務(wù)器的簽名公鑰加密。
s407:驗(yàn)證客戶端證書(shū)是否合法。當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),執(zhí)行步驟s408。
s408:從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取第一會(huì)話密鑰密文和存儲(chǔ)密文。
s409:將第一會(huì)話密鑰密文導(dǎo)入安全芯片,得到第一會(huì)話密鑰句柄。
s410:采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密文解密,得到存儲(chǔ)密鑰作為服務(wù)器的簽名私鑰。
上述步驟s408至s410具體實(shí)現(xiàn)了實(shí)施例三中的“從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰”。當(dāng)有信息需要用服務(wù)器的簽名私鑰進(jìn)行簽名或解密時(shí),通過(guò)上述步驟s408至s410可以使外部獲取到簽名私鑰,從而使得對(duì)待處理信息的簽名或解密操作可以由安全芯片外部的處理器來(lái)執(zhí)行,減少安全芯片的計(jì)算量。
s411:采用簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密。
s412:當(dāng)解密成功時(shí),接收客戶端所發(fā)送的簽名值。
s413:采用客戶端證書(shū)中的公鑰對(duì)簽名值驗(yàn)簽。
s414:當(dāng)驗(yàn)簽通過(guò)時(shí),確定客戶端身份認(rèn)證通過(guò)。
上述步驟s411至s414請(qǐng)參閱實(shí)施例三中的步驟s303至s306,在此不再贅述。
實(shí)施例五
圖7示出了根據(jù)本發(fā)明實(shí)施例的一種密鑰存儲(chǔ)裝置的原理框圖,該裝置用于服務(wù)器,執(zhí)行實(shí)施例一或?qū)嵤├龅拿荑€存儲(chǔ)方法。根據(jù)圖7所示,該方法包括導(dǎo)入單元10、導(dǎo)出單元20、第一生成單元30、第二生成單元40、加密單元50和第一存儲(chǔ)單元60。
導(dǎo)入單元10用于向安全芯片內(nèi)部導(dǎo)入第一加密密鑰。
導(dǎo)出單元20用于導(dǎo)出第一加密密鑰的公鑰。
第一生成單元30用于利用第一加密密鑰的公鑰在安全芯片外部生成第一會(huì)話密鑰密文和第一會(huì)話密鑰句柄。
第二生成單元40用于在安全芯片外部生成存儲(chǔ)密鑰。
加密單元50用于采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密,得到存儲(chǔ)密文。
第一存儲(chǔ)單元60用于將第一會(huì)話密鑰密文和存儲(chǔ)密文存儲(chǔ)至安全芯片內(nèi)部的可讀寫(xiě)存儲(chǔ)區(qū)。第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄。
上述密鑰存儲(chǔ)裝置,在安全芯片外部生成存儲(chǔ)密鑰,利用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密鑰加密得到存儲(chǔ)密文,將存儲(chǔ)密文和第一會(huì)話密鑰密文一起存放至安全芯片的可讀寫(xiě)存儲(chǔ)區(qū),從而當(dāng)有信息需要用存儲(chǔ)密鑰進(jìn)行簽名或解密時(shí),可以從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取存儲(chǔ)密文和第一會(huì)話密鑰密文,將第一會(huì)話密鑰密文導(dǎo)入安全芯片可以獲取第一會(huì)話密鑰句柄,采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密文解密可以獲取存儲(chǔ)密鑰,進(jìn)而可以在安全芯片外部利用該存儲(chǔ)密鑰對(duì)待處理信息進(jìn)行簽名或解密,而無(wú)需將待簽名信息導(dǎo)入到安全芯片中由安全芯片進(jìn)行處理,由此減少了安全芯片的計(jì)算量。
作為本實(shí)施例的一種可選實(shí)施方式,如圖8所示,導(dǎo)入單元10包括第一控制子單元11、第一生成子單元12、第二生成子單元13、加密子單元14、第三生成子單元15和第一導(dǎo)入子單元16。
第一控制子單元11,用于控制安全芯片內(nèi)部生成并導(dǎo)出第一簽名密鑰。
第一生成子單元12,用于采用第一簽名密鑰在安全芯片內(nèi)部生成第二會(huì)話密鑰,并導(dǎo)出第二會(huì)話密鑰密文和第二會(huì)話密鑰句柄。
第二生成子單元13,用于在安全芯片外部生成第二加密密鑰。
加密子單元14,用于采用第二會(huì)話密鑰句柄對(duì)第二加密密鑰進(jìn)行加密,得到第二加密密鑰密文。
第三生成子單元15,用于根據(jù)第二會(huì)話密鑰密文和第二加密密鑰密文生成第一加密密鑰。
第一導(dǎo)入子單元16,用于將第一加密密鑰導(dǎo)入安全芯片內(nèi)部。
實(shí)施例六
圖9示出了根據(jù)本發(fā)明實(shí)施例的一種設(shè)備身份認(rèn)證裝置的原理框圖,該裝置用于服務(wù)器,執(zhí)行實(shí)施例三或?qū)嵤├乃龅脑O(shè)備身份認(rèn)證方法,并且服務(wù)器采用實(shí)施例五或者其任意一種可選實(shí)施方式所述的密鑰存儲(chǔ)裝置存儲(chǔ)簽名私鑰。根據(jù)圖9所示,該裝置包括第一接收單元70、獲取單元80、解密單元90、第二接收單元100、驗(yàn)簽單元110和確定單元120。
第一接收單元70用于接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)。第一加密數(shù)據(jù)采用服務(wù)器的簽名公鑰加密。
獲取單元80用于當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰。
解密單元90用于采用簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密。
第二接收單元100用于當(dāng)解密成功時(shí),接收客戶端所發(fā)送的簽名值。
驗(yàn)簽單元110用于采用客戶端證書(shū)中的公鑰對(duì)簽名值驗(yàn)簽。
確定單元120用于當(dāng)驗(yàn)簽通過(guò)時(shí),確定客戶端身份認(rèn)證通過(guò)。
上述設(shè)備身份認(rèn)證裝置,服務(wù)器接收客戶端所發(fā)送的客戶端證書(shū)以及第一加密數(shù)據(jù)之后,當(dāng)客戶端證書(shū)驗(yàn)證合法時(shí),從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取簽名私鑰,采用該簽名私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,由于該簽名私鑰是采用實(shí)施例一或?qū)嵤├龅拿荑€存儲(chǔ)方法存儲(chǔ)的,因此該設(shè)備身份驗(yàn)證算法可以減少安全芯片的計(jì)算量,具體請(qǐng)見(jiàn)實(shí)施例一。
作為本實(shí)施例的一種可選實(shí)施方式,如圖10所示,獲取單元80包括獲取子單元81、第二導(dǎo)入子單元82和解密子單元83。
獲取子單元81用于從安全芯片的可讀寫(xiě)存儲(chǔ)區(qū)獲取第一會(huì)話密鑰密文和存儲(chǔ)密文。
第二導(dǎo)入子單元82用于將第一會(huì)話密鑰密文導(dǎo)入安全芯片,得到第一會(huì)話密鑰句柄。
解密子單元83用于采用第一會(huì)話密鑰句柄對(duì)存儲(chǔ)密文解密,得到存儲(chǔ)密鑰作為服務(wù)器的簽名私鑰。
作為本實(shí)施例的一種可選實(shí)施方式,如圖10所示,該裝置還包括第三生成單元130、請(qǐng)求單元140、第三接收單元150和第二存儲(chǔ)單元160。
第三生成單元130用于將簽名公鑰和服務(wù)器信息生成證書(shū)請(qǐng)求文件。
請(qǐng)求單元140用于通過(guò)證書(shū)請(qǐng)求文件向證書(shū)認(rèn)證機(jī)構(gòu)請(qǐng)求獲取數(shù)字證書(shū)。
第三接收單元150用于接收證書(shū)認(rèn)證機(jī)構(gòu)所發(fā)送的數(shù)字證書(shū)。
第二存儲(chǔ)單元160用于存儲(chǔ)數(shù)字證書(shū)。
本領(lǐng)域技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(rom)或隨機(jī)存儲(chǔ)記憶體(ram)等。
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。