本發(fā)明涉及數(shù)據(jù)安全領域,具體地,涉及一種標簽數(shù)據(jù)加密方法及標簽數(shù)據(jù)解密方法。
背景技術:
射頻識別(rfid)技術是一種無線通信技術,可以通過無線電訊號識別特定目標并讀寫相關數(shù)據(jù),而無需識別系統(tǒng)與特定目標之間建立機械接觸或者光學接觸。rfid技術最重要的優(yōu)點是非接觸識別,它能穿透雪、霧、冰、涂料、塵垢和條形碼無法使用的惡劣環(huán)境閱讀標簽,并且閱讀速度極快,大多數(shù)情況下不到100毫秒。除此之外,其還有數(shù)據(jù)容量大、使用壽命長、標簽數(shù)據(jù)可動態(tài)更改等優(yōu)點。因此電子標簽被廣泛應用于門禁識別、電子溯源、食品溯源、產品防偽等領域。
在被廣泛應用的同時,與標簽相關的安全隱患也隨之產生。目前,安全問題已成為制約rfid技術推廣應用的主要因素之一,其中,隱私數(shù)據(jù)保護是rfid發(fā)展過程中面臨的重大挑戰(zhàn)性向題。
越來越多的商家和用戶擔心rfid系統(tǒng)的安全問題和隱私保護問題,即在使用rfid系統(tǒng)過程中如何確保其安全性和隱私性,而不至于導致個人信息、業(yè)務信息和財產等的丟失或被他人盜用??梢栽O想,如果標簽受到攻擊,導致私數(shù)據(jù)泄露,很有可能產生不可估量的損失。然而標簽是rfid系統(tǒng)中更容易暴露在被攻擊環(huán)境中的,所以對標簽數(shù)據(jù)的保護是rfid安全的一個重要方向。
rfid標簽架構一般分為兩種。一種rfid標簽架構使用專用的標簽芯片,其內部集成了專用的標簽算法,并且將存儲區(qū)域劃分為多個部分,包括 密鑰區(qū)、權限控制區(qū)和普通存儲區(qū),其中的敏感區(qū)使用硬件保護,因而無法直接讀取密鑰數(shù)據(jù),密鑰只在處理器內部進行運算和調用,保證了數(shù)據(jù)安全。這種rfid標簽架構一般用在對信息安全要求比較高的領域。另一種rfid標簽架構僅采用一個通用處理器和一個存儲芯片(簡稱cpu+flash),在沒有硬件的數(shù)據(jù)保護措施,只有標簽id以一次性可編程(otp)的方式寫入不可修改,一般用在數(shù)據(jù)信息不太敏感的領域。
第一種rfid標簽的架構雖然安全性較高,但是需要專用的標簽芯片和硬件安全模塊,因而增加了標簽的復雜性和成本;第二種rfid標簽雖然結構簡單,但是安全性較低。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種標簽數(shù)據(jù)加密方法及標簽數(shù)據(jù)解密方法,該標簽數(shù)據(jù)加密方法及標簽數(shù)據(jù)解密方法即降低了標簽的復雜性和成本又保證了標簽的安全性。
為了實現(xiàn)上述目的,本發(fā)明提供一種標簽數(shù)據(jù)加密方法,所述標簽數(shù)據(jù)加密方法包括:按照預定長度將數(shù)據(jù)劃分為至少一個數(shù)據(jù)區(qū);通過保護密鑰k1對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行加密;以及根據(jù)映射表對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射以形成數(shù)據(jù)密文。
優(yōu)選地,所述根據(jù)映射表對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射以形成數(shù)據(jù)密文包括:根據(jù)映射表m2對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射;以及根據(jù)映射表m1對經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射。
優(yōu)選地,所述根據(jù)映射表m2對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射包括:按照預定比特映射對所述經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射;和/或所述根據(jù)映射表m1對經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射包括:按照預定區(qū)映射對所述經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射。
優(yōu)選地,所述標簽數(shù)據(jù)加密方法還包括以下至少一者:根據(jù)第一隨機因子r1生成所述映射表m1;以及根據(jù)第二隨機因子r2生成所述映射表m2。
優(yōu)選地,以所述標簽的id為基礎因子生成所述第一隨機因子r1和所述第二隨機因子r2。
優(yōu)選地,所述預定長度為16字節(jié)。
相應地,一種標簽數(shù)據(jù)解密方法,所述標簽數(shù)據(jù)解密方法包括:按照預定長度將數(shù)據(jù)劃分為至少一個數(shù)據(jù)區(qū);根據(jù)用于加密的映射表對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射;以及通過保護密鑰k1對經過逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行解密。
優(yōu)選地,所述根據(jù)用于加密的映射表對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射包括:根據(jù)用于加密的映射表m1對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射;以及根據(jù)用于加密的映射表m2對根據(jù)所述映射表m1逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射。
優(yōu)選地,所述根據(jù)用于加密的映射表m1對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射包括:按照用于加密的預定區(qū)映射對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射。
優(yōu)選地,所述根據(jù)用于加密的映射表m2對根據(jù)所述映射表m1逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射包括:按照用于加密的預定比特映射對根據(jù)所述映射表m1逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射。
通過上述技術方案,通過保護密鑰k1對劃分的數(shù)據(jù)區(qū)的數(shù)據(jù)進行加密,然后根據(jù)映射表對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射以形成數(shù)據(jù)密文,如此即降低了標簽的復雜性和成本又保證了標簽的安全性。
本發(fā)明的其它特征和優(yōu)點將在隨后的具體實施方式部分予以詳細說明。
附圖說明
附圖是用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與 下面的具體實施方式一起用于解釋本發(fā)明,但并不構成對本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明提供的標簽數(shù)據(jù)加密方法的流程圖;
圖2給出了根據(jù)本發(fā)明一種實施方式提供的按照預定比特映射的示意圖;
圖3給出了根據(jù)本發(fā)明一種實施方式提供的按照預定區(qū)映射的示意圖;
圖4是根據(jù)本發(fā)明一種實施方式提供的標簽數(shù)據(jù)加密方法的流程圖;
圖5是根據(jù)本發(fā)明提供的標簽數(shù)據(jù)解密方法的流程圖;以及
圖6是根據(jù)本發(fā)明一種實施方式提供的標簽數(shù)據(jù)解密方法的流程圖。
具體實施方式
以下結合附圖對本發(fā)明的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明提供的標簽數(shù)據(jù)加密方法的流程圖。如圖1所示,在步驟10處,按照預定長度(例如,16字節(jié))將數(shù)據(jù)劃分為至少一個數(shù)據(jù)區(qū);在步驟11處,通過保護密鑰k1對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行加密;以及在步驟12處,根據(jù)映射表對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射以形成數(shù)據(jù)密文。如此即降低了標簽的復雜性和成本又保證了標簽的安全性。
其中,所述根據(jù)映射表對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射以形成數(shù)據(jù)密文包括:根據(jù)映射表m2對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射;以及根據(jù)映射表m1對經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射。通過映射表m1和映射表m2的雙重混淆,極大地降低了暴力破解成功的可能性。
所述根據(jù)映射表m2對經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射包括:按照預定比特映射對所述經加密的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射,例如將第一比特的數(shù)據(jù)映 射至第八比特,第二比特的數(shù)據(jù)映射至第三比特……,當然本發(fā)明并不限制于此,本領域技術人員可以隨意設置映射關系。圖2給出了根據(jù)本發(fā)明一種實施方式提供的按照預定比特映射的示意圖,如圖2所示,按照預定比特映射將映射前比特的數(shù)據(jù)映射至相應的映射后比特中,應該理解的是,本領域技術人員可以按照任意設定的比特映射來完成本發(fā)明。和/或所述根據(jù)映射表m1對經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射包括:按照預定區(qū)映射對所述經過所述映射表m2映射的數(shù)據(jù)區(qū)的數(shù)據(jù)進行映射,例如將地址1中的數(shù)據(jù)映射至地址4,地址2中的數(shù)據(jù)映射至地址11中……,,當然本發(fā)明并不限制于此,本領域技術人員可以隨意設置映射關系。圖3給出了根據(jù)本發(fā)明一種實施方式提供的按照預定區(qū)映射的示意圖,如圖3所示,按照預定區(qū)映射將映射前數(shù)據(jù)區(qū)的數(shù)據(jù)映射至相應的映射后數(shù)據(jù)區(qū)的數(shù)據(jù)中,應該理解的是,本領域技術人員可以按照任意設定的比特映射來完成本發(fā)明。
其中,所述標簽數(shù)據(jù)加密方法還包括以下至少一者:根據(jù)第一隨機因子r1生成所述映射表m1;以及根據(jù)第二隨機因子r2生成所述映射表m2??梢砸运鰳撕灥膇d為基礎因子生成所述第一隨機因子r1和所述第二隨機因子r2。
本發(fā)明提供的標簽加密方法可以使用在具有處理器(cpu)和存儲器(flash)的標簽中,因而能夠在保持通用性好、選擇范圍大、使用靈活、存儲量大的基礎上,保證了標簽數(shù)據(jù)的安全性。在這種rfid標簽的架構中,cpu負責標簽功能的具體實現(xiàn)和加解密算法,而在flash部分存儲所有的數(shù)據(jù),包括敏感的密鑰等數(shù)據(jù)。在邏輯層面,可以將存儲區(qū)域分為密鑰區(qū)、權限控制區(qū)、普通存儲區(qū),其中密鑰區(qū)存儲的是各個區(qū)域加解密的密鑰和通信流程中所需要的密鑰,而權限控制區(qū)是具有相應權限才能進入的加密存儲區(qū)。密鑰區(qū)和權限控制區(qū)的位置相對固定,如果不使用物理防護,很可能被暴力讀出所有原始數(shù)據(jù),最終會被破解得到敏感信息。然而,采用本發(fā)明提 供的加密方法和解密方法則完全可以極大地提高暴力破解的難度。
以下經通過具體實施方式來詳細描述本發(fā)明,但是應該注意的是,本發(fā)明并不限制于此。
在標簽出廠的時候可以不內置密鑰,在初始發(fā)行的時候,隨機生成數(shù)據(jù)保護密鑰k1;并以標簽id為基礎因子(標簽id唯一不重復),生成第一隨機因子r1和第二隨機因子r2,并根據(jù)第一隨機因子r1生成數(shù)據(jù)映射表m1,根據(jù)第二隨機因子r2生成數(shù)據(jù)映射表m2。映射表m1是由混前數(shù)據(jù)區(qū)a(n)(映射前數(shù)據(jù)區(qū))和混后數(shù)據(jù)區(qū)a’(n)(映射后數(shù)據(jù)區(qū))組成,以每個地址存放1k數(shù)據(jù)為準,n的長度代表了密文極限值。
映射表m1可以稱為是一級映射表,映射表m2可以稱為是二級映射表。整個存儲區(qū)按照存儲器特性進行分區(qū),一般來說每16字節(jié)劃分為一個區(qū)(sector),n個sector組成整個存儲區(qū)。映射表m1是虛擬區(qū)到物理區(qū)的映射。m2表是1個sector內虛擬bit到物理bit的映射。映射表基于隨機數(shù)生成。當然,可以將上述所劃分的區(qū)設定為相應的地址,即一個區(qū)對應一個地址。
以下將參考圖4詳細描述本發(fā)明的標簽數(shù)據(jù)加密流程。
如圖4所示,在步驟41處,隨機生成保護密鑰k1,以標簽id為基礎因子生成第一隨機因子r1和第二隨機因子r2,然后根據(jù)r1生成映射表m1并根據(jù)r2生成映射表m2;
在步驟42處,按照16字節(jié)將標簽數(shù)據(jù)劃分為多個數(shù)據(jù)區(qū)d1、d1至dn;
在步驟43處,利用保護密鑰對各個數(shù)據(jù)區(qū)d1、d1至dn的數(shù)據(jù)進行加密,獲得e1=k1(d1),e2=k1(d2),en=k1(dn),并獲得加密后的總數(shù)據(jù)e=e1+e2+……+en;
在步驟44處,判斷是否所有數(shù)據(jù)區(qū)的數(shù)據(jù)加密成功,如果成功則轉至步驟45;
在步驟45處,根據(jù)映射表m2對e1至en進行映射,在該實施方式中,每個數(shù)據(jù)區(qū)為16字節(jié),128位,按照映射表m2將這128位數(shù)據(jù)進行混淆,獲得映射后的數(shù)據(jù)e1'、e2'……en',如果映射成功,則轉至步驟46處;
在步驟46處,根據(jù)映射表m1對e1'、e2'……en'進行映射,將各數(shù)據(jù)區(qū)進行混淆;
在步驟47處,將最終獲得的數(shù)據(jù)寫入物理層,完成標簽數(shù)據(jù)加密。
如此,標簽數(shù)據(jù)經過加密,然后經過私有映射表進行兩次映射,因而暴力破解成功的可能性會降的非常低。另外,應該注意的是,如果標簽數(shù)據(jù)的長度不是預定長度的整數(shù)倍,在加密過程中,可以將其補齊,并約定所補充的數(shù)據(jù)為無效數(shù)據(jù),以便解密后可以將所補充的數(shù)據(jù)丟棄。
相應地,與上述標簽數(shù)據(jù)加密方法相對應,本發(fā)明還提供一種標簽數(shù)據(jù)解密方法,圖5是根據(jù)本發(fā)明提供的標簽數(shù)據(jù)解密方法的流程圖。如圖5所示,在步驟50處,按照預定長度將數(shù)據(jù)劃分為至少一個數(shù)據(jù)區(qū);在步驟51處,根據(jù)用于加密的映射表對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射;以及在步驟52處,通過保護密鑰k1對經過逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行解密。
以下將參考圖6通過具體實施方式來詳細描述本發(fā)明,但是應該注意的是本發(fā)明并不限制于此。
圖6是根據(jù)本發(fā)明一種實施方式提供的標簽數(shù)據(jù)解密方法的流程圖。
如圖6所示,在步驟61處,將讀取的標簽數(shù)據(jù)按照16字節(jié)劃分為多個數(shù)據(jù)區(qū);
在步驟62處,獲取映射表m1、映射表m2、保護密鑰k1;
在步驟63處,根據(jù)用于加密的映射表m1對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射,例如按照用于加密的預定區(qū)映射對所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射;
在步驟64處,根據(jù)用于加密的映射表m2對根據(jù)所述映射表m1逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射,例如,按照用于加密的預定比特映射對 根據(jù)所述映射表m1逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行逆映射,如果所有數(shù)據(jù)區(qū)的數(shù)據(jù)逆映射成功,則轉至步驟65處;
在步驟65處,通過保護密鑰k1對經過逆映射的所述數(shù)據(jù)區(qū)的數(shù)據(jù)進行解密,在所有數(shù)據(jù)區(qū)的數(shù)據(jù)解密成功后,完成數(shù)據(jù)的還原。
為了更大限度保證數(shù)據(jù)的安全性,可以設置保護密鑰k1的有效期,臨近到期時會生成新的保護密鑰k2,同時提示更換保護密鑰,這時可以將使用保護密鑰k1加密的數(shù)據(jù)重新備份并更換保護密鑰。更換保護密鑰的周期可以根據(jù)數(shù)據(jù)的敏感性進行更改。
本發(fā)明提供的標簽數(shù)據(jù)加解密方法可以在使用普通處理器和存儲器搭建的標簽的情況下,使用私有算法對數(shù)據(jù)進行加解密,并在存儲方面使用多重映射的方法,對密文使用私有映射表表進行了打散和混淆,有效的降低了暴力攻擊的成功率。在標簽初始發(fā)行的時候,使用隨機因子,可以有效防止攻擊,使得標簽具有耦合性低、易用性好、安全性高的優(yōu)勢。
以上結合附圖詳細描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細節(jié),在本發(fā)明的技術構思范圍內,可以對本發(fā)明的技術方案進行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護范圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術特征,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重復,本發(fā)明對各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實施方式之間也可以進行任意組合,只要其不違背本發(fā)明的思想,其同樣應當視為本發(fā)明所公開的內容。