TW202340994A - 單晶片系統、用於其之方法、及運算器件 - Google Patents
單晶片系統、用於其之方法、及運算器件 Download PDFInfo
- Publication number
- TW202340994A TW202340994A TW112118849A TW112118849A TW202340994A TW 202340994 A TW202340994 A TW 202340994A TW 112118849 A TW112118849 A TW 112118849A TW 112118849 A TW112118849 A TW 112118849A TW 202340994 A TW202340994 A TW 202340994A
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- chip system
- testing
- chip
- manufacturing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 302
- 230000006870 function Effects 0.000 claims abstract description 43
- 238000004519 manufacturing process Methods 0.000 abstract description 86
- 230000004044 response Effects 0.000 abstract description 17
- 230000008569 process Effects 0.000 abstract description 7
- 239000004744 fabric Substances 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 230000007704 transition Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/74—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 operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本發明描述用於實施用於一單晶片系統(SoC)之測試及製造密鑰之系統及技術。該SoC之一硬體測試部分經組態以運用處理在一外部起始測試期間跨構體傳達之資料之域之特徵。回應於從一外部測試系統接收一測試及製造訊標,該SoC的一測試及製造密鑰支援組件產生一測試及製造密鑰。然而,該硬體測試部分經組態以僅回應於該測試及製造安全組件鑑認該測試及製造密鑰而執行一測試功能以促進該SoC之安全性。透過以此方式實施測試及製造密鑰,該單晶片系統保全對潛在敏感功能及機密之存取,同時容許其等在各種生命週期狀態期間之不受妨礙及授權存取以用於測試該單晶片系統。
Description
一單晶片系統(SoC)可包含若干域,包含一處理域(例如,中央處理核心、圖形處理核心)及一支援或特徵域(例如,提供電源管理、安全性、存取、永遠開啟能力、運行安全或非安全程式碼之選項及佈建)。透過實施若干連續生命週期狀態,單晶片系統將若干域一起綁定至一單個晶片之一特徵集中。在此等狀態下所提供的受限特徵可約束測試單晶片系統或併入其之器件的能力。單晶片系統可提供除錯存取及測試功能,該等功能容許一外部系統監視或控制單晶片系統進行除錯及測試。然而,此等係用於攻擊之潛在入口點,此具有曝露由單晶片系統所維持的機密的風險。可圍繞除錯存取及測試功能部署安全措施,此繼而使得使用此等功能變得相對麻煩。此外,除錯及測試功能性自身可在一或多個生命週期狀態期間係特徵受限或限制的,從而進一步降低易用性。
本文件描述用於實施用於單晶片系統的測試及製造密鑰之系統及技術。在一些態樣中,描述一種方法,其包含藉由一單晶片系統從一外部測試系統接收用於該外部測試系統的測試及製造訊標(token)。該方法進一步包含藉由該單晶片系統基於該測試及製造訊標產生用於授權對該單晶片系統之測試功能之存取的測試及製造密鑰。該方法進一步包含基於由該單晶片系統所維持的機密密鑰嘗試該測試及製造密鑰之鑑認,且回應於基於該機密密鑰鑑認該測試及製造密鑰,將一或多個域或一或多個構體是否通過或未通過涉及該單晶片系統之測試功能之一測試的一指示輸出至該外部測試系統。透過藉由此方法實施測試及製造密鑰,該單晶片系統保全對潛在敏感的功能及機密之存取,同時容許其等在各種生命週期狀態期間之不受妨礙及授權存取以用於測試該單晶片系統。
本文件亦描述一種單晶片系統,其經組態以執行上文概述之方法,以及一電腦可讀媒體,該電腦可讀媒體具有可執行指令,該等可執行指令在被執行時,使一運算器件之一單晶片系統執行上文概述之方法。本文中闡述其他方法,以及用於執行上文概述之方法及其他方法之系統及構件。
提供此發明內容以介紹用於實施用於一單晶片系統的測試及製造密鑰之簡化概念,其等在以下實施方式及圖式中進一步描述。此發明內容非意欲識別所主張標的物之基本特徵,亦非意欲用於判定所主張標的物之範疇。
概述
本文件描述用於啟用用於一單晶片系統之測試及製造(TM)密鑰之系統及技術。一單晶片系統可包含多個域,包含處理核心(例如,中央處理、圖形處理)及提供其他支援特徵之域,舉例而言,電源管理、安全性、存取、永遠開啟能力、運行安全或非安全程式碼之選項及使用機密佈建器件。
在測試及常規操作期間,單晶片系統產生資料且執行指令。為了儲存該資料及此等指令,單晶片系統可進一步包含至揮發性記憶體(VM) (例如,隨機存取記憶體,DRAM)及非揮發性記憶體(NVM) (例如,快閃記憶體)的一介面。前者用於程式碼執行,且NVM在程式碼之執行之前儲存該程式碼。可基於能力及效能階層式地組織的單晶片系統之通信構體或匯流排在各種域之間傳送資料。單晶片系統可具有,舉例而言,至一通用匯流排或至專用埠(例如,一攝影機或一顯示器埠)之外部介面。
藉由遍歷一系列生命週期狀態的轉變,單晶片系統將此若干特徵及功能性綁定在一起。出於闡釋性目的,單晶片系統可根據以下四種生命週期狀態來操作。以下狀態僅作為繪示列出;可使用額外或其他生命週期狀態:
● 一開放狀態,其中未啟用安全特徵,且單晶片系統完全或部分未佈建。
● 一開發狀態,其中一些安全特徵係在作用中,且一些測試特徵被啟用,且單晶片系統之佈建可被啟用或係選用的。
● 一生產狀態,其中安全性完全啟用,且單晶片系統完全佈建,且準備好操作或運送給終端使用者。該生產狀態係單晶片系統被併入至終端器件時所處的狀態。
● 一根分析狀態,其中單晶片系統無法執行生產程式碼,且其能力限於診斷單晶片系統之技術問題所需之彼等能力。
單晶片系統藉由從開放狀態進展至開發狀態,且最終進展至生產狀態來改變生命週期狀態,其中單晶片系統在於一器件中被運送之前經歷製造、測試及佈建。出於安全性原因,兩個生命週期狀態之間之轉變可係單向轉變,因此單晶片系統無法返回至一先前生命週期狀態(例如,惟需要晶片製造工具的單晶片系統之修改除外)。在一器件或單晶片系統返回用於故障分析之後,單晶片系統可最終進展至根分析狀態。
有時,單晶片系統之功能性可需要測試。單晶片系統通常透過一實體介面提供除錯存取及測試功能,該實體介面可係專用的或與其他功能共用。通常,除錯存取及測試功能容許一外部系統依據安全約束監視或控制單晶片系統。此等除錯存取及測試功能可係侵入性操作,其中一外部運算環境控制單晶片系統的一處理元件,且其等可干擾程式碼執行,或可載入及執行外部提供的程式碼。在其他實例中,除錯存取及測試功能可係非侵入性操作,其中一外部運算環境,舉例而言,回應於一程式碼執行失敗而監視資料或從單晶片系統提取資料。
兩種類型之除錯存取及測試功能能夠修改或觀察一單晶片系統之一處理元件,包含處理元件的程式碼流,且因此,各存在曝露由單晶片系統所維持的機密的風險。亦即,除錯存取及測試功能係用於攻擊之潛在入口點,且單晶片系統採取廣泛的安全措施,此繼而使得使用除錯存取及測試功能用於生產支援變得相對麻煩。此外,除錯存取及測試功能之功能性可藉由生命週期狀態調節,從而進一步降低易用性。單晶片系統之生命週期狀態可約束測試單晶片系統或併入其之器件的能力。
在本發明中,描述用於實施用於一單晶片系統的測試及製造密鑰之系統及技術。一單晶片系統包含一或多個構體及一或多個域,其或其等處理跨構體傳達之資料。單晶片系統之一硬體測試部分經組態以在一外部起始測試期間運用域及構體之特徵。回應於從一外部測試系統接收一測試及製造訊標,單晶片系統的一測試及製造密鑰支援組件產生一測試及製造密鑰。然而,硬體測試部分經組態以僅回應於鑑認測試及製造密鑰而執行一測試功能以促進單晶片系統之安全性。透過藉由此方法實施測試及製造密鑰,該單晶片系統保全對潛在敏感功能及機密之存取,同時容許其等在各種生命週期狀態期間之不受妨礙及授權存取以用於測試該單晶片系統。
實例環境
圖1繪示根據本發明之技術之經組態以實施測試及製造密鑰之一實例單晶片系統。一單晶片系統100包含與一或多個通信構體104(亦稱為「構體104」)介接的一或多個域102。
域102表示單晶片系統100之處理核心(例如,中央處理器、圖形處理器)及其他支援特徵(例如,電源管理、安全性、永遠開啟)。構體104表示此等域102與硬體測試部分106之間之一傳送層或鏈路。構體104之實例包含將域102連結至單晶片系統100之一電腦可讀儲存媒體(未展示) (例如,一揮發性記憶體)的核心及主構體,及將單晶片系統100之支援特徵互連至另一電腦可讀儲存媒體(未展示) (例如,一非揮發性記憶體)的媒體及系統匯流排及其他匯流排。構體104傳達用於執行單晶片系統100之操作(包含與一測試相關之操作)之資料。在一測試期間,執行單晶片系統100之功能,該等功能運用域102及/或構體104。
單晶片系統100藉由從一開放狀態進展至一開發狀態,且最終進展至一生產狀態來改變生命週期狀態,其中單晶片系統100在於一器件中被運送之前經歷製造、測試及佈建。若返回器件或單晶片系統100用於故障分析,則單晶片系統可進入一根分析狀態。此等僅係一些實例生命週期狀態;單晶片系統100可包含任何數量之生命週期狀態,該等生命週期狀態之各者可阻止測試單晶片系統100。出於安全性原因,單晶片系統100之兩個生命週期狀態之間之轉變係單向轉變,此防止單晶片系統100返回至一先前生命週期狀態。單晶片系統100可能夠返回至一先前生命週期狀態。但是,可需要特殊工具或程序。不同生命週期狀態之各者可約束測試;例如,由於綁定至一當前生命週期狀態之單晶片系統100之一些不變特徵,測試系統110可在完全運用域102及構體104以測試單晶片系統100之能力上受到限制。
一外部運算系統充當一測試系統110 (例如,任何運算器件、電腦、終端或伺服器),且與單晶片系統100通信以起始域102及構體104之一測試。測試系統110藉由選擇一測試及製造訊標112 (簡稱為「TM訊標112」)以發送至單晶片系統100來引導測試。無論單晶片系統100之當前生命週期狀態如何,單晶片系統100經組態以藉由透過一測試及製造密鑰114 (簡稱為「TM密鑰114」)之鑑認而控制存取來允許域102及構體104之測試。TM密鑰114基於TM訊標112產生,且基於由SoC所維持的機密密鑰進行鑑認。
與其他單晶片系統不同,單晶片系統100包含一硬體測試部分106及一測試及製造密鑰支援組件108 (亦稱為「TKSC 108」)。硬體測試部分106及TKSC 108經組態以實施測試及製造密鑰,該等密鑰允許單晶片系統100執行另外在一當前生命週期狀態下不啟用的特定測試操作。硬體測試部分106及TKSC 108經組態以根據藉由測試系統110編排之一測試來運用域102及構體104,作為測試單晶片系統100之部分,而非藉由一當前生命週期狀態之限制約束。TKSC 108防止對硬體測試部分106的外部存取,該硬體測試部分106進行單晶片系統100-1之測試。TKSC 108經組態以接收TM訊標112,且回應於TM訊標112,產生TM密鑰114,該TM密鑰114接著基於機密密鑰進行鑑認。
圖2繪示根據本發明之技術之經組態以實施測試及製造密鑰之另一實例單晶片系統。一單晶片系統100-1係圖1所展示的單晶片系統100的一實例。單晶片系統100-1包含連結至一測試系統110-1之一實體介面200,該測試系統110-1係測試系統110之一實例。實體介面200可係一專用測試埠(例如,一聯合測試動作群組介面)或一共同使用串列埠,舉例而言,一通用序列匯流排或通用非同步接收器/傳輸器。測試系統110-1經組態以經由一使用者介面或機器介面接收輸入202。基於輸入202,測試系統110-1產生TM訊標112。
單晶片系統100-1進一步包含一TKSC 108-1作為TKSC 108之一實例。單晶片系統100-1使用TKSC 108-1接收TM訊標112,該TKSC 108-1實體地耦合至測試系統110-1。為了確保單晶片系統100-1之安全性,實體介面200可係耦合至測試系統110-1之單晶片系統100-1之唯一部分。以此方式,TKSC 108-1及實體介面200經組態為防止測試系統110-1存取硬體測試部分106-1,該硬體測試部分106-1可存取域102及構體104之部分。TKSC 108-1經組態以基於經由實體介面200接收的TM訊標112來產生TM密鑰114及一或多個參數204。總之,TKSC 108-1經組態以當實體地耦合至測試系統110-1時產生TM密鑰114。
當實體介面200從測試系統110-1解耦時,TKSC 108-1可進入休眠狀態且在斷電或待機狀態下操作。回應於偵測到測試系統110-1實體地耦合至單晶片系統100-1,單晶片系統100-1將TKSC 108-1從在一休眠狀態操作轉變至一喚醒狀態。以此方式,單晶片系統100-1不必向TKSC 108-1提供資源(例如,電力),除非實體介面200感測到至測試系統110-1或其他設備之一實體連接。
一硬體測試部分106-1係硬體測試部分106之一實例,且從TKSC 108-1接收資訊以進行域102及構體104之一測試。硬體測試部分106-1藉由TKSC 108-1及實體介面200至少在通信上與測試系統110-1隔離,該TKSC 108-1及該實體介面200之各者與硬體測試部分106-1分離。與TKSC 108-1類似,硬體測試部分106-1亦可休眠以節省電力,除非被喚醒進行一測試。舉例而言,在一測試開始時,硬體測試部分106-1在一插座206處從TKSC 108-1接收一喚醒信號。喚醒信號使硬體測試部分106-1重設或初始化暫存器208-1及208-2。在一些情況下,參數204指示用於初始化暫存器208-1及208-2或硬體測試部分106之其他態樣的初始值或狀態。
藉由設計,硬體測試部分106-1具有一高位準之安全性。硬體測試部分106能夠僅出於測試目的而控制單晶片系統100-1之主要功能區塊。僅在適當TM密鑰114係在作用中且實體介面200具有至測試系統110-1之連接時,可限制硬體測試部分106-1進行控制之能力。雖然能夠進行域102及構體104之一測試,但是硬體測試部分106-1可能無法停用或轉移程式碼執行,或以其他方式干擾單晶片系統100-1上之開機程序,前提是此等程序存在且啟用。當未經歷測試時,由TKSC 108所維持的機密密鑰係在非作用中且不可存取。硬體測試部分106-1之一額外安全特徵係,若維持一生命週期狀態變數,則其無法改變單晶片系統100-1之一生命週期狀態。進一步,該硬體測試部分106-1無法執行改變一安全性級別(若設定)之指令,且無法執行修改執行特權或以其他方式改變其所互動的任何晶片上核心或執行元件之安全狀態的指令。舉例而言,硬體測試部分106-1無法將程式碼執行特權從一使用者升級至一內核級別。
TKSC 108-1維持一機密密鑰210。基於TM密鑰114中所含的資訊及使用機密密鑰210來驗證單晶片系統100-1之功能性,該密鑰210作為TKSC 108-1之部分維持於單晶片系統100-1之一安全部分中。機密密鑰210可係一全域密鑰,且可在單晶片系統100-1之一生產批次中或在多個批次之間重用。TKSC 108-1可將機密密鑰210儲存於一唯讀記憶體中或作為運行時間程式庫之執行之部分。使用機密密鑰210,TKSC 108-1經組態以嘗試TM密鑰114之鑑認。
在鑑認之後,TKSC 108-1藉由以類似於圖3所展示之訊標結構300之一格式寫入至插座206而經由插座206遞送TM密鑰114及參數204。硬體測試部分106-1經組態以從TKSC 108-1接收指示TM密鑰114之信號。在一些實例中,該信號進一步指示參數204,該等參數204可被用作至測試功能之輸入。
TKSC 108-1經組態以一旦單晶片系統100-1之實體介面200操作便起作用。此要求單晶片系統100-1維持一最小位準之測試支援資源,TKSC 108-1及隨後硬體測試部分106可在該等資源上操作。實體介面200可提供一有限數量之輸入及輸出能力、功率信號、時脈信號等。舉例而言,藉由單晶片系統100-1產生之一內部時脈可經由實體介面200提供至測試系統110-1。
與硬體測試部分106-1一起,TKSC 108-1經組態為獨立於單晶片系統100-1之域102及構體104而操作。換言之,TKSC 108-1及硬體測試部分106-1不依賴於功能性中央處理單元、一工作唯讀記憶體、或一工作晶片上快閃記憶體或與TKSC 108-1及硬體測試部分106-1分離且獨立地操作的其他類似資源。TKSC 108-1及硬體測試部分106-1經組態以一致地操作,即使域102或構體104之任一者不可操作。
在一些實例中,TKSC 108-1產生且維持多個TM密鑰。在此一情況下,TKSC 108-1可不需要在通電時啟動所有可用TM密鑰。歸因於潛在功能相依性,此等密鑰啟用之特定操作僅能夠在經完全測試及佈建的單晶片系統上運行,且因此應延緩直至已成功地完成測試及潛在佈建(若適用)。舉例而言,若超過一個TM密鑰114在單晶片系統100-2中可用,則TKSC 108-1可在嘗試鑑認或驗證TM密鑰114之前判定哪個TM密鑰應用於TM訊標112。
圖3繪示根據本發明之技術之用於一測試及製造訊標之一實例訊標結構300。訊標結構300包含一訊標112-1,作為TM訊標112之一實例。訊標112-1包含多個部分。訊標112-1之一授權有效負載302提供用於產生TM密鑰114之資訊TKSC 108及TKSC 108-1。訊標結構進一步包含一識別片段304,該識別片段304係指示旨在用於一測試之域102及/或構體104之識別符。TKSC 108可判定應測試單晶片系統100-2之哪個子系統,且接著將TM密鑰114及相關聯參數204-1轉發至硬體測試部分106-1以進行測試。TKSC 108可部分地基於授權有效負載302及識別片段304來產生TM密鑰114。以此方式,TKSC 108可產生對於發送TM訊標112之測試系統唯一的一TM密鑰。
此外,在圖3中所展示,TM訊標112-1包含一測試命令306及一或多個參數204-1。測試系統110可藉由使用用於測試之一特定測試命令及特定參數填充TM訊標112-1來修改TM訊標112-1以指定域102或構體104之特定者以測試。以此方式,回應於基於機密密鑰鑑認TM密鑰114,硬體測試部分106可藉由使域102及構體104基於測試命令306及一或多個參數204-1執行涉及單晶片系統100之測試功能的測試來進行單晶片系統100之一測試。
TKSC 108-1可將TM密鑰114結合至一特定生命週期狀態,或以他方式包含用以停用負面影響一測試之一特定生命週期狀態之特性。換言之,硬體測試部分106-1可在一第一生命週期狀態中鑑認一第一TM密鑰114,但在第一生命週期狀態之後出現的一第二不同生命週期狀態中不鑑認TM密鑰114。TKSC 108-1可使用與其等相關聯之一特定功能性測試來界定類似於TM密鑰114之TM密鑰。
圖4繪示根據本發明之技術之經組態以實施測試及製造密鑰之另一實例單晶片系統。一單晶片系統100-2係單晶片系統100及100-1之一實例。單晶片系統100-2包含一功能性部分400,其更詳細地展示域102及構體104。單晶片系統100-2包含一中央處理單元(CPU)域102-1、一圖形處理單元(GPU)域102-2及一第三或「其他」域102-3。域102-1至102-3可透過域構體104-1通信,該等域構體104-1饋給一主構體104-2且最終到達一電腦可讀媒體402,舉例而言,一揮發性記憶體402-1。主構體104-2亦可將域102-1至102-6互連至可與包含一非揮發性記憶體402-2之電腦可讀媒體402介接的一媒體及系統匯流排104-3。一電源管理域102-4、一安全域102-5及一永遠開啟域102-6各透過一永遠開啟構體104-4通信,該永遠開啟構體104-4以類似於域構體104-1如何與主構體104-2介接之方式饋給主構體104-2。
硬體測試部分106經組態以使一或多個域102-1至102-6執行驗證單晶片系統100-2之域102-1至102-6是否通過或未通過測試之指令。舉例而言,硬體測試部分106-1執行利用CPU域102-1之一或多個指令。藉由使一或多個構體104-1至104-3攜載資料,硬體測試部分106可驗證單晶片系統100-2之構體104-1至104-3是否通過或未通過測試。例如,在檢查CPU域102-1時,硬體測試部分106-1不變地亦檢查域及主構體104-1、104-2。
舉例而言,在進行單晶片系統100-2之一測試時,硬體測試部分106可在單晶片系統100-2中運用一足够大數量之功能塊來驗證其等可用於其等預期之目的。此可包含藉由向被測試的不同功能區塊提供測試向量作為輸入來調用函數以運用域102-1至102-6及構體104-1至104-4。可藉由執行一預定測試常式或「測試樣式」或核對和來測試單晶片系統100-2之電腦可讀媒體402或其他記憶體。
作為一些額外實例,硬體測試部分106可藉由憑藉執行具有一期望結果的預定測試常式來驅動CPU域102-1、GPU域102-2或其他內部核心及專用處理單元而測試單晶片系統100-2。可限制對域102-1至102-6之暫存器級存取以在硬體測試部分106變得受損之情況下促進安全性。
若一測試調用硬體測試部分106,則該硬體測試部分106可將可執行指令載入至揮發性記憶體402-1中,以使得單晶片系統100-2以一些(例如,有限)功能性來起作用。使受測試的任何域或構體不可用,直至測試完成。限制非揮發性記憶體402-2以防止透過儲存器之硬體測試部分106-1的攻擊,且防止透過測試密鑰之誤用對所儲存系統程式碼之攻擊。
硬體測試部分106-1與安全區(security enclave)或儲存於晶片上之其他機密互動的一能力可限於各種預定訊息。舉例而言,硬體測試部分106-1可能夠經由在永遠開啟構體104-4中之一專用匯流排或專用郵箱將一預設或「空」訊息傳遞至安全域102-5,且從安全域102-5讀取一預定回應。可用於硬體測試部分106之一有限預定義訊息集防止來自安全域102-5之機密洩密。硬體測試部分106-1可觸發安全域102-5之一內建自我測試(BIST)特徵,且以限制潛在洩密之一預定格式讀回測試結果。
硬體測試部分106可測試晶片上非揮發性機密是否存在。舉例而言,硬體測試部分106觸發一核對和或糾錯功能,以測試核對和是否存在,且以一預定格式讀取結果以亦限制潛在洩密。硬體測試部分106可不具有對此等類型之機密的寫入存取,但可讀取及驗證其等的存在。
圖5繪示根據本發明之技術之一實例運算環境,其中一實例單晶片系統經組態以實施測試及製造密鑰。運算器件500係藉由單晶片系統100實體連接至測試系統110之一運算環境的一實例。作為一些實例,運算器件500可係一行動電話500-1、一平板器件500-2、一膝上型電腦500-3、一桌上型電腦或工作站500-4、一電腦化手錶500-5、電腦化眼鏡500-6、一手持式控制器500-7、一智慧揚聲器系統500-8及一器具500-9。
運算器件500包含一或多個處理器502及一電腦可讀媒體504,該電腦可讀媒體504經組態以儲存可藉由一或多個處理器502執行的指令。運算器件500進一步包含一或多個通信及輸入/輸出(I/O)組件506及單晶片系統100。在一些實例中,單晶片系統100取代處理器502、電腦可讀媒體504及/或通信及I/O組件506之部分或全部功能性。換言之,以最簡單的形式,運算器件500包含單晶片系統100,該單晶片系統100經組態為處理器502、電腦可讀媒體504及通信及I/O組件506。
處理器502及包含記憶體媒體及儲存媒體之電腦可讀媒體504係運算器件500之一處理複合體。處理器502可包含一或多個控制器、微控制器、處理器、微處理器、硬體處理器、硬體處理單元、數位信號處理器、圖形處理器、圖形處理單元及類似者之任意組合。處理器502可係實施為單晶片系統100之一積體處理器及記憶體子系統,其處理電腦可執行指令以控制運算器件500之操作。
電腦可讀媒體504係可組態用於可執行指令(例如,韌體、軟體、應用程序、模組、程式、功能)及資料(例如,使用者資料、操作資料、線上資料)之永久及非永久儲存,以支援可執行指令之執行。電腦可讀媒體504之實例包含揮發性記憶體及非揮發性記憶體、固定及可移除媒體器件,及維持可執行指令及支援資料之任何合適記憶體器件或電子資料儲存器。電腦可讀媒體504可包含依各種記憶體器件組態之隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體及其他類型之儲存記憶體之各種實施方案。電腦可讀媒體504排除傳播信號。電腦可讀媒體504可係固態硬碟(SSD)或硬碟機 (HDD)。
處理器502係可操作地耦合至一或多個通信及I/O組件506。通信及I/O組件506包含資料網路介面,該等資料網路介面提供器件與其他資料網路、器件或遠端系統(例如,伺服器)之間之連接及/或通信鏈路。通信及I/O組件506將運算器件500耦合至各種不同類型之組件、周邊設備或附件器件。通信及I/O組件506之資料輸入埠接收資料(包含影像資料、使用者輸入、通信資料、音訊資料、視訊資料及類似物)。通信及I/O組件506實現器件資料在運算器件500與其他器件、運算系統及網路之間之有線或無線通信。通信及I/O組件506之收發器實現蜂巢式電話通信及其他類型之網路資料通信。
一或多個通信及I/O組件506可包含一顯示器(舉例而言,一螢幕)及定位於螢幕下方之像素區域,舉例而言,一有機發光二極體(OLED)顯示器。一或多個通信及I/O組件506可包含一或多個感測器,舉例而言,嵌入於顯示器內或作為運算器件500之一單獨組件。通信及I/O組件506提供運算器件500、一使用者與外部世界中之其他器件及周邊設備之間之連接性。
運算器件500可輸出一使用者介面,一開發者或程式設計者可自該使用者介面向運算器件500提供使用者輸入。舉例而言,通信及I/O組件506之一顯示器可呈現一圖形使用者介面,測試系統110之一人類操作者可自該圖形使用者介面選擇產生一測試及製造訊標之選項,以使用測試及製造密鑰測試單晶片系統100。
實例程序
圖6繪示根據本發明之技術之藉由一實例單晶片系統執行的一實例程序,該實例單晶片系統經組態以實施測試及製造密鑰。可以與圖6中所展示的不同順序及與圖6中所展示相比額外或更少操作來執行程序600之操作602至612。
在602處,從一外部測試系統接收一測試及製造訊標。舉例而言,TKSC 108從測試系統110接收TM訊標112。在喚醒之後,TKSC 108產生待由測試系統110拾取之生命跡象信號,且接著進入一定時等待迴路。若等待迴路期滿,則TKSC可返回至602。
在604處,基於測試及製造訊標,產生用於授權對一單晶片系統之測試功能之存取之一測試及製造密鑰。TKSC 108可基於TM訊標112產生TM密鑰114。
在606處,基於由單晶片系統所維持的一機密密鑰,嘗試測試及製造密鑰之一鑑認。舉例而言,在TKSC 108使用藉由TKSC 108所維持的機密密鑰(例如,機密密鑰210)鑑認TM密鑰114之後,硬體測試部分106接收TM密鑰114。
在608處,判定測試及製造密鑰是否係真實的。若判定測試及製造密鑰係真實的,則在610處,判定用於被測試之單晶片系統之功能的一或多個參數。舉例而言,硬體測試部分106使用TM密鑰114分析藉由TKSC 108傳輸的參數,以初始化硬體測試部分106之暫存器或其他組件以準備進行測試。
否則,在608處,若判定測試及製造密鑰並非真實的,則程序600返回至602以回應於接收另一測試及製造訊標而重複程序600。例如,單晶片系統100經由由測試系統110接收的TKSC 108-1而輸出一錯誤。錯誤可係人類或機器可讀訊息,其指示接收到的TM訊標112無法被鑑認。此意謂,回應於未能基於機密密鑰鑑認TM密鑰114,單晶片系統100 (例如,硬體測試部分106)避免執行涉及單晶片系統100之測試功能的測試,以保護由單晶片系統100所維持的測試功能及其他機密。
在612處,藉由運用單晶片系統之一或多個域或一或多個構體來執行功能之一測試。舉例而言,硬體測試部分106-1使構體104傳送藉由經組態以執行測試之域102處置的資料。
在614處,在程序600返回至602處以回應於接收另一測試及製造訊標而重複程序600之前,輸出域或構體是否通過或未通過測試之一指示。單晶片系統100可經由藉由測試系統110所接收的TKSC 108-1輸出一成功。與一錯誤相反,成功可係指示域102及構體104是否通過測試之一人類或機器可讀訊息。
作為重複程序600之一實例,單晶片系統100可從測試系統110接收用於測試系統110之另一TM訊標。舉例而言,回應於在608處接收到錯誤,測試系統110可產生另一訊標以用作TM訊標112。
TKSC 108可基於新TM訊標112產生另一密鑰以用作TM密鑰114用於授權對單晶片系統100之測試功能之存取。TKSC 108可基於由單晶片系統100所維持的機密密鑰,嘗試新TM密鑰114之鑑認。回應於未能基於機密密鑰鑑認其他測試及製造密鑰,硬體測試部分106避免執行涉及單晶片系統100之測試功能的測試。此保全由單晶片系統100所維持的測試功能及其他機密。
以下實例段落中描述用於實施用於一單晶片系統之測試及製造密鑰之程序的一些額外實例。
實例1. 一種方法,其包括:藉由一單晶片系統從一外部測試系統接收用於該外部測試系統之一測試及製造訊標;藉由該單晶片系統且基於該測試及製造訊標產生用於授權對該單晶片系統之測試功能之存取之一測試及製造密鑰;基於由該單晶片系統所維持的一機密密鑰嘗試該測試及製造密鑰之鑑認;回應於基於該機密密鑰鑑認該測試及製造密鑰,將該單晶片系統之一或多個域或一或多個構體是否通過或未通過涉及該單晶片系統之該等測試功能之一測試的一指示輸出至該外部測試系統。
實例2 . 如前述實例之方法,其進一步包括使該一或多個域執行檢查該單晶片系統之該一或多個域是否通過或未通過該單晶片系統之該等測試功能的指令。
實例3. 如前述實例中任一項之方法,其進一步包括:使該一或多個構體在該單晶片系統之該一或多個構體是否通過或未通過該單晶片系統之該等測試功能之一檢查期間攜載資料。
實例4. 如前述實例中任一項之方法,其中接收用於該外部測試系統之該測試及製造訊標包括使用實體地耦合至該外部系統之該單晶片系統之一測試及製造安全組件接收該測試及製造訊標。
實例5 . 如前述實例中任一項之方法,其中產生該測試及製造密鑰包括當實體地耦合至該外部系統時,使用該單晶片系統之該測試及製造安全組件產生該測試及製造密鑰。
實例6. 如技術方案5之方法,其中該測試及製造訊標包括一授權有效負載及一識別片段,該識別片段指示旨在用於一測試之該一或多個域及該一或多個構體,且產生該測試及製造密鑰包括部分基於該授權有效負載及該識別片段,產生該測試及製造密鑰。
實例7. 如前述實例中任一項之方法,其進一步包括回應於偵測到實體地耦合至該單晶片系統之該外部測試系統,將該測試及製造安全組件從一休眠狀態轉變至一喚醒狀態。
實例8. 如前述實例中任一項之方法,其中基於該機密密鑰嘗試該測試及製造密鑰之鑑認包括:藉由該測試及製造安全組件維持該機密密鑰;及回應於該測試及製造安全組件鑑認該測試及製造密鑰,使用與該測試及製造安全組件分離之一硬體測試部分執行該測試。
實例9. 如前述實例中任一項之方法,其中該硬體測試部分與該外部測試系統通信地隔離。
實例10. 如前述實例中任一項之方法,其中該測試及製造訊標進一步包括一測試命令及一或多個參數,該方法進一步包括:進一步回應於基於該機密密鑰鑑認該測試及製造密鑰,基於該測試命令及該一或多個參數執行涉及該單晶片系統之該等測試功能之該測試。
實例11. 如前述實例中任一項之方法,其進一步包括藉由該硬體測試部分且從該單晶片系統之該測試及製造安全組件接收指示該測試及製造密鑰之一信號。
實例12. 如前述實例中任一項之方法,其中該信號進一步指示用於該等測試功能之一或多個參數。
實例13. 如前述實例中任一項之方法,其進一步包括:藉由該單晶片系統從該外部測試系統接收用於該外部測試系統的另一測試及製造訊標;藉由該單晶片系統基於該另一測試及製造訊標產生用於授權對該單晶片系統之該等測試功能之存取的另一測試及製造密鑰;基於由該單晶片系統所維持的該機密密鑰,嘗試該另一測試及製造密鑰之鑑認;回應於未能基於該機密密鑰鑑認該另一測試及製造密鑰,由該單晶片系統避免執行涉及該單晶片系統之該等測試功能之該測試,以保護由該單晶片系統所維持的該等測試功能及其他機密。
實例14. 一種單晶片系統,其經組態以執行如前述實例中任一項之方法。
實例15. 一種運算器件,其包括如實例14之單晶片系統。
結論
雖然本發明之各種實施例在上述實施方式中描述且在圖式中展示,但應暸解,本發明不限於此,而是可在以下發明申請專利範圍之範疇內以各種方式體現以實踐。從上述實施方式將顯而易見,在不脫離如藉由以下發明申請專利範圍所界定的本發明之精神及範疇的情況下,可進行各種改變。
除非上下文另有明確規定,否則使用「或」及語法相關的術語指示非排他性替代項而不限制。如本文中所使用,一片語提及一系列品項「之至少一者」係指彼等品項之任何組合(包含單個部件)。作為一實例,「a、b或c之至少一者」旨在涵蓋a、b、c、a-b、a-c、b-c及a-b-c,以及具有多個相同元件之任何組合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c及c-c-c或a、b及c之任何其他排序)。
100:單晶片系統
100-1:單晶片系統
100-2:單晶片系統
102:域
102-1:中央處理單元(CPU)域
102-2:圖形處理單元(GPU)域
102-3:第三或「其他」域
102-4:電源管理域
102-5:安全域
102-6:永遠開啟域
104:構體
104-1:構體
104-2:主構體
104-3:媒體及系統匯流排
104-4:永遠開啟構體
106:硬體測試部分
106-1:硬體測試部分
108:測試及製造密鑰支援組件
108-1:測試及製造密鑰支援組件
110:測試系統
110-1:測試系統
112:測試及製造(TM)訊標
114:測試及製造(TM)密鑰
200:實體介面
202:輸入
204:參數
204-1:參數
206:插座
208-1:暫存器
208-2:暫存器
210:機密密鑰
302:授權有效負載
304:識別片段
306:測試命令
400:功能性部分
402:電腦可讀媒體
402-1:揮發性記憶體
402-2:非揮發性記憶體
500:運算器件
500-1:行動電話
500-2:平板器件
500-3:膝上型電腦
500-4:桌上型電腦或工作站
500-5:電腦化手錶
500-6:電腦化眼鏡
500-7:手持式控制器
500-8:智慧揚聲器系統
500-9:器具
502:處理器
504:電腦可讀媒體
506:通信及輸入/輸出(I/O)組件
600:程序
602:操作
604:操作
606:操作
608:操作
610:操作
612:操作
614:操作
本文件中參考以下圖式描述用於實施用於單晶片系統的測試及製造密鑰之系統及技術的細節。貫穿圖式中使用相同元件符號來參考類似特徵及組件。
圖1繪示根據本發明之技術之經組態以實施測試及製造密鑰之一實例單晶片系統。
圖2繪示根據本發明之技術之經組態以實施測試及製造密鑰之另一實例單晶片系統。
圖3繪示根據本發明之技術之用於一測試及製造訊標之一實例訊標結構。
圖4繪示根據本發明之技術之經組態以實施測試及製造密鑰之另一實例單晶片系統。
圖5繪示根據本發明之技術之一實例運算環境,其中一實例單晶片系統經組態以實施測試及製造密鑰。
圖6繪示根據本發明之技術之藉由一實例單晶片系統執行的一實例程序,該實例單晶片系統經組態以實施測試及製造密鑰。
100:單晶片系統
102:域
104:構體
106:硬體測試部分
108:測試及製造密鑰支援組件
110:測試系統
112:測試及製造(TM)訊標
114:測試及製造(TM)密鑰
Claims (1)
- 一種用於一單晶片系統之方法,其包括: 藉由該單晶片系統從一外部測試系統接收用於該外部測試系統之一第一訊標(token); 藉由該單晶片系統且基於該第一訊標產生用於授權對該單晶片系統之測試功能之存取之一密鑰;及 基於使用由該單晶片系統維持之一機密密鑰之該密鑰之一鑑認,將測試該單晶片系統之一或多個功能之一結果輸出至該外部測試系統。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/057504 WO2022093185A1 (en) | 2020-10-27 | 2020-10-27 | Testing-and-manufacturing keys for a system-on-chip |
WOPCT/US20/57504 | 2020-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202340994A true TW202340994A (zh) | 2023-10-16 |
TWI833653B TWI833653B (zh) | 2024-02-21 |
Family
ID=73498301
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111131617A TWI805472B (zh) | 2020-10-27 | 2021-02-24 | 單晶片系統、用於其之方法、及運算器件 |
TW110106565A TWI778527B (zh) | 2020-10-27 | 2021-02-24 | 單晶片系統、用於其之方法、及運算器件 |
TW112118849A TWI833653B (zh) | 2020-10-27 | 2021-02-24 | 單晶片系統、用於其之方法、及運算器件 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111131617A TWI805472B (zh) | 2020-10-27 | 2021-02-24 | 單晶片系統、用於其之方法、及運算器件 |
TW110106565A TWI778527B (zh) | 2020-10-27 | 2021-02-24 | 單晶片系統、用於其之方法、及運算器件 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240005013A1 (zh) |
EP (1) | EP4211587A1 (zh) |
CN (1) | CN116368486A (zh) |
TW (3) | TWI805472B (zh) |
WO (1) | WO2022093185A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11663472B2 (en) | 2020-06-29 | 2023-05-30 | Google Llc | Deep neural network processing for a user equipment-coordination set |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050004873A1 (en) * | 2003-02-03 | 2005-01-06 | Robin Pou | Distribution and rights management of digital content |
US8423788B2 (en) * | 2005-02-07 | 2013-04-16 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8099629B2 (en) * | 2006-07-14 | 2012-01-17 | Marvell World Trade Ltd. | System-on-a-chip (SoC) test interface security |
US9141776B2 (en) * | 2008-04-30 | 2015-09-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for secure hardware analysis |
US9927486B2 (en) * | 2012-07-09 | 2018-03-27 | Ultrasoc Technologies Ltd. | Debug architecture |
US9390291B2 (en) * | 2012-12-29 | 2016-07-12 | Intel Corporation | Secure key derivation and cryptography logic for integrated circuits |
US20150331043A1 (en) * | 2014-05-15 | 2015-11-19 | Manoj R. Sastry | System-on-chip secure debug |
CN109684030B (zh) * | 2018-11-22 | 2021-05-04 | 海光信息技术股份有限公司 | 虚拟机内存密钥生成装置、以及方法、加密方法和SoC系统 |
CN111262697A (zh) * | 2020-01-16 | 2020-06-09 | 大唐微电子技术有限公司 | 一种芯片晶圆测试控制方法及装置、芯片 |
-
2020
- 2020-10-27 CN CN202080106177.3A patent/CN116368486A/zh active Pending
- 2020-10-27 EP EP20811175.7A patent/EP4211587A1/en active Pending
- 2020-10-27 US US18/249,698 patent/US20240005013A1/en active Pending
- 2020-10-27 WO PCT/US2020/057504 patent/WO2022093185A1/en active Application Filing
-
2021
- 2021-02-24 TW TW111131617A patent/TWI805472B/zh active
- 2021-02-24 TW TW110106565A patent/TWI778527B/zh active
- 2021-02-24 TW TW112118849A patent/TWI833653B/zh active
Also Published As
Publication number | Publication date |
---|---|
EP4211587A1 (en) | 2023-07-19 |
US20240005013A1 (en) | 2024-01-04 |
TWI805472B (zh) | 2023-06-11 |
TWI833653B (zh) | 2024-02-21 |
WO2022093185A1 (en) | 2022-05-05 |
CN116368486A (zh) | 2023-06-30 |
TW202303426A (zh) | 2023-01-16 |
TWI778527B (zh) | 2022-09-21 |
TW202217622A (zh) | 2022-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
CN107025406B (zh) | 母板、计算机可读存储装置以及固件验证方法 | |
US11256797B2 (en) | Remote attestation for multi-core processor | |
JP5342649B2 (ja) | ハードウェアベースセキュリティのためのシステムおよび方法 | |
JP5572705B2 (ja) | 電子資産を管理するためのシステムおよび方法 | |
EP3646224B1 (en) | Secure key storage for multi-core processor | |
CN116049825A (zh) | 管理基板管理控制器的存储器中的秘密的存储 | |
TWI833653B (zh) | 單晶片系統、用於其之方法、及運算器件 | |
US20220035956A1 (en) | Password-based access control for programmable logic devices | |
US11734457B2 (en) | Technology for controlling access to processor debug features | |
US20220100906A1 (en) | Software library integrity verification mechanism | |
TW202240406A (zh) | 唯讀記憶體(rom)安全性 | |
TW202240591A (zh) | 唯讀記憶體(rom)安全性 | |
KR20100064301A (ko) | 다중 플랫폼을 지원하는 신뢰플랫폼모듈 및 그 구현 방법 |