国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種簡易的嵌入式可信終端系統(tǒng)及方法

      文檔序號:6400047閱讀:144來源:國知局
      專利名稱:一種簡易的嵌入式可信終端系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式數(shù)據(jù)終端技術(shù)領(lǐng)域,尤其涉及的是一種簡易的嵌入式可信終端系統(tǒng)及方法。
      背景技術(shù)
      嵌入式數(shù)據(jù)終端主要負(fù)責(zé)采集、存儲和傳輸數(shù)據(jù)。存儲和傳輸環(huán)節(jié)都需要進(jìn)行數(shù)據(jù)加密,防止用戶隱私信息和重要傳感器數(shù)據(jù)的泄露。傳統(tǒng)方法采用純軟件的方式,對于大量數(shù)據(jù),為了提高加密解密速度,通常使用一種對稱加密算法將原始數(shù)據(jù)映射到密文空間后存儲或傳輸。由于現(xiàn)代密碼學(xué)算法公開的特點(diǎn),密鑰才是真正要保護(hù)的對象,由于操作系統(tǒng)和應(yīng)用程序往往存在漏洞,純軟件方式實(shí)現(xiàn)的安全策略不能從根本上有效保護(hù)密鑰。因此常常借助可信計(jì)算的思想,通過擴(kuò)展TPM芯片來實(shí)現(xiàn)密鑰的存儲、證書簽名、平臺配置信息的存儲和驗(yàn)證等等??尚庞?jì)算技術(shù)是由可信計(jì)算組織(TCG)組織發(fā)起的,旨在通過軟硬件相結(jié)合的方式加強(qiáng)信息安全,可信計(jì)算的保護(hù)范圍涉及從服務(wù)器、桌面工作站、嵌入式設(shè)備等各種平臺,為了兼容性和完善性的考慮,可信計(jì)算組織采用了可信計(jì)算軟件棧(TSS)的形式規(guī)范了實(shí)施細(xì)節(jié)。TSS功能完善,函數(shù)和接口復(fù)雜龐大??尚牌脚_模塊:TPM(Trusted Platform Module)安全芯片,是指符合TCG標(biāo)準(zhǔn)的安全芯片,它能有效地保護(hù)PC、防止非法用戶訪問。平臺配置寄存器(PCR):平臺配置寄存器位于TPM芯片內(nèi)部,是用來記錄系統(tǒng)運(yùn)行狀態(tài)的寄存器。平臺配置信息包含相當(dāng)大的數(shù)據(jù),如操作系統(tǒng)內(nèi)核鏡像、應(yīng)用程序的二進(jìn)制可執(zhí)行代碼等,TPM能存儲的信息容量有限,只能存儲平臺運(yùn)行狀態(tài)的摘要,TPM中常用的摘要算法是SHA-1。對稱加密:用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時(shí)用作信息的加密和解密,這種加密方法稱為對稱加密。由于其速度快,對稱性加密通常適用于加密大量數(shù)據(jù)。所謂對稱,就是采用這種加密方法的雙方使用同樣的密鑰進(jìn)行加密和解密,因此對稱式加密本身不是安全的。非對稱加密:與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(public key)和私有密鑰(private key)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。本發(fā)明中用到的非對稱加密算法是RSA,公鑰和私鑰被稱為RSA密鑰對。數(shù)據(jù)密封:密封是指在加密消息的同時(shí)加入平臺狀態(tài)信息,如某些平臺配置信息PCR值及平臺驗(yàn)證信息。在解密時(shí)首先判斷解密方的平臺狀態(tài)是否與加密時(shí)的平臺狀態(tài)一致,如果一致對消息解密,否則消息不被解密。數(shù)據(jù)解封:數(shù)據(jù)密封的逆過程,即解密操作。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足提供一種簡易的嵌入式可信終端系統(tǒng)及方法。本發(fā)明的技術(shù)方案如下:一種簡易的嵌入式可信終端系統(tǒng),包括只讀存儲器ROM、TPM芯片、NAND Flash和CPU ;將啟動加載程序Bootloader和操作系統(tǒng)內(nèi)核燒錄到ROM中;將應(yīng)用程序、用戶數(shù)據(jù)存放于NandFlash中;僅僅保留TPM設(shè)備驅(qū)動程序一層,TPM設(shè)備驅(qū)動程序直接訪問TPM芯片,同時(shí)應(yīng)用程序能夠直接通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用訪問TPM設(shè)備驅(qū)動程序;TPM設(shè)備驅(qū)動程序還具有TPM字節(jié)流發(fā)生器的功能,應(yīng)用程序只需要提供自定義命令和參數(shù)就可以訪問TPM芯片;在TPM設(shè)備驅(qū)動程序中加入并發(fā)訪問技術(shù),使不同的進(jìn)程能夠有序訪問TPM芯片,確保TPM芯片的可靠性和高效性;TPM設(shè)備驅(qū)動程序運(yùn)行在操作系統(tǒng)的內(nèi)核態(tài),多個進(jìn)程對同一個內(nèi)核模塊進(jìn)行訪問,比多個進(jìn)程對同一個守護(hù)進(jìn)程訪問的效率高很多。所述的嵌入式可信終端系統(tǒng),所述TPM芯片采用AT97SC3204T,該芯片通過IIC總線接口和CPU進(jìn)行通信。所述的嵌入式可信終端系統(tǒng)的工作方法,包括以下步驟:Al、系統(tǒng)上電后,CPU首先從只讀存儲器ROM的0x00000000地址處取出第一條指令執(zhí)行;A2、啟動加載程序Bootloader對CPU和外圍芯片進(jìn)行初始化,并建立設(shè)置堆棧,之后設(shè)置啟動參數(shù),加載Linux操作系統(tǒng)內(nèi)核;A3、操作系統(tǒng)內(nèi)核啟動時(shí)會逐個加載TPM設(shè)備驅(qū)動程序,當(dāng)TPM設(shè)備驅(qū)動程序加載完成后,TPM正常工作;A4、接下來,操作系統(tǒng)內(nèi)核會對根文件系統(tǒng)中的重要文件進(jìn)行完整性度量,借助驅(qū)動程序?qū)⒍攘恐禂U(kuò)散到TPM的PCR寄存器當(dāng)中,實(shí)現(xiàn)可信啟動;A5、啟動應(yīng)用程序;A6、應(yīng)用程序通過系統(tǒng)調(diào)用接口與TPM芯片通訊,完成可信計(jì)算相關(guān)的功能;A7、如果應(yīng)用程序需要更新,則首先確保終端處于可信狀態(tài),釋放出所有密封過的密鑰,向內(nèi)核申請重新度量文件系統(tǒng),最后重新密封所有密鑰。所述的工作方法,所述應(yīng)用程序通過兩種方式調(diào)用TPM,第一種方式,通過寫(write O )系統(tǒng)調(diào)用發(fā)送原始字節(jié)流;第二種方式,通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用發(fā)送上層命令給TPM設(shè)備驅(qū)動程序,TPM設(shè)備驅(qū)動程序根據(jù)上層命令的參數(shù)構(gòu)建字節(jié)流;輸入輸出控制(ioctl O )系統(tǒng)調(diào)用的參數(shù)使用結(jié)構(gòu)體表示,結(jié)構(gòu)體中包含了傳入?yún)?shù)緩沖區(qū)地址,傳入?yún)?shù)大小,返回值緩沖區(qū)地址,返回值緩沖區(qū)大小等信息。所述的工作方法,通過CMD_RSA、CMD_SEAL命令實(shí)現(xiàn)數(shù)據(jù)加密的流程如下:B1、內(nèi)核進(jìn)行文件系統(tǒng)度量,度量值存放于PCR中,此步驟在終端啟動時(shí)自動完成;B2、生成對稱密鑰randKey,只需要生成一個隨機(jī)數(shù)即可;如果借助TPM生成隨機(jī)數(shù),可以采用TPM_GetRandom命令,通過讀(read O )或?qū)?write O )系統(tǒng)調(diào)用實(shí)現(xiàn);B3、調(diào)用CMD_RSA命令,生成RSA密鑰對sealKey,該密鑰用于對randKey進(jìn)行密封;
      B4、調(diào)用CMD_SEAL命令,TPM內(nèi)部會將randKey和PCR值綁定,然后用sealKey的公鑰部分對randKey密封,得到randKey* ;B5、使用randKey對原始數(shù)據(jù)data進(jìn)行加密,得到data* ;B6、將randKey*、data*以及sealKey的公鑰部分存儲在文件系統(tǒng)中;通過CMD_UNSEAL命令實(shí)現(xiàn)數(shù)據(jù)解密的流程如下:Cl、內(nèi)核對進(jìn)行文件系統(tǒng)度量,度量值存放于PCR中,此步驟在終端啟動時(shí)自動完成;C2、從文件系統(tǒng)中讀取randKey* ;C3、調(diào)用CMD_UNSEAL命令,TPM內(nèi)部會使用sealKey的私鑰部分對randKey*解封,如果PCR值與密封時(shí)相同,貝U釋放出randKey,否則,randKey*無法解封;C4、使用randKey對data*進(jìn)行解密,得到原始數(shù)據(jù)data。本發(fā)明只采納了可信計(jì)算最核心的思想,將復(fù)雜操作交給TPM設(shè)備驅(qū)動程序處理。硬件上,僅僅擴(kuò)展了 TPM芯片,并加入了一片ROM存放引導(dǎo)加載程序和操作系統(tǒng)內(nèi)核。對TPM設(shè)備驅(qū)動程序的功能進(jìn)行增強(qiáng),將原本TSS需要完成的復(fù)雜功能裁剪整合,移交給驅(qū)動程序處理。這種方式結(jié)構(gòu)簡潔,多進(jìn)程訪問效率更高。


      圖1為可信數(shù)據(jù)采集終端硬件結(jié)構(gòu)圖;圖2為可信數(shù)據(jù)終端工作流程圖;圖3為應(yīng)用程序、驅(qū)動程序、TPM芯片調(diào)用關(guān)系圖;圖4為數(shù)據(jù)密封和解封示意圖。
      具體實(shí)施例方式以下結(jié)合具體實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)說明。參考圖1,可信數(shù)據(jù)采集終端硬件結(jié)構(gòu)圖,在傳統(tǒng)的嵌入式硬件電路的基礎(chǔ)上,增加了只讀存儲器R0M,并將啟動加載程序(Bootloader)和操作系統(tǒng)內(nèi)核燒錄到ROM中;將應(yīng)用程序、用戶數(shù)據(jù)等存放于NandFlash中;僅僅保留TPM設(shè)備驅(qū)動程序一層,設(shè)備驅(qū)動程序直接訪問TPM芯片,同時(shí)應(yīng)用程序可以直接通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用訪問TPM設(shè)備驅(qū)動程序;TPM設(shè)備驅(qū)動程序還具有TPM字節(jié)流發(fā)生器的功能,應(yīng)用程序只需要提供自定義命令和參數(shù)就可以訪問TPM芯片,TPM字節(jié)流構(gòu)建工作由TPM設(shè)備驅(qū)動程序來完成。在TPM設(shè)備驅(qū)動程序中加入并發(fā)訪問技術(shù),使不同的進(jìn)程能夠有序訪問TPM芯片,確保TPM芯片的可靠性和高效性。TPM設(shè)備驅(qū)動程序運(yùn)行在操作系統(tǒng)的內(nèi)核態(tài),多個進(jìn)程對同一個內(nèi)核模塊進(jìn)行訪問,比多個進(jìn)程對同一個守護(hù)進(jìn)程訪問的效率高很多。TPM芯片采用AT97SC3204T,該芯片通過IIC總線接口和CPU進(jìn)行通信。參考圖2,可信終端啟動和工作流程如下:1、系統(tǒng)上電后,首先CPU首先從只讀存儲器ROM的0x00000000地址處取出第一條指令執(zhí)行。2、啟動加載程序(Bootloader)對CPU和外圍芯片進(jìn)行初始化,并建立設(shè)置堆棧,之后設(shè)置啟動參數(shù),加載Linux操作系統(tǒng)內(nèi)核。
      3、操作系統(tǒng)內(nèi)核啟動時(shí)會逐個加載TPM設(shè)備驅(qū)動程序,當(dāng)TPM設(shè)備驅(qū)動程序加載完成后,TPM就可以正常工作。4、接下來,操作系統(tǒng)內(nèi)核會對根文件系統(tǒng)中的重要文件進(jìn)行完整性度量,借助驅(qū)動程序?qū)⒍攘恐禂U(kuò)散到TPM的PCR寄存器當(dāng)中,實(shí)現(xiàn)可信啟動。省略了信任鏈度量的Bootloader度量和內(nèi)核度量兩個步驟,ROM程序本身作為可信度量根(RTM)。5、啟動應(yīng)用程序,應(yīng)用程序完成數(shù)據(jù)采集、數(shù)據(jù)傳輸?shù)瘸R?guī)任務(wù)。6、應(yīng)用程序通過系統(tǒng)調(diào)用接口與TPM通訊,完成可信計(jì)算相關(guān)的功能。7、如果應(yīng)用程序需要更新,則首先確保終端處于可信狀態(tài),釋放出所有密封過的密鑰,向內(nèi)核申請重新度量文件系統(tǒng),最后重新密封所有密鑰。參考圖3,應(yīng)用程序可以通過兩種方式調(diào)用TPM,第一種方式,通過寫(write O )系統(tǒng)調(diào)用發(fā)送原始字節(jié)流,這種方式相當(dāng)于直接操作TPM。第二種方式,通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用發(fā)送上層命令給TPM設(shè)備驅(qū)動程序,TPM設(shè)備驅(qū)動程序根據(jù)上層命令的參數(shù)構(gòu)建字節(jié)流。上層命令(以CMD_開頭)都是自定義命令,不遵循TCG規(guī)范,根據(jù)實(shí)際需要,可以由TPM設(shè)備驅(qū)動程序開發(fā)者和應(yīng)用程序開發(fā)者協(xié)商制定。輸入輸出控制(ioctl O )系統(tǒng)調(diào)用的參數(shù)使用結(jié)構(gòu)體表示,結(jié)構(gòu)體中包含了傳入?yún)?shù)緩沖區(qū)地址,傳入?yún)?shù)大小,返回值緩沖區(qū)地址,返回值緩沖區(qū)大小等信息。從圖3中可以看到,TPM設(shè)備驅(qū)動程序?qū)PM命令起到了封裝和打包的作用。對于上層使用者更方便簡潔。另外為了解決并發(fā)訪問的問題,涉及TPM芯片的操作都加入了信號量控制,對于只有一個TPM芯片的終端來說,信號量的初值設(shè)為I即可。參考圖4,引入了增強(qiáng)的TPM設(shè)備驅(qū)動程序后,可信計(jì)算的常用操作被簡化為對TPM設(shè)備的系統(tǒng)調(diào)用。首先,使用open()函數(shù)打開設(shè)備文件”/dev/tpmO”,然后通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用傳入命令,以及命令相關(guān)的參數(shù),這里的命令都是自定命令,根據(jù)需要自己制定,而非TCG定義的TPM命令,每條自定義命令可能包含若干條TPM命令,并需要密碼學(xué)庫函數(shù)輔助操作。另外,如果TPM設(shè)備驅(qū)動程序提供的自定義命令無法滿足需要,使用者也可以自行構(gòu)建TPM命令字節(jié)流。這里以數(shù)據(jù)密封和解封操作(本發(fā)明中涉及到對data和randKey的操作是加密/解密;對randKey和sealKey的操作是密封/解封)為例,用戶可以定義三條命令,這些命令的輸入?yún)?shù)和返回值都使用結(jié)構(gòu)體來傳遞。CMD_RSA用來創(chuàng)建RSA密鑰對。CMD_SEAL命令用來實(shí)現(xiàn)數(shù)據(jù)密封的功能。CMD_UNSEAL命令用來實(shí)現(xiàn)數(shù)據(jù)解封功能。
      權(quán)利要求
      1.一種簡易的嵌入式可信終端系統(tǒng),其特征在于,包括只讀存儲器ROM、TPM芯片、NANDFlash和CPU ;將啟動加載程序Bootloader和操作系統(tǒng)內(nèi)核燒錄到ROM中;將應(yīng)用程序、用戶數(shù)據(jù)存放于NandFlash中;僅僅保留TPM設(shè)備驅(qū)動程序一層,TPM設(shè)備驅(qū)動程序直接訪問TPM芯片,同時(shí)應(yīng)用程序能夠直接通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用訪問TPM設(shè)備驅(qū)動程序;TPM設(shè)備驅(qū)動程序還具有TPM字節(jié)流發(fā)生器的功能,應(yīng)用程序只需要提供自定義命令和參數(shù)就可以訪問TPM芯片;在TPM設(shè)備驅(qū)動程序中加入并發(fā)訪問技術(shù),使不同的進(jìn)程能夠有序訪問TPM芯片,確保TPM芯片的可罪性和聞效性;TPM設(shè)備驅(qū)動程序運(yùn)行在操作系統(tǒng)的內(nèi)核態(tài),多個進(jìn)程對同一個內(nèi)核模塊進(jìn)行訪問。
      2.根據(jù)權(quán)利要求1所述的嵌入式可信終端系統(tǒng),其特征在于,所述TPM芯片采用AT97SC3204T,該芯片通過IIC總線接口和CPU進(jìn)行通信。
      3.根據(jù)權(quán)利要求1所述的嵌入式可信終端系統(tǒng)的工作方法,其特征在于,包括以下步驟: Al、系統(tǒng)上電后,CPU首先從只讀存儲器ROM的0x00000000地址處取出第一條指令執(zhí)行; A2、啟動加載程序Bootloader對CPU和外圍芯片進(jìn)行初始化,并建立設(shè)置堆棧,之后設(shè)置啟動參數(shù),加載Linux操作系統(tǒng)內(nèi)核; A3、操作系統(tǒng)內(nèi)核啟動時(shí)會逐個加載TPM設(shè)備驅(qū)動程序,當(dāng)TPM設(shè)備驅(qū)動程序加載完成后,TPM正常工作; A4、接下來,操作系統(tǒng)內(nèi)核會對根文件系統(tǒng)中的重要文件進(jìn)行完整性度量,借助驅(qū)動程序?qū)⒍攘恐禂U(kuò)散到TPM的PCR寄存器當(dāng)中,實(shí)現(xiàn)可信啟動; A5、啟動應(yīng)用 程序; A6、應(yīng)用程序通過系統(tǒng)調(diào)用接口與TPM芯片通訊,完成可信計(jì)算相關(guān)的功能; A7、如果應(yīng)用程序需要更新,則首先確保終端處于可信狀態(tài),釋放出所有密封過的密鑰,向內(nèi)核申請重新度量文件系統(tǒng),最后重新密封所有密鑰。
      4.根據(jù)權(quán)利要求3所述的工作方法,其特征在于,所述應(yīng)用程序通過兩種方式調(diào)用TPM,第一種方式,通過寫(write O )系統(tǒng)調(diào)用發(fā)送原始字節(jié)流;第二種方式,通過輸入輸出控制(ioctl O )系統(tǒng)調(diào)用發(fā)送上層命令給TPM設(shè)備驅(qū)動程序,TPM設(shè)備驅(qū)動程序根據(jù)上層命令的參數(shù)構(gòu)建字節(jié)流;輸入輸出控制(ioctl O )系統(tǒng)調(diào)用的參數(shù)使用結(jié)構(gòu)體表示,結(jié)構(gòu)體中包含了傳入?yún)?shù)緩沖區(qū)地址,傳入?yún)?shù)大小,返回值緩沖區(qū)地址,返回值緩沖區(qū)大小等信肩、O
      5.根據(jù)權(quán)利要求3所述的工作方法,其特征在于,通過CMD_RSA、CMD_SEAL命令實(shí)現(xiàn)數(shù)據(jù)加密的流程如下: B1、內(nèi)核進(jìn)行文件系統(tǒng)度量,度量值存放于PCR中,此步驟在終端啟動時(shí)自動完成; B2、生成對稱密鑰randKey,只需要生成一個隨機(jī)數(shù)即可;如果借助TPM生成隨機(jī)數(shù),可以采用1 11_66丨1^111(101]1命令,通過讀(代3(10 )或?qū)?write O )系統(tǒng)調(diào)用實(shí)現(xiàn); B3、調(diào)用CMD_RSA命令,生成RSA密鑰對sealKey,該密鑰用于對randKey進(jìn)行密封;B4、調(diào)用CMD_SEAL命令,TPM內(nèi)部會將randKey和PCR值連接,然后用sealKey的公鑰部分對randKey密封,得到randKey* ; B5、使用randKey對原始數(shù)據(jù)data進(jìn)行加密,得到data* ;B6、將randKey*、data*以及sealKey的公鑰部分存儲在文件系統(tǒng)中; 通過CMD_UNSEAL命令實(shí)現(xiàn)數(shù)據(jù)解密的流程如下: Cl、內(nèi)核對進(jìn)行文件系統(tǒng)度量,度量值存放于PCR中,此步驟在終端啟動時(shí)自動完成; C2、從文件系統(tǒng)中讀取randKey* ; C3、調(diào)用CMD_UNSEAL命令,TPM內(nèi)部會使用sealKey的私鑰部分對randKey*解封,如果PCR值與密封時(shí)相同,貝U釋放出randKey,否則,randKey*無法解封; C4、使用randKey對data*進(jìn)行解密,得到原始數(shù)據(jù)data。
      全文摘要
      本發(fā)明公開了一種簡易的嵌入式可信終端系統(tǒng)及其方法,包括只讀存儲器ROM、TPM芯片、NAND Flash和CPU;將啟動加載程序Bootloader和操作系統(tǒng)內(nèi)核燒錄到ROM中;將應(yīng)用程序、用戶數(shù)據(jù)存放于NandFlash中;TPM設(shè)備驅(qū)動程序還具有TPM字節(jié)流發(fā)生器的功能;在TPM設(shè)備驅(qū)動程序中加入并發(fā)訪問技術(shù),使不同的進(jìn)程能夠有序訪問TPM芯片,確保TPM芯片的可靠性和高效性;TPM設(shè)備驅(qū)動程序運(yùn)行在操作系統(tǒng)的內(nèi)核態(tài),多個進(jìn)程對同一個內(nèi)核模塊進(jìn)行訪問,比多個進(jìn)程對同一個守護(hù)進(jìn)程訪問的效率高很多。
      文檔編號G06F21/72GK103150523SQ20131007262
      公開日2013年6月12日 申請日期2013年3月7日 優(yōu)先權(quán)日2013年3月7日
      發(fā)明者李美玲, 田文艷, 羅洪達(dá), 董增壽, 牛丹丹, 任昭晶 申請人:太原科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1