本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種身份證讀卡方法和系統(tǒng)。
背景技術(shù):
在現(xiàn)有居民身份證讀卡流程中,在執(zhí)行讀取身份證的流程前,先要執(zhí)行尋卡流程,在尋到居民身份證之后,再開始執(zhí)行讀取身份證的流程。其中,尋卡流程主要包括:讀卡器循環(huán)發(fā)送尋卡指令,當(dāng)居民身份證進(jìn)入讀卡器的可讀范圍時(shí),居民身份證檢測(cè)到讀卡器發(fā)送的尋卡指令,向讀卡器返回尋卡響應(yīng)指令,讀卡器接收到尋卡響應(yīng)指令后,確定檢測(cè)到居民身份證,尋卡成功。在讀卡器尋卡成功后,用戶指示讀卡器開始讀取身份證,讀卡器開始與居民身份證進(jìn)行交互,讀取居民身份證中存儲(chǔ)的信息,由公安部授權(quán)的安全控制模塊(SAM模塊)對(duì)讀取的居民身份證進(jìn)行解碼,得到明文的身份證信息。在相關(guān)技術(shù)中,讀卡器在尋到居民身份證之后,并不會(huì)讀取居民身份證中存儲(chǔ)的信息,而是在接收到讀卡指令之后,才從居民身份證中讀取信息。由于讀卡器通過射頻與居民身份證進(jìn)行交互,讀取居民身份證中存儲(chǔ)的信息的時(shí)間較長(zhǎng),用戶體驗(yàn)不高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決上述居民身份證讀取時(shí)間較長(zhǎng),用戶體驗(yàn)不高的問題。
本發(fā)明的主要目的在于提供一種身份證讀卡方法;
本發(fā)明的另一目的在于提供一種身份證讀卡系統(tǒng)。
為達(dá)到上述目的,本發(fā)明提供以下技術(shù)方案:
方案1、一種身份證讀卡方法,該方法包括:讀卡器接收到第一居民身份證返回的尋卡響應(yīng)指令;讀卡器讀取第一居民身份證的配置信息;讀卡器判斷安全芯片中是否存儲(chǔ)有配置信息,在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中;讀卡器接收到讀卡指令;讀卡器與后臺(tái)服務(wù)器進(jìn)行協(xié)商,讀卡器得到第一傳輸密鑰,后臺(tái)服務(wù)器得到第二傳輸密鑰;讀卡器獲取居民身份證中存儲(chǔ)的加密身份證信息;讀卡器使用第一傳輸密鑰對(duì)配置信息和加密身份證信息進(jìn)行加密,得到傳輸密文,將傳輸密文發(fā)送給后臺(tái)服務(wù)器; 后臺(tái)服務(wù)器接收傳輸密文,并使用第二傳輸密鑰對(duì)傳輸密文進(jìn)行解密,得到配置信息和加密身份證信息。
方案2、根據(jù)方案1所述的方法,讀卡器與后臺(tái)服務(wù)器進(jìn)行協(xié)商,讀卡器得到第一傳輸密鑰,后臺(tái)服務(wù)器得到第二傳輸密鑰,包括:讀卡器將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;后臺(tái)服務(wù)器接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一隨機(jī)因子發(fā)送至讀卡器;讀卡器接收到第一隨機(jī)因子后,對(duì)第一待簽名數(shù)據(jù)進(jìn)行簽名生成第一簽名數(shù)據(jù),并將第一認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,其中,第一待簽名數(shù)據(jù)至少包括第一隨機(jī)因子,第一認(rèn)證數(shù)據(jù)至少包括第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;后臺(tái)服務(wù)器接收到第一認(rèn)證數(shù)據(jù)后,對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則后臺(tái)服務(wù)器生成第二隨機(jī)因子,基于第一隨機(jī)因子和第二隨機(jī)因子生成第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第二傳輸密鑰;
后臺(tái)服務(wù)器利用讀卡器的公鑰對(duì)第三隨機(jī)因子進(jìn)行加密生成第二待簽名數(shù)據(jù),對(duì)第二待簽名數(shù)據(jù)進(jìn)行簽名生成第二簽名數(shù)據(jù),并將第二認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第二認(rèn)證數(shù)據(jù)至少包括:第二待簽名數(shù)據(jù)、第二簽名數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書;讀卡器接收到第二認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽通過,則讀卡器利用讀卡器的私鑰對(duì)第二待簽名數(shù)據(jù)進(jìn)行解密操作,獲得第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第一傳輸密鑰。
方案3、根據(jù)方案1所述的方法,讀卡器與后臺(tái)服務(wù)器進(jìn)行協(xié)商,讀卡器得到第一傳輸密鑰,后臺(tái)服務(wù)器得到第二傳輸密鑰,包括:讀卡器將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;后臺(tái)服務(wù)器接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第一認(rèn)證數(shù)據(jù)至少包括:第一隨機(jī)因子和后臺(tái)服務(wù)器的數(shù)字證書;讀卡器接收到第一認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,讀卡器生成第二隨機(jī)因子,利用后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二隨機(jī)因子進(jìn)行加密操作,生成第一加密數(shù)據(jù);讀卡器對(duì)第一隨機(jī)因子和第一加密數(shù)據(jù)進(jìn)行簽名,生成第一簽名數(shù)據(jù),將第二認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,并基于第二隨機(jī)因子計(jì)算得到第一傳輸密鑰,其中,第二認(rèn)證數(shù)據(jù)至少包括:第一加密數(shù)據(jù)、第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;后臺(tái)服務(wù)器接收第二認(rèn)證數(shù)據(jù),對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則后臺(tái)服務(wù)器利用后臺(tái)服務(wù)器的私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,獲得第二隨機(jī)因子,并基于第二隨機(jī)因子計(jì)算得到第二傳輸密鑰。
方案4、根據(jù)方案1至3任一項(xiàng)所述的方法,獲取居民身份證中存儲(chǔ)的加密身份證信息 包括:讀卡器判斷安全芯片中是否存儲(chǔ)有與配置信息對(duì)應(yīng)的加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,讀卡器從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,讀卡器執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中,且將加密身份證信息與配置信息關(guān)聯(lián)。
方案5、根據(jù)方案1至3任一項(xiàng)所述的方法,在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中時(shí),方法還包括:清空安全芯片存儲(chǔ)的加密身份證信息;獲取居民身份證中存儲(chǔ)的加密身份證信息包括:讀卡器判斷安全芯片中是否存儲(chǔ)有加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,讀卡器從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,讀卡器執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中。
方案6、根據(jù)方案4或5所述的方法,存儲(chǔ)的加密身份證信息包括多個(gè)數(shù)據(jù)包;讀卡器使用第一傳輸密鑰對(duì)配置信息和加密身份證信息進(jìn)行加密包括:讀卡器使用第一傳輸密鑰分別對(duì)配置信息、以及加密身份證信息包括的各個(gè)數(shù)據(jù)包進(jìn)行加密,得到多個(gè)加密數(shù)據(jù)包。
方案7、根據(jù)方案6所述的方法,還包括:在接收到后臺(tái)服務(wù)器發(fā)送的指示需要重傳加密身份證信息的重傳指令時(shí),讀卡器從安全芯片中獲取重傳指令指示需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)需要重傳的數(shù)據(jù)包進(jìn)行加密后重發(fā)給后臺(tái)服務(wù)器。
方案8、根據(jù)方案1至7任一項(xiàng)所述的方法,在讀卡器將配置信息和加密身份證信息發(fā)送給后臺(tái)服務(wù)器之后,該方法還包括:讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的居民身份證的配置信息及加密身份證信息。
方案9、根據(jù)方案1至8任一項(xiàng)所述的方法,在讀卡器將配置信息和加密身份證信息發(fā)送給后臺(tái)服務(wù)器之后,該方法還包括:讀卡器獲取后臺(tái)服務(wù)器解密得到的身份證明文信息;讀卡器產(chǎn)生一個(gè)隨機(jī)密鑰;讀卡器使用隨機(jī)密鑰對(duì)身份證明文信息進(jìn)行加密;讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中。
方案10、根據(jù)方案9所述的方法,在讀卡器將身份證明文信息存儲(chǔ)到安全芯片中之后,方法還包括:讀卡器接收到第二居民身份證返回的尋卡響應(yīng)指令;讀卡器讀取第二居民身份證的配置信息;讀卡器判斷安全芯片內(nèi)是否存儲(chǔ)有當(dāng)前讀取的配置信息;讀卡器接收到與之連接的終端的讀卡指令;在判斷安全芯片內(nèi)存儲(chǔ)有當(dāng)前讀取的配置信息的情況下,判斷安全芯片內(nèi)是否存儲(chǔ)有加密后的身份證明文信息;在判斷安全芯片內(nèi)存儲(chǔ)有加密后的身份證明文信息的情況下,獲取安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息;讀卡器采用隨機(jī)密鑰對(duì)加 密后的身份證明文信息進(jìn)行解密,輸出解密后的身份證明文信息。
方案11、根據(jù)方案9所述的方法,在讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,該方法還包括:讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息;和/或,讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證或讀卡器執(zhí)行關(guān)機(jī)操作前的情況下,讀卡器刪除隨機(jī)密鑰。
方案12、根據(jù)方案1-2、4至11任一項(xiàng)所述的方法,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:后臺(tái)服務(wù)器利用第一隨機(jī)因子和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作;讀卡器對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:讀卡器利用加密數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
方案13、根據(jù)方案1-2、4至11任一項(xiàng)所述的方法,第一待簽名數(shù)據(jù)還包括:讀卡器的第一身份標(biāo)識(shí),第一認(rèn)證數(shù)據(jù)還包括:讀卡器的第二身份標(biāo)識(shí)。
方案14、根據(jù)方案13所述的方法,讀卡器的第一身份標(biāo)識(shí)包括:讀卡器序列號(hào)和/或讀卡器證書號(hào),讀卡器的第二身份標(biāo)識(shí)包括:讀卡器序列號(hào)和/或讀卡器證書號(hào);其中,讀卡器序列號(hào)與讀卡器證書號(hào)具備映射關(guān)系,且后臺(tái)服務(wù)器存儲(chǔ)有映射關(guān)系。
方案15、根據(jù)方案13或14所述的方法,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:后臺(tái)服務(wù)器利用第一隨機(jī)因子、第二身份標(biāo)識(shí)和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
方案16、一種身份證讀卡系統(tǒng),包括:讀卡器,用于接收到第一居民身份證返回的尋卡響應(yīng)指令,讀取第一居民身份證的配置信息,并判斷讀卡器的安全芯片中是否存儲(chǔ)有配置信息,在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中;讀卡器,還用于接收到讀卡指令,與后臺(tái)服務(wù)器進(jìn)行協(xié)商得到第一傳輸密鑰;后臺(tái)服務(wù)器,用于與讀卡器進(jìn)行協(xié)商,得到第二傳輸密鑰;
讀卡器,還用于獲取居民身份證中存儲(chǔ)的加密身份證信息,使用第一傳輸密鑰對(duì)配置信息和加密身份證信息進(jìn)行加密,得到傳輸密文,并將傳輸密文發(fā)送給后臺(tái)服務(wù)器;后臺(tái)服務(wù)器,還用于接收傳輸密文,并使用第二傳輸密鑰對(duì)傳輸密文進(jìn)行解密,得到配置信息和加密身份證信息。
方案17、根據(jù)方案16所述的系統(tǒng),讀卡器用于獲取第一傳輸密鑰,后臺(tái)服務(wù)器用于獲取第二傳輸密鑰,包括:讀卡器,用于將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;后臺(tái)服務(wù)器,用于接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一隨機(jī)因子發(fā)送至讀卡器;讀卡器,還用于接收到第一隨機(jī)因子后,對(duì)第一待簽名數(shù)據(jù)進(jìn)行簽名生成第一簽名數(shù)據(jù),并將 第一認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,其中,第一待簽名數(shù)據(jù)至少包括第一隨機(jī)因子,第一認(rèn)證數(shù)據(jù)至少包括第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;后臺(tái)服務(wù)器,還用于接收到第一認(rèn)證數(shù)據(jù)后,對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則生成第二隨機(jī)因子,基于第一隨機(jī)因子和第二隨機(jī)因子生成第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第二傳輸密鑰;后臺(tái)服務(wù)器,還用于利用讀卡器的公鑰對(duì)第三隨機(jī)因子進(jìn)行加密生成第二待簽名數(shù)據(jù),對(duì)第二待簽名數(shù)據(jù)進(jìn)行簽名生成第二簽名數(shù)據(jù),并將第二認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第二認(rèn)證數(shù)據(jù)至少包括:第二待簽名數(shù)據(jù)、第二簽名數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書;讀卡器,還用于接收到第二認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽通過,則利用讀卡器的私鑰對(duì)第二待簽名數(shù)據(jù)進(jìn)行解密操作,獲得第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第一傳輸密鑰。
方案18、根據(jù)方案16所述的系統(tǒng),讀卡器用于獲取第一傳輸密鑰,后臺(tái)服務(wù)器用于獲取第二傳輸密鑰,包括:讀卡器,還用于將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;后臺(tái)服務(wù)器,用于接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第一認(rèn)證數(shù)據(jù)至少包括:第一隨機(jī)因子和后臺(tái)服務(wù)器的數(shù)字證書;讀卡器,還用于接收到第一認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;以及在驗(yàn)證通過后,生成第二隨機(jī)因子,利用后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二隨機(jī)因子進(jìn)行加密操作,生成第一加密數(shù)據(jù);讀卡器,還用于對(duì)第一隨機(jī)因子和第一加密數(shù)據(jù)進(jìn)行簽名,生成第一簽名數(shù)據(jù),將第二認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,并基于第二隨機(jī)因子計(jì)算得到第一傳輸密鑰,其中,第二認(rèn)證數(shù)據(jù)至少包括:第一加密數(shù)據(jù)、第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;后臺(tái)服務(wù)器,還用于接收第二認(rèn)證數(shù)據(jù),對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則利用后臺(tái)服務(wù)器的私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,獲得第二隨機(jī)因子,并基于第二隨機(jī)因子計(jì)算得到第二傳輸密鑰。
方案19、根據(jù)方案16至18任一項(xiàng)所述的系統(tǒng),讀卡器通過以下方式獲取居民身份證中存儲(chǔ)的加密身份證信息:判斷安全芯片中是否存儲(chǔ)有與配置信息對(duì)應(yīng)的加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中,且將加密身份證信息與配置信息關(guān)聯(lián)。
方案20、根據(jù)方案16至18任一項(xiàng)所述的系統(tǒng),讀卡器還用于在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中時(shí),清空安全芯片存儲(chǔ)的加密身份證信息;讀卡器通過以下方式獲取居民身份證中存儲(chǔ)的加密身份證信息:判斷安全芯片中是否存儲(chǔ)有加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中。
方案21、根據(jù)方案16至18任一項(xiàng)所述的系統(tǒng),安全芯片存儲(chǔ)的加密身份證信息包括多個(gè)數(shù)據(jù)包;讀卡器通過以下方式對(duì)配置信息和加密身份證信息進(jìn)行加密得到傳輸密文:使用第一傳輸密鑰分別對(duì)配置信息、以及加密身份證信息包括的各個(gè)數(shù)據(jù)包進(jìn)行加密,得到多個(gè)加密數(shù)據(jù)包。
方案22、根據(jù)方案21所述的系統(tǒng),后臺(tái)服務(wù)器還用于判斷是否接收到完整的加密身份證信息,在沒有接收到完整的加密身份證信息的情況下,向讀卡器發(fā)送重傳指令;讀卡器還用于接收到后臺(tái)服務(wù)器發(fā)送的指示需要重傳加密身份證信息的重傳指令,從安全芯片中獲取重傳指令指示需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)需要重傳的數(shù)據(jù)包進(jìn)行加密后重發(fā)給后臺(tái)服務(wù)器。
方案23、根據(jù)方案16至22任一項(xiàng)所述的系統(tǒng),讀卡器還用于在將傳輸密文發(fā)送給后臺(tái)服務(wù)器之后,在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的居民身份證的配置信息及加密身份證信息。
方案24、根據(jù)方案16至23任一項(xiàng)所述的系統(tǒng),后臺(tái)服務(wù)器還用于獲取加密身份證信息的身份證明文信息,使用第二傳輸密鑰對(duì)身份證明文信息進(jìn)行加密,并將加密的身份證明文信息發(fā)送給讀卡器;讀卡器,還用于接收加密的身份證明文信息,并使用第一傳輸密鑰進(jìn)行解密,得到身份證明文信息;讀卡器,還用于產(chǎn)生一個(gè)隨機(jī)密鑰,使用隨機(jī)密鑰對(duì)身份證明文信息進(jìn)行加密,將加密后的身份證明文信息存儲(chǔ)到安全芯片中。
方案25、根據(jù)方案24所述的系統(tǒng),讀卡器還用于接收到第二居民身份證返回的尋卡響應(yīng)指令,讀取第二居民身份證的配置信息,并判斷安全芯片內(nèi)是否存儲(chǔ)有當(dāng)前讀取的配置信息;以及在接收到與之連接的終端的讀卡指令后,在判斷安全芯片內(nèi)存儲(chǔ)有當(dāng)前讀取的配置信息的情況下,判斷安全芯片內(nèi)是否存儲(chǔ)有加密后的身份證明文信息;在判斷安全芯片內(nèi)存儲(chǔ)有加密后的身份證明文信息的情況下,獲取安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息,并采用隨機(jī)密鑰對(duì)加密后的身份證明文信息進(jìn)行解密,輸出解密后的身份證明文信息。
方案26、根據(jù)方案24所述的系統(tǒng),讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空 安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息;和/或,讀卡器還用于在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證或所執(zhí)行關(guān)機(jī)操作前的情況下,刪除隨機(jī)密鑰。
方案27、根據(jù)方案16-17、19至26任一項(xiàng)所述的系統(tǒng),后臺(tái)服務(wù)器通過以下方式對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:利用第一隨機(jī)因子和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作;讀卡器通過以下方式對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:讀卡器利用加密數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
方案28、根據(jù)方案16-17、19至2所述7任一項(xiàng)的系統(tǒng),第一待簽名數(shù)據(jù)還包括:讀卡器的第一身份標(biāo)識(shí),第一認(rèn)證數(shù)據(jù)還包括:讀卡器的第二身份標(biāo)識(shí)。
方案29、根據(jù)方案28所述的系統(tǒng),讀卡器的第一身份標(biāo)識(shí)包括:讀卡器序列號(hào)和/或讀卡器證書號(hào),讀卡器的第二身份標(biāo)識(shí)包括:讀卡器序列號(hào)和/或讀卡器證書號(hào);其中,讀卡器序列號(hào)與讀卡器證書號(hào)具備映射關(guān)系,且后臺(tái)服務(wù)器存儲(chǔ)有映射關(guān)系。
方案30、根據(jù)權(quán)利要求28或29所述的系統(tǒng),后臺(tái)服務(wù)器通過以下方式對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:后臺(tái)服務(wù)器利用第一隨機(jī)因子、第二身份標(biāo)識(shí)和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
在本發(fā)明提供的技術(shù)方案中,讀卡器在尋到居民身份證之后,即從居民身份證中讀取配置信息,在后續(xù)接收到讀卡指令后,只從居民身份證中讀取加密身份證信息,從而節(jié)約了在接收到讀卡指令后讀取配置信息的時(shí)間,提高了身份證的讀取效率,提高了用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實(shí)施例1提供的一種身份證讀卡方法的流程示意圖;
圖2為本發(fā)明實(shí)施例2提供的一種身份證讀卡方法的流程示意圖;
圖3為本發(fā)明實(shí)施例3提供的一種身份證讀卡方法的流程示意圖;
圖4為本發(fā)明實(shí)施例4提供的一種身份證讀卡系統(tǒng)的架構(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ù)范圍。
在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或數(shù)量或位置。
在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
圖1為本實(shí)施例提供的一種身份證讀卡方法的流程示意圖,如圖1所示,本實(shí)施例提供的身份證讀卡方法主要包括以下步驟(101-108)。
步驟101:讀卡器接收到第一居民身份證返回的尋卡響應(yīng)指令;
在本實(shí)施例中,讀卡器通過其射頻模塊每間隔一段時(shí)間向外發(fā)送尋卡指令,第一居民身份證收到讀卡器發(fā)送的尋卡指令后,第一居民身份證會(huì)自動(dòng)向讀卡器發(fā)送尋卡響應(yīng)指令,讀卡器接收第一居民身份證返回的尋卡響應(yīng)指令。讀卡器通過第一居民身份證返回的尋卡響應(yīng)指令與第一居民身份證建立通信連接。
需要說明的是,一般讀卡器中設(shè)置有公安部授權(quán)的安全控制模塊用以解密讀卡器讀取的加密身份證信息,但是讀卡器中集成有公安部授權(quán)的安全控制模塊的成本高,本實(shí)施例中,讀卡器未設(shè)置有公安部授權(quán)的身份證安全控制模塊(SAM模塊),身份證安全控制模塊設(shè)置在遠(yuǎn)端,可以設(shè)置在后臺(tái)服務(wù)器中,也可以獨(dú)立設(shè)置,與后臺(tái)服務(wù)器通過有線(例如,USB接口等)連接,也可以通過無線(例如,WIFI,藍(lán)牙等),具體本實(shí)施例不作限定。通過將讀卡器與SAM模塊分開設(shè)置,可以多個(gè)讀卡器共用一個(gè)SAM模塊,從而可以節(jié)約成本。
步驟102:讀卡器讀取第一居民身份證的配置信息;
在本實(shí)施例中,讀卡器在接收到第一居民身份證返回的尋卡響應(yīng)指令后,確定當(dāng)前可讀范圍內(nèi)有身份證,則直接讀取第一居民身份證中的配置信息。
在實(shí)際應(yīng)用中,第一居民身份證中存儲(chǔ)的信息包括以明文方式存儲(chǔ)的身份證的配置信息和以密文方式存儲(chǔ)的加密身份證信息。其中,身份證的配置信息,是指身份證的配置參數(shù),例如身份證的序列號(hào)、用于指示身份證中設(shè)置的應(yīng)用的相關(guān)信息的應(yīng)用數(shù)據(jù)、傳輸協(xié)議(例如,傳輸協(xié)議類型、比特?cái)?shù)率、最大幀長(zhǎng)度)等,讀卡器可以直接識(shí)別該配置信息,不需要公安部授權(quán)的安全控制模塊進(jìn)行解密。加密身份證信息,是指身份證中以密文存儲(chǔ)的身份證,例如身份證號(hào)、姓名、性別、住址和照片等信息,該加密身份證信息只有通過公安部授權(quán)的身份證安全控制模塊進(jìn)行解密后,才能獲得該身份證的明文信息。公安部授權(quán)的身份證安全控制模塊在解密加密身份證信息時(shí),需要通過配置信息才能解密,因此,在讀取身份證時(shí),需要將身份證中存儲(chǔ)的配置信息及加密身份證信息均提供給公安部授權(quán)的身份證安全控制模塊。在本實(shí)施例中,無論是否接收到讀卡指令,讀卡器只要檢測(cè)到可讀范圍內(nèi)存在有居民身份證(即接收到居民身份證返回的尋卡響應(yīng)指令),則讀取該居民身份證的配置信息。
步驟103:讀卡器判斷安全芯片中是否存儲(chǔ)有所述配置信息;如果沒有存儲(chǔ)有步驟102中讀取的配置信息,則將該配置信息存儲(chǔ)到安全芯片中,然后執(zhí)行步驟104,否則,直接執(zhí)行步驟104;
步驟104:讀卡器接收到讀卡指令;
在本實(shí)施例中,步驟103中與讀卡器接收到讀卡指令是兩個(gè)沒有時(shí)間先后順序的步驟,在實(shí)際應(yīng)用中,讀卡器可能是在執(zhí)行步驟103時(shí)接收到讀卡指令,也可以是在執(zhí)行步驟103之后接收到讀卡指令,還可能是在接收到讀卡指令后再執(zhí)行步驟103,具體本實(shí)施例不作限定。
在本實(shí)施例中,讀卡指令是用于讀取身份證信息的指令,讀卡器可通過終端(例如電腦或手機(jī)等)接收讀卡指令,也可通過讀卡器自身獲得讀卡指令,讀卡器獲取讀卡指令的方式本實(shí)施例并不做限定,只要是讀卡器可以接收到讀卡指令即在本發(fā)明的保護(hù)范圍內(nèi)。
步驟105,讀卡器與后臺(tái)服務(wù)器進(jìn)行協(xié)商,協(xié)商結(jié)束,讀卡器得到第一傳輸密鑰,后臺(tái)服務(wù)器得到第二傳輸密鑰;
讀卡器與后臺(tái)服務(wù)器進(jìn)行傳輸密鑰的協(xié)商過程可以參見后續(xù)實(shí)施例5和6。
步驟106,讀卡器獲取居民身份證中存儲(chǔ)的加密身份證信息;
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,在安全芯片中存儲(chǔ)有加密身份證信息的情況下,讀卡器可以從安全芯片中獲取加密身份證信息,或者,讀卡器也可以直接從第一居民身份證 中讀取加密身份證信息,具體可參照實(shí)施例2和3中的描述。
步驟107,讀卡器使用第一傳輸密鑰對(duì)配置信息和加密身份證信息進(jìn)行加密,得到傳輸密文,將傳輸密文發(fā)送給后臺(tái)服務(wù)器。
在本實(shí)施例中,讀卡器獲取居民身份證中存儲(chǔ)的加密身份證信息后,為了保證身份證信息的傳輸安全,讀卡器使用第一傳輸密鑰對(duì)配置信息及加密身份證信息進(jìn)行加密后發(fā)送給后臺(tái)服務(wù)器。具體的,讀卡器可通過終端(例如電腦或手機(jī)等)與后臺(tái)服務(wù)器建立連接并通訊,也可以以無線的方式(例如藍(lán)牙、紅外或NFC近場(chǎng)通信等)直接與后臺(tái)服務(wù)器建立連接并通訊。
步驟108,后臺(tái)服務(wù)器接收傳輸密文,并使用第二傳輸密鑰對(duì)傳輸密文進(jìn)行解密,得到配置信息和加密身份證信息。
后臺(tái)服務(wù)器在解密得到配置信息和加密身份證信息之后,可以將該居民身份證的配置信息和加密身份證信息發(fā)送給SAM模塊,由SAM模塊對(duì)該居民身份證的身份證信息進(jìn)行解碼,從而使得后臺(tái)服務(wù)器可以獲取到該居民身份證的身份證明文信息,進(jìn)而可以執(zhí)行其它需要使用身份證的流程,例如,銀行系統(tǒng)為用戶執(zhí)行遠(yuǎn)程開戶等。
在相關(guān)技術(shù)中,在執(zhí)行居民身份證讀取流程時(shí),在檢測(cè)到可讀范圍內(nèi)存在有居民身份證時(shí),并不會(huì)讀取居民身份證中存儲(chǔ)的信息,而是等待讀卡指令,在接收到讀卡指令后,再?gòu)木用裆矸葑C中讀取配置信息和加密身份證信息。而在本實(shí)施例提供的身份證讀卡方案中,讀卡器在檢測(cè)到可讀范圍內(nèi)存在有居民身份證時(shí),就直接讀取居民身份證的配置信息,在接收到讀卡指令后,只需獲取居民身份證中存儲(chǔ)的加密身份證信息,而不需要再讀取配置信息,從而可以節(jié)約讀卡時(shí)間,提高用戶體驗(yàn)。并且,在本實(shí)施例中,讀卡器與后臺(tái)服務(wù)器之間協(xié)商傳輸密鑰,在交互過程中,通過協(xié)商的傳輸密鑰對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,可以進(jìn)一步保證信息的傳輸安全。
作為本實(shí)施例的一種可選實(shí)施方式,在讀卡器將傳輸密文發(fā)送給后臺(tái)服務(wù)器之后,后臺(tái)服務(wù)器可以與SAM模塊進(jìn)行交互,得到解密的身份證明文信息,后臺(tái)服務(wù)器可以將將該身份證明文信息發(fā)送給讀卡器??蛇x地,為了保證身份證明文信息的傳輸安全,后臺(tái)服務(wù)器可以對(duì)身份證明文信息進(jìn)行加密后發(fā)送,例如,后臺(tái)服務(wù)器可以使用與讀卡器協(xié)商的第一傳輸密鑰進(jìn)行加密。因此,在該可選實(shí)施方式中,讀卡器將配置信息和加密身份證信息發(fā)送給后臺(tái)服務(wù)器之后,該方法還可以包括:讀卡器獲取后臺(tái)服務(wù)器解密得到的身份證明文信息,讀卡器產(chǎn)生一個(gè)隨機(jī)密鑰;讀卡器使用隨機(jī)密鑰對(duì)身份證明文信息進(jìn)行加密,讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中。其中,讀卡器可以接收后臺(tái)服務(wù)器使用第二傳輸密鑰 進(jìn)行加密的身份證明文信息,采用第一傳輸密鑰進(jìn)行解密,得到身份證明文信息。在實(shí)施方式中,通過將加密的身份證明文信息存儲(chǔ)在安全芯片中,可以在需要多次讀取身份證信息的情況下,直接從安全芯片中獲取加密的身份證明文信息,不需要通過后臺(tái)服務(wù)器和SAM模塊再重新對(duì)加密身份證信息進(jìn)行解密,以便節(jié)約二次讀卡的時(shí)間,并且,通過采用隨機(jī)密鑰對(duì)身份證明文信息進(jìn)行加密,可以保證身份證明文信息的安全。
作為本實(shí)施例的一種可選實(shí)施方式,在讀卡器將身份證明文信息存儲(chǔ)到所述安全芯片中之后,讀卡器接收到第二居民身份證返回的尋卡響應(yīng)指令,讀卡器讀取第二居民身份證的配置信息,讀卡器判斷安全芯片內(nèi)是否存儲(chǔ)有當(dāng)前讀取的配置信息(在沒有存儲(chǔ)該配置信息時(shí),可以將該配置信息存儲(chǔ)到安全芯片中,具體可以參見上述的描述,在此不再贅述),讀卡器接收到與之連接的終端(例如,銀行前端的PC機(jī))的讀卡指令,在判斷安全芯片內(nèi)存儲(chǔ)有當(dāng)前讀取的配置信息的情況下,判斷安全芯片內(nèi)是否存儲(chǔ)有加密后的身份證明文信息,在判斷安全芯片內(nèi)存儲(chǔ)有加密后的身份證明文信息的情況下,獲取安全芯片內(nèi)存儲(chǔ)的加密后的所述身份證明文信息,讀卡器采用隨機(jī)密鑰對(duì)加密后的身份證明文信息進(jìn)行解密,輸出解密后的身份證明文信息。例如,讀卡器可以將解密后的身份證明文信息發(fā)送給終端,也可以直接顯示解密后的身份證明文信息。
具體的,當(dāng)?shù)诙用裆矸葑C與第一居民身份證為同一身份證的情況下,讀卡器讀取第二居民身份證的配置信息,并判斷安全芯片中存儲(chǔ)有當(dāng)前讀取的配置信息,讀卡器收到讀卡指令后,判斷安全芯片內(nèi)是否存儲(chǔ)有加密后的身份證明文信息,在判斷安全芯片內(nèi)存儲(chǔ)有加密后的身份證明文信息的情況下,讀卡器獲取安全芯片內(nèi)存儲(chǔ)的加密后的所述身份證明文信息,最后,讀卡器采用隨機(jī)密鑰對(duì)加密后的身份證明文信息進(jìn)行解密,輸出解密后的身份證明文信息。另外,當(dāng)?shù)诙用裆矸葑C與第一居民身份證為不同身份證的情況下,讀卡器讀取第二居民身份證的配置信息,并判斷安全芯片中沒有存儲(chǔ)有當(dāng)前讀取的配置信息,讀卡器執(zhí)行第二居民身份證的讀卡流程,讀取第二居民身份證的讀卡流程與讀取第一居民身份證的讀卡流程相同,在此不再贅述。通過配置信息判斷是否是二次讀卡,并且在判斷存儲(chǔ)有與配置信息對(duì)應(yīng)的身份證明文信息時(shí),直接從安全芯片中獲取加密的身份證明文信息,節(jié)約了二次讀卡的時(shí)間。
在本實(shí)施例中,安全芯片可以只存儲(chǔ)一個(gè)身份證的加密的身份證明文信息,例如,可以在安全芯片中設(shè)置一個(gè)存儲(chǔ)空間,該存儲(chǔ)空間用于存儲(chǔ)加密的身份證明文信息,另外還可以設(shè)置一個(gè)存儲(chǔ)空間用于存儲(chǔ)配置信息。讀卡器在檢測(cè)到居民身份證時(shí),讀取該居民身份證的配置信息,如果該配置信息沒有存儲(chǔ)在安全芯片中,則清空安全芯片中配置信息的存儲(chǔ)空間 及加密的身份證明文信息的存儲(chǔ)空間中存儲(chǔ)的信息,再將當(dāng)前讀取的配置信息保存到配置信息的存儲(chǔ)空間,從而可以保證安全芯片中存儲(chǔ)的配置信息與加密的身份證明文信息屬于同一身份證。在執(zhí)行后續(xù)的身份證讀卡流程中,在獲取到后臺(tái)服務(wù)器解密得到的身份證明文信息后,再使用隨機(jī)密鑰對(duì)該身份證明文信息加密,然后保存到加密的身份證明文信息的存儲(chǔ)空間。在接收到上位機(jī)(例如,銀行前端的PC機(jī))發(fā)送的讀卡指令時(shí),讀卡器可以判斷當(dāng)前居民身份證的配置信息與安全芯片存儲(chǔ)的配置信息是否一致,如果一致,則從安全芯片的加密的身份證明文信息的存儲(chǔ)空間中取出加密的身份證明文信息,并利用隨機(jī)密鑰進(jìn)行解密,解密后輸出。
當(dāng)然,安全芯片中也可以存儲(chǔ)多個(gè)身份證的加密的身份證明文信息,例如,在存儲(chǔ)加密的身份證明文信息時(shí),將該加密的身份證明文信息與居民身份證的配置信息關(guān)聯(lián)存儲(chǔ)。讀卡器在檢測(cè)到居民身份證時(shí),讀取該居民身份證的配置信息,如果該配置信息沒有存儲(chǔ)在安全芯片中,則將當(dāng)前讀取的配置信息保存到配置信息的存儲(chǔ)空間,在后續(xù)獲取該居民身份證的身份證明文信息時(shí),使用隨機(jī)密鑰進(jìn)行加密,將加密后的身份證明文信息與該配置信息關(guān)聯(lián)存儲(chǔ)。在后續(xù)接收到上位機(jī)的讀卡指令時(shí),讀卡器可以判斷安全芯片中是否存儲(chǔ)有當(dāng)前居民身份證的配置信息,如果有,再進(jìn)一步判斷安全芯片中是否存儲(chǔ)有與該配置信息關(guān)聯(lián)的加密的身份證明文信息,如果有,則從安全芯片中取出該加密的身份證明文信息,并利用隨機(jī)密鑰進(jìn)行解密,解密后輸出。
作為本實(shí)施例的一種可選實(shí)施方式,在讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,為了保證居民身份證信息的安全,如果讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,則清空安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息。具體的,讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,讀卡器判斷是否在預(yù)定時(shí)間內(nèi)檢測(cè)到居民身份證,當(dāng)讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證的情況下,讀卡器清空安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息。
作為本實(shí)施例的一種可選實(shí)施方式,在讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,如果讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證或讀卡器執(zhí)行關(guān)機(jī)操作前的情況下,讀卡器刪除隨機(jī)密鑰。具體的,讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,讀卡器判斷是否在預(yù)定時(shí)間內(nèi)檢測(cè)到居民身份證,當(dāng)讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證的情況下,讀卡器刪除隨機(jī)密鑰。當(dāng)然,讀卡器將加密后的身份證明文信息存儲(chǔ)到安全芯片中之后,讀卡器執(zhí)行關(guān)機(jī)操作時(shí),讀卡器刪除隨機(jī)密鑰。在刪除隨機(jī)密鑰后,即使該讀卡器被非法獲取,也無法對(duì)安全芯片中存儲(chǔ)的加密的身份證明文信息進(jìn)行解密,從而保 證了居民身份證信息的安全,進(jìn)而使得安全芯片可以將加密的身份證明文信息存儲(chǔ)到閃存(flash)中。
可選地,在本實(shí)施例中,居民身份證的配置信息及加密的身份證明文信息可以以緩存的方式存儲(chǔ)到安全芯片中,根據(jù)緩存的特性,在讀卡器下電后,自動(dòng)清空存儲(chǔ)的信息,從而可以保證居民身份證信息的安全。
通過本實(shí)施例提供的一種身份證讀卡方法,在讀卡器接收到讀卡指令之前就讀取并存儲(chǔ)身份證的配置信息,當(dāng)接收到讀卡指令之后,讀卡器不需要再讀取身份證的配置信息,只需要讀取身份證中存儲(chǔ)的加密身份證信息,節(jié)約了讀卡時(shí)間。另外,通過后臺(tái)服務(wù)器解密獲取身份證明文信息并存儲(chǔ)在讀卡器的安全芯片中,當(dāng)辦理業(yè)務(wù)需要多次讀取身份證信息的情況下,從安全芯片中即可獲取加密的身份證明文信息,不需要后臺(tái)服務(wù)器多次解密,從而進(jìn)一步減少了讀卡時(shí)間。并且,在本實(shí)施例中,讀卡器與后臺(tái)服務(wù)器協(xié)商傳輸密鑰,在信息交互過程中,使用協(xié)商的傳輸密鑰對(duì)信息進(jìn)行加密,保證了信息的傳輸安全。
實(shí)施例2
圖2為本實(shí)施例提供的身份證讀卡方法的流程示意圖,如圖2所示,本實(shí)施例提供的身份證讀卡方法主要包括以下步驟(201-210)。
步驟201~205,與實(shí)施例1中步驟101~105相同,在此不再贅述。
步驟206:讀卡器判斷安全芯片中是否存儲(chǔ)有與當(dāng)前讀取的配置信息對(duì)應(yīng)的加密身份證信息;
在本實(shí)施例中,讀卡器接收到讀卡指令后,判斷安全芯片中是否存儲(chǔ)有與當(dāng)前讀取的配置信息對(duì)應(yīng)的加密身份證信息,當(dāng)安全芯片中存儲(chǔ)有與當(dāng)前讀取的配置信息對(duì)應(yīng)的加密身份證信息的情況下,執(zhí)行步驟207;當(dāng)安全芯片中沒有存儲(chǔ)有與當(dāng)前讀取的配置信息對(duì)應(yīng)的加密身份證信息的情況下,執(zhí)行步驟208。
步驟207:讀卡器從安全芯片中獲取該加密身份證信息;
在本實(shí)施例中,讀卡器判斷安全芯片中存儲(chǔ)有與配置信息對(duì)應(yīng)的加密身份證信息的情況下,讀卡器從安全芯片中獲取與該配置信息對(duì)應(yīng)的身份證的加密身份證信息。
步驟208:讀卡器執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中,且將該加密身份證信息與上述配置信息關(guān)聯(lián)。
即在本實(shí)施例中,身份證的配置信息與加密身份證信息是關(guān)聯(lián)存儲(chǔ)的,因此,安全芯片中可以同時(shí)存儲(chǔ)多張居民身份證的配置信息及加密身份證信息,將同一張居民身份證的配置 信息與加密身份證信息關(guān)聯(lián)存儲(chǔ)。
在本實(shí)施例中,讀卡器判斷安全芯片中沒有存儲(chǔ)有與當(dāng)前讀取的配置信息對(duì)應(yīng)的加密身份證信息的情況下,讀卡器需要執(zhí)行讀卡流程,讀取第一居民身份證中存儲(chǔ)的加密身份證信息,讀卡器從第一居民身份證中讀取加密身份證信息后,將讀取的加密身份證信息存儲(chǔ)在安全芯片中。
在本實(shí)施例中,讀卡器中的安全芯片可以存儲(chǔ)多個(gè)配置信息,在讀卡器讀取身份證的加密身份證信息后,讀卡器需要將讀取的加密身份證信息與步驟202中讀取的配置信息關(guān)聯(lián)存儲(chǔ),以便可以通過配置信息獲取加密身份證信息。
步驟209-步驟210與實(shí)施例1中的步驟107和步驟108分別相同,在此不再贅述。
作為本實(shí)施例的一種可選實(shí)施方式,安全芯片中存儲(chǔ)的加密身份證信息可以包括多個(gè)數(shù)據(jù)包,在步驟209中,讀卡器采用第一傳輸密鑰分別對(duì)配置信息、加密身份證信息的各個(gè)數(shù)據(jù)包分別進(jìn)行加密,得到加密的多個(gè)數(shù)據(jù)包(即上述的傳輸密文),然后將多個(gè)加密數(shù)據(jù)包依次發(fā)送給后臺(tái)服務(wù)器。具體的,讀卡器讀取第一居民身份證中的加密身份證信息后,將加密身份證信息分為多個(gè)數(shù)據(jù)包存儲(chǔ)在讀卡器的安全芯片中,當(dāng)讀卡器接收到讀卡指令后,讀卡器使用第一傳輸密鑰分別對(duì)配置信息、加密身份證信息包括的多個(gè)數(shù)據(jù)包進(jìn)行加密得到多個(gè)加密數(shù)據(jù)包,然后將多個(gè)加密數(shù)據(jù)包依次發(fā)送至后臺(tái)服務(wù)器。通過將加密身份證信息分為多個(gè)數(shù)據(jù)包存儲(chǔ),方便后續(xù)傳輸出錯(cuò)時(shí)進(jìn)行快速重傳,不需要將所有加密身份證信息進(jìn)行重傳。
作為本實(shí)施例的一種可選實(shí)施方式,后臺(tái)服務(wù)器在接收到讀卡器發(fā)送的傳輸密文后,在使用第二傳輸密鑰對(duì)各個(gè)加密數(shù)據(jù)包進(jìn)行解密后,可以進(jìn)一步檢查接收到的加密身份證信息是否完整,如果不完整,則向后臺(tái)服務(wù)器發(fā)送重傳指令,指示哪些數(shù)據(jù)包需要重傳。讀卡器在接收到后臺(tái)服務(wù)器發(fā)送的重傳指令時(shí),讀卡器從安全芯片中獲取重傳指令指示需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)獲取的數(shù)據(jù)包進(jìn)行加密后重發(fā)給后臺(tái)服務(wù)器。具體的,當(dāng)加密身份證信息的一個(gè)或多個(gè)數(shù)據(jù)包傳輸至后臺(tái)服務(wù)器出錯(cuò)時(shí),后臺(tái)服務(wù)器向讀卡器發(fā)送重傳指令,并在重傳指令中指示需要重傳的一個(gè)或多個(gè)數(shù)據(jù)包,讀卡器接收到后臺(tái)服務(wù)器發(fā)送的重傳指令后,從安全芯片中獲取重傳指令指示的需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰分別對(duì)獲取的數(shù)據(jù)包進(jìn)行加密,然后重發(fā)給后臺(tái)服務(wù)器。在相關(guān)技術(shù)中,當(dāng)后臺(tái)服務(wù)器發(fā)現(xiàn)接收到的加密身份證信息出錯(cuò)時(shí),指示讀卡器,讀卡器需要重新開始讀卡流程,重新從居民身份證中讀取完整的身份證信息,然后再發(fā)送給后臺(tái)服務(wù)器,而本實(shí)施例中,后臺(tái)服務(wù)器在檢測(cè)到加密身份證信息傳輸出錯(cuò)時(shí),確定通過重傳指令指示讀卡器需要重傳的數(shù)據(jù)包,讀卡器只需將需要重傳的數(shù)據(jù)包重傳給后臺(tái)服務(wù)器即可,節(jié)約讀取身份證的時(shí)間。
作為本實(shí)施例的一種可選實(shí)施方式,在讀卡器將傳輸密文之后,為了保證居民身份證信息安全,讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的居民身份證的配置信息及加密身份證信息。具體的,讀卡器每間隔一段時(shí)間會(huì)向外發(fā)送尋卡指令,當(dāng)讀卡器將所述配置信息和加密身份證信息發(fā)送給后臺(tái)服務(wù)器之后,讀卡器在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,說明居民身份證已經(jīng)不在讀卡器能讀取的范圍內(nèi),讀卡器中存儲(chǔ)的加密身份證信息和配置信息不再需要,讀卡器將清空安全芯片內(nèi)存儲(chǔ)的居民身份證的配置信息及加密身份證信息。通過在預(yù)定時(shí)間內(nèi)檢測(cè)居民身份證并清空安全芯片中存儲(chǔ)的信息,可以節(jié)約安全芯片的存儲(chǔ)空間,保證居民身份證信息的安全。
可選地,在本實(shí)施例中,居民身份證的配置信息及加密身份證信息可以以緩存的方式存儲(chǔ)到安全芯片中,根據(jù)緩存的特性,在讀卡器下電后,自動(dòng)清空存儲(chǔ)的信息,從而可以保證居民身份證信息的安全。
其它未盡事宜與實(shí)施例1相同,在此不再贅述。
通過本實(shí)施例提供的身份證讀卡方法,在讀卡器接收到讀卡指令之前就讀取并存儲(chǔ)身份證的配置信息,當(dāng)接收到讀卡指令之后,讀卡器不需要再讀取身份證的配置信息,只需要讀取身份證中存儲(chǔ)的加密身份證信息,節(jié)約了讀卡時(shí)間。另外,將居民身份證的加密身份證信息分為多個(gè)數(shù)據(jù)包存儲(chǔ)在讀卡器的安全芯片中,以便后臺(tái)服務(wù)器通過重傳指令指示讀卡器需要重傳的數(shù)據(jù)包時(shí),讀卡器只需將需要重傳的數(shù)據(jù)包重傳給后臺(tái)服務(wù)器即可,進(jìn)一步減少了讀取身份證的時(shí)間。
實(shí)施例3
圖3為本實(shí)施例提供的身份證讀卡方法的流程示意圖,如圖3所示,本實(shí)施例提供的身份證讀卡方法主要包括以下步驟(301-310)。
如圖3所示,本實(shí)施例與實(shí)施例2中不同的是,為了節(jié)約存儲(chǔ)空間,本實(shí)施例中讀卡器的安全芯片中只存儲(chǔ)一張居民身份證的配置信息和加密身份證信息。
與實(shí)施例2中不同的是,在步驟303中,讀卡器在判斷安全芯片中沒有存儲(chǔ)讀取的配置信息的情況下,刪除安全芯片中存儲(chǔ)的配置信息和加密身份證信息,將讀取的所述配置信息存儲(chǔ)到所述安全芯片中。具體的,在讀卡器判斷安全芯片中沒有存儲(chǔ)步驟302中讀取的配置信息的情況下,讀卡器首先刪除安全芯片中之前存儲(chǔ)的配置信息和加密身份證信息,并將步驟302中讀取的配置信息存儲(chǔ)在讀卡器的安全芯片中。
與實(shí)施例2中不同的是,在步驟308中,讀卡器執(zhí)行讀卡流程時(shí),讀取第一居民身份證 中的加密身份證信息后,由于安全芯片中只存儲(chǔ)有一張居民身份證的信息,因此,讀卡器直接將讀取的加密身份證信息存儲(chǔ)在安全芯片中,而無需與配置信息關(guān)聯(lián)。具體的,讀卡器判斷安全芯片中之前沒有存儲(chǔ)當(dāng)前讀取的配置信息情況下,讀卡器需要執(zhí)行讀卡流程,讀取第一居民身份證中存儲(chǔ)的加密身份證信息,讀卡器從第一居民身份證中讀取加密身份證信息后,將讀取的加密身份證信息存儲(chǔ)在安全芯片中。與實(shí)施例2中不同的是,讀卡器不需要將步驟302中讀取的配置信息與步驟308中存儲(chǔ)的加密身份證信息關(guān)聯(lián)存儲(chǔ)。
作為本實(shí)施例的一種可選實(shí)施方式,安全芯片中存儲(chǔ)的加密身份證信息也可以包括多個(gè)數(shù)據(jù)包,在步驟309中,讀卡器采用第一傳輸密鑰分別對(duì)配置信息、加密身份證信息的各個(gè)數(shù)據(jù)包分別進(jìn)行加密,得到加密的多個(gè)數(shù)據(jù)包(即上述的傳輸密文),然后將多個(gè)加密數(shù)據(jù)包依次發(fā)送給后臺(tái)服務(wù)器。通過將加密身份證信息分為多個(gè)數(shù)據(jù)包存儲(chǔ),方便后續(xù)傳輸出錯(cuò)時(shí)進(jìn)行快速重傳,不需要將所有加密身份證信息進(jìn)行重傳。
作為本實(shí)施例的一種可選實(shí)施方式,后臺(tái)服務(wù)器在接收到讀卡器發(fā)送的傳輸密文后,在使用第二傳輸密鑰對(duì)各個(gè)加密數(shù)據(jù)包進(jìn)行解密后,可以進(jìn)一步檢查接收到的加密身份證信息是否完整,如果不完整,則向后臺(tái)服務(wù)器發(fā)送重傳指令,指示哪此數(shù)據(jù)包需要重傳。讀卡器在接收到后臺(tái)服務(wù)器發(fā)送的重傳指令時(shí),讀卡器從安全芯片中獲取重傳指令指示需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)獲取的數(shù)據(jù)包進(jìn)行加密后重發(fā)給后臺(tái)服務(wù)器。具體的,當(dāng)加密身份證信息的一個(gè)或多個(gè)數(shù)據(jù)包傳輸至后臺(tái)服務(wù)器出錯(cuò)時(shí),后臺(tái)服務(wù)器向讀卡器發(fā)送重傳指令,并在重傳指令中指示需要重傳的一個(gè)或多個(gè)數(shù)據(jù)包,讀卡器接收到后臺(tái)服務(wù)器發(fā)送的重傳指令后,從安全芯片中獲取重傳指令指示的需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)獲取的數(shù)據(jù)包進(jìn)行加密,然后重發(fā)給后臺(tái)服務(wù)器。后臺(tái)服務(wù)器通過重傳指令指示讀卡器需要重傳的數(shù)據(jù)包,讀卡器只需將需要重傳的數(shù)據(jù)包重傳給后臺(tái)服務(wù)器即可,節(jié)約讀取身份證的時(shí)間。
在該實(shí)施例中,可以在安全芯片中分配兩個(gè)存儲(chǔ)空間,即配置信息存儲(chǔ)空間和加密身份證存儲(chǔ)空間,將同一張居民身份證的配置信息存儲(chǔ)到配置信息存儲(chǔ)空間,加密身份證信息存儲(chǔ)到加密身份證存儲(chǔ)空間,在檢測(cè)到有居民身份證時(shí),首先讀取該居民身份證的配置信息,如果該居民身份證的配置信息沒有存儲(chǔ)在安全芯片中,則清空配置信息存儲(chǔ)空間和加密身份證存儲(chǔ)空間存儲(chǔ)的信息,再將當(dāng)前讀取的配置信息存儲(chǔ)到配置信息存儲(chǔ)空間,后續(xù)執(zhí)行讀卡流程從居民身份證中讀取到加密身份證信息后,將加密身份證信息存儲(chǔ)到加密身份證存儲(chǔ)空間存儲(chǔ)。如果該居民身份證的配置信息存儲(chǔ)在安全芯片中,則在接收到讀卡指令時(shí),直接從安全芯片加密身份證存儲(chǔ)空間中獲取加密身份證信息。采用這種方式,可以確保之前使用的居民身份證信息的安全,避免居民身份證信息被非法使用。
可選地,在本實(shí)施例中,居民身份證的配置信息及加密身份證信息可以以緩存的方式存儲(chǔ)到安全芯片中,根據(jù)緩存的特性,在讀卡器下電后,自動(dòng)清空存儲(chǔ)的信息,從而可以保證居民身份證信息的安全。
通過本實(shí)施例提供的身份證讀卡方法,在讀卡器接收到讀卡指令之前就讀取并存儲(chǔ)身份證的配置信息,當(dāng)接收到讀卡指令之后,讀卡器不需要再讀取身份證的配置信息,只需要讀取身份證中存儲(chǔ)的加密身份證信息,節(jié)約了讀卡時(shí)間。另外,在讀卡器讀取身份證中存儲(chǔ)的加密身份證信息之前,判斷安全芯片中是否存儲(chǔ)有與配置信息對(duì)應(yīng)的加密身份證信息,可以避免重復(fù)從身份證中讀取加密身份證信息,加快了讀卡速度。另外,通過將加密身份證信息分為多個(gè)數(shù)據(jù)包,以便后臺(tái)服務(wù)器通過重傳指令指示讀卡器需要重傳的數(shù)據(jù)包時(shí),讀卡器只需將需要重傳的數(shù)據(jù)包重傳給后臺(tái)服務(wù)器即可,進(jìn)一步減少了讀取身份證的時(shí)間。另外,讀卡器中的安全芯片中只需要設(shè)置有存儲(chǔ)一張居民身份證的配置信息和加密身份證信息的存儲(chǔ)空間,在節(jié)約了安全芯片的存儲(chǔ)空間的同時(shí),保證了居民身份證信息的安全性。
實(shí)施例4
本實(shí)施例提供了一種身份證讀卡系統(tǒng)。
圖4為本實(shí)施例提供的身份證讀卡系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施例提供的身份證讀卡系統(tǒng)包括:讀卡器100和后臺(tái)服務(wù)器110。在本實(shí)施例,讀卡器100為未設(shè)置有SAM模塊的讀卡器,且讀卡器100中設(shè)置有安全芯片,用于存儲(chǔ)居民身份證的相關(guān)信息。
在本實(shí)施例中,讀卡器100,用于接收到第一居民身份證返回的尋卡響應(yīng)指令,讀取第一居民身份證的配置信息,并判斷讀卡器100的安全芯片中是否存儲(chǔ)有配置信息,在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中;讀卡器100,還用于接收到讀卡指令,與后臺(tái)服務(wù)器110進(jìn)行協(xié)商得到第一傳輸密鑰;后臺(tái)服務(wù)器110,用于與讀卡器100進(jìn)行協(xié)商,得到第二傳輸密鑰;讀卡器100,還用于獲取居民身份證中存儲(chǔ)的加密身份證信息,使用第一傳輸密鑰對(duì)配置信息和加密身份證信息進(jìn)行加密,得到傳輸密文,并將傳輸密文發(fā)送給后臺(tái)服務(wù)器110;后臺(tái)服務(wù)器110,還用于接收傳輸密文,并使用第二傳輸密鑰對(duì)傳輸密文進(jìn)行解密,得到配置信息和加密身份證信息。
通過本實(shí)施例提供的身份證讀卡系統(tǒng),讀卡器在檢測(cè)到可讀范圍內(nèi)存在有居民身份證時(shí),就直接讀取居民身份證的配置信息,在接收到讀卡指令后,只需獲取居民身份證中存儲(chǔ)的加密身份證信息,而不需要再讀取配置信息,從而可以節(jié)約讀卡時(shí)間,提高用戶體驗(yàn)。并且,在本實(shí)施例中,讀卡器與后臺(tái)服務(wù)器之間協(xié)商傳輸密鑰,在交互過程中,通過協(xié)商的傳輸密 鑰對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,可以進(jìn)一步保證信息的傳輸安全。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100和后臺(tái)服務(wù)器110協(xié)商獲取傳輸密鑰包括但不限于以下兩種實(shí)施方式:
實(shí)施方式一
在該實(shí)施方式中,讀卡器100,用于將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器110;后臺(tái)服務(wù)器110,用于接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一隨機(jī)因子發(fā)送至讀卡器100;讀卡器100,還用于接收到第一隨機(jī)因子后,對(duì)第一待簽名數(shù)據(jù)進(jìn)行簽名生成第一簽名數(shù)據(jù),并將第一認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器110,其中,第一待簽名數(shù)據(jù)至少包括第一隨機(jī)因子,第一認(rèn)證數(shù)據(jù)至少包括第一簽名數(shù)據(jù)和讀卡器100的數(shù)字證書;后臺(tái)服務(wù)器110,還用于接收到第一認(rèn)證數(shù)據(jù)后,對(duì)讀卡器100的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則生成第二隨機(jī)因子,基于第一隨機(jī)因子和第二隨機(jī)因子生成第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第二傳輸密鑰;后臺(tái)服務(wù)器110,還用于利用讀卡器100的公鑰對(duì)第三隨機(jī)因子進(jìn)行加密生成第二待簽名數(shù)據(jù),對(duì)第二待簽名數(shù)據(jù)進(jìn)行簽名生成第二簽名數(shù)據(jù),并將第二認(rèn)證數(shù)據(jù)發(fā)送至讀卡器100,其中,第二認(rèn)證數(shù)據(jù)至少包括:第二待簽名數(shù)據(jù)、第二簽名數(shù)據(jù)和后臺(tái)服務(wù)器110的數(shù)字證書;讀卡器100,還用于接收到第二認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器110的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽通過,則利用讀卡器100的私鑰對(duì)第二待簽名數(shù)據(jù)進(jìn)行解密操作,獲得第三隨機(jī)因子,并基于第三隨機(jī)因子計(jì)算得到第一傳輸密鑰。
通過該實(shí)施方式提供的傳輸密鑰的協(xié)商方案,可以在讀卡器與后臺(tái)服務(wù)器之間建立安全通道,利用傳輸密鑰對(duì)在安全通道中傳輸?shù)臄?shù)據(jù)加密,提高了數(shù)據(jù)傳輸?shù)陌踩?。而且,讀卡器接收到后臺(tái)服務(wù)器發(fā)送的第一隨機(jī)因子后,立即利用自身私鑰對(duì)第一隨機(jī)因子進(jìn)行簽名后回傳至服務(wù)器,從而使得后臺(tái)服務(wù)器能夠在最短的時(shí)間內(nèi)接收到讀卡器回傳的第一認(rèn)證數(shù)據(jù)并進(jìn)行認(rèn)證,提高了后臺(tái)服務(wù)器對(duì)讀卡器的認(rèn)證效率,從而在讀卡器與后臺(tái)服務(wù)器相互認(rèn)證的初始階段,后臺(tái)服務(wù)器即判定讀卡器是否合法,若不合法則立即結(jié)束流程,快速判斷出受到重放攻擊,進(jìn)而斷開與非法讀卡器的連接,避免不法交易對(duì)后臺(tái)服務(wù)器的資源占用。
實(shí)施方式二
在該實(shí)施方式中,讀卡器100,還用于將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器110;后臺(tái)服務(wù)器110,用于接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一認(rèn)證數(shù)據(jù)發(fā)送 至讀卡器100,其中,第一認(rèn)證數(shù)據(jù)至少包括:第一隨機(jī)因子和后臺(tái)服務(wù)器110的數(shù)字證書;讀卡器100,還用于接收到第一認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器110的數(shù)字證書的合法性進(jìn)行驗(yàn)證;以及在驗(yàn)證通過后,生成第二隨機(jī)因子,利用后臺(tái)服務(wù)器110的數(shù)字證書中的后臺(tái)服務(wù)器110的公鑰對(duì)第二隨機(jī)因子進(jìn)行加密操作,生成第一加密數(shù)據(jù);讀卡器100,還用于對(duì)第一隨機(jī)因子和第一加密數(shù)據(jù)進(jìn)行簽名,生成第一簽名數(shù)據(jù),將第二認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器110,并基于第二隨機(jī)因子計(jì)算得到第一傳輸密鑰,其中,第二認(rèn)證數(shù)據(jù)至少包括:第一加密數(shù)據(jù)、第一簽名數(shù)據(jù)和讀卡器100的數(shù)字證書;后臺(tái)服務(wù)器110,還用于接收第二認(rèn)證數(shù)據(jù),對(duì)讀卡器100的數(shù)字證書的合法性進(jìn)行驗(yàn)證;在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則利用后臺(tái)服務(wù)器110的私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,獲得第二隨機(jī)因子,并基于第二隨機(jī)因子計(jì)算得到第二傳輸密鑰。
通過該實(shí)施方式提供的傳輸密鑰的協(xié)商方案,可以在讀卡器與后臺(tái)服務(wù)器之間建立安全通道,利用傳輸密鑰對(duì)在安全通道中傳輸?shù)臄?shù)據(jù)加密,提高了數(shù)據(jù)傳輸?shù)陌踩浴?/p>
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100通過以下方式獲取居民身份證中存儲(chǔ)的加密身份證信息:判斷安全芯片中是否存儲(chǔ)有與配置信息對(duì)應(yīng)的加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中,且將加密身份證信息與配置信息關(guān)聯(lián)。通過該可選實(shí)施方式,可以同時(shí)在安全芯片中存儲(chǔ)多張居民身份證的身份信息。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100還用于在判斷安全芯片中沒有存儲(chǔ)配置信息的情況下,將配置信息存儲(chǔ)到安全芯片中時(shí),清空安全芯片存儲(chǔ)的加密身份證信息;讀卡器100通過以下方式獲取居民身份證中存儲(chǔ)的加密身份證信息:判斷安全芯片中是否存儲(chǔ)有加密身份證信息;在判斷安全芯片中存儲(chǔ)有加密身份證信息的情況下,從安全芯片中獲取加密身份證信息;在判斷安全芯片中沒有存儲(chǔ)加密身份證信息的情況下,執(zhí)行讀卡流程,讀取第一居民身份證中的加密身份證信息,將讀取的加密身份證信息存儲(chǔ)在安全芯片中。
通過該可選實(shí)施方式,安全芯片中僅存儲(chǔ)一張居民身份證的相關(guān)信息,可以節(jié)約存儲(chǔ)空間,提高身份證信息的安全。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,安全芯片存儲(chǔ)的加密身份證信息包括多個(gè)數(shù)據(jù)包;讀卡器100通過以下方式對(duì)配置信息和加密身份證信息進(jìn)行加密得到傳輸密文:使用第一傳輸密鑰分別對(duì)配置信息、以及加密身份證信息包括的各個(gè)數(shù)據(jù)包進(jìn)行加密,得到多個(gè)加密數(shù)據(jù)包。通過該可選實(shí)施方式,將加密身份證信息分為多個(gè)數(shù)據(jù)包傳輸給后臺(tái)服務(wù)器,在 接收到后臺(tái)服務(wù)器的重傳指令時(shí),不需要重新讀取居民身份證中存儲(chǔ)的信息,進(jìn)而進(jìn)而可以節(jié)約讀卡時(shí)間,提高用戶體驗(yàn)。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,后臺(tái)服務(wù)器110還用于判斷是否接收到完整的加密身份證信息,在沒有接收到完整的加密身份證信息的情況下,向讀卡器100發(fā)送重傳指令;讀卡器100還用于接收到后臺(tái)服務(wù)器110發(fā)送的指示需要重傳加密身份證信息的重傳指令,從安全芯片中獲取重傳指令指示需要重傳的數(shù)據(jù)包,使用第一傳輸密鑰對(duì)需要重傳的數(shù)據(jù)包進(jìn)行加密后重發(fā)給后臺(tái)服務(wù)器110。在該可選實(shí)施方式中,在重傳時(shí),讀卡器100不需要重新讀取居民身份證中存儲(chǔ)的信息,而只需要從安全芯片中獲取需要重傳的數(shù)據(jù)包,節(jié)約了流程和讀卡時(shí)間,提高了重傳效率。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100還用于在將傳輸密文發(fā)送給后臺(tái)服務(wù)器110之后,在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的居民身份證的配置信息及加密身份證信息。通過該可選實(shí)施方式,可以及時(shí)刪除安全芯片中存儲(chǔ)的居民身份證的相關(guān)信息,保證了信息的安全。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,后臺(tái)服務(wù)器110還用于獲取加密身份證信息的身份證明文信息,使用第二傳輸密鑰對(duì)身份證明文信息進(jìn)行加密,并將加密的身份證明文信息發(fā)送給讀卡器100;讀卡器100,還用于接收加密的身份證明文信息,并使用第一傳輸密鑰進(jìn)行解密,得到身份證明文信息;讀卡器100,還用于產(chǎn)生一個(gè)隨機(jī)密鑰,使用隨機(jī)密鑰對(duì)身份證明文信息進(jìn)行加密,將加密后的身份證明文信息存儲(chǔ)到安全芯片中。通過該可選實(shí)施方案,讀卡器100在獲取后臺(tái)服務(wù)器110返回的身份證明文信息后,通過一個(gè)隨機(jī)密鑰對(duì)該身份證明文信息進(jìn)行加密存儲(chǔ),在后續(xù)需要讀取同一居民身份證時(shí),可以直接從安全芯片中獲取該身份證明文信息,節(jié)約了讀卡流程,提高了讀卡效率。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100還用于接收到第二居民身份證返回的尋卡響應(yīng)指令,讀取第二居民身份證的配置信息,并判斷安全芯片內(nèi)是否存儲(chǔ)有當(dāng)前讀取的配置信息;以及在接收到與之連接的終端的讀卡指令后,在判斷安全芯片內(nèi)存儲(chǔ)有當(dāng)前讀取的配置信息的情況下,判斷安全芯片內(nèi)是否存儲(chǔ)有加密后的身份證明文信息;在判斷安全芯片內(nèi)存儲(chǔ)有加密后的身份證明文信息的情況下,獲取安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息,并采用隨機(jī)密鑰對(duì)加密后的身份證明文信息進(jìn)行解密,輸出解密后的身份證明文信息。通過該可選實(shí)施方案,在接收到讀卡指令時(shí),先查詢安全芯片中是否存儲(chǔ)有該居民身份證的身份證明文信息,在沒有存儲(chǔ)的情況下,可以進(jìn)一步判斷安全芯片中是否存儲(chǔ)有該居民身份證的加密身份證信息,在判斷有的情況下,從安全芯片中獲取該加密身份證信息,如果 沒有存儲(chǔ)該加密身份證信息,再?gòu)木用裆矸葑C中讀取該加密身份證信息。而在判斷安全芯片中存儲(chǔ)有該居民身份證的身份證明文信息的情況下,直接獲取該身份證明文信息并輸出,從而可以提高身份證的讀卡效率,節(jié)約時(shí)間。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,為了保證居民身份證信息的安全,讀卡器100在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證,清空安全芯片內(nèi)存儲(chǔ)的加密后的身份證明文信息;和/或,讀卡器100還用于在預(yù)定時(shí)間內(nèi)沒有檢測(cè)到居民身份證或所執(zhí)行關(guān)機(jī)操作前的情況下,刪除隨機(jī)密鑰。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,后臺(tái)服務(wù)器110通過以下方式對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:利用第一隨機(jī)因子和讀卡器100的數(shù)字證書中的讀卡器100的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作;讀卡器100通過以下方式對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:讀卡器100利用加密數(shù)據(jù)和后臺(tái)服務(wù)器110的數(shù)字證書中的后臺(tái)服務(wù)器110的公鑰對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,第一待簽名數(shù)據(jù)還包括:讀卡器100的第一身份標(biāo)識(shí),第一認(rèn)證數(shù)據(jù)還包括:讀卡器100的第二身份標(biāo)識(shí)。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,讀卡器100的第一身份標(biāo)識(shí)包括:讀卡器100序列號(hào)和/或讀卡器100證書號(hào),讀卡器100的第二身份標(biāo)識(shí)包括:讀卡器100序列號(hào)和/或讀卡器100證書號(hào);其中,讀卡器100序列號(hào)與讀卡器100證書號(hào)具備映射關(guān)系,且后臺(tái)服務(wù)器110存儲(chǔ)有映射關(guān)系。
在本發(fā)明實(shí)施例的一個(gè)可選實(shí)施方案中,后臺(tái)服務(wù)器110通過以下方式對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽:后臺(tái)服務(wù)器110利用第一隨機(jī)因子、第二身份標(biāo)識(shí)和讀卡器100的數(shù)字證書中的讀卡器100的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。
實(shí)施例5
本實(shí)施例提供了一種在讀卡過程中讀卡器與服務(wù)器協(xié)商傳輸密鑰的方案。本實(shí)施例主要對(duì)讀卡器與服務(wù)器協(xié)商傳輸密鑰的流程進(jìn)行說明,具體的讀卡流程可以參見上述實(shí)施例,在此不再贅述。
該方案主要包括以下步驟(501-513)。
步驟501、未設(shè)置有SAM(居民身份證驗(yàn)證安全控制)模塊的讀卡器接收到讀卡指令,將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;
在本實(shí)施例中,未設(shè)置有SAM模塊的讀卡器可以為未設(shè)置有SAM模塊的身份證讀卡器,用于讀取身份證信息,為了便于描述,在下文中稱為讀卡器,該讀卡器可以具有接收讀卡指 令的按鍵、觸摸屏等輸入裝置,當(dāng)用戶輸入讀卡指令時(shí),讀卡器接收到讀卡指令,讀卡器也可以具有對(duì)外通信接口,該通信接口與終端連接,接收終端發(fā)送的讀卡指令,終端可以為具有進(jìn)行通訊發(fā)送指令的PC機(jī)、PAD(平板電腦)、智能手機(jī)、智能可穿戴設(shè)、電子簽名設(shè)備(例如工行U盾、農(nóng)行K寶等)等設(shè)備。此外,SAM模塊是現(xiàn)有身份證讀卡器設(shè)置的一個(gè)模塊,SAM模塊僅用于對(duì)身份證讀卡器讀取的居民身份證信息進(jìn)行身份驗(yàn)證。
步驟502、后臺(tái)服務(wù)器接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子,并將第一隨機(jī)因子發(fā)送至讀卡器;
在本實(shí)施例中,第一隨機(jī)因子為單次認(rèn)證數(shù)據(jù),可以包括隨機(jī)數(shù)和/或隨機(jī)事件,在此不做限制。該第一隨機(jī)因子也可以為一個(gè)或一串隨機(jī)數(shù),或者可以為一個(gè)或一串隨機(jī)字符,或者一串隨機(jī)數(shù)和隨機(jī)組合的任意組合。后臺(tái)服務(wù)器每次生成的第一隨機(jī)因子都是隨機(jī)生成的,與上一次生成的第一隨機(jī)因子是不同的,可以防止重放攻擊,提高了安全性。
步驟503、讀卡器接收到第一隨機(jī)因子后,對(duì)第一待簽名數(shù)據(jù)進(jìn)行簽名生成第一簽名數(shù)據(jù),并將第一認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,其中,第一待簽名數(shù)據(jù)至少包括第一隨機(jī)因子,第一認(rèn)證數(shù)據(jù)至少包括第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;
在本實(shí)施例中,讀卡器中設(shè)置有安全芯片,該安全芯片(如國(guó)民技術(shù)股份有限公司的Z8D64U(國(guó)密批號(hào)SSX43)、Z32(國(guó)密批號(hào)SSX20))內(nèi)部擁有獨(dú)立的處理器和存儲(chǔ)單元,可存儲(chǔ)PKI數(shù)字證書和密鑰,以及其他特征數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行加解密運(yùn)算,為用戶提供數(shù)據(jù)加密和身份安全認(rèn)證服務(wù),保護(hù)商業(yè)隱私和數(shù)據(jù)安全。在本實(shí)施例中,讀卡器利用讀卡器的私鑰至少對(duì)接收到的第一隨機(jī)因子進(jìn)行簽名操作,生成第一簽名數(shù)據(jù),并至少將包含讀卡器公鑰的讀卡器數(shù)字證書和第一簽名數(shù)據(jù)一同發(fā)送至后臺(tái)服務(wù)器,以便后臺(tái)服務(wù)器對(duì)讀卡器的合法性進(jìn)行驗(yàn)證,保證了交易的合法性與安全性;讀卡器接收到后臺(tái)服務(wù)器發(fā)送的第一隨機(jī)因子后,除了進(jìn)行本步驟中的操作外,不進(jìn)行其他任何操作,從而使得后臺(tái)服務(wù)器能夠在最短的時(shí)間內(nèi)接收到讀卡器回傳的第一認(rèn)證數(shù)據(jù)并進(jìn)行認(rèn)證,提高了后臺(tái)服務(wù)器對(duì)讀卡器的認(rèn)證效率。
在本實(shí)施例的一個(gè)可選實(shí)施方式中,第一待簽名數(shù)據(jù)還包括:所述讀卡器的第一身份標(biāo)識(shí),所述第一認(rèn)證數(shù)據(jù)還包括:所述讀卡器的第二身份標(biāo)識(shí)。讀卡器的身份標(biāo)識(shí)為讀卡器的唯一標(biāo)識(shí)信息,服務(wù)器能夠根據(jù)讀卡器的身份標(biāo)識(shí)定位識(shí)別該讀卡器,并獲取讀卡器的出廠信息、歷史讀卡信息、歷史錯(cuò)誤信息、歷史舉報(bào)信息和歷史交易信息等信息。其中,第一身份標(biāo)識(shí)和第二身份標(biāo)識(shí)可以為同一類型的身份標(biāo)識(shí)信息,也可以為不同類型的身份標(biāo)識(shí)信息。進(jìn)一步地,所述讀卡器的第一身份標(biāo)識(shí)包括:讀卡器序列號(hào)和/或讀卡器證書號(hào),所述讀卡器 的第二身份標(biāo)識(shí)包括:所述讀卡器序列號(hào)和/或所述讀卡器證書號(hào);其中,所述讀卡器序列號(hào)與所述讀卡器證書號(hào)具備映射關(guān)系,后臺(tái)服務(wù)器存儲(chǔ)有電子簽名設(shè)備序列號(hào)與電子簽名設(shè)備證書號(hào)具備映射關(guān)系,以便于后臺(tái)服務(wù)器利用收到到的電子簽名設(shè)備序列號(hào)或電子簽名設(shè)備證書號(hào)實(shí)現(xiàn)風(fēng)險(xiǎn)管理。
后臺(tái)服務(wù)器接收到讀卡器序列號(hào)后,能夠通過查詢讀卡器序列號(hào)與讀卡器證書號(hào)的映射關(guān)系,獲取讀卡器證書號(hào),反之亦然,通過讀卡器序列號(hào)和/或讀卡器證書號(hào),后臺(tái)服務(wù)器能夠定位識(shí)別該讀卡器,并獲取讀卡器的出廠信息、歷史讀卡信息、歷史錯(cuò)誤信息、歷史舉報(bào)信息和歷史交易信息等信息,從而實(shí)現(xiàn)對(duì)由該讀卡器產(chǎn)生的數(shù)據(jù)傳輸?shù)娘L(fēng)險(xiǎn)控制管理。
步驟504、后臺(tái)服務(wù)器接收到第一認(rèn)證數(shù)據(jù)后,對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;
在具體實(shí)施時(shí),后臺(tái)服務(wù)器可以利用根證書對(duì)接收到的讀卡器的數(shù)字證書進(jìn)行驗(yàn)證,以防止非法分子篡改讀卡器的公鑰,實(shí)現(xiàn)對(duì)讀卡器的安全認(rèn)證,提高雙方交互的安全性。后臺(tái)服務(wù)器從認(rèn)證中心(Certificate Authority,簡(jiǎn)稱CA)下載根證書,根證書是CA與用戶建立信任關(guān)系的基礎(chǔ)。如果驗(yàn)證通過,則繼續(xù)后續(xù)流程,如果驗(yàn)證不通過,則結(jié)束流程,此時(shí),后臺(tái)服務(wù)器與讀卡器的連接斷開,后臺(tái)服務(wù)器不會(huì)再向讀卡器發(fā)送數(shù)據(jù),從而使得后臺(tái)服務(wù)器不會(huì)受到非法攻擊。
步驟505、在驗(yàn)證通過后,對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則執(zhí)行步驟506;
在本實(shí)施例中,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:后臺(tái)服務(wù)器利用第一隨機(jī)因子以及讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,具體驗(yàn)簽方式為現(xiàn)有技術(shù),此處不再贅述。
在本實(shí)施例中,如果驗(yàn)簽通過,表明第一簽名數(shù)據(jù)是由合法讀卡器進(jìn)行簽名的,更進(jìn)一步實(shí)現(xiàn)對(duì)讀卡器的安全認(rèn)證;如果驗(yàn)簽不通過,則結(jié)束流程,此時(shí),后臺(tái)服務(wù)器與讀卡器的連接斷開,后臺(tái)服務(wù)器不會(huì)再向讀卡器發(fā)送數(shù)據(jù),從而使得后臺(tái)服務(wù)器不會(huì)受到非法攻擊。
本實(shí)施例中,從步驟501后臺(tái)服務(wù)器接收到傳輸密鑰生成請(qǐng)求與讀卡器建立連接開始,到步驟505中當(dāng)驗(yàn)簽不通過,結(jié)束流程,后臺(tái)服務(wù)器斷開與讀卡器的連接,此過程耗時(shí)非常短暫,后臺(tái)服務(wù)器可迅速判斷讀卡器的簽名數(shù)據(jù)錯(cuò)誤,釋放與讀卡器的連接通道,因此,當(dāng)重放攻擊設(shè)備偽裝為讀卡器時(shí),在后臺(tái)服務(wù)器受到重放攻擊的情況下,可迅速斷開與重放攻擊設(shè)備的連接通道,減輕重放攻擊對(duì)后臺(tái)服務(wù)器的占用。并且現(xiàn)在技術(shù)中,將防止重放攻擊的驗(yàn)簽步驟放在整個(gè)建立安全通道生成傳輸密鑰的流程的中間部分甚至靠后部分,無法快速判斷是否受到重復(fù)攻擊,由于驗(yàn)簽步驟比較靠后,即使受到重復(fù)攻擊,也不能很快判斷出來, 只能繼續(xù)后續(xù)生成傳輸密鑰的步驟,而本發(fā)明實(shí)施例中驗(yàn)簽步驟在整個(gè)流程的最開始,能夠在第一時(shí)間就驗(yàn)證出讀卡器身份的不合法后,終止后續(xù)的操作,快速判斷出受到重放攻擊,進(jìn)而斷開與非法讀卡器的連接,保證后臺(tái)服務(wù)器的安全。
在本實(shí)施例的一個(gè)可選實(shí)施方式中,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作,包括:后臺(tái)服務(wù)器利用第一隨機(jī)因子和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。使用讀卡器的數(shù)字證書中的讀卡器的公鑰進(jìn)行驗(yàn)簽操作,保障了在后臺(tái)服務(wù)器沒有預(yù)存電子簽名工具的數(shù)字證書的情況下,也可完成驗(yàn)簽操作。
在本實(shí)施例的一個(gè)可選實(shí)施方式中,當(dāng)?shù)谝淮灻麛?shù)據(jù)中包括第一身份標(biāo)識(shí),第一認(rèn)證數(shù)據(jù)中包括第二身份標(biāo)識(shí)時(shí),后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作包括:后臺(tái)服務(wù)器利用第一隨機(jī)因子、第二身份標(biāo)識(shí)和讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。待簽名數(shù)據(jù)中包括第一身份標(biāo)識(shí),可以使驗(yàn)簽結(jié)果更加準(zhǔn)確可靠,后臺(tái)服務(wù)器再收到第二身份標(biāo)識(shí)后,也可根據(jù)第二身份標(biāo)識(shí)進(jìn)行風(fēng)險(xiǎn)控制管理。
在本實(shí)施例中,如果驗(yàn)簽通過,表明第一簽名數(shù)據(jù)是由合法讀卡器進(jìn)行簽名的,更進(jìn)一步實(shí)現(xiàn)對(duì)讀卡器的安全認(rèn)證;如果驗(yàn)簽不通過,則結(jié)束流程,此時(shí),服務(wù)器與讀卡器的連接斷開,后臺(tái)服務(wù)器不會(huì)再向讀卡器發(fā)送數(shù)據(jù),從而使得后臺(tái)服務(wù)器不會(huì)受到非法攻擊。
步驟506、若驗(yàn)簽通過,則后臺(tái)服務(wù)器生成第二隨機(jī)因子,并基于第一隨機(jī)因子和第二隨機(jī)因子生成第三隨機(jī)因子;
在本實(shí)施例的一個(gè)可選實(shí)施方式中,第二隨機(jī)因子為單次認(rèn)證數(shù)據(jù),可以包括隨機(jī)數(shù)和/或隨機(jī)事件。該第二隨機(jī)因子也可以為一個(gè)或一串隨機(jī)數(shù),或者可以為一個(gè)或一串隨機(jī)字符,或者一串隨機(jī)數(shù)和隨機(jī)組合的任意組合。
在本實(shí)施例的一個(gè)可選實(shí)施方式中,后臺(tái)服務(wù)器生成第二隨機(jī)因子后,基于第一隨機(jī)因子和第二隨機(jī)因子生成第三隨機(jī)因子,生成算法可以采取多種方式,例如拼接算法、差分算法、插位算法等,例如,第一隨機(jī)因子和第二隨機(jī)因子均為N位,優(yōu)選地,為提高第三隨機(jī)因子的生成效率,將第一隨機(jī)因子和第二隨機(jī)因子進(jìn)行首尾拼接生成2N位的第三隨機(jī)因子,或,將第一隨機(jī)因子中的前X位和第二隨機(jī)因子中的后Y位進(jìn)行拼接,生成X+Y位的第三隨機(jī)因子,其中,1≤X≤N,1≤Y≤N。在通過后續(xù)步驟中的一系列驗(yàn)證后,后臺(tái)服務(wù)器和讀卡器均可以利用該第三隨機(jī)因子采用相同的算法生成傳輸密鑰。
步驟507、后臺(tái)服務(wù)器基于第三隨機(jī)因子計(jì)算得到第二傳輸密鑰;
在本實(shí)施例中,后臺(tái)服務(wù)器可以利用該第三隨機(jī)因子采用與讀卡器側(cè)相同的算法生成傳輸密鑰,以保證讀卡器與后臺(tái)服務(wù)器利用該傳輸密鑰進(jìn)行信息交互,通過該傳輸密鑰對(duì)傳輸 過程中的數(shù)據(jù)進(jìn)行加解密,以保證傳輸數(shù)據(jù)的安全性。該步驟507與后續(xù)步驟508~步驟512不分先后順序。
步驟508、后臺(tái)服務(wù)器利用讀卡器的公鑰對(duì)第三隨機(jī)因子進(jìn)行加密生成第二待簽名數(shù)據(jù),對(duì)第二待簽名數(shù)據(jù)進(jìn)行簽名生成第二簽名數(shù)據(jù),并將第二認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第二認(rèn)證數(shù)據(jù)至少包括:第二待簽名數(shù)據(jù)、第二簽名數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書;
在本實(shí)施例中,后臺(tái)服務(wù)器利用讀卡器公鑰對(duì)第三隨機(jī)因子進(jìn)行加密操作,生成第二待簽名數(shù)據(jù),也就是說,第三隨機(jī)因子僅能夠利用讀卡器私鑰解密獲得,保證了第三隨機(jī)因子的安全性;后臺(tái)服務(wù)器將自身數(shù)字證書發(fā)送至讀卡器,以便讀卡器對(duì)后臺(tái)服務(wù)器的合法性進(jìn)行驗(yàn)證,保證了交易的合法性與安全性。
步驟509、讀卡器接收到第二認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;
在具體實(shí)施時(shí),讀卡器可以利用根證書對(duì)接收到的后臺(tái)服務(wù)器的數(shù)字證書進(jìn)行驗(yàn)證,以防止非法分子篡改后臺(tái)服務(wù)器的公鑰,實(shí)現(xiàn)對(duì)后臺(tái)服務(wù)器的安全認(rèn)證,提高雙方交互的安全性。讀卡器從認(rèn)證中心(Certificate Authority,簡(jiǎn)稱CA)下載根證書,根證書是CA與用戶建立信任關(guān)系的基礎(chǔ)。
步驟510、在驗(yàn)證通過后,對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,如果驗(yàn)簽通過,則執(zhí)行步驟511;
在本實(shí)施例的一個(gè)可選實(shí)施方式中,讀卡器對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:讀卡器利用第二待簽名數(shù)據(jù)和后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二簽名數(shù)據(jù)進(jìn)行驗(yàn)簽操作。使用后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰進(jìn)行驗(yàn)簽操作,保障了在讀卡器沒有預(yù)存后臺(tái)服務(wù)器的數(shù)字證書的情況下,也可完成驗(yàn)簽操作。進(jìn)一步地,如果第二簽名數(shù)據(jù)的驗(yàn)簽無法通過,則結(jié)束流程,此時(shí),讀卡器與后臺(tái)服務(wù)器的連接斷開,讀卡器不會(huì)再向后臺(tái)服務(wù)器發(fā)送數(shù)據(jù),從而使得讀卡器不會(huì)受到非法后臺(tái)服務(wù)器的攻擊。
步驟511、若驗(yàn)簽通過,則讀卡器利用讀卡器的私鑰對(duì)第二待簽名數(shù)據(jù)進(jìn)行解密操作,獲得第三隨機(jī)因子;
步驟512、讀卡器基于第三隨機(jī)因子計(jì)算得到第一傳輸密鑰;
在本實(shí)施例中,讀卡器可以利用該第三隨機(jī)因子采用與后臺(tái)服務(wù)器側(cè)相同的算法生成傳輸密鑰,以保證后臺(tái)服務(wù)器與讀卡器之間可以通過該傳輸密鑰進(jìn)行信息交互,通過該傳輸密鑰對(duì)傳輸過程中的數(shù)據(jù)進(jìn)行加解密,以保證傳輸數(shù)據(jù)的安全性。
作為本實(shí)施例中一種可選的實(shí)施方式,第一傳輸密鑰和第二傳輸密鑰可以為相同的傳輸密鑰,即對(duì)稱密鑰,讀卡器和后臺(tái)服務(wù)器分別利用該對(duì)稱密鑰對(duì)傳輸?shù)臄?shù)據(jù)加解密;也可以為一組包括加密密鑰和解密密鑰的密鑰對(duì),讀卡器和后臺(tái)服務(wù)器可以分別利用其中的加密密 鑰對(duì)傳輸數(shù)據(jù)加密,利用其中的解密密鑰對(duì)傳輸數(shù)據(jù)解密。
步驟513、讀卡器利用第一傳輸密鑰對(duì)讀卡器與后臺(tái)服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加解密,后臺(tái)服務(wù)器利用第二傳輸密鑰對(duì)讀卡器與后臺(tái)服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加解密;
通過本實(shí)施例提供的身份證信息安全傳輸?shù)姆椒ǎ梢栽谧x卡器與后臺(tái)服務(wù)器之間建立安全通道,利用傳輸密鑰對(duì)在安全通道中傳輸?shù)臄?shù)據(jù)加密,提高了數(shù)據(jù)傳輸?shù)陌踩?。而且,讀卡器接收到后臺(tái)服務(wù)器發(fā)送的第一隨機(jī)因子后,立即利用自身私鑰對(duì)第一隨機(jī)因子進(jìn)行簽名后回傳至服務(wù)器,從而使得后臺(tái)服務(wù)器能夠在最短的時(shí)間內(nèi)接收到讀卡器回傳的第一認(rèn)證數(shù)據(jù)并進(jìn)行認(rèn)證,提高了后臺(tái)服務(wù)器對(duì)讀卡器的認(rèn)證效率,從而在讀卡器與后臺(tái)服務(wù)器相互認(rèn)證的初始階段,后臺(tái)服務(wù)器即判定讀卡器是否合法,若不合法則立即結(jié)束流程,快速判斷出受到重放攻擊,進(jìn)而斷開與非法讀卡器的連接,避免不法交易對(duì)后臺(tái)服務(wù)器的資源占用。
實(shí)施例6
本實(shí)施例提供了一種在讀卡過程中讀卡器與服務(wù)器協(xié)商傳輸密鑰的方案。本實(shí)施例主要對(duì)讀卡器與服務(wù)器協(xié)商傳輸密鑰的流程進(jìn)行說明,具體的讀卡流程可以參見上述實(shí)施例,在此不再贅述。
該方案主要包括以下步驟(601-614)。
步驟601:未設(shè)置有SAM(居民身份證驗(yàn)證安全控制)模塊的讀卡器接收到讀卡指令,將傳輸密鑰生成請(qǐng)求發(fā)送至后臺(tái)服務(wù)器;
在本實(shí)施例中,未設(shè)置有SAM模塊的讀卡器可以為未設(shè)置有SAM模塊的身份證讀卡器,用于讀取身份證信息,為了便于描述,在下文中稱為讀卡器,該讀卡器可以具有接收讀卡指令的按鍵裝置、觸摸屏等輸入裝置,當(dāng)用戶輸入讀卡指令時(shí),讀卡器接收到讀卡指令,讀卡器也可以具有對(duì)外通信接口,該通信接口與終端連接,接收終端發(fā)送的讀卡指令,終端可以為具有進(jìn)行通訊發(fā)送指令的PC機(jī)、PAD(平板電腦)、智能手機(jī)、智能可穿戴設(shè)、電子簽名設(shè)備(例如工行U盾、農(nóng)行K寶等)等設(shè)備。此外,SAM模塊是現(xiàn)有身份證讀卡器設(shè)置的一個(gè)模塊,SAM模塊僅用于對(duì)身份證讀卡器讀取的居民身份證信息進(jìn)行身份驗(yàn)證。
步驟602:后臺(tái)服務(wù)器接收到傳輸密鑰生成請(qǐng)求后,生成第一隨機(jī)因子;
在本實(shí)施例中,第一隨機(jī)因子為單次認(rèn)證數(shù)據(jù),可以包括隨機(jī)數(shù)和/或隨機(jī)事件,在此不做限制。該第一隨機(jī)因子也可以為一個(gè)或一串隨機(jī)數(shù),或者可以為一個(gè)或一串隨機(jī)字符,或者一串隨機(jī)數(shù)和隨機(jī)組合的任意組合。后臺(tái)服務(wù)器每次生成的第一隨機(jī)因子都是隨機(jī)生成的,與上一次生成的第一隨機(jī)因子是不同的,可以防止重放攻擊,提高了安全性。
步驟603:后臺(tái)服務(wù)器將第一認(rèn)證數(shù)據(jù)發(fā)送至讀卡器,其中,第一認(rèn)證數(shù)據(jù)至少包括:第一隨機(jī)因子和后臺(tái)服務(wù)器的數(shù)字證書;
本實(shí)施例中,將后臺(tái)服務(wù)器的數(shù)字證書發(fā)送至讀卡器,以使讀卡器對(duì)數(shù)字證書進(jìn)行驗(yàn)證,以確認(rèn)后臺(tái)服務(wù)器的證書是否合法;將第一隨機(jī)因子發(fā)送至讀卡器,以使讀卡器對(duì)該第一隨機(jī)因子進(jìn)行簽名,后臺(tái)服務(wù)器再通過該第一隨機(jī)因子對(duì)簽名進(jìn)行驗(yàn)簽,以使后臺(tái)服務(wù)器確認(rèn)讀卡器的身份安全,并且能夠防止重放攻擊。
步驟604:讀卡器接收到第一認(rèn)證數(shù)據(jù)后,對(duì)后臺(tái)服務(wù)器的數(shù)字證書的合法性進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則執(zhí)行步驟605,否則,結(jié)束流程;
在本實(shí)施例中,讀卡器中設(shè)置有安全芯片,該安全芯片(如國(guó)民技術(shù)股份有限公司的Z8D64U(國(guó)密批號(hào)SSX43)、Z32(國(guó)密批號(hào)SSX20))內(nèi)部擁有獨(dú)立的處理器和存儲(chǔ)單元,可存儲(chǔ)PKI數(shù)字證書和密鑰,以及其他特征數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行加解密運(yùn)算,為用戶提供數(shù)據(jù)加密和身份安全認(rèn)證服務(wù),保護(hù)商業(yè)隱私和數(shù)據(jù)安全。在具體實(shí)施時(shí),讀卡器可以利用根證書對(duì)接收到的后臺(tái)服務(wù)器的數(shù)字證書進(jìn)行驗(yàn)證,以防止非法分子篡改后臺(tái)服務(wù)器的公鑰,實(shí)現(xiàn)對(duì)后臺(tái)服務(wù)器的安全認(rèn)證,提高雙方交互的安全性。讀卡器從認(rèn)證中心(Certificate Authority,簡(jiǎn)稱CA)下載根證書,根證書是CA與用戶建立信任關(guān)系的基礎(chǔ)。如果驗(yàn)證通過,則繼續(xù)后續(xù)流程,如果驗(yàn)證不通過,則結(jié)束流程,此時(shí),后臺(tái)服務(wù)器與讀卡器的連接斷開,讀卡器不會(huì)再向后臺(tái)服務(wù)器發(fā)送數(shù)據(jù),從而使得讀卡器不會(huì)受到非法后臺(tái)服務(wù)器的攻擊。
步驟605:在驗(yàn)證通過后,讀卡器生成第二隨機(jī)因子;
在本實(shí)施例中,第二隨機(jī)因子為單次認(rèn)證數(shù)據(jù),可以包括隨機(jī)數(shù)和/或隨機(jī)事件。該第二隨機(jī)因子也可以為一個(gè)或一串隨機(jī)數(shù),或者可以為一個(gè)或一串隨機(jī)字符,或者一串隨機(jī)數(shù)和隨機(jī)組合的任意組合。
在通過后續(xù)步驟中的一系列驗(yàn)證后,后臺(tái)服務(wù)器和讀卡器均可以利用該第二隨機(jī)因子采用相同的算法生成傳輸密鑰。
步驟606:讀卡器利用后臺(tái)服務(wù)器的數(shù)字證書中的后臺(tái)服務(wù)器的公鑰對(duì)第二隨機(jī)因子進(jìn)行加密操作,生成第一加密數(shù)據(jù);
在本實(shí)施例中,讀卡器和后臺(tái)服務(wù)器均基于第二隨機(jī)因子計(jì)算傳輸密鑰,因此,對(duì)第二隨機(jī)因子加密可以保證第二隨機(jī)因子不被竊取,從而保證讀卡器在將第二隨機(jī)因子傳輸至后臺(tái)服務(wù)器的過程中的安全性,進(jìn)而保證讀卡器與后臺(tái)服務(wù)器生成傳輸密鑰的安全性及可靠性。
步驟607:讀卡器對(duì)第一隨機(jī)因子和第一加密數(shù)據(jù)進(jìn)行簽名,生成第一簽名數(shù)據(jù);
在本實(shí)施例中,讀卡器將第一隨機(jī)因子和第一加密數(shù)據(jù)合并后進(jìn)行簽名,可以使驗(yàn)簽結(jié) 果更加準(zhǔn)確可靠。
步驟608:讀卡器將第二認(rèn)證數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,其中,第二認(rèn)證數(shù)據(jù)至少包括:第一加密數(shù)據(jù)、第一簽名數(shù)據(jù)和讀卡器的數(shù)字證書;
本實(shí)施例中,將讀卡器的數(shù)字證書發(fā)送至后臺(tái)服務(wù)器,以使后臺(tái)服務(wù)器對(duì)數(shù)字證書進(jìn)行驗(yàn)證,以確認(rèn)讀卡器的證書是否合法;將第一加密數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器,以使后臺(tái)服務(wù)器利用該第一加密數(shù)據(jù)對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,以確認(rèn)讀卡器的身份安全。
步驟609:后臺(tái)服務(wù)器接收第二認(rèn)證數(shù)據(jù),對(duì)讀卡器的數(shù)字證書的合法性進(jìn)行驗(yàn)證;
在具體實(shí)施時(shí),后臺(tái)服務(wù)器可以利用根證書對(duì)接收到的讀卡器的數(shù)字證書進(jìn)行驗(yàn)證,以防止非法分子篡改讀卡器的公鑰,實(shí)現(xiàn)對(duì)讀卡器的安全認(rèn)證,提高雙方交互的安全性。后臺(tái)服務(wù)器從認(rèn)證中心(Certificate Authority,簡(jiǎn)稱CA)下載根證書,根證書是CA與用戶建立信任關(guān)系的基礎(chǔ)。如果驗(yàn)證通過,則繼續(xù)后續(xù)流程,如果驗(yàn)證不通過,則結(jié)束流程。此時(shí),后臺(tái)服務(wù)器與讀卡器的連接斷開,后臺(tái)服務(wù)器不會(huì)再向讀卡器發(fā)送數(shù)據(jù),從而使得后臺(tái)服務(wù)器不會(huì)受到非法讀卡器的攻擊。
步驟610:在驗(yàn)證通過后,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽;若驗(yàn)簽不通過,則結(jié)束流程;若驗(yàn)簽通過,則執(zhí)行步驟611;
在本實(shí)施例中,后臺(tái)服務(wù)器對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,包括:后臺(tái)服務(wù)器利用第一加密數(shù)據(jù)以及讀卡器的數(shù)字證書中的讀卡器的公鑰對(duì)第一簽名數(shù)據(jù)進(jìn)行驗(yàn)簽,具體驗(yàn)簽方式為現(xiàn)有技術(shù),此處不再贅述。
在本實(shí)施例中,如果驗(yàn)簽通過,表明第一簽名數(shù)據(jù)是由讀卡器進(jìn)行簽名的,更進(jìn)一步實(shí)現(xiàn)對(duì)讀卡器的安全認(rèn)證;如果驗(yàn)簽不通過,則結(jié)束流程,此時(shí),后臺(tái)服務(wù)器與讀卡器的連接斷開,后臺(tái)服務(wù)器不會(huì)再向讀卡器發(fā)送數(shù)據(jù),從而使得后臺(tái)服務(wù)器不會(huì)受到非法讀卡器的攻擊。
步驟611:后臺(tái)服務(wù)器利用后臺(tái)服務(wù)器的私鑰對(duì)第一加密數(shù)據(jù)進(jìn)行解密,獲得第二隨機(jī)因子;
步驟612:后臺(tái)服務(wù)器基于第二隨機(jī)因子計(jì)算得到第二傳輸密鑰;
在本實(shí)施例中,后臺(tái)服務(wù)器可以利用該第二隨機(jī)因子采用與讀卡器側(cè)相同的算法生成傳輸密鑰,以保證后臺(tái)服務(wù)器與讀卡器之間可以通過該傳輸密鑰進(jìn)行信息交互,通過該傳輸密鑰對(duì)傳輸過程中的數(shù)據(jù)進(jìn)行加解密,以保證傳輸數(shù)據(jù)的安全性。
作為本實(shí)施例中一種可選的實(shí)施方式,第一傳輸密鑰和第二傳輸密鑰可以為相同的傳輸密鑰,即對(duì)稱密鑰,讀卡器和后臺(tái)服務(wù)器分別利用該對(duì)稱密鑰對(duì)傳輸?shù)臄?shù)據(jù)加解密;也可以 為一組包括加密密鑰和解密密鑰的密鑰對(duì),讀卡器和后臺(tái)服務(wù)器可以分別利用其中的加密密鑰對(duì)傳輸數(shù)據(jù)加密,利用其中的解密密鑰對(duì)傳輸數(shù)據(jù)解密。
步驟613:讀卡器基于第二隨機(jī)因子計(jì)算得到第一傳輸密鑰;
在本實(shí)施例中,讀卡器可以利用該第二隨機(jī)因子采用與后臺(tái)服務(wù)器側(cè)相同的算法生成傳輸密鑰,以保證后臺(tái)服務(wù)器與讀卡器之間可以通過該傳輸密鑰進(jìn)行信息交互,通過該傳輸密鑰對(duì)傳輸過程中的數(shù)據(jù)進(jìn)行加解密,以保證傳輸數(shù)據(jù)的安全性。該步驟613與步驟608~步驟612不分先后順序。
步驟614:讀卡器利用第一傳輸密鑰對(duì)讀卡器與后臺(tái)服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加解密,后臺(tái)服務(wù)器利用第二傳輸密鑰對(duì)讀卡器與后臺(tái)服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加解密。
通過本實(shí)施例提供的身份證信息安全傳輸?shù)姆椒ǎ梢栽谧x卡器與后臺(tái)服務(wù)器之間建立安全通道,利用傳輸密鑰對(duì)在安全通道中傳輸?shù)臄?shù)據(jù)加密,提高了數(shù)據(jù)傳輸?shù)陌踩浴?/p>
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。