專(zhuān)利名稱(chēng):一種安全芯片及基于該芯片的信息安全處理設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別是指一種安全芯片及基于該芯片的信息安全處理設(shè)備和方法。
背景技術(shù):
目前,信息處理設(shè)備已被廣泛應(yīng)用在人們的日常生活中。信息處理設(shè)備主要是指?jìng)€(gè)人電腦(PC),筆記本電腦,掌上電腦,手機(jī)等設(shè)備,如何保證信息處理設(shè)備中信息的安全已經(jīng)成為人們十分關(guān)注的問(wèn)題,通常的解決方案有以下兩種1)基于安全軟件對(duì)信息處理設(shè)備進(jìn)行保護(hù)。
應(yīng)用該方法通常是利用防病毒軟件以防止病毒攻擊,如設(shè)置殺毒軟件和防火墻軟件并啟動(dòng)其實(shí)時(shí)監(jiān)控程序以防止病毒對(duì)信息處理設(shè)備的入侵,并應(yīng)用殺毒軟件和防火墻軟件對(duì)系統(tǒng)進(jìn)行殺毒操作以保證信息處理設(shè)備中信息的安全;或利用文件加密軟件實(shí)現(xiàn)對(duì)文件的保護(hù),如應(yīng)用散列算法、哈希(HASH)算法、橢圓曲線密碼算法,RSA算法,離散對(duì)數(shù)算法等對(duì)待保護(hù)文件進(jìn)行加密計(jì)算或完整性驗(yàn)證等運(yùn)算以保證信息處理設(shè)備中信息的安全;或利用安全瀏覽器軟件和數(shù)字證書(shū)等進(jìn)行電子商務(wù)。
該方法的缺陷在于由于安全軟件和操作系統(tǒng)本身也可能受到攻擊,從而導(dǎo)致終端上的所有信息受到威脅。所以,安全軟件不能保證計(jì)算機(jī)終端本身信息的安全。
2)基于硬件對(duì)信息處理設(shè)備進(jìn)行保護(hù)。一般采用以下兩種方法a、在信息處理設(shè)備上附加一個(gè)由多個(gè)模塊單元構(gòu)造成的電路板,以保證信息處理設(shè)備中信息的安全。該附加的電路板包括身份信息輸入設(shè)備接口,信息安全管理單元或安全模塊(ESM),安全控制執(zhí)行單元,開(kāi)機(jī)電路單元,外設(shè)開(kāi)關(guān)電路單元以及主板單元。該方法主要用于開(kāi)機(jī)身份鑒別,同時(shí)提供高速的密碼運(yùn)算功能。
上述方法的缺陷是無(wú)法驗(yàn)證信息處理設(shè)備中的底層固件、操作系統(tǒng)和應(yīng)用軟件是否受到攻擊,從而不能保證信息處理設(shè)備中信息的絕對(duì)安全。
b、在信息處理設(shè)備上設(shè)置專(zhuān)門(mén)用于外網(wǎng)的硬盤(pán)和網(wǎng)絡(luò)接口部件,從而使該信息處理設(shè)備工作于內(nèi)網(wǎng)和外網(wǎng)時(shí),在同一主板的控制下,分別采用不同的硬盤(pán)和網(wǎng)絡(luò)接口部件以實(shí)現(xiàn)內(nèi)外網(wǎng)的隔離。該信息處理設(shè)備從硬件上對(duì)于應(yīng)用于內(nèi)網(wǎng)的狀態(tài)和應(yīng)用于外網(wǎng)的狀態(tài)進(jìn)行分隔,從而防止信息處理設(shè)備受到攻擊。
上述方法的缺陷是同樣無(wú)法驗(yàn)證信息處理設(shè)備的底層固件、操作系統(tǒng)和應(yīng)用軟件是否受到攻擊,因而,無(wú)論信息處理設(shè)備工作在外網(wǎng)還是內(nèi)網(wǎng)的模式,都不能保證信息處理設(shè)備本身信息的安全。同時(shí),由于配備兩套硬盤(pán)和網(wǎng)絡(luò)接口部件,還增加了信息處理設(shè)備的成本。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種安全芯片及基于該芯片的信息安全處理設(shè)備和方法,使信息安全處理設(shè)備在啟動(dòng)的過(guò)程中,驗(yàn)證系統(tǒng)的完整性,以保證信息安全處理設(shè)備中信息的安全。
為達(dá)到上述目的本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種安全芯片,該芯片包括I/O接口模塊、主處理器模塊、存儲(chǔ)器模塊和密碼處理器模塊,上述模塊通過(guò)內(nèi)部總線相互連接,其中,I/O接口模塊與外部設(shè)備相連,I/O接口模塊由主處理器模塊控制接收外部設(shè)備的指令,并將外部要求的運(yùn)算結(jié)果返回給外部設(shè)備;主處理器模塊,至少包括CPU及外圍電路,其根據(jù)從I/O接口模塊收到的指令對(duì)密碼處理器模塊進(jìn)行控制,將處理后的結(jié)果保存在存儲(chǔ)器模塊中,或根據(jù)指令將處理后的結(jié)果與存儲(chǔ)器模塊中已保存的秘密信息進(jìn)行比較,并將指令的執(zhí)行結(jié)果傳送給I/O接口模塊;或者,直接從存儲(chǔ)器模塊中取出秘密信息,傳送給I/O接口模塊;密碼處理器模塊,在主處理器模塊控制下生成密鑰,并對(duì)I/O接口模塊接收到的信息進(jìn)行加解密處理,并將處理后的結(jié)果返回給主處理器模塊;存儲(chǔ)器模塊,存儲(chǔ)安全芯片自身的秘密信息、外部設(shè)備應(yīng)用模塊的秘密信息和密碼處理器模塊生成的秘密信息。
較佳地,所述秘密信息為由密碼處理器模塊生成的密鑰、身份驗(yàn)證的信息和完整性驗(yàn)證信息。
較佳地,所述密碼處理器模塊至少包括公鑰密碼處理器模塊,哈希處理器模塊和隨機(jī)數(shù)發(fā)生器模塊,其中,隨機(jī)數(shù)發(fā)生器模塊,由主處理器模塊控制生成隨機(jī)數(shù),該隨機(jī)數(shù)作送給主處理器模塊;哈希處理器模塊,在主處理器模塊控制下對(duì)待加密信息進(jìn)行哈希運(yùn)算,并將運(yùn)算結(jié)果傳送給公鑰密碼處理器模塊或?qū)ΨQ(chēng)密碼處理器模塊或主處理器模塊;公鑰密碼處理器模塊,在主處理器模塊控制下,利用隨機(jī)數(shù)生成公私密鑰對(duì),并將結(jié)果返回給主處理器模塊;應(yīng)用所生成的公私鑰,對(duì)哈希處理器模塊傳送來(lái)的結(jié)果進(jìn)行加密計(jì)算,,生成數(shù)據(jù)簽名,或應(yīng)用公鑰對(duì)收到的需要解密的信息進(jìn)行解密,并將所得的結(jié)果返回給主處理器模塊;對(duì)稱(chēng)密碼處理器模塊,在主處理器模塊的控制下,將隨機(jī)數(shù)作為對(duì)稱(chēng)密鑰應(yīng)用對(duì)稱(chēng)密鑰對(duì)需要加密的信息進(jìn)行加密或解密,將結(jié)果送給主處理器模塊。
較佳地,所述公鑰密碼處理器模塊至少包括橢圓曲線公鑰密碼算法處理模塊,RSA公鑰密碼算法處理模塊,離散對(duì)數(shù)密碼算法處理模塊。
較佳地,該芯片的主處理器模塊進(jìn)一步包括總線接口模塊和總線控制器模塊,其中,總線接口模塊與主處理器內(nèi)部高速總線和總線控制器模塊相連,該總線控制器將主處理器高速總線處理為主處理器外圍總線,且I/O接口模塊、主處理器模塊和存儲(chǔ)器模塊與內(nèi)部高速總線相連;
公鑰密碼處理器模塊、對(duì)稱(chēng)密碼處理器模塊、隨機(jī)數(shù)發(fā)生器模塊和哈希處理器模塊與主處理器外圍總線相連。
較佳地,所述存儲(chǔ)器模塊為隨機(jī)存儲(chǔ)器(RAM)、可擦除只讀存儲(chǔ)器(EEPROM)或閃存(FLASH)。
較佳地,所述I/O接口模塊置少包括與LPC(Low Pin Count Bus)總線或USB(Universal Serial Bus)總線相連的接口,或同步串口,或異步串口,或ISO7816接口。
一種信息安全處理設(shè)備,至少包含主板,底層固件和操作系統(tǒng),該設(shè)備至少還包括所述的安全芯片,該安全芯片與所述的主板相連,接收主板中嵌入的底層固件或該設(shè)備操作系統(tǒng)所發(fā)送的信息,且根據(jù)底層固件發(fā)送信息對(duì)底層固件進(jìn)行完整性驗(yàn)證;或該安全芯片根據(jù)操作系統(tǒng)發(fā)送的信息產(chǎn)生相應(yīng)的運(yùn)算結(jié)果返回給操作系統(tǒng)。
較佳地,所述安全芯片通過(guò)LPC(Low Pin Count Bus)總線接口,或USB(Universal Serial Bus)總線接,或同步串口,或異步串口,或ISO7816接口與主板相連。
一種信息安全處理設(shè)備的驗(yàn)證方法,該方法包括以下步驟a、在主板上設(shè)置安全芯片;b、啟動(dòng)信息安全處理設(shè)備時(shí),由安全芯片驗(yàn)證當(dāng)前底層固件的完整性,如正確則完成正常的系統(tǒng)初始化后執(zhí)行步驟c,否則停止啟動(dòng)該信息安全處理設(shè)備;c、由底層固件驗(yàn)證當(dāng)前操作系統(tǒng)的完整性,如正確則正常運(yùn)行操作系統(tǒng),否則停止裝入操作系統(tǒng)。
較佳地,該方法進(jìn)一步包括在操作系統(tǒng)中設(shè)置操作系統(tǒng)安全模塊,該模塊由操作系統(tǒng)啟動(dòng),在啟動(dòng)該設(shè)備已有的應(yīng)用模塊前,由操作系統(tǒng)安全模塊驗(yàn)證當(dāng)前應(yīng)用模塊的完整性,如正確則正常運(yùn)行該應(yīng)用模塊,否則停止運(yùn)行該應(yīng)用模塊。
較佳地,所述步驟a進(jìn)一步包括在安全環(huán)境下,將底層固件的完整性驗(yàn)證碼的值保存在安全芯片中;將操作系統(tǒng)完整性驗(yàn)證碼的值保存在安全芯片或底層固件安全模塊中;將應(yīng)用模塊的完整性驗(yàn)證碼的值保存在安全芯片或操作系統(tǒng)安全模塊中。
較佳地,步驟b所述驗(yàn)證當(dāng)前底層固件的完整性進(jìn)一步包括以下步驟安全芯片計(jì)算當(dāng)前系統(tǒng)底層固件的完整性驗(yàn)證碼的值,并判斷當(dāng)前系統(tǒng)底層固件的完整性驗(yàn)證碼的值與已保存的底層固件的完整性驗(yàn)證碼的值是否相等,如果是,則繼續(xù)執(zhí)行后續(xù)步驟,否則停止啟動(dòng)該信息處理設(shè)備。
較佳地,該方法進(jìn)一步包含在底層固件中設(shè)置底層固件安全模塊;步驟c所述驗(yàn)證當(dāng)前操作系統(tǒng)的完整性進(jìn)一步包括以下步驟底層固件安全模塊計(jì)算當(dāng)前操作系統(tǒng)的完整性驗(yàn)證碼的值,并判斷當(dāng)前操作系統(tǒng)的完整性驗(yàn)證碼的值與已保存的操作系統(tǒng)的完整性驗(yàn)證碼的值是否相等,如果是,則繼續(xù)執(zhí)行后續(xù)步驟,否則停止裝入操作系統(tǒng)。
較佳地,所述操作系統(tǒng)安全模塊由安全芯片驅(qū)動(dòng)模塊、安全服務(wù)模塊和安全接口模塊組成。
較佳地,所述安全芯片驅(qū)動(dòng)模塊將安全芯片設(shè)置為操作系統(tǒng)的一個(gè)設(shè)備,并設(shè)置每個(gè)應(yīng)用模塊和底層安全芯片共享一對(duì)認(rèn)證密鑰,該安全芯片驅(qū)動(dòng)模塊至少包括以下驅(qū)動(dòng)步驟a、安全芯片利用共享認(rèn)證密鑰對(duì)應(yīng)用模塊進(jìn)行身份驗(yàn)證;如認(rèn)證成功,則執(zhí)行步驟b,否則拒絕應(yīng)用模塊所請(qǐng)求的服務(wù);b、建立應(yīng)用模塊與安全芯片之間的數(shù)據(jù)通信的通道和控制命令通信的通道;c、安全芯片驅(qū)動(dòng)模塊將上層應(yīng)用模塊的所發(fā)的指令轉(zhuǎn)換為安全芯片可以識(shí)別的芯片指令,并將步驟a的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和芯片指令進(jìn)行哈希運(yùn)算以生成本次芯片指令的授權(quán)信息,之后,將芯片指令和該授權(quán)信息一起發(fā)送給安全芯片;
d、安全芯片每次收到芯片指令時(shí),將步驟a的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和當(dāng)前收到的芯片指令進(jìn)行哈希運(yùn)算以生成當(dāng)前芯片指令的授權(quán)驗(yàn)證信息,對(duì)當(dāng)前的授權(quán)驗(yàn)證信息和所收到的芯片指令所帶的授權(quán)信息進(jìn)行一致性比較,如果一致,則執(zhí)行當(dāng)前芯片指令的操作;否則,拒絕執(zhí)行當(dāng)前收到的芯片指令。
較佳地,所述安全服務(wù)模塊驗(yàn)證應(yīng)用模塊的完整性包括以下步驟a、安全服務(wù)模塊首先計(jì)算出該待保護(hù)的應(yīng)用模塊當(dāng)前的完整性驗(yàn)證碼的值,并將當(dāng)前的完整性驗(yàn)證碼的值與已保存的完整性驗(yàn)證碼的值是否相等,如相等,則啟動(dòng)該待保護(hù)應(yīng)用模塊后,執(zhí)行步驟b,否則禁止啟用該應(yīng)用模塊。
b、安全服務(wù)模塊定時(shí)驗(yàn)證待保護(hù)應(yīng)用模塊的完整性。
較佳地,所述安全服務(wù)模塊保存任何一個(gè)對(duì)安全芯片進(jìn)行操作的記錄,并將該記錄作為日志記錄保存在本地的日志數(shù)據(jù)庫(kù)中。
較佳地,該方法進(jìn)一步包括,在每一個(gè)安全芯片上,設(shè)置唯一身份標(biāo)識(shí)密碼證書(shū)。
較佳地,所述的設(shè)置方法為由第三方為每臺(tái)計(jì)算機(jī)終端設(shè)置一個(gè)公鑰證書(shū)和私鑰證書(shū),并在公私鑰證書(shū)上進(jìn)行數(shù)字簽名后,將私鑰證書(shū)信息設(shè)置為每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū)。
較佳地,所述私鑰證書(shū)存儲(chǔ)在安全芯片中,公鑰證書(shū)提供給用于計(jì)算機(jī)終端身份驗(yàn)證的驗(yàn)證方。
較佳地,對(duì)信息處理設(shè)備進(jìn)行身份認(rèn)證的方法進(jìn)一步包括以下步驟a、應(yīng)用模塊將需要驗(yàn)證的信息傳送給安全芯片,安全芯片根據(jù)唯一身份標(biāo)識(shí)密碼證書(shū)的私鑰證書(shū)調(diào)用其相應(yīng)的公鑰算法機(jī)制,對(duì)需要驗(yàn)證的信息進(jìn)行數(shù)字簽名后,將簽名后的結(jié)果返回給應(yīng)用模塊,該應(yīng)用模塊再將上述數(shù)字簽名信息發(fā)送給驗(yàn)證方;b、驗(yàn)證方首先驗(yàn)證該唯一身份標(biāo)識(shí)密碼證書(shū)的公鑰證書(shū)上的第三方的簽名是否正確,如正確則執(zhí)行步驟c,否則認(rèn)證失??;c、應(yīng)用該公鑰證書(shū)驗(yàn)證應(yīng)用模塊發(fā)送來(lái)的經(jīng)數(shù)字簽名的信息是否正確,如正確則確定該信息處理設(shè)備的安全身份,否則認(rèn)證失敗。
較佳地,所述的設(shè)置方法為由第三方為每臺(tái)計(jì)算機(jī)終端生成一個(gè)由隨機(jī)數(shù)組成的序列號(hào),將經(jīng)第三方確認(rèn)并進(jìn)行數(shù)字簽名的后序列號(hào)設(shè)置為每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū)。
較佳地,對(duì)信息安全處理設(shè)備進(jìn)行身份認(rèn)證的方法進(jìn)一步包括以下步驟a、應(yīng)用模塊將信息安全處理設(shè)備本身的唯一身份標(biāo)識(shí)密碼證書(shū)信息發(fā)送給驗(yàn)證方;b、驗(yàn)證方驗(yàn)證唯一身份標(biāo)識(shí)密碼證書(shū)上第三方的簽名信息是否正確,如正確則確定該信息安全處理設(shè)備的安全身份,否則認(rèn)證失敗。
較佳地,所述驗(yàn)證底層固件至少包括驗(yàn)證用于完成主板硬件系統(tǒng)初始化的模塊、主板上CPU的微碼程序、主板上存儲(chǔ)配置信息的存儲(chǔ)器、配置信息擴(kuò)展系統(tǒng)(ESCDExtended System Configuration Data)、CMOS(Complementary Metal-Oxide-Semiconductor Transistor)、斷電保留數(shù)據(jù)的隨機(jī)存儲(chǔ)器(NVRAMnon-volatile RAM)和主引導(dǎo)扇區(qū)(MBRMaster BootRecord)。
應(yīng)用本發(fā)明,通過(guò)安全芯片在信息安全處理設(shè)備啟動(dòng)的過(guò)程中驗(yàn)證系統(tǒng)底層固件的完整性,底層固件安全模塊驗(yàn)證操作系統(tǒng)的完整性,保證了信息安全處理設(shè)備啟動(dòng)時(shí)系統(tǒng)信息的安全;操作系統(tǒng)安全模塊驗(yàn)證啟動(dòng)時(shí)的應(yīng)用模塊的完整性以及定時(shí)驗(yàn)證運(yùn)行中的應(yīng)用模塊的完整性,保證了應(yīng)用模塊信息的安全,因而使得該信息安全處理設(shè)備具有抗攻擊、防病毒等功能。同時(shí),由于安全芯片中還設(shè)置有唯一身份標(biāo)識(shí)密碼證書(shū)信息,因此,該信息處理設(shè)備可利用唯一身份標(biāo)識(shí)密碼證書(shū)信息,進(jìn)行訪問(wèn)控制和身份認(rèn)證等功能。
圖1所示應(yīng)用本發(fā)明的為安全芯片內(nèi)部的原理圖;圖2所示為應(yīng)用本發(fā)明安全芯片的計(jì)算機(jī)終端進(jìn)行驗(yàn)證的總體框圖;圖3所示為應(yīng)用本發(fā)明的計(jì)算機(jī)終端啟動(dòng)時(shí)的流程圖;
圖4所示為應(yīng)用本發(fā)明的操作系統(tǒng)安全模塊的示意圖;圖5所示為應(yīng)用本發(fā)明的底層安全芯片驅(qū)動(dòng)模塊的流程圖;圖6所示為應(yīng)用本發(fā)明的保證應(yīng)用模塊完整性的流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和效果更加清楚,以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明再做進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明的思路是在信息安全處理設(shè)備的主板上預(yù)先設(shè)置一塊安全芯片,該安全芯片具有芯片操作系統(tǒng)(COS),每次啟動(dòng)應(yīng)用該信息安全處理設(shè)備時(shí),安全芯片驗(yàn)證信息安全處理設(shè)備底層固件的完整性,進(jìn)而驗(yàn)證操作系統(tǒng)的完整性,最后驗(yàn)證待應(yīng)用的應(yīng)用模塊的完整性,從而達(dá)到保證信息安全處理設(shè)備本身信息安全的目的。同時(shí),由于該安全芯片為每個(gè)信息安全處理設(shè)備終端提供了唯一的身份標(biāo)識(shí)信息,信息安全處理設(shè)備還可利用安全芯片進(jìn)行身份認(rèn)證、信息加密以及數(shù)字簽名等安全服務(wù)。
圖1所示應(yīng)用本發(fā)明的為安全芯片內(nèi)部的原理圖。該芯片包括I/O接口模塊101、主處理器模塊102、存儲(chǔ)器模塊103和密碼處理器模塊110,上述模塊通過(guò)內(nèi)部總線相互連接,其中,I/O接口模塊101與外部設(shè)備相連,I/O接口模塊101由主處理器模塊102控制接收外部設(shè)備的指令,并將外部要求的運(yùn)算結(jié)果返回給外部設(shè)備;主處理器模塊102中至少包括CPU及外圍電路,運(yùn)行在主處理器模塊102上的COS完成對(duì)片內(nèi)所有模塊的控制,其根據(jù)從I/O接口模塊101收到的指令對(duì)密碼處理器模塊110進(jìn)行控制,將處理后的結(jié)果保存在存儲(chǔ)器模塊103中,或根據(jù)指令將處理后的結(jié)果與存儲(chǔ)器模塊103中已保存的秘密信息進(jìn)行比較,并將指令的執(zhí)行結(jié)果傳送給I/O接口模塊101;或者,直接從存儲(chǔ)器模塊103中取出秘密信息,傳送給I/O接口模塊101;密碼處理器模塊110在主處理器模塊102的控制下生成密鑰,并對(duì)I/O接口模塊101接收到的信息進(jìn)行加解密處理,并將處理后的結(jié)果返回給主處理器模塊102;存儲(chǔ)器模塊103用于存儲(chǔ)COS、安全芯片自身的秘密信息、外部設(shè)備應(yīng)用模塊的秘密信息和密碼處理器模塊生成的秘密信息,所述秘密信息是指安全芯片自身生成的密鑰、用于身份驗(yàn)證的信息和用于完整性驗(yàn)證的完整性驗(yàn)證碼。
其中,密碼處理器模塊110中包括公鑰密碼處理器模塊106,對(duì)稱(chēng)密碼處理器模塊107,哈希處理器模塊108和隨機(jī)數(shù)發(fā)生器模塊109。
隨機(jī)數(shù)發(fā)生器模塊109,由主處理器模塊102控制生成隨機(jī)數(shù),該隨機(jī)數(shù)送給主處理器模塊102。
哈希處理器模塊108,在主處理器模塊102控制下對(duì)待處理信息進(jìn)行哈希運(yùn)算,并將運(yùn)算結(jié)果傳送給公鑰密碼處理器模塊106或?qū)ΨQ(chēng)密碼處理器模塊107或主處理器模塊102。
公鑰密碼處理器模塊106,在主處理器模塊102控制下,利用隨機(jī)數(shù)生成公私密鑰對(duì),并將結(jié)果返回給主處理器模塊102;應(yīng)用所生成的私鑰,對(duì)哈希處理器模塊108傳送來(lái)的結(jié)果進(jìn)行加密計(jì)算,生成數(shù)據(jù)簽名,或應(yīng)用公鑰對(duì)收到的需要解密的信息進(jìn)行解密,并將所得的結(jié)果返回給主處理器模塊102。
對(duì)稱(chēng)密碼處理器模塊107,在主處理器模塊102的控制下,將隨機(jī)數(shù)作為對(duì)稱(chēng)密鑰對(duì)需要加密的信息進(jìn)行加密或解密,將結(jié)果送給主處理器模塊102。
以上所有模塊可直接與安全芯片內(nèi)的總線相連,或者由與總線接口模塊104直接相連的總線控制器模塊105將主處理器高速總線處理為主處理器外圍總線,使I/O接口模塊101、主處理器模塊102和存儲(chǔ)器模塊103與內(nèi)部高速總線相連;使公鑰密碼處理器模塊106、對(duì)稱(chēng)密碼處理器模塊107、隨機(jī)數(shù)發(fā)生器模塊109和哈希處理器模塊108與主處理器外圍總線相連。
秘密信息的存儲(chǔ)器模塊103包括隨機(jī)存儲(chǔ)器(RAM)、可擦除只讀存儲(chǔ)器(EEPROM)或閃存(FLASH)。I/O接口模塊101中至少包含了與LPC(Low Pin Count Bus)總線或USB(Universal Serial Bus)總線相連的接口,或同步串口,或異步串口,或ISO7816接口。
公鑰密碼處理器模塊中可以包括橢圓曲線公鑰密碼算法處理模塊,RSA公鑰算法處理模塊,離散對(duì)數(shù)算法處理模塊等。
安全芯片有以下兩種方法生成完整性驗(yàn)證碼1)主處理器模塊102控制哈希處理器模塊108對(duì)待加密信息進(jìn)行哈希運(yùn)算,并將得到的文摘傳送給公鑰密碼處理器模塊106;同時(shí),主處理器模塊102控制隨機(jī)數(shù)發(fā)生器模塊109生成隨機(jī)數(shù),公鑰密碼處理器模塊106利用隨機(jī)數(shù)生成公私鑰,并應(yīng)用所生成的私鑰,對(duì)哈希處理器模塊108傳送來(lái)的結(jié)果進(jìn)行加密計(jì)算,生成數(shù)據(jù)簽名,或應(yīng)用公鑰對(duì)收到的需要解密的信息進(jìn)行解密,并將所得的結(jié)果返回給主處理器模塊102。
2)主處理器模塊102控制哈希處理器模塊108下對(duì)待加密信息進(jìn)行哈希運(yùn)算,并將得到的文摘傳送給對(duì)稱(chēng)密碼處理器模塊107;同時(shí),主處理器模塊102控制隨機(jī)數(shù)發(fā)生器模塊109生成隨機(jī)數(shù),主處理器模塊102將隨機(jī)數(shù)作為對(duì)稱(chēng)密鑰傳送給對(duì)稱(chēng)密碼處理器模塊107;對(duì)稱(chēng)密碼處理器模塊107在主處理器模塊102控制下,應(yīng)用所生成的對(duì)稱(chēng)密鑰對(duì)需要加密的信息進(jìn)行加密或解密,并將所得的結(jié)果返回給主處理器模塊102。
下面以計(jì)算機(jī)終端為例,具體說(shuō)明安全芯片的應(yīng)用。
安全芯片通過(guò)LPC總線與芯片組的ICH(I/O Controller Hub)模塊相連,或者,安全芯片通過(guò)USB總線與計(jì)算機(jī)終端內(nèi)的主板相連,或安全芯片采用同步串口連接方式,或異步串口連接方式,或ISO7816接口方式與計(jì)算機(jī)終端內(nèi)的主板相連。
圖2所示為應(yīng)用本發(fā)明安全芯片的計(jì)算機(jī)終端進(jìn)行驗(yàn)證的總體框圖。安全芯片211與底層固件212位于計(jì)算機(jī)的主板210上,安全芯片211與底層固件安全模塊213和操作系統(tǒng)安全模塊221之間進(jìn)行信息交互,應(yīng)用模塊230通過(guò)操作系統(tǒng)安全模塊221與安全芯片211進(jìn)行信息交互。其中,底層固件中還包括用于完成主板硬件系統(tǒng)初始化的模塊、主板上CPU的微碼程序、主板上存儲(chǔ)配置信息的存儲(chǔ)器、配置信息擴(kuò)展系統(tǒng)(ESCDExtendedSystem Configuration Data)、CMOS(ComplementaryMetal-Oxide-Semiconductor Transistor)、斷電保留數(shù)據(jù)的隨機(jī)存儲(chǔ)器(NVRAMnon-volatile RAM)和主引導(dǎo)扇區(qū)(MBRMaster Boot Record)。
圖3所示為應(yīng)用本發(fā)明的計(jì)算機(jī)終端啟動(dòng)時(shí)的流程圖。
步驟301,在確保計(jì)算機(jī)系統(tǒng)安全的環(huán)境下,如生產(chǎn)線上,或用戶第一次使用時(shí),預(yù)先生成的底層固件的完整性驗(yàn)證碼和操作系統(tǒng)的完整性驗(yàn)證碼,并將底層固件的完整性驗(yàn)證碼的值存儲(chǔ)在安全芯片的存儲(chǔ)器中,將操作系統(tǒng)的完整性驗(yàn)證碼的值存儲(chǔ)在底層固件安全模塊內(nèi)或安全芯片的存儲(chǔ)器中;步驟302,每次應(yīng)用計(jì)算機(jī)時(shí),計(jì)算機(jī)終端上的主板首先啟動(dòng)安全芯片,并應(yīng)用安全芯片所提供的完整性驗(yàn)證碼算法,計(jì)算出當(dāng)前系統(tǒng)底層固件的完整性值;步驟303,判斷當(dāng)前底層固件的完整性值與已保存的底層固件的完整性值是否相等,如果是,則執(zhí)行步驟305,否則執(zhí)行步驟304;步驟304,停止啟動(dòng)計(jì)算機(jī)終端;步驟305,底層固件完成正常的系統(tǒng)初始化后,執(zhí)行步驟306;步驟306,啟動(dòng)底層固件安全模塊,并應(yīng)用啟動(dòng)底層固件安全模塊所提供的完整性驗(yàn)證碼算法,計(jì)算出當(dāng)前操作系統(tǒng)的完整性值;步驟307,判斷當(dāng)前操作系統(tǒng)的完整性值與已保存的操作系統(tǒng)的完整性值是否相等,如果是,則執(zhí)行步驟309,否則執(zhí)行步驟308;步驟308,停止裝入操作系統(tǒng);步驟309,正常運(yùn)行操作系統(tǒng)后,執(zhí)行步驟310;步驟310,啟動(dòng)操作系統(tǒng)中的安全模塊,監(jiān)視受保護(hù)的應(yīng)用模塊。
每個(gè)計(jì)算機(jī)終端在正常啟動(dòng)并運(yùn)行計(jì)算機(jī)終端后,需通過(guò)其自身的身份驗(yàn)證后,才能正常運(yùn)行應(yīng)用模塊,并要求安全芯片為應(yīng)用模塊提供信息加密和數(shù)字簽名等安全服務(wù)。
安全芯片為每個(gè)計(jì)算機(jī)終端提供一個(gè)唯一身份標(biāo)識(shí)的密碼證書(shū),該唯一身份標(biāo)識(shí)的密碼證書(shū)由以下兩種方法生成方法一由可信的第三方(生廠商或用戶)為每臺(tái)計(jì)算機(jī)終端設(shè)置一個(gè)公鑰證書(shū)和私鑰證書(shū),并在公私鑰證書(shū)上進(jìn)行數(shù)字簽名,簽名后的私鑰證書(shū)形成每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū),其中,私鑰證書(shū)存儲(chǔ)在安全芯片的存儲(chǔ)器中,公鑰證書(shū)提供給用于計(jì)算機(jī)終端身份驗(yàn)證的驗(yàn)證方。
對(duì)于方法一的驗(yàn)證方法如下應(yīng)用模塊首先將需要驗(yàn)證的信息傳送給安全芯片,安全芯片根據(jù)唯一身份標(biāo)識(shí)密碼證書(shū)的私鑰證書(shū)調(diào)用其相應(yīng)的公鑰算法機(jī)制,公鑰密碼處理器模塊應(yīng)用該公鑰算法機(jī)制對(duì)需要驗(yàn)證的信息進(jìn)行數(shù)字簽名后,將簽名后的結(jié)果返回給應(yīng)用模塊,該應(yīng)用模塊再將上述數(shù)字簽名信息發(fā)送給驗(yàn)證方;驗(yàn)證方首先驗(yàn)證該唯一身份標(biāo)識(shí)密碼證書(shū)的公鑰證書(shū)上的第三方的簽名是否正確,如正確再用該公鑰證書(shū)驗(yàn)證身份驗(yàn)證應(yīng)用模塊發(fā)送來(lái)的信息是否正確,從而確定該終端的安全身份。
方法二由可信的第三方(生廠商或用戶)為每臺(tái)計(jì)算機(jī)終端生成一個(gè)由隨機(jī)數(shù)組成的序列號(hào),并保證不同計(jì)算機(jī)終端的隨機(jī)序列號(hào)不同,該序列號(hào)經(jīng)可信的第三方(生廠商或用戶)確認(rèn)并進(jìn)行數(shù)字簽名后,形成每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū)。
對(duì)于方法二的驗(yàn)證方法如下應(yīng)用模塊將該終端本身的唯一身份標(biāo)識(shí)密碼證書(shū)信息通過(guò)身份認(rèn)證協(xié)議發(fā)送給驗(yàn)證方;驗(yàn)證方通過(guò)驗(yàn)證唯一身份標(biāo)識(shí)密碼證書(shū)上第三方的簽名信息是否正確,從而確定該終端的安全身份。
計(jì)算機(jī)終端經(jīng)過(guò)唯一身份認(rèn)證后,該終端上的應(yīng)用模塊即可通過(guò)操作系統(tǒng)安全模塊要求底層安全芯片提供信息加密和數(shù)字簽名等安全服務(wù)。
圖4所示為應(yīng)用本發(fā)明的操作系統(tǒng)安全模塊的示意圖。操作系統(tǒng)安全模塊包括安全芯片的驅(qū)動(dòng)模塊,安全服務(wù)模塊和安全接口模塊三部分。
安全芯片驅(qū)動(dòng)模塊負(fù)責(zé)將應(yīng)用模塊的指令傳送給底層的安全芯片,此時(shí),安全芯片驅(qū)動(dòng)模塊將安全芯片作為操作系統(tǒng)的一個(gè)設(shè)備,并使應(yīng)用模塊和底層安全芯片共享一對(duì)認(rèn)證密鑰。每個(gè)應(yīng)用模塊與安全芯片進(jìn)行信息交互之前,其也必須通過(guò)身份認(rèn)證授權(quán)協(xié)議,即通過(guò)了安全芯片的認(rèn)證后,才能使用安全芯片所提供的信息加密以及數(shù)字簽名等安全服務(wù),具體的傳送過(guò)程如圖5所示步驟501,安全芯片利用共享認(rèn)證密鑰對(duì)要求其提供安全服務(wù)的上層應(yīng)用模塊進(jìn)行身份驗(yàn)證;如認(rèn)證成功,則執(zhí)行步驟502,否則執(zhí)行步驟505,拒絕應(yīng)用模塊所請(qǐng)求的應(yīng)用服務(wù);步驟502,建立應(yīng)用模塊與安全芯片之間的數(shù)據(jù)通信的通道和控制命令通信的通道;步驟503,將應(yīng)用模塊的所發(fā)的指令轉(zhuǎn)換為安全芯片可以識(shí)別的芯片指令,并將步驟501的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和芯片指令進(jìn)行HASH運(yùn)算以生成本次芯片指令的授權(quán)信息,之后,將芯片指令和該授權(quán)信息一起發(fā)送給安全芯片;步驟504,安全芯片每次收到芯片指令時(shí),首先驗(yàn)證芯片指令的授權(quán)信息,即將步驟501的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和當(dāng)前收到的芯片指令進(jìn)行HASH運(yùn)算以生成當(dāng)前芯片指令的授權(quán)驗(yàn)證信息,對(duì)當(dāng)前的授權(quán)驗(yàn)證信息和所收到的芯片指令所帶的授權(quán)信息進(jìn)行一致性比較,如果一致,則執(zhí)行當(dāng)前芯片指令的操作;否則,拒絕執(zhí)行當(dāng)前收到的芯片指令。
參見(jiàn)圖4,圖4中的操作系統(tǒng)安全模塊包括應(yīng)用模塊保護(hù)模塊402e,該模塊主要用于驗(yàn)證被保護(hù)模塊405的完整性,其具體步驟如圖6所示步驟601,在確保計(jì)算機(jī)終端安全的環(huán)境下,預(yù)先生成待保護(hù)應(yīng)用模塊的完整性驗(yàn)證碼;步驟602,將預(yù)先生成的待保護(hù)應(yīng)用模塊的完整性驗(yàn)證碼保存在安全芯片的存儲(chǔ)器中或操作系統(tǒng)的安全模塊中;步驟603,當(dāng)系統(tǒng)即將應(yīng)用待保護(hù)應(yīng)用模塊時(shí),安全服務(wù)模塊首先計(jì)算出當(dāng)前待保護(hù)應(yīng)用模塊的完整性驗(yàn)證碼的值;
步驟604,判斷當(dāng)前計(jì)算出的完整性驗(yàn)證碼的值與已保存的完整性驗(yàn)證碼的值是否相等,如相等,則執(zhí)行步驟605,否則執(zhí)行步驟606;步驟605,啟動(dòng)該待保護(hù)應(yīng)用模塊,并定時(shí)驗(yàn)證待保護(hù)應(yīng)用模塊的完整性;步驟606,禁止啟用該應(yīng)用模塊。
參見(jiàn)圖4,圖4中的操作系統(tǒng)安全模塊還包括事件審計(jì)模塊402a、日志/事件管理模塊402b、和安全策略管理模塊402d。
事件審計(jì)模塊402a和日志/事件管理模塊402b主要用于對(duì)任何一個(gè)使用安全芯片的操作做日志記錄,并該將日志寫(xiě)入本地的日志數(shù)據(jù)庫(kù)中,從而完成日志事件管理;并對(duì)日志數(shù)據(jù)庫(kù)進(jìn)行審計(jì),為系統(tǒng)用戶或管理員提供安全報(bào)告,對(duì)異常事件進(jìn)行報(bào)警。
密鑰管理模塊402c主要用于對(duì)計(jì)算機(jī)終端上的各種密鑰進(jìn)行管理,并為應(yīng)用模塊提供信息加密和數(shù)字簽名安全服務(wù)。當(dāng)操作系統(tǒng)或應(yīng)用模塊使用信息加密和數(shù)字簽名安全服務(wù)時(shí),首先將需要加密或簽名的信息傳送給安全芯片;安全芯片在芯片內(nèi)部完成信息加密和數(shù)字簽名的工作后,將加密或簽名后的結(jié)果傳送給調(diào)用安全芯片服務(wù)的應(yīng)用模塊。
安全策略管理模塊402d主要用于完成對(duì)計(jì)算機(jī)終端的安全策略管理,如生成或改變用戶口令,或設(shè)置對(duì)系統(tǒng)文件資源和用戶文件資源的訪問(wèn)控制策略等。
圖4中的安全接口模塊為操作系統(tǒng)和應(yīng)用模塊提供應(yīng)用安全服務(wù)的接口,如應(yīng)用軟件開(kāi)發(fā)接口API,動(dòng)態(tài)連接庫(kù)等。
本發(fā)明同樣適用于掌上電腦或手機(jī)等其它信息處理設(shè)備。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種安全芯片,其特征在于,該芯片包括I/O接口模塊、主處理器模塊、存儲(chǔ)器模塊和密碼處理器模塊,上述模塊通過(guò)內(nèi)部總線相互連接,其中,I/O接口模塊與外部設(shè)備相連,I/O接口模塊由主處理器模塊控制接收外部設(shè)備的指令,并將外部要求的運(yùn)算結(jié)果返回給外部設(shè)備;主處理器模塊,至少包括CPU及外圍電路,其根據(jù)從I/O接口模塊收到的指令對(duì)密碼處理器模塊進(jìn)行控制,將處理后的結(jié)果保存在存儲(chǔ)器模塊中,或根據(jù)指令將處理后的結(jié)果與存儲(chǔ)器模塊中已保存的秘密信息進(jìn)行比較,并將指令的執(zhí)行結(jié)果傳送給I/O接口模塊;或者,直接從存儲(chǔ)器模塊中取出秘密信息,傳送給I/O接口模塊;密碼處理器模塊,在主處理器模塊控制下生成密鑰,并對(duì)I/O接口模塊接收到的信息進(jìn)行加解密處理,并將處理后的結(jié)果返回給主處理器模塊;存儲(chǔ)器模塊,存儲(chǔ)安全芯片自身的秘密信息、外部設(shè)備應(yīng)用模塊的秘密信息和密碼處理器模塊生成的秘密信息。
2.根據(jù)權(quán)利要求1所述的安全芯片,其特征在于所述秘密信息為由密碼處理器模塊生成的密鑰、身份驗(yàn)證的信息和完整性驗(yàn)證信息。
3.根據(jù)權(quán)利要求1所述的安全芯片,其特征在于所述密碼處理器模塊至少包括公鑰密碼處理器模塊,哈希處理器模塊,對(duì)稱(chēng)密碼處理器模塊和隨機(jī)數(shù)發(fā)生器模塊,其中,隨機(jī)數(shù)發(fā)生器模塊,由主處理器模塊控制生成隨機(jī)數(shù),該隨機(jī)數(shù)送給主處理器模塊;哈希處理器模塊,在主處理器模塊控制下對(duì)待處理信息進(jìn)行哈希運(yùn)算,并將運(yùn)算結(jié)果傳送給公鑰密碼處理器模塊或?qū)ΨQ(chēng)密碼處理器模塊或主處理器模塊;公鑰密碼處理器模塊,在主處理器模塊控制下,利用隨機(jī)數(shù)生成公私密鑰對(duì),并將結(jié)果返回給主處理器模塊;應(yīng)用所生成的私鑰,對(duì)哈希處理器模塊傳送來(lái)的結(jié)果進(jìn)行加密計(jì)算,生成數(shù)據(jù)簽名,或應(yīng)用公鑰對(duì)收到的需要解密的信息進(jìn)行解密,并將所得的結(jié)果返回給主處理器模塊;對(duì)稱(chēng)密碼處理器模塊,在主處理器模塊的控制下,將隨機(jī)數(shù)作為對(duì)稱(chēng)密鑰對(duì)需要加密的信息進(jìn)行加密或解密,將結(jié)果送給主處理器模塊。
4.根據(jù)權(quán)利要求3所述的安全芯片,其特征在于所述公鑰密碼處理器模塊至少包括橢圓曲線公鑰密碼算法處理模塊,RSA公鑰密碼算法處理模塊,離散對(duì)數(shù)密碼算法處理模塊。
5.根據(jù)權(quán)利要求1所述的安全芯片,其特征在于該芯片的主處理器模塊進(jìn)一步包括總線接口模塊和總線控制器模塊,其中,總線接口模塊與主處理器內(nèi)部高速總線和總線控制器模塊相連,該總線控制器將主處理器高速總線處理為主處理器外圍總線,且I/O接口模塊、主處理器模塊和存儲(chǔ)器模塊與內(nèi)部高速總線相連;公鑰密碼處理器模塊、對(duì)稱(chēng)密碼處理器模塊、隨機(jī)數(shù)發(fā)生器模塊和哈希處理器模塊與主處理器外圍總線相連。
6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述存儲(chǔ)器模塊為隨機(jī)存儲(chǔ)器(RAM)、可擦除只讀存儲(chǔ)器(EEPROM)或閃存(FLASH)。
7.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述I/O接口模塊置少包括與LPC(Low Pin Count Bus)總線或USB(Universal Serial Bus)總線相連的接口,或同步串口,或異步串口,或ISO7816接口。
8.一種信息安全處理設(shè)備,至少包含主板,底層固件和操作系統(tǒng),其特征在于,該設(shè)備至少還包括如權(quán)利要求1所述的安全芯片,該安全芯片與所述的主板相連,接收主板中嵌入的底層固件或該設(shè)備操作系統(tǒng)所發(fā)送的信息,且根據(jù)底層固件發(fā)送信息對(duì)底層固件進(jìn)行完整性驗(yàn)證;或該安全芯片根據(jù)操作系統(tǒng)發(fā)送的信息產(chǎn)生相應(yīng)的運(yùn)算結(jié)果返回給操作系統(tǒng)。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述安全芯片通過(guò)LPC(LowPin Count Bus)總線接口,或USB(Universal Serial Bus)總線接,或同步串口,或異步串口,或ISO7816接口與主板相連。
10.一種信息安全處理設(shè)備的驗(yàn)證方法,其特征在于,該方法包括以下步驟a、在主板上設(shè)置安全芯片;b、啟動(dòng)信息安全處理設(shè)備時(shí),由安全芯片驗(yàn)證當(dāng)前底層固件的完整性,如正確則完成正常的系統(tǒng)初始化后執(zhí)行步驟c,否則停止啟動(dòng)該信息安全處理設(shè)備;c、由底層固件驗(yàn)證當(dāng)前操作系統(tǒng)的完整性,如正確則正常運(yùn)行操作系統(tǒng),否則停止裝入操作系統(tǒng)。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于該方法進(jìn)一步包括在操作系統(tǒng)中設(shè)置操作系統(tǒng)安全模塊,該模塊由操作系統(tǒng)啟動(dòng),在啟動(dòng)該設(shè)備已有的應(yīng)用模塊前,由操作系統(tǒng)安全模塊驗(yàn)證當(dāng)前應(yīng)用模塊的完整性,如正確則正常運(yùn)行該應(yīng)用模塊,否則停止運(yùn)行該應(yīng)用模塊。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述步驟a進(jìn)一步包括在安全環(huán)境下,將底層固件的完整性驗(yàn)證碼的值保存在安全芯片中;將操作系統(tǒng)完整性驗(yàn)證碼的值保存在安全芯片或底層固件中;將應(yīng)用模塊的完整性驗(yàn)證碼的值保存在安全芯片或操作系統(tǒng)安全模塊中。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,步驟b所述驗(yàn)證當(dāng)前底層固件的完整性進(jìn)一步包括以下步驟安全芯片計(jì)算當(dāng)前系統(tǒng)底層固件的完整性驗(yàn)證碼的值,并判斷當(dāng)前系統(tǒng)底層固件的完整性驗(yàn)證碼的值與已保存的底層固件的完整性驗(yàn)證碼的值是否相等,如果是,則繼續(xù)執(zhí)行后續(xù)步驟,否則停止啟動(dòng)該信息處理設(shè)備。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于,該方法進(jìn)一步包含在底層固件中設(shè)置底層固件安全模塊;步驟c所述驗(yàn)證當(dāng)前操作系統(tǒng)的完整性進(jìn)一步包括以下步驟底層固件安全模塊計(jì)算當(dāng)前操作系統(tǒng)的完整性驗(yàn)證碼的值,并判斷當(dāng)前操作系統(tǒng)的完整性驗(yàn)證碼的值與已保存的操作系統(tǒng)的完整性驗(yàn)證碼的值是否相等,如果是,則繼續(xù)執(zhí)行后續(xù)步驟,否則停止裝入操作系統(tǒng)。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述操作系統(tǒng)安全模塊由安全芯片驅(qū)動(dòng)模塊、安全服務(wù)模塊和安全接口模塊組成。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述安全芯片驅(qū)動(dòng)模塊將安全芯片設(shè)置為操作系統(tǒng)的一個(gè)設(shè)備,并設(shè)置每個(gè)應(yīng)用模塊和底層安全芯片共享一對(duì)認(rèn)證密鑰,該安全芯片驅(qū)動(dòng)模塊至少包括以下驅(qū)動(dòng)步驟a、安全芯片利用共享認(rèn)證密鑰對(duì)應(yīng)用模塊進(jìn)行身份驗(yàn)證;如認(rèn)證成功,則執(zhí)行步驟b,否則拒絕應(yīng)用模塊所請(qǐng)求的服務(wù);b、建立應(yīng)用模塊與安全芯片之間的數(shù)據(jù)通信的通道和控制命令通信的通道;c、安全芯片驅(qū)動(dòng)模塊將上層應(yīng)用模塊的所發(fā)的指令轉(zhuǎn)換為安全芯片可以識(shí)別的芯片指令,并將步驟a的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和芯片指令進(jìn)行哈希運(yùn)算以生成本次芯片指令的授權(quán)信息,之后,將芯片指令和該授權(quán)信息一起發(fā)送給安全芯片;d、安全芯片每次收到芯片指令時(shí),將步驟a的認(rèn)證結(jié)果、共享的認(rèn)證密鑰和當(dāng)前收到的芯片指令進(jìn)行哈希運(yùn)算以生成當(dāng)前芯片指令的授權(quán)驗(yàn)證信息,對(duì)當(dāng)前的授權(quán)驗(yàn)證信息和所收到的芯片指令所帶的授權(quán)信息進(jìn)行一致性比較,如果一致,則執(zhí)行當(dāng)前芯片指令的操作;否則,拒絕執(zhí)行當(dāng)前收到的芯片指令。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述安全服務(wù)模塊驗(yàn)證應(yīng)用模塊的完整性包括以下步驟a、安全服務(wù)模塊首先計(jì)算出該待保護(hù)的應(yīng)用模塊當(dāng)前的完整性驗(yàn)證碼的值,并將當(dāng)前的完整性驗(yàn)證碼的值與已保存的完整性驗(yàn)證碼的值是否相等,如相等,則啟動(dòng)該待保護(hù)應(yīng)用模塊后,執(zhí)行步驟b,否則禁止啟用該應(yīng)用模塊。b、安全服務(wù)模塊定時(shí)驗(yàn)證待保護(hù)應(yīng)用模塊的完整性。
18.根據(jù)權(quán)利要求15或17所述的方法,其特征在于,所述安全服務(wù)模塊保存任何一個(gè)對(duì)安全芯片進(jìn)行操作的記錄,并將該記錄作為日志記錄保存在本地的日志數(shù)據(jù)庫(kù)中。
19.根據(jù)權(quán)利要求10所述的方法,其特征在于該方法進(jìn)一步包括,在每一個(gè)安全芯片上,設(shè)置唯一身份標(biāo)識(shí)密碼證書(shū)。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述的設(shè)置方法為由第三方為每臺(tái)計(jì)算機(jī)終端設(shè)置一個(gè)公鑰證書(shū)和私鑰證書(shū),并在公私鑰證書(shū)上進(jìn)行數(shù)字簽名后,將私鑰證書(shū)信息設(shè)置為每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū)。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述私鑰證書(shū)存儲(chǔ)在安全芯片中,公鑰證書(shū)提供給用于計(jì)算機(jī)終端身份驗(yàn)證的驗(yàn)證方。
22.根據(jù)權(quán)利要求21所述的方法,其特征在于,對(duì)信息處理設(shè)備進(jìn)行身份認(rèn)證的方法進(jìn)一步包括以下步驟a、應(yīng)用模塊將需要驗(yàn)證的信息傳送給安全芯片,安全芯片根據(jù)唯一身份標(biāo)識(shí)密碼證書(shū)的私鑰證書(shū)調(diào)用其相應(yīng)的公鑰算法機(jī)制,對(duì)需要驗(yàn)證的信息進(jìn)行數(shù)字簽名后,將簽名后的結(jié)果返回給應(yīng)用模塊,該應(yīng)用模塊再將上述數(shù)字簽名信息發(fā)送給驗(yàn)證方;b、驗(yàn)證方首先驗(yàn)證該唯一身份標(biāo)識(shí)密碼證書(shū)的公鑰證書(shū)上的第三方的簽名是否正確,如正確則執(zhí)行步驟c,否則認(rèn)證失敗;c、應(yīng)用該公鑰證書(shū)驗(yàn)證應(yīng)用模塊發(fā)送來(lái)的經(jīng)數(shù)字簽名的信息是否正確,如正確則確定該信息處理設(shè)備的安全身份,否則認(rèn)證失敗。
23.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述的設(shè)置方法為由第三方為每臺(tái)計(jì)算機(jī)終端生成一個(gè)由隨機(jī)數(shù)組成的序列號(hào),將經(jīng)第三方確認(rèn)并進(jìn)行數(shù)字簽名的后序列號(hào)設(shè)置為每臺(tái)計(jì)算機(jī)終端的唯一身份標(biāo)識(shí)的密碼證書(shū)。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于,對(duì)信息安全處理設(shè)備進(jìn)行身份認(rèn)證的方法進(jìn)一步包括以下步驟a、應(yīng)用模塊將信息安全處理設(shè)備本身的唯一身份標(biāo)識(shí)密碼證書(shū)信息發(fā)送給驗(yàn)證方;b、驗(yàn)證方驗(yàn)證唯一身份標(biāo)識(shí)密碼證書(shū)上第三方的簽名信息是否正確,如正確則確定該信息安全處理設(shè)備的安全身份,否則認(rèn)證失敗。
25.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述驗(yàn)證底層固件至少包括驗(yàn)證用于完成主板硬件系統(tǒng)初始化的模塊、主板上CPU的微碼程序、主板上存儲(chǔ)配置信息的存儲(chǔ)器、配置信息擴(kuò)展系統(tǒng)(ESCDExtended SystemConfiguration Data)、CMOS(Complementary Metal-Oxide-SemiconductorTransistor)、斷電保留數(shù)據(jù)的隨機(jī)存儲(chǔ)器(NVRAMnon-volatile RAM)和主引導(dǎo)扇區(qū)(MBRMaster Boot Record)。
全文摘要
本發(fā)明提供了一種安全芯片,該芯片包括I/O接口模塊、主處理器模塊、存儲(chǔ)器模塊和密碼處理器模塊。同時(shí),本發(fā)明還提供了一種應(yīng)用上述安全芯片的信息安全處理設(shè)備和方法,由安全芯片驗(yàn)證當(dāng)前底層固件的完整性,由底層固件驗(yàn)證當(dāng)前操作系統(tǒng)的完整性,操作系統(tǒng)驗(yàn)證應(yīng)用模塊的完整性,保證了應(yīng)用模塊信息的安全,因而使得該信息安全處理設(shè)備具有抗攻擊、防病毒等功能。同時(shí),本發(fā)明利用安全芯片中設(shè)置的唯一身份標(biāo)識(shí)密碼證書(shū)信息,實(shí)現(xiàn)訪問(wèn)控制和身份認(rèn)證等功能。應(yīng)用本發(fā)明,能夠保證信息安全處理設(shè)備中信息的安全。
文檔編號(hào)G06F12/14GK1553349SQ03138380
公開(kāi)日2004年12月8日 申請(qǐng)日期2003年5月29日 優(yōu)先權(quán)日2003年5月29日
發(fā)明者韋衛(wèi), 王一平, 吳秋新, 劉鴻京, 李明柱, 王晚丁, 李亞輝, 韋 衛(wèi) 申請(qǐng)人:聯(lián)想(北京)有限公司