TW201942784A - 資料加密、解密方法及裝置 - Google Patents
資料加密、解密方法及裝置 Download PDFInfo
- Publication number
- TW201942784A TW201942784A TW107141247A TW107141247A TW201942784A TW 201942784 A TW201942784 A TW 201942784A TW 107141247 A TW107141247 A TW 107141247A TW 107141247 A TW107141247 A TW 107141247A TW 201942784 A TW201942784 A TW 201942784A
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- data
- encrypted
- hardware
- root
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本發明實施例提供了一種資料加密、解密方法及裝置。所述資料加密方法包括:採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰,根據所述第一金鑰加密資料。本發明能夠減少駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高資料和硬體設備的安全性,還能夠確保無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高產生第一金鑰的可靠性。
Description
本發明有關電腦技術領域,特別是有關一種資料加密、解密方法及裝置。
隨著物聯網和電腦技術的發展,大量硬體安全能力較差且資源受限的硬體設備開始投入使用,譬如作為物聯網終端節點的各種硬體設備,這些硬體設備通常價格低廉、沒有或者難以設置安全保護,沒有硬體安全能力,因此該硬體設備中的資料很容易被駭客等獲取得到,安全性較差。
現有技術中,可以將金鑰寫入硬體設備的代碼中,從而能夠透過該金鑰對硬體設備中的資料進行加密。但將金鑰寫入硬體設備的代碼中的方式,難以做到一機(硬體設備)一密,即同一類或同一個硬體廠商的硬體設備中的金鑰是相同的,因此,當一個硬體設備中的金鑰被破解時,同一類或同一個硬體廠商的其它硬體設備的金鑰便都會洩露,從而難以保證資料安全,導致資料和硬體設備的安全性較低。
現有技術中,可以將金鑰寫入硬體設備的代碼中,從而能夠透過該金鑰對硬體設備中的資料進行加密。但將金鑰寫入硬體設備的代碼中的方式,難以做到一機(硬體設備)一密,即同一類或同一個硬體廠商的硬體設備中的金鑰是相同的,因此,當一個硬體設備中的金鑰被破解時,同一類或同一個硬體廠商的其它硬體設備的金鑰便都會洩露,從而難以保證資料安全,導致資料和硬體設備的安全性較低。
鑒於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的資料加密、解密方法及裝置。
本申請提供了一種資料加密方法,其特徵在於,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
可選地,所述根據所述第一金鑰加密資料包括:
隨機產生第二金鑰;
採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選地,所述方法還包括:
採用所述第一金鑰加密所述第二金鑰。
可選地,在所述採用所述第一金鑰加密所述第二金鑰之後,所述方法還包括:
將已加密的第二金鑰與已加密的待加密資料對應保存。
可選地,所述方法還包括:
產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述產生用於驗證待加密資料的完整性的校驗資料包括:
確定所述待加密資料的雜湊值。
可選地,在根據所述第一金鑰加密資料之前,所述方法還包括:
提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
在所述根據所述第一金鑰加密資料之後,所述方法還包括:
透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
本發明還提供了一種資料解密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
可選地,所述根據所述第一金鑰解密已加密資料包括:
產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
採用所述第二金鑰解密所述已加密資料。
可選地,所述方法還包括:
獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
採用所述校驗資料校驗解密結果的完整性。
可選地,所述校驗資料包括所述解密結果的第一雜湊值,所述採用所述校驗資料校驗解密結果的完整性包括:
產生所述解密結果的第二雜湊值;
比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
可選地,所述方法還包括:
透過第二介面輸出解密結果。
本申請還提供了一種資料加密方法,其特徵在於,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
可選地,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
本發明還提供了一種資料解密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
可選地,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
本發明還提供了一種資料加密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
可選地,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選地,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
可選地,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
本發明還提供了一種資料解密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
可選地,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
可選地,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
可選地,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
本發明還提供了一種資料加密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
本發明還提供了一種資料解密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
本發明還提供了一種電腦設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,所述處理器執行所述電腦程式時實現如前述的一個或多個的方法。
本發明還提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時實現如前述的一個或多個的方法。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
本申請提供了一種資料加密方法,其特徵在於,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
可選地,所述根據所述第一金鑰加密資料包括:
隨機產生第二金鑰;
採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選地,所述方法還包括:
採用所述第一金鑰加密所述第二金鑰。
可選地,在所述採用所述第一金鑰加密所述第二金鑰之後,所述方法還包括:
將已加密的第二金鑰與已加密的待加密資料對應保存。
可選地,所述方法還包括:
產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述產生用於驗證待加密資料的完整性的校驗資料包括:
確定所述待加密資料的雜湊值。
可選地,在根據所述第一金鑰加密資料之前,所述方法還包括:
提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
在所述根據所述第一金鑰加密資料之後,所述方法還包括:
透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
本發明還提供了一種資料解密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
可選地,所述根據所述第一金鑰解密已加密資料包括:
產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
採用所述第二金鑰解密所述已加密資料。
可選地,所述方法還包括:
獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
採用所述校驗資料校驗解密結果的完整性。
可選地,所述校驗資料包括所述解密結果的第一雜湊值,所述採用所述校驗資料校驗解密結果的完整性包括:
產生所述解密結果的第二雜湊值;
比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
可選地,所述方法還包括:
透過第二介面輸出解密結果。
本申請還提供了一種資料加密方法,其特徵在於,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
可選地,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
本發明還提供了一種資料解密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
可選地,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
本發明還提供了一種資料加密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
可選地,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選地,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
可選地,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
本發明還提供了一種資料解密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
可選地,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
可選地,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
可選地,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
本發明還提供了一種資料加密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
本發明還提供了一種資料解密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
本發明還提供了一種電腦設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,所述處理器執行所述電腦程式時實現如前述的一個或多個的方法。
本發明還提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時實現如前述的一個或多個的方法。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
下面將參照圖式更詳細地描述本發明示例性實施例。雖然圖式中顯示本發明示例性實施例,然而應當理解,可以以各種形式實現本發明而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本發明,並且能夠將本發明的範圍完整的傳達給本領域的技術人員。
為了便於本領域技術人員深入理解本發明實施例,以下將首先介紹本發明實施例中所涉及的專業術語的定義。
信任根程式,又稱信任根,指被硬體設備上運行的操作認為一直可信的功能集合,信任根單獨的為硬體設備提供可信任的加解密服務。該信任根程式可以包括硬體信任根程式和軟體信任根程式中的至少一種。其中,硬體信任根程式需要依賴相應的硬體,可以包括基於intel SGX (intel Software Guard Extensions,英特爾軟體防護擴展指令)或基於TEE(Trusted Execution Environment,可信執行環境)的硬體信任根程式,軟體信任根程式可以包括KM (key manager,金鑰管理模組)。當然,在實際應用中,信任根程式還可以包括其它的硬體信任根程式或軟體信任根程式,此處不再一一贅述。
第一金鑰由信任根程式根據硬體設備的設備唯一標識派生而成,從而與該硬體設備唯一對應,第一金鑰可以用於對該硬體設備中的資料進行加密。
其中,設備唯一標識用於唯一標識一個電子設備,譬如,該設備唯一標識可以包括IMEI(International Mobile Equipment Identity,國際移動設備識別碼)或MAC(Media Access Control,媒體存取控制)地址。
硬體設備可以各種物聯網終端或設備,譬如應用於氣象或環境監測的各種探測器、或者家庭中的智慧音箱等智慧家居設備,當然,也可以包括手機、智慧手錶、VR (Virtual Reality,虛擬實境)設備、平板電腦、電子書閱讀器、MP3(Moving Picture Experts Group Audio Layer III,動態影音壓縮標準音頻層面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,動態影音壓縮標準音頻層面4)播放器、膝上型可攜式電腦、車載電腦、桌上型電腦、機上盒、穿戴式設備等等。該硬體設備能夠與遠端伺服器進行互動,獲取客户端、外掛程式、資料加密或解密服務,且可以包括下圖10至14的任一裝置,實施圖1至9的任一方法,從而對資料進行加密或解密。
客户端可以包括至少一個應用程式。該客户端能夠運行在定位設備中,從而實現本發明實施例提供的資料加密或解密方法。
外掛程式可以包括在運行於定位設備的應用程式中,從而實現本發明實施例提供的資料加密或解密方法。
本發明實施例可以應用於物聯網設備等硬體設備中的資料加密或解密的情況,譬如邊緣閘道等。由於直接將金鑰寫在硬體設備的代碼中,會導致一個硬體設備中的金鑰被破解時,同一類或同一個硬體廠商的其它硬體設備的金鑰便都會洩露,從而難以保證資料安全,導致資料和硬體設備的安全性較低,因此,為確保一機一密,進而提高資料和硬體設備的安全性,本發明實施例提供了一種資料加密方法。在本發明實施例中,可以採用信任根程式產生與硬體設備唯一對應的第一金鑰,並根據第一金鑰對資料進行加密,由於不需要將金鑰直接寫在硬體設備的代碼中,一方面減少了駭客等獲取得到金鑰可能,另一方面即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,進而能夠透過安全的金鑰實現資料的安全儲存,能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,即不具備硬體安全能力,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。也就是,透過軟體信任根程式提供安全性較好的金鑰管理功能。
本發明實施例可以實現為客户端或外掛程式,硬體設備可以從遠端伺服器獲取並安裝該客户端或外掛程式,從而透過該客户端或外掛程式來實施本發明實施例所提供的資料加密或解密方法。當然,本發明實施例也可以以軟體的形式部署在遠端伺服器上,定位設備可以透過訪問該遠端伺服器從而獲取資料加密或解密服務。
實施例一
參照圖1,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟101,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
為了避免直接將金鑰寫入硬體設備中的代碼而難以實現的一機一密的問題以及進一步導致的資料和硬體設備的安全性較低的問題,可以不將金鑰寫入硬體代碼,而是採用信任根程式產生第一金鑰,且產生的金鑰能夠與硬體設備唯一對應,一方面減少了駭客等直接從代碼中獲取得到第一金鑰的可能,另一方面確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,從而能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,即不具備硬體安全能力,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。也就是,透過軟體信任根程式提供安全性較好的金鑰管理功能。
其中,軟體信任根程式可以包括KM。
可以獲取硬體設備的設備唯一標識,採用信任根程式,基於該設備唯一標識,派生得到第一金鑰。由於不同硬體設備到的設備唯一標識是不同的,因此,不同硬體設備所得到的第一金鑰也是不同的。
步驟102,根據所述第一金鑰加密資料。
由前述可知,第一金鑰是採用信任根程式產生且與硬體設備唯一對應的,能夠有效提高資料和硬體設備的安全性,因此可以根據第一金鑰對資料進行加密。
可以獲取硬體設備中的待加密資料,採用第一金鑰對該待加密資料進行加密,當然,在實際應用中,可以根據第一金鑰,採用更加複雜的加密方式,對待加密資料進行加密,譬如,為了進一步提高加密效果,增加對已加密資料進行破解的複雜程度,提高資料和硬體設備的安全性,可以產生更多的金鑰,採用包括第一金鑰在內的多個金鑰對待加密資料進行加密等等。
待加密資料可以包括硬體設備中對安全性要求較高的資料,譬如用戶密碼、用戶指紋特徵、用戶面部特徵、用戶虹膜特徵、硬體設備中應用程式的應用程式金鑰等中的至少一種資料,當然,在實際應用中,可以包括硬體設備中的其它資料,譬如用戶指定的資料。
已加密資料為根據第一金鑰對待加密資料進行加密之後的結果,該已加密資料能夠根據第一金鑰進行解密,從而再次得到待加密資料。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例二
參照圖2,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟201,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應地第一金鑰的方式,可以參見前述中的相關描述,此處不在一一贅述。
當然,在實際應用中,硬體設備中可以包括硬體信任根程式和軟體信任根程式中的至少一種。
另外,可以將產生的第一金鑰儲存在於信任根程式對應的儲存位置,譬如儲存在KM保護的儲存區域內。
步驟202,提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料。
由前述可知,硬體設備中可能包括硬體信任根程式和/或軟體信任根程式,甚至可能包括一個以上的硬體信任根程式,這可能導致具有多個針對硬體信任根程式的第一介面,進而導致硬體設備中的系統架構混亂,應用層中的應用程式需要進行複雜繁重的適配,不僅提高應用程式的開發成本,也可能會出現適配錯誤等問題,進而導致難以對資料加密或其它問題,降低了資料和硬體設備的安全性和可靠性。因此,可以為應用層中的應用程式提供統一的介面,即第二介面,接收待加密數,從而透過第二介面將信任根程式封裝在底層,使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性。
可以透過硬體或軟體的形式,提供面向應用層的第二介面,透過第二介面接收來自應用層的資料,並根據第一介面或軟體信任根程式,對接收到的資料進行轉換,使轉換後的資料符合第一介面或軟體信任根程式的資料類型或標準。
待加密資料為需要透過金鑰進行加密的資料,該待加密資料可以包括來源與任一應用程式的任意資料。
步驟203,隨機產生第二金鑰,採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
為了有效地提高資料被破解的複雜程度,進一步減少資料被破解的可能,可以在第一金鑰的基礎上,再產生第二金鑰,透過第二金鑰對待加密資料進行加密,並透過第一金鑰加密第二金鑰,也就是,透過分層金鑰管理,來提高資料和硬體設備的安全性。由於多個金鑰均被破解的可能性,比一個金鑰被破解的可能小,當然也就提高了資料和硬體設備的安全性。另外,由於第二金鑰是隨機產生的,因此,可以確保對各待加密資料所採用的金鑰均不同,即使硬體設備中某個加密的資料被破解,其它加密的資料依然是安全的,從而進一步提高了資料和硬體設備的安全性。
其中,可以透過前述中的信任根程式,透過金鑰產生演算法來產生第二金鑰。
分層金鑰管理,指透過不同的方式產生多個金鑰,各金鑰分別進行儲存和管理,透過多個金鑰對資料進行加密,或者,透過其中一部分金鑰對資料進行加密,並透過其中的其它金鑰對加密資料的金鑰進行加密,有效提高加密的複雜程度,使駭客等難以獲取到所有金鑰,進而也就難以對破解被加密的資訊,進而提高被加密的資訊的安全性。
當然,在實際應用中,還可以更多的金鑰,採用相似的方式,透過該多個金鑰對待加密資料進行加密,從而進一步提高資料和硬體設備的安全性。
步驟204,採用所述第一金鑰加密所述第二金鑰。
為了減少第二金鑰被破解的可能,進而減少加密的資料被加密的可能,提高資料和硬體設備安全性,可以用第一金鑰對第二金鑰進行加密。
其中,對於採用第一金鑰加密的第二金鑰,可以進行保存。
在本發明實施例中,可選地,為了卻確保後續該資料的合法用戶能夠正常獲取第二金鑰以對加密的待加密資料進行解密,提高資料加密的可靠性,可以將已加密的第二金鑰與已加密的待加密資料對應保存。
可以將加密的第二金鑰與加密的待加密資料儲存在同一儲存位置,或者,將加密的第二金鑰和加密的待加密資料分別儲存至不同的儲存位置,並儲存加密的第二金鑰所在的儲存位置與加密的待加密資料所在的儲存位置之間的對應關係。當然,在實際應用中,可以透過其它方式,將加密的第二金鑰與加密的待加密資料進行對應保存。
另外,在本發明實施例的另一可選實施例中,為了提高對資料進行加密的效率,也可以不再產生第二金鑰,而是直接採用第一金鑰對待加密資料進行加密,即第一金鑰即為用於對待加密資料進行加密的金鑰。或者,在本發明的另一可選實施例中,還可以在透過第一金鑰加密待加密資料的基礎上,透過第二金鑰對第一金鑰進行加密,並將已加密的第一金鑰與已加密的待加密資料對應保存。
其中,採用第一金鑰對待加密資料進行加密的方式,可以與採用第二金鑰對待加密資料進行加密的方式相同,此處不在一一贅述。
步驟205,產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
為了便於後續對加密的待加密資料進行解密後,驗證所得到的待加密資料是否完整,以進一步提高資料和硬體設備的安全性,可以產生待加密資料的校驗資料,並將校驗資料與已加密的待加密資料進行對應保存。
檢驗資料為用於對待加密資料進行驗證,包括完整性驗證。
其中,用於完整性驗證的校驗資料可以包括雜湊值。
雜湊值為根據檔資料(譬如待加密資料)進行運算得到的二進位值,用於對該檔資料進行完整性驗證。
在本發明實施例中,可選地,為了確保後續能夠透過待加密資料的雜湊值,對待加密資料進行完整性驗證,從而提高資料和硬體設備的安全性,可以確定所述待加密資料的雜湊值。
當然,在實際為應用中,為了確保後續能夠對待加密資料進行驗證,校驗資訊也可以包括其它資訊,譬如用於完整性驗證的校驗資訊還可以包括待加密資料的屬性資訊,相應地,可以確定待加密資料的屬性資訊,將確定的屬性資訊作為該校驗資料。
其中,屬性資訊為說明待加密資料所具有屬性的資訊,譬如,該屬性資訊可以包括待加密資料的大小和資料類型中的至少一個。
待加密資料的大小,用於說明待加密資料所包括的資料量的多少。
待加密資料的類型用於說明待加密資料的格式或類別。
另外,將校驗資料與已加密的待加密資料對應保存的方式,可以與將已加密的第二金鑰與已加密的待加密資料對應保存的方式相同,此處不再一一贅述。
另外,在實際應用中,為了提高加密效率,也可以不產生待加密資料的校驗資料,即步驟205為可選的步驟。
步驟206,透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
為了便於應用程式對加密的待加密資料進行儲存或者其它操作,可以向作為資料來源的應用程式輸出加密結果,且為了使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一介面,即第二介面,向資料來源輸出加密結果。
資料來源為待加密資料的來源,可以包括前述中的應用程式。
加密結果為對待加密資料進行加密並輸出的結果,可以包括加密的待加密資料,當然,在實際應用中,若加密的待加密資料採用第二金鑰進行加密,且第二金鑰採用第一金鑰進行加密,加密結果還可以包括經第一金鑰加密的第二金鑰;若前述中還產生了待加密資料的校驗資料,則該加密結果中還可以包括該校驗資料。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
另外,能夠提供統一的第二介面,並透過第二介面接收加密資料或輸出加密結果,確保了使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔,也降低了應用程式的開發成本,也減少了應用程式對硬體信任根程式的第一介面適配錯誤而導致的難以對資料加密的問題,提高了對資料進行加密的可靠性,進而也提高了資料和硬體設備的安全性和可靠性。
另外,能夠隨機產生第二金鑰,採用第二金鑰對待加密資料進行加密,並採用第一金鑰對第二金鑰進行加密,由於多個金鑰均被破解的可能性較小,且隨機產生的第二金鑰也能夠確保能夠針對各待加密資料均使用不同的金鑰進行加密,因此有效地提高了資料被破解的複雜程度,從而進一步提高了資料和硬體設備的安全性。
實施例三
參照圖3,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟301,採用信任根程式產生與硬體設備唯一對應的第一金鑰。
為了減少直接從代碼中獲取金鑰的可能,減少一個硬體設備的金鑰別破解,其它與該硬體設備同一類或屬於同一個硬體廠商的硬體設備的金鑰均被破解的問題,實現一機一密,有效提高資料和硬體設備的安全性,可以採用信任根程式,產生與硬體設備唯一對應的金鑰。
其中,採用信任根程式產生與硬體設備唯一對應地第一金鑰的方式,可以參見前述中的相關描述,此處不在一一贅述。
在本發明實施例中,可選的,硬體設備具有專用的硬體信任根程式,為了提高產生第一金鑰的可靠性,確保能夠實現一機一密,進而提高資料和硬體設備的安全性,可以訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
其中,硬體信任根程式可以包括TEE。
在本發明實施例中,可選的,為了確保能夠訪問硬體信任根程式,提高產生金鑰以及後續對待加密資料進行加密的可靠性,可以透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
例如,若硬體信任根程式為intel SGX,則第一介面可以包括linux SGX驅動程式中的介面;若硬體新信任根程式為TEE,則第一介面可以包括GP Client API,其中,GP Client API為與TEE適配的介面名稱。
當然,在實際應用中,硬體設備可以包括硬體信任根程式和軟體信任根程式中的至少一種,從而確保無論硬體設備是否具備硬體安全能力,均能夠產生第一金鑰,確保產生第一金鑰的可靠性。
步驟302,根據所述第一金鑰加密資料。
其中,根據第一金鑰加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
其次,對於具有硬體安全能力的硬體設備,能夠訪問該硬體設備內置的硬體信任根程式,產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例四
參照圖4,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟401,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
為了避免直接將金鑰寫入硬體設備中的代碼而難以實現的一機一密的問題以及進一步導致的資料和硬體設備的安全性較低的問題,可以不將金鑰寫入硬體代碼,而是採用信任根程式產生第一金鑰,且產生的金鑰能夠與硬體設備唯一對應,一方面減少了駭客等直接從代碼中獲取得到第一金鑰的可能,另一方面確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,從而能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟402,根據所述第一金鑰解密已加密資料。
為了確保已加密資料的合法用戶能夠正常得到被加密的資料,可以根據第一金鑰對已加密資料進行解密。
其中,已加密資料即可以為前述中加密的待加密資料。
可以根據前述中根據第一金鑰對資料進行加密的方式,根據第一金鑰對已加密資料進行解密,譬如,若採用第一金鑰對該待加密資料進行加密,則可以採用第一金鑰對已加密資料進行解密;若採用包括第一金鑰在內的多個金鑰對待加密資料進行加密,則可以產生該多個金鑰中除第一金鑰之外的其它金鑰,採用包括第一金鑰在內的該多個金鑰,對已加密資料進行解密。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例五
參照圖5,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟501,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟502,透過第二介面獲取已加密資料。
為了硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一的介面,即第二介面,獲取各資料來源的已加密資料。
當然,在實際應用中,還可以透過第二介面獲取與已加密資料對應保存的加密的第二金鑰和/或校驗資料。
其中,第二加密金鑰可以為針對被加密的資料隨機產生的金鑰。
若第二金鑰和/或校驗資料,與已加密資料在同一儲存位置,則可以從該儲存位置獲取第二金鑰和/或校驗資料;若第二金鑰和/或校驗資料的儲存位置,與已加密資料的儲存位置之間存在對應關係,則可以根據已加密資料的儲存位置,確定第二金鑰和/或校驗資料的儲存位置,進而獲取得到第二金鑰和/或校驗資料。
另外,在本發明實施例的另一可選實施例中,也可以不在步驟中獲取第二金鑰和/或校驗資料,而是在後續需要使用第二金鑰和/或校驗資料時,再獲取第二金鑰和/或校驗資料。
步驟503,根據所述第一金鑰解密已加密資料。
其中,根據第一金鑰解密已加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,可選地,由前述可知,由於多個金鑰均被破解的可能性,比一個金鑰被破解的可能小,所以為了提高資料和硬體設備的安全性,可以產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存,採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰,採用所述第二金鑰解密所述已加密資料。也即是,透過分層金鑰管理,來提高資料和硬體設備的安全性。
其中,產生第一金鑰的方式、以及獲取第二金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟504,獲取校驗資料,所述校驗資料與所述已加密資料對應保存,採用所述校驗資料校驗解密結果的完整性。
為了便於已加密資料進行解密後,驗證所得到的解密結果是否完整,以進一步提高資料和硬體設備的安全性,可以獲取校驗資料,以對該解密結果進行校驗。
解密結果為對已加密資料進行解密的結果,該解密結果即可以為前述中的待加密資料。
可以根據解密結果產生校驗資料,將產生的校驗資料與獲取到的校驗資料進行比較,若一致,則確定解密結果具有完整性,否則確定解密結果不具有完整性。
在本發明實施例中,可選地,為了確保解密結果與加密前的待加密資料一致,即確保對解密結果的完整性進行驗證,進一步提高資料和硬體設備的安全性,所述校驗資料包括所述解密結果的第一雜湊值,相應的,可以產生所述解密結果的第二雜湊值,比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。若第二雜湊值與第一雜湊值不一致,則確認解密結果不具有完整性。
其中,第一雜湊值即為前述中對待加密資料進行加密的過程中所確定的該待加密資料的雜湊值;第二雜湊值即為根據解密資料產生的雜湊值。若待加密資料與解密結果一致,即解密結果具有完整性,則第一雜湊值與第二雜湊值也應當一致。
可以獲取包括第一雜湊值的校驗資料,產生解密結果的第二雜湊值,將第一雜湊值與第二雜湊值進行比較,以確定第一雜湊值與第二雜湊值是否一致。
其中,獲取校驗資料的方式可以參見前述中的相關描述,此處不再一一贅述。
另外,在本發明實施的另一可選實施例中,為了確保解密結果與加密前的待加密資料一致,即確保對解密結果的完整性進行驗證,進一步提高資料和硬體設備的安全性,校驗資料中包括待加密資料的第一屬性資訊,相應的,還可以獲取解密結果的第二屬性資訊,將第一屬性資訊與第二屬性資訊進行比較,若一致,則確定解密結果具有完整性,否則確定解密結果不具有完整性。
其中,第一屬性資訊為根據待加密資料產生的屬性資訊,第二屬性資訊為根據解密結果產生的屬性資訊,若待加密資料與解密結果一致,即解密結果具有完整性,則第一屬性資訊與第二屬性資訊也應當一致。
另外,在實際應用中,為了提高解密效率,也可以不對解密結果進行完整性驗證,即步驟504為可選的步驟。
步驟505,透過第二介面輸出解密結果。
為了便於應用程式對加密的待加密資料進行儲存或者其它操作,可以向作為資料來源的應用程式輸出加密結果,且為了使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一介面,即第二介面,輸出解密結果。
其中,可以透過第二介面,向已加密資料的資料來源輸出解密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
其次,能夠透過硬體信任根程式或軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
另外,能夠提供統一的第二介面,並透過第二介面獲取已加密資料或輸出解密結果,確保了使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔,也降低了應用程式的開發成本,也減少了應用程式對硬體信任根程式的第一介面適配錯誤而導致的難以對資料解密的問題,提高了對資料進行解密的可靠性,進而也提高了資料和硬體設備的安全性和可靠性。
另外,能夠採用第一金鑰對已加密的第二金鑰進行解密,並採用第二金鑰對已加密資料進行解密,由於多個金鑰均被破解的可能性較小,因此有效地提高了資料被破解的複雜程度,從而進一步提高了資料和硬體設備的安全性。
實施例六
參照圖6,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟601,採用信任根程式產生與硬體設備唯一對應的第一金鑰。
為了減少直接從代碼中獲取金鑰的可能,減少一個硬體設備的金鑰別破解,其它與該硬體設備同一類或屬於同一個硬體廠商的硬體設備的金鑰均被破解的問題,實現一機一密,有效提高資料和硬體設備的安全性,可以採用信任根程式,產生與硬體設備唯一對應的金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,可選的,硬體設備具有專用的硬體信任根程式,為了提高產生第一金鑰的可靠性,確保能夠實現一機一密,進而提高資料和硬體設備的安全性,訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
在本發明實施例中,可選的,為了確保能夠訪問硬體信任根程式,提高產生金鑰以及後續對加密的待加密資料進行解密的可靠性,可以透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
步驟602,根據所述第一金鑰解密已加密資料。
其中,根據第一金鑰解密已加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
其次,對於具有硬體安全能力的硬體設備,能夠訪問該硬體設備內置的硬體信任根程式,產生第一金鑰,提高了產生第一金鑰的可靠性。
本領域的技術人員應可理解,上述實施例中的方法步驟並非每一個都必不可少,在具體狀況下,可以省略其中的一個或多個步驟,只要能夠實現對資料進行加密或解密的技術目的。本發明並不限定的實施例中步驟的數量及其順序,本發明的保護範圍當以申請專利範圍的限定為準。
為了便於本領域技術人員更好地理解本發明,以下透過一個具體的示例對本發明實施例的一種資料處理、加密和解密方法進行說明,具體包括如下步驟:
參照圖7,顯示本發明實施例的一種資料處理方法流程圖。具體步驟包括:
步驟701,硬體信任根程式或軟體信任根程式產生根金鑰。
其中,根金鑰可以包括前述中第一金鑰。
若硬體設備中設置有硬體信任根程式所依賴的硬體(即具有硬體安全能力)時,可以透過硬體信任根產生根金鑰;若硬體設備中未設置有硬體信任根程式所依賴的硬體時,可以透過軟體信任根產生根金鑰。
步驟702,透過硬體信任根程式或軟體信任根程式保存用於安全儲存的根金鑰。
步驟703,透過硬體信任根程式或軟體信任根程式,使用根金鑰對檔金鑰進行加密。
其中,檔金鑰為對前述中的待加密資料進行加密的金鑰,譬如,可以包括前述中的第二金鑰。
步驟704,透過檔金鑰加密待加密資料,並儲存透過根金鑰加密後的檔金鑰。
由上述可知,根金鑰不直接用於對待加密資料進行加密,而是用於對待加密資料進行加密的檔金鑰進行加密,相應地,根金鑰也不直接用於對已加密資料進行解密,而是用於對已加密資料進行解密的檔金鑰進行解密,可以確保針對不同的硬體設備以及不同的資料,均能夠提供不同的金鑰進行加密或解密,減少了資料被破解的可能,提高了資料和硬體設備的安全性。
步驟705,透過統一的介面,向應用層提供安全儲存功能。
可以透過統一的介面接收應用程式提交的待加密資料(譬如應用程式的敏感性資料),並向該應用程度輸出加密結果;或者,接收應用程式提交的已加密資料,並向該應用程式輸出解密結果。
其中,統一的介面可以包括前述中的第二介面。
參照圖8,顯示本發明一個實施例的一種資料加密方法的流程圖。具體步驟包括:
步驟801,信任根程式產生第一金鑰,並將第一金鑰保存在信任根程式對應的儲存位置;
步驟802,信任根程式透過第一金鑰加密第二金鑰;
步驟803,透過第二金鑰對待加密資料進行加密;
步驟804,產生待加密資料的雜湊值;
步驟805,將被加密的待加密資料、待加密資料的雜湊值和經第一金鑰加密的第二金鑰組合成一個檔進行儲存。
參照圖9,顯示本發明一個實施例的一種資料解密方法的流程圖。具體步驟包括:
步驟901,信任根程式讀取已加密資料;
步驟902,信任根程式透過第一金鑰解密第二金鑰;
步驟903,透過第二金鑰解密已加密資料;
步驟904,產生解密結果的雜湊值;
步驟905,確定所產生的雜湊值與原先保存的待加密資料的雜湊值一致;
步驟906,輸出解密結果。
實施例七
參照圖10,顯示根據本發明一個實施例的一種資料加密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1001,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組1002,用於根據所述第一金鑰加密資料。
可選的,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選的,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
可選地,所述裝置還包括:
第二金鑰儲存模組,用於將已加密的第二金鑰與已加密的待加密資料對應保存。
可選地,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述校驗資料產生模組包括:
雜湊值確定子模組,用於確定所述待加密資料的雜湊值。
可選地,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例八
參照圖11,顯示根據本發明一個實施例的一種資料加密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1101,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組1102,用於根據所述第一金鑰加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述第一金鑰產生子模組還用於:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
在本發明實施例中,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
實施例九
參照圖12,顯示根據本發明一個實施例的一種資料解密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1201,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組1202,用於根據所述第一金鑰解密已加密資料。
可選地,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
可選地,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
可選地,所述校驗資料包括所述解密結果的第一雜湊值,所述完整性驗證模組包括:
第二雜湊值產生子模組,用於產生所述解密結果的第二雜湊值;
完整性驗證確認子模組,用於比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
可選地,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例十
參照圖13,顯示根據本發明一個實施例的一種資料解密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1301,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組1302,用於根據所述第一金鑰解密已加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述第一金鑰產生子模組還用於:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
在本發明實施例中,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本發明實施例可被實現為使用任意適當的硬體,韌體,軟體,或及其任意組合進行想要的配置的系統。圖14示意性地顯示可被用於實現本發明中所述的各個實施例的示例性系統(或裝置)1400。
對於一個實施例,圖14顯示示例性系統1400,該系統具有一個或多個處理器1402、被耦合到(一個或多個)處理器1402中的至少一個的系統控制模組(晶片組)1404、被耦合到系統控制模組1404的系統記憶體1406、被耦合到系統控制模組1404的非易失性記憶體(NVM)/儲存設備1408、被耦合到系統控制模組1404的一個或多個輸入/輸出設備1410,以及被耦合到系統控制模組1406的網路介面1412。
處理器1402可包括一個或多個單核或多核處理器,處理器1402可包括通用處理器或專用處理器(例如圖形處理器、應用處理器、基頻處理器等)的任意組合。在一些實施例中,系統1400能夠作為本發明實施例中所述的硬體設備。
在一些實施例中,系統1400可包括具有指令的一個或多個電腦可讀媒體(例如,系統記憶體1406或NVM/儲存設備1408)以及與該一個或多個電腦可讀媒體相合併被配置為執行指令以實現模組從而執行本發明中所述的動作的一個或多個處理器1402。
對於一個實施例,系統控制模組1404可包括任意適當的介面控制器,以向(一個或多個)處理器1402中的至少一個和/或與系統控制模組1404通信的任意適當的設備或元件提供任意適當的介面。
系統控制模組1404可包括記憶體控制器模組,以向系統記憶體1406提供介面。記憶體控制器模組可以是硬體模組、軟體模組和/或韌體模組。
系統記憶體1406可被用於例如為系統1400載入和儲存資料和/或指令。對於一個實施例,系統記憶體1406可包括任意適當的易失性記憶體,例如,適當的DRAM。在一些實施例中,系統記憶體1406可包括雙倍數據速率類型四同步動態隨機存取記憶體(DDR4SDRAM)。
對於一個實施例,系統控制模組1404可包括一個或多個輸入/輸出控制器,以向NVM/儲存設備1408及(一個或多個)輸入/輸出設備1410提供介面。
例如,NVM/儲存設備1408可被用於儲存資料和/或指令。NVM/儲存設備1408可包括任意適當的非易失性記憶體(例如,快閃記憶體)和/或可包括任意適當的(一個或多個)非易失性儲存設備(例如,一個或多個硬碟驅動器(HDD)、一個或多個光碟(CD)驅動器和/或一個或多個數位多用途光碟(DVD)驅動器)。
NVM/儲存設備1408可包括在物理上作為系統1400被安裝在其上的設備的一部分的儲存資源,或者其可被該設備訪問而不必作為該設備的一部分。例如,NVM/儲存設備1408可透過網路經由(一個或多個)輸入/輸出設備1410進行訪問。
(一個或多個)輸入/輸出設備1410可為系統1400提供介面以與任意其他適當的設備通信,輸入/輸出設備1410可以包括通信元件、音訊元件、感測器元件等。網路介面1412可為系統1400提供介面以透過一個或多個網路通信,系統1400可根據一個或多個無線網路標準和/或協議中的任意標準和/或協定來與無線網路的一個或多個元件進行無線通訊,例如接入基於通信標準的無線網路,如WiFi,2G或3G,或它們的組合進行無線通訊。
對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器(例如,記憶體控制器模組)的邏輯封裝在一起。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯封裝在一起以形成系統級封裝(SiP)。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯整合在同一晶片上。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯整合在同一晶片上以形成系統單晶片(SoC)。
在各個實施例中,系統1400可以但不限於是:工作站、桌上型電腦設備或行動電腦裝置(例如,膝上型電腦設備、手持電腦設備、平板電腦、小筆電等)。在各個實施例中,系統1400可具有更多或更少的元件和/或不同的架構。例如,在一些實施例中,系統1400包括一個或多個攝像機、鍵盤、液晶顯示器(LCD)螢幕(包括觸控螢幕顯示器)、非易失性記憶體埠、多個天線、繪圖晶片、特定應用積體電路(ASIC)和揚聲器。
其中,如果顯示器包括觸摸面板,顯示幕可以被實現為觸控螢幕顯示器,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸感測器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸感測器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續時間和壓力。
本發明實施例還提供了一種非易失性可讀儲存媒體,該儲存媒體中儲存有一個或多個程式(programs),該一個或多個程式被應用在終端設備時,可以使得該終端設備執行本發明實施例中各方法步驟的指令(instructions)。
在一個示例中提供了一種裝置,包括:一個或多個處理器;和,其上儲存的有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行如本發明實施例中硬體設備執行的方法。
在一個示例中還提供了一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得裝置執行如本發明實施例中硬體設備執行的方法。
本發明實施例揭示了一種資料加密、解密方法和裝置。
示例1、一種資料加密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
示例2可包括示例1所述的方法,所述根據所述第一金鑰加密資料包括:
隨機產生第二金鑰;
採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
示例3可包括示例2所述的方法,所述方法還包括:
採用所述第一金鑰加密所述第二金鑰。
示例4可包括示例3所述的方法,在所述採用所述第一金鑰加密所述第二金鑰之後,所述方法還包括:
將已加密的第二金鑰與已加密的待加密資料對應保存。
示例5可包括示例1所述的方法,所述方法還包括:
產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
示例6可包括示例5所述的方法,所述產生用於驗證待加密資料的完整性的校驗資料包括:
確定所述待加密資料的雜湊值。
示例7可包括示例1所述的方法,在根據所述第一金鑰加密資料之前,所述方法還包括:
提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
在所述根據所述第一金鑰加密資料之後,所述方法還包括:
透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
示例8、一種資料解密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
示例9可包括示例8所述的方法,所述根據所述第一金鑰解密已加密資料包括:
產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
採用所述第二金鑰解密所述已加密資料。
示例10可包括示例8所述的方法,所述方法還包括:
獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
採用所述校驗資料校驗解密結果的完整性。
示例11可包括示例10所述的方法,所述校驗資料包括所述解密結果的第一雜湊值,所述採用所述校驗資料校驗解密結果的完整性包括:
產生所述解密結果的第二雜湊值;
比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
示例12可包括示例8所述的方法,所述方法還包括:
透過第二介面輸出解密結果。
示例13、一種資料加密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
示例14可包括示例13所述的方法,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例15可包括示例14所述的方法,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
示例16、一種資料解密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
示例17可包括示例16所述的方法,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例18可包括示例17所述的方法,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
示例19、一種資料加密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
示例20可包括示例19所述的裝置,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
示例21可包括示例20所述的裝置,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
示例22可包括示例19所述的裝置,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
示例23可包括示例19所述的裝置,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
示例24、一種資料解密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
示例25可包括示例24所述的裝置,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
示例26可包括示例24所述的裝置,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
示例27可包括示例24所述的裝置,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
示例28、一種資料加密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
示例29可包括示例28所述的裝置,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例30、一種資料解密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
示例31可包括示例30所述的裝置,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例32、一種裝置,包括:一個或多個處理器;和其上儲存的有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行如示例1至示例18的一個或多個的方法。
示例33、一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得裝置執行如示例1至示例18的一個或多個的方法。
雖然某些實施例是以說明和描述為目的的,各種各樣的替代、和/或、等效的實施方案、或計算來達到同樣的目的實施例示出和描述的實現,不脫離本發明的實施範圍。本發明旨在覆蓋本文討論的實施例的任何修改或變化。因此,顯然本文描述的實施例僅由申請專利範圍和它們的等同物來限定。
為了便於本領域技術人員深入理解本發明實施例,以下將首先介紹本發明實施例中所涉及的專業術語的定義。
信任根程式,又稱信任根,指被硬體設備上運行的操作認為一直可信的功能集合,信任根單獨的為硬體設備提供可信任的加解密服務。該信任根程式可以包括硬體信任根程式和軟體信任根程式中的至少一種。其中,硬體信任根程式需要依賴相應的硬體,可以包括基於intel SGX (intel Software Guard Extensions,英特爾軟體防護擴展指令)或基於TEE(Trusted Execution Environment,可信執行環境)的硬體信任根程式,軟體信任根程式可以包括KM (key manager,金鑰管理模組)。當然,在實際應用中,信任根程式還可以包括其它的硬體信任根程式或軟體信任根程式,此處不再一一贅述。
第一金鑰由信任根程式根據硬體設備的設備唯一標識派生而成,從而與該硬體設備唯一對應,第一金鑰可以用於對該硬體設備中的資料進行加密。
其中,設備唯一標識用於唯一標識一個電子設備,譬如,該設備唯一標識可以包括IMEI(International Mobile Equipment Identity,國際移動設備識別碼)或MAC(Media Access Control,媒體存取控制)地址。
硬體設備可以各種物聯網終端或設備,譬如應用於氣象或環境監測的各種探測器、或者家庭中的智慧音箱等智慧家居設備,當然,也可以包括手機、智慧手錶、VR (Virtual Reality,虛擬實境)設備、平板電腦、電子書閱讀器、MP3(Moving Picture Experts Group Audio Layer III,動態影音壓縮標準音頻層面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,動態影音壓縮標準音頻層面4)播放器、膝上型可攜式電腦、車載電腦、桌上型電腦、機上盒、穿戴式設備等等。該硬體設備能夠與遠端伺服器進行互動,獲取客户端、外掛程式、資料加密或解密服務,且可以包括下圖10至14的任一裝置,實施圖1至9的任一方法,從而對資料進行加密或解密。
客户端可以包括至少一個應用程式。該客户端能夠運行在定位設備中,從而實現本發明實施例提供的資料加密或解密方法。
外掛程式可以包括在運行於定位設備的應用程式中,從而實現本發明實施例提供的資料加密或解密方法。
本發明實施例可以應用於物聯網設備等硬體設備中的資料加密或解密的情況,譬如邊緣閘道等。由於直接將金鑰寫在硬體設備的代碼中,會導致一個硬體設備中的金鑰被破解時,同一類或同一個硬體廠商的其它硬體設備的金鑰便都會洩露,從而難以保證資料安全,導致資料和硬體設備的安全性較低,因此,為確保一機一密,進而提高資料和硬體設備的安全性,本發明實施例提供了一種資料加密方法。在本發明實施例中,可以採用信任根程式產生與硬體設備唯一對應的第一金鑰,並根據第一金鑰對資料進行加密,由於不需要將金鑰直接寫在硬體設備的代碼中,一方面減少了駭客等獲取得到金鑰可能,另一方面即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,進而能夠透過安全的金鑰實現資料的安全儲存,能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,即不具備硬體安全能力,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。也就是,透過軟體信任根程式提供安全性較好的金鑰管理功能。
本發明實施例可以實現為客户端或外掛程式,硬體設備可以從遠端伺服器獲取並安裝該客户端或外掛程式,從而透過該客户端或外掛程式來實施本發明實施例所提供的資料加密或解密方法。當然,本發明實施例也可以以軟體的形式部署在遠端伺服器上,定位設備可以透過訪問該遠端伺服器從而獲取資料加密或解密服務。
實施例一
參照圖1,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟101,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
為了避免直接將金鑰寫入硬體設備中的代碼而難以實現的一機一密的問題以及進一步導致的資料和硬體設備的安全性較低的問題,可以不將金鑰寫入硬體代碼,而是採用信任根程式產生第一金鑰,且產生的金鑰能夠與硬體設備唯一對應,一方面減少了駭客等直接從代碼中獲取得到第一金鑰的可能,另一方面確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,從而能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,即不具備硬體安全能力,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。也就是,透過軟體信任根程式提供安全性較好的金鑰管理功能。
其中,軟體信任根程式可以包括KM。
可以獲取硬體設備的設備唯一標識,採用信任根程式,基於該設備唯一標識,派生得到第一金鑰。由於不同硬體設備到的設備唯一標識是不同的,因此,不同硬體設備所得到的第一金鑰也是不同的。
步驟102,根據所述第一金鑰加密資料。
由前述可知,第一金鑰是採用信任根程式產生且與硬體設備唯一對應的,能夠有效提高資料和硬體設備的安全性,因此可以根據第一金鑰對資料進行加密。
可以獲取硬體設備中的待加密資料,採用第一金鑰對該待加密資料進行加密,當然,在實際應用中,可以根據第一金鑰,採用更加複雜的加密方式,對待加密資料進行加密,譬如,為了進一步提高加密效果,增加對已加密資料進行破解的複雜程度,提高資料和硬體設備的安全性,可以產生更多的金鑰,採用包括第一金鑰在內的多個金鑰對待加密資料進行加密等等。
待加密資料可以包括硬體設備中對安全性要求較高的資料,譬如用戶密碼、用戶指紋特徵、用戶面部特徵、用戶虹膜特徵、硬體設備中應用程式的應用程式金鑰等中的至少一種資料,當然,在實際應用中,可以包括硬體設備中的其它資料,譬如用戶指定的資料。
已加密資料為根據第一金鑰對待加密資料進行加密之後的結果,該已加密資料能夠根據第一金鑰進行解密,從而再次得到待加密資料。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例二
參照圖2,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟201,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應地第一金鑰的方式,可以參見前述中的相關描述,此處不在一一贅述。
當然,在實際應用中,硬體設備中可以包括硬體信任根程式和軟體信任根程式中的至少一種。
另外,可以將產生的第一金鑰儲存在於信任根程式對應的儲存位置,譬如儲存在KM保護的儲存區域內。
步驟202,提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料。
由前述可知,硬體設備中可能包括硬體信任根程式和/或軟體信任根程式,甚至可能包括一個以上的硬體信任根程式,這可能導致具有多個針對硬體信任根程式的第一介面,進而導致硬體設備中的系統架構混亂,應用層中的應用程式需要進行複雜繁重的適配,不僅提高應用程式的開發成本,也可能會出現適配錯誤等問題,進而導致難以對資料加密或其它問題,降低了資料和硬體設備的安全性和可靠性。因此,可以為應用層中的應用程式提供統一的介面,即第二介面,接收待加密數,從而透過第二介面將信任根程式封裝在底層,使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性。
可以透過硬體或軟體的形式,提供面向應用層的第二介面,透過第二介面接收來自應用層的資料,並根據第一介面或軟體信任根程式,對接收到的資料進行轉換,使轉換後的資料符合第一介面或軟體信任根程式的資料類型或標準。
待加密資料為需要透過金鑰進行加密的資料,該待加密資料可以包括來源與任一應用程式的任意資料。
步驟203,隨機產生第二金鑰,採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
為了有效地提高資料被破解的複雜程度,進一步減少資料被破解的可能,可以在第一金鑰的基礎上,再產生第二金鑰,透過第二金鑰對待加密資料進行加密,並透過第一金鑰加密第二金鑰,也就是,透過分層金鑰管理,來提高資料和硬體設備的安全性。由於多個金鑰均被破解的可能性,比一個金鑰被破解的可能小,當然也就提高了資料和硬體設備的安全性。另外,由於第二金鑰是隨機產生的,因此,可以確保對各待加密資料所採用的金鑰均不同,即使硬體設備中某個加密的資料被破解,其它加密的資料依然是安全的,從而進一步提高了資料和硬體設備的安全性。
其中,可以透過前述中的信任根程式,透過金鑰產生演算法來產生第二金鑰。
分層金鑰管理,指透過不同的方式產生多個金鑰,各金鑰分別進行儲存和管理,透過多個金鑰對資料進行加密,或者,透過其中一部分金鑰對資料進行加密,並透過其中的其它金鑰對加密資料的金鑰進行加密,有效提高加密的複雜程度,使駭客等難以獲取到所有金鑰,進而也就難以對破解被加密的資訊,進而提高被加密的資訊的安全性。
當然,在實際應用中,還可以更多的金鑰,採用相似的方式,透過該多個金鑰對待加密資料進行加密,從而進一步提高資料和硬體設備的安全性。
步驟204,採用所述第一金鑰加密所述第二金鑰。
為了減少第二金鑰被破解的可能,進而減少加密的資料被加密的可能,提高資料和硬體設備安全性,可以用第一金鑰對第二金鑰進行加密。
其中,對於採用第一金鑰加密的第二金鑰,可以進行保存。
在本發明實施例中,可選地,為了卻確保後續該資料的合法用戶能夠正常獲取第二金鑰以對加密的待加密資料進行解密,提高資料加密的可靠性,可以將已加密的第二金鑰與已加密的待加密資料對應保存。
可以將加密的第二金鑰與加密的待加密資料儲存在同一儲存位置,或者,將加密的第二金鑰和加密的待加密資料分別儲存至不同的儲存位置,並儲存加密的第二金鑰所在的儲存位置與加密的待加密資料所在的儲存位置之間的對應關係。當然,在實際應用中,可以透過其它方式,將加密的第二金鑰與加密的待加密資料進行對應保存。
另外,在本發明實施例的另一可選實施例中,為了提高對資料進行加密的效率,也可以不再產生第二金鑰,而是直接採用第一金鑰對待加密資料進行加密,即第一金鑰即為用於對待加密資料進行加密的金鑰。或者,在本發明的另一可選實施例中,還可以在透過第一金鑰加密待加密資料的基礎上,透過第二金鑰對第一金鑰進行加密,並將已加密的第一金鑰與已加密的待加密資料對應保存。
其中,採用第一金鑰對待加密資料進行加密的方式,可以與採用第二金鑰對待加密資料進行加密的方式相同,此處不在一一贅述。
步驟205,產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
為了便於後續對加密的待加密資料進行解密後,驗證所得到的待加密資料是否完整,以進一步提高資料和硬體設備的安全性,可以產生待加密資料的校驗資料,並將校驗資料與已加密的待加密資料進行對應保存。
檢驗資料為用於對待加密資料進行驗證,包括完整性驗證。
其中,用於完整性驗證的校驗資料可以包括雜湊值。
雜湊值為根據檔資料(譬如待加密資料)進行運算得到的二進位值,用於對該檔資料進行完整性驗證。
在本發明實施例中,可選地,為了確保後續能夠透過待加密資料的雜湊值,對待加密資料進行完整性驗證,從而提高資料和硬體設備的安全性,可以確定所述待加密資料的雜湊值。
當然,在實際為應用中,為了確保後續能夠對待加密資料進行驗證,校驗資訊也可以包括其它資訊,譬如用於完整性驗證的校驗資訊還可以包括待加密資料的屬性資訊,相應地,可以確定待加密資料的屬性資訊,將確定的屬性資訊作為該校驗資料。
其中,屬性資訊為說明待加密資料所具有屬性的資訊,譬如,該屬性資訊可以包括待加密資料的大小和資料類型中的至少一個。
待加密資料的大小,用於說明待加密資料所包括的資料量的多少。
待加密資料的類型用於說明待加密資料的格式或類別。
另外,將校驗資料與已加密的待加密資料對應保存的方式,可以與將已加密的第二金鑰與已加密的待加密資料對應保存的方式相同,此處不再一一贅述。
另外,在實際應用中,為了提高加密效率,也可以不產生待加密資料的校驗資料,即步驟205為可選的步驟。
步驟206,透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
為了便於應用程式對加密的待加密資料進行儲存或者其它操作,可以向作為資料來源的應用程式輸出加密結果,且為了使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一介面,即第二介面,向資料來源輸出加密結果。
資料來源為待加密資料的來源,可以包括前述中的應用程式。
加密結果為對待加密資料進行加密並輸出的結果,可以包括加密的待加密資料,當然,在實際應用中,若加密的待加密資料採用第二金鑰進行加密,且第二金鑰採用第一金鑰進行加密,加密結果還可以包括經第一金鑰加密的第二金鑰;若前述中還產生了待加密資料的校驗資料,則該加密結果中還可以包括該校驗資料。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
另外,能夠提供統一的第二介面,並透過第二介面接收加密資料或輸出加密結果,確保了使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔,也降低了應用程式的開發成本,也減少了應用程式對硬體信任根程式的第一介面適配錯誤而導致的難以對資料加密的問題,提高了對資料進行加密的可靠性,進而也提高了資料和硬體設備的安全性和可靠性。
另外,能夠隨機產生第二金鑰,採用第二金鑰對待加密資料進行加密,並採用第一金鑰對第二金鑰進行加密,由於多個金鑰均被破解的可能性較小,且隨機產生的第二金鑰也能夠確保能夠針對各待加密資料均使用不同的金鑰進行加密,因此有效地提高了資料被破解的複雜程度,從而進一步提高了資料和硬體設備的安全性。
實施例三
參照圖3,顯示根據本發明一個實施例的一種資料加密方法流程圖,具體步驟包括:
步驟301,採用信任根程式產生與硬體設備唯一對應的第一金鑰。
為了減少直接從代碼中獲取金鑰的可能,減少一個硬體設備的金鑰別破解,其它與該硬體設備同一類或屬於同一個硬體廠商的硬體設備的金鑰均被破解的問題,實現一機一密,有效提高資料和硬體設備的安全性,可以採用信任根程式,產生與硬體設備唯一對應的金鑰。
其中,採用信任根程式產生與硬體設備唯一對應地第一金鑰的方式,可以參見前述中的相關描述,此處不在一一贅述。
在本發明實施例中,可選的,硬體設備具有專用的硬體信任根程式,為了提高產生第一金鑰的可靠性,確保能夠實現一機一密,進而提高資料和硬體設備的安全性,可以訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
其中,硬體信任根程式可以包括TEE。
在本發明實施例中,可選的,為了確保能夠訪問硬體信任根程式,提高產生金鑰以及後續對待加密資料進行加密的可靠性,可以透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
例如,若硬體信任根程式為intel SGX,則第一介面可以包括linux SGX驅動程式中的介面;若硬體新信任根程式為TEE,則第一介面可以包括GP Client API,其中,GP Client API為與TEE適配的介面名稱。
當然,在實際應用中,硬體設備可以包括硬體信任根程式和軟體信任根程式中的至少一種,從而確保無論硬體設備是否具備硬體安全能力,均能夠產生第一金鑰,確保產生第一金鑰的可靠性。
步驟302,根據所述第一金鑰加密資料。
其中,根據第一金鑰加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
其次,對於具有硬體安全能力的硬體設備,能夠訪問該硬體設備內置的硬體信任根程式,產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例四
參照圖4,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟401,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
為了避免直接將金鑰寫入硬體設備中的代碼而難以實現的一機一密的問題以及進一步導致的資料和硬體設備的安全性較低的問題,可以不將金鑰寫入硬體代碼,而是採用信任根程式產生第一金鑰,且產生的金鑰能夠與硬體設備唯一對應,一方面減少了駭客等直接從代碼中獲取得到第一金鑰的可能,另一方面確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,從而能夠有效地提高資料和硬體設備的安全性。另外,由於某些硬體設備中可能並不具有硬體信任根程式所依賴的硬體,因此,為了確保無論有無硬體安全能力的硬體設備均能夠產生第一金鑰,提高第一金鑰的可靠性,進而確保資料和硬體設備的安全性,同時降低成本,可以調用軟體信任根程式,產生第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟402,根據所述第一金鑰解密已加密資料。
為了確保已加密資料的合法用戶能夠正常得到被加密的資料,可以根據第一金鑰對已加密資料進行解密。
其中,已加密資料即可以為前述中加密的待加密資料。
可以根據前述中根據第一金鑰對資料進行加密的方式,根據第一金鑰對已加密資料進行解密,譬如,若採用第一金鑰對該待加密資料進行加密,則可以採用第一金鑰對已加密資料進行解密;若採用包括第一金鑰在內的多個金鑰對待加密資料進行加密,則可以產生該多個金鑰中除第一金鑰之外的其它金鑰,採用包括第一金鑰在內的該多個金鑰,對已加密資料進行解密。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例五
參照圖5,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟501,採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟502,透過第二介面獲取已加密資料。
為了硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一的介面,即第二介面,獲取各資料來源的已加密資料。
當然,在實際應用中,還可以透過第二介面獲取與已加密資料對應保存的加密的第二金鑰和/或校驗資料。
其中,第二加密金鑰可以為針對被加密的資料隨機產生的金鑰。
若第二金鑰和/或校驗資料,與已加密資料在同一儲存位置,則可以從該儲存位置獲取第二金鑰和/或校驗資料;若第二金鑰和/或校驗資料的儲存位置,與已加密資料的儲存位置之間存在對應關係,則可以根據已加密資料的儲存位置,確定第二金鑰和/或校驗資料的儲存位置,進而獲取得到第二金鑰和/或校驗資料。
另外,在本發明實施例的另一可選實施例中,也可以不在步驟中獲取第二金鑰和/或校驗資料,而是在後續需要使用第二金鑰和/或校驗資料時,再獲取第二金鑰和/或校驗資料。
步驟503,根據所述第一金鑰解密已加密資料。
其中,根據第一金鑰解密已加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,可選地,由前述可知,由於多個金鑰均被破解的可能性,比一個金鑰被破解的可能小,所以為了提高資料和硬體設備的安全性,可以產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存,採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰,採用所述第二金鑰解密所述已加密資料。也即是,透過分層金鑰管理,來提高資料和硬體設備的安全性。
其中,產生第一金鑰的方式、以及獲取第二金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
步驟504,獲取校驗資料,所述校驗資料與所述已加密資料對應保存,採用所述校驗資料校驗解密結果的完整性。
為了便於已加密資料進行解密後,驗證所得到的解密結果是否完整,以進一步提高資料和硬體設備的安全性,可以獲取校驗資料,以對該解密結果進行校驗。
解密結果為對已加密資料進行解密的結果,該解密結果即可以為前述中的待加密資料。
可以根據解密結果產生校驗資料,將產生的校驗資料與獲取到的校驗資料進行比較,若一致,則確定解密結果具有完整性,否則確定解密結果不具有完整性。
在本發明實施例中,可選地,為了確保解密結果與加密前的待加密資料一致,即確保對解密結果的完整性進行驗證,進一步提高資料和硬體設備的安全性,所述校驗資料包括所述解密結果的第一雜湊值,相應的,可以產生所述解密結果的第二雜湊值,比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。若第二雜湊值與第一雜湊值不一致,則確認解密結果不具有完整性。
其中,第一雜湊值即為前述中對待加密資料進行加密的過程中所確定的該待加密資料的雜湊值;第二雜湊值即為根據解密資料產生的雜湊值。若待加密資料與解密結果一致,即解密結果具有完整性,則第一雜湊值與第二雜湊值也應當一致。
可以獲取包括第一雜湊值的校驗資料,產生解密結果的第二雜湊值,將第一雜湊值與第二雜湊值進行比較,以確定第一雜湊值與第二雜湊值是否一致。
其中,獲取校驗資料的方式可以參見前述中的相關描述,此處不再一一贅述。
另外,在本發明實施的另一可選實施例中,為了確保解密結果與加密前的待加密資料一致,即確保對解密結果的完整性進行驗證,進一步提高資料和硬體設備的安全性,校驗資料中包括待加密資料的第一屬性資訊,相應的,還可以獲取解密結果的第二屬性資訊,將第一屬性資訊與第二屬性資訊進行比較,若一致,則確定解密結果具有完整性,否則確定解密結果不具有完整性。
其中,第一屬性資訊為根據待加密資料產生的屬性資訊,第二屬性資訊為根據解密結果產生的屬性資訊,若待加密資料與解密結果一致,即解密結果具有完整性,則第一屬性資訊與第二屬性資訊也應當一致。
另外,在實際應用中,為了提高解密效率,也可以不對解密結果進行完整性驗證,即步驟504為可選的步驟。
步驟505,透過第二介面輸出解密結果。
為了便於應用程式對加密的待加密資料進行儲存或者其它操作,可以向作為資料來源的應用程式輸出加密結果,且為了使硬體設備中的系統架構更加簡潔、降低應用程式的開發成本、提高應用程式和硬體設備的安全性和可靠性,可以透過統一介面,即第二介面,輸出解密結果。
其中,可以透過第二介面,向已加密資料的資料來源輸出解密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
其次,能夠透過硬體信任根程式或軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
另外,能夠提供統一的第二介面,並透過第二介面獲取已加密資料或輸出解密結果,確保了使各應用程式能夠透過統一的介面使用信任根程式的各項功能,進而使硬體設備中的系統架構更加簡潔,也降低了應用程式的開發成本,也減少了應用程式對硬體信任根程式的第一介面適配錯誤而導致的難以對資料解密的問題,提高了對資料進行解密的可靠性,進而也提高了資料和硬體設備的安全性和可靠性。
另外,能夠採用第一金鑰對已加密的第二金鑰進行解密,並採用第二金鑰對已加密資料進行解密,由於多個金鑰均被破解的可能性較小,因此有效地提高了資料被破解的複雜程度,從而進一步提高了資料和硬體設備的安全性。
實施例六
參照圖6,顯示根據本發明一個實施例的一種資料解密方法流程圖,具體步驟包括:
步驟601,採用信任根程式產生與硬體設備唯一對應的第一金鑰。
為了減少直接從代碼中獲取金鑰的可能,減少一個硬體設備的金鑰別破解,其它與該硬體設備同一類或屬於同一個硬體廠商的硬體設備的金鑰均被破解的問題,實現一機一密,有效提高資料和硬體設備的安全性,可以採用信任根程式,產生與硬體設備唯一對應的金鑰。
其中,採用信任根程式產生與硬體設備唯一對應的第一金鑰的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,可選的,硬體設備具有專用的硬體信任根程式,為了提高產生第一金鑰的可靠性,確保能夠實現一機一密,進而提高資料和硬體設備的安全性,訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
在本發明實施例中,可選的,為了確保能夠訪問硬體信任根程式,提高產生金鑰以及後續對加密的待加密資料進行解密的可靠性,可以透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
步驟602,根據所述第一金鑰解密已加密資料。
其中,根據第一金鑰解密已加密資料的方式,可以參見前述中的相關描述,此處不再一一贅述。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
其次,對於具有硬體安全能力的硬體設備,能夠訪問該硬體設備內置的硬體信任根程式,產生第一金鑰,提高了產生第一金鑰的可靠性。
本領域的技術人員應可理解,上述實施例中的方法步驟並非每一個都必不可少,在具體狀況下,可以省略其中的一個或多個步驟,只要能夠實現對資料進行加密或解密的技術目的。本發明並不限定的實施例中步驟的數量及其順序,本發明的保護範圍當以申請專利範圍的限定為準。
為了便於本領域技術人員更好地理解本發明,以下透過一個具體的示例對本發明實施例的一種資料處理、加密和解密方法進行說明,具體包括如下步驟:
參照圖7,顯示本發明實施例的一種資料處理方法流程圖。具體步驟包括:
步驟701,硬體信任根程式或軟體信任根程式產生根金鑰。
其中,根金鑰可以包括前述中第一金鑰。
若硬體設備中設置有硬體信任根程式所依賴的硬體(即具有硬體安全能力)時,可以透過硬體信任根產生根金鑰;若硬體設備中未設置有硬體信任根程式所依賴的硬體時,可以透過軟體信任根產生根金鑰。
步驟702,透過硬體信任根程式或軟體信任根程式保存用於安全儲存的根金鑰。
步驟703,透過硬體信任根程式或軟體信任根程式,使用根金鑰對檔金鑰進行加密。
其中,檔金鑰為對前述中的待加密資料進行加密的金鑰,譬如,可以包括前述中的第二金鑰。
步驟704,透過檔金鑰加密待加密資料,並儲存透過根金鑰加密後的檔金鑰。
由上述可知,根金鑰不直接用於對待加密資料進行加密,而是用於對待加密資料進行加密的檔金鑰進行加密,相應地,根金鑰也不直接用於對已加密資料進行解密,而是用於對已加密資料進行解密的檔金鑰進行解密,可以確保針對不同的硬體設備以及不同的資料,均能夠提供不同的金鑰進行加密或解密,減少了資料被破解的可能,提高了資料和硬體設備的安全性。
步驟705,透過統一的介面,向應用層提供安全儲存功能。
可以透過統一的介面接收應用程式提交的待加密資料(譬如應用程式的敏感性資料),並向該應用程度輸出加密結果;或者,接收應用程式提交的已加密資料,並向該應用程式輸出解密結果。
其中,統一的介面可以包括前述中的第二介面。
參照圖8,顯示本發明一個實施例的一種資料加密方法的流程圖。具體步驟包括:
步驟801,信任根程式產生第一金鑰,並將第一金鑰保存在信任根程式對應的儲存位置;
步驟802,信任根程式透過第一金鑰加密第二金鑰;
步驟803,透過第二金鑰對待加密資料進行加密;
步驟804,產生待加密資料的雜湊值;
步驟805,將被加密的待加密資料、待加密資料的雜湊值和經第一金鑰加密的第二金鑰組合成一個檔進行儲存。
參照圖9,顯示本發明一個實施例的一種資料解密方法的流程圖。具體步驟包括:
步驟901,信任根程式讀取已加密資料;
步驟902,信任根程式透過第一金鑰解密第二金鑰;
步驟903,透過第二金鑰解密已加密資料;
步驟904,產生解密結果的雜湊值;
步驟905,確定所產生的雜湊值與原先保存的待加密資料的雜湊值一致;
步驟906,輸出解密結果。
實施例七
參照圖10,顯示根據本發明一個實施例的一種資料加密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1001,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組1002,用於根據所述第一金鑰加密資料。
可選的,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
可選的,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
可選地,所述裝置還包括:
第二金鑰儲存模組,用於將已加密的第二金鑰與已加密的待加密資料對應保存。
可選地,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
可選地,所述校驗資料產生模組包括:
雜湊值確定子模組,用於確定所述待加密資料的雜湊值。
可選地,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例八
參照圖11,顯示根據本發明一個實施例的一種資料加密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1101,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組1102,用於根據所述第一金鑰加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述第一金鑰產生子模組還用於:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
在本發明實施例中,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行加密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
實施例九
參照圖12,顯示根據本發明一個實施例的一種資料解密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1201,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組1202,用於根據所述第一金鑰解密已加密資料。
可選地,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
可選地,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
可選地,所述校驗資料包括所述解密結果的第一雜湊值,所述完整性驗證模組包括:
第二雜湊值產生子模組,用於產生所述解密結果的第二雜湊值;
完整性驗證確認子模組,用於比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
可選地,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
在本發明實施例中,首先,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一個硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。其次,能夠透過軟體信任根程式產生第一金鑰,確保了無論硬體設備是否具有硬體安全能力,都能夠產生第一金鑰,提高了產生第一金鑰的可靠性。
實施例十
參照圖13,顯示根據本發明一個實施例的一種資料解密裝置的結構方塊圖,該裝置包括:
第一金鑰產生模組1301,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組1302,用於根據所述第一金鑰解密已加密資料。
可選地,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
可選地,所述硬體設備具有專用的硬體信任根程式,所述第一金鑰產生子模組還用於:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
在本發明實施例中,能夠採用信任根程式產生與硬體設備唯一對應的第一金鑰,進而根據第一金鑰對資料進行解密,減少了駭客等直接從代碼中獲取得到第一金鑰的可能,同時也確保了即使某個硬體設備的金鑰被破解,與該硬體設備同一類或屬於同一硬體廠商的硬體設備中的金鑰依然是安全的,有效地提高了資料和硬體設備的安全性。
對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本發明實施例可被實現為使用任意適當的硬體,韌體,軟體,或及其任意組合進行想要的配置的系統。圖14示意性地顯示可被用於實現本發明中所述的各個實施例的示例性系統(或裝置)1400。
對於一個實施例,圖14顯示示例性系統1400,該系統具有一個或多個處理器1402、被耦合到(一個或多個)處理器1402中的至少一個的系統控制模組(晶片組)1404、被耦合到系統控制模組1404的系統記憶體1406、被耦合到系統控制模組1404的非易失性記憶體(NVM)/儲存設備1408、被耦合到系統控制模組1404的一個或多個輸入/輸出設備1410,以及被耦合到系統控制模組1406的網路介面1412。
處理器1402可包括一個或多個單核或多核處理器,處理器1402可包括通用處理器或專用處理器(例如圖形處理器、應用處理器、基頻處理器等)的任意組合。在一些實施例中,系統1400能夠作為本發明實施例中所述的硬體設備。
在一些實施例中,系統1400可包括具有指令的一個或多個電腦可讀媒體(例如,系統記憶體1406或NVM/儲存設備1408)以及與該一個或多個電腦可讀媒體相合併被配置為執行指令以實現模組從而執行本發明中所述的動作的一個或多個處理器1402。
對於一個實施例,系統控制模組1404可包括任意適當的介面控制器,以向(一個或多個)處理器1402中的至少一個和/或與系統控制模組1404通信的任意適當的設備或元件提供任意適當的介面。
系統控制模組1404可包括記憶體控制器模組,以向系統記憶體1406提供介面。記憶體控制器模組可以是硬體模組、軟體模組和/或韌體模組。
系統記憶體1406可被用於例如為系統1400載入和儲存資料和/或指令。對於一個實施例,系統記憶體1406可包括任意適當的易失性記憶體,例如,適當的DRAM。在一些實施例中,系統記憶體1406可包括雙倍數據速率類型四同步動態隨機存取記憶體(DDR4SDRAM)。
對於一個實施例,系統控制模組1404可包括一個或多個輸入/輸出控制器,以向NVM/儲存設備1408及(一個或多個)輸入/輸出設備1410提供介面。
例如,NVM/儲存設備1408可被用於儲存資料和/或指令。NVM/儲存設備1408可包括任意適當的非易失性記憶體(例如,快閃記憶體)和/或可包括任意適當的(一個或多個)非易失性儲存設備(例如,一個或多個硬碟驅動器(HDD)、一個或多個光碟(CD)驅動器和/或一個或多個數位多用途光碟(DVD)驅動器)。
NVM/儲存設備1408可包括在物理上作為系統1400被安裝在其上的設備的一部分的儲存資源,或者其可被該設備訪問而不必作為該設備的一部分。例如,NVM/儲存設備1408可透過網路經由(一個或多個)輸入/輸出設備1410進行訪問。
(一個或多個)輸入/輸出設備1410可為系統1400提供介面以與任意其他適當的設備通信,輸入/輸出設備1410可以包括通信元件、音訊元件、感測器元件等。網路介面1412可為系統1400提供介面以透過一個或多個網路通信,系統1400可根據一個或多個無線網路標準和/或協議中的任意標準和/或協定來與無線網路的一個或多個元件進行無線通訊,例如接入基於通信標準的無線網路,如WiFi,2G或3G,或它們的組合進行無線通訊。
對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器(例如,記憶體控制器模組)的邏輯封裝在一起。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯封裝在一起以形成系統級封裝(SiP)。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯整合在同一晶片上。對於一個實施例,(一個或多個)處理器1402中的至少一個可與系統控制模組1404的一個或多個控制器的邏輯整合在同一晶片上以形成系統單晶片(SoC)。
在各個實施例中,系統1400可以但不限於是:工作站、桌上型電腦設備或行動電腦裝置(例如,膝上型電腦設備、手持電腦設備、平板電腦、小筆電等)。在各個實施例中,系統1400可具有更多或更少的元件和/或不同的架構。例如,在一些實施例中,系統1400包括一個或多個攝像機、鍵盤、液晶顯示器(LCD)螢幕(包括觸控螢幕顯示器)、非易失性記憶體埠、多個天線、繪圖晶片、特定應用積體電路(ASIC)和揚聲器。
其中,如果顯示器包括觸摸面板,顯示幕可以被實現為觸控螢幕顯示器,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸感測器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸感測器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續時間和壓力。
本發明實施例還提供了一種非易失性可讀儲存媒體,該儲存媒體中儲存有一個或多個程式(programs),該一個或多個程式被應用在終端設備時,可以使得該終端設備執行本發明實施例中各方法步驟的指令(instructions)。
在一個示例中提供了一種裝置,包括:一個或多個處理器;和,其上儲存的有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行如本發明實施例中硬體設備執行的方法。
在一個示例中還提供了一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得裝置執行如本發明實施例中硬體設備執行的方法。
本發明實施例揭示了一種資料加密、解密方法和裝置。
示例1、一種資料加密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
示例2可包括示例1所述的方法,所述根據所述第一金鑰加密資料包括:
隨機產生第二金鑰;
採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
示例3可包括示例2所述的方法,所述方法還包括:
採用所述第一金鑰加密所述第二金鑰。
示例4可包括示例3所述的方法,在所述採用所述第一金鑰加密所述第二金鑰之後,所述方法還包括:
將已加密的第二金鑰與已加密的待加密資料對應保存。
示例5可包括示例1所述的方法,所述方法還包括:
產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
示例6可包括示例5所述的方法,所述產生用於驗證待加密資料的完整性的校驗資料包括:
確定所述待加密資料的雜湊值。
示例7可包括示例1所述的方法,在根據所述第一金鑰加密資料之前,所述方法還包括:
提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
在所述根據所述第一金鑰加密資料之後,所述方法還包括:
透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
示例8、一種資料解密方法,包括:
採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
示例9可包括示例8所述的方法,所述根據所述第一金鑰解密已加密資料包括:
產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
採用所述第二金鑰解密所述已加密資料。
示例10可包括示例8所述的方法,所述方法還包括:
獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
採用所述校驗資料校驗解密結果的完整性。
示例11可包括示例10所述的方法,所述校驗資料包括所述解密結果的第一雜湊值,所述採用所述校驗資料校驗解密結果的完整性包括:
產生所述解密結果的第二雜湊值;
比對所述第二雜湊值與所述第一雜湊值一致,則確認所述解密結果具有完整性。
示例12可包括示例8所述的方法,所述方法還包括:
透過第二介面輸出解密結果。
示例13、一種資料加密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰加密資料。
示例14可包括示例13所述的方法,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例15可包括示例14所述的方法,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
示例16、一種資料解密方法,包括:
採用信任根程式產生與硬體設備唯一對應的第一金鑰;
根據所述第一金鑰解密已加密資料。
示例17可包括示例16所述的方法,所述採用信任根程式產生與硬體設備唯一對應的第一金鑰包括:
訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例18可包括示例17所述的方法,所述硬體設備具有專用的硬體信任根程式,所述訪問所述硬體設備內置的硬體信任根程式包括:
透過第一介面訪問所述硬體信任根程式,所述第一介面的介面類別型與所述硬體信任根程式的程式類型適配。
示例19、一種資料加密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
示例20可包括示例19所述的裝置,所述資料加密模組包括:
金鑰隨機產生子模組,用於隨機產生第二金鑰;
資料加密子模組,用於採用所述第二金鑰加密待加密資料,所述第一金鑰用於加密所述第二金鑰。
示例21可包括示例20所述的裝置,所述裝置還包括:
第二金鑰加密模組,用於採用所述第一金鑰加密所述第二金鑰。
示例22可包括示例19所述的裝置,所述裝置還包括:
校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,所述校驗資料與已加密的待加密資料對應保存。
示例23可包括示例19所述的裝置,所述裝置還包括:
待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過所述第二介面接收所述待加密資料;
加密結果輸出模組,用於透過所述第二介面向所述待加密資料的資料來源輸出加密結果。
示例24、一種資料解密裝置,包括:
第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
示例25可包括示例24所述的裝置,所述資料解密模組包括:
金鑰獲取子模組,用於產生所述第一金鑰,以及,獲取已加密的第二金鑰,所述已加密的第二金鑰與所述已加密資料對應保存;
第二金鑰解密子模組,用於採用所述第一金鑰解密所述已加密的第二金鑰,獲得第二金鑰;
資料解密子模組,用於採用所述第二金鑰解密所述已加密資料。
示例26可包括示例24所述的裝置,所述裝置還包括:
校驗資料獲取模組,用於獲取校驗資料,所述校驗資料與所述已加密資料對應保存;
完整性驗證模組,用於採用所述校驗資料校驗解密結果的完整性。
示例27可包括示例24所述的裝置,所述裝置還包括:
解密結果輸出模組,用於透過第二介面輸出解密結果。
示例28、一種資料加密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料加密模組,用於根據所述第一金鑰加密資料。
示例29可包括示例28所述的裝置,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例30、一種資料解密裝置,包括:
第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;
資料解密模組,用於根據所述第一金鑰解密已加密資料。
示例31可包括示例30所述的裝置,所述第一金鑰產生模組包括:
第一金鑰產生子模組,用於訪問所述硬體設備內置的硬體信任根程式,產生所述第一金鑰。
示例32、一種裝置,包括:一個或多個處理器;和其上儲存的有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行如示例1至示例18的一個或多個的方法。
示例33、一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得裝置執行如示例1至示例18的一個或多個的方法。
雖然某些實施例是以說明和描述為目的的,各種各樣的替代、和/或、等效的實施方案、或計算來達到同樣的目的實施例示出和描述的實現,不脫離本發明的實施範圍。本發明旨在覆蓋本文討論的實施例的任何修改或變化。因此,顯然本文描述的實施例僅由申請專利範圍和它們的等同物來限定。
101‧‧‧方法步驟
102‧‧‧方法步驟
201‧‧‧方法步驟
202‧‧‧方法步驟
203‧‧‧方法步驟
204‧‧‧方法步驟
205‧‧‧方法步驟
206‧‧‧方法步驟
301‧‧‧方法步驟
302‧‧‧方法步驟
401‧‧‧方法步驟
402‧‧‧方法步驟
501‧‧‧方法步驟
502‧‧‧方法步驟
503‧‧‧方法步驟
504‧‧‧方法步驟
505‧‧‧方法步驟
601‧‧‧方法步驟
602‧‧‧方法步驟
701‧‧‧方法步驟
702‧‧‧方法步驟
703‧‧‧方法步驟
704‧‧‧方法步驟
705‧‧‧方法步驟
801‧‧‧方法步驟
802‧‧‧方法步驟
803‧‧‧方法步驟
804‧‧‧方法步驟
805‧‧‧方法步驟
901‧‧‧方法步驟
902‧‧‧方法步驟
903‧‧‧方法步驟
904‧‧‧方法步驟
905‧‧‧方法步驟
906‧‧‧方法步驟
1001‧‧‧第一金鑰產生模組
1002‧‧‧資料加密模組
1101‧‧‧第一金鑰產生模組
1102‧‧‧資料加密模組
1201‧‧‧第一金鑰產生模組
1202‧‧‧資料解密模組
1301‧‧‧第一金鑰產生模組
1302‧‧‧資料解密模組
1400‧‧‧系統
1402‧‧‧處理器
1404‧‧‧系統控制模組
1406‧‧‧系統記憶體
1408‧‧‧NVM/儲存設備
1410‧‧‧輸入/輸出設備
1412‧‧‧網路介面
透過閱讀下文較佳實施方式的詳細描述,各種其它的優點和益處對於本領域普通技術人員將變得清楚明瞭。圖式僅用於示出較佳實施方式的目的,而並不認為是對本發明的限制。而且在整個圖式中,用相同的參考符號表示相同的部件。在圖式中:
圖1顯示根據本發明一個實施例一的一種資料加密方法流程圖;
圖2顯示根據本發明一個實施例二的另一種資料加密方法流程圖;
圖3顯示根據本發明一個實施例三的另一種資料加密方法流程圖;
圖4顯示根據本發明一個實施例四的一種資料解密方法流程圖;
圖5顯示根據本發明一個實施例五的另一種資料解密方法流程圖;
圖6顯示根據本發明一個實施例六的另一種資料解密方法流程圖;
圖7顯示根據本發明一個實施例的一種資料處理方法流程圖
圖8顯示根據本發明一個實施例的一種資料加密方法流程圖;
圖9顯示根據本發明一個實施例的一種資料解密方法流程圖;
圖10顯示根據本發明一個實施例七的一種資料加密裝置的結構方塊圖;
圖11顯示根據本發明一個實施例八的另一種資料加密裝置的結構方塊圖;
圖12顯示根據本發明一個實施例九的一種資料解密裝置的結構方塊圖;
圖13顯示根據本發明一個實施例十的另一種資料解密裝置的結構方塊圖;
圖14顯示根據本發明一個實施例的一種示例性系統的結構方塊圖。
Claims (33)
- 一種資料加密方法,其特徵在於,該方法包括: 採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;以及 根據該第一金鑰加密資料。
- 根據申請專利範圍第1項所述的方法,其中,該根據該第一金鑰加密資料包括: 隨機產生第二金鑰;以及 採用該第二金鑰加密待加密資料,該第一金鑰用於加密該第二金鑰。
- 根據申請專利範圍第2項所述的方法,其中,該方法還包括: 採用該第一金鑰加密該第二金鑰。
- 根據申請專利範圍第3項所述的方法,其中,在該採用該第一金鑰加密該第二金鑰之後,該方法還包括: 將已加密的第二金鑰與已加密的待加密資料對應保存。
- 根據申請專利範圍第1項所述的方法,其中,該方法還包括: 產生用於驗證待加密資料的完整性的校驗資料,該校驗資料與已加密的待加密資料對應保存。
- 根據申請專利範圍第5項所述的方法,其中,該產生用於驗證待加密資料的完整性的校驗資料包括: 確定該待加密資料的雜湊值。
- 根據申請專利範圍第1項所述的方法,其中,在根據該第一金鑰加密資料之前,該方法還包括: 提供接收待加密資料的第二介面,並透過該第二介面接收該待加密資料; 在該根據該第一金鑰加密資料之後,該方法還包括: 透過該第二介面向該待加密資料的資料來源輸出加密結果。
- 一種資料解密方法,其特徵在於,該方法包括: 採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;以及 根據該第一金鑰解密已加密資料。
- 根據申請專利範圍第8項所述的方法,其中,該根據該第一金鑰解密已加密資料包括: 產生該第一金鑰,以及,獲取已加密的第二金鑰,該已加密的第二金鑰與該已加密資料對應保存; 採用該第一金鑰解密該已加密的第二金鑰,獲得第二金鑰;以及 採用該第二金鑰解密該已加密資料。
- 根據申請專利範圍第8項所述的方法,其中,該方法還包括: 獲取校驗資料,該校驗資料與該已加密資料對應保存;以及 採用該校驗資料校驗解密結果的完整性。
- 根據申請專利範圍第10項所述的方法,其中,該校驗資料包括該解密結果的第一雜湊值,該採用該校驗資料校驗解密結果的完整性包括: 產生該解密結果的第二雜湊值;以及 比對該第二雜湊值與該第一雜湊值一致,則確認該解密結果具有完整性。
- 根據申請專利範圍第8項所述的方法,其中,該方法還包括: 透過第二介面輸出解密結果。
- 一種資料加密方法,其特徵在於,該方法包括: 採用信任根程式產生與硬體設備唯一對應的第一金鑰;以及 根據該第一金鑰加密資料。
- 根據申請專利範圍第13項所述的方法,其中,該採用信任根程式產生與硬體設備唯一對應的第一金鑰包括: 訪問該硬體設備內置的硬體信任根程式,產生該第一金鑰。
- 根據申請專利範圍第14項所述的方法,其中,該硬體設備具有專用的硬體信任根程式,該訪問該硬體設備內置的硬體信任根程式包括: 透過第一介面訪問該硬體信任根程式,該第一介面的介面類別型與該硬體信任根程式的程式類型適配。
- 一種資料解密方法,其特徵在於,該方法包括: 採用信任根程式產生與硬體設備唯一對應的第一金鑰;以及 根據該第一金鑰解密已加密資料。
- 根據申請專利範圍第16項所述的方法,其中,該採用信任根程式產生與硬體設備唯一對應的第一金鑰包括: 訪問該硬體設備內置的硬體信任根程式,產生該第一金鑰。
- 根據申請專利範圍第17項所述的方法,其中,該硬體設備具有專用的硬體信任根程式,該訪問該硬體設備內置的硬體信任根程式包括: 透過第一介面訪問該硬體信任根程式,該第一介面的介面類別型與該硬體信任根程式的程式類型適配。
- 一種資料加密裝置,其特徵在於,該裝置包括: 第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;以及 資料加密模組,用於根據該第一金鑰加密資料。
- 根據申請專利範圍第19項所述的裝置,其中,該資料加密模組包括: 金鑰隨機產生子模組,用於隨機產生第二金鑰;以及 資料加密子模組,用於採用該第二金鑰加密待加密資料,該第一金鑰用於加密該第二金鑰。
- 根據申請專利範圍第20項所述的裝置,其中,該裝置還包括: 第二金鑰加密模組,用於採用該第一金鑰加密該第二金鑰。
- 根據申請專利範圍第19項所述的裝置,其中,該裝置還包括: 校驗資料產生模組,用於產生用於驗證待加密資料的完整性的校驗資料,該校驗資料與已加密的待加密資料對應保存。
- 根據申請專利範圍第19項所述的裝置,其中,該裝置還包括: 待加密資料接收模組,用於提供接收待加密資料的第二介面,並透過該第二介面接收該待加密資料;以及 加密結果輸出模組,用於透過該第二介面向該待加密資料的資料來源輸出加密結果。
- 一種資料解密裝置,其特徵在於,該裝置包括: 第一金鑰產生模組,用於採用軟體信任根程式產生與硬體設備唯一對應的第一金鑰;以及 資料解密模組,用於根據該第一金鑰解密已加密資料。
- 根據申請專利範圍第24項所述的裝置,其中,該資料解密模組包括: 金鑰獲取子模組,用於產生該第一金鑰,以及,獲取已加密的第二金鑰,該已加密的第二金鑰與該已加密資料對應保存; 第二金鑰解密子模組,用於採用該第一金鑰解密該已加密的第二金鑰,獲得第二金鑰;以及 資料解密子模組,用於採用該第二金鑰解密該已加密資料。
- 根據申請專利範圍第24項所述的裝置,其中,該裝置還包括: 校驗資料獲取模組,用於獲取校驗資料,該校驗資料與該已加密資料對應保存;以及 完整性驗證模組,用於採用該校驗資料校驗解密結果的完整性。
- 根據申請專利範圍第24項所述的裝置,其中,該裝置還包括: 解密結果輸出模組,用於透過第二介面輸出解密結果。
- 一種資料加密裝置,其特徵在於,該裝置包括: 第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;以及 資料加密模組,用於根據該第一金鑰加密資料。
- 根據申請專利範圍第28項所述的裝置,其中,該第一金鑰產生模組包括: 第一金鑰產生子模組,用於訪問該硬體設備內置的硬體信任根程式,產生該第一金鑰。
- 一種資料解密裝置,其特徵在於,該裝置包括: 第一金鑰產生模組,用於採用信任根程式產生與硬體設備唯一對應的第一金鑰;以及 資料解密模組,用於根據該第一金鑰解密已加密資料。
- 根據申請專利範圍第30項所述的裝置,其中,該第一金鑰產生模組包括: 第一金鑰產生子模組,用於訪問該硬體設備內置的硬體信任根程式,產生該第一金鑰。
- 一種電腦設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其特徵在於,該處理器執行該電腦程式時實現如申請專利範圍第1至18項所述的一或多個的方法。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式,其特徵在於,該電腦程式被處理器執行時實現如申請專利範圍第1至18項所述的一或多個的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810274311.5A CN110324138B (zh) | 2018-03-29 | 2018-03-29 | 数据加密、解密方法及装置 |
CN201810274311.5 | 2018-03-29 | ||
??201810274311.5 | 2018-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201942784A true TW201942784A (zh) | 2019-11-01 |
TWI793215B TWI793215B (zh) | 2023-02-21 |
Family
ID=68060948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107141247A TWI793215B (zh) | 2018-03-29 | 2018-11-20 | 資料加密、解密方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110324138B (zh) |
TW (1) | TWI793215B (zh) |
WO (1) | WO2019184740A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI829303B (zh) * | 2021-09-06 | 2024-01-11 | 瑞典商安訊士有限公司 | 使用處理應用程式啟用資料之安全處理的方法及系統 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598482A (zh) * | 2020-11-20 | 2022-06-07 | 福州数据技术研究院有限公司 | 一种服务器与智能边缘网关的加密通信方法和系统 |
CN112699393B (zh) * | 2020-12-31 | 2022-12-23 | 南方电网科学研究院有限责任公司 | 一种并行总线数据传输方法和装置 |
CN113364760A (zh) * | 2021-06-01 | 2021-09-07 | 平安科技(深圳)有限公司 | 一种数据加密处理方法、装置、计算机设备及存储介质 |
CN113973123B (zh) * | 2021-10-27 | 2023-08-29 | 广东卓维网络有限公司 | 一种多接入方式加密物联网通信方法和系统 |
CN114936365B (zh) * | 2022-01-27 | 2023-03-24 | 华为技术有限公司 | 一种机密数据的保护系统、方法以及装置 |
CN114828007A (zh) * | 2022-04-30 | 2022-07-29 | 佛山技研智联科技有限公司 | 基于边缘网关的数据处理方法、装置和系统、边缘网关 |
CN115828289B (zh) * | 2023-02-16 | 2023-05-30 | 中信天津金融科技服务有限公司 | 一种数字化档案的加密方法和系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008013525A1 (en) * | 2006-07-25 | 2008-01-31 | Northrop Grumman Corporation | Common access card heterogeneous (cachet) system and method |
JP5070005B2 (ja) * | 2007-11-01 | 2012-11-07 | 株式会社日立製作所 | 演算装置および演算方法ならびにコンピュータシステム |
CN201181472Y (zh) * | 2008-02-29 | 2009-01-14 | 北京华大恒泰科技有限责任公司 | 硬件密钥装置和移动存储系统 |
US8397306B1 (en) * | 2009-09-23 | 2013-03-12 | Parallels IP Holdings GmbH | Security domain in virtual environment |
US8700893B2 (en) * | 2009-10-28 | 2014-04-15 | Microsoft Corporation | Key certification in one round trip |
CN102595213B (zh) * | 2012-02-22 | 2014-10-29 | 深圳创维-Rgb电子有限公司 | 可信电视终端安全认证方法和系统 |
US8874916B2 (en) * | 2012-09-28 | 2014-10-28 | Intel Corporation | Introduction of discrete roots of trust |
JP6096301B2 (ja) * | 2012-10-25 | 2017-03-15 | インテル コーポレイション | ファームウェアにおける盗難防止 |
CN103455756B (zh) * | 2013-08-02 | 2016-12-28 | 国家电网公司 | 一种基于可信计算的进程控制方法 |
RU2601862C2 (ru) * | 2013-09-30 | 2016-11-10 | Хуавэй Текнолоджиз Ко., Лтд. | Способ, аппарат и устройство обработки шифрования и дешифрования |
CN107534551B (zh) * | 2015-07-30 | 2021-02-09 | 慧与发展有限责任合伙企业 | 提供加密数据的方法、计算设备和计算机可读介质 |
CN106656915A (zh) * | 2015-10-30 | 2017-05-10 | 深圳市中电智慧信息安全技术有限公司 | 基于可信计算的云安全服务器 |
CN105681032B (zh) * | 2016-01-08 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 密钥存储方法、密钥管理方法及装置 |
US10268844B2 (en) * | 2016-08-08 | 2019-04-23 | Data I/O Corporation | Embedding foundational root of trust using security algorithms |
CN106533663B (zh) * | 2016-11-01 | 2019-06-25 | 广东浪潮大数据研究有限公司 | 数据加密方法、加密方设备及数据解密方法、解密方设备 |
CN106980794B (zh) * | 2017-04-01 | 2020-03-17 | 北京元心科技有限公司 | 基于TrustZone的文件加解密方法、装置及终端设备 |
CN107273738A (zh) * | 2017-06-22 | 2017-10-20 | 努比亚技术有限公司 | 一种安全控制方法、终端及计算机可读存储介质 |
CN107454590A (zh) * | 2017-07-26 | 2017-12-08 | 上海斐讯数据通信技术有限公司 | 一种数据加密方法、解密方法及无线路由器 |
CN107465504A (zh) * | 2017-08-15 | 2017-12-12 | 上海与德科技有限公司 | 一种提高密钥安全性的方法及装置 |
-
2018
- 2018-03-29 CN CN201810274311.5A patent/CN110324138B/zh active Active
- 2018-11-20 TW TW107141247A patent/TWI793215B/zh active
-
2019
- 2019-03-18 WO PCT/CN2019/078419 patent/WO2019184740A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI829303B (zh) * | 2021-09-06 | 2024-01-11 | 瑞典商安訊士有限公司 | 使用處理應用程式啟用資料之安全處理的方法及系統 |
Also Published As
Publication number | Publication date |
---|---|
CN110324138A (zh) | 2019-10-11 |
WO2019184740A1 (zh) | 2019-10-03 |
CN110324138B (zh) | 2022-05-24 |
TWI793215B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI793215B (zh) | 資料加密、解密方法及裝置 | |
US11347857B2 (en) | Key and certificate distribution method, identity information processing method, device, and medium | |
EP2877955B1 (en) | Providing access to encrypted data | |
US10078599B2 (en) | Application access control method and electronic apparatus implementing the same | |
US9635014B2 (en) | Method and apparatus for authenticating client credentials | |
US12052356B2 (en) | Method and apparatus for data storage and verification | |
US10073985B2 (en) | Apparatus and method for trusted execution environment file protection | |
US10409984B1 (en) | Hierarchical data security measures for a mobile device | |
WO2016058487A1 (zh) | 一种信息处理方法及装置 | |
CN107077567B (zh) | 标识计算设备上的安全边界 | |
US20210012017A1 (en) | Method and apparatus for storing and processing application program information | |
TW201346637A (zh) | 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法及裝置 | |
CN114629639A (zh) | 基于可信执行环境的密钥管理方法、装置和电子设备 | |
TW201939337A (zh) | 行為識別、數據處理方法及裝置 | |
WO2022251987A1 (zh) | 一种数据加解密方法和装置 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
US11520859B2 (en) | Display of protected content using trusted execution environment | |
WO2015154469A1 (zh) | 数据库的操作方法及装置 | |
CN113449349A (zh) | 平台安全机制 | |
CN114244565B (zh) | 密钥分发方法、装置、设备及存储介质 | |
US20230093105A1 (en) | Method of dynamically loading encryption engine | |
CN111901095B (zh) | 一种基于硬件加密的安全启动方法及系统 | |
US20210194705A1 (en) | Certificate generation method | |
WO2023093139A1 (zh) | 一种资源创建方法、装置、电子设备及存储介质 | |
TW202424794A (zh) | 使用聯機密碼學硬體組件支援附加密碼學演算法 |