TW201826160A - 資料驗證方法 - Google Patents
資料驗證方法 Download PDFInfo
- Publication number
- TW201826160A TW201826160A TW106140570A TW106140570A TW201826160A TW 201826160 A TW201826160 A TW 201826160A TW 106140570 A TW106140570 A TW 106140570A TW 106140570 A TW106140570 A TW 106140570A TW 201826160 A TW201826160 A TW 201826160A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- electronic device
- server
- volatile memory
- memory
- Prior art date
Links
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000875 corresponding Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000001052 transient Effects 0.000 description 1
Classifications
-
- 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/126—Applying verification of the received information the source of the received data
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/067—Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or paths for security, e.g. using out of band channels
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- 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/3234—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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Abstract
一種用於驗證由包含在設備中之一電子裝置所產生資料的方法,該電子裝置包括一計算單元、一單次可程式化記憶體及一揮發性記憶體,該設備包括一可重複寫入非揮發性記憶體及一通訊匯流排,該通訊匯流排使該電子裝置能儲存資料於該可重複寫入非揮發性記憶體中。該方法包括:藉由該設備與一伺服器間之加密而產生(21)一安全通道;自該伺服器取得(22、23)一認證金鑰;將來自該可重複寫入非揮發性記憶體之資料及一訊息認證碼載入(24)該揮發性記憶體,在儲存該資料及訊息認證碼於該可重複寫入非揮發性記憶體前,已由該電子裝置自該認證密鑰及該資料取得該訊息認證碼,該電子裝置在取得該訊息認證碼後未保存該認證密鑰;利用該秘密金鑰及該訊息認證碼驗證(26)該資料。
Description
本發明係關於一種用於驗證由包含在設備中之一電子裝置所產生資料的方法,該電子裝置適於經由一通訊網路與一伺服器通訊,及能施行該方法之裝置及系統。
愈來愈多的電子裝置可進行通訊,因其本身具有通訊能力或因其連接至或整合於其他通訊電子裝置或設備。在一些情況中,這些電子裝置儲存且有時交換需予保護之敏感性及機密性資料。亦須確保這些資料之完整性及真實性。此係因愈來愈多的電子裝置(晶片卡、智慧型手機、電腦、經連接物件等)須處理硬體或軟體攻擊。針對軟體及硬體兩者,均已發展出保護手段來處理此類攻擊。這些手段包括利用加密手段,使能特別保護資料交換;及受保護之硬體架構,使能保護電子裝置中記憶體儲存的資料或程式。
攻擊係欲復原機密資料或攻擊這些資料的完整性或真實性(包含重播),這一般係利用電子裝置之缺漏達成。例如為安全之故,一些電子裝置包括與一計算 單元(亦即微處理器、微控制器等)及供此計算單元使用之至少一記憶體(一般為快閃記憶體)兩者整合之組件。在先進技術之情況下,為了在相同組件上計算單元與記憶體間共存相關之成本及技術問題,無法設想將記憶體(屬快閃類型者)整合於這些組件上。僅可整合特定類型之非可重複寫入非揮發性記憶體。
接著這些組件須利用外部記憶體始能運作。接著在組件之計算單元與外部記憶體間產生一通訊匯流排。此通訊匯流排構成安全危點(failing),因為其開啟了對電子裝置所管理敏感性資料之門。此危點在此外部記憶體為其他電子裝置共享時尤為嚴重。此係因咸認對於攻擊者而言易於檢視位於匯流排上的資料及資料位址。一種一般適用之解決方法含括將匯流排上傳輸之資料加密。但已知在特定攻擊情況下如識別盜取攻擊「欺騙攻擊」、搬遷攻擊及重播攻擊時加密之有效性不足。
欺騙攻擊含括供應隨機資料於匯流排上,使得電子裝置故障。
搬遷攻擊係當置放於匯流排上之指令被攻擊者自一不同位址複製時發生。
重播攻擊係當資料傳輸被欺詐重複時。此攻擊係由攻擊者擷取資料而達成。攻擊者接著能夠於稍後重現這些資料並利用之(重認證自身,恢復先前資料)。
欲克服這些先前技術中的缺點。尤其欲提出用以防止重播攻擊之方法及裝置。
根據本發明之一第一態樣,本發明係關於一種用於驗證由包含在設備中之一電子裝置所產生資料的方法,該電子裝置適於經由一通訊網路與一伺服器通訊,該電子裝置包括一計算單元、一非揮發性單次可程式化記憶體及一揮發性記憶體,該設備包括一可重複寫入非揮發性記憶體及一通訊匯流排,該通訊匯流排使該電子裝置能儲存資料於該可重複寫入非揮發性記憶體中。該方法係由該電子裝置施行且包括:藉由該設備與該伺服器間之加密而產生一安全通道;自該伺服器取得一訊息認證碼金鑰,稱之為一認證金鑰;將來自該可重複寫入非揮發性記憶體之待驗證資料及對應於該資料之一訊息認證碼載入該揮發性記憶體,在儲存該資料及訊息認證碼於該可重複寫入非揮發性記憶體前,已由該電子裝置自該認證金鑰及該資料取得該訊息認證碼,該電子裝置僅在產生該訊息認證碼時使該認證密鑰為可取得的;利用該秘密金鑰及該訊息認證碼驗證待驗證之該資料,且當驗證成功時利用該資料。
因此若已藉由認證金鑰認證成功時,可重複寫入非揮發性記憶體中未儲存可使用之資料,限制了重播攻擊之可能性。
依據一具體實施例,在儲存待驗證之該資料及該訊息認證碼於該可重複寫入非揮發性記憶體前,已利用儲存於該單次可程式化記憶體中之一第一加密金鑰加密待驗證之該資料及該訊息認證碼,並在將待驗證之該資料及該訊息認證碼載入該揮發性記憶體後且在驗證 待驗證之該資料前解密。
因此,該可重複寫入非揮發性記憶體與該電子裝置間之藉由該通訊匯流排之各資料轉移受到保護。
依據一具體實施例,僅在該設備與該伺服器間產生該安全通道時使用待驗證之該資料。
依據一具體實施例,被使用於產生該安全通道之該加密係利用儲存於該單次可程式化記憶體中之一第二加密金鑰。
依據一具體實施例,在該電子裝置傳輸要自該伺服器取得該認證金鑰之一請求後,由該電子裝置取得該認證金鑰。
依據一具體實施例,該認證金鑰係由該電子裝置事先產生,並經傳輸至該伺服器。
依據一具體實施例,該認證金鑰係由該伺服器)事先產生,並經傳輸至該電子裝置(1)供產生安全資訊之用。
依據一具體實施例,每當由該電子裝置儲存資料於該可重複寫入非揮發性記憶體中時,或在預定規律時間間隔,或在一預定次數之資料儲存於該可重複寫入非揮發性記憶體中後,或於隨機決定之時刻,產生一不同之新認證金鑰。
當由該電子裝置儲存資料於該可重複寫入非揮發性記憶體中時,使用一不同認證金鑰或一規律改變之所產生之訊息認證碼防止重播攻擊。成功複製由該電子裝置儲存於該可重複寫入非揮發性記憶體中資料之攻 擊者無法於一重播攻擊環境下使用該資料。此係因與可重複寫入非揮發性記憶體中的這些資料相關之訊息認證碼對應於由伺服器傳輸之認證金鑰所產生之訊息認證碼的機會極微。資料驗證將會失敗。
根據本發明之一第二態樣,本發明係關於一種電子裝置,其包括用於施行如第一態樣之方法的手段。
根據本發明之一第三態樣,本發明係關於一種能經由一通訊網路而與一伺服器通訊之設備,其包括一可重複寫入非揮發性記憶體及如第二態樣之一電子裝置。
根據本發明之一第四態樣,本發明係關於一種系統,其包括一伺服器及如第三態樣之設備,該設備適於經由一通訊網路與該伺服器通訊。
根據本發明之一第五態樣,本發明係關於一種電腦程式,其中該電腦程式包括指令,當由一裝置之一計算單元執行該程式時,該等指令用於藉由該裝置施行如第一態樣之方法。
根據本發明之一第六態樣,本發明係關於一種儲存手段,其中該儲存手段儲存包括指令之一電腦程式,當由一裝置之一計算單元執行該程式時,該等指令用於藉由該裝置施行如第一態樣之方法。
1‧‧‧設備
2‧‧‧網路
3‧‧‧伺服器
10‧‧‧可重複寫入非揮發性記憶體
11‧‧‧通訊介面
12‧‧‧電子電路
20‧‧‧步驟
21‧‧‧步驟
22‧‧‧步驟
23‧‧‧步驟
24‧‧‧步驟
25‧‧‧步驟
26‧‧‧步驟
27‧‧‧步驟
28‧‧‧步驟
30‧‧‧步驟
31‧‧‧步驟
32‧‧‧步驟
33‧‧‧步驟
34‧‧‧步驟
35‧‧‧步驟
36‧‧‧步驟
120‧‧‧計算單元
121‧‧‧電子裝置
122‧‧‧通訊匯流排
1210‧‧‧計算單元
1211‧‧‧單次程式化記憶體
1212‧‧‧揮發性記憶體
閱讀下列實例實施例描述,即可更清楚上述本發明之特徵及其他特徵,該描述係參考以下隨附圖式闡釋: 第1圖概略闡釋包括能施行本發明之電子裝置之經連接設備之硬體架構;第2圖概略闡釋依本發明用以驗證電子裝置資料之方法實例;第3圖概略闡釋依本發明用以使電子裝置之舊資料失效之方法實例。
以下特別以智慧型手機詳述本發明之實施例,其中該智慧型手機內插入有SIM(用戶識別模組)卡類型之電子裝置。但此處描述之原則適用於連接至能整合至少暫態性電子裝置操縱機密資料之遠端伺服器之所有類型設備,該裝置須仰賴外部記憶體始能運作。本發明之原則適用於例如晶片卡讀取機或經連接物件。
第1圖概略闡釋包括能施行本發明之電子裝置之經連接設備之硬體架構。
第1圖顯示藉由網路2連接至伺服器3之設備1。設備1係例如智慧型手機。通訊網路係例如3G或4G網路。
設備1包括一可重複寫入非揮發性記憶體10(此後標註為RNVM),例如EEPROM記憶體(電子可抹除可程式化ROM);通訊介面11,其使經連接設備1能連接至通訊網路2及與伺服器3通訊;及電子電路12如微電路。電子電路12包括經通訊匯流排122連接之計算單元120如處理器或微控制器,及可移除之電子裝置121如SIM卡。電子裝置121施行關鍵操作及操縱機密資 料。電子裝置121接著係提供安全服務之電子電路12之一子部件。此後將電子裝置121稱之為受保護核心。
受保護核心121包括計算單元1210如處理器或微控制器;RAM(隨機存取記憶體)類型之揮發性記憶體1212;及稱之為OTP記憶體(單次可程式化)之單次程式化記憶體1211如PROM(可程式化唯讀記憶體)。
揮發性記憶體1212係用以暫態儲存資料如變數及中間計算結果。OTP記憶體1211一般包含使能施行上述關鍵操作之指令及敏感性資料如加密金鑰。
匯流排122亦使受保護核心121能與計算單元121及RNVM 10通訊。
當經連接設備1被供電時(亦即當電子電路12及受保護核心121被供電),計算單元1210可執行儲存於OTP記憶體1211中之指令。
如所見,受保護核心121未包括可重複寫入非揮發性記憶體。此外,考量不可加入更多記憶體至受保護核心121。受保護核心121可於其運作期間儲存新的敏感性資料於OTP記憶體1211中。但首先OTP記憶體1211容量有限,再者,PROM記憶體(諸如施行OTP記憶體1211之PROM記憶體)之內容不能改變,亦即一但寫入,則寫入PROM記憶體中的資料不能修改或消除。因此有OTP記憶體1211快速飽和之風險。在這些情況下,受保護核心121利用RNVM 10儲存敏感性資料。
在一實施例中,受保護核心121之計算單元1210係微電路120之計算單元之從屬。按此方式,受保 護核心121僅可在計算單元120控制下運作。
在一實施例中,受保護核心121之計算單元1210係至少部分自主。因此,有些由受保護核心施行的操作可在未與計算單元120互動下施行。
RNVM 10中的儲存意謂敏感性資料須經過匯流排122。此組態構成攻擊者可利用之安全危點,尤有甚者係因RNVM 10可由經連接設備1之其他裝置共用,例如計算單元120。
第2圖概略闡釋依本發明用以驗證電子裝置121之資料之方法實例。
在一實施例中,參考第2圖所述方法之施行係當受保護核心121之計算單元1210須使用其先前儲存於RNVM 10中的資料時。按此方式受保護核心121之計算單元1210檢查其儲存RNVM 10中之所需資料未被攻擊者修改。
在步驟20期間,受保護核心121之計算單元1210檢查可於伺服器3與設備1間藉由通訊網路2產生之安全通道。為達此目的,受保護核心121之計算單元1210施行在伺服器3與設備1間之通訊測試。例如計算單元1210使得設備1傳送針對伺服器3之請求。當設備1接收到此請求之回應時,受保護核心121之計算單元1210在步驟21期間考量於設備1與伺服器3間產生安全通道。
若設備1未接收到此請求之回應,則受保護核心121之計算單元1210在步驟27期間考量無法於設 備1與伺服器3間產生安全通道。在此情況下,受保護核心121之計算單元1210不使用儲存於RNVM 10中尚無法驗證的資料。接在步驟27之後的是步驟28,結束該方法。
在步驟21期間,受保護核心121之計算單元1210於伺服器3與設備1間產生安全通道。為達此目的,將透過設備1與伺服器3間通訊網路2傳輸的各資料項目加密。接著使用一加密演算法如3DES演算法(「三重資料加密標準(3DES)」,RFC 1851,https://tools.ietf.org/html/rfc1851)或AES演算法(「先進加密標準」,RFC 3565,https://tools.ietf.org/html/rfc3565)。此加密演算法使用儲存於OTP記憶體1211中的第一獨特加密金鑰。始於步驟21遠至參考第2圖中所述方法施行結束,設備1與伺服器3間各通訊受到保護。
在步驟22中,受保護核心121之計算單元1210透過設備1傳送一請求,以自伺服器3獲得一訊息認證碼之一金鑰,稱之為認證金鑰。此後將訊息認證碼(MAC)稱之為MAC碼,其係藉由應用加密雜湊函數於資料併同認證金鑰而成。MAC碼使能同時驗證資料的完整性與真實性。
在步驟23中,回應於在步驟22期間傳送的請求,受保護核心121之計算單元1210接收來自伺服器3包括所請求認證金鑰在內之請求。
在步驟24中,受保護核心121之計算單元1210將待驗證資料及對應於RNVM記憶體10之該資料 的MAC碼載入揮發性記憶體1212中。如將參考第3圖所闡釋者,MAC碼係在儲存待驗證資料與MAC碼於RNVM 10中之前由受保護核心121自認證金鑰與待確認資料獲得。但為安全之故,在產生MAC碼之後,受保護核心121不儲存認證碼。按此方式,受保護核心僅可於產生MAC碼時取得認證金鑰,防止在受保護核心復原認證金鑰之任何嘗試。
在步驟26中,受保護核心121之計算單元1210利用自RNVM記憶體10載入之秘密金鑰及MAC碼驗證待驗證資料。自RNVM記憶體載入之MAC碼稱之為第一MAC碼。為達此目的,受保護核心121之計算單元1210應用用以計算第一MAC碼併同認證金鑰之加密雜湊函數於待驗證資料。受保護核心121之計算單元1210接著取得一新MAC碼,稱之為第二MAC碼。接著比較第一與第二MAC碼。當第一與第二MAC碼相同時,驗證成功。當驗證成功時,受保護核心121之計算單元1210可使用經如此驗證之資料。否則受保護核心121之計算單元1210禁止使用這些資料。
接在步驟26之後的是步驟28,結束該方法。
在一實施例中,藉由加密演算法將由受保護核心121之計算單元1210儲存在RNVM記憶體10中的所有資料及其對應MAC碼加密。按此方式,受保護核心121與RNVM記憶體10間之各轉移資料受到保護。應用於RNVM記憶體10中所儲存資料與MAC碼之加密演算法,可與用於產生安全通道者相同。但此加密演算法確 實使用儲存於OTP記憶體1211中之第二獨特加密金鑰。在此實施例中,參考第2圖描述之方法包括介於步驟24與步驟26間之步驟25,在該期間受保護核心121之計算單元1210解密載入揮發性記憶體1212中之待驗證資料及MAC碼。
在一實施例中,由受保護核心121之計算單元1210規律性施行參考第2圖所述方法,例如按一預定週期。按此方式,受保護核心121之計算單元1210規律性驗證已儲存於RNVM記憶體10中的資料,而非僅於需要資料時才驗證。
在一實施例中,當起始受保護核心121時,RNVM記憶體10包括敏感性資料,這些敏感性資料尚未由受保護核心121之計算單元1210供應至RNVM記憶體10,而係在製造設備1時引入RNVM記憶體10中。這些敏感性資料與利用認證金鑰產生之MAC碼相關連,稱之為初始認證金鑰。為使受保護核心121之計算單元1210能驗證這些資料,伺服器知道此初始認證金鑰並視請求將之供應至受保護核心121之計算單元1210。
在一實施例中,在製造受保護核心時將第一及第二加密金鑰引入OTP記憶體1211中。
第3圖概略闡釋依本發明用以使電子裝置之舊資料失效之方法實例。
參考第3圖所述方法之一目的在於防止任何重播攻擊。因此,每次有新的資料由受保護核心121之計算單元1210儲存至RNVM記憶體10中時,與由受保 護核心121之計算單元1210儲存至RNVM記憶體10中的資料相關之MAC碼均經修改。按此方式,成功複製先前儲存於RNVM記憶體10中資料之攻擊者,因該等資料無法與其正確MAC碼相關聯而無法再使用該等資料。
參考第3圖所述方法因此係每當受保護核心121之計算單元1210須儲存新資料至RNVM記憶體10中時施行。
在步驟30中,受保護核心121之計算單元1210產生異於先前金鑰之新認證金鑰。受保護核心121之計算單元1210例如為此目的而應用NIST建議SP 800-90A「利用決定性隨機位元產生器產生隨機數之建議」。此認證金鑰暫時儲存於揮發性記憶體1212中。如同步驟20與21期間般,受保護核心121之計算單元1210檢查可於設備1與伺服器3間產生之安全通道,且當可行時,產生此一安全通道。接著參考第3圖中所述方法情況之受保護核心121之計算單元1210與伺服器3間之各資料交換使用該安全通道。若無法產生安全通道,則受保護核心121之計算單元1210在能夠繼續該方法至步驟31前等待直到其可產生此通道。
在步驟31期間,受保護核心121之計算單元1210透過設備1傳送認證金鑰至伺服器3。當伺服器3接收到認證金鑰時,其儲存此認證金鑰直道次金鑰被另一認證金鑰取代為止。
在步驟32期間,受保護核心121之計算單元1210利用在步驟30期間產生之認證金鑰計算儲存於 RNVM記憶體10中所有資料之MAC碼。所有資料包括先前由受保護核心121之計算單元1210儲存於RNVM記憶體10中的資料及新資料。
在步驟34中,受保護核心121之計算單元1210儲存所有資料及自RNVM記憶體10中的這些資料及認證金鑰計算之MAC碼。
在步驟35期間,受保護核心121之計算單元1210傳送請求至伺服器3以確認在步驟31中接收之認證金鑰。
步驟34及36經施行為一交易,以確保不可分割性(atomicity)。
這些步驟可例如因斷電而中斷。若這些步驟中斷,則恢復以舊金鑰加密之先前資料。
步驟35接著為步驟36,在步驟36期間受保護核心121之計算單元1210結束該方法。
在步驟36期間,受保護核心121之計算單元1210消除來自揮發性記憶體1212之認證金鑰。由於設備1上不再可取得該認證金鑰,因此無法由攻擊者欺詐恢復,進而限制重播攻擊之可能性。
如所見,在一實施例中,將欲由受保護核心121之計算單元1210儲存於RNVM記憶體10中的資料及MAC碼加密。在此情況下,參考第3圖所述方法包括在步驟32與步驟34間的中間加密步驟33。在此步驟期間,由受保護核心121之計算單元1210加密所有資料及MAC碼。
在參考第3圖所述方法中,吾人描述每當受保護核心121之計算單元1210須儲存新資料於RNVM記憶體中時,受保護核心121之計算單元1210均產生一不同的新認證金鑰。在一實施例中,受保護核心121之計算單元1210並非每當受保護核心121之計算單元1210須儲存新資料於RNVM記憶體10中時產生一新的認證金鑰,而係在預定規律時間間隔,或在一預定次數之新資料儲存於RNVM記憶體10中後產生。在另一實施例中,受保護核心121之計算單元1210在受保護核心121之計算單元1210隨機決定之時刻產生一新認證金鑰。在產生該認證金鑰之後,將之傳送至伺服器3。當首次使用認證金鑰時,由受保護核心之計算單元施行步驟30至36。但由於在步驟36期間,受保護核心121之計算單元1210消除了來自揮發性記憶體1212之認證金鑰,顧受保護核心121之計算單元1210不再具有可供任何再使用之認證金鑰。在此情況下,當受保護核心121之計算單元1210希望再使用先前使用過的金鑰時,其再請求伺服器3產生之上一認證金鑰。伺服器3接著利用安全通道傳送此認證金鑰。當再使用已用於儲存資料RNVM記憶體10中之認證金鑰時,受保護核心121之計算單元1210即不施行參考第3圖所述方法之步驟30與31。在已接收到自伺服器3產生之上一認證金鑰後,受保護核心121之計算單元1210即施行步驟32至36。此外,在這些實施例中,雖然每當儲存資料於RNVM記憶體10時認證金鑰未變,成功重播攻擊之機率仍低。
在一實施例中,認證金鑰並非由受保護核心121之計算單元1210而係由伺服器3產生。為達此目的,每當受保護核心121之計算單元1210須儲存資料於RNVM記憶體10時,由設備1傳送請求以自伺服器3取得認證金鑰。此外,伺服器3無法針對RNVM記憶體10中各資料儲存產生新的認證金鑰。因此,受保護核心121不具有使其可以產生認證金鑰之演算法,進而強化抵禦攻擊之安全性。此外,受保護核心121未儲存認證金鑰且僅能於產生MAC碼時取得認證金鑰,防止在受保護核心121處復原認證金鑰之任何嘗試。
Claims (13)
- 一種用於驗證由包含在設備(1)中之一電子裝置(121)所產生資料的方法,該電子裝置(1)適於經由一通訊網路(2)與一伺服器(3)通訊,該電子裝置(121)包括一計算單元(1210)、一非揮發性單次可程式化記憶體(1211)及一揮發性記憶體(1212),該設備(1)包括一可重複寫入非揮發性記憶體(10)及一通訊匯流排(122),該通訊匯流排(122)使該電子裝置(121)能儲存資料於該可重複寫入非揮發性記憶體中,其特徵在於該方法係由該電子裝置施行且包括:藉由該設備(1)與該伺服器(3)間之加密而產生(21)一安全通道;自該伺服器(3)取得(22、23)一訊息認證碼金鑰,稱之為一認證金鑰;將來自該可重複寫入非揮發性記憶體(10)之待驗證資料及對應於該資料之一訊息認證碼載入(24)該揮發性記憶體(1212),在儲存該資料及訊息認證碼於該可重複寫入非揮發性記憶體前,已由該電子裝置(121)自該認證金鑰及該資料取得該訊息認證碼,該電子裝置僅在產生該訊息認證碼時使該認證密鑰為可取得的;利用該秘密金鑰及該訊息認證碼驗證(26)待驗證之該資料,且當驗證成功時利用該資料。
- 如請求項1之方法,其中在儲存待驗證之該資料及該訊息認證碼於該可重複寫入非揮發性記憶體(10)前, 已利用儲存於該單次可程式化記憶體中之一第一加密金鑰加密待驗證之該資料及該訊息認證碼,並在將待驗證之該資料及該訊息認證碼載入該揮發性記憶體(1212)後且在驗證待驗證之該資料前解密(25)。
- 如請求項1或2之方法,其中僅在該設備(1)與該伺服器(3)間產生該安全通道時使用待驗證之該資料。
- 如請求項1、2或3之方法,其中被使用於產生該安全通道之該加密係利用儲存於該單次可程式化記憶體(1211)中之一第二加密金鑰。
- 如請求項1至4中任一項之方法,其中在該電子裝置(121)傳輸(22)要自該伺服器(3)取得該認證金鑰之一請求後,由該電子裝置(121)取得該認證金鑰。
- 如請求項1至5中任一項之方法,其中該認證金鑰係由該電子裝置事先產生(30),並經傳輸(31)至該伺服器(3)。
- 如請求項1至5中任一項之方法,其中該認證金鑰係由該伺服器(3)事先產生,並經傳輸至該電子裝置(1)供產生安全資訊之用。
- 如請求項1至7中任一項之方法,其中每當由該電子裝置(121)儲存(34)資料於該可重複寫入非揮發性記憶體(10)中時,或在預定規律時間間隔,或在一預定次數之資料儲存於該可重複寫入非揮發性記憶體(10)中後,或於隨機決定之時刻,產生一不同之新認證金鑰。
- 一種電子裝置(121),其包括用於施行如請求項1至8中任一項之方法的手段。
- 一種能經由一通訊網路(2)而與一伺服器(3)通訊之設備(1),其包括一可重複寫入非揮發性記憶體及如請求項9之電子裝置(121)。
- 一種系統,其包括一伺服器(3)及如請求項10之設備(1),該設備適於經由一通訊網路(2)與該伺服器(3)通訊。
- 一種電腦程式,其中該電腦程式包括指令,當由一裝置(121)之一計算單元(1210)執行該程式時,該等指令用於藉由該裝置(121)施行如請求項1至8中任一項之方法。
- 一種儲存手段(1211),其中該儲存手段儲存包括指令之一電腦程式,當由一裝置(121)之一計算單元(1210)執行該程式時,該等指令用於藉由該裝置(121)施行如請求項1至8中任一項之方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1661389A FR3059121B1 (fr) | 2016-11-23 | 2016-11-23 | Procede de verification de donnees |
??1661389 | 2016-11-23 | ||
FR1661389 | 2016-11-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201826160A true TW201826160A (zh) | 2018-07-16 |
TWI729236B TWI729236B (zh) | 2021-06-01 |
Family
ID=58645122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106140570A TWI729236B (zh) | 2016-11-23 | 2017-11-22 | 用於驗證資料的方法、系統及電腦程式、電子裝置、能與伺服器通訊之設備及電腦可讀取記錄媒體 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10404719B2 (zh) |
EP (1) | EP3327607B1 (zh) |
KR (1) | KR20180058210A (zh) |
CN (1) | CN108270767B (zh) |
FR (1) | FR3059121B1 (zh) |
TW (1) | TWI729236B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200130539A (ko) * | 2019-05-08 | 2020-11-19 | 삼성전자주식회사 | 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381696B1 (en) * | 1998-09-22 | 2002-04-30 | Proofspace, Inc. | Method and system for transient key digital time stamps |
WO2000019299A1 (en) * | 1998-09-25 | 2000-04-06 | Hughes Electronics Corporation | An apparatus for providing a secure processing environment |
JP4290401B2 (ja) * | 2002-09-18 | 2009-07-08 | 三菱電機株式会社 | 量子鍵配送方法および通信装置 |
JP4503410B2 (ja) * | 2004-01-20 | 2010-07-14 | クラリオン株式会社 | 車載ナビゲーション装置の地図データ更新方法、地図データ更新システム、認証キー生成装置およびナビゲーション装置 |
CN1707450A (zh) * | 2004-06-08 | 2005-12-14 | 侯方勇 | 保护存储设备中数据机密性与完整性的方法和装置 |
CN100566255C (zh) * | 2007-02-01 | 2009-12-02 | 北京飞天诚信科技有限公司 | 提高智能密钥设备安全性的方法和系统 |
CN100581102C (zh) * | 2007-05-31 | 2010-01-13 | 北京泛亚创知科技发展有限公司 | 一种无线传感器网络中数据安全传输的方法 |
US9569633B2 (en) * | 2012-06-29 | 2017-02-14 | Intel Corporation | Device, system, and method for processor-based data protection |
US9621549B2 (en) * | 2014-07-25 | 2017-04-11 | Qualcomm Incorporated | Integrated circuit for determining whether data stored in external nonvolative memory is valid |
-
2016
- 2016-11-23 FR FR1661389A patent/FR3059121B1/fr not_active Expired - Fee Related
-
2017
- 2017-11-21 US US15/819,637 patent/US10404719B2/en active Active
- 2017-11-22 TW TW106140570A patent/TWI729236B/zh active
- 2017-11-22 EP EP17202941.5A patent/EP3327607B1/fr active Active
- 2017-11-23 KR KR1020170157643A patent/KR20180058210A/ko not_active Application Discontinuation
- 2017-11-23 CN CN201711180500.8A patent/CN108270767B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP3327607A1 (fr) | 2018-05-30 |
EP3327607B1 (fr) | 2019-10-16 |
FR3059121A1 (fr) | 2018-05-25 |
TWI729236B (zh) | 2021-06-01 |
FR3059121B1 (fr) | 2019-05-10 |
CN108270767A (zh) | 2018-07-10 |
KR20180058210A (ko) | 2018-05-31 |
US20180145992A1 (en) | 2018-05-24 |
US10404719B2 (en) | 2019-09-03 |
CN108270767B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107004083B (zh) | 设备密钥保护 | |
CA2838763C (en) | Credential authentication methods and systems | |
JP2017139811A5 (zh) | ||
US20210012008A1 (en) | Method of initializing device and method of updating firmware of device having enhanced security function | |
EP2506488B1 (en) | Secure dynamic on-chip key programming | |
CN106936588B (zh) | 一种硬件控制锁的托管方法、装置及系统 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
JP4833745B2 (ja) | センサノードのデータ保護方法、センサノードを配布するための計算機システム及びセンサノード | |
CN107944234B (zh) | 一种Android设备的刷机控制方法 | |
JP6888122B2 (ja) | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム | |
TWI729236B (zh) | 用於驗證資料的方法、系統及電腦程式、電子裝置、能與伺服器通訊之設備及電腦可讀取記錄媒體 | |
EP3292654B1 (en) | A security approach for storing credentials for offline use and copy-protected vault content in devices | |
JP6517435B2 (ja) | アプリケーションを管理する方法 | |
US10225240B2 (en) | Method to protect a set of sensitive data associated to public data in a secured container | |
US20100031045A1 (en) | Methods and system and computer medium for loading a set of keys | |
KR20210005841A (ko) | 전자 장치의 무결성 검사 | |
CN109951319B (zh) | 备份加密机管理员锁的方法和加密机设备 | |
JP2013073299A (ja) | 情報処理システム | |
US20220050605A1 (en) | Remote enforcement of device memory | |
EP2985724B1 (en) | Remote load and update card emulation support | |
KR20080013837A (ko) | 웹서버 상호 인증을 위한 스마트카드 및 리더기 | |
US20200028829A1 (en) | Security unit for an iot device and method for running one or more applications for the secured exchange of data with one or more servers which provide web services | |
CN114024702A (zh) | 信息安全保护的方法以及计算设备 | |
KR20220076934A (ko) | 결제를 위한 단말 및 단말의 동작 방법 및 | |
CN112446782A (zh) | 初始密钥下载的方法、计算机设备及存储介质 |