可信环境下的密钥撤销机制研究_李超零_第1页
可信环境下的密钥撤销机制研究_李超零_第2页
可信环境下的密钥撤销机制研究_李超零_第3页
可信环境下的密钥撤销机制研究_李超零_第4页
可信环境下的密钥撤销机制研究_李超零_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第27卷第2期 2010年2月计算机应用研宄Application Research ofiPutereVql27 N2 Feb 2010可信环境下的密钥撤销机制研究李超零耿玉营周雁舟李福林李立新1(1.信息工程大学电子技术学院,郑州45_ 2中国华融资产管理公司郑州办事处,郑州450004摘要:针对只作为对密钥的访问控制设备,而不能销毁被攻破密钥的问题.提出了两种利用密钥列表实 施撤销的机制.通过对命令集的少量修改,利用密钥列表对加载的密钥进行有效性检查,从而保证被TfM 使用的密钥都是未撤销的.并且两种机制都能实现与当前棚范的向后兼容.也不会增加其他操作的负戟. 最后,提出将两种机制结合以

2、保证密钥撤销和加栽操作的效率,增强撤销机制的可实施性。关键词:可信计算;可信平台模块;密钥撤销;密钥列表中图分类号:文献标志码:八文章编号:1001-3695(2010)02-0714-04d: 1Q 3969/J 1001 -3695. 201Q 02 086Research on revocation of keys trusted envirormentUChaaling. GENGYiLying. ZHOUY肌卟LIFMirt. L丨 Uxiri (1 Institute of Ejection ic Technology PI A InR)matin Engineering Unii

3、ty454 Ch 2 Office of Huanjng AssetManageiimtC*Pmtip Zhi84i(454 China)Abstract JFM is not able p ciesuoy collapsed key,s because keys ( except pr and EK are stored outside of “ T 、sovt* this probity tiis paper proposed omechaniaiis of revokingIPM ktys W ithutmajor changes to tl-it-lPM canuuuid set ch

4、ecked the vaiyities of loaded keys by using key lisp While realizing revocation checking eActively preserved back* wards can pat l)i | ity with tle cum.ntKXj specifications find jitioducttid no overhead |or noma | operation At last i tnpiove tht efficiency of evoking aiJ loading operations and enhan

5、ce the Pmcticabijity of revocationmechaniaii pioposed conhi. nation of bth me chan ian 卜Keywords tiustcd conputinky it*vocatio key listTPW中的S密钥i 密钥2jtffla存储根密钥 A-A外部存储设备收稿口期:2009-05-23!修回日期:2009-07-06 基金项目:国家“863”计划资助项目(2008 AA)1 44 作#简介:李超枣(1985-X男,硕士研究生,主要研宄方向为信息安全.可倍计算(lichunxian&_0丨丨63, car耿玉营(丨

6、970_x男,工程师, 主要研究方向为金融信息系统开发i周雁舟(1971-X男,副研宄M,硕导.博士,主要研宄方向为信息安全.可信计算;李福林(1979-)男,讲师.硕 _L,主耍研宂/向为信息安全.密码学:李、新(1967 _ X男.副教授.硕导.博.L.主要研宄方向为信息安全.引言可信计算平台的主要特征是在主板上嵌入可信平台模块 (misted P la ifam moduTTM X它是构建信任根的核心硬件模块.是提高整个平台安全性的基础部件m. TIM的主要功 能之一就是对加密和签名密钥的安全存储.但TFM的实现只 是拥有有限存储空间的小型片上系统(syswn chiP 所以TGG(co

7、npuiing group)规范中只有存储根密钥(storage mot kty 3U个 新添加的.验证密钥有效性的命令TIM_ evI I011 en间 传递状态信息。数据结构和初始化哈希链中的每个撤销密钥都经过的认证,认证采用 &K或的直接子密钥,后者要求和其直接子密钥都 加载到TRW但由于TTM的密钥空间有限.它对TRV1密钥空 间的占用可能制约加载其他密钥的能力.哈希链的元素1 elan en结构如下:其中:ke後示被撤销密钥的公钥 3示存储根密钥.R& VOC IABEI标签表示哈希值只用于构建撤销列表.PmHash 指撤销列表中前一个元素的哈希值(lj表首元素的PrcHash 值设

8、为k。SiK使哈希值被标记:只有拥有该的TTM 能生成并验证哈希值.引入一个新的TFM数据结构TTM_ EliMETN来存储哈希链的元素:TVlJedef srnici vITIM REV EIJEMI-MTi TFM SmUCT VER ve/TTM_ SnRE_ RJliKEY Pi丨丨Key TTM_ KEV_ E1IMENT_ HAfJ llin、 TIM REV EliMENi初始化撤销机制时.TIM價为&表示不存在撤销列表.每生成一个新的$1都需要进行初始化操作,它是 TFM_Taktwneril愉令的一部分.另外,必须修改密钥生成 命令 TFM aW ralKty以便初始化 re

9、vocable checked字 段.其中checks默认为扫时 . 密钥的撤销添加命令TRVI_RevWHandl哪双K的句柄TFM_ RevokcKey命令利用TIM lasHa他成新的条目更新mi中的属lasHash 值并返回新生成的列表条目,如筧法丨所示。为保证执行效 率,该算法并不检查当前哈希链的完整性.也不检查密钥是否 已经包含在列表中B为描述简单.本文的算法只列出了需要的 输入输出参数。其他参数可参考TFM规范|61。算法1TPVIRevok水e填法输入:拎 输出:reimCd,e revEJtmentnewnash = hash( RI(X_ I ABEL | | keMIan

10、dlc pu|Ky| |SRK | | TFM lasllash)1TMreium RET REV(KE_KEY_ Ai . 密钥的使用每个被使用的TfM密钥都需要利用TRVI_LdKey命令 加载.如果加载的密钥是可撤销的(kq rcvocab K置为mu则 它不能直接使用:TIM必须检查该密钥是否在撤销列表中. 因此,TFM要求应用程序或TSS( twsted softvarc stack)反复调 用TlMShvRevLisKlunm命令将撤销列表的条目顺序地读 取到TRVJ该命令检查哈希链的完整性和密钥是否在列表中. 如果哈希链无效或匹配成功则返回Ret_fah汫终止执行,匹 配不成功则

11、返回RET_REV(x要求调入下一个条g继续检査, 直到哈希链末尾时返回RCT_()K并设罝一个标志位表示密钥 可用.最后.为终止密钥加载操作.需要再次调用 Ke喻令.它为应用程序返回密钥句柄.因为撤销检査只在将密钥加载到TTM时进行.并非每次 使用密钥时都需要.从而可能导致密钥被撤销后仍以可用的形 式存在于ITM中。解决的方法是不断刷新THV1缓存中的密 钥.当然.这会降低系统性能.算法2描述了修改后的THVl_IIKty命令.如果inKey指向一个可撤销密钥.则首先确定是否己经利用撤销列表检查 过密钥的有效性(ieypiaj? Keyflag? checked置为nue).如果是.则按加载

12、密钥的正常操作进行,否则返回加密后的iKey 数据结构和表示需要利用TIM_ShvRtMt;h men命令对密钥作进一步处理.算法2黑名单机制中的填法输入:parunHandleNnce输出:rctuni(iLU. inKclland私 inKcy inKeypiato = eciypi( inKey parenH) if inKcyplap Keyflag.s n!vocablG= TRUE then if inKeypiaiii Keyfl? checked ( TRUE| |Nnce then Continue as denoted jn JTM specification return

13、 TTM_ SUCCESS inKtHand le e|seinKcypiain Keyflags checked = ( FAIil | Nnce inKey = Enciypt( inKeypiai? ParnHandle) rctumRET REV(X, Mcy ejseContinue as Jenotetl jn TIM specification return JRVI_SUCCESS inKcMIandle算法3给出了命令THVI_ ShvR evlln en的实现.它验证哈希链.确定对该公钥的所有后续调用被执行和该密钥不在 撤销列表中.它获取的句柄.TrM_LuaciKey命令

14、返回的 撤销列表的一个元素.父密钥的句柄和授权会话的信息 (parenHandl制授权会话的Nonce).这里需要利用授权会话 的信息来保证对黑名单的检查是新的.因此.为成功加戟一个可撤销密钥.TTM_ lK ey命令必须使用TIM_ Sh tv_ UsElonen的部分授权数据.算法3的执行需要JFM内部存 储两个值:经过验证的前一个列表元素的哈希值PrcvHash 该公钥的哈希值PrcvinKey它们都可以作为TRVI STANY DA- 胃构的附加字段.当_得于撤销列表的当前元素时.表示己经到达列表的末尾.检查给定的公钥是否 与Mey中的私钥相对应.如果是.则改变标签jrKeypiaii

15、j Keyflag卜 checkecj值并返回 irey算法 3 TPVI_ ShvRevlJseimen算法输入:如d I?氏paren H and t ey Nnct*输出:rL*tuniCcl,e jnKey if undefined prevHa)preHab =kcuflasb = Mash( REV(X_ lAIffl.| | reEHnicnt PubKcy| | |prevHash)if ( cufiashi = R%E lament H) | ( ivvElancnt pubKey= jn. Key PuhKey) thenReturn RET FAH. if nt( und

16、efined PreviKey) en Return RCTFAL PrevinKcy = Hash( inKcy pulKeY) prtvHitb = cuHasli if cuHasb= TTM lasHash !hijnK eyp |a 0 = 1) ec iyp Plnii? Kcyfln坪 checked ( FALSE! |Nncc thenif inRcyp la in contains pul) lie key corrvspondinM prevjnKey then inKeypiaii Keyflag-s cheeky = KUEMNnce inKcy = Enciypx

17、inKcPlajn parcnHandK)Return RET ()K iKyelseReturn RET FAILe|sereturn RET REV(X清理协议加载可撤销密钥的开销随黑名单的大小线性增长,当名单 过长时加载操作的开销将难以接受。因此需要一个清除黑名 单的淸理协议:淸理协议生成一个与旧并列的新复 制所有未撤销密钥到新下的密钥树中,然后刪除旧的 -WK因为在没有旧的条件F所有旧的密钥块都不可 用.而且只有未撤销密钥被迁移.从而可以刪除黑名单并将 TRV1恢复到空黑名单的状态.然而.清理协议的实现面临许多实际问题.首先,TtM以 树型结构存储密钥,因此存在不可撤销密钥加密保护bJ

18、撤销密 钥的情况|21.这种情况下.需要修改不可撤销密钥以防止在 淸除黑名单后再利用它解密旧的.被撤销的密钥.其次,密钥 可能拥有不同的访问权限.而对于密钥使用的授权其所有者可 能不可用,从而清理协议需要避免所有的访问控制机制.导致 协议实现的难度增加。最后.密钥树需要以正确的顺序加栽到 THVJ父密钥要先于子密钥被加载。尽管可能实现这样的清理 协议.但会相当复杂.在密钥撤销频繁的情况下,采用白名单 更尚效.白名单撤销机制白名单机制中,THVI为每个可撤销密钥生成一个单独的 白名单块.白名单块包含密钥和一个计数器的哈希值,该计数 器表示白名单当前的版本.即撤销操作执行的次数.TFM维 护一个安

19、全的计数器4 rcun存储最新的计数值.只 有当密钥的计数器值与TFM revtunK啲值相等时,密钥才 有效.撤销一个密钥时.除被撤销密钥外的所有密钥的计数器 值都必须加1以保持最新.与密钥自身不同.白名单块不是密钥体系的一部分;相反. 它们由白名单根密钥(WKK whilEliMmotkey)加密和认证.其 中WRK由SK直接保护.这就避免了更新白名单时遇到与 黑名单的清理协议同样的访问控制问题.因为对白名单的更新 操作,包括密钥撤销或生成新的白名单块,只要求对WRK的 访问权限。WRK也允许在外部更新白名单:WRK可以被迁移 到一个可信的外部设备.它能计算新的白名单块而不需要 mi的参与

20、,TRW只需要更新内部的计数器值.密钥的生成执行密钥生成命令要求WRK被加载到ITM它同时返回 密钥和白名单块.TFM_CreatLWraM算法 输入:parenfiand长 winland垆 revokedH如whitelistblb 输出:rc tu meodf wh itc 1 is|31|hashvajlsHashcREVOCABELI | 圯vokecHandl? PuhKey| |WRK| j TTM ountei)if hashva | = wh itc 丨istb 队 then Whitelisiblb =Ha REV(XMABEL| |revke(|Handle puliey

21、 | |WRK| | TPM reoumetf j ) ivwm mi_ EXCESS whitflistblnl, e|sereturn RCT Fyn.算法6白名单机制中的_WhitelisC_i算法输入:witHandle 输出:retumCode 丁rcv)untep+ return -ITM_ SUCCESS. 密钥的使用加载一个密钥时.它的白名单块也必须载入TFM 计算公钥.WRK以及TTM rcNCounte钠哈希值.并与白名单块 比较。仅当两者相等时.算法按范定义的操作执行.如 算法7所示.算法7白名单机制中的TTM LoadKe填法输出:iv tu mcodf w Hi丨jp

22、cdK 以 wh itc 丨 isti K inKeypiai? =Deciypt( inK; ParenHandle) if inKeyPin Keyfl vocah|e= TRUE hashvl = Ha-4i( REV(K_ IABEI.| | inKey puhKI | WRK | | TI n?v)untcr)if hashvaj = whitt*lisibli) Hien Rewm RET FAD.Continue asspecificationrcmm TTM_ aJtCES? kt-JHandlf黑白名单相结合的撤销机制为简化对黑白名申.机制中各操作的效率比较,假设-个 TFM

23、的所有可撤销密钥数S:为M己撤销密钥数8:为N哈希 运算 ha斗(REV(X二 1ABEIJ keJHandl? PulKeyj | g?K| TOW lasHUi湘 hash( REVOC_lABEL| | keymp l)u|;Key| 丨 WRK| | TTM reCoumei)的运算时间相同(设为THX并忽略数据传输 的通信开销.这样.黑名单机制中密钥撤销的开销为1加载 -个可撤销密钥的开销为白名单机制中加载个可撤销 密钥的开销为撤销密钥的开销为(M丨)1可见,黑名 单机制中密钥撤销是常ft时间.但加载密钥的开销弓已撤销密 钥的数量呈线性.虽然可以通过清理协议清除黑名单.但协议 的实现

24、十分复杂.而白名单机制中密钥的加我十分高效,但密 钥撤销的开销较大,它与系统中可撤销密钥的数量呈线性。黑 白名单机制中各操作效率对比如图2所示.黑名中.机制撤作1*1名中.机制销作黑名单机制加玫掾作内名单机制加找作图2黑A名电机制中各換作效韦对比将黑白名单结合可以提高密钥撤销和加栽的效率.利用 黑名单完成通常的密钥撤销操作.另外再维护一个白名单来有 效地淸理黑名单.如果一个密钥被撤销.它首先被添加到黑名 单中.1RVI将拒绝加载黑名单中的任何密钥;当生成一个新的 可撤销密钥时.同时为它生成一个白名单块,TFM也将拒绝加 载任何不在白名单中的可撤销密钥.当黑名单太大时.TFM 所有者可以通过为所

25、有不在黑名单中的密钥生成一个新的白 名单来清除黑名单。结合后的机制要求修改TFM_W hitclisfrran.sfbinKcy命令, 并添加-个测试密钥是否在黒名中-中的操作,如算法8所示. 如果密钥在黒名单中.则不为它生成白名单块.迁移命令返回 一个错误。此外,还需要修改_WhiKlisC_i命令.使它 将TIM内部的哈希值置为k.将黑白名单结合.可以得到两 方面的最高效率:撤销密钥可以在常量时间内完成.并且可以 维护很短的黑名单以实现高效的密钥使用。虽然更新白名单 的开销很大.但它并不需要频繁更新。算法8结合机制中的TTM_Wliitelis(rrans)niKe填法输入:*叫糾and

26、Paren 1丨如(11?邮丨and松 revkecHand a*v|aiicnt jrey NJonce输出:rctu mCd,c wh itt、listmSwitch ( TRV1 _ ShvReviJsClaiiem ( siandle revElancnt paivnH le inKy Nonce)Casp RET FA I. return RET FAH.Cas RET_()KwhitvlisBlb =Has|i,s/www tm. stcdctnipiL tinggroup oi| 3| BRLKEIJ.E: CAMENLSLUJ CHEN Li-un DirectanaiMnousat tesuttir| (_| /P104- f 11 ACM0,1 CPuttT anlConmunicatjcjns S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论