專利名稱:一種用于對信息進行加密的方法和裝置的制作方法
技術領域:
本發(fā)明涉及網絡技術,尤其是一種對信息進行加密的方法和裝置。
背景技術:
隨著人類進入信息化社會,信息無處不在。例如,各種形式的信息以不同方式存儲在各種存儲介質中或者在不同的媒介上傳輸。隨著而來的是,信息安全變得越來越重要。
對信息進行加密是提高信息安全的一種重要技術手段。所謂信息加密技術,是指利用數(shù)學或物理手段對電子信息在傳輸過程中和存儲體內進行保護以防止泄漏的技術。
黑客可以通過許多技術手段惡意攻擊并竊取存儲在存儲設備上的信息。在惡意攻擊手段中,存在一種稱為“拷貝攻擊”,是指通過將信息或數(shù)據(jù)從授權設備中拷貝到非授權設備中,從而該非授權設備獲得該信息或數(shù)據(jù)。為了應對拷貝攻擊,一般在其上的信息或數(shù)據(jù)以惟一密碼進行加密,只有授權的設備具有該惟一密碼,從而能夠對該信息或數(shù)據(jù)進行訪問和使用。而非授權設備不具有該惟一密碼,即使進行了拷貝,也無法訪問該信息或數(shù)據(jù)。
但是,如何為每個設備產生惟一的并具有一定的安全等級的密碼,是一個需要解決的問題。在存儲數(shù)據(jù)的設備數(shù)量不大的時候,這個問題似乎不太嚴重。但是可以理解,如果需要保護的設備成千上萬,甚至為幾十萬的量級,那么就很需要一種簡便易行的算法來實現(xiàn)上述目的。
因此,存在一種現(xiàn)實的需要,提供一種適合用于大規(guī)模產品的對存儲設備上的信息進行加密的技術方案。發(fā)明內容
根據(jù)本發(fā)明的一個方面,提供了一種用于對存儲在設備上的信息進行加密的方法,所述方法包括步驟讀取設備的ID號碼;將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列;將數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列;將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列; 和從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。
其中,所述擴展采用哈希算法。
其中,采用公鑰算法對數(shù)據(jù)陣列進行加密以生成另一個數(shù)據(jù)陣列。
其中,采用RSA算法對數(shù)據(jù)陣列進行加密以生成另一個數(shù)據(jù)陣列。
根據(jù)本發(fā)明的另一個方面,提供了一種用于對存儲在設備上的信息進行加密的裝置,包括讀取模塊,用于讀取設備的ID號碼;擴展模塊,用于將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列;映射模塊,用于數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列;加密模塊,用于將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列;和選擇模塊,用于從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。
其中,所述通信模 塊從所述商家預先接收位置數(shù)據(jù)和相關商業(yè)信息并存儲在存儲模塊中。
其中,定期輪詢所述至少一個移動終端以獲取其位置數(shù)據(jù)。
其中,所述擴展模塊是哈希算法器。
其中,所述加密模塊采用公鑰加密算法進行加密。
其中,所述加密模塊采用RSA加密算法進行加密。
圖1是本發(fā)明的對信息進行加密的方法的示意性流程圖;圖2示出了一個128字節(jié)的數(shù)據(jù)陣列A的實例;圖3示出了一個128字節(jié)的數(shù)據(jù)陣列B的實例;和圖4是本發(fā)明的用于對信息進行加密的裝置的結構框圖。
具體實施方式
下面對參考附圖對本發(fā)明的用于對信息進行加密的方法和裝置的優(yōu)選實施例進行詳細的描述,需要注意的是,下面的描述僅是示意性的,其中所涉及的內容并不構成對發(fā)明所涉及內容的限制,本領域技術人員在下面公開內容的基礎上還可以有許多不同的變化方式,這些都屬于本發(fā)明的保護范圍。
考慮到現(xiàn)有信息加密技術中存在的缺點和不足,本發(fā)明的實施方式提供了一種根據(jù)存儲設備ID號碼對存儲設備上的信息進行加密的方法和裝置。
圖1是本發(fā)明的對信息進行加密的方法的示意性流程圖。如圖1所示,根據(jù)本發(fā)明的對信息進行加密的方法包括下述步驟。
首先,獲取存儲敏感信息的設備的ID號碼。本領域普通技術人員可以理解,一般而言,一個設備具有一個惟一的ID號碼,通過現(xiàn)有技術手段可以很容易識別并獲取該ID號碼。
隨后,將該ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列。在此步驟中,可以采用本領域中常用的哈希(Hash)算法。哈希算法,即散列函數(shù),是一種單向密碼體制,是一個從明文到密文的不可逆的映射,只有加密過程,沒有解密過程。同時,哈希函數(shù)可以將任意長度的輸入經過變化以后得到固定長度的輸出。哈希函數(shù)的這種單向特征和輸出數(shù)據(jù)長度固定的特征使得它可以生成消息或者數(shù)據(jù)。
下面列出了幾種本領域常用的哈希算法及其輸出的擴展字節(jié)數(shù)SHA-1: 20字節(jié)輸出;SHA-224: 28字節(jié)輸出;SHA-256: 32字節(jié)輸出;SHA-384: 48字節(jié)輸出;SHA-512: 64字節(jié)輸出。
SHAl可以說是目前應用最廣泛的哈希算法,下面以SHA-1為例對ID號碼的擴展進行說明。
假設設備ID號碼為4字節(jié),例如0x20002cc3。通過哈希算法SHA-1,該ID號碼被擴展為 20 字節(jié)的數(shù)據(jù)序列“40 9c c4 85 56 36 19 Oa a3 40 29 3d ea 24 3c 85 ca84 71 bf”。
隨后,將上述得到的20字節(jié)的數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列A。例如,所述數(shù)據(jù)陣列A的大小可以根據(jù)需要進行選擇。例如,在本實施例中,將20字節(jié)的數(shù)據(jù)序列映射至128字節(jié)的數(shù)據(jù)陣列A。本領域普通技術人員可以理解,通過很多方法可以對20字節(jié)的數(shù)據(jù)序列中的部分或全部數(shù)據(jù)進行操作(例如復制和添加)以將其映射至一個128字節(jié)的數(shù)據(jù)陣列A。此處不再贅述。圖2示出了一個128字節(jié)的數(shù)據(jù)陣列的實例。
隨后,采用一個公鑰加密算法將數(shù)據(jù)陣列A加密為數(shù)據(jù)陣列B,可以理解,數(shù)據(jù)陣列A和B的大小是相同的,都為128字節(jié)。例如,可以采用RSA算法對數(shù)據(jù)陣列A加密以生成數(shù)據(jù)陣列B。圖3示出了一個128字節(jié)的數(shù)據(jù)陣列B的實例。RSA算法基于一個十分簡單的數(shù)論事實將兩個大素數(shù)相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標準。RSA密鑰可以嵌入在軟件或設備的ROM里,對RSA密鑰也可以進行加密。
最后,從數(shù)據(jù)陣列中選出一定長度的數(shù)據(jù)序列作為設備的密碼。數(shù)據(jù)序列的長度可以根據(jù)需要設備的需要確定,并且數(shù)據(jù)序列中數(shù)據(jù)的順序可以是隨機選取的。
圖4是本發(fā)明的用于對信息進行加密的裝置的結構框圖。
如圖4所示,裝置400包括讀取模塊401,用于讀取存儲了信息設備的ID號碼; 和擴展模塊402,用于將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列。如上所述,擴展模塊402可以是一個哈希算法器。
裝置400還包括映射 模塊403,用于數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列。
裝置400還包括加密模塊404,用于將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列。如上所述,可以采用公鑰加密算法進行加密。
裝置400還包括選擇模塊405,用于從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。設備只有采用該密碼才能夠訪問和使用所述信息。
綜上所述,根據(jù)本發(fā)明實施方式的用于對信息加密的方法和裝置利用設備的惟一 ID號碼產生信息密碼,從而提出一種適合用于大規(guī)模產品的對存儲設備上的信息進行加密的技術方案。
權利要求
1.一種用于對存儲在設備上的信息進行加密的方法,其特征在于,包括步驟讀取設備的ID號碼;將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列;將數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列;將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列;和從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。
2.如權利要求1所述的用于對存儲在設備上的信息進行加密的方法,其中所述擴展采用哈希算法。
3.如權利要求1所述的用于對存儲在設備上的信息進行加密的方法,其中采用公鑰算法對數(shù)據(jù)陣列進行加密以生成另一個數(shù)據(jù)陣列。
4.如權利要求3所述的用于對存儲在設備上的信息進行加密的方法,其中采用RSA算法對數(shù)據(jù)陣列進行加密以生成另一個數(shù)據(jù)陣列。
5.一種用于對存儲在設備上的信息進行加密的裝置(400),其特征在于,包括讀取模塊(401),用于讀取設備的ID號碼;擴展模塊(402),用于將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列;映射模塊(403),用于數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列;加密模塊(404),用于將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列;和選擇模塊(405),用于從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。
6.如權利要求5所述的裝置(400),其中,所述擴展模塊(402)是哈希算法器。
7.如權利要求5所述的裝置(400),其中,所述加密模塊(404 )采用公鑰加密算法進行加密。
8.如權利要求7所述的裝置(400),其中,所述加密模塊(404)采用RSA加密算法進行加密。
全文摘要
本發(fā)明提供了一種用于對存儲在設備上的信息進行加密的方法和裝置,所述方法包括步驟讀取設備的ID號碼;將設備的ID號碼擴展為具有更多字節(jié)的數(shù)據(jù)序列;將數(shù)據(jù)序列映射至一個更大的數(shù)據(jù)陣列;將所述數(shù)據(jù)陣列加密為另一個數(shù)據(jù)陣列;和從所述另一個數(shù)據(jù)陣列中以隨機順序選擇預定數(shù)據(jù)的數(shù)據(jù)序列作為所述設備上的信息的密碼。本發(fā)明適合用于大規(guī)模產品的對存儲設備上的信息進行加密的技術方案。
文檔編號H04L29/06GK103067163SQ20121057650
公開日2013年4月24日 申請日期2012年12月27日 優(yōu)先權日2012年12月27日
發(fā)明者宗競 申請人:江蘇樂買到網絡科技有限公司