欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

內(nèi)嵌實時時鐘的安全芯片以及校準(zhǔn)其實時時鐘方法

文檔序號:6540480閱讀:355來源:國知局
專利名稱:內(nèi)嵌實時時鐘的安全芯片以及校準(zhǔn)其實時時鐘方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)安全技術(shù)領(lǐng)域,屬于對安全芯片體系結(jié)構(gòu)進(jìn)行擴(kuò)展的安全技術(shù)。特別是涉及在安全芯片中內(nèi)嵌實時時鐘以及對安全時鐘進(jìn)行校準(zhǔn)的方法。
背景技術(shù)
1999年,在由Intel、IBM、HP、Microsoft、Compaq發(fā)起的TCPA(TrustedComputing Platform Alliance)組織的推動下構(gòu)建了一個可信賴的計算環(huán)境。這個組織定義了一個平臺設(shè)備認(rèn)證的架構(gòu),以及嵌入在主板上的安全芯片(TPMTrusted Platform Module)和上層軟件中間件TSS(TrustedSoftware Stack)的規(guī)范。2003年TCPA組織重組為TCG(Trusted ComputingGroup),對TPM和TSS進(jìn)行完善補(bǔ)充。
圖1是表示現(xiàn)有技術(shù)的TCG安全芯片的體系結(jié)構(gòu)的方框圖。如圖1所示,TCG的安全芯片包括微控制器(MCU)處理器111,輸入/輸出(I/O)接口112,散列消息鑒別碼(HMAC(Hash Message Authentication Code))引擎113,密鑰生成單元114,安全散列算法(SHA1(Security HashArithmetic))引擎115,隨機(jī)數(shù)發(fā)生器116,電源檢測單元117,存儲單元118,存儲單元119,RSA(注釋RSA以三個發(fā)明人的姓名頭字母命名)協(xié)處理器120,以及可選部件(圖中未示出)。
下面說明現(xiàn)有技術(shù)的TCG安全芯片各個部分的功能。MCU處理器111用于執(zhí)行外部設(shè)備提供給安全芯片的指令。I/O接口112通過外部接口接收外部設(shè)備提供給安全芯片的指令,和向外部發(fā)送安全芯片執(zhí)行相應(yīng)指令的結(jié)果。HMAC引擎113用于執(zhí)行HMAC運算。密鑰生成單元114生成RSA、對稱算法所需的密鑰。SHA1引擎115用于執(zhí)行SHA運算。隨機(jī)數(shù)發(fā)生器116用于產(chǎn)生隨機(jī)數(shù)以便生成隨機(jī)密鑰。電源檢測單元117檢測提供給安全芯片的電源。存儲單元118是非易失性存儲器,用于保存密鑰數(shù)據(jù)、用戶數(shù)據(jù)和執(zhí)行各種操作所需的程序。存儲單元119是易失性存儲器,用于保存臨時數(shù)據(jù)和程序。RSA協(xié)處理器120執(zhí)行RSA運算(RSA是美國RSA實驗室研究的加密算法)。可選部件用于管理當(dāng)前安全芯片的狀態(tài)。
目前,TCG組織規(guī)定的安全芯片的主要功能包括在計算機(jī)啟動過程中對基本輸入/輸出系統(tǒng)(BIOSBasic Input/Output System)的完整性進(jìn)行驗證,對硬件設(shè)備的完整性進(jìn)行驗證,對操作系統(tǒng)的完整性進(jìn)行驗證。在操作系統(tǒng)運行后,安全芯片負(fù)責(zé)對受保護(hù)的應(yīng)用軟件的完整性進(jìn)行監(jiān)視驗證;生成并管理系統(tǒng)中的各種密鑰;并可以提供數(shù)字簽名。
通常,在認(rèn)證系統(tǒng)中,數(shù)字時間戳與數(shù)字簽名一樣都是防止電子交易、電子文書被偽造或篡改的防護(hù)措施。其中數(shù)字時間戳可以有效地防止抵賴。目前,安全芯片利用一個單調(diào)計數(shù)器來實現(xiàn)類似功能。該單調(diào)計數(shù)器的主要功能如下在安全芯片生產(chǎn)時,為計數(shù)器設(shè)定一個初始值,當(dāng)安全芯片運行時,每隔一段時間使計數(shù)器自動增加一個固定值,當(dāng)安全芯片停止工作時,該計數(shù)器保持現(xiàn)有數(shù)值不變。這樣,當(dāng)需要提供時間戳?xí)r,就讀取該計數(shù)器當(dāng)前的數(shù)值作為當(dāng)前的時間。
然而,由于計數(shù)器本身的特性,采用計數(shù)器的方式存在如下缺陷1)計數(shù)器存在著溢出的問題,當(dāng)計數(shù)器計滿而發(fā)生溢出復(fù)位時,必然會重復(fù)提供數(shù)值,這樣就無法區(qū)別兩次數(shù)字簽名的時間差異,由此出現(xiàn)兩份相同的文檔;2)在計數(shù)器增加固定值的這段時間內(nèi),如果有兩個簽名需要加蓋時間戳,那么提供的將是同一數(shù)值,從而出現(xiàn)兩份相同的文檔;3)由于安全芯片關(guān)閉和下次啟動時計數(shù)器的數(shù)值相同,而如果此時要求加蓋時間戳,也將提供同一數(shù)值,從而出現(xiàn)兩份相同文檔。

發(fā)明內(nèi)容
鑒于采用計數(shù)器的安全芯片存在的上述問題,本發(fā)明的一個目的是提供一種具有內(nèi)部實時時鐘的安全芯片,用內(nèi)部實時時鐘來取代計數(shù)器,從而為數(shù)字簽名提供真正意義上的時間值,填補(bǔ)計數(shù)器本身的特性而造成的設(shè)計缺陷。
本發(fā)明的另一個目的是提供一種對安全芯片的實時時鐘進(jìn)行修正的方法,以校正安全芯片內(nèi)部的實時時鐘的誤差,從而為數(shù)字簽名提供真正意義上的時間值,填補(bǔ)計數(shù)器本身的特性而造成的設(shè)計缺陷。
根據(jù)本發(fā)明的一個方面,提供一種內(nèi)嵌實時時鐘的安全芯片,包括實時時鐘裝置,用于為數(shù)據(jù)文件提供安全芯片的當(dāng)前時間值作為時間戳標(biāo)記;外部頻率發(fā)生器,用于為所述實時時鐘裝置提供基準(zhǔn)時鐘頻率;時鐘校準(zhǔn)裝置,用于校正所述實時時鐘裝置的誤差,以便實現(xiàn)時鐘同步;加密裝置,用于根據(jù)加密算法產(chǎn)生密鑰,以實現(xiàn)對安全芯片讀寫的安全保護(hù)和認(rèn)證;和微控制器(MCU),用于為芯片操作系統(tǒng)提供操作支持和管理。
根據(jù)本發(fā)明的另一個方面,提供一種對安全芯片的實時時鐘進(jìn)行修正的方法,包括步驟從外部時間服務(wù)器獲取第一時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的時間服務(wù)器校驗寄存器中;獲取安全芯片的實時時鐘的第二時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的實時時鐘校驗寄存器中;判斷外部時間服務(wù)器的累計時間值與安全芯片中的實時時鐘的累計時間值之間的誤差值是否超過預(yù)定的閾值;如果所述誤差值超過了預(yù)定的閾值,則對安全芯片的實時時鐘進(jìn)行校準(zhǔn)。
根據(jù)本發(fā)明的再一個方面,提供一種讀取內(nèi)嵌實時時鐘的安全芯片的時間信息,以便添加時間信息的方法,包括步驟接收發(fā)送給安全芯片的指令,并對所接收的指令進(jìn)行解析;根據(jù)所述被解析的指令判斷是否需要向運行結(jié)果添加時間信息;如果需要,則讀取安全芯片的實時時鐘裝置內(nèi)部的時間寄存器,獲得當(dāng)前的時間信息;在運行結(jié)果的相應(yīng)位置添加所獲得的相應(yīng)的時間信息,并將運行結(jié)果返回;和如果判斷運行結(jié)果不需要添加時間信息,該直接返回運行結(jié)果。
本發(fā)明在原有安全芯片中設(shè)置內(nèi)部實時時鐘,并在安全芯片外部為實時時鐘提供外部時鐘頻率,確保時間精度,同時采用授權(quán)控制、時鐘同步等方法對實時時鐘進(jìn)行校正。
根據(jù)本發(fā)明的內(nèi)嵌實時時鐘的安全芯片不但利用數(shù)據(jù)完整性和數(shù)據(jù)簽名技術(shù),實現(xiàn)了從基于安全芯片的計算機(jī)主板到系統(tǒng)底層固件以及操作系統(tǒng)的信賴機(jī)制,而且在安全芯片內(nèi)部嵌入了實時時鐘,不但為數(shù)據(jù)簽名提供了不可抵賴的時間戳,而且可以將時間信息用于各種與時間相關(guān)的安全服務(wù),如軟件版權(quán)、接入/拒絕服務(wù)等,從而使安全芯片的功能更加完善。


通過閱讀和理解下面參考附圖對本發(fā)明優(yōu)選實施例所做的詳細(xì)描述,將使本發(fā)明的這些和其它目的、特征、和優(yōu)點變得顯而易見。其中圖1是表示現(xiàn)有技術(shù)的安全芯片的結(jié)構(gòu)方框圖;圖2是表示根據(jù)本發(fā)明一個實施例的內(nèi)嵌實時時鐘的安全芯片的內(nèi)部模塊的結(jié)構(gòu)方框圖;圖3是表示根據(jù)本發(fā)明實施例的內(nèi)嵌實時時鐘的安全芯片與計算機(jī)主板連接的示意方框圖;圖4是表示根據(jù)本發(fā)明實施例的內(nèi)嵌實時時鐘的安全芯片的時鐘校準(zhǔn)部分的方框圖;圖5是表示根據(jù)本發(fā)明實施例為內(nèi)嵌實時時鐘的安全芯片讀取時鐘信息的處理方法的流程圖;和圖6是表示根據(jù)本發(fā)明實施例為內(nèi)嵌實時時鐘的安全芯片修正實時時鐘誤差的處理方法的流程。
具體實施例方式
下面參照附圖對本發(fā)明的實施例進(jìn)行詳細(xì)的說明,在描述過程中省略了對于本發(fā)明來說是不必要的細(xì)節(jié)和功能,以防止對本發(fā)明的理解造成混淆。
圖2示出了根據(jù)本發(fā)明的內(nèi)嵌實時時鐘的安全芯片的一個實施例。如圖2所示,根據(jù)本發(fā)明的內(nèi)嵌實時時鐘的安全芯片包括實時時鐘模塊21,外部頻率發(fā)生器22,時鐘校準(zhǔn)模塊23,加密模塊24,電源檢測模塊25;中央處理單元(CPU)核26(即,MCU),存儲部件27,和對外接口模塊28。實時時鐘模塊21為數(shù)字簽名提供精確的當(dāng)前時間值。外部頻率發(fā)生器22為實時時鐘模塊21提供基準(zhǔn)時鐘頻率。時鐘校準(zhǔn)模塊23用于校正實時時鐘模塊21的誤差,以便實現(xiàn)時鐘同步。加密模塊24基于公開密鑰算法的數(shù)據(jù)簽名算法,對稱加密密碼算法,實現(xiàn)對安全芯片讀寫的安全保護(hù)機(jī)制和認(rèn)證機(jī)制,密鑰的產(chǎn)生機(jī)制。CPU核(MCU)26為芯片操作系統(tǒng)提供操作支持,其中的固件執(zhí)行運算和管理功能。存儲部件27可以用來存儲唯一的身份標(biāo)識和身份認(rèn)證,固件的完整性驗證碼,以及其他秘密信息。上述數(shù)據(jù)在每一個終端的生產(chǎn)時或在安全環(huán)境下,寫入到安全芯片的存儲部件中。電源檢測單元25檢測提供給安全芯片的電源。對外接口模塊28主要用于接收外部設(shè)備傳送的指令,和向外部返回指令運行的結(jié)果,并與外部相連。如圖2所示,上述模塊通過內(nèi)部總線連接。
在圖2中,加密模塊24由SHA/HMAC運算單元241,RSA運算單元242,密鑰生成單元243,和隨機(jī)數(shù)發(fā)生器244構(gòu)成。SHA/HMAC運算單元214包括SHA和HMAC引擎,用于執(zhí)行SHA和HMAC運算。RSA運算單元242用于執(zhí)行RSA運算。密鑰生成單元243生成RSA、對稱算法所需的密鑰。隨機(jī)數(shù)發(fā)生器244產(chǎn)生隨機(jī)數(shù)以便產(chǎn)生隨機(jī)密鑰。存儲部件27由易失性存儲器271和非易失性存儲器272組成。易失性存儲器271主要用于運行固件必要的程序和保存臨時數(shù)據(jù)。非易失性存儲器272主要用于保存固件程序和各種密鑰以及其他秘密信息。對外接口模塊28由I/O接口281和外部接口282構(gòu)成。I/O接口281口主要用于接收從外部傳送的指令,并返回指令運行的結(jié)果。外部接口282用于與外部設(shè)備進(jìn)行連接。電源檢測模塊25用于檢測當(dāng)前工作電壓是否在規(guī)定范圍之內(nèi),如果不在規(guī)定范圍之內(nèi),則向MCU發(fā)送復(fù)位信號。MCU 26主要用于控制和調(diào)度各功能模塊。
下面描述根據(jù)本發(fā)明實施例的內(nèi)嵌實時時鐘的安全芯片的操作。在本實施例,安全芯片的實時時鐘模塊21內(nèi)部設(shè)置多個寄存器(圖中未示出),作為用于寄存相應(yīng)的年、月、日、時、分、秒、毫秒等的時間寄存器。在安全芯片生產(chǎn)時根據(jù)生產(chǎn)時間設(shè)定相應(yīng)時間。實時時鐘模塊21根據(jù)外部頻率發(fā)生器22提供的基準(zhǔn)頻率,產(chǎn)生滿足需要的固定時鐘頻率。上述時間寄存器根據(jù)此頻率進(jìn)行相應(yīng)的變化以反映當(dāng)前的時間。作為例子,外部頻率發(fā)生器22可以采用晶體振蕩器,然而,本發(fā)明不限于此,也可采用其它設(shè)備作為外部頻率發(fā)生器。當(dāng)MCU 26中運行的固件判斷運行的數(shù)字簽名命令需要加蓋時間戳?xí)r,固件通過芯片內(nèi)的地址總線傳送實時時鐘模塊21的時間寄存器地址,同時通過芯片內(nèi)的數(shù)據(jù)總線傳送讀指令。在規(guī)定的讀取周期后,實時時鐘模塊21將時間寄存器的時間值發(fā)送到芯片內(nèi)的數(shù)據(jù)總線上提供給固件。固件在需要加蓋時間戳的文件摘要中添加日期、時間信息。然后,完成對文件的數(shù)字簽名。
圖3是內(nèi)嵌實時時鐘的安全芯片與計算機(jī)主板的連接示意圖。安全芯片內(nèi)部的各模塊通過內(nèi)部總線相連接,通過接口與外部設(shè)備進(jìn)行通信,并且外部設(shè)備通過例如晶體振蕩器或固定頻率發(fā)生器為實時時鐘模塊21提供基準(zhǔn)頻率。
下面描述內(nèi)嵌實時時鐘的安全芯片與計算機(jī)主板的連接。如圖3所示,CPU 301與主板上的北橋302相連,北橋302與南橋303和靜態(tài)存儲器(SRAM)304分別直接相連。南橋303分別與超級輸入輸出接口(SuperI/O)305、BIOS模塊306和安全芯片307通過例如LPC(Low PinCount Bus)總線直接相連。應(yīng)該指出,安全芯片307與主板的連接不限于LPC總線的方式,而是可以采用其它連接總線。例如,安全芯片通過PCI(Peripheral Component Interface)總線與主板系統(tǒng)進(jìn)行連接;安全芯片通過USB(Universal Serial Bus)總線與主板系統(tǒng)進(jìn)行連接;安全芯片通過1394串口總線與主板系統(tǒng)進(jìn)行連接;安全芯片通過GPIO(GeneralPurpose Input and Output)接口與主板系統(tǒng)進(jìn)行連接等。
在個人計算機(jī)(PC)的啟動過程中對BIOS、底層固件、操作系統(tǒng)依次進(jìn)行完整性驗證,從而保證信息處理設(shè)備的安全啟動,同時記錄BIOS或時間服務(wù)器提供的時間,以及安全芯片實時時鐘的時間。此后,利用安全芯片內(nèi)置的加密模塊生成并管理系統(tǒng)中各種密鑰,對應(yīng)用模塊進(jìn)行加密和解密,以保證計算機(jī)等信息設(shè)備中應(yīng)用模塊的安全。在PC機(jī)的使用過程中,以及關(guān)閉時,記錄BIOS或時間服務(wù)器提供的時間,以及安全芯片的實時時鐘的時間,從而根據(jù)兩者之間的誤差關(guān)系,校正安全芯片內(nèi)部的實時時鐘的誤差。
通常,晶體振蕩器的時間間隔的漂移較小,單位時間的誤差較穩(wěn)定,但存在較大的累計誤差,因此需要對安全芯片的實時時鐘進(jìn)行校正。
對于單機(jī)系統(tǒng)而言,作為實例,可以采用以下的校正方法。首先,在安全芯片中設(shè)置一個超級用戶模式(Super mode),進(jìn)入超級用戶模式需要一個與背書密鑰(EKEndorsement Key)綁定的密鑰。在進(jìn)入超級用戶模式后,用戶直接設(shè)置相應(yīng)的時間數(shù)值。該方法可以將誤差控制在數(shù)秒鐘之內(nèi),對于不允許聯(lián)網(wǎng)的單機(jī)系統(tǒng)而言是可以容忍的。
然而,對于聯(lián)網(wǎng)或組網(wǎng)的網(wǎng)絡(luò)用戶而言,上述校正方式中多達(dá)數(shù)秒鐘的誤差是不允許的。這種情況下,可以考慮如下方式進(jìn)行校正。首先,在網(wǎng)絡(luò)中設(shè)置一個時間服務(wù)器,網(wǎng)絡(luò)上的其他主機(jī)系統(tǒng)的時鐘以該時間服務(wù)器的時鐘為準(zhǔn)。在啟動安全芯片之后向時間服務(wù)器發(fā)送一條指令,以獲取時間服務(wù)器上的時間。安全芯片將獲得的時間服務(wù)器的時間保存在時間校準(zhǔn)模塊23的時間服務(wù)器校驗寄存器A1中。同時,安全芯片將實時時鐘模塊21的當(dāng)前時間保存在校準(zhǔn)模塊23的實時時鐘校驗寄存器B1中。安全芯片在關(guān)閉之前向時間服務(wù)器發(fā)送一條指令,以獲得時間服務(wù)器上的時間。安全芯片將獲得的時間服務(wù)器時間保存在時鐘校準(zhǔn)模塊的時間服務(wù)器校驗寄存器A2中。
同時,安全芯片將實時時鐘模塊的當(dāng)前時間保存在時鐘校準(zhǔn)模塊的實時時鐘校驗寄存器B2中。此后,計算時鐘校準(zhǔn)模塊的時間服務(wù)器校驗計數(shù)器A2與A1之間的時間差,并將計算結(jié)果保存在時鐘校準(zhǔn)模塊時間服務(wù)器累計寄存器C1中。
另外,計算時鐘校準(zhǔn)模塊23的實時時鐘校驗寄存器B2與B1之間的時間差,并將計算結(jié)果保存在時鐘校準(zhǔn)模塊實時時鐘累計寄存器D1中。根據(jù)一組或多組C寄存器與D寄存器的時間差值,統(tǒng)計出晶體振蕩器的累計誤差。然后,根據(jù)晶體振蕩器的累計誤差情況修正實時時鐘的當(dāng)前時間值,使之與網(wǎng)絡(luò)時間服務(wù)器的時間保持同步。
圖4是表示圖2所示的內(nèi)嵌實時時鐘的安全芯片的時鐘校準(zhǔn)部分的內(nèi)部方框圖。時鐘校準(zhǔn)模塊23內(nèi)部由2n個時間服務(wù)器校驗寄存器組A1,A2,...,A2n-1,A2n、n個時間服務(wù)器累計寄存器組C1,C2,...,Cn、2n個實時時鐘校驗寄存器組B1,B2,...,B2n-1,B2n、n個實時時鐘累計寄存器組D1,D2,...,Dn,以及修正算法處理子模塊41和修正結(jié)果寄存器42構(gòu)成,其中n是自然數(shù)。時間服務(wù)器校驗寄存器A1,A2,...,A2n-1,A2n用于記錄外部時間服務(wù)器的時間,時間服務(wù)器累計寄存器C1,C2,...,Cn分別根據(jù)所對應(yīng)的兩個時間服務(wù)器校驗寄存器,例如,A1,A2或A2n-1,A2n中寄存的外部時間服務(wù)器的時間來記錄兩次讀取外部時間服務(wù)器的間隔。
實時時鐘校驗寄存器B1,B2,...,B2n-1,B2n用于記錄安全芯片的內(nèi)部實時時鐘的時間,實時時鐘累計寄存器D1,D2,...,Dn分別根據(jù)所對應(yīng)的兩個實時時鐘校驗寄存器,例如,B1,B2或B2n-1,B2n中寄存的安全芯片中的內(nèi)部時間來記錄兩次讀取內(nèi)部實時時鐘的間隔。校準(zhǔn)算法處理模塊41根據(jù)時間服務(wù)器累計寄存器C1,C2,...,Cn的數(shù)值來判斷外部時間服務(wù)器的時間是否被惡意篡改(例如,將系統(tǒng)的當(dāng)前時間修改數(shù)天數(shù)小時),從而決定時間服務(wù)器累計寄存器C1,C2,...,Cn中的數(shù)值是否可用,并計算時間服務(wù)器累計寄存器C1,C2,...,Cn中的數(shù)值與實時時鐘累計寄存器D1,D2,...,Dn中的數(shù)值之間的差值。然后,按照統(tǒng)計學(xué)原理,依據(jù)時間服務(wù)器累計寄存器C1,C2,...,Cn和實時時鐘累計寄存器D1,D2,...,Dn兩者之間的誤差值。判斷當(dāng)前的晶體振蕩器的累積誤差是否超過限度,例如,預(yù)定的閾值。如果超過限度,則予以修正,并將修正值記錄在修正結(jié)果寄存器42中,以便實時時鐘子模塊據(jù)此值修改當(dāng)前時間。
下面參考圖5說明在需要安全芯片為數(shù)字簽名提供真正意義上的時間值時,讀取內(nèi)嵌實時時鐘的安全芯片的時間信息的處理過程。首先,在步驟S501,MCU 26接收發(fā)送給安全芯片的指令。然后,在步驟S502中對所接收的指令進(jìn)行解析。此后,根據(jù)解析的指令在步驟S503中調(diào)用相應(yīng)的模塊運行該指令。在步驟S504中,根據(jù)該指令要求判斷運行結(jié)果是否需要添加時間信息。如果需要,處理過程執(zhí)行步驟S505,在步驟S505中讀取實時時鐘模塊21內(nèi)部的時間寄存器,獲得當(dāng)前的時間信息,并在步驟S506中在運行結(jié)果的相應(yīng)位置添加所獲得的相應(yīng)的時間信息。然后,在步驟S507中將運行結(jié)果返回。如果在步驟S504判斷運行結(jié)果不需要添加時間信息,該處理過程則直接轉(zhuǎn)到步驟S507,返回運行結(jié)果。
如前所述,雖然晶體振蕩器時間間隔的漂移較小,單位時間的誤差較穩(wěn)定,但其累計誤差較大,因此需要對安全芯片的實時時鐘進(jìn)行校正,以確保安全芯片能夠提供準(zhǔn)確的時間值。
圖6是描述對內(nèi)嵌實時時鐘的安全芯片的時鐘信息進(jìn)行修正的過程的流程圖。下面參考圖6描述對內(nèi)嵌實時時鐘的安全芯片的時鐘信息的修正處理。
首先,在步驟S601中,啟動安全芯片,準(zhǔn)備發(fā)送和接收指令。然后,在步驟S602,安全芯片發(fā)送讀取時間服務(wù)器的指令,以便從時間服務(wù)器獲得時間信息來校準(zhǔn)內(nèi)嵌于安全芯片中的實時時鐘。接下來,在步驟S603,安全芯片接收從時間服務(wù)器傳送過來的時間服務(wù)器的第一時間信息。在步驟S604,安全芯片將時間服務(wù)器的時間值保存到設(shè)置在時鐘校準(zhǔn)模塊23中的時間服務(wù)器校驗寄存器A1中。此后,在步驟S605,安全芯片發(fā)送指令以讀取其自身的實時時鐘單元的第二時間信息。然后,在步驟S606中,安全芯片將實時時鐘的時間值保存到時鐘校準(zhǔn)模塊23的實時時鐘校驗寄存器B1中。接下來,在步驟S607中,安全芯片判斷時間服務(wù)器累計校驗寄存器C1和實時時鐘累計寄存器D1之間的誤差是否超過預(yù)定范圍,如果安全芯片的時間誤差超過了范圍,處理過程則進(jìn)行到步驟S608,安全芯片調(diào)用修正算法模塊,根據(jù)誤差值計算修正的時間值的大小。參見圖4,C1是A1與A2的差值,D1是B1與B2的差值。然后,在步驟S609,安全芯片將修正值保存在修正結(jié)果寄存器中,并且在步驟S610中,安全芯片正常運行。如果在步驟S607判斷時間服務(wù)器累計校驗寄存器C1和實時時鐘累計寄存器D1之間的誤差未超過預(yù)定范圍,處理過程則轉(zhuǎn)到步驟S610,使安全芯片正常運行。
接下來,在步驟S611中,安全芯片判斷修正結(jié)果寄存器是否為空,如果不為空,處理過程則進(jìn)行到步驟612。在步驟S612中,安全芯片根據(jù)修正結(jié)果寄存器的數(shù)值對實時時鐘模塊中相應(yīng)的時間寄存器(圖中未示出)進(jìn)行校正,以校正相應(yīng)的時間值。此后,在步驟S613,安全芯片準(zhǔn)備結(jié)束操作。另外,如果在步驟S611中判斷修正結(jié)果寄存器41為空,則說明安全芯片的實時時鐘與時間服務(wù)器的時間值相同或在允許的誤差范圍內(nèi),無需對實時時鐘進(jìn)行校準(zhǔn),處理過程可以轉(zhuǎn)到步驟S613,安全芯片準(zhǔn)備停止運行。
接下來,在步驟S614,安全芯片發(fā)送讀取時間服務(wù)器的時間的指令。在步驟S615中,安全芯片接收從時間服務(wù)器傳送過來的時間服務(wù)器的第三時間信息。然后,在步驟S616中,安全芯片將時間服務(wù)器的第三時間信息保存在時間服務(wù)器校驗寄存器A2。此后,在步驟S617,安全芯片發(fā)送讀取實時時鐘模塊的第四時間信息的指令。在步驟S618,安全芯片將讀取的實時時鐘模塊的第四時間信息保存在時鐘校準(zhǔn)模塊的實時時鐘校驗寄存器B2中。處理過程繼續(xù)進(jìn)行到步驟S619,安全芯片計算時間服務(wù)器校驗寄存器A2與A1之間的差值,并在步驟S620中將計算結(jié)果保存在時間服務(wù)器累計寄存器C1中。同樣,在步驟S621中,安全芯片計算實時時鐘校準(zhǔn)寄存器B2與B1之間的差值,并在步驟S622中將計算結(jié)果保存在實時時鐘校驗寄存器D1中。此后,修正算法處理模塊41判斷寄存器C1與D1之間的差值,以確定實時時鐘的累計誤差是否超過預(yù)定的閾值。如果超過預(yù)定的閾值,則利用修正結(jié)果寄存器修正安全芯片的實時時鐘,并向所處理的文件提供修正后的時間戳。如果實時時鐘的累計誤差未超過預(yù)定閾值,則可以向所處理的文件提供實時時鐘當(dāng)前的時間戳。此后,在步驟S623,安全芯片結(jié)束運行。
作為替換,可以采用如下所述的另一種處理方法。在步驟S606后,經(jīng)過預(yù)定時間,按照同樣的操作,在時間服務(wù)器校驗寄存器A2和實時時鐘校驗寄存器B2分別保存時間服務(wù)器和安全芯片的實時時鐘的另一個時間值(即,第三時間信息和第四時間信息。對其余的校驗寄存器A,B進(jìn)行相同的操作。此后,時間服務(wù)器累計寄存器C1計算時間服務(wù)器校驗寄存器A1和A2中的差值,并寄存在時間服務(wù)器累計寄存器C1中。實時時鐘累計寄存器D1計算實時時鐘校驗寄存器B 1和B2中的差值,并寄存在實時時鐘累計寄存器D1中。修正算法處理模塊41通過比較寄存器C1和D1中的差值,判斷安全芯片的時間誤差是否超過預(yù)定范圍。如果超過預(yù)定范圍,則說明實時時鐘的累計誤差超過了預(yù)定的閾值。這種情況下,利用修正結(jié)果寄存器42修正安全芯片的實時時鐘。
在本發(fā)明的內(nèi)嵌實時時鐘的安全芯片中,執(zhí)行實時時鐘校準(zhǔn)處理的每個單元的功能不僅能夠通過硬件實現(xiàn),而且也可以通過將執(zhí)行上述每個單元的功能的處理程序裝載到計算機(jī)處理設(shè)備的存儲器中控制計算機(jī)處理設(shè)備而實現(xiàn)。處理程序可以存儲在諸如磁盤或半導(dǎo)體存儲器之類的記錄介質(zhì)中,并且從記錄介質(zhì)裝載到計算機(jī)處理設(shè)備中,以控制計算機(jī)處理設(shè)備的操作,從而實現(xiàn)上述每種功能。
在內(nèi)嵌實時時鐘的安全芯片之間保持時間同步有著重要作用,它可以為各種需要時間信息的安全服務(wù)體系提供相應(yīng)的支持,例如版權(quán)保護(hù)、接入/拒絕服務(wù)等。
例如,版權(quán)保護(hù)可以通過軟件下載服務(wù)器端的安全芯片為被保護(hù)的樂曲、影視、軟件等生成一個時間許可證書,僅允許被下載的樂曲、影視、軟件等在此時間段內(nèi)使用,被下載到本地的樂曲、影視、軟件等在運行之初都要通過安全芯片提供當(dāng)前時間,從而判斷是否在時間許可證書允許使用的時間段內(nèi),如果在此時間段內(nèi),則繼續(xù)運行,否則終止程序運行,防止非法使用。
接入/拒絕服務(wù)可以用于分布式工作環(huán)境中,為保證各終端得到與服務(wù)器大致相同的服務(wù)時間,避免資源獨占,可以由服務(wù)器為各終端分配相應(yīng)的使用時間。各終端必須在規(guī)定的時間段內(nèi)使用服務(wù)器,終端申請服務(wù)器資源的同時將當(dāng)前時間信息發(fā)送給服務(wù)器,服務(wù)器根據(jù)已經(jīng)確定的時間表,判斷該終端是否是該時段允許接入的終端(通過安全芯片提供的唯一設(shè)備標(biāo)示,而非IP地址),如果是,則允許接入使用資源,否則拒絕接入。
本發(fā)明同樣適用于服務(wù)器,掌上電腦,便攜式計算機(jī),個人數(shù)字助理,和移動電話等其它信息處理設(shè)備。
上面已經(jīng)結(jié)合優(yōu)選實施例對本發(fā)明進(jìn)行了描述。本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種其它的改變、替換和添加。因此,本發(fā)明的范圍不應(yīng)該被理解為被局限于上述特定實施例,而應(yīng)由所附權(quán)利要求所限定。
權(quán)利要求
1.一種內(nèi)嵌實時時鐘的安全芯片,包括實時時鐘裝置,用于為數(shù)據(jù)文件提供安全芯片的當(dāng)前時間值作為時間戳標(biāo)記;外部頻率發(fā)生器,用于為所述實時時鐘裝置提供基準(zhǔn)時鐘頻率;時鐘校準(zhǔn)裝置,用于校正所述實時時鐘裝置的誤差,以便實現(xiàn)時鐘同步;加密裝置,用于根據(jù)加密算法產(chǎn)生密鑰,以實現(xiàn)對安全芯片讀寫的安全保護(hù)和認(rèn)證;和微控制器(MCU),用于為芯片操作系統(tǒng)提供操作支持和管理。
2.根據(jù)權(quán)利要求1所述的安全芯片,其中所述實時時鐘裝置包括多個寄存器,用于寄存相應(yīng)的年、月、日、時、分、秒、毫秒的時間信息。
3.根據(jù)權(quán)利要求1所述的安全芯片,其中所述外部頻率發(fā)生器是晶體振蕩器。
4.根據(jù)權(quán)利要求1所述的安全芯片,其中所述時鐘校準(zhǔn)裝置包括多個時間服務(wù)器校驗寄存器,用于記錄外部時間裝置提供的基準(zhǔn)時間;多個時間服務(wù)器累計寄存器,所述多個時間服務(wù)器累計寄存器中的每一個根據(jù)所對應(yīng)的兩個時間服務(wù)器校驗寄存器中寄存的外部時間裝置的基準(zhǔn)時間來記錄兩次讀取外部時間裝置的間隔;多個實時時鐘校驗寄存器,用于記錄安全芯片的內(nèi)部實時時鐘的時間;和多個實時時鐘累計寄存器,所述多個實時時鐘累計寄存器中的每一個根據(jù)所對應(yīng)的兩個實時時鐘校驗寄存器中寄存的安全芯片中的內(nèi)部時間來記錄兩次讀取內(nèi)部實時時鐘的間隔。
5.根據(jù)權(quán)利要求4所述的安全芯片,其中所述時間服務(wù)器累計寄存器的數(shù)量是時間服務(wù)器校驗寄存器的數(shù)量的兩倍。
6.根據(jù)權(quán)利要求4所述的安全芯片,其中所述實時時鐘累計寄存器的數(shù)量是實時時鐘校驗寄存器的數(shù)量的兩倍。
7.根據(jù)權(quán)利要求4所述的安全芯片,其中所述時間服務(wù)器校驗寄存器的數(shù)量與實時時鐘校驗寄存器的數(shù)量相同。
8.根據(jù)權(quán)利要求4所述的安全芯片,其中所述時鐘校準(zhǔn)裝置還包括修正算法處理裝置,用于判斷外部時間裝置的時間是否被篡改,以確定時間服務(wù)器累計寄存器中的數(shù)值是否可用,并計算時間服務(wù)器累計寄存器中的時間值與實時時鐘累計寄存器中的時間值之間的差值。
9.根據(jù)權(quán)利要求4所述的安全芯片,其中所述時鐘校準(zhǔn)裝置還包括修正結(jié)果寄存裝置,用于根據(jù)所述修正算法處理裝置計算的差值來修正安全芯片的實時時鐘的當(dāng)前時間。
10.根據(jù)權(quán)利要求4所述的安全芯片,其中所述外部時間裝置是用于在網(wǎng)絡(luò)中提供基準(zhǔn)時間的時間服務(wù)器。
11.根據(jù)權(quán)利要求1所述的安全芯片,其中所述加密裝置包括安全散列算法/散列消息鑒別碼(SHA/HMAC)運算裝置,包括SHA和HMAC引擎,用于執(zhí)行SHA和HMAC運算;RSA運算裝置,用于執(zhí)行RSA運算;密鑰生成裝置,用于生成RSA、對稱算法所需的密鑰;和隨機(jī)數(shù)發(fā)生器。用于產(chǎn)生隨機(jī)數(shù)以便生成隨機(jī)密鑰。
12.根據(jù)權(quán)利要求1所述的安全芯片,其中還包括存儲裝置,用于存儲唯一的身份標(biāo)識和身份認(rèn)證,固件的完整性驗證碼,以及用于運行固件必要的程序和保存臨時數(shù)據(jù)。
13.根據(jù)權(quán)利要求1所述的安全芯片,其中還包括電源檢測裝置,用于檢測提供給安全芯片的電源。
14.根據(jù)權(quán)利要求1所述的安全芯片,其中還包括對外接口模塊,用于接收外部設(shè)備傳送的指令,和向外部返回指令運行的結(jié)果,并與外部相連。
15.一種對安全芯片的實時時鐘進(jìn)行修正的方法,包括步驟從外部時間服務(wù)器獲取第一時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的時間服務(wù)器校驗寄存器中;獲取安全芯片的實時時鐘的第二時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的實時時鐘校驗寄存器中;判斷外部時間服務(wù)器的累計時間值與安全芯片中的實時時鐘的累計時間值之間的誤差值是否超過預(yù)定的閾值;如果所述誤差值超過了預(yù)定的閾值,則對安全芯片的實時時鐘進(jìn)行校準(zhǔn)。
16.根據(jù)權(quán)利要求15所述的方法,其中判斷所述誤差值是否超過預(yù)定的閾值的步驟進(jìn)一步包括在誤差值超過預(yù)定閾值時,利用修正算法進(jìn)行修正,并將修正結(jié)果存放在修正結(jié)果寄存器中的步驟。
17.根據(jù)權(quán)利要求16所述的方法,其中進(jìn)一步包括判斷修正結(jié)果寄存器是否不為空的步驟,如果修正結(jié)果寄存器不為空,則利用所存放的修正結(jié)果修正安全芯片的實時時鐘的時間值。
18.根據(jù)權(quán)利要求17所述的方法,其中修正結(jié)果寄存器為空,安全芯片則準(zhǔn)備停止運行。
19.根據(jù)權(quán)利要求15至18所述的任何一項權(quán)利要求的方法,進(jìn)一步包括步驟經(jīng)過預(yù)定時間后從外部時間服務(wù)器獲得第三時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的另一個時間服務(wù)器校驗寄存器中;獲取安全芯片的實時時鐘的第四時間信息,并保存在安全芯片的時鐘校準(zhǔn)裝置中的另一個實時時鐘校驗寄存器中;計算從外部時間服務(wù)器獲得第一時間信息與第三時間信息之間的差值,并保存在時間服務(wù)器累計寄存器中;計算獲取的安全芯片的實時時鐘的第二時間信息和第四時間信息之間的差值,并保存在實時時鐘累計寄存器中;比較時間服務(wù)器累計寄存器和實時時鐘累計寄存器中的差值,判斷安全芯片的實時時鐘的時間誤差是否超過預(yù)定閾值。
20.根據(jù)權(quán)利要求19所述的方法,其中如果實時時鐘的時間誤差超過預(yù)定閾值,則修正安全芯片的實時時鐘。
21.根據(jù)權(quán)利要求15所述的方法,其中進(jìn)一步包括將修正的實時時鐘寫入所需的數(shù)據(jù)文件作為時間戳標(biāo)記的步驟。
22.根據(jù)權(quán)利要求15所述的方法,其中進(jìn)一步包括將正確的實時時鐘寫入所需的數(shù)據(jù)文件作為時間戳標(biāo)記的步驟。
23.一種讀取內(nèi)嵌實時時鐘的安全芯片的時間信息,以便添加時間信息的方法,包括步驟接收發(fā)送給安全芯片的指令,并對所接收的指令進(jìn)行解析;根據(jù)所述被解析的指令判斷是否需要向運行結(jié)果添加時間信息;如果需要,則讀取安全芯片的實時時鐘裝置內(nèi)部的時間寄存器,獲得當(dāng)前的時間信息;在運行結(jié)果的相應(yīng)位置添加所獲得的相應(yīng)的時間信息,并將運行結(jié)果返回;和如果判斷運行結(jié)果不需要添加時間信息,該直接返回運行結(jié)果。
全文摘要
本發(fā)明揭示了一種內(nèi)嵌實時時鐘的安全芯片,包括實時時鐘裝置,用于為數(shù)據(jù)文件提供安全芯片的當(dāng)前時間值作為時間戳標(biāo)記;外部頻率發(fā)生器,用于為所述實時時鐘裝置提供基準(zhǔn)時鐘頻率;時鐘校準(zhǔn)裝置,用于校正所述實時時鐘裝置的誤差,以便實現(xiàn)時鐘同步;加密裝置,用于根據(jù)加密算法產(chǎn)生密鑰,以實現(xiàn)對安全芯片讀寫的安全保護(hù)和認(rèn)證;和MCU,用于為芯片操作系統(tǒng)提供操作支持和管理。另外,本發(fā)明還揭示了一種對安全芯片的實時時鐘進(jìn)行修正的方法。該安全芯片不但為數(shù)據(jù)簽名提供了不可抵賴的時間戳,而且可以將時間信息用于各種與時間相關(guān)的安全服務(wù),從而使安全芯片的功能更加完善。
文檔編號G06F15/76GK1707464SQ20051005589
公開日2005年12月14日 申請日期2005年3月17日 優(yōu)先權(quán)日2005年3月17日
發(fā)明者謝巍 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
昭觉县| 建湖县| 乌拉特前旗| 丰原市| 建水县| 平舆县| 利辛县| 新竹市| 大安市| 厦门市| 抚松县| 阳江市| 靖安县| 比如县| 长岛县| 大同市| 峡江县| 钟祥市| 大石桥市| 太白县| 海淀区| 萍乡市| 正阳县| 鱼台县| 修水县| 宜阳县| 依兰县| 旌德县| 达日县| 哈密市| 亳州市| 上蔡县| 常州市| 江川县| 瑞昌市| 杭州市| 新晃| 儋州市| 儋州市| 福清市| 永平县|