TWI880555B - 控制裝置、資料傳輸系統及其操作方法 - Google Patents
控制裝置、資料傳輸系統及其操作方法 Download PDFInfo
- Publication number
- TWI880555B TWI880555B TW112151190A TW112151190A TWI880555B TW I880555 B TWI880555 B TW I880555B TW 112151190 A TW112151190 A TW 112151190A TW 112151190 A TW112151190 A TW 112151190A TW I880555 B TWI880555 B TW I880555B
- Authority
- TW
- Taiwan
- Prior art keywords
- control device
- certificate
- application
- key
- programming
- Prior art date
Links
Images
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/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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR 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/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3247—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 digital signatures
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
一種控制裝置,包括儲存單元、金鑰產生單元與處理單元。儲存單元儲存控制裝置憑證與編程裝置憑證。金鑰產生單元產生第一私鑰,依據第一私鑰產生第一公鑰。處理單元依據第一公鑰與裝置識別碼,接收控制裝置憑證與編程裝置憑證,並將控制裝置憑證與編程裝置憑證儲存至儲存單元。
Description
本發明是關於一種控制裝置,特別是關於一種具有安全資料傳輸的控制裝置、資料傳輸系統及其操作方法。
對於微控制器(micro control unit, MCU)與伺服器之間的資料傳輸來說,微控制器或伺服器的內部並不會產生金鑰,以防止金鑰外洩。一般來說,使用者會使用額外的智慧卡(smart card)來產生金鑰。
然而,額外的智慧卡可能會增加元件的使用成本及造成金鑰外洩的問題。因此,如何有效地增加資料傳輸的安全性是當前重要的課題。
本發明提供一種控制裝置、資料傳輸系統及其操作方法,藉以有效地增加資料傳輸的安全性。
本發明提供一種控制裝置,包括儲存單元、金鑰產生單元與處理單元。儲存單元儲存控制裝置憑證與編程裝置憑證。金鑰產生單元,產生第一私鑰,依據第一私鑰產生第一公鑰。處理單元依據第一公鑰與裝置識別碼,接收控制裝置憑證與編程裝置憑證,並將控制裝置憑證與編程裝置憑證儲存至儲存單元。
本發明提供一種資料傳輸系統,包括控制裝置、編程裝置與伺服器裝置。控制裝置,產生第一私鑰,依據第一私鑰產生第一公鑰,傳送第一公鑰與該裝置識別碼,接收控制裝置憑證與編程裝置憑證,並儲存控制裝置憑證與編程裝置憑證。編程裝置產生第二私鑰,依據第二私鑰產生第二公鑰,接收第一公鑰,依據第一公鑰與第二公鑰,產生憑證請求,接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置。伺服器裝置接收憑證請求,以產生控制裝置憑證與編程裝置憑證。
本發明提供一種資料傳輸系統的操作方法,包括下列步驟。透過控制裝置,產生第一私鑰,依據第一私鑰產生第一公鑰,並傳送第一公鑰與裝置識別碼。透過編程裝置,產生第二私鑰,依據第二私鑰產生第二公鑰,接收第一公鑰,依據第一公鑰與第二公鑰,產生憑證請求。透過伺服器裝置,接收憑證請求,以產生控制裝置憑證與編程裝置憑證。透過編程裝置,接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置。透過控制裝置,接收控制裝置憑證與編程裝置憑證,並儲存控制裝置憑證與編程裝置憑證。
本發明所揭露之控制裝置、資料傳輸系統及其操作方法,透過控制裝置產生第一私鑰,依據第一私鑰產生第一公鑰,傳送第一公鑰與裝置識別碼,接收控制裝置憑證與編程裝置憑證,並儲存控制裝置憑證與編程裝置憑證。編程裝置產生第二私鑰,依據第二私鑰產生第二公鑰,依據第一公鑰與第二公鑰,產生憑證請求,接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置。伺服器裝置接收憑證請求,以產生控制裝置憑證與編程裝置憑證。如此一來,可以有效地增加資料傳輸的安全性。
在以下所列舉的各實施例中,將以相同的標號代表相同或相似的元件或組件。
第1圖為依據本發明之一實施例之控制裝置的示意圖。在本實施例中,控制裝置100可以是微控制器(micro control unit, MCU),例如Cortex-M微控制器。請參考第1圖,控制裝置100可以包括儲存單元110、金鑰產生單元120與處理單元130。
儲存單元110儲存控制裝置憑證與編程裝置憑證。在一些實施例中,儲存單元110可以是非揮發性記憶體(non-volatile memory, NVM),例如單次編程記憶體(one-time programmable memory, OTP memory),但本發明實施例不限於此。
金鑰產生單元120可以產生第一私鑰,並依據第一私鑰產生第一公鑰。在一些實施例中,金鑰產生單元120例如透過亂數產生器(true random number generator, TRNG)產生第一私鑰。另外,金鑰產生單元120可以包括金鑰儲存庫(key store),金鑰儲存庫用以儲存第一私鑰。
處理單元130可以依據第一公鑰與裝置識別碼,接收控制裝置憑證與編程裝置憑證,並將控制裝置憑證與編程裝置憑證儲存至儲存單元110。也就是說,處理單元130可以將金鑰產生單元120所產生的第一公鑰與控制裝置100的裝置識別碼傳送至外部裝置。接著,外部裝置可以依據第一公鑰與裝置識別碼,產生控制裝置憑證與編程裝置憑證,並將控制裝置憑證與編程裝置憑證傳送至處理單元130。之後,處理單元130可以將控制裝置憑證與編程裝置憑證儲存至儲存單元110。如此一來,可以完成控制裝置100與外部裝置的認證,以增加資料傳輸的安全性。在本實施例中,裝置識別碼例如為唯一辨識碼(unique identifier, UID)。
在一些實施例中,處理單元130更可以依據裝置識別碼,取得具有簽章引導程式(signature bootloader)的引導程式(bootloader)。也就是說,處理單元130可以將裝置識別碼傳送至外部裝置。接著,外部裝置可以依據此裝置識別碼,產生引導程式,並對引導程式進行簽章,以產生簽章引導程式,並提供具有簽章引導程式的引導程式至處理單元130。
之後,處理單元130可以執行上述引導程式。接著,金鑰產生單元120與外部裝置各自可以使用演算法產生共享會議金鑰(shared session key)至處理單元130(控制裝置100)與外部裝置。之後,處理單元130可以依據共享會議金鑰,接收具有共享會議金鑰的加密應用程式。也就是說,外部裝置可以利用共享會議金鑰對應用程式進行加密,以產生加密應用程式,並將加密應用程式提供給處理單元130。之後,處理單元130可以依據共享會議金鑰對加密應用程式進行解密,以取得應用程式,並燒錄(安裝)應用程式。
在一些實施例中,處理單元130更可以依據裝置識別碼,取得驗證憑證、應用程式版本。也就是說,處理單元130可以將裝置識別碼傳送至外部裝置。接著,外部裝置可以依據此裝置識別碼,產生驗證憑證、應用程式版本,並提供驗證憑證、應用程式版本。之後,金鑰產生單元120和外部裝置各自可以產生共享會議金鑰至處理單元130(控制裝置100)與外部裝置。接著,處理單元130可以使用驗證憑證驗證控制裝置憑證,使用應用程式版本檢查應用程式。也就是說,處理單元130可以使用驗證憑證驗證控制裝置憑證,以確認驗證憑證與控制裝置憑證是否相符,進而確認憑證是否正確。另外,處理單元130可以依據應用程式版本檢查應用程式,以確認應用程式的版本狀態。
之後,處理單元130可以依據共享會議金鑰,接收具有共享會議金鑰的加密更新應用程式。也就是說,外部裝置可以利用共享會議金鑰對更新應用程式進行加密,以產生加密更新應用程式,並將加密更新應用程式提供給處理單元130。接著,處理單元130可以依據共享會議金鑰對加密更新應用程式進行解密,以取得更新應用程式,並燒錄(安裝)更新應用程式。
第2圖為依據本發明之一實施例之資料傳輸系統的示意圖。請參考第2圖,資料傳輸系統包括控制裝置100、編程裝置210與伺服器裝置220。在本實施例中,控制裝置100與第1圖之控制裝置100相同或相似,可參考第1圖之實施例的說明,故在此不再贅述。
編程裝置210可以產生第二私鑰,依據第二私鑰產生第二公鑰。編程裝置210可以接收第一公鑰,依據第一公鑰與第二公鑰,產生憑證請求(certificate signing request, CSR)。編程裝置210可以接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置100。在本實施例中,編程裝置210可以是微控制器(MCU),例如Cortex-M55微控制器。
進一步來說,編程裝置210可以包括儲存單元211、金鑰產生單元212與處理單元213。儲存單元211儲存編程裝置憑證。在一些實施例中,儲存單元211可以是非揮發性記憶體,例如單次編程記憶體(OTP memory),但本發明實施例不限於此。
金鑰產生單元212可以產生第二私鑰,並依據第二私鑰產生第二公鑰。在一些實施例中,金鑰產生單元212例如透過亂數產生器(TRNG)產生第二私鑰。另外,金鑰產生單元212可以包括金鑰儲存庫(key store),金鑰儲存庫用以儲存第二私鑰。
處理單元213可以接收控制裝置100(處理單元130)所產生的第一公鑰。處理單元213可以依據第一公鑰與第二公鑰,產生憑證請求。接著,處理單元213可以接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證至儲存單元211,並傳送控制裝置憑證與編程裝置憑證至控制裝置100。
伺服器裝置220可以接收憑證請求,並依據上述憑證請求,以產生控制裝置憑證與編程裝置憑證。在本實施例中,伺服器裝置220可以是雲端伺服器(cloud server)。
進一步來說,伺服器裝置220可以至少包括硬體安全模組(hardware security module, HSM)221、處理單元222與儲存單元223。硬體安全模組221可以接收憑證請求,並依據上述憑證請求,產生控制裝置憑證與編程裝置憑證。處理單元222可以傳送控制裝置憑證與編程裝置憑證。儲存單元223可以儲存應用程式或更新應用程式等。如此一來,在控制裝置100儲存控制裝置憑證與編程裝置憑證以及編程裝置210儲存編程裝置憑證,可以完成控制裝置100、編程裝置210與伺服器裝置220之間的認證,以增加資料傳輸的安全性。
在一些實施例中,控制裝置100(處理單元130)可以傳送裝置識別碼至編程裝置210。編程裝置210(處理單元213)可以傳送裝置識別碼至伺服器裝置220。伺服器裝置220(硬體安全模組221)可以依據裝置識別碼,產生第三私鑰、第三公鑰、第四公鑰與第四私鑰。
接著,伺服器裝置220(處理單元222)可以依據第三私鑰簽章一引導程式,以產生簽章引導程式以及依據第四私鑰簽章一應用程式,以產生簽章應用程式。之後,伺服器裝置220(處理單元222)可以將簽章引導程式、第三公鑰、簽章應用程式、應用程式與引導程式與第四公鑰傳送至編程裝置210。
編程裝置210(處理單元213)可以將具有簽章引導程式的引導程式與第三公鑰傳送至控制裝置100。也就是說,編程裝置210(處理單元213)使用簽章引導程式對引導程式進行處理,以產生具有簽章引導程式的引導程式,並將具有簽章引導程式的引導程式與第三公鑰傳送至控制裝置100。
之後,控制裝置100(處理單元130)可以執行上述引導程式。接著,編程裝置210(金鑰產生單元212)和控制裝置100(金鑰產生單元120)各自可以使用演算法產生共享會議金鑰至編程裝置210(處理單元213)和控制裝置100(處理單元130)。接著,編程裝置210(處理單元213)可以將簽章應用程式與第四公鑰附加至應用程式,並依據共享會議金鑰對應用程式進行加密,以產生加密應用程式至控制裝置100。
之後,控制裝置100(處理單元130)可以依據共享會議金鑰對加密應用程式進行解密,以取得應用程式,並燒錄(安裝)應用程式。如此一來,可以有效地增加資料燒錄(安裝)的安全性。
在一些實施例中,伺服器裝置220(處理單元222)可以接收更新應用程式,並將更新應用程式儲存至儲存單元223。也就是說,使用者可以將更新應用程式上傳到伺服器裝置220,以便對控制裝置100的應用程式進行更新。
接著,控制裝置100(處理單元130)可以傳送裝置識別碼至編程裝置210。之後,編程裝置210(處理單元213)可以傳送裝置識別碼至伺服器裝置220。接著,伺服器裝置220(處理單元222)可以依據裝置識別碼,使用第四私鑰簽章上述更新應用程式,以產生簽章更新應用程式。之後,伺服器裝置220(處理單元222)可以將簽章更新應用程式、更新應用程式、應用程式版本、驗證憑證與第四公鑰傳送至編程裝置210。
接著,編程裝置210(金鑰產生單元212)和控制裝置100(金鑰產生單元120)各自可以產生共享會議金鑰至編程裝置210(處理單元213)和控制裝置100(處理單元130)。之後,編程裝置210(處理單元213)可以將應用程式版本與驗證憑證傳送至控制裝置100。接著,控制裝置100(處理單元130)可以使用驗證憑證驗證控制裝置憑證,依據應用程式版本檢查應用程式。也就是說,控制裝置100(處理單元130)可以使用驗證憑證驗證控制裝置憑證,以確認驗證憑證與控制裝置憑證是否相符,進而確認憑證是否正確。另外,控制裝置100(處理單元130)可以依據應用程式版本檢查應用程式,以確認應用程式的版本狀態。
之後,編程裝置210(處理單元213)可以將簽章更新應用程式與第四公鑰附加至更新應用程式,並依據共享會議金鑰對更新應用程式進行加密,以產生加密更新應用程式至控制裝置100。接著,控制裝置100(處理單元130)可以依據共享會議金鑰對加密更新應用程式進行解密,以取得更新應用程式,並燒錄(安裝)更新應用程式。
在一些實施例中,控制裝置100與編程裝置210可以透過第一傳輸協定進行資料傳輸,編程裝置210與伺服器裝置220可以透過第二傳輸協定進行資料傳輸,其中第一傳輸協定與第二傳輸協定不同。在一些實施例中,上述第一傳輸協定可利用例如橢圓曲線迪菲-赫爾曼密(elliptic curve Diffie-Hellman, ECDH)協定,使得控制裝置100與編程裝置210的內部各自產生共享會議金鑰,以保護控制裝置100與編程裝置210之間的傳輸內容。另外,上述第二傳輸協定可利用例如雙向傳輸層安全性(mutual transport layer security, mTLS)協定。
在一些實施例中,編程裝置210與伺服器裝置220可以透過有線或無線的方式進行通訊。在本實施例中,上述無線的方式例如為無線保真(wireless fidelity, WiFi),但本發明實施例不限於此。另外,控制裝置100與編程裝置210可以透過匯流排進行通訊。在本實施例中,上述匯流排例如為串列除錯(serial wire debug, SWD)匯流排、通用非同步收發傳輸器(universal asynchronous receiver/transmitter, UART)匯流排、內部整合電路(inter integrated circuit, I2C)匯流排,但本發明實施例不限於此。
在一些實施例中,在資料傳輸系統使用前,伺服器裝置220和編程裝置210會植入同一把進階加密標準金鑰(advanced encryption standard, AES key),例如AES_PACKAGE。舉例來說,進階加密標準金鑰可以由開發者(developer)提供給伺服器裝置220和編程裝置210的持有者,持有者將進階加密標準金鑰分別植入伺服器裝置220和編程裝置210中。另外,進階加密標準金鑰可以分別植入於伺服器裝置220的硬體安全模組221與編程裝置210的金鑰產生單元212(金鑰儲存庫)中。
在一些實施例中,當編程裝置210離開安全環境時,編程裝置210的內容會被保護而無法被讀取,以增加使用上的安全性。
在一些實施例中,伺服器裝置220可以派發每一次要燒錄的應用程式的韌體辨識碼(firmware ID)以及對應此韌體識別碼要燒錄的數量限制,並且上述韌體辨識碼及數量限制從伺服器裝置220傳送至編程裝置210可以透過上述進階加密標準金鑰(AES_PACKAGE)進行保護。
舉例來說,伺服器裝置220可以透過進階加密標準金鑰(AES_PACKAGE)對韌體辨識碼及數量限制進行加密,以產生加密訊息。接著,伺服器裝置220可以將此加密訊息傳送至編程裝置210。進一步來說,伺服器裝置220可以透過電子郵件(Email)將上述加密訊息傳送給編程裝置210的持有者。之後,編程裝置210的持有者將此加密訊息輸入(import)至編程裝置210。接著,編程裝置210可以透過進階加密標準金鑰(AES_PACKAGE)對此加密訊息進行解密,以取得韌體辨識碼及數量限制,並儲存韌體辨識碼及數量限制,例如將儲存韌體辨識碼及數量限制儲存至編程裝置210的另一儲存單元(例如快閃記憶體(flash memory))中。另外,上述數量限制可以避免韌體的過度燒錄,以控管控制裝置100的燒錄數量。
第3圖為依據本發明之一實施例之資料傳輸系統的操作方法的流程圖。在步驟S302中,透過控制裝置,產生第一私鑰,依據第一私鑰產生第一公鑰,並傳送第一公鑰與裝置識別碼。在步驟S304中,透過編程裝置,產生第二私鑰,依據第二私鑰產生第二公鑰,接收第一公鑰,依據第一公鑰與第二公鑰,產生憑證請求。
在步驟S306中,透過伺服器裝置,接收憑證請求,以產生控制裝置憑證與編程裝置憑證。在步驟S308中,透過編程裝置,接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置。在步驟S310中,透過控制裝置,接收控制裝置憑證與編程裝置憑證,並儲存控制裝置憑證與編程裝置憑證。
第4圖為依據本發明之另一實施例之資料傳輸系統的操作方法的流程圖。本實施例的流程圖可以接續於第3圖的步驟S310。在步驟S402中,控制裝置傳送裝置識別碼至編程裝置。在步驟S404中,編程裝置傳送裝置識別碼至伺服器裝置。在步驟S406中,伺服器裝置依據裝置識別碼,產生第三私鑰、第三公鑰、第四公鑰與第四私鑰。
在步驟S408中,伺服器裝置依據第三私鑰簽章一引導程式,以產生簽章引導程式以及依據第四私鑰簽章一應用程式,以產生簽章應用程式,並將簽章引導程式、第三公鑰、簽章應用程式、應用程式、引導程式與第四公鑰傳送至編程裝置。在步驟S410中,編程裝置將具有簽章引導程式的引導程式與第三公鑰傳送至控制裝置。
在步驟S412中,控制裝置執行引導程式。在步驟S414中,編程裝置和控制裝置各自產生共享會議金鑰至編程裝置和控制裝置。在步驟S416中,編程裝置將簽章應用程式與第四公鑰附加至應用程式,並依據共享會議金鑰對應用程式進行加密,以產生加密應用程式至控制裝置。在步驟S418中,控制裝置依據共享會議金鑰對加密應用程式進行解密,以取得應用程式,並燒錄應用程式。
第5圖為依據本發明之另一實施例之資料傳輸系統的操作方法的流程圖。本實施例的流程圖可以接續於第3圖的步驟S310或第4圖的步驟S416。在步驟S502中,伺服器裝置接收更新應用程式。在步驟S504中,控制裝置傳送裝置識別碼至編程裝置。在步驟S506中,編程裝置傳送裝置識別碼至伺服器裝置。
在步驟S508中,伺服器裝置依據裝置識別碼,使用第四私鑰簽章該更新應用程式,以產生簽章更新應用程式,並將簽章更新應用程式、更新應用程式、應用程式版本、驗證憑證與第四公鑰傳送至編程裝置。在步驟S510中,編程裝置和控制裝置各自產生共享會議金鑰至編程裝置和控制裝置。在步驟S512中,編程裝置將應用程式版本與驗證憑證傳送至控制裝置。
在步驟S514中,控制裝置使用驗證憑證驗證控制裝置憑證,依據應用程式版本檢查應用程式。在步驟S516中,編程裝置將簽章更新應用程式與第四公鑰附加至更新應用程式,並依據共享會議金鑰對更新應用程式進行加密,以產生加密更新應用程式至控制裝置。在步驟S518中,控制裝置依據共享會議金鑰對加密更新應用程式進行解密,以取得更新應用程式,並燒錄更新應用程式。
綜上所述,本發明所揭露之控制裝置、資料傳輸系統及其操作方法,透過控制裝置產生第一私鑰,依據第一私鑰產生第一公鑰,傳送第一公鑰與裝置識別碼,接收控制裝置憑證與編程裝置憑證,並儲存控制裝置憑證與編程裝置憑證。編程裝置產生第二私鑰,依據第二私鑰產生第二公鑰,依據第一公鑰與第二公鑰,產生憑證請求,接收控制裝置憑證與編程裝置憑證,儲存編程裝置憑證,並傳送控制裝置憑證與編程裝置憑證至控制裝置。伺服器裝置接收憑證請求,以產生控制裝置憑證與編程裝置憑證。另外,控制裝置、編程裝置與伺服器裝置各自可以產生私鑰,可以確保金鑰不會外洩。此外,在控制裝置的應用程式或更新應用程式的燒錄上,控制裝置、編程裝置與伺服器裝置之間可以透過金鑰傳輸資料及憑證。如此一來,可以有效地增加資料傳輸及資料燒錄(安裝)的安全性。
本發明雖以實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:控制裝置
110,211,223:儲存單元
120,212:金鑰產生單元
130,213,222:處理單元
200:資料傳輸系統
210:編程裝置
220:伺服器裝置
221:硬體安全模組
S302~S310,S402~S418,S502~S518:步驟
第1圖為依據本發明之一實施例之控制裝置的示意圖。
第2圖為依據本發明之一實施例之資料傳輸系統的示意圖。
第3圖為依據本發明之一實施例之資料傳輸系統的操作方法的流程圖。
第4圖為依據本發明之另一實施例之資料傳輸系統的操作方法的流程圖。
第5圖為依據本發明之另一實施例之資料傳輸系統的操作方法的流程圖。
100:控制裝置
110:儲存單元
120:金鑰產生單元
130:處理單元
Claims (10)
- 一種控制裝置,包括: 一儲存單元,儲存一控制裝置憑證與一編程裝置憑證; 一金鑰產生單元,產生一第一私鑰,依據該第一私鑰產生一第一公鑰;以及 一處理單元,依據該第一公鑰與一裝置識別碼,接收該控制裝置憑證與該編程裝置憑證,並將該控制裝置憑證與該編程裝置憑證儲存至該儲存單元; 其中,該控制裝置憑證與該編程裝置憑證由一伺服器裝置接收一憑證請求後所產生,並傳送給該控制裝置,且該憑證請求由一編程裝置依據該控制裝置的該第一公鑰與該編程裝置產生的一第二公鑰所產生的。
- 如請求項1所述之控制裝置,其中該處理單元更依據該裝置識別碼,取得具有一簽章引導程式的一引導程式,該處理單元執行該引導程式,該金鑰產生單元產生一共享會議金鑰至該處理單元,該處理單元依據該共享會議金鑰,接收具有該共享會議金鑰的一加密應用程式,該處理單元依據該共享會議金鑰對該加密應用程式進行解密,以取得一應用程式,並燒錄該應用程式。
- 如請求項1所述之控制裝置,其中該處理單元更依據該裝置識別碼,取得一驗證憑證、一應用程式版本,該金鑰產生單元產生一共享會議金鑰至該處理單元,該處理單元使用該驗證憑證驗證該控制裝置憑證,使用該應用程式版本檢查該應用程式,該處理單元依據該共享會議金鑰,接收具有該共享會議金鑰的一加密更新應用程式,該處理單元依據該共享會議金鑰對該加密更新應用程式進行解密,以取得一更新應用程式,並燒錄該更新應用程式。
- 一種資料傳輸系統,包括: 一控制裝置,產生一第一私鑰,依據該第一私鑰產生一第一公鑰,傳送該第一公鑰與一裝置識別碼,接收一控制裝置憑證與一編程裝置憑證,並儲存該控制裝置憑證與該編程裝置憑證; 一編程裝置,產生一第二私鑰,依據該第二私鑰產生一第二公鑰,接收該第一公鑰,依據該第一公鑰與該第二公鑰,產生一憑證請求,接收該控制裝置憑證與該編程裝置憑證,儲存該編程裝置憑證,並傳送該控制裝置憑證與該編程裝置憑證至該控制裝置;以及 一伺服器裝置,接收該憑證請求,以產生該控制裝置憑證與該編程裝置憑證。
- 如請求項4所述之資料傳輸系統,其中該控制裝置傳送該裝置識別碼至該編程裝置,該編程裝置傳送該裝置識別碼至該伺服器裝置,該伺服器裝置依據該裝置識別碼,產生一第三私鑰、一第三公鑰、一第四公鑰與一第四私鑰,該伺服器裝置依據該第三私鑰簽章一引導程式,以產生一簽章引導程式以及依據該第四私鑰簽章一應用程式,以產生一簽章應用程式,並將該簽章引導程式、該第三公鑰、該簽章應用程式、該應用程式、該引導程式與該第四公鑰傳送至該編程裝置,該編程裝置將具有該簽章引導程式的該引導程式與該第三公鑰傳送至該控制裝置,該控制裝置執行該引導程式,該編程裝置與該控制裝置各自產生一共享會議金鑰至該編程裝置與該控制裝置,該編程裝置將該簽章應用程式與該第四公鑰附加至該應用程式,並依據該共享會議金鑰對該應用程式進行加密,以產生一加密應用程式至該控制裝置,該控制裝置依據該共享會議金鑰對該加密應用程式進行解密,以取得該應用程式,並燒錄該應用程式。
- 如請求項4所述之資料傳輸系統,其中該伺服器裝置接收一更新應用程式,該控制裝置傳送該裝置識別碼至該編程裝置,該編程裝置傳送該裝置識別碼至該伺服器裝置,該伺服器裝置依據該裝置識別碼,使用一第四私鑰簽章該更新應用程式,以產生一簽章更新應用程式,並將該簽章更新應用程式、該更新應用程式、一應用程式版本、一驗證憑證、一第四公鑰傳送至該編程裝置,該編程裝置和該控制裝置各自產生一共享會議金鑰至該編程裝置和該控制裝置,該編程裝置將該應用程式版本與該驗證憑證傳送至該控制裝置,該控制裝置使用該驗證憑證驗證該控制裝置憑證,依據該應用程式版本檢查該應用程式,該編程裝置將該簽章更新應用程式與該第四公鑰附加至該更新應用程式,並依據該共享會議金鑰對該更新應用程式進行加密,以產生一加密更新應用程式至該控制裝置,該控制裝置依據該共享會議金鑰對該加密更新應用程式進行解密,以取得該更新應用程式,並燒錄該更新應用程式。
- 如請求項4所述之資料傳輸系統,其中該控制裝置與該編程裝置透過一第一傳輸協定進行資料傳輸,該編程裝置與該伺服器裝置透過一第二傳輸協定進行資料傳輸,該第一傳輸協定與該第二傳輸協定不同。
- 如請求項4所述之資料傳輸系統,其中該伺服器裝置包括: 一硬體安全模組,接收該憑證請求,以產生該控制裝置憑證與該編程裝置憑證;以及 一處理單元,傳送該控制裝置憑證與該編程裝置憑證至該編程裝置。
- 一種資料傳輸系統的操作方法,包括: 透過一控制裝置,產生一第一私鑰,依據該第一私鑰產生一第一公鑰,並傳送該第一公鑰與一裝置識別碼; 透過一編程裝置,產生一第二私鑰,依據該第二私鑰產生一第二公鑰,接收該第一公鑰,依據該第一公鑰與該第二公鑰,產生一憑證請求; 透過一伺服器裝置,接收該憑證請求,以產生一控制裝置憑證與一編程裝置憑證; 透過該編程裝置,接收該控制裝置憑證與該編程裝置憑證,儲存該編程裝置憑證,並傳送該控制裝置憑證與該編程裝置憑證至該控制裝置;以及 透過該控制裝置,接收該控制裝置憑證與該編程裝置憑證,並儲存該控制裝置憑證與該編程裝置憑證。
- 如請求項9所述之資料傳輸系統的操作方法,更包括: 該控制裝置傳送該裝置識別碼至該編程裝置; 該編程裝置傳送該裝置識別碼至該伺服器裝置; 該伺服器裝置依據該裝置識別碼,產生一第三私鑰、一第三公鑰、一第四公鑰與一第四私鑰; 該伺服器裝置依據該第三私鑰簽章一引導程式,以產生一簽章引導程式以及依據該第四私鑰簽章一應用程式,以產生一簽章應用程式,並將該簽章引導程式、該第三公鑰、該簽章應用程式、一應用程式、一引導程式與該第四公鑰傳送至該編程裝置; 該編程裝置將具有該簽章引導程式的該引導程式與該第三公鑰傳送至該控制裝置; 該控制裝置執行該引導程式; 該編程裝置和該控制裝置各自產生一共享會議金鑰至該編程裝置和該控制裝置; 該編程裝置將該簽章應用程式與該第四公鑰附加至該應用程式,並依據該共享會議金鑰對該應用程式進行加密,以產生一加密應用程式至該控制裝置; 該控制裝置依據該共享會議金鑰對該加密應用程式進行解密,以取得該應用程式,並燒錄該應用程式。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112151190A TWI880555B (zh) | 2023-12-28 | 2023-12-28 | 控制裝置、資料傳輸系統及其操作方法 |
| US18/797,766 US20250219829A1 (en) | 2023-12-28 | 2024-08-08 | Control device, data transmission system and operation method thereof |
| CN202411701488.0A CN120234816A (zh) | 2023-12-28 | 2024-11-26 | 控制装置、数据传输系统及其操作方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112151190A TWI880555B (zh) | 2023-12-28 | 2023-12-28 | 控制裝置、資料傳輸系統及其操作方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI880555B true TWI880555B (zh) | 2025-04-11 |
| TW202527508A TW202527508A (zh) | 2025-07-01 |
Family
ID=96141704
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112151190A TWI880555B (zh) | 2023-12-28 | 2023-12-28 | 控制裝置、資料傳輸系統及其操作方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250219829A1 (zh) |
| CN (1) | CN120234816A (zh) |
| TW (1) | TWI880555B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI773199B (zh) * | 2020-08-03 | 2022-08-01 | 新唐科技股份有限公司 | 安全運算裝置、安全運算方法、驗證器及裝置驗證方法 |
| CN116074360A (zh) * | 2021-11-04 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 固件数据处理方法、装置、存储介质及电子设备 |
| CN116614219A (zh) * | 2022-02-09 | 2023-08-18 | 兆易创新科技集团股份有限公司 | 安全数据烧录方法、安全模块、定制装置以及存储介质 |
| TWI823599B (zh) * | 2022-10-06 | 2023-11-21 | 新唐科技股份有限公司 | 韌體更新方法、電子裝置及伺服器 |
-
2023
- 2023-12-28 TW TW112151190A patent/TWI880555B/zh active
-
2024
- 2024-08-08 US US18/797,766 patent/US20250219829A1/en active Pending
- 2024-11-26 CN CN202411701488.0A patent/CN120234816A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI773199B (zh) * | 2020-08-03 | 2022-08-01 | 新唐科技股份有限公司 | 安全運算裝置、安全運算方法、驗證器及裝置驗證方法 |
| CN116074360A (zh) * | 2021-11-04 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 固件数据处理方法、装置、存储介质及电子设备 |
| CN116614219A (zh) * | 2022-02-09 | 2023-08-18 | 兆易创新科技集团股份有限公司 | 安全数据烧录方法、安全模块、定制装置以及存储介质 |
| TWI823599B (zh) * | 2022-10-06 | 2023-11-21 | 新唐科技股份有限公司 | 韌體更新方法、電子裝置及伺服器 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202527508A (zh) | 2025-07-01 |
| US20250219829A1 (en) | 2025-07-03 |
| CN120234816A (zh) | 2025-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240146545A1 (en) | Unified programming environment for programmable devices | |
| US11050605B2 (en) | Device programming with system generation | |
| JP6509197B2 (ja) | セキュリティパラメータに基づくワーキングセキュリティキーの生成 | |
| CN101443758B (zh) | 数字权限管理方法和设备 | |
| CN105706048B (zh) | 使用硬件信任根的媒体客户端装置鉴权 | |
| TWI487359B (zh) | 用於安全金鑰產生的設備、利用終端用戶設備來進行安全金鑰產生的方法及在裝置製造者伺服器中進行安全金鑰產生的方法 | |
| CN109478214B (zh) | 用于证书注册的装置和方法 | |
| US8908870B2 (en) | Method and system for transferring information to a device | |
| CN104252881A (zh) | 半导体集成电路及系统 | |
| US12519633B2 (en) | Key revocation for edge devices | |
| TW201807615A (zh) | 利用系統產生的裝置程式化 | |
| CN111344996B (zh) | 密钥生成方法、获取方法、私钥更新方法、芯片和服务器 | |
| US20160277182A1 (en) | Communication system and master apparatus | |
| KR20240045160A (ko) | 신뢰 루트(Root-of-Trust) 기반의 보안을 갖는 암호화되고 인증된 펌웨어 제공 방법 및 시스템 | |
| CN114223176A (zh) | 一种证书管理方法及装置 | |
| JP6199712B2 (ja) | 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム | |
| US20210194705A1 (en) | Certificate generation method | |
| TWI880555B (zh) | 控制裝置、資料傳輸系統及其操作方法 | |
| CN107968764B (zh) | 一种认证方法及装置 | |
| KR20190108888A (ko) | 전자 장치 및 전자 장치에서의 인증 방법 | |
| KR20100043799A (ko) | Mtm 기반 모바일 단말기 간의 비밀 데이터 이전 방법 | |
| CN112805960B (zh) | 认证授权系统、信息处理装置、设备、认证授权方法及程序 | |
| JP6203532B2 (ja) | 半導体記憶装置及びデータ処理システム | |
| CN116614219A (zh) | 安全数据烧录方法、安全模块、定制装置以及存储介质 | |
| CN107070658A (zh) | 一种系统加密认证机制的改进方法 |