TWI788528B - 提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置 - Google Patents

提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置 Download PDF

Info

Publication number
TWI788528B
TWI788528B TW108106038A TW108106038A TWI788528B TW I788528 B TWI788528 B TW I788528B TW 108106038 A TW108106038 A TW 108106038A TW 108106038 A TW108106038 A TW 108106038A TW I788528 B TWI788528 B TW I788528B
Authority
TW
Taiwan
Prior art keywords
security
value
parameter
configuration file
values
Prior art date
Application number
TW108106038A
Other languages
English (en)
Other versions
TW201939336A (zh
Inventor
海登 波維
史帝夫 潘寇斯特
堤姆斯 J 伍德魯夫
Original Assignee
英商安全事件有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英商安全事件有限公司 filed Critical 英商安全事件有限公司
Publication of TW201939336A publication Critical patent/TW201939336A/zh
Application granted granted Critical
Publication of TWI788528B publication Critical patent/TWI788528B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種提供用於規劃至少一個目標裝置之一安全性配置文件的方法,該方法被實現在一運算裝置上並且包含有:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,對經由該運算裝置之一輸入裝置從一位使用者接收輸入做出回應,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式使用一第一組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第一資料儲存位置檢索該第一組值的該值,並使用該檢索到的值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第一組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出;對經由該輸入裝置從一位使用者接收另外的輸入做出回應,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式用一第二組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第二資料儲存位置檢索該第二組值的該值,並使用該檢索到的值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃至少一個目標裝置的該第一安全性配置文件以供一第一類型的使用者來使用;以及輸 出用於規劃至少一個目標裝置的該第二安全性配置文件以供與該第一類型的使用者不同之一第二類型的使用者來使用。

Description

提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置
本發明涉及規劃至少一個目標裝置,特別是提供用於規劃至少一個目標裝置的一安全性配置文件。
發明背景
把電腦軟體程式碼部署到一或多個目標運算裝置上通常係以多個階段的方式來被執行。
在一開發階段中,開發人員編寫應用軟體程式碼並對該已編寫的應用軟體程式碼做出更改。在一測試階段中,測試人員測試該應用軟體程式碼,並且一旦所有的測試被完成,該過程就進入一生產階段,由此該經測試的應用軟體程式碼被部署在該目標裝置上供末端使用者來使用。在該生產階段中,不是立即把該應用程式軟體程式碼部署到所有的目標裝置,而是先把其部署到一較小的目標裝置池中,然後再部署到所有的目標裝置或是逐步分階段地部署,以便捕捉任何最後一刻的問題。
除了該應用軟體程式碼外,還需要安全性資訊來配置該 等目標裝置。該安全性資訊可被部署到該等目標裝置上,例如,對於每一個目標裝置,一數位認證(通常也被稱為一加密認證)通常被部署在該目標裝置上。
出於安全性理由,在把電腦軟體程式碼部署到一或多個目標運算裝置上的每一個階段中,不同的安全性資訊被使用。例如,開發人員使用開發加密金鑰來開發應用軟體程式碼,但他們不能存取生產加密金鑰。
總結
配置該等目標裝置所需要的該安全性資訊必須由一位安全官針對該電腦軟體程式碼部署到該等目標裝置上的每一個階段來創建。
本發明人已經體認到這種手動過程係緩慢的,並且會在一特定階段中在被提供來配置該等目標裝置之該安全性資訊中導致出不準確性。這係由於該安全官必須記住在每一個部署階段必須被配置的該安全性資訊中該等安全性參數的每一個。
本發明人已經體認到這可能導致一目標裝置被配置有使得目標裝置無法執行安全功能的安全性資訊(例如,無法驗證接收自另一運算裝置的數位認證,因此無法與其他的運算裝置建立一條通信鏈路)。這會導致該電腦軟體程式碼的部署效率低落,因為需要人力資源來診斷在該安全性資訊中該等安全性參數的那些已在該特定部署階段中被錯誤地配置。
根據一個方面,一種方法提供用於規劃至少一個目標裝置的一安全性配置文件,該方法被實現在一運算裝置上並且包含有:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,回應於經由該運算裝置之一輸入裝置從 一位使用者接收輸入,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下方式用一第一組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第一資料儲存位置處檢索該第一組值的該值,並使用該檢索到的值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第一組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出;回應於經由該輸入裝置從一位使用者接收另外的輸入,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下方式用一第二組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第二資料儲存位置處檢索該第二組值的該值,並使用該檢索到的值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃至少一個目標裝置的該第一安全性配置文件以供一第一類型的使用者來使用;以及輸出用於規劃至少一個目標裝置的該第二安全性配置文件以供與該第一類使用者不同之一第二類型的使用者來使用。
該至少一個安全性參數可以包括至少一個數位認證參數,該至少一個數位認證參數與用於規劃在該至少一個目標裝置上的一數位認證相關聯。
該至少一個數位認證參數包含以下中之一或多個:一發行者名稱參數,其具有定義該數位認證之一發行者的一可配置值;一有效期參數,其具有定義該數位認證之一有效期的一可配置值;一主 題名稱參數,其具有定義該數位認證之一主題的一可配置值;一公鑰參數,其具有定義該數位認證之一公鑰一的可配置值;一裝置序號參數,其具有一可配置值,該值定義了該數位認證將被規劃在其上之該目標裝置;以及一認證簽章參數,其具有定義該數位認證之一簽章的一可配置值。
該至少一個安全性參數可以包含與用於規劃在該至少一個目標裝置上之一密碼金鑰相關聯的至少一個密碼金鑰參數。
該至少一個密碼金鑰參數可包含以下中之一或多個:至少一個對稱金鑰參數,其具有定義一對稱金鑰之一可配置值;以及至少一個私鑰參數,具有定義一非對稱金鑰配對之一私鑰的一可配置值。
該至少一個安全性參數可以包含至少一個處理器參數,用於在該至少一個目標裝置中之每一個上規劃一處理單元。
該至少一個處理器參數包含以下之一或多個:一除錯介面參數,其具有定義在該處理單元上的一除錯介面是否將被啟用還是禁用的一可配置值;一JTAG介面參數,其具有定義在該處理單元上的一JTAG介面是否將被啟用還是禁用的一可配置值;一USB介面參數,其具有定義在該處理單元上的一USB介面是否將被啟用還是禁用的一可配置值;一串列介面參數,其具有定義在該處理單元上的一串列介面是否將被啟用還是禁用的一可配置值;一網路介面參數,其具有定義在該處理單元上的一網路介面是否將被啟用還是禁用的一可配置值;一特徵啟用參數,其具有定義在該處理單元上執行之應用軟體的一特徵是否將被啟用還是禁用的一可配置值;以及一讀出參數,其具有定義對耦合到該處理單元之記憶體的外部存取是否將被啟用還是禁用的一可配置值。
一資料儲存區可被耦合到該運算裝置,該資料儲存區可 以包含該第一資料儲存位置及該第二資料儲存位置。該資料儲存區可以係一受保護的資料儲存區。
一不受保護的資料儲存區及一受保護的資料儲存區可被耦合到該運算裝置,該不受保護的資料儲存區可以包含該第一資料儲存位置而該受保護的資料儲存區可包含該第二資料儲存位置。
該受保護的資料儲存區可以係一硬體安全性模組。
該等一或多個指令可以包括以下之至少一個:一指令以隨機地產生該值;一指令以從一遠端資料儲存區檢索該值,該指令包含有該遠端資料儲存區的一識別碼以及在該遠端資料儲存區上的一資料儲存位置;一指令使用指派給該基礎安全性配置文件之至少一個另外的安全性參數之至少一個值來產生該值;和一指令以基於該指令被執行之一日期或時間來產生該值;以及一指令以從該至少一個目標裝置之一目標裝置來檢索該值。
該方法可包含:輸出用於傳送給一第一資料包產生模組的該第一安全性配置文件,該第一資料包產生模組被配置成基於該第一安全性配置文件來產生一第一規劃資料包用於輸出給一第一裝置規劃模組以規劃該至少一個目標裝置;以及輸出用於傳送給一第二資料包產生模組的該第二安全性配置文件,該第二資料包產生模組被配置來產生一第二規劃資料包用於輸出給一第二裝置規劃模組以規劃該至少一個目標裝置。
該第一安全性配置文件可包含與一相應指令相關聯的至少一個安全性參數,並且該第一資料包產生模組被實現在該運算裝置上,該方法更包含有:對於與一相應指令相關聯之至少一個安全性參數的每一個,該第一資料包產生模組作用在與該安全性參數相關聯的該指令上以獲得該第一組值的該值並使用該獲得的值來設置該安全 性參數的該可配置值。
該第一安全性配置文件可包含複數個安全性參數,其每一個與一相應的指令相關聯,並且該第一資料包產生模組被散佈在包括有該運算裝置及至少一個遠端運算裝置的多個運算裝置上,該方法更包含有:輸出該第一安全性配置文件給在該運算裝置上之該第一資料包產生模組的一組件;對於該等複數個安全性參數之一或多個,每一個與一相應的指令相關聯,該第一資料包產生模組的該組件(i)作用在與該安全性參數相關聯的該指令上以獲得該第一組值的該值並使用該獲得的值來設置該安全性參數的該可配置值;以及然後(ii)把該第一安全性配置文件輸出給至少一個遠端運算裝置之一遠端運算裝置上該第一資料包產生模組的一另外組件。
該第一安全性配置文件可經由該運算裝置的一通信介面來被輸出,以遞送到包含有該第一資料包產生模組的至少一個遠端運算裝置。
該第二安全性配置文件可包含與一相應指令相關聯的至少一個安全性參數,並且該第二資料包產生模組被實現在該運算裝置上,該方法更包含有:對於與一相應指令相關聯之至少一個安全性參數的每一個,該第二資料包產生模組作用在與該安全性參數相關聯的該指令上以獲得該第二組值的該值並使用該獲得的值來設置該安全性參數的該可配置值。
該第二安全性配置文件可包含複數個安全性參數,其每一個與一相應的指令相關聯,並且該第二資料包產生模組被散佈在包括有該運算裝置及至少一個遠端運算裝置的多個運算裝置上,該方法更包含有:輸出該第二安全性配置文件給在該運算裝置上之該第二資料包產生模組的一組件;對於該等複數個安全性參數之一或多個,每 一個與一相應的指令相關聯,該第二資料包產生模組的該組件(i)作用在與該安全性參數相關聯的該指令上以獲得該第二組值的該值並使用該獲得的值來設置該安全性參數的該可配置值;以及然後(ii)把該第二安全性配置文件輸出給至少一個遠端運算裝置之一遠端運算裝置上之該第二資料包產生模組的一另外組件。
該第二安全性配置文件可經由該運算裝置的一通信介面來被輸出,以遞送到包含有該第二資料包產生模組的至少一個遠端運算裝置。
該第一資料包產生模組可以與該第二資料包產生模組相同,並且該第一裝置規劃模組可以與該第二裝置規劃模組相同。
該第一資料包產生模組與該第二資料包產生模組可以是分開的模組,並且該第一裝置規劃模組與該第二裝置規劃模組可以是分開的模組。
該方法更可包含該資料包產生模組:接收應用軟體;基於一產生的安全性配置文件及該應用軟體產生一規劃資料包,該產生的安全性配置文件對應於該第一安全性配置文件或該第二安全性配置文件;使用一傳輸加密金鑰來加密該規劃資料包以產生一經加密的規劃資料包;以及輸出該經加密的規劃資料包給用於規劃該至少一個目標裝置的一裝置規劃模組,該裝置規劃模組對應於該第一裝置規劃模組或該第二裝置規劃模組。
該基礎安全性配置文件可以定義至少一個具有一不可配置值的安全性參數。
根據本發明的另一方面,提供了一種電腦程式產品,以提供用於規劃該至少一個目標裝置的一安全性配置文件,該程式產品包含有被實現在一電腦可讀取媒體中的程式碼,並且被配置成使得當 其在運算裝置之一處理裝置上被執行可執行該等上述的方法。
該程式碼可被提供在一載體上,諸如磁碟、CD或DVD-ROM、經規劃的記憶體諸如非依電性記憶體(例如快閃記憶體)或唯讀記憶體(韌體)。用以實現本發明之實施例的程式碼(及/或資料)可包括用一傳統程式語言(直譯或編譯)諸如C、或組合語言的來源程式碼、物件或可執行程式碼。正如習知技藝者將理解的,這樣的程式碼及/或資料可被散佈在彼此通信之複數個耦合的組件之間。
根據本發明的另一方面,提供了一種運算裝置用來提供用於規劃至少一個目標裝置的一安全性配置文件,該運算裝置包含有:一輸入裝置;以及一安全性配置文件產生模組,該安全性配置文件產生模組被配置成:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,回應於經由該運算裝置之一輸入裝置從一位使用者接收輸入,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下方式用一第一組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第一資料儲存位置處檢索該第一組值的該值,並使用該檢索到的值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第一組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出;回應於經由該輸入裝置從一位使用者接收另外的輸入,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下方式用一第二組值中的一值來指派該安全性參數:(i)從耦合到該運算裝置之一第二資料儲存位置處檢索該第二組值的該值,並使用該檢索到的值設置該安全性參數的該可 配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用該獲得的值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃至少一個目標裝置的該第一安全性配置文件以供一第一類型的使用者來使用;以及輸出用於規劃至少一個目標裝置的該第二安全性配置文件以供與該第一類使用者不同之一第二類型的使用者來使用。
從以下描述的該等實施例中,這些和其他方面將會是顯而易見的。本發明的範圍並不旨在受限於本總結,也不旨在受限於必須解決所述之任何或所有缺點的實現方式。
100:系統
102:安全性配置文件產生模組
104:受保護的資料儲存區
105:安全官
106:開發配置文件
108:開發者
110:應用程式產生模組
112:應用軟體
114:安全性配置文件
116:資料包產生模組
118:受保護的DPGM資料儲存區
120:規劃資料包
122:裝置規劃模組
124:受保護的DP資料儲存區
126:開發資料包產生模組
128:DDPGM資料儲存區
130:開發規劃資料包
132:開發裝置規劃模組
134:DDP資料儲存區
200:使用者終端
202:CPU
204:OS
206:記憶體
208:通信介面
210:輸入裝置
212:顯示器
300:基礎安全性配置文件
302:認證鏈
304:根認證
306、310、314、318、322:參數—可配置值
308:中間認證
312:裝置認證
316:加密金鑰資訊
320:裝置處理器配置
400:程序
S402~S408:方塊
現在將僅藉由一實例並參考該等附圖來描述本發明的一些較佳的實施例,其中:圖1展示出一種用於規劃目標裝置的系統;圖2圖示出一使用者終端之一示意性的方塊圖;圖3展示出一實例基礎安全性配置文件之一示意性的方塊圖;以及圖4係一程序流程圖,該程序提供用於規劃至少一個目標裝置的一安全性配置文件。
較佳實施例之詳細說明
在應用軟體的開發期間,與該應用軟體相關聯的該等安全性參數可能需要被改變以啟用該應用軟體的除錯或測試。例如,允許從該裝置提取出詳細程序資訊的附加介面(例如USB或串列)可被啟用,從而允許識別出及診斷在該應用軟體中的錯誤。此外,軟體映像的該加密保護可以使用替代的認證鍊層級結構,使得只有在一公司其自己內部 的目標裝置才將能夠載入這些軟體映像的開發及測試版本。在另一實例中,在開發該應用軟體程式碼中所使用的一認證鍊層級結構的加密金鑰可能需要在該生產階段被更改。這有利地防止開發者存取將被規劃到該目標裝置上的該等加密金鑰,從而防止任何欲破壞該等目標裝置之該安全性的惡意企圖。例如,藉由防止開發人員存取將被規劃到該等目標裝置上的該等加密金鑰,這可以防止任何惡意嘗試要規劃超過一商定數量的目標裝置。藉由規劃超過該商定數量所產生之該等額外的裝置被稱為克隆裝置。克隆裝置具有降低真正(即非克隆)目標裝置能力的效果,因為被指定與該等真正目標裝置進行通信的伺服器可能由於來自克隆(即非真實)裝置的請求而過重負擔,因其會在修復、更新或服務克隆裝置時要求該等伺服器的運算資源。
本發明的實施例使得配置目標裝置所需的安全性資訊能夠容易地且準確地被改變以提供目標裝置的有效規劃。
現在僅通過舉例的方式來描述實施例。
首先參考圖1,其圖示出一種用於規劃目標裝置的系統100。在本文中術語「目標裝置」被使用來指一可規劃的裝置(例如,一微處理器、微控制器、等等)。
該系統100包含一安全性配置文件產生模組102。該安全性配置文件產生模組102係由一安全官105所操作之一使用者終端的一組件。該安全性配置文件產生模組102可被耦合(經由一有線或無線的連接)到一受保護的資料儲存區104。
圖2圖示出由該安全官105所操作的該使用者終端200。該使用者終端102包含一中央處理單元(「CPU」)202,其被連接有諸如一螢幕或觸控螢幕的一顯示器212及諸如鍵盤、滑鼠、觸敏顯示器、觸控板、及/或一麥克風的一輸入裝置210。該CPU 202被連 接到一通信介面208用於與外部運算裝置進行有線或無線通信。該使用者終端200還包含用於儲存資料的一記憶體206,如在該領域中所熟知的。該記憶體206可以是一永久記憶體,諸如一ROM。或者,該記憶體206可以是一暫時性的記憶體,諸如RAM。該記憶體206是係一未受保護的資料儲存區,因為它係以明文形式,即未加密的形式,來儲存資料。
圖2還圖示出在該CPU 202上執行的一作業系統(「OS」)204。在該OS 204之上運行的係該安全性配置文件產生模組102。該安全性配置文件產生模組102提供一使用者介面,其被顯示在顯示器212上以讓該安全官105與該安全性配置文件產生模組102進行互動。一旦啟動,該安全官105可以使用一或多個輸入裝置210與由該安全性配置文件產生模組102所提供的該使用者介面進行互動來做出適當的選擇。
如在圖2中所示,該使用者終端200可被耦合到一受保護的資料儲存區104。該受保護的資料儲存區104可例如係一硬體安全性模組(HSM)。
該安全性配置文件產生模組102被配置成藉由回應於來自該安全官105的輸入修改一基礎安全性配置文件來產生在規劃目標裝置中所使用的一安全性配置文件。在本文中術語「安全性配置文件」被使用來指一份配置文件,一裝置規劃模組122可以把它儲存在該裝置規劃模組122的記憶體中,並可對它做查詢並從中提取資訊,以便規劃目標裝置。在本文中術語「基礎安全性配置文件」被使用來指被使用來產生一安全性配置文件的一配置文件。這個被使用來產生一安全性配置文件的配置文件在本文中被稱為一「基礎」安全性配置文件,因為它被使用作為模板的形式,可以從該模板產生出不同的安 全性配置文件。因此,該基礎安全性配置文件可以被視為一基礎安全性模板。
在下面將被更詳細地描述的該基礎安全性配置文件定義了複數個用於配置該目標裝置的安全性參數,其至少一個安全性參數具有一可配置值。該基礎安全性配置文件還可另外定義至少一個具有一不可配置值的安全性參數。該基礎安全性配置文件被顯示在該安全性配置文件產生模組102的該使用者介面中,該安全性配置文件產生模組被顯示在顯示器212之上。該基礎安全性配置文件清楚地指出在一安全性配置文件可被產生以在規劃該目標裝置中使用之前,在該基礎安全性配置文件中之該等安全性參數的哪些必須要由該安全官105來配置。
為了產生一安全性配置文件,具有一可配置值之該等安全性參數的每一個在該安全官105與由該安全性配置文件產生模組102所提供的該使用者介面互動時被指派一值(其可以包含字母、數字及/或符號)。
該安全性配置文件產生模組102所產生的每一個安全性配置文件係以相同的基礎安全性配置文件以不同組的值所產生的,該組值被使用來指派一值給在該基礎安全性配置文件中具有一可配置值的該等安全性參數以產生該等相應的安全性配置文件。本文中使用對「不同組的值」的參考係指有多組值在其中兩組之間至少有一個值不同。也就是說,被使用來產生一第一安全性配置文件的一第一組值可以與被使用來產生一第二安全性配置文件的一不同組的值有相同之一或多個值。
該安全官105與由該安全性配置文件產生模組102所提供的該使用者介面互動以為在該基礎安全性配置文件中具有一可配 置值之該等安全性參數的每一個指派一值,以產生一安全性配置文件。
該安全官105指派一值給具有一可配置值之該等安全性參數的每一個,方式為藉由(i)從耦合到該使用者終端200之一資料儲存位置檢索該值,例如從記憶體206或該受保護的資料儲存區104,並且使用該檢索到的值設置該安全性參數的該可配置值,或(ii)把該安全性參數與一指令相關聯來獲得該值,並且使用該獲得的值設置該安全性參數的該可配置值。
該安全性配置文件產生模組102可產生的一個實例安全性配置文件係一開發配置文件106。該安全官105使用一組開發值來指派一值給在該基礎安全性配置文件中具有一可配置值的該等安全性參數。
如在圖1中所示,該安全性配置文件產生模組102被配置來把一開發配置文件106傳送給一應用程式產生模組110。該應用程式產生模組110係由一位開發者108所操作之一使用者終端的一組件,該開發者開發將被部署到該等目標裝置上的應用軟體112。該開發配置文件106係於該應用軟體112的開發期間被該開發者108所使用。一旦被寫入,該應用程式產生模組110輸出該開發配置文件106及該應用軟體112兩者給一開發資料包產生模組126。
一旦該開發資料包產生模組126已經接收到該開發配置文件106,該開發資料包產生模組126被配置成會處理該開發配置文件106以判定在該開發配置文件106中是否存在有與一指令(而不是一實際值)相關聯的任何安全性參數。對於在該開發配置文件106中每一個與一指令相關聯的安全性參數,該開發資料包產生模組126被配置成作用在該指令上以獲得用於該安全性參數的該值,並使用該獲得的值來設置該安全性參數的該可配置值。也就是說,該開發資料包產生 模組126被配置成來「填寫」該開發配置文件106,使得在該開發配置文件106中的每一個安全性參數與一值相關聯。
一旦這被完成,該開發資料包產生模組126被配置來產生用於傳輸給一開發裝置規劃模組132的一開發規劃資料包130。該開發規劃資料包130包含有該應用軟體112及該開發配置文件106(其中在該開發配置文件106中的每一個安全性參數具有一相關聯的值)用於在一開發階段期間規劃目標裝置。該開發裝置規劃模組132被實現在一運算裝置上,並且被使用來把該應用軟體112規劃到目標裝置上,並且使用在該開發規劃資料包130中的該開發配置文件106把安全性資訊規劃到目標裝置上。
該開發資料包產生模組126可被實現在以下的一或多個之上:(i)由該開發者108所操作的該使用者終端;(ii)一或多個獨立的運算裝置(不同於由該開發者108所操作的使用者終端亦不同於包含有該開發裝置規劃模組132的該運算裝置);(iii)包含有該開發裝置規劃模組132的該運算裝置。換句話說,該開發資料包產生模組126可被實現在一單一運算裝置上或被散佈在多個運算裝置上。
一旦一開發階段被完成,該安全性配置文件產生模組102被配置來產生一或多個另外的安全性配置文件114。
該安全性配置文件產生模組102被配置來把一產生的安全性配置文件114發送給一資料包產生模組116。該產生的安全性配置文件114係用來規劃該等目標裝置。該資料包產生模組116也接收該應用軟體112,其可以來自由一開發者108所操作的該使用者終端(如圖1所示)或者來自使用者終端200(如果該應用程式產生模組110一旦寫入時就把該應用軟體112傳回給使用者終端200)。
一旦該資料包產生模組116已經接收到該安全性配置 文件114,該資料包產生模組116被配置成處理該安全性配置文件114以判定在該安全性配置文件114中是否存在有與一指令(而不是一實際值)相關聯之任何的安全性參數。對於在該安全性配置文件114中每一個與一指令相關聯的安全性參數,該資料包產生模組116被配置成作用在該指令上以獲得用於該安全性參數的該值,並使用該獲得的值來設置該安全性參數的該可配置值。也就是說,該資料包產生模組116被配置成來「填寫」該安全性配置文件114,使得在該開發配置文件106中的每一個安全性參數與一值相關聯。
一旦這被完成,該資料包產生模組116被配置來產生用於傳輸給一裝置規劃模組122的一規劃資料包120。該規劃資料包120包含有該應用軟體112及該產生的安全性配置文件114(其中在該安全性配置文件114中的每一個安全性參數具有一相關聯的值)。該裝置規劃模組122被實現在一運算裝置上,並且被使用來把該應用軟體112規劃到目標裝置上,並且使用在該規劃資料包120中該產生的安全性配置文件114把安全性資訊規劃到目標裝置上。
該資料包產生模組116可被實現在以下的一或多個上:(i)使用者終端200;(ii)一或多個獨立的運算裝置(不同於該使用者終端200亦不同於包含有該裝置規劃模組122的該運算裝置);(iii)包含有該裝置規劃模組122的該運算裝置。換句話說,該開發資料包產生模組116可被實現在一單一運算裝置上或被散佈在多個運算裝置上。
該產生的安全性配置文件114可為一測試配置文件。該安全官105使用一組測試值來把一值指派給在該基礎安全性配置文件中具有一可配置值的該等安全性參數,以產生該測試配置文件。該組測試值不同於該組開發值。在這個實例中,該資料包產生模組116 被配置成產生一測試資料包用於傳輸給該裝置規劃模組122。
或者,該產生的安全性配置文件114可為一生產配置文件。該安全官105使用一組生產值來把一值指派給在該基礎安全性配置文件中具有一可配置值的該等安全性參數,以產生該生產配置文件。該組生產值不同於該組開發值亦不同於該組測試值。在這個實例中,該資料包產生模組116被配置成產生一生產資料包用於傳輸給該裝置規劃模組122。
該資料包產生模組116可以在傳輸之前使用一加密金鑰,在本文另外被稱為一「傳輸加密金鑰」,對該產生的規劃資料包120進行加密,以防止在從該資料包產生模組116到裝置規劃模組122的傳輸期間對該規劃資料包120進行未經授權的攔截。
被使用來加密該規劃資料包120的該加密金鑰可以係一對稱加密金鑰。在這個實例中,該資料包產生模組116把用來加密該規劃資料包120之該對稱加密金鑰儲存在受保護的資料儲存區118中,並且該裝置規劃模組122把用來解密該經加密規劃資料包120的該對稱加密金鑰儲存在受保護的資料儲存區124中。可替代地,被使用來加密該規劃資料包120的該加密金鑰可以係一鏈接之公鑰/私鑰對的一公鑰。在這個實例中,該資料包產生模組116可以把用於加密該規劃資料包120的該加密金鑰(該公鑰)儲存在記憶體206中(在該資料包產生模組116被實現在該使用者終端200上的實施例中)或受保護的資料儲存區118中,並且該裝置規劃模組122把該鏈接之公鑰/私鑰對的該私鑰儲存在受保護的資料儲存區124中。該私鑰被使用來解密該經加密的規劃資料包120。注意,在以上的實例中該解密金鑰可以在該目標裝置本身之中--例如,當該規劃資料包120包含該應用軟體112之一更新的情況時,而非該應用軟體112初始被規劃到該裝置中時。
例如,在一實例情境中,該安全性配置文件產生模組102使用該基礎安全性配置文件產生一生產配置文件,所欲係在傳輸給該裝置規劃模組122之前使用該傳輸加密金鑰對該生產資料包進行加密,以防止在從該資料包產生模組116到該裝置規劃模組122的傳輸期間對該生產配置文件進行未經授權的攔截。
如在圖1中所示,該安全性配置文件產生模組102與一受保護的資料儲存區104相關聯。
該開發資料包產生模組116與一資料儲存區128相關聯,而該開發裝置規劃模組122與一資料儲存區134相關聯。該資料包產生模組116與一受保護的資料儲存區118相關聯,而該裝置規劃模組122與一受保護的資料儲存區124相關聯。
在本文中術語「受保護的資料儲存區」被使用來指(i)以加密的形式儲存資料的一資料儲存區,例如一受保護的資料儲存區可能係一硬體安全模組(HSM);或者(ii)以未加密的形式(即明文)來儲存資料的一資料儲存區,但是該資料儲存區係位於一安全的環境中,例如該資料儲存區位於一上鎖的房間中,只有一選定數量的人可以對其存取。
正如以上所討論的,在一些實施例中,該資料包產生模組116被實現在一或多個遠離該使用者終端200的運算裝置上。在這些實施例中,該安全性配置文件產生模組102被配置成經由該通信介面208把所產生的安全性配置文件傳送給在該遠端運算裝置114上的該資料包產生模組116。在該使用者終端200與包含有該資料包產生模組116之該遠端運算裝置之間的該通信鏈路可以係一有線及/或無線通信鏈路。
該安全性配置文件產生模組102可以在傳輸之前使用 一加密金鑰對該所產生的安全性配置文件114進行加密,以防止在從該使用者終端200到包含有該資料包產生模組116之該遠端運算裝置的傳輸期間對該所產生的安全性配置文件114進行未經授權的攔截。
被使用來加密該所產生安全性配置文件114的該加密金鑰可以係一對稱加密金鑰。在這個實例中,該安全性配置文件產生模組102把用來加密該所產生安全性配置文件114的該對稱加密金鑰儲存在受保護的資料儲存區104中,並且該資料包產生模組116把用來解密該經加密的安全性配置文件的該對稱加密金鑰儲存在受保護的資料儲存區118中。可替代地,被使用來加密該所產生安全性配置文件114的該加密金鑰可以係一鏈接之公鑰/私鑰對的一公鑰。在這個實例中,該安全性配置文件產生模組102可以把用於加密該所產生安全性配置文件114的該加密金鑰(該公鑰)儲存在記憶體206中或受保護的資料儲存區104中,並且該資料包產生模組116把該鏈接之公鑰/私鑰對的該私鑰儲存在受保護的資料儲存區118中。該私鑰被使用來解密該經加密的安全性配置文件。
現在參考圖3,其圖示出使用來在本發明的實施例中產生一安全性配置文件的一實例基礎安全性配置文件。
該基礎安全性配置文件300定義了複數個安全性參數。
在該基礎安全性配置文件300中的複數個安全性參數包含至少一個具有一可配置值的安全性參數。也就是說,當該安全官105與該安全性配置文件產生模組102所提供的該使用者介面進行互動時,該安全員105能夠修改在該基礎安全性配置文件300中與這些特定安全性參數相關聯的該值。
因此,對於在該基礎安全性配置文件300中具有一可 配置值的該(等)安全性參數,該安全官105能夠在該基礎安全性配置文件中使用將被代入、及/或被參考的一第一組值來修改該基礎安全性配置文件300,以產生一第一安全性配置文件用於規劃由一第一類使用者所使用的該等目標裝置(例如,用於規劃供一開發者檢查其應用軟體操作之該等目標裝置的一開發配置文件);然後,使用該相同安全性配置文件300,在該基礎安全性配置文件中使用將被代入、及/或被參考之一不同組的值,以產生一不同的安全性配置文件用於規劃由一不同類使用者所使用的該等目標裝置(例如,用於規劃供該等目標裝置之最終使用者所使用之該等目標裝置的一生產配置文件)。
在該基礎安全性配置文件300中具有一可配置值的該(等)安全性參數可包含以下的一或多個:至少一個與用於規劃在該等目標裝置上之數位認證相關聯的數位認證參數;至少一個與用於規劃在該至少一個目標裝置上之一密碼金鑰相關聯的密碼金鑰參數;以及至少一個用於在該至少一個目標裝置之每一個上規劃一處理單元的處理器參數。
如以上所述,在該基礎安全性配置文件300中具有一可配置值的該(等)安全性參數可包含至少一個與用於規劃在該等目標裝置上之數位認證相關聯的數位認證參數。
如在本領域中所熟知的,數位認證係使用一認證鏈來被驗證。
具有可配置值的該(等)數位認證參數與一或多個認證鏈302相關聯。一認證鏈302通常包含一根認證304、一或多個中間認證308、以及一或多個裝置認證312。
每一個目標裝置以至少一個唯一的裝置認證312來被規劃,並且可另外以一或多個中間認證308及/或一根認證304來被規 劃。
在該基礎安全性配置文件300中具有可配置值的該(等)數位認證參數與將被規劃到該等目標裝置上之一或多個該等認證相關聯。
也就是說,該基礎安全性配置文件300包含在該基礎安全性配置文件300中具有可配置值的裝置認證參數314,其與將被規劃到該等目標裝置上的裝置認證312相關聯。該基礎安全性配置文件300可另外包含在該基礎安全性配置文件300中具有可配置值的中間認證參數310,其與將被規劃到該等目標裝置的中間認證308相關聯,及/或在該基礎安全性配置文件300中具有可配置值的根認證參數306,其與將被規劃到該等目標裝置上的根認證304相關聯。
該(等)裝置認證參數314、中間認證參數310、以及根認證參數306的每一個可以包含以下的一或多個:(i)一發行者名稱參數,其具有定義該數位認證之一發行者的一可配置值;(ii)一有效期參數,其具有定義該數位認證之一有效期的一可配置值;(iii)一主題名稱參數,其具有定義該數位認證之一主題的一可配置值;(iv)一公鑰參數,其具有定義該數位認證之一公鑰的一可配置值;(v)一裝置序號參數,其具有定義該數位認證將要被規劃在其上之該目標裝置的一可配置值;以及(vi)一認證簽章參數,其具有定義該數位認證之一簽章的一可配置值。將被理解的是,這些僅僅是在該基礎安全性配置文件300中可以具有一可配置值的實例認證參數,並且實施例擴展到未在本文中所提及之其他的認證參數。
作為一實例,當使用該安全性配置文件產生模組102從該基礎安全性配置文件300產生一開發配置文件時,該安全官105可以對該有效期參數314指派一值,該值指出將在該等目標裝置上被 規劃之該等裝置認證的一有限有效期(例如,一周或一個月),而當使用該安全性配置文件產生模組102從該基礎安全性配置文件300產生一生產配置文件時,該安全官105可對該有效期參數314指派一值,該值指出將在該等目標裝置上被規劃之該等裝置認證的一有限有效期,以便於該裝置進行認證。
附加地或替代地,該基礎安全性配置文件300可包含用於把一或多個加密金鑰部署到該等目標裝置之每一個上的加密金鑰資訊316。對於每一個目標裝置,該加密金鑰資訊316包含至少一個與用於規劃在該目標裝置上之一加密金鑰相關聯的密碼金鑰參數322。
與一目標裝置相關聯的該至少一個加密金鑰參數322可包含具有一可配置值的一對稱金鑰參數,其定義了用於規劃在該目標裝置上的一對稱金鑰以供該目標裝置使用來與其他運算裝置進行通信。與一目標裝置相關聯的至少一個加密金鑰參數322可包含具有一可配置值的一私鑰參數,其定義了非對稱金鑰對的一私鑰,用於規劃在該目標裝置上以供該目標裝置使用來解密接收自其他運算裝置的資訊。
附加地或替代地,該基礎安全性配置文件300可包含裝置處理器配置資訊320,其被使用來配置在該等目標裝置之每一個上之一處理單元的安全性設置。該裝置處理器配置資訊320包含至少一個具有一可配置值的處理器參數322,用於在該等目標裝置之每一個上規劃一處理單元。
該至少一個處理器參數322包含以下之一或多個:(i)一除錯介面參數,其具有定義在該處理單元上的一除錯介面是否將被啟用還是禁用的一可配置值;(ii)一JTAG介面參數,其具有定義在該處理單元上的一JTAG介面是否將被啟用還是禁用的一可配置值;(iii) 一USB介面參數,其具有定義在該處理單元上的一USB介面是否將被啟用還是禁用的一可配置值;(iv)一串列介面參數,其具有定義在該處理單元上的一串列介面是否將被啟用還是禁用的一可配置值;(v)一網路介面參數,其具有定義在該處理單元上的一網路介面是否將被啟用還是禁用的一可配置值;(vi)一特徵啟用參數,其具有定義在該處理單元上執行之應用軟體的一特徵是否將被啟用還是禁用的一可配置值;以及(vii)一讀出參數,其具有定義對耦合到該處理單元之記憶體的外部存取是否將被啟用還是禁用的一可配置值(例如,一鎖定參數)。
作為一實例,當使用該安全性配置文件產生模組102從該基礎安全性配置文件300產生一開發配置文件時,該安全官105可把該除錯介面參數的該可配置值指派成一值來啟用在該處理單元上之該除錯介面(用以允許該開發者在規劃到該等目標裝置上之該應用軟體上執行除錯操作),而當使用該安全性配置文件產生模組102從該基礎安全性配置文件300產生一生產配置文件時,該安全官105可把該除錯介面參數的該可配置值指派成一值來禁用在該處理單元上之該除錯介面(用以避免末端使用者在規劃到該等目標裝置上之該應用軟體上執行除錯操作)。
在該基礎安全性配置文件300中的該等複數個安全性參數可包含至少一個具有一不可配置值的安全性參數。也就是說,當安全官105與由該安全性配置文件產生模組102所提供該使用者介面進行互動時,該安全官105不能修改在該基礎安全性配置文件300中與這些特定安全性參數相關聯的該值。也就是說,每當一安全性配置文件係使用該基礎安全性配置文件300被產生時,該安全性配置文件包含具有這(些)不可配置值的該(等)安全性參數。
圖4係一種程序的流程圖用於提供一安全性配置文件來對至少一個目標裝置進行規劃。在圖4中所展示出的該等步驟係由該安全性配置文件產生模組102來實現。
在步驟S402,該安全性配置文件產生模組102獲得一基礎安全性配置文件300。該安全性配置文件產生模組102可藉由從記憶體206處檢索先前已創建之該基礎安全性配置文件300來獲得該基礎安全性配置文件300。或者,基礎安全性配置文件300獲得該基礎安全性配置文件300的方式可藉由回應於該安全官105所做出之適當的選擇來產生該基礎安全性配置文件300,其中該安全官係使用一或多個輸入裝置210與由該安全性配置文件產生模組102所提供之該使用者介面進行互動來做出選擇。
在步驟S404,該安全性配置文件產生模組102判定是否要產生一安全性配置文件以回應於判定是否一組值將被代入、及/或被引用,在已經由該安全官105所輸入的該基礎安全性配置文件300中。
如果一組值將被代入、及/或被引用,在已經由該安全官105所輸入的該基礎安全性配置文件300中,該程序前進到步驟S406,由此該安全官105與由該安全性配置文件產生模組102所提供的該使用者介面進行互動,以對在該基礎安全性配置文件中具有一可配置值之該等安全性參數的每一個指派一值以產生一安全性配置文件,其可以是,例如,一開發配置文件、測試配置文件、或生產配置文件。將被理解的是,參照這些類型的安全性配置文件僅是為了說明該概念,該安全性配置文件產生模組102可從該基礎安全性配置文件300產生額外的或替代類型的安全性配置文件。
該安全官105指派一值給在該基礎安全性配置文件中 具有一可配置值之該等安全性參數的每一個,方式為藉由(i)從耦合到該使用者終端200之一資料儲存位置檢索該值,例如從記憶體206或該受保護的資料儲存區104,並且使用該檢索到的值設置該安全性參數的該可配置值,或(ii)把該安全性參數的與一指令相關聯來獲得該值,並且使用獲得的值設置該安全性參數的該可配置值。
與在該所產生安全性配置文件中之一安全性參數相關聯的任何指令可由該開發資料包產生模組126或該資料包產生模組116來執行,取決於該正被產生之安全性配置文件的類型。
由該安全官105所輸入的一指令可以採用多種形式。
可與在該基礎安全性配置文件中具有一可配置值之一安全性參數相關聯之一指令的一個實例係該資料包產生模組隨機地產生用於該安全性參數之該值的一指令。例如,當產生一測試及/或生產配置文件時,該安全官105可以選擇把一公鑰參數(在該基礎安全性配置文件中),其與用於規劃在該等目標裝置中之一上的一裝置認證312相關聯,相關聯到一指令,其命令該資料包產生模組116隨機地產生一公鑰/私鑰對,並使用該隨機產生公鑰的該值來設置該公鑰參數。
可與在該基礎安全性配置文件中具有一可配置值之一安全性參數相關聯之一指令的另一實例係資料包產生模組從一遠端資料儲存區檢索該值,該指令包含有該遠端資料儲存區的一識別碼以及在該遠端資料儲存區上的一資料儲存位置。例如,當產生一開發配置文件106時,對於該開發資料包產生模組126來說在該指令中所參照的該遠端資料儲存區可以是該資料儲存區128或該資料儲存區134。當產生一測試及/或生產配置文件時,對於該資料包產生模組116來說在該指令中所參照的該遠端資料儲存區可以是該受保護的資料儲存區118(在該資料包產生模組116被實現在遠離於該使用者終端200之一 運算裝置上的實施例中)或該受保護的資料儲存區124。
可與在該基礎安全性配置文件中具有一可配置值之一安全性參數相關聯之一指令的又另一實例係一指令,其命令該資料包產生模組使用指派給在該基礎安全性配置文件中一或多個其他安全性參數的值來產生用於該安全性參數的該值。例如,該安全官105可選擇把一簽章參數(在該基礎安全性配置文件中),其與用於規劃在該等目標裝置中之一上的一裝置認證312相關聯,相關聯到一指令,其命令該資料包產生模組使用指派給與一中間認證308(在一認證鏈302中緊鄰該裝置認證312上方的該級別)相關聯的私鑰參數的一值來加密與該裝置認證312相關聯的複數個安全性參數(包括與該裝置認證312相關聯的一公鑰參數)來產生用於該簽章參數的該值。
可與在該基礎安全性配置文件中具有一可配置值之一安全性參數相關聯之一指令的一另外的實例係一指令,其命令該資料包產生模組基於該指令被執行在該資料包產生模組上(或由該資料包產生模組執行)的一日期或時間來產生用於該安全性參數的該值。例如,該安全性參數可以是與用於規劃在該等目標裝置之一上的一裝置認證312相關聯的認證創建日期參數或認證創建時間參數。將被理解的是,在這個實例中,該指令命令該資料包產生模組將不使用指派給在該基礎安全性配置文件中一或多個其他安全性參數的該值來產生用於該安全性參數的該值。
可與在該基礎安全性配置文件中具有一可配置值之一安全性參數相關聯之一指令的另一實例係一指令,其命令該資料包產生模組藉由與裝置規劃模組122、132進行通信從正被規劃的該目標裝置檢索該值。例如,當產生該開發配置文件時,該安全官105可以選擇把與用於規劃在一目標裝置上之一裝置認證312相關聯的一裝置序 號參數相關聯到一指令,其命令該開發資料包產生模組126要求該開發裝置規劃器132讀取被硬編碼在該裝置上的一裝置序號,並把該裝置序號提供回給該開發資料包產生模組126,而該開發資料包產生模組126把在該裝置認證312中該裝置序號參數的該值設置成該讀取到的裝置序號。類似地,當產生一生產配置文件時,該安全官105可以選擇把與用於規劃在一目標裝置上之一裝置認證312相關聯的一裝置序號參數相關聯到一指令,其命令該資料包產生模組116要求該開發裝置規劃模組122讀取被硬編碼在該裝置上的一裝置序號,並把該裝置序號提供回給該資料包產生模組116,而該資料包產生模組126把在該裝置認證312中該裝置序號參數的該值設置成該讀取到的裝置序號。
一旦該安全性配置文件已被產生,該安全性配置文件產生模組102在步驟S408輸出該安全性配置文件,用於規劃該至少一個目標裝置。
正如從在圖4中的該反饋迴路可以明顯看出的,之後可以產生另外的安全性配置文件。該另外的安全性配置文件可被使用來規劃與使用一先前產生之安全性配置文件被規劃之該(等)目標裝置相同的目標裝置。或者,該另外的安全性配置文件可被使用來規劃與使用一先前產生之安全性配置文件被規劃之該(等)目標裝置不同的目標裝置。
正如從在圖4中的該反饋迴路可以明顯看出的,當一另外的安全性配置文件將被產生時,該安全性配置文件產生模組102使用相同的基礎安全性配置文件300產生該另外的安全性配置文件。因此,該基礎安全性配置文件300清楚地指出在該基礎安全性配置文件300中那一些具有一可配置值的安全性參數在該安全性配置文件可被 產生之前必須被指派一值。在該基礎安全性配置文件300中,具有一可配置值的該(等)安全性參數可以與一未定義的值相關聯,以向該安全官105清楚地指出在一安全性配置文件可被產生之前該(等)安全性參數必須被指派一值。此外,在該基礎安全性配置文件300中具有一不可配置值的該(等)安全性參數防止了這(些)安全性參數的意外修改,因為可能會導致規劃錯誤。
一般來說,本文中所描述之任何的功能可以使用軟體、韌體、硬體(例如,固定邏輯電路)、或這些實現方式的一種組合來被實現。在本文中術語「模組」一般被使用來表示軟體、韌體、硬體、或它們的組合。在一種軟體實現的情況下,該模組表示在一處理器(例如CPU或多個CPU)上執行時執行指定任務的程式碼。該程式碼可被儲存在一或多個電腦可讀取記憶體裝置中。下面所描述技術的特徵係獨立於平台的,意味著可以在具有各種處理器之各種商業運算平台上來實現該等技術。
儘管已經根據如以上所述之較佳的實施例描述了本發明,但應被理解的是,這些實施例僅是說明性的,並且該等請求項不侷限於那些實施例。有鑑於本發明的內容,本領域的習知技藝者將能夠進行被視為係落入該等所附請求項之該範圍內的修改和替換。在本說明書中所公開或示出之每一個特徵可以在本發明中被結合,無論係單獨的或是與在本文中所公開或示出之任何其他的特徵做任何適當的組合。
100:系統
102:安全性配置文件產生模組
104:受保護的資料儲存區
105:安全官
106:開發配置文件
108:開發者
110:應用程式產生模組
112:應用軟體
114:安全性配置文件
116:資料包產生模組
118:受保護的DPGM資料儲存區
120:規劃資料包
122:裝置規劃模組
124:受保護的DP資料儲存區
126:開發資料包產生模組
128:DDPGM資料儲存區
130:開發規劃資料包
132:開發裝置規劃模組
134:DDP資料儲存區

Claims (25)

  1. 一種提供用於規劃一第一目標裝置之一第一安全性配置文件及用於規劃一第二目標裝置之一第二安全性配置文件的方法,該方法被實現在一運算裝置上並包含有:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,響應於經由該運算裝置之一輸入裝置從一使用者接收輸入,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第一組值中的一值:(i)從耦合到該運算裝置之一第一資料儲存位置檢索該第一組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第一組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出;響應於經由該輸入裝置從一使用者接收另外的輸入,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第二組值中的一值:(i)從耦合到該運算裝置之一第二資料儲存位置檢索該第二組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃該第一目標裝置的該第一安全性配置文件以供一第一類型的使用者使用;以及 輸出用於規劃該第二目標裝置的該第二安全性配置文件以供與該第一類型的使用者不同之一第二類型的使用者使用。
  2. 如請求項1之方法,其中該至少一個安全性參數包含至少一個與用於規劃在該第一目標裝置及該第二目標裝置中之至少一者上之一數位認證相關聯的數位認證參數。
  3. 如請求項2之方法,其中該至少一個數位認證參數包含以下之一或多個:一發行者名稱參數,其具有定義該數位認證之一發行者的一可配置值;一有效期參數,其具有定義該數位認證之一有效期的一可配置值;一對象名稱參數,其具有定義該數位認證之一對象的一可配置值;一公鑰參數,其具有定義該數位認證之一公鑰的一可配置值;一裝置序號參數,其具有定義該數位認證將被規劃在其上之該第一目標裝置及該第二目標裝置中之至少一者的一可配置值;以及一認證簽章參數,其具有定義該數位認證之一簽章的一可配置值。
  4. 如請求項1至3中任一項之方法,其中該至少一個安全性參數包含至少一個與用於規劃在該第一目標裝置及該第二目標裝置中之至少一者上之一密碼金鑰相關聯的密碼金鑰參數。
  5. 如請求項4之方法,其中該至少一個密碼金鑰參數包含以下之一或多個:至少一個具有定義一對稱金鑰之一可配置值的對稱金鑰參數;以及至少一個具有定義一非對稱金鑰對之一私鑰之一可配置值的私鑰參數。
  6. 如請求項1之方法,其中該至少一個安全性參數包 含至少一個用於在該第一目標裝置及該第二目標裝置之每一個上規劃一處理單元的處理器參數。
  7. 如請求項6之方法,其中該至少一個處理器參數包含以下之一或多個:一除錯介面參數,其具有定義在該處理單元上的一除錯介面是否將被啟用或禁用的一可配置值;一JTAG介面參數,其具有定義在該處理單元上的一JTAG介面是否將被啟用或禁用的一可配置值;一USB介面參數,其具有定義在該處理單元上的一USB介面是否將被啟用或禁用的一可配置值;一串列介面參數,其具有定義在該處理單元上的一串列介面是否將被啟用或禁用的一可配置值;一網路介面參數,其具有定義在該處理單元上的一網路介面是否將被啟用或禁用的一可配置值;一特徵啟用參數,其具有定義在該處理單元上執行之應用軟體的一特徵是否將被啟用或禁用的一可配置值;以及一讀出參數,其具有定義對耦合到該處理單元之記憶體的外部存取是否將被啟用或禁用的一可配置值。
  8. 如請求項1之方法,其中一資料儲存區被耦合到該運算裝置,該資料儲存區包含有該第一資料儲存位置及該第二資料儲存位置。
  9. 如請求項8之方法,其中該資料儲存區係一受保護的資料儲存區。
  10. 如請求項1之方法,其中一不受保護的資料儲存區及一受保護的資料儲存區被耦合到該運算裝置,該不受保護的資料儲 存區包含該第一資料儲存位置且該受保護的資料儲存區包含該第二資料儲存位置。
  11. 如請求項9或10之方法,其中該受保護的資料儲存區係一硬體安全性模組。
  12. 如請求項1之方法,其中該等一或多個指令包含以下之至少一個:用以隨機地產生該值之一指令;用以從一遠端資料儲存區檢索該值之一指令,該指令包含該遠端資料儲存區的一識別碼以及在該遠端資料儲存區上的一資料儲存位置;用以使用指派給該基礎安全性配置文件之至少一個另外的安全性參數之至少一個值來產生該值之一指令;和用以基於該指令起作用之一日期或時間來產生該值之一指令;以及用以從該第一目標裝置或該第二目標裝置檢索該值之一指令。
  13. 如請求項1之方法,其中該方法包含:輸出用於傳送給一第一資料包產生模組的該第一安全性配置文件,該第一資料包產生模組配置成基於該第一安全性配置文件來產生一第一規劃資料包以輸出給一第一裝置規劃模組來規劃該第一目標裝置;以及輸出用於傳送給一第二資料包產生模組的該第二安全性配置文件,該第二資料包產生模組配置成產生一第二規劃資料包以輸出給一第二裝置規劃模組來規劃該第二目標裝置。
  14. 如請求項13之方法,其中該第一安全性配置文件包含至少一個與一相應指令相關聯的安全性參數,並且該第一資料包產 生模組係實現在該運算裝置上,該方法更包含有:對於至少一個與一相應指令相關聯之安全性參數的每一個,該第一資料包產生模組根據與該安全性參數相關聯的該指令作用以獲得該第一組值的該值並且使用所獲得的該值來設置該安全性參數的該可配置值。
  15. 如請求項13之方法,其中該第一安全性配置文件包含複數個安全性參數,每一個安全性參數均與一相應指令相關聯,並且該第一資料包產生模組被散佈在包括該運算裝置及至少一個遠端運算裝置的多個運算裝置上,該方法更包含有:輸出該第一安全性配置文件給在該運算裝置上之該第一資料包產生模組的一組件;對於每一安全性參數均與一相應指令相關聯之該等複數個安全性參數的一或多個,該第一資料包產生模組的該組件(i)根據與該安全性參數相關聯的該指令作用以獲得該第一組值的該值,並使用所獲得的該值來設置該安全性參數的該可配置值;以及然後(ii)把該第一安全性配置文件輸出給在至少一個遠端運算裝置之一遠端運算裝置上之該第一資料包產生模組的一另外組件。
  16. 如請求項13之方法,其中該第一安全性配置文件經由該運算裝置之一通信介面輸出,以遞送給包含有該第一資料包產生模組的至少一個遠端運算裝置。
  17. 如請求項13至16中任一項的方法,其中該第二安全性配置文件包含至少一個與一相應指令相關聯的安全性參數,並且該第二資料包產生模組被實現在該運算裝置上,該方法更包含有:對於該至少一個與一相應指令相關聯之安全性參數的每一個,該第二資料包產生模組根據與該安全性參數相關聯的該指令作用以獲得 該第二組值的該值並使用獲得的該值來設置該安全性參數的該可配置值。
  18. 如請求項13至16中任一項的方法,其中該第二安全性配置文件包含複數個安全性參數,每一安全性參數均與一相應指令相關聯,並且該第二資料包產生模組被散佈在包括該運算裝置及至少一個遠端運算裝置的多個運算裝置上,該方法更包含有:輸出該第二安全性配置文件給在該運算裝置上之該第二資料包產生模組的一組件;對於每一安全性參數均與一相應指令相關聯之該等複數個安全性參數的一或多個,該第二資料包產生模組的該組件(i)根據與該安全性參數相關聯的該指令作用以獲得該第二組值的該值並使用獲得的該值來設置該安全性參數的該可配置值;以及然後(ii)把該第二安全性配置文件輸出給在至少一個遠端運算裝置之一遠端運算裝置上之該第二資料包產生模組的一另外組件。
  19. 如請求項13至16中任一項的方法,其中該第二安全性配置文件經由該運算裝置之一通信介面輸出,以遞送給包含該第二資料包產生模組的至少一個遠端運算裝置。
  20. 如請求項13至16中任一項的方法,其中該第一資料包產生模組係與該第二資料包產生模組相同,以及該第一裝置規劃模組係與該第二裝置規劃模組相同。
  21. 如請求項13至16中任一項的方法,其中該第一資料包產生模組與該第二資料包產生模組係分開的模組,以及該第一裝置規劃模組與該第二裝置規劃模組係分開的模組。
  22. 如請求項14之方法,其中該方法更包含該資料包產生模組以: 接收應用軟體;基於一產生的安全性配置文件及該應用軟體產生一規劃資料包,該產生的安全性配置文件對應於該第一安全性配置文件或該第二安全性配置文件;使用一傳輸加密金鑰來加密該規劃資料包以產生一經加密的規劃資料包;以及輸出該經加密的規劃資料包給一裝置規劃模組來規劃該第一目標裝置及該第二目標裝置中之至少一者,該裝置規劃模組對應於該第一裝置規劃模組或該第二裝置規劃模組。
  23. 如請求項1之方法,其中該基礎安全性配置文件定義至少一個具有一不可配置值的安全性參數。
  24. 一種提供用於規劃至少一個目標裝置之一安全性配置文件的電腦程式產品,該程式產品包含有被具體實現在一電腦可讀取媒體上的程式碼,並且被配置成使得當其在運算裝置之一處理設備上被執行時可執行:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,響應於經由該運算裝置之一輸入裝置從一使用者接收輸入,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第一組值中的一值:(i)從耦合到該運算裝置之一第一資料儲存位置檢索該第一組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)將該安全性參數與一指令相關聯以獲得該第一組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出; 響應於經由該輸入裝置從一使用者接收另外的輸入,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第二組值中的一值:(i)從耦合到該運算裝置之一第二資料儲存位置檢索該第二組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃該第一目標裝置的該第一安全性配置文件以供一第一類型的使用者使用;以及輸出用於規劃該第二目標裝置的該第二安全性配置文件以供與該第一類型的使用者不同之一第二類型的使用者使用。
  25. 一種提供用於規劃一第一目標裝置之一第一安全性配置文件及用於規劃一第二目標裝置之一第二安全性配置文件的運算裝置,該運算裝置包含有:一輸入裝置;以及一安全性配置文件產生模組,該安全性配置文件產生模組被配置成:獲得一基礎安全性配置文件,該基礎安全性配置文件定義至少一個具有一可配置值的安全性參數,響應於經由一輸入裝置從一使用者接收輸入,從該基礎安全性配置文件產生一第一安全性配置文件,其中產生該第一安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第一組值中的一值:(i)從耦合到該 運算裝置之一第一資料儲存位置檢索該第一組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第一組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自一或多個指令中被選擇出;響應於經由該輸入裝置從一使用者接收另外的輸入,從該基礎安全性配置文件產生一第二安全性配置文件,其中產生該第二安全性配置文件包含,對於該至少一個安全性參數的每一個,藉由以下的方式為該安全性參數指派一第二組值中的一值:(i)從耦合到該運算裝置之一第二資料儲存位置檢索該第二組值的該值,並使用檢索到的該值設置該安全性參數的該可配置值,或者(ii)把該安全性參數與一指令相關聯以獲得該第二組值的該值並使用獲得的該值設置該安全性參數的該可配置值,該指令係自該等一或多個指令中被選擇出,其中該第二組值與該第一組值不同;輸出用於規劃該第一目標裝置的該第一安全性配置文件以供一第一類型的使用者使用;以及輸出用於規劃該第二目標裝置的該第二安全性配置文件以供與該第一類型的使用者不同之一第二類型的使用者使用。
TW108106038A 2018-02-23 2019-02-22 提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置 TWI788528B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1802975.1A GB201802975D0 (en) 2018-02-23 2018-02-23 Programming target devices
GB1802975.1 2018-02-23

Publications (2)

Publication Number Publication Date
TW201939336A TW201939336A (zh) 2019-10-01
TWI788528B true TWI788528B (zh) 2023-01-01

Family

ID=61903305

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108106038A TWI788528B (zh) 2018-02-23 2019-02-22 提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置

Country Status (6)

Country Link
US (1) US11277445B2 (zh)
EP (1) EP3555791A1 (zh)
CN (1) CN112005235A (zh)
GB (1) GB201802975D0 (zh)
TW (1) TWI788528B (zh)
WO (1) WO2019162675A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090104890A1 (en) * 2007-09-28 2009-04-23 Interdigital Patent Holdings, Inc. Operation of control protocol data units in packet data convergence protocol
US20110016298A1 (en) * 2009-07-17 2011-01-20 Mccollom William G Configuration File
CN102905256A (zh) * 2012-10-30 2013-01-30 东南大学 基于渗透测试的无线网卡安全评估方法
US20150347746A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Methods for restricting resources used by an application based on a base profile and an application specific profile
CN105635268A (zh) * 2015-12-28 2016-06-01 红豆电信有限公司 可信服务管理云平台
US9858174B2 (en) * 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161520B1 (en) 2004-04-30 2012-04-17 Oracle America, Inc. Methods and systems for securing a system in an adaptive computer environment
US8255904B2 (en) 2006-12-08 2012-08-28 Hewlett-Packard Development Company, L.P. System and method for generating a distributable software package
US8391487B2 (en) * 2007-07-24 2013-03-05 Cisco Technology, Inc. Secure remote configuration of device capabilities
GB2504487A (en) 2012-07-30 2014-02-05 Ibm Automated network deployment of cloud services into a network by matching security requirements
DE102013205051A1 (de) 2013-03-21 2014-09-25 Siemens Aktiengesellschaft Aktualisieren eines digitalen Geräte-Zertifikats eines Automatisierungsgeräts
GB2543096A (en) * 2015-10-09 2017-04-12 Secure Thingz Ltd Data Processing Device
US9910652B2 (en) 2015-11-30 2018-03-06 International Business Machines Corporation Deploying applications
US9923755B2 (en) * 2016-08-01 2018-03-20 Data I/O Corporation Device programming with system generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090104890A1 (en) * 2007-09-28 2009-04-23 Interdigital Patent Holdings, Inc. Operation of control protocol data units in packet data convergence protocol
US20110016298A1 (en) * 2009-07-17 2011-01-20 Mccollom William G Configuration File
CN102905256A (zh) * 2012-10-30 2013-01-30 东南大学 基于渗透测试的无线网卡安全评估方法
US20150347746A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Methods for restricting resources used by an application based on a base profile and an application specific profile
US9858174B2 (en) * 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features
CN105635268A (zh) * 2015-12-28 2016-06-01 红豆电信有限公司 可信服务管理云平台

Also Published As

Publication number Publication date
US11277445B2 (en) 2022-03-15
TW201939336A (zh) 2019-10-01
CN112005235A (zh) 2020-11-27
GB201802975D0 (en) 2018-04-11
EP3555791A1 (en) 2019-10-23
US20210105303A1 (en) 2021-04-08
WO2019162675A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
US11695749B2 (en) Secure feature and key management in integrated circuits
CN110088759B (zh) 用于可编程设备的统一编程环境
TWI744373B (zh) 使用安全演算法嵌入基礎性的信任根
US9436848B2 (en) Configurator for secure feature and key manager
CN110287654B (zh) 使用硬件信任根的媒体客户端装置鉴权
US20180041341A1 (en) Counterfeit prevention
TW201516733A (zh) 用以核對uefi認證變量變化之系統及方法
WO2015042981A1 (zh) 加解密处理方法、装置和设备
CN107948170A (zh) 接口请求参数加密方法、装置、设备及可读存储介质
US11997215B2 (en) Secret protection during software development life cycle
US20160277182A1 (en) Communication system and master apparatus
US10686596B2 (en) Mutually authenticated adaptive management interfaces for interaction with sensitive infrastructure
CN107844707B (zh) 一种卡数据管理方法以及卡数据管理系统
TWI788528B (zh) 提供用於規劃至少一個目標裝置之安全性配置文件的方法、電腦程式產品及運算裝置
CN109150813A (zh) 一种设备的验证方法及装置
JP6898921B2 (ja) ライフサイクル状態の暗号化マネジメント
TWI833900B (zh) 安全資料處理裝置(一)
Indela et al. Toward semantic cryptography APIs
WO2020128639A1 (en) Systems and methods for managing a trusted application in a computer chip module
CN112470158A (zh) 用于可编程逻辑器件的故障表征系统和方法
JP6745933B2 (ja) 個別署名システム
Chaki et al. Verification across intellectual property boundaries
Raval et al. Hardware Root of Trust on IoT Gateway
Franklin et al. CA-in-a-Box
Maulick A Comparison of the Usability of Security Mechanisms Provided by Ios and Android