一種身份證讀取方法及身份證讀卡終端的制作方法
【專利摘要】本發明公開了一種身份證讀取方法及身份證讀卡終端,其中,身份證讀取方法包括:身份證讀卡終端接收身份證發送的身份證標識信息并發送至云認證平臺,接收云認證平臺生成的第一認證因子并發送至身份證,接收身份證返回的第一認證數據并發送至云認證平臺,接收身份證生成的第二認證因子并發送至云認證平臺,接收云認證平臺返回的第二認證數據并發送至身份證,讀卡接口接收身份證發送的身份證數據密文,主控安全芯片對身份證數據密文進行安全處理得到第七數據包,通訊接口發送第七數據包至云認證平臺,通訊接口接收云認證平臺返回身份證數據明文。通過本發明提供的身份證讀取方法,降低了實現成本,簡化了實現方案。
【專利說明】
一種身份證讀取方法及身份證讀卡終端
技術領域
[0001]本發明涉及一種身份證領域,尤其涉及一種身份證讀取方法及身份證讀卡終端。
【背景技術】
[0002]現有身份證信息讀取方案中,身份證讀卡器需要配合使用驗證安全控制模塊來實現身份證信息的讀取及顯示。在銀行、車站等需要采用身份證信息讀取的行業,通常需要在本地布局大量的身份證讀卡器和驗證安全控制模塊,身份證讀卡器與驗證安全控制模塊之間還需要設置相應的對應關系,方案實現較復雜,成本較高。
【發明內容】
[0003 ]本發明旨在解決上述問題/之一。
[0004]本發明的主要目的在于提供一種身份證讀取方法。
[0005]本發明的另一目的在于提供一種身份證讀卡終端。
[0006]為達到上述目的,本發明的技術方案具體是這樣實現的:
[0007]本發明一方面提供了一種身份證讀取方法,包括:讀卡接口接收身份證發送的身份證標識信息,發送身份證標識信息至主控安全芯片;主控安全芯片接收身份證標識信息,對身份證標識信息進行安全處理得到第一數據包,發送第一數據包至通訊接口 ;通訊接口接收第一數據包,發送第一數據包至云認證平臺;通訊接口接收云認證平臺返回的第二數據包,發送第二數據包至主控安全芯片;主控安全芯片接收第二數據包,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送第一認證因子至讀卡接口;讀卡接口接收第一認證因子,發送第一認證因子至身份證;讀卡接口接收身份證返回的第一認證數據,發送第一認證數據至主控安全芯片,第一認證數據為身份證對第一認證因子進行處理得到的;主控安全芯片接收第一認證數據,對第一認證數據進行安全處理得到第三數據包,發送第三數據包至通訊接口 ;通訊接口接收第三數據包,發送第三數據包至云認證平臺;通訊接口接收云認證平臺返回的第四數據包,發送第四數據包至主控安全芯片;主控安全芯片接收第四數據包,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送第二認證因子獲取請求至讀卡接口 ;讀卡接口接收第二認證因子獲取請求,發送第二認證因子獲取請求至身份證;讀卡接口接收身份證返回的第二認證因子,發送第二認證因子至主控安全芯片;主控安全芯片接收第二認證因子,對第二認證因子進行安全處理得到第五數據包,發送第五數據包至通訊接口 ;通訊接口接收第五數據包,發送第五數據包至云認證平臺;通訊接口接收云認證平臺返回的第六數據包,發送第六數據包至主控安全芯片;主控安全芯片接收第六數據包,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送第二認證數據至讀卡接口 ;讀卡接口接收第二認證數據,發送第二認證數據至身份證,第二認證數據為云認證平臺對第二認證因子進行處理得到的;讀卡接口接收身份證返回的身份證數據密文,發送身份證數據密文至主控安全芯片;主控安全芯片對身份證數據密文進行安全處理得到第七數據包,發送第七數據包至通訊接口 ;通訊接口發送第七數據包至云認證平臺;通訊接口接收云認證平臺返回的第八數據包,發送第八數據包至主控安全芯片;主控安全芯片接收第八數據包,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。
[0008]可選的,主控安全芯片,對身份證標識信息進行安全處理得到第一數據包,包括:主控安全芯片,利用第一會話密鑰對身份證標識信息加密得到第一密文,利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值,第一數據包至少包括:第一密文和第一簽名值;第二數據包至少包括:第二密文和第二簽名值;主控安全芯片,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,包括:主控安全芯片,利用云認證平臺的公鑰對第二簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第二密文進行解密得到第一認證因子;主控安全芯片,對第一認證數據進行安全處理得到第三數據包,包括:主控安全芯片,利用第一會話密鑰對第一認證數據進行加密得到第三密文,利用身份證讀卡終端的第一私鑰對第三密文進行簽名,得到第三簽名值,第三數據包至少包括:第三密文和第三簽名值;第四數據包至少包括:第四密文和第四簽名值;主控安全芯片,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,包括:主控安全芯片,利用云認證平臺的公鑰對第四簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求;主控安全芯片,對第二認證因子進行安全處理得到第五數據包,包括:主控安全芯片,利用第一會話密鑰對第二認證因子進行加密得到第五密文,利用身份證讀卡終端的第一私鑰對第五密文進行簽名,得到第五簽名值,第五數據包至少包括:第五密文和第五簽名值;第六數據包至少包括:第六密文和第六簽名值;主控安全芯片,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,包括:主控安全芯片,利用云認證平臺的公鑰對第六簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第六密文進行解密得到第二認證數據;主控安全芯片,對身份證數據密文進行安全處理得到第七數據包,包括:主控安全芯片,利用第一會話密鑰對身份證數據密文進行加密得到第七密文,利用身份證讀卡終端的第一私鑰對第七密文進行簽名,得到第七簽名值;第八數據包至少包括:第八密文和第八簽名值;主控安全芯片,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文,包括:主控安全芯片,利用云認證平臺的公鑰對第八簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第八密文進行解密得到身份證數據明文。
[0009]可選的,在主控安全芯片對身份證標識信息進行安全處理得到第一數據包之前,方法還包括:主控安全芯片生成第一隨機數,利用身份證讀卡終端的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至通訊接口,第九數據包至少包括:第一隨機數、身份證讀卡終端的第一證書和第九簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰;通訊接口接收第九數據包,發送第九數據包至云認證平臺;通訊接口接收云認證平臺返回的第十數據包,發送第十數據包至主控安全芯片,第十數據包至少包括:第十密文和第十簽名值;主控安全芯片接收第十數據包,利用云認證平臺的公鑰對第十簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第一私鑰對第十密文進行解密得到第一隨機數和第二隨機數,第二隨機數由云認證平臺生成;主控安全芯片比對生成的第一隨機數和解密得到的第一隨機數,比對一致,利用第一隨機數和第二隨機數生成第一會話密鑰。
[0010]可選的,在主控安全芯片對身份證標識信息進行安全處理得到第一數據包之前,方法還包括:主控安全芯片,利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用身份證讀卡終端的第一私鑰對第十一密文進行簽名得到第十一簽名值,發送第十一數據包至通訊接口,第十一數據包至少包括:身份證讀卡終端的第一證書和第二證書、第十一密文和第十一簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰,第二證書至少包含身份證讀卡終端的第二公鑰;通訊接口接收第十一數據包,發送第十一數據包至云認證平臺;通訊接口接收云認證平臺返回的第十二數據包,發送第十二數據包至主控安全芯片,第十二數據包至少包括:第十二密文和第十二簽名值;主控安全芯片接收第十二數據包,利用云認證平臺的公鑰對第十二簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰。
[0011]本發明另一方面提供了一種身份證讀卡終端,包括:讀卡接口,用于接收身份證發送的身份證標識信息,發送身份證標識信息至主控安全芯片;主控安全芯片,用于接收身份證標識信息,對身份證標識信息進行安全處理得到第一數據包,發送第一數據包至通訊接口 ;通訊接口,用于接收第一數據包,發送第一數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第二數據包,發送第二數據包至主控安全芯片;主控安全芯片,還用于接收第二數據包,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送第一認證因子至讀卡接口;讀卡接口,還用于接收第一認證因子,發送第一認證因子至身份證;讀卡接口,還用于接收身份證返回的第一認證數據,發送第一認證數據至主控安全芯片,第一認證數據為身份證對第一認證因子進行處理得到的;主控安全芯片,還用于接收第一認證數據,對第一認證數據進行安全處理得到第三數據包,發送第三數據包至通訊接口 ;通訊接口,還用于接收第三數據包,發送第三數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第四數據包,發送第四數據包至主控安全芯片;主控安全芯片,還用于接收第四數據包,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送第二認證因子獲取請求至讀卡接口 ;讀卡接口,還用于接收第二認證因子獲取請求,發送第二認證因子獲取請求至身份證;讀卡接口,還用于接收身份證返回的第二認證因子,發送第二認證因子至主控安全芯片;主控安全芯片,還用于接收第二認證因子,對第二認證因子進行安全處理得到第五數據包,發送第五數據包至通訊接口 ;通訊接口,還用于接收第五數據包,發送第五數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第六數據包,發送第六數據包至主控安全芯片;主控安全芯片,還用于接收第六數據包,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送第二認證數據至讀卡接口 ;讀卡接口,還用于接收第二認證數據,發送第二認證數據至身份證,第二認證數據為云認證平臺對第二認證因子進行處理得到的;讀卡接口,還用于接收身份證返回的身份證數據密文,發送身份證數據密文至主控安全芯片;主控安全芯片,還用于對身份證數據密文進行安全處理得到第七數據包,發送第七數據包至通訊接口 ;通訊接口,還用于發送第七數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第八數據包,發送第八數據包至主控安全芯片;主控安全芯片,還用于接收第八數據包,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。
[0012]可選的,主控安全芯片,具體用于利用第一會話密鑰對身份證標識信息加密得到第一密文,利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值,第一數據包至少包括:第一密文和第一簽名值;第二數據包至少包括:第二密文和第二簽名值;主控安全芯片,具體用于利用云認證平臺的公鑰對第二簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第二密文進行解密得到第一認證因子;主控安全芯片,具體用于利用第一會話密鑰對第一認證數據進行加密得到第三密文,利用身份證讀卡終端的第一私鑰對第三密文進行簽名,得到第三簽名值,第三數據包至少包括:第三密文和第三簽名值;第四數據包至少包括:第四密文和第四簽名值;主控安全芯片,具體用于利用云認證平臺的公鑰對第四簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求;主控安全芯片,具體用于利用第一會話密鑰對第二認證因子進行加密得到第五密文,利用身份證讀卡終端的第一私鑰對第五密文進行簽名,得到第五簽名值,第五數據包至少包括:第五密文和第五簽名值;第六數據包至少包括:第六密文和第六簽名值;主控安全芯片,具體用于利用云認證平臺的公鑰對第六簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第六密文進行解密得到第二認證數據;主控安全芯片,具體用于利用第一會話密鑰對身份證數據密文進行加密得到第七密文,利用身份證讀卡終端的第一私鑰對第七密文進行簽名,得到第七簽名值;第八數據包至少包括:第八密文和第八簽名值;主控安全芯片,具體用于利用云認證平臺的公鑰對第八簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第八密文進行解密得到身份證數據明文。
[0013]可選的,主控安全芯片,還用于生成第一隨機數,利用身份證讀卡終端的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至通訊接口,第九數據包至少包括:第一隨機數、身份證讀卡終端的第一證書和第九簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰;通訊接口,還用于接收第九數據包,發送第九數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第十數據包,發送第十數據包至主控安全芯片,第十數據包至少包括:第十密文和第十簽名值;主控安全芯片,還用于接收第十數據包,利用云認證平臺的公鑰對第十簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第一私鑰對第十密文進行解密得到第一隨機數和第二隨機數,第二隨機數由云認證平臺生成;主控安全芯片,還用于比對生成的第一隨機數和解密得到的第一隨機數,比對一致,利用第一隨機數和第二隨機數生成第一會話密鑰。
[0014]可選的,主控安全芯片,還用于利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用身份證讀卡終端的第一私鑰對第十一密文進行簽名得到第十一簽名值,發送第十一數據包至通訊接口,第十一數據包至少包括:身份證讀卡終端的第一證書和第二證書、第十一密文和第十一簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰,第二證書至少包含身份證讀卡終端的第二公鑰;通訊接口,還用于接收第十一數據包,發送第十一數據包至云認證平臺;通訊接口,還用于接收云認證平臺返回的第十二數據包,發送第十二數據包至主控安全芯片,第十二數據包至少包括:第十二密文和第十二簽名值;主控安全芯片,還用于接收第十二數據包,利用云認證平臺的公鑰對第十二簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰。
[0015]由上述本發明提供的技術方案可以看出,本發明提供了一種身份證讀取方法及身份證讀卡終端,在身份證讀卡終端內并不設置有驗證安全控制模塊,而是在云認證平臺中設置可以對從身份證讀取的密文數據實現解密的模塊,身份證讀卡終端可通過接入到云認證平臺以實現對身份證的讀取,大大降低了用戶的實現成本,特別是在銀行、車站、保險等需要執行身份證信息讀取操作的行業,只需部署相應數量的身份證讀卡終端即可,無需再次大量部署驗證安全控制模塊,也無需大量設置驗證安全控制模塊與身份證讀卡終端之間的對應關系,簡化了實現方案。進一步地,通過對待發送至云認證平臺的數據進行安全處理以及對接收自云認證平臺的數據進行安全驗證,保證了身份證讀卡終端和云認證平臺之間傳輸的數據的安全性。
【附圖說明】
[0016]為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他附圖。
[0017]圖1為本發明實施例1提供的一種身份證讀取方法的流程圖;
[0018]圖2為本發明實施例1提供的一種獲取第一會話密鑰的流程圖;
[0019]圖3為本發明實施例1提供的另一種獲取第一會話密鑰的流程圖;
[0020]圖4為本發明實施例2提供的一種身份證讀卡終端的結構示意圖。
【具體實施方式】
[0021]下面結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明的保護范圍。
[0022]在本發明的描述中,需要理解的是,術語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內”、“外”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。此外,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數量或位置。
[0023]在本發明的描述中,需要說明的是,除非另有明確的規定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對于本領域的普通技術人員而言,可以具體情況理解上述術語在本發明中的具體含義。
[0024]下面將結合附圖對本發明實施例作進一步地詳細描述。
[0025]實施例1
[0026]圖1為本實施例提供的一種身份證讀取方法。本實施例提供的身份證讀取方法主要包括以下步驟(S101-S110)。
[0027]SlOl:讀卡接口接收身份證發送的身份證標識信息,發送身份證標識信息至主控安全芯片;主控安全芯片接收身份證標識信息,對身份證標識信息進行安全處理得到第一數據包,發送第一數據包至通訊接口 ;通訊接口接收第一數據包,發送第一數據包至云認證平臺;
[0028]在本實施例中,身份證標識信息是身份證讀卡終端可以直接識別的、用來唯一標識身份證的信息,例如,身份證標識信息可以為身份證序列號等,在本實施例不作具體限定。
[0029]在本實施例中,讀卡接口可以接收身份證發送的數據以及向身份證發送數據,讀卡接口可以為射頻接口,例如,射頻天線,只要能夠與身份證進行通信的讀卡接口均在本發明的保護范圍之內,在本實施例不作具體限定。
[0030]在本實施例中,通訊接口可以接收云認證平臺發送的數據以及向云認證平臺發送數據。通訊接口可以通過有線網絡或無線網絡與云認證平臺直接通信,此時通訊接口可以為無線通訊接口(例如,WIFI通訊接口)或有線通訊接口。通訊接口也可以通過上位機(例如手機、PAD(平板電腦)或PC等)的無線網絡或者有線網絡與云認證平臺通信,此時通訊接口可以為能夠與上位機進行通信的無線通訊接口(例如,藍牙接口,NFC接口等)或有線通訊接口(例如,USB接口),在本實施例中不作具體限定。
[0031]在本實施例中,主控安全芯片可以完成安全處理、安全驗證等操作,是身份證讀卡終端的核心結構。本實施例中的主控安全芯片可以為經過國家密碼管理局認證的安全芯片,也可以為具有上述功能的其他控制芯片,只要能實現本發明的主控安全芯片的功能即屬于本發明的保護范圍。
[0032]作為本發明實施例的一個可選實施方式,主控安全芯片,對身份證標識信息進行安全處理得到第一數據包,包括:主控安全芯片,利用第一會話密鑰對身份證標識信息加密得到第一密文,利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值,第一數據包至少包括:第一密文和第一簽名值。
[0033]在本實施例中,第一會話密鑰是身份證讀卡終端和云認證平臺之間協商的一個密鑰,用來對身份證讀卡終端發送至云認證平臺的數據進行加密以及對接收自云認證平臺的數據進行解密,身份證讀卡終端的主控安全芯片使用第一會話密鑰對數據進行加密后,只有具有相同的第一會話密鑰的云認證平臺才能對加密數據進行解密,防止云認證平臺以外的其他裝置對加密數據進行解密獲取身份證讀卡終端發送給云認證平臺的數據,保證身份證讀卡終端傳輸至云認證平臺的數據安全。只有具有第一會話密鑰的身份證讀卡終端的主控安全芯片才能對接收自云認證平臺加密數據進行解密,防止身份證讀卡終端以外的其他裝置對加密數據進行解密獲取云認證平臺發送至身份證讀卡終端的數據,保證云認證平臺傳輸至身份證讀卡終端的數據安全。
[0034]在本實施例中,主控安全芯片使用第一會話密鑰對身份證標識信息進行加密得到第一密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第一密文進行解密,防止云認證平臺以外的其他裝置對第一密文進行解密獲取身份證標識信息,保證身份證讀卡終端發送至云認證平臺的身份證標識信息的安全性。
[0035]在本實施例中,主控安全芯片利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值的具體方式為:主控安全芯片利用HASH算法計算第一密文得到第一密文的摘要,并利用身份證讀卡終端的第一私鑰對第一密文的摘要進行加密,得到第一簽名值。主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第一密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第一簽名值解密,則表明接收的第一簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第一簽名值解密,則表明接收的第一簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第一簽名值對發送第一簽名值的裝置進行身份確認。在云認證平臺確定第一簽名值是身份證讀卡終端發送的之后,再計算第一密文的摘要。如果第一密文在傳輸過程中被篡改了,則云認證平臺對接收的第一密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第一密文的摘要與解密得到的第一密文的摘要是否相同,能夠保證接收的第一密文的完整性。需要說明的是,本實施例中的簽名過程均可參見該實施方式,下面涉及到簽名的過程將不再具體贅述。
[0036]S102:通訊接口接收云認證平臺返回的第二數據包,發送第二數據包至主控安全芯片;主控安全芯片接收第二數據包,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送第一認證因子至讀卡接口;讀卡接口接收第一認證因子,發送第一認證因子至身份證;
[0037]在本實施例中,云認證平臺接收通訊接口發送的第一數據包后,對第一數據包進行安全驗證,在安全驗證通過后,得到身份證標識信息。具體的,云認證平臺可以利用身份證讀卡終端的第一公鑰對第一簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第一密文進行解密得到身份證標識信息。云認證平臺可以根據身份證標識信息查找與身份證匹配的安全密鑰。
[0038]身份證讀卡終端在讀取身份證數據密文之前,身份證與云認證平臺要實現雙向認證,確保身份證和云認證平臺都是合法的。
[0039]在本實施例中,第一認證因子由云認證平臺生成并發送至身份證,云認證平臺可以利用第一認證因子實現對身份證的合法性認證。第一認證因子可以為一個或一串隨機數,或者可以為一個或一串隨機字符,或者一串隨機數和隨機字符的任意組合,在本實施例中不作具體限定。
[0040]作為本發明實施例的一個可選實施方式,第二數據包至少包括:第二密文和第二簽名值;主控安全芯片,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,包括:主控安全芯片,利用云認證平臺的公鑰對第二簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第二密文進行解密得到第一認證因子。
[0041]在本實施例中,主控安全芯片利用云認證平臺的公鑰對第二簽名值進行驗簽的具體方式可以為:主控安全芯片利用云認證平臺的公鑰對第二簽名值進行解密,得到第二密文的摘要,利用HASH算法對接收的第二密文進行計算得到第二密文的摘要,比對解密得到的第二密文的摘要與計算得到的第二密文的摘要是否相同,如果相同,則對第二簽名值驗簽通過。本實施例中的驗簽過程均可參見該實施方式,下面涉及到驗簽的過程將不再具體贅述。主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第二簽名值解密,則表明接收的第二簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第二簽名值解密,則表明接收的第二簽名值不是由云認證平臺發出的,即主控安全芯片能夠根據第二簽名值對發送第二簽名值的裝置進行身份確認。在主控安全芯片確定第二簽名值是云認證平臺發送的之后,再計算第二密文的摘要。如果第二密文在傳輸過程中被篡改了,則主控安全芯片對接收的第二密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第二密文的摘要與解密得到的第二密文的摘要是否相同,能夠保證接收的第二密文的完整性。在確認第二簽名值是由云認證平臺發送且第二密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第二密文進行解密得到第一認證因子,防止身份證讀卡終端以外的其他裝置對第二密文進行解密獲取第一認證因子,保證第一認證因子的安全性。
[0042]S103:讀卡接口接收身份證返回的第一認證數據,發送第一認證數據至主控安全芯片,第一認證數據為身份證對第一認證因子進行處理得到的;主控安全芯片接收第一認證數據,對第一認證數據進行安全處理得到第三數據包,發送第三數據包至通訊接口 ;通訊接口接收第三數據包,發送第三數據包至云認證平臺;
[0043]在本實施例中,身份證對第一認證因子進行處理得到第一認證數據的具體方式可以為:身份證利用安全密鑰對第一認證因子進行MAC(Message Authenticat1n Code,消息認證碼)計算得到MAC值,將計算得到的MAC值作為第一認證數據。身份證也可以利用安全密鑰對第一認證因子進行加密得到第一認證數據。該安全密鑰是預置在合法的身份證中的,只有合法的身份證才具有該安全密鑰。當然,身份證也可以采用公安部規定的其他方式對第一認證因子進行處理得到第一認證數據,在本實施例中不作具體限定。
[0044]作為本發明實施例的一個可選實施方式,主控安全芯片,對第一認證數據進行安全處理得到第三數據包,包括:主控安全芯片,利用第一會話密鑰對第一認證數據進行加密得到第三密文,利用身份證讀卡終端的第一私鑰對第三密文進行簽名,得到第三簽名值,第三數據包至少包括:第三密文和第三簽名值。
[0045]在本實施例中,主控安全芯片使用第一會話密鑰對第一認證數據進行加密得到第三密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第三密文進行解密,防止云認證平臺以外的其他裝置對第三密文進行解密獲取第一認證數據,保證身份證讀卡終端發送至云認證平臺的第一認證數據的安全性。
[0046]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第三密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第三簽名值解密,則表明接收的第三簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第三簽名值解密,則表明接收的第三簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第三簽名值對發送第三簽名值的裝置進行身份確認。在云認證平臺確定第三簽名值是身份證讀卡終端發送的之后,再計算第三密文的摘要。如果第三密文在傳輸過程中被篡改了,則云認證平臺對接收的第三密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第三密文的摘要與解密得到的第三密文的摘要是否相同,能夠保證接收的第三密文的完整性。
[0047]S104:通訊接口接收云認證平臺返回的第四數據包,發送第四數據包至主控安全芯片;主控安全芯片接收第四數據包,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送第二認證因子獲取請求至讀卡接口 ;讀卡接口接收第二認證因子獲取請求,發送第二認證因子獲取請求至身份證;
[0048]在本實施例中,云認證平臺接收第三數據包后,對第三數據包進行安全驗證,在安全驗證通過后,得到第一認證數據。具體的,云認證平臺利用身份證讀卡終端的第一公鑰對第三簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第三密文進行解密得到第一認證數據,并對第一認證數據進行驗證。
[0049]在本實施例中,如果第一認證數據是身份證利用安全密鑰對第一認證因子進行MAC計算得到的,則云認證平臺對第一認證數據進行驗證的方式可以為:云認證平臺使用身份證端相同的MAC算法對第一認證因子進行計算得到認證數據,比較計算得到的認證數據與接收的第一認證數據是否相同,如果相同,則對第一認證數據驗證通過。
[0050]在本實施例中,如果第一認證數據是身份證利用安全密鑰對第一認證因子進行加密得到的,則云認證平臺對第一認證數據進行驗證的兩種可選實施方式為:
[0051]方式一、云認證平臺利用根據身份證標識信息查找的、與身份證相匹配的安全密鑰對接收到的第一認證數據進行解密,得到認證因子,并比較解密得到的認證因子與自身生成的第一認證因子是否相同,如果相同,則對第一認證數據驗證通過。
[0052]方式二、云認證平臺利用根據身份證標識信息查找的、與身份證相匹配的安全密鑰對自身生成的第一認證因子進行加密得到認證數據,并比較加密得到的認證數據與接收的第一認證數據是否相同,如果相同,則對第一認證數據驗證通過。
[0053]當然,云認證平臺也可以采用公安部規定的其他方式對第一認證數據進行驗證,在本實施例中不作具體限定。云認證平臺通過對第一認證數據進行驗證,實現對身份證合法性的驗證。如果第一認證數據驗證通過,則表明身份證是合法的,生成第四數據包;如果第一認證數據驗證不通過,則表明身份證是非法的,此時,云認證平臺可以結束身份證讀取流程,并向身份證讀卡終端發送提示信息。
[0054]在本實施例中,云認證平臺對第一認證數據驗證通過后,即云認證平臺對身份證認證通過后,請求身份證生成第二認證因子,以便身份證對云認證平臺進行身份認證。
[0055]作為本發明實施例的一個可選實施方式,第四數據包至少包括:第四密文和第四簽名值;主控安全芯片,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,包括:主控安全芯片,利用云認證平臺的公鑰對第四簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求。
[0056]主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第四簽名值解密,則表明接收的第四簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第四簽名值解密,則表明接收的第四簽名值不是由云認證平臺發出的,即主控安全芯片能夠根據第四簽名值對發送第四簽名值的裝置進行身份確認。在主控安全芯片確定第四簽名值是云認證平臺發送的之后,再計算第四密文的摘要。如果第四密文在傳輸過程中被篡改了,則主控安全芯片對接收的第四密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第四密文的摘要與解密得到的第四密文的摘要是否相同,能夠保證接收的第四密文的完整性。在確認第四簽名值是由云認證平臺發送且第四密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求,防止身份證讀卡終端以外的其他裝置對第四密文進行解密獲取第二認證因子獲取請求,保證第二認證因子的安全性獲取請求。
[0057]S105:讀卡接口接收身份證返回的第二認證因子,發送第二認證因子至主控安全芯片;主控安全芯片接收第二認證因子,對第二認證因子進行安全處理得到第五數據包,發送第五數據包至通訊接口 ;通訊接口接收第五數據包,發送第五數據包至云認證平臺;
[0058]在本實施例中,第二認證因子由身份證生成并發送至云認證平臺,身份證可以利用第二認證因子實現對云認證平臺的合法性認證。第二認證因子可以為一個或一串隨機數,或者可以為一個或一串隨機字符,或者一串隨機數和隨機字符的任意組合,在本實施例中不作具體限定。
[0059]作為本發明實施例的一個可選實施方式,主控安全芯片,對第二認證因子進行安全處理得到第五數據包,包括:主控安全芯片,利用第一會話密鑰對第二認證因子進行加密得到第五密文,利用身份證讀卡終端的第一私鑰對第五密文進行簽名,得到第五簽名值,第五數據包至少包括:第五密文和第五簽名值。
[0060]在本實施例中,主控安全芯片使用第一會話密鑰對第二認證因子進行加密得到第五密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第五密文進行解密,防止云認證平臺以外的其他裝置對第五密文進行解密獲取第二認證因子,保證身份證讀卡終端發送至云認證平臺的第二認證因子的安全性。
[0061]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第五密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第五簽名值解密,則表明接收的第五簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第五簽名值解密,則表明接收的數據不是由身份證讀卡終端發出的,即云認證平臺能夠根據第五簽名值對發送第五簽名值的裝置進行身份確認。在云認證平臺確定第五簽名值是身份證讀卡終端發送的之后,再計算第五密文的摘要。如果第五密文在傳輸過程中被篡改了,則云認證平臺對接收的第五密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第五密文的摘要與解密得到的第五密文的摘要是否相同,能夠保證接收的第五密文的完整性。
[0062]S106:通訊接口接收云認證平臺返回的第六數據包,發送第六數據包至主控安全芯片;主控安全芯片接收第六數據包,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送第二認證數據至讀卡接口 ;讀卡接口接收第二認證數據,發送第二認證數據至身份證,第二認證數據為云認證平臺對第二認證因子進行處理得到的;
[0063]在本實施例中,云認證平臺接收第五數據包后,對第五數據包進行安全驗證,在安全驗證通過后,得到第二認證因子。具體的,云認證平臺可以利用身份證讀卡終端的第一公鑰對第五簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第五密文進行解密得到第二認證因子,對第二認證因子進行處理得到第二認證數據。云認證平臺對第二認證因子進行處理得到第二認證數據的具體方式可以為:云認證平臺對預設信息進行計算獲得安全密鑰,再利用安全密鑰對第二認證因子進行MAC計算得到MAC值,將計算得到的MAC值作為第二認證數據。云認證平臺也可以利用與身份證相匹配的安全密鑰對第二認證因子進行加密得到第二認證數據。當然,云認證平臺也可以采用公安部規定的其他方式對第二認證因子進行處理得到第二認證數據,在本實施例中不作具體限定。
[0064]作為本發明實施例的一個可選實施方式,第六數據包至少包括:第六密文和第六簽名值;主控安全芯片,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,包括:主控安全芯片,利用云認證平臺的公鑰對第六簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第六密文進行解密得到第二認證數據。
[0065]主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第六簽名值解密,則表明接收的第六簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第六簽名值解密,則表明接收的第六簽名值不是由云認證平臺發出的,即主控安全芯片能夠根據第六簽名值對發送第六簽名值的裝置進行身份確認。在主控安全芯片確定第六簽名值是云認證平臺發送的之后,再計算第六密文的摘要。如果第六密文在傳輸過程中被篡改了,則主控安全芯片對接收的第六密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第六密文的摘要與解密得到的第六密文的摘要是否相同,能夠保證接收的第六密文的完整性。在確認第六簽名值是由云認證平臺發送且第六密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第六密文進行解密得到第二認證數據,防止身份證讀卡終端以外的其他裝置對第六密文進行解密獲取第二認證數據,保證第二認證數據的安全性。
[0066]S107:讀卡接口接收身份證返回的身份證數據密文,發送身份證數據密文至主控安全芯片;主控安全芯片對身份證數據密文進行安全處理得到第七數據包,發送第七數據包至通訊接口 ;通訊接口發送第七數據包至云認證平臺;
[0067]在本實施例中,身份證接收第二認證數據后,對第二認證數據進行驗證,驗證通過后,發送身份證數據密文至身份證讀卡終端。身份證數據密文是指身份證中以密文存儲的身份證數據,例如身份證號、姓名、性別、住址和照片等信息,該身份證數據密文只有通過公安部授權的身份證安全控制模塊進行解密后,才能獲得對應的身份證數據明文。
[0068]在本實施例中,如果第二認證數據是云認證平臺利用安全密鑰對第二認證因子進行MAC計算得到的,則身份證對第二認證數據進行驗證的方式可以為:身份證使用云認證平臺端相同的MAC算法對第二認證因子進行計算得到認證數據,比較計算得到的認證數據與接收的第二認證數據是否相同,如果相同,則對第二認證數據驗證通過。
[0069]在本實施例中,如果第二認證數據是云認證平臺利用安全密鑰對第二認證因子進行加密得到的,則身份證對第二認證數據進行驗證的兩種可選實施方式為:
[0070]方式一、身份證利用安全密鑰對接收到的第二認證數據進行解密,得到認證因子,并比較解密得到的認證因子與自身生成的第二認證因子是否相同,如果相同,則對第二認證數據驗證通過。
[0071]方式二、身份證利用安全密鑰對自身生成的第二認證因子進行加密得到認證數據,并比較加密得到的認證數據與接收的第二認證數據是否相同,如果相同,則對第二認證數據驗證通過。
[0072]當然,身份證也可以采用公安部規定的其他方式對第二認證數據進行驗證,在本實施例中不作具體限定。身份證通過對第二認證數據進行驗證,實現對云認證平臺合法性的驗證。如果第二認證數據驗證通過,則表明云認證平臺是合法的,返回身份證數據密文;如果第二認證數據驗證不通過,則表明云認證平臺是非法的。此時,可以結束身份證讀取流程。
[0073]作為本發明實施例的一個可選實施方式,主控安全芯片,對身份證數據密文進行安全處理得到第七數據包,包括:主控安全芯片,利用第一會話密鑰對身份證數據密文進行加密得到第七密文,利用身份證讀卡終端的第一私鑰對第七密文進行簽名,得到第七簽名值。
[0074]在本實施例中,主控安全芯片使用第一會話密鑰對身份證數據密文進行加密得到第七密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第七密文進行解密,防止云認證平臺以外的其他裝置對第七密文進行解密獲取身份證數據密文,保證身份證讀卡終端發送至云認證平臺的身份證數據密文的安全性。
[0075]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第七密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第七簽名值解密,則表明接收的第七簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第七簽名值解密,則表明接收的第七簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第七簽名值對發送第七簽名值的裝置進行身份確認。在云認證平臺確定第七簽名值是身份證讀卡終端發送的之后,再計算第七密文的摘要。如果第七密文在傳輸過程中被篡改了,則云認證平臺對接收的第七密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第七密文的摘要與解密得到的第七密文的摘要是否相同,能夠保證接收的第七密文的完整性。
[0076]S108:通訊接口接收云認證平臺返回的第八數據包,發送第八數據包至主控安全芯片;主控安全芯片接收第八數據包,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。
[0077]在本實施例中,云認證平臺接收第七數據包后,對第七數據包進行安全驗證,在安全驗證通過后,得到身份證數據密文。具體的,云認證平臺利用身份證讀卡終端的第一公鑰對第七簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第七密文進行解密得到身份證數據密文,利用公安部授權的身份證安全控制模塊對身份證數據密文解密得到身份證數據明文。云認證平臺對身份證數據明文進行安全處理得到第八數據包。
[0078]作為本發明實施例的一個可選實施方式,第八數據包至少包括:第八密文和第八簽名值;主控安全芯片,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文,包括:主控安全芯片,利用云認證平臺的公鑰對第八簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第八密文進行解密得到身份證數據明文。
[0079]主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第八簽名值解密,則表明接收的第八簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第八簽名值解密,則表明接收的第八簽名值不是由云認證平臺發出的,即主控安全芯片能夠根據第八簽名值對發送第八簽名值的裝置進行身份確認。在主控安全芯片確定第八簽名值是云認證平臺發送的之后,再計算第八密文的摘要。如果第八密文在傳輸過程中被篡改了,則主控安全芯片對接收的第八密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第八密文的摘要與解密得到的第八密文的摘要是否相同,能夠保證接收的第八密文的完整性。在確認第八簽名值是由云認證平臺發送且第八密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第八密文進行解密得到身份證數據明文,防止身份證讀卡終端以外的其他裝置對第八密文進行解密獲取身份證數據明文,保證身份證數據明文的安全性。
[0080]本實施例提供的身份證讀卡終端并不設置有驗證安全控制模塊,而是在云認證平臺中設置可以對從身份證讀取的密文數據實現解密的身份證安全控制模塊,任何用戶均可通過有線或無線網絡接入到云認證平臺以實現對身份證的讀取,大大降低了用戶的實現成本,特別是在銀行、車站、保險等需要執行身份證信息讀取操作的行業,只需部署相應數量的身份證讀卡終端即可,無需再次大量部署驗證安全控制模塊,也無需大量設置驗證安全控制模塊與身份證讀卡終端之間的對應關系,簡化了實現方案。進一步地,通過對待發送至云認證平臺的數據進行安全處理以及對接收自云認證平臺的數據進行安全驗證,保證了身份證讀卡終端和云認證平臺之間傳輸的數據的安全性。
[0081]作為本實施例的一個可選實施方式,如圖2所示,在主控安全芯片對身份證標識信息進行安全處理得到第一數據包之前,還包括以下一種獲取第一會話密鑰的步驟(S201-S204):
[0082]S201:主控安全芯片生成第一隨機數,利用身份證讀卡終端的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至通訊接口,第九數據包至少包括:第一隨機數、身份證讀卡終端的第一證書和第九簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰;通訊接口接收第九數據包,發送第九數據包至云認證平臺;
[0083]在本實施例中,身份證讀卡終端的第一證書是由第三方權威認證機構數字證書認證中心發行的。身份證讀卡終端的第一證書中除了包括身份證讀卡終端的第一公鑰,還包括證書授權中心的數字簽名和名稱等。
[0084]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第九簽名值解密,則表明接收的第九簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第九簽名值解密,則表明接收的第九簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第九簽名值對發送第九簽名值的裝置進行身份確認。在云認證平臺確定第九簽名值是身份證讀卡終端發送的之后,再計算第一隨機數和身份證讀卡終端的第一證書的摘要。如果第一隨機數和身份證讀卡終端的第一證書在傳輸過程中被篡改了,則云認證平臺對接收的第一隨機數和身份證讀卡終端的第一證書計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第一隨機數和身份證讀卡終端的第一證書的摘要與解密得到的第一隨機數和身份證讀卡終端的第一證書的摘要是否相同,能夠保證接收的第一隨機數和身份證讀卡終端的第一證書的完整性。
[0085]S202:通訊接口接收云認證平臺返回的第十數據包,發送第十數據包至主控安全芯片,第十數據包至少包括:第十密文和第十簽名值;
[0086]在本實施例中,云認證平臺接收第九數據包后,使用根證書對身份證讀卡終端的第一證書進行驗證,驗證通過,則表明身份證讀卡終端的第一證書是合法的。身份證讀卡終端的第一證書驗證通過后,云認證平臺利用身份證讀卡終端的第一證書中的第一公鑰對第九簽名值進行驗簽,驗簽通過后,得到第一隨機數,并生成第二隨機數,云認證平臺可以利用第一隨機數和第二隨機數生成第一會話密鑰。云認證平臺使用身份證讀卡終端的第一公鑰對第一隨機數和第二隨機數進行加密得到第十密文,使用云認證平臺的私鑰對第十密文進行簽名得到第十簽名值。
[0087]S203:主控安全芯片接收第十數據包,利用云認證平臺的公鑰對第十簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第一私鑰對第十密文進行解密得到第一隨機數和第二隨機數,第二隨機數由云認證平臺生成;
[0088]在本實施例中,身份證讀卡終端可以從預先存儲的云認證平臺的證書中獲取云認證平臺的公鑰;也可以向云認證平臺發送請求,請求云認證平臺將云認證平臺的公鑰發送至身份證讀卡終端。主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第十簽名值解密,則表明接收的第十簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第十簽名值解密,則表明接收的第十簽名值不是由云認證平臺發出的。在主控安全芯片確定第十簽名值是云認證平臺發送的之后,再計算第十密文的摘要。如果第十密文在傳輸過程中被篡改了,則主控安全芯片對接收的第十密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第十密文的摘要與解密得到的第十密文的摘要是否相同,能夠保證接收的第十密文的完整性。在確認第十簽名值是由云認證平臺發送且第十密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第十密文進行解密得到第一隨機數和第二隨機數,防止身份證讀卡終端以外的其他裝置對第二密文進行解密獲取第一隨機數和第二隨機數,保證第一隨機數和第二隨機數的安全性。
[0089]S204:主控安全芯片比對生成的第一隨機數和解密得到的第一隨機數,比對一致,利用第一隨機數和第二隨機數生成第一會話密鑰。
[0090]在本實施例中,主控安全芯片解密第十密文得到第一隨機數和第二隨機數后,比對解密得到的第一隨機數和生成的第一隨機數是否相同,如果相同,則表明云認證平臺已經接收了第一隨機數且云認證平臺接收的第一隨機數與身份證讀卡終端生成的第一隨機數相同,主控安全芯片和云認證平臺可以根據相同的算法對第一隨機數和第二隨機數計算生成第一會話密鑰,并使用第一會話密鑰對數據進行加解密;如果不相同,則表明云認證平臺端獲取的第一隨機數和身份證讀卡終端生成的第一隨機數不相同,主控安全芯片和云認證平臺使用相同的算法對各自的第一隨機數和第二隨機數計算得到不相同的兩個會話密鑰,即主控安全芯片的第一會話密鑰和云認證平臺的第一會話密鑰,主控安全芯片和云認證平臺不能對接收自對方的密文進行解密。
[0091]步驟S201-S204完成了獲取第一會話密鑰的流程,保證了后續過程中身份證讀卡終端與云認證平臺之間的通信安全。
[0092]作為本發明實施例的一個可選實施方式,如圖3所示,在主控安全芯片對身份證標識信息進行安全處理得到第一數據包之前,還包括以下另一種獲取第一會話密鑰的步驟(S301-S303):
[0093]S301:主控安全芯片,利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用身份證讀卡終端的第一私鑰對第十一密文進行簽名得到第十一簽名值,發送第十一數據包至通訊接口,第十一數據包至少包括:身份證讀卡終端的第一證書和第二證書、第十一密文和第十一簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰,第二證書至少包含身份證讀卡終端的第二公鑰;通訊接口接收第十一數據包,發送第十一數據包至云認證平臺;
[0094]在本實施例中,認證加密密鑰預先內置在身份證讀卡終端中,在主控安全芯片獲取第一會話密鑰之前,主控安全芯片利用認證加密密鑰對發送給云認證平臺的數據進行加Ll_| O
[0095]在本實施例中,身份證讀卡終端的第一證書和第二證書是由第三方權威認證機構數字證書認證中心發行的。身份證讀卡終端的第二證書中除了包括身份證讀卡終端的第二公鑰,還包括證書授權中心的數字簽名和名稱等信息。在本實施例中,身份證讀卡終端的第一證書和第二證書可以是不相同的兩個證書,也可以是同一個證書。
[0096]在本實施例中,主控安全芯片使用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文之后,只有具有相應的認證解密密鑰的云認證平臺才能對第十一密文進行解密,防止云認證平臺以外的其他裝置對第十一密文進行解密獲取第一會話密鑰的獲取請求,保證身份證讀卡終端發送至云認證平臺的第一會話密鑰的獲取請求的安全性。認證解密密鑰與認證加密密鑰為相同的密鑰,即對稱密鑰。認證解密密鑰預先內置在云認證平臺中。
[0097]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第十一密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第十一簽名值解密,則表明接收的第十一簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第十一簽名值解密,則表明接收的第十一簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第十一簽名值對發送第十一簽名值的裝置進行身份確認。在云認證平臺確定第十一簽名值是身份證讀卡終端發送的之后,再計算第十一密文的摘要。如果第十一密文在傳輸過程中被篡改了,則云認證平臺對接收的第^^一密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第十一密文的摘要與解密得到的第十一密文的摘要是否相同,能夠保證接收的第十一密文的完整性。
[0098]S302:通訊接口接收云認證平臺返回的第十二數據包,發送第十二數據包至主控安全芯片,第十二數據包至少包括:第十二密文和第十二簽名值;
[0099]在本實施例中,云認證平臺接收第十一數據包之后,使用根證書對身份證讀卡終端的第一證書和第二證書進行驗證,驗證通過,則表明身份證讀卡終端的第一證書和第二證書是合法的。身份證讀卡終端的第一證書和第二證書驗證通過后,云認證平臺利用身份證讀卡終端的第一證書中的第一公鑰對第十一簽名值進行驗簽,驗簽通過后,利用認證解密密鑰對第i^一密文進行解密得到第一會話密鑰的獲取請求。
[0100]在本實施例中,云認證平臺得到第一會話密鑰的獲取請求后,生成第一會話密鑰,利用身份證讀卡終端的第二證書中的第二公鑰對第一會話密鑰進行加密,得到第十二密文,并使用云認證平臺的私鑰對第十二密文進行簽名得到第十二簽名值。
[0101]S303:主控安全芯片接收第十二數據包,利用云認證平臺的公鑰對第十二簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰。
[0102]主控安全芯片使用云認證平臺的公鑰進行驗簽,如果主控安全芯片使用云認證平臺的公鑰能夠對第十二簽名值解密,則表明接收的第十二簽名值是由云認證平臺發出的,如果主控安全芯片使用云認證平臺的公鑰不能對第十二簽名值解密,則表明接收的第十二簽名值不是由云認證平臺發出的,即主控安全芯片能夠根據第十二簽名值對發送第十二簽名值的裝置進行身份確認。在主控安全芯片確定第十二簽名值是云認證平臺發送的之后,再計算第十二密文的摘要。如果第十二密文在傳輸過程中被篡改了,則主控安全芯片對接收的第十二密文計算的摘要值也會發生變換,因此,主控安全芯片通過比較計算得到的第十二密文的摘要與解密得到的第十二密文的摘要是否相同,能夠保證接收的第十二密文的完整性。在確認第十二簽名值是由云認證平臺發送且第十二密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰,防止身份證讀卡終端以外的其他裝置對第十二密文進行解密獲取第一會話密鑰,保證第一會話密鑰的安全性。
[0103]步驟S301-S303完成了獲取第一會話密鑰的流程,保證了后續過程中身份證讀卡終端與云認證平臺之間的通信安全。
[0104]實施例2:
[0105]本實施例提供了一種身份證讀卡終端。
[0106]圖4為本實施例提供的身份證讀卡終端的結構示意圖,如圖4,本實施例提供的身份證讀卡終端包括:讀卡接口 401,用于接收身份證發送的身份證標識信息,發送身份證標識信息至主控安全芯片402;主控安全芯片402,用于接收身份證標識信息,對身份證標識信息進行安全處理得到第一數據包,發送第一數據包至通訊接口 403;通訊接口 403,用于接收第一數據包,發送第一數據包至云認證平臺;通訊接口 403,還用于接收云認證平臺返回的第二數據包,發送第二數據包至主控安全芯片402;主控安全芯片402,還用于接收第二數據包,對第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送第一認證因子至讀卡接口 401;讀卡接口 401,還用于接收第一認證因子,發送第一認證因子至身份證;讀卡接口 401,還用于接收身份證返回的第一認證數據,發送第一認證數據至主控安全芯片402,第一認證數據為身份證對第一認證因子進行處理得到的;主控安全芯片402,還用于接收第一認證數據,對第一認證數據進行安全處理得到第三數據包,發送第三數據包至通訊接口 403;通訊接口 403,還用于接收第三數據包,發送第三數據包至云認證平臺;通訊接口403,還用于接收云認證平臺返回的第四數據包,發送第四數據包至主控安全芯片402;主控安全芯片402,還用于接收第四數據包,對第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送第二認證因子獲取請求至讀卡接口 401;讀卡接口 401,還用于接收第二認證因子獲取請求,發送第二認證因子獲取請求至身份證;讀卡接口 401,還用于接收身份證返回的第二認證因子,發送第二認證因子至主控安全芯片402;主控安全芯片402,還用于接收第二認證因子,對第二認證因子進行安全處理得到第五數據包,發送第五數據包至通訊接口 403;通訊接口 403,還用于接收第五數據包,發送第五數據包至云認證平臺;通訊接口 403,還用于接收云認證平臺返回的第六數據包,發送第六數據包至主控安全芯片402;主控安全芯片402,還用于接收第六數據包,對第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送第二認證數據至讀卡接口 401;讀卡接口 401,還用于接收第二認證數據,發送第二認證數據至身份證,第二認證數據為云認證平臺對第二認證因子進行處理得到的;讀卡接口 401,還用于接收身份證返回的身份證數據密文,發送身份證數據密文至主控安全芯片402;主控安全芯片402,還用于對身份證數據密文進行安全處理得到第七數據包,發送第七數據包至通訊接口 403;通訊接口 403,還用于發送第七數據包至云認證平臺;通訊接口 403,還用于接收云認證平臺返回的第八數據包,發送第八數據包至主控安全芯片402;主控安全芯片402,還用于接收第八數據包,對第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。
[0107]本實施例提供的身份證讀卡終端并不設置有驗證安全控制模塊,而是在云認證平臺中設置可以對從身份證讀取的數據密文進行解密的身份證安全控制模塊,任何用戶均可通過有線或無線網絡接入到云認證平臺以實現對身份證的讀取,大大降低了用戶的實現成本,特別是在銀行、車站、保險等需要執行身份證信息讀取操作的行業,只需部署相應數量的身份證讀卡終端即可,無需再次大量部署驗證安全控制模塊,也無需大量設置驗證安全控制模塊與身份證讀卡終端之間的對應關系,簡化了實現方案。進一步地,通過對待發送至云認證平臺的數據進行安全處理以及對接收自云認證平臺的數據進行安全驗證,保證了身份證讀卡終端和云認證平臺之間傳輸的數據的安全性。
[0108]在本實施例中,身份證標識信息是身份證讀卡終端可以直接識別的、用來唯一標識身份證的信息,例如,身份證標識信息可以為身份證序列號等,在本實施例不作具體限定。
[0109]在本實施例中,讀卡接口401用于接收身份證發送的數據以及向身份證發送數據,讀卡接口401可以為射頻接口,例如,射頻天線,只要能夠與身份證進行通信的讀卡接口401均在本發明的保護范圍之內,在本實施例不作具體限定。
[0110]在本實施例中,通訊接口403用于接收云認證平臺發送的數據以及向云認證平臺發送數據。通訊接口 403可以通過有線網絡或無線網絡與云認證平臺直接通信,此時通訊接口 403可以為無線通訊接口 403(例如,WIFI通訊接口 403)或有線通訊接口 403。通訊接口 403也可以通過上位機(例如手機、PAD(平板電腦)或PC等)的無線網絡或者有線網絡與云認證平臺通信,此時通訊接口 403可以為能夠與上位機進行通信的無線通訊接口 403(例如,藍牙接口,NFC接口等)或有線通訊接口 403 (例如,USB接口 ),在本實施例中不作具體限定。
[0111]在本實施例中,主控安全芯片402用于完成安全處理、安全驗證等操作,是身份證讀卡終端的核心結構。本實施例中的主控安全芯片402可以為經過國家密碼管理局認證的安全芯片,也可以為具有上述功能的其他控制芯片,只要能實現本發明的主控安全芯片402的功能即屬于本發明的保護范圍。
[0112]作為本實施例的一個可選實施方式,主控安全芯片402,具體用于利用第一會話密鑰對身份證標識信息加密得到第一密文,利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值,第一數據包至少包括:第一密文和第一簽名值。
[0113]在本實施例中,第一會話密鑰是身份證讀卡終端和云認證平臺之間協商的一個密鑰,用來對身份證讀卡終端發送至云認證平臺的數據進行加密以及對接收自云認證平臺的數據進行解密,身份證讀卡終端的主控安全芯片402使用第一會話密鑰對數據進行加密后,只有具有相同的第一會話密鑰的云認證平臺才能對加密數據進行解密,防止云認證平臺以外的其他裝置對加密數據進行解密獲取身份證讀卡終端發送給云認證平臺的數據,保證身份證讀卡終端傳輸至云認證平臺的數據安全。只有具有第一會話密鑰的身份證讀卡終端的主控安全芯片402才能對接收自云認證平臺加密數據進行解密,防止身份證讀卡終端以外的其他裝置對加密數據進行解密獲取云認證平臺發送至身份證讀卡終端的數據,保證云認證平臺傳輸至身份證讀卡終端的數據安全。
[0114]在本實施例中,主控安全芯片402利用身份證讀卡終端的第一私鑰對第一密文進行簽名,得到第一簽名值的具體方式為:主控安全芯片402利用HASH算法計算第一密文得到第一密文的摘要,并利用身份證讀卡終端的第一私鑰對第一密文的摘要進行加密,得到第一簽名值。主控安全芯片402利用身份證讀卡終端才具有的第一私鑰對第一密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第一簽名值解密,則表明接收的第一簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第一簽名值解密,則表明接收的第一簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第一簽名值對發送第一簽名值的裝置進行身份確認。在云認證平臺確定第一簽名值是身份證讀卡終端發送的之后,再計算第一密文的摘要。如果第一密文在傳輸過程中被篡改了,則云認證平臺對接收的第一密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第一密文的摘要與解密得到的第一密文的摘要是否相同,能夠保證接收的第一密文的完整性。需要說明的是,本實施例中的簽名過程均可參見該實施方式,下面涉及到簽名的過程將不再具體贅述。
[0115]在本實施例中,云認證平臺接收第一數據包后,對第一數據包進行安全驗證,在安全驗證通過后,得到身份證標識信息。具體的,云認證平臺可以利用身份證讀卡終端的第一公鑰對第一簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第一密文進行解密得到身份證標識信息。云認證平臺可以根據身份證標識信息查找與身份證匹配的安全密鑰。
[0116]身份證讀卡終端在讀取身份證數據密文之前,身份證與云認證平臺要實現雙向認證,確保身份證和云認證平臺都是合法的。
[0117]在本實施例中,第一認證因子由云認證平臺生成并發送至身份證,云認證平臺可以利用第一認證因子實現對身份證的合法性認證。第一認證因子可以為一個或一串隨機數,或者可以為一個或一串隨機字符,或者一串隨機數和隨機字符的任意組合,在本實施例中不作具體限定。
[0118]作為本實施例的一個可選實施方式,第二數據包至少包括:第二密文和第二簽名值;主控安全芯片402,具體用于利用云認證平臺的公鑰對第二簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第二密文進行解密得到第一認證因子。
[0119]在本實施例中,主控安全芯片402利用云認證平臺的公鑰對第二簽名值進行驗簽的具體方式可以為:主控安全芯片402利用云認證平臺的公鑰對第二簽名值進行解密,得到第二密文的摘要,利用HASH算法對接收的第二密文進行計算得到第二密文的摘要,比對解密得到的第二密文的摘要與計算得到的第二密文的摘要是否相同,如果相同,則對第二簽名值驗簽通過。本實施例中的驗簽過程均可參見該實施方式,下面涉及到驗簽的過程將不再具體贅述。主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第二簽名值解密,則表明接收的第二簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第二簽名值解密,則表明接收的第二簽名值不是由云認證平臺發出的,即主控安全芯片402能夠根據第二簽名值對發送第二簽名值的裝置進行身份確認。在主控安全芯片402確定第二簽名值是云認證平臺發送的之后,再計算第二密文的摘要。如果第二密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第二密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第二密文的摘要與解密得到的第二密文的摘要是否相同,能夠保證接收的第二密文的完整性。在確認第二簽名值是由云認證平臺發送且第二密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第二密文進行解密得到第一認證因子,防止身份證讀卡終端以外的其他裝置對第二密文進行解密獲取第一認證因子,保證第一認證因子的安全性。
[0120]在本實施例中,身份證對第一認證因子進行處理得到第一認證數據的具體方式可以為:身份證利用安全密鑰對第一認證因子進行MAC計算得到MAC值,,將計算得到的MAC值作為第一認證數據。身份證也可以利用安全密鑰對第一認證因子進行加密得到第一認證數據。該安全密鑰是預置在合法的身份證中的,只有合法的身份證才具有該安全密鑰。當然,身份證也可以采用公安部規定的其他方式對第一認證因子進行處理得到第一認證數據,在本實施例中不作具體限定。
[0121 ]作為本實施例的一個可選實施方式,主控安全芯片402,具體用于利用第一會話密鑰對第一認證數據進行加密得到第三密文,利用身份證讀卡終端的第一私鑰對第三密文進行簽名,得到第三簽名值,第三數據包至少包括:第三密文和第三簽名值。
[0122]在本實施例中,主控安全芯片402使用第一會話密鑰對第一認證數據進行加密得到第三密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第三密文進行解密,防止云認證平臺以外的其他裝置對第三密文進行解密獲取第一認證數據,保證身份證讀卡終端發送至云認證平臺的第一認證數據的安全性。
[0123]在本實施例中,主控安全芯片402利用身份證讀卡終端才具有的第一私鑰對第三密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第三簽名值解密,則表明接收的第三簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第三簽名值解密,則表明接收的數據不是由身份證讀卡終端發出的,即云認證平臺能夠根據第三簽名值對發送第三簽名值的裝置進行身份確認。在云認證平臺確定第三簽名值是身份證讀卡終端發送的之后,再計算第三密文的摘要。如果第三密文在傳輸過程中被篡改了,則云認證平臺對接收的第三密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第三密文的摘要與解密得到的第三密文的摘要是否相同,能夠保證接收的第三密文的完整性。
[0124]在本實施例中,云認證平臺接收第三數據包后,對第三數據包進行安全驗證,在安全驗證通過后,得到第一認證數據。具體的,云認證平臺利用身份證讀卡終端的第一公鑰對第三簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第三密文進行解密得到第一認證數據,并對第一認證數據進行驗證。
[0125]在本實施例中,如果第一認證數據是身份證利用安全密鑰對第一認證因子進行MAC計算得到的,則云認證平臺對第一認證數據進行驗證的方式可以為:云認證平臺使用身份證端相同的MAC算法對第一認證因子進行計算得到認證數據,比較計算得到的認證數據與接收的第一認證數據是否相同,如果相同,則對第一認證數據驗證通過。
[0126]在本實施例中,如果第一認證數據是身份證利用安全密鑰對第一認證因子進行加密得到的,則云認證平臺對第一認證數據進行驗證的兩種可選實施方式為:
[0127]方式一、云認證平臺利用根據身份證標識信息查找的與身份證相匹配的安全密鑰對接收到的第一認證數據進行解密,得到認證因子,并比較解密得到的認證因子與自身生成的第一認證因子是否相同,如果相同,則對第一認證數據驗證通過。
[0128]方式二、云認證平臺利用根據身份證標識信息查找的與身份證相匹配的安全密鑰對自身生成的第一認證因子進行加密得到認證數據,并比較加密得到的認證數據與接收的第一認證數據是否相同,如果相同,則對第一認證數據驗證通過。
[0129]當然,云認證平臺也可以采用公安部規定的其他方式對第一認證數據進行驗證,在本實施例中不作具體限定。云認證平臺通過對第一認證數據進行驗證,實現對身份證合法性的驗證。如果第一認證數據驗證通過,則表明身份證是合法的,生成第四數據包;如果第一認證數據驗證不通過,則表明身份證是非法的,此時,云認證平臺可以結束身份證讀取,并向身份證讀卡終端發送提示信息。
[0130]在本實施例中,云認證平臺對第一認證數據驗證通過后,即云認證平臺對身份證認證通過后,請求身份證生成第二認證因子,以便身份證對云認證平臺進行身份認證。
[0131]作為本實施例的一個可選實施方式,第四數據包至少包括:第四密文和第四簽名值;主控安全芯片402,具體用于利用云認證平臺的公鑰對第四簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求。
[0132]主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第四簽名值解密,則表明接收的第四簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第四簽名值解密,則表明接收的第四簽名值不是由云認證平臺發出的,即主控安全芯片402能夠根據第四簽名值對發送第四簽名值的裝置進行身份確認。在主控安全芯片402確定第四簽名值是云認證平臺發送的之后,再計算第四密文的摘要。如果第四密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第四密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第四密文的摘要與解密得到的第四密文的摘要是否相同,能夠保證接收的第四密文的完整性。在確認第四簽名值是由云認證平臺發送且第四密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第四密文進行解密得到第二認證因子獲取請求,防止身份證讀卡終端以外的其他裝置對第四密文進行解密獲取第二認證因子獲取請求,保證第二認證因子獲取請求的安全性。
[0133]在本實施例中,第二認證因子由身份證生成并發送至云認證平臺,身份證可以利用第二認證因子實現對云認證平臺的合法性認證。第二認證因子可以為一個或一串隨機數,或者可以為一個或一串隨機字符,或者一串隨機數和隨機字符的任意組合,在本實施例中不作具體限定。
[0134]作為本實施例的一個可選實施方式,主控安全芯片402,具體用于利用第一會話密鑰對第二認證因子進行加密得到第五密文,利用身份證讀卡終端的第一私鑰對第五密文進行簽名,得到第五簽名值,第五數據包至少包括:第五密文和第五簽名值。
[0135]在本實施例中,主控安全芯片402使用第一會話密鑰對第二認證因子進行加密得到第五密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第五密文進行解密,防止云認證平臺以外的其他裝置對第五密文進行解密獲取第二認證因子,保證身份證讀卡終端發送至云認證平臺的第二認證因子的安全性。
[0136]在本實施例中,主控安全芯片402利用身份證讀卡終端才具有的第一私鑰對第五密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第五簽名值解密,則表明接收的第五簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第五簽名值解密,則表明接收的數據不是由身份證讀卡終端發出的,即云認證平臺能夠根據第五簽名值對發送第五簽名值的裝置進行身份確認。在云認證平臺確定第五簽名值是身份證讀卡終端發送的之后,再計算第五密文的摘要。如果第五密文在傳輸過程中被篡改了,則云認證平臺對接收的第五密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第五密文的摘要與解密得到的第五密文的摘要是否相同,能夠保證接收的第五密文的完整性。
[0137]在本實施例中,云認證平臺接收第五數據包后,對第五數據包進行安全驗證,在安全驗證通過后,得到第二認證因子。具體的,云認證平臺可以利用身份證讀卡終端的第一公鑰對第五簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第五密文進行解密得到第二認證因子,對第二認證因子進行處理得到第二認證數據。云認證平臺對第二認證因子進行處理得到第二認證數據的具體方式可以為:云認證平臺對預設信息進行計算獲得安全密鑰,再利用安全密鑰對第二認證因子進行MAC計算得到MAC值,將計算得到的MAC值作為第二認證數據。云認證平臺也可以利用與身份證相匹配的安全密鑰對第二認證因子進行加密得到第二認證數據。當然,云認證平臺也可以采用公安部規定的其他方式對第二認證因子進行處理得到第二認證數據,在本實施例中不作具體限定。
[0138]作為本實施例的一個可選實施方式,第六數據包至少包括:第六密文和第六簽名值;主控安全芯片402,具體用于利用云認證平臺的公鑰對第六簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第六密文進行解密得到第二認證數據。
[0139]主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第六簽名值解密,則表明接收的第六簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第六簽名值解密,則表明接收的第六簽名值不是由云認證平臺發出的,即主控安全芯片402能夠根據第六簽名值對發送第六簽名值的裝置進行身份確認。在主控安全芯片402確定第六簽名值是云認證平臺發送的之后,再計算第六密文的摘要。如果第六密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第六密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第六密文的摘要與解密得到的第六密文的摘要是否相同,能夠保證接收的第六密文的完整性。在確認第六簽名值是由云認證平臺發送且第六密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第六密文進行解密得到第二認證數據,防止身份證讀卡終端以外的其他裝置對第六密文進行解密獲取第二認證數據,保證第二認證數據的安全性。
[0140]在本實施例中,身份證接收第二認證數據后,對第二認證數據進行驗證,驗證通過后,發送身份證數據密文至身份證讀卡終端。身份證數據密文是指身份證中以密文存儲的身份證數據,例如身份證號、姓名、性別、住址和照片等信息,該身份證數據密文只有通過公安部授權的身份證安全控制模塊進行解密后,才能獲得對應的身份證數據明文。
[0141]在本實施例中,如果第二認證數據是云認證平臺利用安全密鑰對第二認證因子進行MAC計算得到MAC值的,則身份證對第二認證數據進行驗證的方式可以為:身份證使用云認證平臺端相同的MAC算法對第二認證因子進行計算得到認證數據,比較計算得到的認證數據與接收的第二認證數據是否相同,如果相同,則對第二認證數據驗證通過。
[0142]在本實施例中,如果第二認證數據是云認證平臺利用安全密鑰對第二認證因子進行加密得到的,則身份證對第二認證數據進行驗證的兩種可選實施方式為:
[0143]方式一、身份證利用安全密鑰對接收到的第二認證數據進行解密,得到認證因子,并比較解密得到的認證因子與自身生成的第二認證因子是否相同,如果相同,則對第二認證數據驗證通過。
[0144]方式二、身份證利用安全密鑰對自身生成的第二認證因子進行加密得到認證數據,并比較加密得到的認證數據與接收的第二認證數據是否相同,如果相同,則對第二認證數據驗證通過。
[0145]當然,身份證也可以采用公安部規定的其他方式對第二認證數據進行驗證,在本實施例中不作具體限定。身份證通過對第二認證數據進行驗證,實現對云認證平臺合法性的驗證。如果第二認證數據驗證通過,則表明云認證平臺是合法的,返回身份證數據密文;如果第二認證數據驗證不通過,則表明云認證平臺是非法的。此時,可以結束身份證讀取流程。
[0146]作為本實施例的一個可選實施方式,主控安全芯片402,具體用于利用所述第一會話密鑰對所述身份證數據密文進行加密得到第七密文,利用所述身份證讀卡終端的第一私鑰對所述第七密文進行簽名,得到第七簽名值。
[0147]在本實施例中,主控安全芯片402使用第一會話密鑰對身份證數據密文進行加密得到第七密文之后,只有具有相同的第一會話密鑰的云認證平臺才能對第七密文進行解密,防止云認證平臺以外的其他裝置對第七密文進行解密獲取身份證數據密文,保證身份證讀卡終端發送至云認證平臺的身份證數據密文的安全性。
[0148]在本實施例中,主控安全芯片402利用身份證讀卡終端才具有的第一私鑰對第七密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第七簽名值解密,則表明接收的第七簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第七簽名值解密,則表明接收的第七簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第七簽名值對發送第七簽名值的裝置進行身份確認。在云認證平臺確定第七簽名值是身份證讀卡終端發送的之后,再計算第七密文的摘要。如果第七密文在傳輸過程中被篡改了,則云認證平臺對接收的第七密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第七密文的摘要與解密得到的第七密文的摘要是否相同,能夠保證接收的第七密文的完整性。
[0149]在本實施例中,云認證平臺接收第七數據包后,對第七數據包進行安全驗證,在安全驗證通過后,得到身份證數據密文。具體的,云認證平臺利用身份證讀卡終端的第一公鑰對第七簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第七密文進行解密得到身份證數據密文,利用公安部授權的身份證安全控制模塊對身份證數據密文解密得到身份證數據明文。云認證平臺對身份證數據明文進行安全處理得到第八數據包。
[0150]作為本實施例的一個可選實施方式,第八數據包至少包括:第八密文和第八簽名值;主控安全芯片402,具體用于利用云認證平臺的公鑰對第八簽名值進行驗簽,驗簽通過后,利用第一會話密鑰對第八密文進行解密得到身份證數據明文。
[0151]主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第八簽名值解密,則表明接收的第八簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第八簽名值解密,則表明接收的第八簽名值不是由云認證平臺發出的,即主控安全芯片402能夠根據第八簽名值對發送第八簽名值的裝置進行身份確認。在主控安全芯片402確定第八簽名值是云認證平臺發送的之后,再計算第八密文的摘要。如果第八密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第八密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第八密文的摘要與解密得到的第八密文的摘要是否相同,能夠保證接收的第八密文的完整性。在確認第八簽名值是由云認證平臺發送且第八密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第八密文進行解密得到身份證數據明文,防止身份證讀卡終端以外的其他裝置對第八密文進行解密獲取身份證數據明文,保證身份證數據明文的安全性。
[0152]作為本實施例的一個可選實施方式,主控安全芯片402,還用于生成第一隨機數,利用身份證讀卡終端的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至通訊接口 403,第九數據包至少包括:第一隨機數、身份證讀卡終端的第一證書和第九簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰;通訊接口 403,還用于接收第九數據包,發送第九數據包至云認證平臺;通訊接口 403,還用于接收云認證平臺返回的第十數據包,發送第十數據包至主控安全芯片402,第十數據包至少包括:第十密文和第十簽名值;主控安全芯片402,還用于接收第十數據包,利用云認證平臺的公鑰對第十簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第一私鑰對第十密文進行解密得到第一隨機數和第二隨機數,第二隨機數由云認證平臺生成;主控安全芯片402,還用于比對生成的第一隨機數和解密得到的第一隨機數,比對一致,利用第一隨機數和第二隨機數生成第一會話密鑰。
[0153]身份證讀卡終端獲取第一會話密鑰后,使用第一會話密鑰對身份證讀卡終端和云認證平臺之間傳輸的數據進行加解密,保證了數據傳輸的安全。
[0154]在本實施例中,身份證讀卡終端的第一證書是由第三方權威認證機構數字證書認證中心發行的。身份證讀卡終端的第一證書中除了包括身份證讀卡終端的第一公鑰,還包括證書授權中心的數字簽名和名稱等。
[0155]在本實施例中,主控安全芯片利用身份證讀卡終端才具有的第一私鑰對第一隨機數和身份證讀卡終端的第一證書進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第九簽名值解密,則表明接收的第九簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第九簽名值解密,則表明接收的第九簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第九簽名值對發送第九簽名值的裝置進行身份確認。在云認證平臺確定第九簽名值是身份證讀卡終端發送的之后,再計算第一隨機數和身份證讀卡終端的第一證書的摘要。如果第一隨機數和身份證讀卡終端的第一證書在傳輸過程中被篡改了,則云認證平臺對接收的第一隨機數和身份證讀卡終端的第一證書計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第一隨機數和身份證讀卡終端的第一證書的摘要與解密得到的第一隨機數和身份證讀卡終端的第一證書的摘要是否相同,能夠保證接收的第一隨機數和身份證讀卡終端的第一證書的完整性。
[0156]在本實施例中,云認證平臺接收第九數據包后,使用根證書對身份證讀卡終端的第一證書進行驗證,驗證通過,則表明身份證讀卡終端的第一證書是合法的。身份證讀卡終端的第一證書驗證通過后,云認證平臺利用身份證讀卡終端的第一證書中的第一公鑰對第九簽名值進行驗簽,驗簽通過后,得到第一隨機數,并生成第二隨機數,云認證平臺可以利用第一隨機數和第二隨機數生成第一會話密鑰。云認證平臺使用身份證讀卡終端的第一公鑰對第一隨機數和第二隨機數進行加密得到第十密文,使用云認證平臺的私鑰對第十密文進行簽名得到第十簽名值。
[0157]在本實施例中,身份證讀卡終端可以從預先存儲的云認證平臺的證書中獲取云認證平臺的公鑰;也可以向云認證平臺發送請求,請求云認證平臺將云認證平臺的公鑰發送至身份證讀卡終端。主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第十簽名值解密,則表明接收的第十簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第十簽名值解密,則表明接收的第十簽名值不是由云認證平臺發出的。在主控安全芯片402確定第十簽名值是云認證平臺發送的之后,再計算第十密文的摘要。如果第十密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第十密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第十密文的摘要與解密得到的第十密文的摘要是否相同,能夠保證接收的第十密文的完整性。在確認第十簽名值是由云認證平臺發送且第十密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端和云認證平臺才有的第一會話密鑰對第十密文進行解密得到第一隨機數和第二隨機數,防止身份證讀卡終端以外的其他裝置對第二密文進行解密獲取第一隨機數和第二隨機數,保證第一隨機數和第二隨機數的安全性。
[0158]在本實施例中,主控安全芯片402解密第十密文得到第一隨機數和第二隨機數后,比對解密得到的第一隨機數和生成的第一隨機數是否相同,如果相同,則表明云認證平臺已經接收了第一隨機數且云認證平臺接收的第一隨機數與身份證讀卡終端生成的第一隨機數相同,主控安全芯片和云認證平臺可以根據相同的算法對第一隨機數和第二隨機數計算生成第一會話密鑰,并使用第一會話密鑰對數據進行加解密;如果不相同,則表明云認證平臺端獲取的第一隨機數和身份證讀卡終端生成的第一隨機數不相同,主控安全芯片和云認證平臺使用相同的算法對各自的第一隨機數和第二隨機數計算得到不相同的兩個會話密鑰,即主控安全芯片的第一會話密鑰和云認證平臺的第一會話密鑰,主控安全芯片和云認證平臺不能對接收自對方的密文進行解密。
[0159]作為本實施例的一個可選實施方式,主控安全芯片402,還用于利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用身份證讀卡終端的第一私鑰對第十一密文進行簽名得到第十一簽名值,發送第十一數據包至通訊接口 403,第十一數據包至少包括:身份證讀卡終端的第一證書和第二證書、第十一密文和第十一簽名值,其中,第一證書至少包含身份證讀卡終端的第一公鑰,第二證書至少包含身份證讀卡終端的第二公鑰;通訊接口 403,還用于接收第十一數據包,發送第十一數據包至云認證平臺;通訊接口403,還用于接收云認證平臺返回的第十二數據包,發送第十二數據包至主控安全芯片402,第十二數據包至少包括:第十二密文和第十二簽名值;主控安全芯片402,還用于接收第十二數據包,利用云認證平臺的公鑰對第十二簽名值進行驗簽,驗簽通過后,利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰。
[0160]身份證讀卡終端獲取第一會話密鑰后,使用第一會話密鑰對身份證讀卡終端和云認證平臺之間傳輸的數據進行加解密,保證了數據傳輸的安全。
[0161 ]在本實施例中,認證加密密鑰預先內置在身份證讀卡終端中,在身份證讀卡終端獲取第一會話密鑰之前,主控安全芯片402利用認證加密密鑰對發送給云認證平臺的數據進行加密。
[0162]在本實施例中,身份證讀卡終端的第一證書和第二證書是由第三方權威認證機構數字證書認證中心發行的。身份證讀卡終端的第二證書中除了包括身份證讀卡終端的第二公鑰,還包括證書授權中心的數字簽名和名稱等信息。在本實施例中,身份證讀卡終端的第一證書和第二證書可以是不相同的兩個證書,也可以是同一個證書。
[0163]在本實施例中,主控安全芯片402使用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文之后,只有具有相應的認證解密密鑰的云認證平臺才能對第十一密文進行解密,防止云認證平臺以外的其他裝置對第十一密文進行解密獲取第一會話密鑰的獲取請求,保證身份證讀卡終端發送至云認證平臺的第一會話密鑰的獲取請求的安全性。認證解密密鑰與認證加密密鑰為相同的密鑰,即對稱密鑰。認證解密密鑰預先內置在云認證平臺中。
[0164]在本實施例中,主控安全芯片402利用身份證讀卡終端才具有的第一私鑰對第十一密文進行簽名,如果云認證平臺使用與身份證讀卡終端的第一私鑰對應的身份證讀卡終端的第一公鑰能夠對第十一簽名值解密,則表明接收的第十一簽名值是由身份證讀卡終端發出的,如果云認證平臺使用身份證讀卡終端的第一公鑰不能對第十一簽名值解密,則表明接收的第十一簽名值不是由身份證讀卡終端發出的,即云認證平臺能夠根據第十一簽名值對發送第十一簽名值的裝置進行身份確認。在云認證平臺確定第十一簽名值是身份證讀卡終端發送的之后,再計算第十一密文的摘要。如果第十一密文在傳輸過程中被篡改了,則云認證平臺對接收的第十一密文計算的摘要值也會發生變化,因此,云認證平臺通過比較計算得到的第十一密文的摘要與解密得到的第十一密文的摘要是否相同,能夠保證接收的第i^一密文的完整性。
[0165]在本實施例中,云認證平臺接收第十一數據包之后,使用根證書對身份證讀卡終端的第一證書和第二證書進行驗證,驗證通過,則表明身份證讀卡終端的第一證書和第二證書是合法的。身份證讀卡終端的第一證書和第二證書驗證通過后,云認證平臺利用身份證讀卡終端的第一證書中的第一公鑰對第十一簽名值進行驗簽,驗簽通過后,利用認證解密密鑰對第i^一密文進行解密得到第一會話密鑰的獲取請求。
[0166]在本實施例中,云認證平臺得到第一會話密鑰的獲取請求后,生成第一會話密鑰,利用身份證讀卡終端的第二證書中的第二公鑰對第一會話密鑰進行加密,得到第十二密文,并使用云認證平臺的私鑰對第十二密文進行簽名得到第十二簽名值。
[0167]在本實施例中,主控安全芯片402使用云認證平臺的公鑰進行驗簽,如果主控安全芯片402使用云認證平臺的公鑰能夠對第十二簽名值解密,則表明接收的第十二簽名值是由云認證平臺發出的,如果主控安全芯片402使用云認證平臺的公鑰不能對第十二簽名值解密,則表明接收的第十二簽名值不是由云認證平臺發出的,即主控安全芯片402能夠根據第十二簽名值對發送第十二簽名值的裝置進行身份確認。在主控安全芯片402確定第十二簽名值是云認證平臺發送的之后,再計算第十二密文的摘要。如果第十二密文在傳輸過程中被篡改了,則主控安全芯片402對接收的第十二密文計算的摘要值也會發生變換,因此,主控安全芯片402通過比較計算得到的第十二密文的摘要與解密得到的第十二密文的摘要是否相同,能夠保證接收的第十二密文的完整性。在確認第十二簽名值是由云認證平臺發送且第十二密文在傳輸過程中沒有被篡改,即驗簽通過后,再利用身份證讀卡終端的第二私鑰對第十二密文進行解密得到第一會話密鑰,防止身份證讀卡終端以外的其他裝置對第十二密文進行解密獲取第一會話密鑰,保證第一會話密鑰的安全性。
[0168]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本發明的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
[0169]應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。
[0170]本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
[0171 ]此外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
[0172]上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0173]在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
[0174]盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在不脫離本發明的原理和宗旨的情況下在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。本發明的范圍由所附權利要求及其等同限定。
【主權項】
1.一種身份證讀取方法,其特征在于,所述方法包括: 讀卡接口接收身份證發送的身份證標識信息,發送所述身份證標識信息至主控安全芯片; 所述主控安全芯片接收所述身份證標識信息,對所述身份證標識信息進行安全處理得到第一數據包,發送所述第一數據包至通訊接口 ; 所述通訊接口接收所述第一數據包,發送所述第一數據包至云認證平臺; 所述通訊接口接收所述云認證平臺返回的第二數據包,發送所述第二數據包至所述主控安全芯片; 所述主控安全芯片接收所述第二數據包,對所述第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送所述第一認證因子至所述讀卡接口 ; 所述讀卡接口接收所述第一認證因子,發送所述第一認證因子至所述身份證; 所述讀卡接口接收所述身份證返回的第一認證數據,發送所述第一認證數據至所述主控安全芯片,所述第一認證數據為所述身份證對所述第一認證因子進行處理得到的; 所述主控安全芯片接收所述第一認證數據,對所述第一認證數據進行安全處理得到第三數據包,發送所述第三數據包至所述通訊接口 ; 所述通訊接口接收所述第三數據包,發送所述第三數據包至所述云認證平臺; 所述通訊接口接收所述云認證平臺返回的第四數據包,發送所述第四數據包至所述主控安全芯片; 所述主控安全芯片接收所述第四數據包,對所述第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送所述第二認證因子獲取請求至所述讀卡接口 ;所述讀卡接口接收所述第二認證因子獲取請求,發送所述第二認證因子獲取請求至所述身份證; 所述讀卡接口接收所述身份證返回的第二認證因子,發送所述第二認證因子至所述主控安全芯片; 所述主控安全芯片接收所述第二認證因子,對所述第二認證因子進行安全處理得到第五數據包,發送所述第五數據包至所述通訊接口 ; 所述通訊接口接收所述第五數據包,發送所述第五數據包至所述云認證平臺; 所述通訊接口接收所述云認證平臺返回的第六數據包,發送所述第六數據包至所述主控安全芯片; 所述主控安全芯片接收所述第六數據包,對所述第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送所述第二認證數據至所述讀卡接口 ; 所述讀卡接口接收所述第二認證數據,發送所述第二認證數據至所述身份證,所述第二認證數據為所述云認證平臺對所述第二認證因子進行處理得到的; 所述讀卡接口接收所述身份證返回的身份證數據密文,發送所述身份證數據密文至主控安全芯片; 所述主控安全芯片對所述身份證數據密文進行安全處理得到第七數據包,發送所述第七數據包至所述通訊接口 ; 所述通訊接口發送所述第七數據包至所述云認證平臺; 所述通訊接口接收所述云認證平臺返回的第八數據包,發送所述第八數據包至所述主控安全芯片; 所述主控安全芯片接收所述第八數據包,對所述第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。2.根據權利要求1所述的方法,其特征在于, 所述主控安全芯片,對所述身份證標識信息進行安全處理得到第一數據包,包括: 所述主控安全芯片,利用第一會話密鑰對所述身份證標識信息加密得到第一密文,利用所述身份證讀卡終端的第一私鑰對所述第一密文進行簽名,得到第一簽名值,所述第一數據包至少包括:所述第一密文和所述第一簽名值; 所述第二數據包至少包括:第二密文和第二簽名值;所述主控安全芯片,對所述第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,包括: 所述主控安全芯片,利用所述云認證平臺的公鑰對所述第二簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第二密文進行解密得到第一認證因子; 所述主控安全芯片,對所述第一認證數據進行安全處理得到第三數據包,包括: 所述主控安全芯片,利用所述第一會話密鑰對所述第一認證數據進行加密得到第三密文,利用所述身份證讀卡終端的第一私鑰對所述第三密文進行簽名,得到第三簽名值,所述第三數據包至少包括:所述第三密文和所述第三簽名值; 所述第四數據包至少包括:第四密文和第四簽名值;所述主控安全芯片,對所述第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,包括: 所述主控安全芯片,利用所述云認證平臺的公鑰對所述第四簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第四密文進行解密得到第二認證因子獲取請求; 所述主控安全芯片,對所述第二認證因子進行安全處理得到第五數據包,包括: 所述主控安全芯片,利用所述第一會話密鑰對所述第二認證因子進行加密得到第五密文,利用所述身份證讀卡終端的第一私鑰對所述第五密文進行簽名,得到第五簽名值,所述第五數據包至少包括:所述第五密文和所述第五簽名值; 所述第六數據包至少包括:第六密文和第六簽名值;所述主控安全芯片,對所述第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,包括: 所述主控安全芯片,利用所述云認證平臺的公鑰對所述第六簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第六密文進行解密得到第二認證數據; 所述主控安全芯片,對所述身份證數據密文進行安全處理得到第七數據包,包括: 所述主控安全芯片,利用所述第一會話密鑰對所述身份證數據密文進行加密得到第七密文,利用所述身份證讀卡終端的第一私鑰對所述第七密文進行簽名,得到第七簽名值;所述第八數據包至少包括:第八密文和第八簽名值;所述主控安全芯片,對所述第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文,包括: 所述主控安全芯片,利用所述云認證平臺的公鑰對所述第八簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第八密文進行解密得到身份證數據明文。3.根據權利要求1或2所述的方法,其特征在于,在所述主控安全芯片對所述身份證標識信息進行安全處理得到第一數據包之前,所述方法還包括: 所述主控安全芯片生成第一隨機數,利用所述身份證讀卡終端的第一私鑰對所述第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至所述通訊接口,所述第九數據包至少包括:所述第一隨機數、所述身份證讀卡終端的第一證書和所述第九簽名值,其中,所述第一證書至少包含身份證讀卡終端的第一公鑰; 所述通訊接口接收所述第九數據包,發送所述第九數據包至所述云認證平臺; 所述通訊接口接收所述云認證平臺返回的第十數據包,發送所述第十數據包至所述主控安全芯片,所述第十數據包至少包括:第十密文和第十簽名值; 所述主控安全芯片接收所述第十數據包,利用所述云認證平臺的公鑰對所述第十簽名值進行驗簽,驗簽通過后,利用所述身份證讀卡終端的第一私鑰對所述第十密文進行解密得到所述第一隨機數和第二隨機數,所述第二隨機數由所述云認證平臺生成; 所述主控安全芯片比對所述生成的第一隨機數和所述解密得到的第一隨機數,比對一致,利用所述第一隨機數和所述第二隨機數生成第一會話密鑰。4.根據權利要求1或2所述的方法,其特征在于,在所述主控安全芯片對所述身份證標識信息進行安全處理得到第一數據包之前,所述方法還包括: 所述主控安全芯片,利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用所述身份證讀卡終端的第一私鑰對所述第十一密文進行簽名得到第十一簽名值,發送第十一數據包至所述通訊接口,所述第十一數據包至少包括:所述身份證讀卡終端的第一證書和第二證書、所述第十一密文和所述第十一簽名值,其中,所述第一證書至少包含身份證讀卡終端的第一公鑰,所述第二證書至少包含身份證讀卡終端的第二公鑰; 所述通訊接口接收所述第十一數據包,發送所述第十一數據包至所述云認證平臺;所述通訊接口接收所述云認證平臺返回的第十二數據包,發送所述第十二數據包至所述主控安全芯片,所述第十二數據包至少包括:第十二密文和第十二簽名值; 所述主控安全芯片接收所述第十二數據包,利用所述云認證平臺的公鑰對所述第十二簽名值進行驗簽,驗簽通過后,利用所述身份證讀卡終端的第二私鑰對所述第十二密文進行解密得到第一會話密鑰。5.一種身份證讀卡終端,其特征在于,包括: 讀卡接口,用于接收身份證發送的身份證標識信息,發送所述身份證標識信息至主控安全芯片; 所述主控安全芯片,用于接收所述身份證標識信息,對所述身份證標識信息進行安全處理得到第一數據包,發送所述第一數據包至通訊接口 ; 所述通訊接口,用于接收所述第一數據包,發送所述第一數據包至云認證平臺; 所述通訊接口,還用于接收所述云認證平臺返回的第二數據包,發送所述第二數據包至所述主控安全芯片; 所述主控安全芯片,還用于接收所述第二數據包,對所述第二數據包進行安全驗證,在安全驗證通過后,得到第一認證因子,發送所述第一認證因子至所述讀卡接口 ; 所述讀卡接口,還用于接收所述第一認證因子,發送所述第一認證因子至所述身份證;所述讀卡接口,還用于接收所述身份證返回的第一認證數據,發送所述第一認證數據至所述主控安全芯片,所述第一認證數據為所述身份證對所述第一認證因子進行處理得到的; 所述主控安全芯片,還用于接收所述第一認證數據,對所述第一認證數據進行安全處理得到第三數據包,發送所述第三數據包至所述通訊接口 ; 所述通訊接口,還用于接收所述第三數據包,發送所述第三數據包至所述云認證平臺;所述通訊接口,還用于接收所述云認證平臺返回的第四數據包,發送所述第四數據包至所述主控安全芯片; 所述主控安全芯片,還用于接收所述第四數據包,對所述第四數據包進行安全驗證,在安全驗證通過后,得到第二認證因子獲取請求,發送所述第二認證因子獲取請求至所述讀卡接口; 所述讀卡接口,還用于接收所述第二認證因子獲取請求,發送所述第二認證因子獲取請求至所述身份證; 所述讀卡接口,還用于接收所述身份證返回的第二認證因子,發送所述第二認證因子至所述主控安全芯片; 所述主控安全芯片,還用于接收所述第二認證因子,對所述第二認證因子進行安全處理得到第五數據包,發送所述第五數據包至所述通訊接口 ; 所述通訊接口,還用于接收所述第五數據包,發送所述第五數據包至所述云認證平臺;所述通訊接口,還用于接收所述云認證平臺返回的第六數據包,發送所述第六數據包至所述主控安全芯片; 所述主控安全芯片,還用于接收所述第六數據包,對所述第六數據包進行安全驗證,在安全驗證通過后,得到第二認證數據,發送所述第二認證數據至所述讀卡接口 ; 所述讀卡接口,還用于接收所述第二認證數據,發送所述第二認證數據至所述身份證,所述第二認證數據為所述云認證平臺對所述第二認證因子進行處理得到的; 所述讀卡接口,還用于接收所述身份證返回的身份證數據密文,發送所述身份證數據密文至主控安全芯片; 所述主控安全芯片,還用于對所述身份證數據密文進行安全處理得到第七數據包,發送所述第七數據包至所述通訊接口 ; 所述通訊接口,還用于發送所述第七數據包至所述云認證平臺; 所述通訊接口,還用于接收所述云認證平臺返回的第八數據包,發送所述第八數據包至所述主控安全芯片; 所述主控安全芯片,還用于接收所述第八數據包,對所述第八數據包進行安全驗證,在安全驗證通過后,得到身份證數據明文。6.根據權利要求5所述的身份證讀卡終端,其特征在于, 所述主控安全芯片,具體用于利用第一會話密鑰對所述身份證標識信息加密得到第一密文,利用所述身份證讀卡終端的第一私鑰對所述第一密文進行簽名,得到第一簽名值,所述第一數據包至少包括:所述第一密文和所述第一簽名值; 所述第二數據包至少包括:第二密文和第二簽名值; 所述主控安全芯片,具體用于利用所述云認證平臺的公鑰對所述第二簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第二密文進行解密得到第一認證因子; 所述主控安全芯片,具體用于利用所述第一會話密鑰對所述第一認證數據進行加密得到第三密文,利用所述身份證讀卡終端的第一私鑰對所述第三密文進行簽名,得到第三簽名值,所述第三數據包至少包括:所述第三密文和所述第三簽名值; 所述第四數據包至少包括:第四密文和第四簽名值; 所述主控安全芯片,具體用于利用所述云認證平臺的公鑰對所述第四簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第四密文進行解密得到第二認證因子獲取請求; 所述主控安全芯片,具體用于利用所述第一會話密鑰對所述第二認證因子進行加密得到第五密文,利用所述身份證讀卡終端的第一私鑰對所述第五密文進行簽名,得到第五簽名值,所述第五數據包至少包括:所述第五密文和所述第五簽名值; 所述第六數據包至少包括:第六密文和第六簽名值; 所述主控安全芯片,具體用于利用所述云認證平臺的公鑰對所述第六簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第六密文進行解密得到第二認證數據; 所述主控安全芯片,具體用于利用所述第一會話密鑰對所述身份證數據密文進行加密得到第七密文,利用所述身份證讀卡終端的第一私鑰對所述第七密文進行簽名,得到第七簽名值; 所述第八數據包至少包括:第八密文和第八簽名值; 所述主控安全芯片,具體用于利用所述云認證平臺的公鑰對所述第八簽名值進行驗簽,驗簽通過后,利用所述第一會話密鑰對所述第八密文進行解密得到身份證數據明文。7.根據權利要求5或6所述的身份證讀卡終端,其特征在于, 所述主控安全芯片,還用于生成第一隨機數, 利用所述身份證讀卡終端的第一私鑰對所述第一隨機數和身份證讀卡終端的第一證書進行簽名得到第九簽名值,發送第九數據包至所述通訊接口,所述第九數據包至少包括:所述第一隨機數、所述身份證讀卡終端的第一證書和所述第九簽名值,其中,所述第一證書至少包含身份證讀卡終端的第一公鑰; 所述通訊接口,還用于接收所述第九數據包,發送所述第九數據包至所述云認證平臺;所述通訊接口,還用于接收所述云認證平臺返回的第十數據包,發送所述第十數據包至所述主控安全芯片,所述第十數據包至少包括:第十密文和第十簽名值; 所述主控安全芯片,還用于接收所述第十數據包,利用所述云認證平臺的公鑰對所述第十簽名值進行驗簽,驗簽通過后,利用所述身份證讀卡終端的第一私鑰對所述第十密文進行解密得到所述第一隨機數和第二隨機數,所述第二隨機數由所述云認證平臺生成;所述主控安全芯片,還用于比對所述生成的第一隨機數和所述解密得到的第一隨機數,比對一致,利用所述第一隨機數和所述第二隨機數生成第一會話密鑰。8.根據權利要求5或6所述的身份證讀卡終端,其特征在于, 所述主控安全芯片,還用于利用認證加密密鑰對第一會話密鑰的獲取請求進行加密得到第十一密文,利用所述身份證讀卡終端的第一私鑰對所述第十一密文進行簽名得到第十一簽名值,發送第十一數據包至所述通訊接口,所述第十一數據包至少包括:所述身份證讀卡終端的第一證書和第二證書、所述第十一密文和所述第十一簽名值,其中,所述第一證書至少包含身份證讀卡終端的第一公鑰,所述第二證書至少包含身份證讀卡終端的第二公鑰; 所述通訊接口,還用于接收所述第十一數據包,發送所述第十一數據包至所述云認證平臺; 所述通訊接口,還用于接收所述云認證平臺返回的第十二數據包,發送所述第十二數據包至所述主控安全芯片,所述第十二數據包至少包括:第十二密文和第十二簽名值; 所述主控安全芯片,還用于接收所述第十二數據包,利用所述云認證平臺的公鑰對所述第十二簽名值進行驗簽,驗簽通過后,利用所述身份證讀卡終端的第二私鑰對所述第十二密文進行解密得到第一會話密鑰。
【文檔編號】G06K7/10GK106027483SQ201610243357
【公開日】2016年10月12日
【申請日】2016年4月18日
【發明人】李明
【申請人】李明