新四季網

通過多接口實現安全性的方法和裝置的製作方法

2023-05-26 09:09:46

專利名稱:通過多接口實現安全性的方法和裝置的製作方法
技術領域:
本發明涉及安全數字系統/設備,更具體地,本發明涉及從硬體級進行保護的集成電路晶片。
背景技術:
分布式計算機網絡的發展為網絡間信息傳遞的安全性提出了更高的要求。而且,隨著更小的集成電路(IC)上電子電路的集成度越高,電子器件越來越能處理更加複雜的數據,執行更多的功能。同一數字系統(例如個人計算機、機頂盒或行動電話)內的IC之間將傳送安全性要求更高的敏感數據。此外,這些IC正逐漸用於存儲、處理和傳送敏感數據。因此,這些IC所存儲和傳送的數據在安全性上需要得到保障。
數據網絡中的信息傳送可以使用許多現有的加密技術來提供安全保障。例如,安全套接層(SSL)協議及其後續的傳輸層安全協議(TLS)提供的一種在伺服器和客戶端之間安全發送數據的機制。簡單地說,SSL提供了一種協議,用於認證伺服器和客戶端的身份,並生成非對稱(私有—公共)密鑰對。所述認證過程為客戶端和伺服器提供了一定級別的保證,確保其正在與所期望的對象進行通信。所述密鑰生成過程安全地為客戶端和伺服器提供唯一的加密密鑰,使二者(而非其他方)均可以使用該密鑰對其通過網絡發送給對方的數據進行加密或解密。SSL包括多個基本階段與對端協商所支持的算法,基於公共密鑰加密的密鑰交換和基於證書的認證,以及基於對稱密鑰的通信加密。
圖1簡要的示出了安全系統102中的幾個層次。該系統中的對象相互之間可通過在發送之前將數據104加密來安全地傳送數據。另一對象如想對接收到的數據進行解密,就必須先獲得正確的密鑰。因此,數據加密依賴於對象之間進行密鑰協商106的安全方法。如果所述密鑰協商不安全(例如,密鑰可以被非授權個人竊取),那麼加密的數據將會洩露。同樣地,保證密鑰協商安全地先決條件是對參與密鑰交換的雙方進行認證108。換句話說,每個對象必須確保其協商對象不是所期望對象的偽裝者(中間人攻擊)。所述認證過程最終需要依賴於根密鑰110,唯一併可靠地認證特定對象。因此,所述根密鑰通常被稱為所述對象的加密身份。
實際中,根密鑰的作用是生成其他密鑰,這些密鑰隨後將用於生成級別更低的密鑰。一般來說,這些級別更低的密鑰的使用期相對較短。例如,諸如SSL會話密鑰這樣的級別更低的密鑰只在一次會話中有效。因此,因會話密鑰被洩露而可能造成的破壞,與高級密鑰洩露相比要小得多。例如,在存在安全漏洞的情況下,整個系統不會被破壞,所述密鑰也會很快過期。
相比之下,如果高級密鑰受被洩露,所有的次級別(例如,較低級的)密鑰將都被洩露。此外,高級密鑰的使用期相對較長,因此可能產生的破壞將更大。因此,對高級密鑰的保護是任何加密安全系統的首要目標。
例如,在典型的電子商務交易過程中,每個會話將生成一組唯一的SSL密鑰。例如,當用戶使用頁面瀏覽器安全地訪問銀行的金融站點時,就會為這次會話生成一組會話密鑰。這些會話密鑰用於對伺服器(例如,銀行的伺服器)和客戶端(例如,瀏覽器)之間傳遞的數據進行加密和解密。為防止這些密鑰被非授權個人截取,將使用高級密鑰(例如,銀行伺服器和客戶端之間協商的私有—公共密鑰對)對這些會話級密鑰進行加密和解密。但是,如上所述,對該高級密鑰的保護將至關重要。
如圖2所示,在典型的基於PC的應用中,客戶端設備將其私有密鑰(Ka-priv)214存儲在計算機200的系統存儲器206中。在會話啟動時,伺服器使用客戶端的公共密鑰(Ka-pub)對會話密鑰(Ks)228進行加密,然後將加密後的會話密鑰[Ks]Ka-pub 222發送給客戶。如連線216和224所示,客戶端隨後通過PCI總線208從系統存儲器中調用它的私有密鑰(Ka-priv)和加密後的會話密鑰222,然後將它們加載到加速器模塊或加速卡202中的公共密鑰加速器210中。如連線226所示,所述公共密鑰加速器使用載入的私有密鑰220對所述會話密鑰進行解密,然後將明文形式的會話密鑰(Ks)228加載到系統存儲器中。
在會話過程中,當伺服器需要向客戶端發送敏感數據時,伺服器使用所述會話密鑰(Ks)對數據進行加密,然後將加密後的數據[data]Ks 204加載到系統存儲器中。當客戶端應用程式需要訪問普通形式(未加密)數據時,其將會話密鑰228和加密後的數據204加載到對稱算法引擎(例如,3DES、AES等)212中,分別如連線230和234所示。所述對稱算法引擎使用加載的會話密鑰232對加密後的數據進行解密,並且如連線236所示,將普通形式數據238加載到系統存儲器中。這時,客戶端應用程式就可以使用所述數據了。
當客戶端和伺服器都很安全的時候,SSL協議和其他協議可為通過計算機網絡的數據傳輸提供相對較高的安全性。但是,對於更有經驗的黑客和計算機病毒的開發者來說,這些設備也是可以攻破的。例如,運行在計算機上的病毒可能可以訪問存儲在所述計算機數據存儲器中的數據。此外,病毒還可將該信息發送給第三方。
再如圖2所示,客戶端的私有密鑰(Ka-priv)可以明文形式(例如,未加密)存儲在系統存儲器中,並且通過PCI總線以明文方式進行傳遞。此外,操作系呼叫將用於提供與加密加速器之間的數據傳送。系統的上述特徵均為黑客、病毒或其他方式的入侵提供了便利。假如在SSL傳送過程中,客戶的私有密鑰實質上是識別伺服器身份的證書(因此,它實質上也包括有伺服器的私有密鑰),現有的這種結構不能為多數應用提供足夠的安全性。
某些部件,例如硬體安全模塊(HSM),一般為多晶片板,可用於為對安全性更加敏感的應用提供級別更高的安全保障。一般來說,硬體安全模塊提供安全密鑰管理以生成加密密鑰,對密鑰的效用和安全性作出限定,實現密鑰備份和恢復,為存儲準備密鑰,以及執行密鑰的回收和銷毀。
但是,這些硬體模塊或設備本身並不接受認證。而通常是運行在這些設備上的應用程式接受認證,以確保交換數據的不同應用程式間數據的安全性。此外,即便是最精密的數據安全方案在部件級上也存在安全漏洞。例如,系統可能在部件級(就即印刷電路板「PCB」級)上被偵聽以獲取根(私有)密鑰。一旦私有密鑰被竊取,訪問加密信息就變得非常容易了。在某些系統中,這些部件進行了物理封裝,被製成不可訪問的形式,例如,在其上覆蓋厚厚一層塑料材料。這種方法能阻止通過偵聽該部件的管腳或印刷電路(例如使用邏輯分析器)而對所述部件進行的非授權訪問。但是,這種方法卻給PCB的測試、調試和維修增加了不必要的困難。
因此,需要對數字系統/設備中電子部件級的安全性進行改進,使其不需要任何外部或遠端伺服器/對象來保障所述數字系統/設備中數據傳送的安全性。

發明內容
本發明涉及一種驗證方法和系統。一個實施例中,本發明提供一種安全數字系統,包含有多個彼此交換數據的集成電路(IC)。每個所述IC包括有密鑰生成器,用於生成加密密鑰;存儲器,安全地存儲生成的加密密鑰;驗證模塊,驗證所述IC的相鄰IC;加密模塊,對從所述IC傳送給相鄰IC的數據進行加密;解密模塊,對從相鄰IC接收到的數據進行解密。
一個實施例中,本發明提供一種安全的IC,包括有多個輸入接口,接收來自其他IC的數據;多個輸出接口,向其他IC傳送數據;加密模塊,對傳送給其他IC的數據進行加密;解密模塊,對從其他IC接收到的數據進行解密。
一個實施例中,本發明提供一種在包括有多個IC的數字系統內安全地處理數據的方法。所述方法包括為所述多個IC中的每一個生成唯一的加密密鑰;將每個所述生成的加密密鑰分別安全地存儲在每個IC內;驗證各個IC的相鄰IC;對從所述各個IC傳送給其相鄰IC的數據進行加密。
一個實施例中,所述加密密鑰是公共/私有密鑰對,所述存儲器是一次性可編程存儲器,其內存儲所述私有密鑰。在一個實施例中,對兩個IC之間的數據傳輸進行記錄,並且對每次數據傳輸標記時間戳。各個IC間所述標記有時間戳的數據傳輸記錄存儲在相關IC的電池供電存儲器中。
一個實施例中,為每個IC分配唯一的晶片識別號碼,並使用該唯一的晶片識別號碼對所述公共密鑰進行加密。所述晶片識別號碼在製造時永久的分配給一個IC。此外,還可對所述晶片識別號碼進行加密。
根據本發明的一個方面,提供一種安全數字系統,包括彼此間交換數據的多個集成電路(IC),其中每個IC包括密鑰生成器,用於生成加密密鑰;存儲器,安全地存儲所述生成的加密密鑰;驗證模塊,驗證各個IC的相鄰IC;加密模塊,對從所述各個IC發送給所述相鄰IC的數據進行加密;解密模塊,對從所述相鄰IC接收到的數據進行解密。
優選地,所述加密密鑰是公共/私有密鑰對。
優選地,所述存儲器是一次性可編程存儲器,所述私有密鑰存儲在其中。
優選地,所述公共密鑰通過與所述相鄰IC協商生成。
優選地,所述公共密鑰發布給所述相鄰IC。
優選地,每個IC還包括有唯一的晶片識別號碼,其中,在向所述相鄰IC傳送所述公共密鑰之前,加密模塊使用所述唯一的晶片識別號碼對所述公共密鑰進行加密。
優選地,所述晶片識別號碼在製造時永久地分配給各個IC。
優選地,所述晶片識別號碼已經過加密。
優選地,所述密鑰生成器是隨機數生成器。
優選地,所述隨機數生成器是自由運行的振蕩器,捕捉熱噪聲作為隨機源。
優選地,每個IC還包括有數據傳輸計數器,用於保存各個IC與其每個相鄰IC之間進行數據傳送的歷史記錄。
優選地,每個IC還包括有計時器,用於為每次數據傳送標記時間戳。
優選地,每個IC還包括有由電池供電的存儲器,用於存儲各個IC與其每個相鄰IC之間標記有時間戳的數據傳輸記錄。
根據本發明的一個方面,提供一種安全集成電路晶片(IC),包括多個輸入接口,用於從其他IC接收數據;多個輸出接口,用於向所述其他IC傳送數據;加密模塊,對發送給所述其他IC的數據進行加密;解密模塊,對從所述其他IC接收到的數據進行解密。
優選地,所述安全IC還包括有驗證模塊,用於對某些其他IC進行驗證。
優選地,所述安全IC還包括有密鑰生成器,用於生成加密密鑰。
優選地,所述加密密鑰是公共/私有密鑰對。
優選地,所述安全IC還包括有唯一的晶片識別號碼,其中,所述加密模塊使用所述唯一的晶片識別號碼對所述公共密鑰進行加密。
優選地,所述晶片識別號碼在製造時永久分配給所述安全IC。
優選地,所述晶片識別號碼進行了加密。
優選地,所述安全IC還包括有數據傳輸計數器,用於保存每個相鄰IC間數據傳輸的歷史記錄。
優選地,所述安全IC還包括有計時器,用於為每次數據傳輸標記時間戳。
優選地,所述安全IC還包括有由電池供電的存儲器,用於存儲每個相鄰IC間標記有時間戳的數據傳輸記錄。
根據本發明的一個方面,提供一種在具有多個集成電路的數字系統內安全地處理數據的方法,所述方法包括為所述多個IC中的每一個生成唯一的加密密鑰;將所述生成的加密密鑰安全地存儲在每個對應的IC中;驗證各個IC的相鄰IC;對從所述各個IC發送給與其相鄰的IC的數據進行加密。
優選地,所述加密密鑰是公共/私有密鑰對。
優選地,所述方法包括與所述相鄰IC協商所述公共密鑰。
優選地,所述方法包括為每個IC分配唯一的晶片識別號碼,並且使用所述各自的唯一晶片識別號碼對每個IC的公共密鑰進行加密。
優選地,所述晶片識別號碼在製造時永久地分配給各個IC。
優選地,所述方法包括保存各個IC與其每個相鄰IC之間數據傳輸的記錄。
優選地,所述方法包括為每次數據傳輸標記時間戳。
優選地,所述方法包括保存所述各個IC與其每個相鄰IC間標記有時間戳的數據傳輸記錄。


下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是安全系統內各層的示意圖;圖2是計算系統內安全處理過程的示意圖;圖3是根據本發明一個實施例的數字系統/設備的框圖;圖4是根據本發明一個實施例在數字系統/設備內安全地處理數據的處理流程圖;圖5是根據本發明一個實施例的硬體安全模塊的框圖;圖6是根據本發明一個實施例的硬體安全模塊的處理流程圖;圖7是根據本發明一個實施例的硬體安全模塊的框圖。
具體實施例方式
在一個實施例中,本發明涉及一種用於數字系統/設備內驗證相鄰數據處理IC並對與所述相鄰數據處理IC間傳送的數據進行加密的方法和系統。所述驗證和加密過程在每個數據處理IC中進行。每個數據處理IC對其相鄰的數據處理IC進行驗證,然後對兩者間傳送的數據進行加密。這樣,所述數據處理IC間的驗證和數據加密在物理層的硬體內完成。這種方法還可確保軟體應用程式在可信地硬體上運行,而無需必須由另一應用程式來確保其自身的安全邊界。
圖3是典型的數字系統/設備的框圖。所述數字系統/設備可以是PC、機頂盒、行動電話盒以及類似的設備。所述數據處理IC可安裝在一個或多個PCB和/或多晶片模塊上。上電時,每個數據處理IC(例如,CPU 302)對與其相鄰的數據處理IC進行驗證,例如存儲器控制器304、基帶控制器306和媒體處理器308。存儲器控制器304依次驗證與其相鄰的數據處理IC,例如I/O控制器310和存儲器312。一個實施例中,磁碟控制器320對寫入硬碟的命令進行加密。需要注意的是,將要寫入硬碟的數據已經由CPU 302進行了加密。非數據處理IC,例如「粘合邏輯(glue logic)」IC 314、316和318不需要進行驗證,因為這些IC不執行數據處理功能,因此不傳送數據。同樣,進出這些IC的數據由所述數據處理IC進行加密。
每個數據處理IC包括有安全模塊(下面將進行描述),用於生成加密密鑰,例如,對應特定數據處理IC的唯一的公共/私有密鑰對。隨後,所述私有密鑰作為永久機密信息保存在對應的IC中,而所述公共密鑰將發送給(與其協商)與其相鄰的數據處理IC。所述公共密鑰可以以未加密的形式(普通形式)進行傳送,也可以使用唯一的晶片ID進行加密後傳送。然後,每個數據處理IC使用其公共/私有密鑰對來驗證與其相鄰的數據處理IC,然後對發送給/接收自其他數據處理IC的數據進行加密/解密。通過這種方法,就在矽基硬體內,也就是IC內實現了安全性。此外,數據處理IC(已經進行了驗證)之間傳送的所有數據都進行了加密。例如,通過對數據加密,圖3中所示的從330到352所有的數據/命令路徑的安全性都得到了保障。
圖4是根據本發明一個實施例用於數字系統內部件級的數據安全性的處理流程圖。如步驟402所示,上電時,每個數據處理IC(例如圖3中的媒體處理器308)生成一公共/私有密鑰對。這可以通過使用隨機數生成器來實現。接下來,生成的私有密鑰以安全的方式永久的存儲在媒體處理器308中,如步驟404所示。一個實施例中,所述私有密鑰存儲在一次性可編程存儲器中。隨後,為安全地保存所述私有密鑰,所述存儲器設置為只讀存儲器。在步驟406,所述公共密鑰隨同晶片ID一起發送給相鄰IC進行協商,以驗證所述相鄰IC。所述晶片ID可以在製造時燒入所述IC中。一個實施例中,所述晶片ID進行了加密。一個實施例中,每個數據處理IC內保存有包含所有有效晶片ID的數據表。
一個實施例中,每個數據處理IC均包括有時間戳電路,用於對其與每個相鄰數據處理IC進行的每次數據傳輸標記時間戳。此外,每對相鄰的數據處理IC內均保存有彼此間進行數據傳輸的歷史記錄。這一標有時間戳的傳輸記錄與相鄰IC間的每次數據傳輸相結合。這樣一來,所述系統的安全性得到保護,可免受破壞,例如重放攻擊(replay attack)。
一個實施例中,所述傳輸記錄通過使用傳輸計數器來生成,並且存儲在由電池供電的存儲器中(例如,NVM)。因此,每個數據處理IC具有與每個與其相鄰的數據處理IC共享的狀態。所述共享狀態包括,例如在指定時間內,兩個IC彼此間共進行了多少次數據傳輸。因為只有這兩個相鄰的IC知道它們所共享的狀態,潛在的入侵者就無法模仿或再現所述兩個IC之間的傳輸。
又如圖4所示,步驟408中,一旦相鄰的數據處理IC通過驗證,就使用所述公共/私有密鑰對所述兩個晶片間傳送的任何數據進行加密。從這時開始,所述兩個晶片間進行的所有傳輸都處於硬體級的安全加密邊界內。
圖5是數據系統的每個數據處理IC中均具有的安全模塊的框圖,所述數據系統可以是PC、機頂盒、行動電話、DVD讀碟機和類似的設備。安全模塊500使用對稱密鑰來提供數據加密、解密等功能。一個實施例中,在每個數據處理IC中都應用這種配置,以將對IC的成本和大小的影響降至最低。
在一種典型應用中,圖5所示的實施例可用於向使用這些數據的相鄰的接收IC安全地傳送數據,還可從相鄰的數據處理IC接收其提供了安全保障的(加密後的)數據。這個過程包括對所述數據加密,使其不以普通形式出現,和/或對所述數據籤名,以向所述接收IC證明自己的身份,即所述數據源自特定的發起IC。
例如,所述安全模塊可集成到媒體處理器晶片內(例如,圖3中其它數據處理IC中的媒體處理器308)。在這裡,所述安全模塊可對所述媒體處理器生成的信息進行籤名和/或加密。隨後,所述安全模塊可向使用這些信息的接收IC(例如,圖3中的CPU 302)安全地發送信息。在這種情況下,所述接收IC使用其自身的公共/私有密鑰對收到的信息進行解密,並進一步處理解密後的信息。然後,所述接收端數據處理IC對處理後的數據進行加密,然後發往與其相鄰的IC(例如,圖3中的存儲器控制器304)做進一步處理。
上述密鑰(尤其是私有密鑰)存儲在非易失性存儲器(「NVM」)510中。NVM 510包括一次性可編程(「OTP」)存儲器或由電池供電的存儲器(BBMEM)。在某些實施例中,使用OTP存儲器更佳,因為所述OTP存儲器中的內容不需要傳送到晶片的外部。有關OTP存儲器的結構和實現在專利號為6,525,955、6,700,176和6,704,236的美國專利以及申請日為2002年1月8日申請號為10/041,296的美國專利申請中進行了描述,本申請在此引用以上所有文件公開的內容。
在使用OTP的情況下,所述OTP由主控制器506通過編程接口使用外部編程信號VPP進行編程。通過在編程之前向其讀寫長期密鑰高速緩存地址數組,所述主控制器可確保OTP 510是完全清空的。如果所述數組是空的,那麼在對任何其他位元編程之前,先對一個安全位編程。
在對所述OTP編程之後,讀取所述設備的密鑰高速緩存地址,校驗所述設備的長期密鑰以確保它們是正確的。一旦通過校驗,主控制器506將對第二安全位進行編程,從而完成初始化過程。直到兩個安全位均已被編程後,NVM才會將所述長期密鑰標記為有效。
除非在重置之後兩個安全位都被清空,否則所述OTP控制邏輯將會鎖定所述編程邏輯。這樣做可以防止已部分編程的位數組再次被編程。這種方法有助於確保所述設備的長期密鑰、授權和配置數據能夠進行一次、並且只能是一次編程。在進行外部重置之後以及所述安全模塊從重置中得到釋放之前,由硬體讀取所述安全位。隨機數生成器516生成隨機數,所述隨機數用於生成一個或多個所述對稱密鑰。
在某些實施例中,不會直接使用隨機數生成器516生成的數值。例如,在內部使用之前以及作為隨機值傳送至所述安全模塊外部之前,所述數值由主控制器506使用SHA-1模塊504進行後處理。所述主控制器將經過後處理的隨機位(用於生成密鑰和籤名)的高速緩存保存在數據緩衝器518內。隨機數生成器516可以是真實的隨機源。例如,隨機數生成器516可使用自由運行的振蕩器捕捉熱噪聲作為隨機源。
如圖5所示,所述安全模塊包括有主控制器506和外部接口512,以在與相鄰的IC建立起安全鏈路時,實現所述非對稱密鑰操作。因此,控制器506包括有生成並校驗其密鑰有效性的電路。在某些實施例中,主控制器506包括RISC處理器,其內含有ROM代碼,可執行無狀態模塊操作所必須的各種命令。所述主控制器模塊還包括有為內部總線上的每個從屬模塊進行地址解碼的地址解碼器。所述RISC引擎使用數據緩衝器的受保護的部分作為臨時堆棧和臨時數據空間。所述受保護的數據區域不允許與分配給外部存儲器接口的任何空間重疊。
在某些實施例中,數據總是保存在安全邊界內。首先,將所述安全模塊安嵌入每個所述數據處理IC後,信息在離開IC的硬體安全邊界前,都將進行加密。其次,所述安全模塊通過對稱密鑰交換與接收端IC建立安全通道。通過這種方法,信息將安全地發送給每個接收端數據處理IC。
例如,接收端數據處理IC包括有圖5中所示的安全模塊。在這種情況下,接收端IC可使用其他密鑰向相鄰的IC安全地發送所述信息。在其他實施例中,只需要確保數據源自特定的IC。例如,系統可以做出其他規定以確保數據流不會在稍微重放。在這種情況下,則不需要對所述信息進行加密,唯一需要的是確保所述信息是由特定的(和/或授權的)IC發送的。在這種情況下,發送端IC只需簡單的對所述數據籤名就可以提供足夠的安全性。這種方法可為多種數據設備提供高性價比的解決方案。
如圖5所示,所述安全模塊包括有加密模塊528,用於執行加密算法,如DH、DSA、3DES、AES等。一個實施例中,加密算法(例如DH、DSA、3DES、AES)的應用代碼存儲在ROM 508中。圖5所示的實施例中,使用SHA-1算法進行籤名來為輸入數據流(DI)提供安全保障。因此,為進行此操作,可以使用一個單獨的處理模塊504。該處理模塊籤名後的輸出數據流(DO)將通過所述IC內的數據接口發送給接收端IC。一個實施例中還對所述數據流進行加密,例如,由專用處理模塊528執行對稱加密算法。
一個實施例中,所述安全模塊包括有幾個加密處理模塊。例如,各處理模塊結合起來執行HMAC-SHA-1消息認證代碼算法。所述安全模塊還可使用一些處理模塊來執行機密性對稱算法,例如3DES和AES。所述加密處理模塊支持的公共密鑰算法包括Diffie-Hellman、數字籤名算法(「DSA」)和RSA等。所述加密處理模塊還支持離散對數集成加密標準(「DLIES」)算法。根據系統性能要求的不同,這些加密處理模塊可由硬體實現,和/或由主控制器506執行存儲在ROM中的固件來實現。
一個實施例中,所述安全模塊包括有公共密鑰加速引擎(「PKE」)(圖中未示出)。所述PKE可以為加密算法提供加速,例如Diffie-Hellman算法、RSA算法和/或數字籤名標準(「DSA」)算法。Diffie-Hellman公共密鑰算法可用於多種協議(例如IKE、SSL和TLS)的密鑰協商。RSA公共密鑰算法可用於IKE、SSL和TLS中的數字籤名驗證和密鑰交換。DSA算法可用於對數據進行籤名和校驗。它還廣泛應用於多種其他應用,例如公共密鑰基礎設施(「PKI」)產品。
PKE可對密鑰會話建立過程中密鑰協商所需的算法進行加速。在某些實施例中,所述安全模塊要求用於PKE消息的所有「機密」密鑰信息從KEK高速緩存中加載,以在內部密鑰操作中使用。PKE還可使用密鑰高速緩存中的密鑰對數據流進行加密、解密、籤名和校驗。
驗證核504提供基本的SHA-1算法實現。指定操作的結果是160位的摘要(digest)。SHA-1算法狀態寄存器的初始值可編入摘要寄存器中,作為驗證的起始點。
一個實施例中,所述安全模塊包括有時間戳電路,為與每個相鄰數據處理IC進行的每次傳輸標記時間戳。此外,傳輸計數器為每個相鄰IC的每次數據傳輸生成一條傳輸記錄。隨後,標記有時間戳的傳輸記錄存入NVM 510中。因此,每個數據處理IC通過所述安全模塊與每個相鄰的數據處理IC共同維護一共享狀態。
一個實施例中,加密核528採用3DES最小門數實現。該加密核528使用每輪單循環實現(single cycle per round implementation)來將門數最小化。輸入數據進行兩次緩衝,這樣便可以在對前次加載值進行操作的同時加載該數據。輸出數據以同樣的方式來實現,這樣主控制器506可在對當前值進行處理的同時加載下一個數值並傳出前次數值。
所述單循環實現可同時實現CBC和ECB 3DES算法的加密和解密。所用到的密鑰通過密鑰寄存器(只寫)由主控制器寫入。在進行數據操作之前,所述密鑰值可從應用密鑰高速緩存、KEK密鑰高速緩存或共享的密鑰源中得到的。3DES模塊528對數據操作提供保護,從而使得主控制器在模塊加密或解密過程中不能改變所述密鑰。
可選擇地,所述安全模塊還包括有保證邏輯520,保護所述安全模塊免受系統安全攻擊。為此,將幾個系統監視器與所述安全模塊內的其他部件和/或所述無狀態模塊所在的IC的其他部件相連接。
在某些實施例中,當檢測到攻擊時,保護電路會觸發所述無狀態模塊重置。所述重置將清除所述無狀態模塊內所有的瞬時信息。例如,所有的密鑰高速緩存地址將被清除。所述觸發可通過向本地主機提供一個載有相關信息的中斷來實現。
圖6是根據本發明一個實施例的安全模塊的處理流程圖。如步驟602到610所示,安全模塊生成公共—私有密鑰對,然後將所述私有(身份)密鑰存儲在安全邊界內的非易失性存儲器中,並發布所述公共密鑰,與相鄰的數據處理IC建立安全通信通道。
如步驟610所示,相鄰IC可通過所述安全通信通道向所述安全模塊發送其自身的公共密鑰和/或晶片ID。例如,所述相鄰IC可發送其自身的公共密鑰和晶片ID,對所述安全模塊從所述相鄰IC接收的數據進行加密和/或籤名。如步驟612所示,如果所述相鄰IC的公共密鑰和/或晶片ID進行了加密,那麼所述安全模塊在與所述安全模塊相關聯的安全邊界內對收到的加密後的公共密鑰和/或晶片ID進行解密。一個實施例中,所述晶片ID是在製造(例如,晶片測試)過程中注入到所述安全模塊中的。一個實施例中,所述晶片ID在燒入所述IC之前進行了加密。
一個實施例中,當具有所述安全模塊的IC在製造後(例如,在測試過程中)第一次初始化時,所述安全模塊中的電路可使用隨機數生成器來生成前述的公共—私有密鑰對。所述安全模塊將所述私有(身份)密鑰存儲在非易失性存儲器或一次性可編程存儲器中。在這個過程中還將生成晶片ID。隨後,所述安全模塊發布所述晶片ID,製造商將該晶片ID與證書一起發給公共伺服器,隨後可對該伺服器進行安全訪問。
如步驟614所示,所述安全模塊從所述相鄰IC接收將要進行解密的加密數據,並在安全邊界內使用對稱密鑰對數據進行解密,以進行進一步處理。對數據進行處理後,如步驟616所示,所述安全模塊在安全邊界內使用所述對稱密鑰對處理後的數據進行加密。隨後,如步驟618所示,所述安全模塊將加密後的數據發往下一個相鄰IC。
在某些實施例中,所述對稱密鑰和晶片ID可以在製造時注入所述無狀態模塊中。在這種情況下,可以不需要外部接口512、RNG 516以及非對稱密鑰處理電路。因此,如圖7所示,安全模塊700可簡化為包括有相對較小的主控制器706,用於注入對稱密鑰並執行其他基本操作。安全模塊700還包括有非易失性存儲器708、數據緩衝存儲器710、用於對稱密鑰操作的加密處理器704。可選擇地,安全模塊700還可包括有保證邏輯712。
本領域的普通技術人員可知,可以對本發明上述的實施例作出各種修改而不脫離本發明的範圍。因此,可以理解,本發明不限於本申請中公開的具體實施例或方案,本發明覆蓋落入本發明權利要求所定義的範圍和主旨內的任何替換、變更或修改。
本專利申請要求美國臨時專利申請號為60/631,484、申請日為2004年11月29日、名稱為「通過多接口實現安全性的方法和裝置」的專利申請的優先權,並在本申請中全文引用該美國臨時專利申請。
權利要求
1.一種安全數字系統,包括彼此間交換數據的多個集成電路(IC),其中每個IC包括密鑰生成器,用於生成加密密鑰;存儲器,安全地存儲所述生成的加密密鑰;驗證模塊,驗證各個IC的相鄰IC;加密模塊,對從所述各個IC發送給所述相鄰IC的數據進行加密;解密模塊,對從所述相鄰IC接收到的數據進行解密。
2.根據權利要求1所述的安全數字系統,其特徵在於,所述加密密鑰是公共/私有密鑰對。
3.根據權利要求2所述的安全數字系統,其特徵在於,所述存儲器是一次性可編程存儲器,所述私有密鑰存儲在其中。
4.根據權利要求2所述的安全數字系統,其特徵在於,所述公共密鑰通過與所述相鄰IC協商生成。
5.根據權利要求2所述的安全數字系統,其特徵在於,所述公共密鑰發布給所述相鄰IC。
6.一種安全集成電路晶片,包括多個輸入接口,用於從其他IC接收數據;多個輸出接口,用於向所述其他IC傳送數據;加密模塊,對發送給所述其他IC的數據進行加密;解密模塊,對從所述其他IC接收到的數據進行解密。
7.根據權利要求6所述的安全集成電路晶片,其特徵在於,還包括有驗證模塊,用於對某些其他IC進行驗證。
8.根據權利要求6所述的安全集成電路晶片,其特徵在於,還包括有密鑰生成器,用於生成加密密鑰。
9.一種在具有多個集成電路的數字系統內安全地處理數據的方法,所述方法包括為所述多個IC中的每一個生成唯一的加密密鑰;將所述生成的加密密鑰安全地存儲在每個對應的IC中;驗證各個IC的相鄰IC;對從所述各個IC發送給與其相鄰的IC的數據進行加密。
10.根據權利要求9所述的方法,其特徵在於,所述加密密鑰是公共/私有密鑰對。
全文摘要
本發明公開了一種安全數字系統,包括多個彼此間相互交換數據的IC。每個所述IC包括有密鑰生成器,用於生成加密密鑰;存儲器,用於安全地存儲所生成的加密密鑰;驗證模塊,用於驗證各個IC的相鄰IC;加密模塊,用於對從各個IC發送給所述相鄰IC的數據進行加密;解密模塊,用於對從所述相鄰IC接收到的數據進行解密。
文檔編號H04L9/00GK1791111SQ20051012929
公開日2006年6月21日 申請日期2005年11月28日 優先權日2004年11月29日
發明者馬克·布爾, 埃德華·H·弗蘭克 申請人:美國博通公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀