基于ibc的防偽驗證方法、裝置、系統和防偽憑證的制作方法
【技術領域】
[0001]本發明涉及防偽驗證技術領域,尤其涉及一種基于IBC的防偽驗證方法、裝置、系統和防偽憑證。
【背景技術】
[0002]為了防止假貨、假幣、假票等物品以假亂真,很多使用時需要驗證的物品(例如門票、證件、鈔票等)都會采用一定的防偽手段,由于傳統的防偽手段僅采用肉眼可見的防偽標識(例如編號、照片、條碼等),容易被復制和偽造,安全性較低。
[0003]為提高防偽性能,目前常用智能密鑰設備進行防偽,在需要驗證的物品中加入智能密鑰設備,例如芯片,將一些需要驗證的信息保存在芯片中,在驗證時芯片與驗證設備進行通信,通過預設的算法對芯片中的信息進行驗證。常見的智能密鑰設備主要通過兩種加密算法來實現:對稱加密算法和非對稱加密算法。
[0004]現有的采用上述兩種加密算法的方案,用戶公鑰與用戶身份不相關,常需要用額外的機制(如數字證書等)去驗證。其中,對稱算法的方案通常不支持離線防偽驗證,需要服務器提供支持才能對芯片中的信息進行驗證,還需要維護密鑰管理數據庫,使用不便且成本較高;而傳統非對稱算法的方案,智能密鑰設備在獲取數字證書之前,需要生成與智能密鑰設備對應的出生證信息,以證明智能密鑰設備的合法性,而生成的與智能密鑰設備對應的出生證信息包含多個密鑰信息、密鑰版本信息和簽名數據,不僅生成出生證的過程較為復雜,而且驗證設備在驗證智能密鑰設備的合法性時,需要利用出生證及與出生證相關的信息執行多次驗簽操作,驗證智能密鑰設備的合法性的操作較為復雜,并且在驗證智能密鑰設備的合法性后,還需要生成數字證書,以使用數字證書證明智能密鑰設備的信息與公鑰間的對應關系,驗證操作較為復雜,成本較高。
【發明內容】
[0005]本發明提供了一種基于IBC的防偽驗證方法、裝置、系統和防偽憑證,以至少解決憑證驗證過程復雜、成本高的問題。
[0006]根據本發明的一個方面,提供了一種基于IBC的防偽驗證方法,包括:獲取待驗憑證的芯片中的憑證標識;發送隨機數至所述芯片;接收所述芯片根據所述隨機數返回的數字簽名,并根據所述隨機數、本地預存的發行方公共參數、所述憑證標識和預存的IBC驗證算法,對所述數字簽名進行驗證。
[0007]根據本發明的一個方面,提供了一種基于IBC的防偽驗證方法,包括:接收驗證設備的驗證請求,并根據所述驗證請求返回預先存儲的憑證標識;接收所述驗證設備發送的隨機數;根據預先存儲的私鑰和預設的簽名算法對所述隨機數進行運算,生成數字簽名并發送至所述驗證設備。
[0008]根據本發明的一個方面,提供了一種基于IBC的防偽驗證裝置,包括:獲取模塊,用于獲取待驗憑證的芯片中的憑證標識;發送模塊,用于發送隨機數至所述芯片;接收模塊,用于接收所述芯片根據所述隨機數返回的數字簽名;運算驗證模塊,用于根據所述隨機數、本地預存的發行方公共參數、所述憑證標識和預存的IBC驗證算法,對所述數字簽名進行驗證。
[0009]根據本發明的一個方面,提供了一種基于IBC的防偽憑證,包括本體和芯片,所述芯片中包括:接收模塊,用于接收驗證設備的驗證請求;發送模塊,用于根據所述驗證請求返回預先存儲的憑證標識;其中,所述接收模塊還用于接收所述驗證設備發送的隨機數;簽名模塊,用于根據預先存儲的私鑰和預設的簽名算法對所述隨機數進行運算,生成數字簽名并由所述發送模塊發送至所述驗證設備。
[0010]根據本發明的另一個方面,提供了一種基于IBC的防偽驗證系統,包括本申請任一實施例所述的防偽驗證裝置、防偽憑證以及憑證發行裝置,其中,所述憑證發行裝置用于選擇預設算法進行初始化,生成管理員密鑰和發行方公共參數,并根據管理員密鑰、發行方公共參數和憑證標識發行所述防偽憑證,以及向所述防偽驗證裝置提供發行方公共參數。
[0011]根據本發明的基于IBC的防偽驗證方法、裝置、系統和防偽憑證,通過在驗證設備預先存儲發行方公共參數和驗證所用的算法,在驗證時與待驗憑證的芯片通信,獲取芯片中的憑證標識查找本地預存的發行方公共參數,利用隨機數進行簽名校驗,可實現憑證的離線防偽驗證,不需要服務器支持,通過預先存儲的算法和隨機數進行校驗,不需要維護密鑰管理數據庫,也無需安裝和多次驗證數字證書,簡化了操作流程,縮短了驗證時間,降低了成本。
【附圖說明】
[0012]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的限定。在附圖中:
[0013]圖1是本發明實施例的基于IBC的防偽驗證方法的流程示意圖;
[0014]圖2是本發明實施例的基于IBC的防偽驗證裝置的結構示意圖;
[0015]圖3是本發明另一實施例的基于IBC的防偽驗證方法流程示意圖;
[0016]圖4是本發明實施例的基于IBC的防偽憑證的結構示意圖;
[0017]圖5是本發明實施例的基于IBC的防偽驗證系統的結構示意圖;
[0018]圖6是本發明一具體實施例的基于IBC的防偽驗證方法的流程示意圖。
【具體實施方式】
[0019]下面結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明的保護范圍。
[0020]基于身份的密碼學(Identity-Base Cryptography,IBC)是一種新興的公鑰密碼學。其特點是用戶公鑰與用戶身份天然相關,使用IBC進行數字簽名和驗證時只需利用簽名算法生成數字簽名、利用相應的驗證算法驗證數字簽名,不需要再用額外的機制(例如數字證書等)進行進一步的驗證。
[0021]本發明實施例提供了一種基于IBC的防偽驗證方法。本實施例從驗證設備端進行說明,通過與待驗憑證進行通信,獲取相關參數并發送隨機數,再對芯片根據隨機數生成的數字簽名進行運算校驗,能夠實現離線驗證,解決了現有驗證方法安全性低、操作復雜、成本高的問題。
[0022]圖1是本發明實施例的基于IBC的防偽驗證方法流程示意圖,如圖1所示,該方法包括以下步驟:
[0023]步驟101,獲取待驗憑證的芯片中的憑證標識。其中,憑證標識中包括發行方公共參數?目息,待驗憑證例如是門票、證件、妙票等。在實際應用中,憑證標識(Note_ID)可以由憑證發行方在發行憑證時注入到憑證的芯片中。具體地,驗證設備可以采用刷磁條、插入芯片等接觸方式,或NFC(Near Field Communicat1n,近場通信)等非接觸的方式與憑證的芯片進行通信。
[0024]步驟102,發送隨機數至所述芯片。
[0025]步驟103,接收所述芯片根據所述隨機數返回的數字簽名,并根據所述隨機數、本地預存的發行方公共參數、所述憑證標識和預存的IBC驗證算法,對所述數字簽名進行驗證。
[0026]在一個實施例中,所述憑證標識中包括發行方公共參數信息,在所述發送隨機數至所述芯片之前,所述方法還包括:根據所述發行方公共參數信息查找本地預存的發行方公共參數;若找到則發送所述隨機數至所述芯片,否則驗證不通過。發行方公共參數信息可以是發行方公共參數本身、發行方公共參數的Hash值、另外約定的發行方公共參數的索引或其他能夠確定發行方公共參數的信息,還可以是以上至少兩項信息的組合。具體地,驗證設備交付使用之前,應當獲取憑證發行方公布的發行方公共參數及相關信息并保存到存儲器中。驗證設備獲取到芯片存儲的發行方公共參數信息后,例如該發行方公共參數信息是發行方公共參數本身,那么驗證設備會在本地預存的發行方公共參數中進行查找,如果找到相應的發行方公共參數,則發送隨機數至所述芯片,如果沒有找到相應的發行方公共參數,則驗證不通過。當發行方公共參數信息不是發行方公共參數本身時,驗證設備可以根據該發行方公共參數信息在本地查找與該信息對應的預存的發行方公共參數,并使用查找到的預存發行方公共參數進行下一步運算。這一驗證機制可以通過驗證發行方公共參數是否一致來進行初步的驗證。
[0027]在一個實施例中,憑證標識中還包括預先存儲在所述芯片中的憑證主體信息,所述方法還包括:獲取所述待驗憑證本體上的憑證主體信息;將所述待驗憑證本體上的憑證主體信息與所述芯片中的憑證主體信息進行比對,對