一種密鑰更新方法、裝置及系統與流程
2023-12-09 14:39:11 3

本發明涉及一種電子技術領域,尤其涉及一種密鑰更新方法、裝置及系統。
背景技術:
在現有使用晶片卡(可以是接觸卡也可以是非接觸卡)作為用戶的身份識別的系統中,在晶片卡中存儲用戶的認證密鑰,在進行身份認證時,晶片卡使用認證密鑰對待認證信息進行加密,得到認證信息,將認證信息發送給認證設備進行認證,認證設備使用本地存儲的該用戶的認證密鑰,對晶片卡發送的認證信息進行認證,認證通過之後,確認用戶身份。
但是,在現有技術中,晶片卡中存儲的認證密鑰是靜態地,在合法用戶的晶片卡丟失或者被非法盜用,非法用戶可能攻破晶片卡中存儲的認證密鑰,進而使用認證密鑰偽造新的晶片卡,冒充合法用戶,而後臺系統也無法及時發現,從而給用戶帶來安全隱患。
技術實現要素:
本發明旨在解決上述晶片卡中的認證密鑰被攻破而給用戶帶來安全隱患的問題。
本發明的主要目的在於提供一種密鑰更新方法。
本發明的另一目的在於提供一種密鑰更新裝置。
本發明的又一目的在於提供一種密鑰更新系統。
為達到上述目的,本發明的技術方案具體是這樣實現的:
本發明一方面提供了一種密鑰更新方法,該方法包括:後臺根據預先設定的策略,確定需要更新晶片卡的認證密鑰;所述後臺為所述晶片卡生成新密鑰;所述後臺向所述晶片卡發送更新指示,指示所述晶片卡更新本地的認證密鑰,其中,所述更新指示中攜帶有密鑰同步信息或所述密鑰同步信息的密文;所述後臺接收所述晶片卡的密鑰同步成功指示,將所述晶片卡的認證密鑰替換為所述新密鑰。
可選地,所述後臺根據預先設定的策略,確定需要更新晶片卡的認證密鑰,包括:所述後臺接收到讀卡器發送的所述晶片卡的認證請求,其中,所述認證請求中攜帶有所述晶片卡的標識信息和待認證信息;所述後臺根據所述晶片卡的標識信息獲取所述晶片卡的認證密鑰;所述後臺使用所述認證密鑰對所述待認證信息進行認證,在認證通過的情況下,確定需要更新所述晶片卡的認證密鑰。
可選地,在對所述待認證信息進行認證沒有通過的情況下,所述方法還包括:所述後臺確定使用所述標識信息的晶片卡受到攻擊,禁止使用所述標識信息的晶片卡通過認證。
可選地,在所述後臺使用所述認證密鑰對所述待認證信息進行認證之後,所述方法還包括:所述後臺向所述讀卡器返回對所述待認證信息進行認證得到的認證結果。
可選地,所述密鑰同步信息包括:新密鑰更新因子,指示所述晶片卡根據所述新密鑰更新因子將本地的認證密鑰更新為所述新密鑰。
可選地,所述密鑰同步信息包括:所述新密鑰,指示所述晶片卡將本地的認證密鑰更新為所述新密鑰。
可選地,所述密鑰同步信息的密文包括:使用所述晶片卡當前的認證密鑰對所述密鑰同步信息進行加密得到的密文信息。
根據本發明的另一個方面,提供了一種密鑰更新裝置,包括:確定模塊,用於根據預先設定的策略,確定需要更新晶片卡的認證密鑰;生成模塊,用於為所述晶片卡生成新密鑰;發送模塊,用於向所述晶片卡發送更新指示,指示所述晶片卡更新本地的認證密鑰,其中,所述更新指示中攜帶有密鑰同步信息或所述密鑰同步信息的密文;接收模塊,用於接收所述晶片卡的密鑰同步成功指示;更新模塊,用於在所述接收模塊接收到所述同步成功指示之後,將所述晶片卡的認證密鑰替換為所述新密鑰。
根據本發明的又一個方面,包括:後臺、讀卡器和晶片卡,其中,所述後臺,用於根據預先設定的策略,確定需要更新所述晶片卡的認證密鑰,為所述晶片卡生成新密鑰,通過所述讀卡器向所述晶片卡發送更新指示,指示所述晶片卡更新本地的認證密鑰,其中,所述更新指示中攜帶有密鑰同步信息或所述密鑰同步信息的密文;所述讀卡器,用於接收並將所述更新指示發送給晶片卡;所述晶片卡,用於接收所述更新指示,並按照所述更新指示,將本地的認證密鑰更新為所述新密鑰,更新成功後,向所述讀卡器發送密鑰同步成功指示;所述讀卡器,還用於接收並將所述密鑰同步成功指示發送給所述後臺;所述後臺,用於接收所述密鑰同步成功指示,將所述晶片卡的認證密鑰替換為所述新密鑰。
可選地,所述後臺具體用於通過以下方式確定需要更新晶片卡的認證密鑰:接收到所述讀卡器發送的所述晶片卡的認證請求,其中,所述認證請求中攜帶有所述晶片卡的標識信息和待認證信息;根據所述晶片卡的標識信息獲取所述晶片卡的認證密鑰;所述後臺使用所述認證密鑰對所述待認證信息進行認證,在認證通過的情況下,確定需要更新所述晶片卡的認證密鑰。
可選地,所述後臺還用於:在對所述待認證信息進行認證沒有通過的情況下,確定使用所述標識信息的晶片卡受到攻擊,禁止使用所述標識信息的晶片卡通過認證。
可選地,所述後臺還用於:在所述後臺使用所述認證密鑰對所述待認證信息進行認證之後,向所述讀卡器返回對所述待認證信息進行認證得到的認證結果。
由上述本發明提供的技術方案可以看出,本發明提供了一種密鑰更新方案,在該方案中,後臺根據預先設定的策略,判斷是否需要更新晶片卡的認證密鑰,如果需要,則為晶片卡生成新密鑰,並指示晶片卡更新本地的認證密鑰,並在接收到晶片卡的密鑰同步成功指示之後,將本地的晶片卡認證密鑰替換為所述新密鑰。通過本發明提供的技術方案,後臺可以在合適的時機更新晶片卡的認證密鑰,從而使得同一個用戶在同一時間段內,只能有一個晶片卡通過認證,如果在該時間段內該用戶使用的晶片卡的認證密鑰與後臺不一致,則無法通過後臺的認證,因此,即使第三方攻破了晶片卡內存儲的認證密鑰,但由於在第三方攻破晶片卡內存儲的認證密鑰的過程中,後臺可能已經更新了該晶片卡的認證密鑰,原認證密鑰已經失效,從而無法使用舊認證密鑰通過認證,從而使得後臺可以及時發現晶片卡是否被偽造盜用,避免了用戶的人身或財產的傷害。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他附圖。
圖1為本發明實施例1提供的一種密鑰更新方法的流程圖;
圖2為本發明實施例2提供的一種密鑰更新系統的架構示意圖;
圖3為本發明實施例3提供的一種密鑰更新裝置的結構示意圖。
具體實施方式
下面結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明的保護範圍。
在本發明的描述中,需要理解的是,術語「中心」、「縱向」、「橫向」、「上」、「下」、「前」、「後」、「左」、「右」、「豎直」、「水平」、「頂」、「底」、「內」、「外」等指示的方位或位置關係為基於附圖所示的方位或位置關係,僅是為了便於描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。此外,術語「第一」、「第二」僅用於描述目的,而不能理解為指示或暗示相對重要性或數量或位置。
在本發明的描述中,需要說明的是,除非另有明確的規定和限定,術語「安裝」、「相連」、「連接」應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對於本領域的普通技術人員而言,可以具體情況理解上述術語在本發明中的具體含義。
下面將結合附圖對本發明實施例作進一步地詳細描述。
實施例1
本實施例提供了一種密鑰更新方法。
圖1為本實施例提供的一種密鑰更新方法的流程圖,如圖1所示,該方法主包括以下步驟s102-步驟s108。
步驟s102,後臺根據預先設定的策略,確定需要更新晶片卡的認證密鑰。
在本實施例中,晶片卡可以是接觸式卡片,也可以是非接觸式卡片,具體本實施例不作限定。
在具體實施過程中,可以根據晶片卡的具體應用場景,設置相應的認證密鑰更新的策略,例如,可以按使用時間更新,例如,每天更新一次。或者,也可以按照使用次數進行更新,例如,晶片卡每使用認證密鑰進行一次認證之後,就更新一次認證密鑰。或者,也可以按使用頻率確定是否需要更新密鑰,例如,一天之內使用了n次,則更新晶片卡的認證密鑰等,具體本實施例不作限定。
在本發明實施例的一個可選實施方案中,可以是晶片卡每使用一次認證密鑰進行認證之後,後臺即確定需要更新該晶片卡的認證密鑰。因此,在本發明實施例的一個可選實施方案中,步驟s102可以包括以下步驟:
步驟1,後臺接收到讀卡器發送的所述晶片卡的認證請求,其中,所述認證請求中攜帶有所述晶片卡的標識信息和待認證信息;
在具體應用過程中,待認證信息可以是晶片卡使用其認證密鑰對晶片卡的標識信息進行一定運算得到的值,例如,對晶片卡的標識信息進行籤名得到的籤名值等,或者,也可以是使用認證密鑰對晶片卡的標識信息進行加密得到加密信息等,具體本實施例不作限定。
步驟2,後臺根據所述晶片卡的標識信息獲取所述晶片卡的認證密鑰;
步驟3,後臺使用所述認證密鑰對所述待認證信息進行認證,在認證通過的情況下,確定需要更新所述晶片卡的認證密鑰。
通過上述可選實施方式,每次刷卡認證或在指定的設備上刷卡通過認證後臺均認為需要更新晶片卡的認證密鑰,提升了認證密鑰的更新速度,縮減同一個密鑰的使用周期,壓縮了攻擊者對該密鑰破解的有效時間,如果舊的認證密鑰超過使用周期被破解,由於舊的認證密鑰已被廢止,因此,即使被破解也不會給用戶帶到危害,提升了安全性。
在上述可選實施方式中,進一步地,後臺對所述待認證信息進行認證但認證沒有通過的情況下,在作為一種可選實施方式,後臺確定使用所述標識信息的晶片卡受到攻擊,禁止使用所述標識信息的晶片卡通過認證。在該可選實施方式中,後臺在對晶片卡發送的認證信息進行認證沒有通過的情況下,認為當前晶片卡存在偽卡,從而將當前晶片卡的標識信息加入黑名單,禁止使用該標識信息的晶片卡通過認證。通過該可選實施方式,即使非法用戶在晶片卡兩次的使用間隔期間破解了晶片卡的認證密鑰,並使用偽卡從後臺獲得了新的認證密鑰,但由於真卡沒有獲取到新的認證密鑰,因此,當真卡刷卡進行認證時,認證不能通過,從而使得後臺可以及時獲知當前晶片卡存在偽卡,禁用當前晶片卡,避免用戶的損失持續。
在上述可選實施方式中,後臺使用認證密鑰對待認證信息進行認證之後,可選地,該方法還可以包括:後臺向讀卡器返回對所述待認證信息進行認證得到的認證結果。讀卡器在收到該認證結果之後,根據該認證結果可以執行進一步的操作。例如,在門禁系統中,讀卡器根據認證結果可以判斷是否控制門禁電鎖開啟。
步驟s104,後臺為所述晶片卡生成新密鑰。
在具體實施過程中,後臺可以針對晶片卡生成新密鑰更新因子,根據新密鑰更新因子及晶片卡的當前認證密鑰,採用預設算法為所述晶片卡生成新密鑰。其中,密鑰更新因子可以是事件因子,也可以是時間因子,還可以是事件因子和時間因子的組合,具體本實施例不作限定。
或者,後臺也可以針對每張晶片卡,設置一個認證密鑰列表,該認證密鑰列表中包括若干個認證密鑰,在為晶片卡生成新密鑰時,後臺從該列表中選取一個與晶片卡當前的認證密鑰不相同的認證密鑰,在選取時,後臺可以按序選擇認證密鑰列表中排在當前的認證密鑰之後的下一個認證密鑰,也可以隨機選擇,或者,也可以按其它規則,例如,選擇認證密鑰列表中排在當前的認證密鑰之後的與當前的認證密鑰間隔一個或多個的認證密鑰,具體方式本實施例不作限定。
步驟s106,後臺向所述晶片卡發送更新指示,指示所述晶片卡更新本地的認證密鑰,其中,所述更新指示中攜帶有密鑰同步信息或所述密鑰同步信息的密文。
在本實施例中,後臺在確定需要對晶片卡的認證密鑰進行更新之後,在為該晶片卡生成新密鑰之後,向晶片卡發送更新指示,指示晶片卡將其認證密鑰更新為該新密鑰。在具體實施過程中,後臺可以通過讀卡器向晶片卡發送該更新指示。
在本發明實施例的一個可選實施方案中,如果後臺在對晶片卡發送的待認證信息進行認證且認證通過之後,確定需要更新晶片卡的認證密鑰的情況下,後臺可以將更新指示攜帶在認證結果中發送給讀卡器,以節約後臺與讀卡器之間的交互流程。
在本發明實施例,更新指示中可以直接攜帶密鑰同步信息,或者,為了保證密鑰同步信息的傳輸安全,更新指示中攜帶的還可以是密鑰同步信息的密文,其中,該密文可以是使用晶片卡當前的認證密鑰對密鑰同步信息進行加密得到的,晶片卡在接收到密鑰同步信息的密文之後,使用本地的認證密鑰對該密文進行解密,得到密鑰同步信息,再根據密鑰同步信息更新本地的認證密鑰。
在本發明實施例的一個可選實施方案中,密鑰同步信息可以是新密鑰更新因子,晶片卡在接收到新密鑰更新因子之後,採用與後臺相同的算法,將本地的認證密鑰更新為所述新密鑰,例如,晶片卡可以根據新密鑰更新因子與當前的認證密鑰,採用預設的算法,得到所述新密鑰,再使用該新密鑰更新本地的認證密鑰。
或者,在本實施例的另一個可選實施方式中,密鑰同步信息也可以是後臺生成的新密鑰,即後臺將為晶片卡生成的新密鑰作為密鑰同步信息發送給晶片卡,晶片卡接收到該新密鑰之後,使用該新密鑰更新本地的認證密鑰。
當然,並不限於上述兩種方式,在具體實施過程中,密鑰同步信息也可以採用其它的實現方式,只要晶片卡根據該密鑰同步信息可以得到與後臺相同的新密鑰即可。
步驟s108,後臺接收所述晶片卡的密鑰同步成功指示,將所述晶片卡的認證密鑰替換為所述新密鑰。
在本實施例中,晶片卡根據更新指示更新認證密鑰之後,向後臺返回密鑰同步成功指示,後臺根據該密鑰同步成功指示可以獲知晶片卡已成功將認證密鑰更新為所述新密鑰,因此,後臺也將所述晶片卡的認證密鑰替換為所述新密鑰,從而使得後臺存儲的所述晶片卡的認證密鑰與所述晶片卡本地的認證密鑰一致,進而能夠保證晶片卡後續的認證請求能夠被後臺認證通過,確保晶片卡的正常使用。
通過本實施例提供的密鑰更新方法,後臺根據預先設定的策略,判斷是否需要更新晶片卡的認證密鑰,如果需要,則為晶片卡生成新密鑰,並指示晶片卡更新本地的認證密鑰,並在接收到晶片卡的密鑰同步成功指示之後,將本地的晶片卡認證密鑰替換為所述新密鑰。通過本發明提供的技術方案,後臺可以在合適的時機更新晶片卡的認證密鑰,從而使得同一個用戶在同一時間段內,只能有一個晶片卡通過認證,如果在該時間段內該用戶使用的晶片卡的認證密鑰與後臺不一致,則無法通過後臺的認證,因此,即使第三方攻破了晶片卡內存儲的認證密鑰,但由於在第三方攻破晶片卡內存儲的認證密鑰的過程中,後臺可能已經更新了該晶片卡的認證密鑰,原認證密鑰已經失效,從而無法使用舊認證密鑰通過認證,從而使得後臺可以及時發現晶片卡是否被偽造盜用,避免了用戶的人身或財產的傷害。
實施例2
本實施例提供了一種密鑰更新系統,該系統可以用於實現實施例1所述的密鑰更新方法。
圖2為本實施例提供的密鑰更新系統的系統架構示意圖,如圖2所示,該系統主要包括:後臺10、讀卡器20和晶片卡30。如圖2所示,一個後臺20可以與多個讀卡器20通信,一個讀卡器20同一時間可以與一個晶片卡30通信,當然,並不限於此,在具體應用中,後臺20也可以只與一個讀卡器20通信。
下面對本實施例提供的密鑰更新系統中的各個組成部件的功能及信號流向進行描述。
後臺10,用於根據預先設定的策略,確定需要更新晶片卡30的認證密鑰,為晶片卡30生成新密鑰,通過讀卡器20向晶片卡30發送更新指示,指示晶片卡30更新本地的認證密鑰,其中,更新指示中攜帶有密鑰同步信息或密鑰同步信息的密文;讀卡器20,用於接收並將更新指示發送給晶片卡30;晶片卡30,用於接收更新指示,並按照更新指示,將本地的認證密鑰更新為新密鑰,更新成功後,向讀卡器20發送密鑰同步成功指示;讀卡器20,還用於接收並將密鑰同步成功指示發送給後臺10;後臺10,用於接收密鑰同步成功指示,將晶片卡30的認證密鑰替換為新密鑰。
在具體實施過程中,可以根據晶片卡30的具體應用場景,設置相應的認證密鑰更新的策略,例如,可以按使用時間更新,例如,每天更新一次。或者,也可以按照使用次數進行更新,例如,晶片卡30每使用認證密鑰進行一次認證之後,就更新一次認證密鑰。或者,也可以按使用頻率確定是否需要更新密鑰,例如,一天之內使用了n次,則更新晶片卡30的認證密鑰等,具體本實施例不作限定。
在本發明實施例的一個可選實施方案中,可以是晶片卡30每使用一次認證密鑰進行認證之後,後臺10即確定需要更新該晶片卡30的認證密鑰。因此,在本發明實施例的一個可選實施方案中,後臺10具體用於通過以下方式確定需要更新晶片卡30的認證密鑰:接收到所述讀卡器20發送的所述晶片卡30的認證請求,其中,所述認證請求中攜帶有所述晶片卡30的標識信息和待認證信息;根據所述晶片卡30的標識信息獲取所述晶片卡30的認證密鑰;使用所述認證密鑰對所述待認證信息進行認證,在認證通過的情況下,確定需要更新所述晶片卡30的認證密鑰。
在具體應用過程中,待認證信息可以是晶片卡30使用其認證密鑰對晶片卡30的標識信息進行一定運算得到的值,例如,對晶片卡30的標識信息進行籤名得到的籤名值等,或者,也可以是使用認證密鑰對晶片卡30的標識信息進行加密得到加密信息等,具體本實施例不作限定。
通過上述可選實施方式,每次刷卡認證或在指定的設備上刷卡通過認證後臺10均認為需要更新晶片卡30的認證密鑰,提升了認證密鑰的更新速度,縮減同一個密鑰的使用周期,壓縮了攻擊者對該密鑰破解的有效時間,如果舊的認證密鑰超過使用周期被破解,由於舊的認證密鑰已被廢止,因此,即使被破解也不會給用戶帶到危害,提升了安全性。
在上述可選實施方式中,進一步地,後臺對所述待認證信息進行認證但認證沒有通過的情況下,在作為一種可選實施方式,後臺10還用於:在對所述待認證信息進行認證沒有通過的情況下,確定使用所述標識信息的晶片卡30受到攻擊,禁止使用所述標識信息的晶片卡3030通過認證。在該可選實施方式中,後臺10在對晶片卡30發送的認證信息進行認證沒有通過的情況下,認為當前晶片卡30存在偽卡,從而將當前晶片卡30的標識信息加入黑名單,禁止使用該標識信息的晶片卡30通過認證。通過該可選實施方式,即使非法用戶在晶片卡30兩次的使用間隔期間破解了晶片卡30的認證密鑰,並使用偽卡從後臺10獲得了新的認證密鑰,但由於真卡沒有獲取到新的認證密鑰,因此,當真卡刷卡進行認證時,認證不能通過,從而使得後臺10可以及時獲知當前晶片卡30存在偽卡,禁用當前晶片卡30,避免用戶的損失持續。
在上述可選實施方式中,後臺使用認證密鑰對待認證信息進行認證之後,可選地,後臺10還用於向所述讀卡器20返回對所述待認證信息進行認證得到的認證結果。讀卡器20在收到該認證結果之後,根據該認證結果可以執行進一步的操作。例如,在門禁系統中,讀卡器20根據認證結果可以判斷是否控制門禁電鎖開啟。
在具體實施過程中,後臺10在為晶片卡30生成新密鑰時,包括但不限於以下兩種實現方式:
(1)針對晶片卡30生成新密鑰更新因子,根據新密鑰更新因子及晶片卡30的當前認證密鑰,採用預設算法為所述晶片卡30生成新密鑰。其中,密鑰更新因子可以是事件因子,也可以是時間因子,還可以是事件因子和時間因子的組合,具體本實施例不作限定。
(2)後臺10也可以針對每張晶片卡30,設置一個認證密鑰列表,該認證密鑰列表中包括若干個認證密鑰,在為晶片卡30生成新密鑰時,後臺10從該列表中選取一個與晶片卡30當前的認證密鑰不相同的認證密鑰,在選取時,後臺10可以按序選擇認證密鑰列表中排在當前的認證密鑰之後的下一個認證密鑰,也可以隨機選擇,或者,也可以按其它規則,例如,選擇認證密鑰列表中排在當前的認證密鑰之後的與當前的認證密鑰間隔一個或多個的認證密鑰,具體方式本實施例不作限定。
對應的,後臺10返回給讀卡器20的更新指示中攜帶的密鑰同步信息可以是:(1)新密鑰更新因子,晶片卡30在接收到新密鑰更新因子之後,採用與後臺10相同的算法,將本地的認證密鑰更新為所述新密鑰,例如,晶片卡30可以根據新密鑰更新因子與當前的認證密鑰,採用預設的算法,得到所述新密鑰,再使用該新密鑰更新本地的認證密鑰。(2)後臺10生成的新密鑰,即後臺10將為晶片卡30生成的新密鑰作為密鑰同步信息發送給晶片卡30,晶片卡30接收到該新密鑰之後,使用該新密鑰更新本地的認證密鑰。
在本發明實施例,後臺10發送的更新指示中可以直接攜帶密鑰同步信息,或者,為了保證密鑰同步信息的傳輸安全,更新指示中攜帶的還可以是密鑰同步信息的密文,其中,該密文可以是使用晶片卡30當前的認證密鑰對密鑰同步信息進行加密得到的,晶片卡30在接收到密鑰同步信息的密文之後,使用本地的認證密鑰對該密文進行解密,得到密鑰同步信息,再根據密鑰同步信息更新本地的認證密鑰。
在本發明實施例的一個可選實施方案中,如果後臺10在對晶片卡30發送的待認證信息進行認證且認證通過之後,確定需要更新晶片卡30的認證密鑰的情況下,後臺30可以將更新指示攜帶在認證結果中發送給讀卡器20,由讀卡器20將更新指示發送給晶片卡30,以節約後臺10與讀卡器20之間的交互流程。
通過本實施例提供的密鑰更新系統,後臺10根據預先設定的策略,判斷是否需要更新晶片卡30的認證密鑰,如果需要,則為晶片卡30生成新密鑰,並通過讀卡器20指示晶片卡30更新本地的認證密鑰,並在接收到晶片卡30的密鑰同步成功指示之後,將本地的晶片卡30認證密鑰替換為所述新密鑰。通過本發明提供的技術方案,後臺10可以在合適的時機更新晶片卡30的認證密鑰,從而使得同一個用戶在同一時間段內,只能有一個晶片卡30通過認證,如果在該時間段內該用戶使用的晶片卡30的認證密鑰與後臺10不一致,則無法通過後臺10的認證,因此,即使第三方攻破了晶片卡30內存儲的認證密鑰,但由於在第三方攻破晶片卡30內存儲的認證密鑰的過程中,後臺10可能已經更新了該晶片卡30的認證密鑰,原認證密鑰已經失效,從而無法使用舊認證密鑰通過認證,從而使得後臺10可以及時發現晶片卡30是否被偽造盜用,避免了用戶的人身或財產的傷害。
實施例3
本實施例提供了一種密鑰更新裝置,該裝置可以設置在實施例1以及實施例2所述的後臺中,用於實現實施例1所描述的密鑰更新方法。
圖3為本實施例提供的密鑰更新裝置的結構示意圖,如圖3所示,該裝置主要包括:確定模塊300、生成模塊302、發送模塊304、接收模塊306以及更新模塊306。
下面主要對本實施例提供的密鑰更新裝置的各個模塊的功能進行描述,其它未盡事宜可以參考實施例1及2的描述,在此不再贅述。
確定模塊300,用於根據預先設定的策略,確定需要更新晶片卡的認證密鑰;生成模塊302,用於為所述晶片卡生成新密鑰;發送模塊304,用於向所述晶片卡發送更新指示,指示所述晶片卡更新本地的認證密鑰,其中,所述更新指示中攜帶有密鑰同步信息或所述密鑰同步信息的密文;接收模塊306,用於接收所述晶片卡的密鑰同步成功指示;更新模塊308,用於在所述接收模塊接收到所述同步成功指示之後,將所述晶片卡的認證密鑰替換為所述新密鑰。
在具體實施過程中,可以根據晶片卡的具體應用場景,設置相應的認證密鑰更新的策略,例如,可以按使用時間更新,例如,每天更新一次。或者,也可以按照使用次數進行更新,例如,晶片卡每使用認證密鑰進行一次認證之後,就更新一次認證密鑰。或者,也可以按使用頻率確定是否需要更新密鑰,例如,一天之內使用了n次,則更新晶片卡的認證密鑰等,具體本實施例不作限定。
在本發明實施例的一個可選實施方案中,可以是晶片卡每使用一次認證密鑰進行認證之後,確定模塊300即確定需要更新該晶片卡的認證密鑰。因此,在本發明實施例的一個可選實施方案中,確定模塊300具體用於通過以下方式確定需要更新該晶片卡的認證密鑰:接收到讀卡器發送的所述晶片卡的認證請求,其中,所述認證請求中攜帶有所述晶片卡的標識信息和待認證信息;根據所述晶片卡的標識信息獲取所述晶片卡的認證密鑰;使用所述認證密鑰對所述待認證信息進行認證,在認證通過的情況下,確定需要更新所述晶片卡的認證密鑰。
通過上述可選實施方式,每次刷卡認證或在指定的設備上刷卡通過認證確定模塊300均認為需要更新晶片卡的認證密鑰,提升了認證密鑰的更新速度,縮減同一個密鑰的使用周期,壓縮了攻擊者對該密鑰破解的有效時間,如果舊的認證密鑰超過使用周期被破解,由於舊的認證密鑰已被廢止,因此,即使被破解也不會給用戶帶到危害,提升了安全性。
在上述可選實施方式中,進一步地,在對所述待認證信息進行認證但認證沒有通過的情況下,在作為一種可選實施方式,確定模塊300還可以用於:對所述待認證信息進行認證但認證沒有通過的情況下,確定使用所述標識信息的晶片卡受到攻擊,禁止使用所述標識信息的晶片卡通過認證。在該可選實施方式中,在對晶片卡發送的認證信息進行認證沒有通過的情況下,確定模塊300認為當前晶片卡存在偽卡,從而將當前晶片卡的標識信息加入黑名單,禁止使用該標識信息的晶片卡通過認證。通過該可選實施方式,即使非法用戶在晶片卡兩次的使用間隔期間破解了晶片卡的認證密鑰,並使用偽卡獲得了新的認證密鑰,但由於真卡沒有獲取到新的認證密鑰,因此,當真卡刷卡進行認證時,認證不能通過,從而使得密鑰更新裝置可以及時獲知當前晶片卡存在偽卡,禁用當前晶片卡,避免用戶的損失持續。
在具體實施過程中,生成模塊302在為所述晶片卡生成新密鑰時,包括但不限於以下兩種方式:
(1)針對晶片卡生成新密鑰更新因子,根據新密鑰更新因子及晶片卡的當前認證密鑰,採用預設算法為所述晶片卡生成新密鑰。其中,密鑰更新因子可以是事件因子,也可以是時間因子,還可以是事件因子和時間因子的組合,具體本實施例不作限定。
(2)針對每張晶片卡,設置一個認證密鑰列表,該認證密鑰列表中包括若干個認證密鑰,在為晶片卡生成新密鑰時,生成模塊302從該列表中選取一個與晶片卡當前的認證密鑰不相同的認證密鑰,在選取時,生成模塊302可以按序選擇認證密鑰列表中排在當前的認證密鑰之後的下一個認證密鑰,也可以隨機選擇,或者,也可以按其它規則,例如,選擇認證密鑰列表中排在當前的認證密鑰之後的與當前的認證密鑰間隔一個或多個的認證密鑰,具體方式本實施例不作限定。
對應的,發送模塊304返回的更新指示中攜帶的密鑰同步信息可以是:(1)新密鑰更新因子,晶片卡30在接收到新密鑰更新因子之後,採用與生成模塊302相同的算法,將本地的認證密鑰更新為所述新密鑰,例如,晶片卡可以根據新密鑰更新因子與當前的認證密鑰,採用預設的算法,得到所述新密鑰,再使用該新密鑰更新本地的認證密鑰。(2)生成模塊302生成的新密鑰,即發送模塊304將生成模塊302為晶片卡生成的新密鑰作為密鑰同步信息發送給晶片卡,晶片卡接收到該新密鑰之後,使用該新密鑰更新本地的認證密鑰。
在本發明實施例,發送模塊304發送的更新指示中可以直接攜帶密鑰同步信息,或者,為了保證密鑰同步信息的傳輸安全,更新指示中攜帶的還可以是密鑰同步信息的密文,其中,該密文可以是使用晶片卡當前的認證密鑰對密鑰同步信息進行加密得到的,晶片卡在接收到密鑰同步信息的密文之後,使用本地的認證密鑰對該密文進行解密,得到密鑰同步信息,再根據密鑰同步信息更新本地的認證密鑰。
通過本實施例提供的密鑰更新裝置,確定模塊300根據預先設定的策略,判斷是否需要更新晶片卡的認證密鑰,如果需要,則生成模塊302為晶片卡生成新密鑰,發送模塊304通過讀卡器指示晶片卡更新本地的認證密鑰,更新模塊308在接收模塊306接收到晶片卡的密鑰同步成功指示之後,將本地的晶片卡認證密鑰替換為所述新密鑰。通過本發明提供的技術方案,密鑰更新裝置可以在合適的時機更新晶片卡的認證密鑰,從而使得同一個用戶在同一時間段內,只能有一個晶片卡通過認證,如果在該時間段內該用戶使用的晶片卡的認證密鑰與密鑰更新裝置不一致,則無法通過密鑰更新裝置的認證,因此,即使第三方攻破了晶片卡內存儲的認證密鑰,但由於在第三方攻破晶片卡內存儲的認證密鑰的過程中,密鑰更新裝置可能已經更新了該晶片卡的認證密鑰,原認證密鑰已經失效,從而無法使用舊認證密鑰通過認證,從而使得密鑰更新裝置可以及時發現晶片卡是否被偽造盜用,避免了用戶的人身或財產的傷害。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,並且本發明的優選實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
應當理解,本發明的各部分可以用硬體、軟體、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟體或固件來實現。例如,如果用硬體來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用於對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現場可編程門陣列(fpga)等。
本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
此外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。所述集成的模塊如果以軟體功能模塊的形式實現並作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。
在本說明書的描述中,參考術語「一個實施例」、「一些實施例」、「示例」、「具體示例」、或「一些示例」等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含於本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
儘管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在不脫離本發明的原理和宗旨的情況下在本發明的範圍內可以對上述實施例進行變化、修改、替換和變型。本發明的範圍由所附權利要求及其等同限定。