国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

TCM平臺中用戶密鑰生成的兼容性研究及仿真實現(xiàn)

2020-01-16 05:56張換梅
電子技術(shù)與軟件工程 2019年21期
關(guān)鍵詞:非對稱模擬器密鑰

文/張換梅

可信密碼模塊(Trusted Cryptography Module, TCM)是基于我國自主密碼算法的另外一種形式的TPM。作為可信計算密碼支撐平臺必備的關(guān)鍵基礎(chǔ)部件,為可信計算平臺提供密碼運(yùn)算功能,具有受保護(hù)的存儲空間。TCM中與用戶相關(guān)的密鑰涉及對稱密鑰和非對稱密鑰,由于可信軟件棧TSS為TCG針對TPM所設(shè)計,只提供了一種密鑰(RSA密鑰)創(chuàng)建服務(wù)接口,對TCM同時實現(xiàn)兩種密鑰創(chuàng)建服務(wù)的兼容性有所阻礙。

1 TCM的密碼算法與密鑰

1.1 密碼算法

在TCM中,密碼相關(guān)的部件有SMS4引擎、SM2(ECC)引擎、SM3引擎、隨機(jī)數(shù)產(chǎn)生器、HMAC引擎等,同時也提供了用于保障安全通信與授權(quán)數(shù)據(jù)驗證的密碼協(xié)議。TCM平臺密鑰采用了對稱密碼算法SMS4和非對稱密碼算法SM2(ECC)。

1.2 TCM的密鑰

TCM的密鑰體系定義了五種密鑰類型。

(1)密碼模塊密鑰(EK) 非對稱密鑰,可信密碼模塊的初始密鑰,由廠商生成。

(2)平臺身份密鑰(PIK) 為256位的SM2密鑰,可信密碼模塊的身份密鑰。必須在TCM內(nèi)部生成。

(3)平臺加密密鑰(PEK)為256位的SM2密鑰,由密鑰管理中心KMC生成。

(4)存 儲 主 密 鑰(SMK),為128位SMS4對稱密鑰,用于保護(hù)平臺身份密鑰和用戶密鑰的主密鑰。只能在TCM內(nèi)部生成。

(5)用戶密鑰(User Key,UK),可以是對稱密鑰也可以是非對稱密鑰,用于實現(xiàn)用戶所需的密碼功能,包括保密性、完整性保護(hù)和身份認(rèn)證等。

2 UK生成方案

UK的生成通過調(diào)用TCM_CreateWrapKey來創(chuàng)建用戶密鑰,包括存儲密鑰、簽名密鑰并設(shè)置相應(yīng)的授權(quán)數(shù)據(jù)。

但TCM同時支持非對稱算法SM2與對稱算法SMS4。TCM的一次服務(wù)響應(yīng)只能根據(jù)用戶需求創(chuàng)建一種密鑰。TCM可以根據(jù)用戶的需求生成兩種密鑰:使用SM2算法產(chǎn)生非對稱密鑰,然后用父密鑰加密該子密鑰進(jìn)行安全存儲;或者使用SMS4算法產(chǎn)生對稱密鑰并用父密鑰對其加密存儲。由于可信軟件棧TSS為TCG針對TPM所設(shè)計,只提供了一個密鑰創(chuàng)建服務(wù)接口,對TCM同時實現(xiàn)兩種密鑰創(chuàng)建服務(wù)的兼容性有所阻礙。針對這種情況,本文采用以下解決方案:

圖1:UK生成流程圖

在TSS重構(gòu)過程中,不添加密鑰創(chuàng)建接口,在應(yīng)用程序中增設(shè)選擇性變量Flag,執(zhí)行如下代碼:

由于密鑰創(chuàng)建的流程相對復(fù)雜,選擇性變量Flag需要傳入多個子函數(shù),需要在若干函數(shù)接口中增設(shè)接收參數(shù),更改了許多接口定義,過于復(fù)雜。采取該方案后,能夠保證TSS的上層服務(wù)接口定義基本不變,上層密鑰應(yīng)用無需做明顯改動,就可以實現(xiàn)用戶密鑰的生成功能。

3 流程設(shè)計

在TCM中同時支持非對稱密鑰SM2和對稱密鑰SMS4兩種類型的用戶密鑰生成。本文提出一種在TSS重構(gòu)過程中,不添加密鑰創(chuàng)建接口,在應(yīng)用程序中增設(shè)選擇性變量Flag的方案,通過參數(shù)確定生成的密鑰類型,因此SMS4密鑰與SM2密鑰的生成在TSP層共用一樣的接口調(diào)用流程。圖1為兩種體系通用的密鑰生成流程圖。

表1:FC7環(huán)境下的TCM與TrouSers配置方法

圖2:CreateWrapKey在TSS層的運(yùn)行結(jié)果

圖3:CreateWrapKey在TCM Emulator內(nèi)的測試結(jié)果

圖4:文件SMS4.key存儲生成的密鑰

4 仿真實現(xiàn)

4.1 配置實驗環(huán)境

實驗環(huán)節(jié)仿真系統(tǒng)的模擬平臺為:Linux操作系統(tǒng),F(xiàn)edora 7版本。

TCM在本質(zhì)上是物理硬件芯片,實現(xiàn)起來具有一定的復(fù)雜性。因此在測試過程中使用可信密碼模塊TCM的模擬器TCM_emulator-0.3版本。TCM_emulator-0.3這種模擬器實現(xiàn)了可信密碼支撐平臺所定義的核心安全功能模塊,能夠滿足實驗過程中的需求。模擬器的實現(xiàn),為可信計算課題的研究提供了良好的開發(fā)和測試平臺,同時也降低了實驗成本。

對于上層可信軟件棧TSS,使用TSS_For_TCM,目的在于實現(xiàn)基于TCM設(shè)計的上層應(yīng)用可以不做修改或作少量修改而通過其使用TCM的服務(wù)。

仿真實驗思路為:加載TCM_Emulator,啟用TSS_For_TCM,運(yùn)行針對TCM設(shè)計的上層應(yīng)用,獲得應(yīng)用層、TCS層、內(nèi)核層的測試數(shù)據(jù)信息。

在Fedora 7下連接TSS_For_TCM與TCM_emulator-0.3的過程如表1所示。

圖5:CreateWrapKey在TSS層的實驗結(jié)果

圖6:CreateWrapKey在TCM Emulator內(nèi)的測試結(jié)果

圖7:文件ECC.key存儲生成的密鑰

4.2 對稱密鑰

在TPM中僅支持RSA一種類型密鑰的生成,而在TCM中則同時支持非對稱密鑰SM2和對稱密鑰SMS4兩種類型的生成。在測試過程中,先以SMS4類型密鑰的生成為例,與SM2密鑰的生成在TSP層共用一樣的接口調(diào)用流程。

(1)對稱密鑰使用SMS4密碼算法,利用CreateWrapKey命令在TSS層的運(yùn)行結(jié)果如圖2所示。

(2)對稱密鑰利用CreateWrapKey命令在TCM Emulator內(nèi)的測試結(jié)果如圖3所示。

(3)所生成的密鑰被文件SMS4.key存儲,如圖4所示。

4.3 非對稱密鑰

(1)非對稱密鑰利用ECC密鑰算法,利用兩種密鑰的通用命令CreateWrapKey在TSS層的實驗結(jié)果如圖5所示。

(2)非對稱密鑰利用CreateWrapKey命令在TCM Emulator內(nèi)的測試結(jié)果如圖6所示。

(3)所生成的密鑰被文件ECC.key存儲,如圖7所示。

5 結(jié)束語

本文首先闡述了TCM的密鑰算法與密鑰機(jī)制,針對UK的特殊性提出了一種對兩種用戶密鑰UK的兼容性生成方案,并對生成過程設(shè)計出其流程,最后在Linux操作系統(tǒng)下利用使用可信密碼模塊TCM的模擬器TCM_emulator-0.3版本對用戶密鑰的生成過程進(jìn)行了仿真實現(xiàn)。

猜你喜歡
非對稱模擬器密鑰
探索企業(yè)創(chuàng)新密鑰
了不起的安檢模擬器
劃船模擬器
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
非對稱Orlicz差體
一種對稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實現(xiàn)
點(diǎn)數(shù)不超過20的旗傳遞非對稱2-設(shè)計
非對稱負(fù)載下矩陣變換器改進(jìn)型PI重復(fù)控制
動態(tài)飛行模擬器及其發(fā)展概述
陈巴尔虎旗| 鸡泽县| 中卫市| 讷河市| 黎川县| 石林| 武威市| 乐山市| 保定市| 泸溪县| 遵化市| 新泰市| 乐都县| 敦化市| 丰都县| 溆浦县| 郯城县| 政和县| 五寨县| 谢通门县| 天柱县| 蓬安县| 无锡市| 疏勒县| 漳浦县| 云林县| 建阳市| 杂多县| 宣恩县| 清涧县| 金沙县| 新建县| 边坝县| 梨树县| 大关县| 东阳市| 进贤县| 桂林市| 南雄市| 大洼县| 双辽市|