密钥管理技术研究.doc
第 22 卷第 11 期2005 年 11 月计算机应用与软件Comp u te r App lica tion s and Softwa reVo l122 , No. 11Nov. 2005密 钥 管 理 技 术 研 究黄志荣范磊陈恭亮(上海交通大学信息安全工程学院 上海 200030 )摘 要密钥管理是密码系统中的关键技术 。本文分别介绍了用户公开密钥算法与对称密钥算法的密钥管理方案 ,针对密钥监管的需要 ,本文介绍了密钥托管技术 。作为密码学新的研究领域 ,本文最后介绍了基于身份的密码系统及其在密钥管理中的特点 。关键词密钥管理 密钥托管 基于身份密码系统THE RESEA RC H O F KEY M A NA GEM ENT TEC HNOLO GYH uang Zh irongFan L e i Chen Gongliang( S chool of Inform a tion S ecu rity Eng ineering, S hangha i J iaotong U n iversity, S hangha i 200030, Ch ina )A b stra c tKey m anagem en t is a c ritica l techno logy of c ryp tograp hy system. The key m anagem en t schem e s fo r p ub lic key a lgo rithm s andsymm e tric a lgo rithm s a re in troduced re sp ec tive ly. Key e sc row, wh ich is fo r the key mon ito ring, is in troduced. F ina lly, ID 2ba sed c ryp tograp hysystem and its key m anagem en t is in troduced.Keyword sKey m anagem en t Key e sc row ID 2ba sed c ryp tograp hy system务 、密钥托管服务以及辅助服务 。其中前两种服务是所有 PK I系统必须提供的基本服务功能 ,后两种服务用于某些需要增值 服务的场合 。可见 PK I满足了通信系统的安全要求 ,且提供多种活动所需的信任服务 。另外 ,由于 PK I管理的证书存在于一个巨大的 分布式网络中 ,为了高效 、有序 、一致的管理证书 ,整个 PK I系统 必须是一致的 ,可管理的 ,灵活的 ,易于扩展的 。要制定统一的 管理操作规范且充分考虑不同系统的互操作性 。PK I可以看作是一个公钥证书以及相关信息的分布式数据 库 ,其最根本的功能是为用户提供存取证书的机制 。在系统中 存在一个或多个用户信任的第三方即认证中心 CA , CA 负责用户证书的签发以及管理 。PK I体系中的 密 钥 管 理 主 要 体 现 在 对 各 类 证 书 所 使 用 的 公 、私密钥对的管理上 ,用户私钥由自己或委托 CA 服务机构生 成 ,并用合适的存储介质妥善保存 ,其对应的公钥由安全可靠的 途径发送到 CA ,供其他用户进行查询 。密钥的保存 、更新 、撤销 等管理方式根据 PK I的管理策略而定 。0 引言古老的机械式密码机的保密依赖于对密码机的保护 ,一旦敌人通过某种手段获得了密码机 ,整个加密系统就被完全破解 了 。在现代密码学中 ,密码系统的安全性不依赖于算法本身的保密 ,而是依赖于密钥的保密 。因此 ,密钥管理在现代密码学中是一项至关重要的技术 。任何安全的密码算法 ,如果没有相应 的密钥管理体系相配合就没有任何应用价值 。1 基于公开密钥基础设施的密钥管理公开密钥算法 1 在身份认证 、密钥协商以及数字签名等方面有着天然的优势 ,基于这些特性已经提出了大量的协议用于 解决安全问题 ,公开密钥算法无论是在理论上还是在实际应用 中都得到了广泛的认可 。在应用中 ,公开密钥算法所需要解决 的一个关键问题是用户的公开密钥有效性的认证 。因为这些信息是公开的 ,任何人都可以访问 ,所以有可能遭到恶意的替换 、篡改等手段的攻击 。要使得公开密钥算法得到应用 ,必须解决 这些问题 ,公钥基础设施 ( PK I) 2 正是基于此而出现的一种技术 。PK I是一种以公开密钥算法为基础 ,统一解决密钥发布 、管 理和使用的系统 。它不是一个单一的对象或者软件 ,而是由许多互相联系的组件共同协作来提供一套服务 ,这些服务使得用 户能够简单方便地使用公开密钥系统来解决存在的安全问题 。PK I将用户信息与他的公开密钥绑定为一个整体 ,然后使用可信的第三方对其进行数字签名 。使用者通过验证数字签名来保 证公开密钥的有效性 。PK I的基本功 能 可 分 为 四 个 部 分 : 加 密 服 务 、证 书 管 理 服2 基于对称算法的密钥管理相对于公开密钥算法 ,对称算法具有运算速度快 ,占用资源少的优点 ,因此在很多计算或者通信能力受限的系统中 ,仍然得 到了广泛的应用 。对称算法要求通信双方共享一个秘密作为加 密密钥 ,因此对密钥的管理与交换更加困难 。对称算法还经常 应用于身份鉴别协议 ,在此过程中密钥管理也基于对称算法 。 在传统的口令鉴别协议中 ,每个用户有一个与系统主机共收稿日期 : 2004 - 10 - 21。黄志荣 , 工程师 , 主研领域 : 密码技术和密钥管理 。享的身份标识 ( ID )和对应的口令 ( PW ) 。如果一个用户要登录系统 ,他必须将他 的 ID 以 及 PW 发 送 给 主 机 。主 机 搜 索 口 令 表 ,检验该 ID、PW 对是否存在 。如果存在 ,请求被接受 ,否则拒绝这个请求 。这 种方案不能抵抗重发攻击 , 显然是不 安 全 的 。一些进一步的协议 3, 4 将主机上的口令表加密 , 但是仍然不能 抵抗重发攻击 。随着微电子技术的发展 ,近年来出现了一种具有一定运算功能的存储设备 智能卡 。智能卡在外型上和磁卡相似 ,但 它和磁卡的一个关键区别是不易被仿制 ,并且自身具有一定的 计算能力 。智能 卡 具 有 自 己 的 微 处 理 器 ( 8 位 CPU , 主 频 5 10MH z) , RAM , ROM 和 EEPROM , ROM 用 于 存 放 卡 操 作 系 统 ( CO S) 、加解密算法模块等 。 EEPROM 中存放有关用户的个人 化参数和数据 , EEPROM 中的数据只能通过智能卡中的操作系统来访问 ,外部应用程序不能直接访问这些数据 。利用智能卡的这些优点 ,近年来提出了若干新型的用户认证协议 。这些协 议利用智能卡的运算与存储功能 ,大大简化了密钥管理的复杂 性 。监听时延迟恢复密钥 ,从而阻止了法律授权机构大规模实施监听的事件发生 。所谓部分密钥托管 ,就是把整个私钥 c 分成两 个部分 x0 和 a,使得 c = x0 + a,其中 a是小比特数 , x0 是被托管的密钥 。 x0 分成许多份子密钥 ,它们分别被不同的托管机构托管 ,只有足够多的托管机构合在一起才能恢复 x 。监听机构在0实施监听时依靠托管机构只能得到 x0 ,要得到用户的私钥 c,就需要穷举搜出 a。314 时间约束下的密钥托管思想政府的密钥托管策略是想为公众 提供一个更好的密码 算 法 ,但是又保留监听的能力 。对于实际用户来说 ,密钥托管并不能够带来任何好处 ,但是从国家安全出发 ,实施电子监视是必要 的 。因此 ,关键在于寻找能够最大程度保障个人利益的同时又 能保证政府监视的体制 。A1L en stra提出了在时间约束下的密钥托管方案 ,它既能较 好地满足尽量保 障个人利益 , 同时又能保证政府监视 的体制 。 时间约束下的密钥托管方案限制了监听 机构监听的权限和范 围 。方案有效地加强了对密钥托管中心的管理 ,同时也限制了监听机构的权力 ,保证了密钥托管的安全性 ,更容易被用户信任 与接受 。3 基于密钥托管技术的密钥监管密码技术可以用来保护合法的机密信息 ,也可能被非法用 户用来躲避法律的打击 ,因此有必要为国家相关职能部门提供 依法获得个人加密信息的渠道 。1993年 ,美国政府颁布了 一份新的通信加密方案 , 旨在提 供高质量的通信安全保障 ,同时不会威胁到法律机构 、公共安全 以及国家安全 。该方案是基于特殊的防窜改硬件加密设备和密 钥托管系统 ( KES)来实现的 。它可以使获得授权的政府机构得到一种特殊的设备密钥 ,该密钥可以解密所有使用 C lipp e r Ch ip 加密的通信信息 。在生成密钥的同时密钥同时分成两个部分 , 由两个独立的托管机构托管密钥 。法律授权的政府机构只有获 得所有的两个被托管的密钥部分 ,才能获得设备密钥 。密钥托管的应用研究主 要集中于固定电话 、E2m a il、传真 、数据库访问 等通信方式中 。常见的密钥托管方案有下面几种 。311 密钥托管标准 ( EES) 5 它应用了两个特性 : ( 1 )一个保密的加密算法 Sk ip jack算法 ,它是一个对称的分组密码 ,密码长度为 80 b it,用于加 /解 密用户间通信的信息 ; ( 2 ) 为法律实施提供的“后门 ”部分 法律实施访问域 (L EA F, law enfo rcem en t acce ss fie ld) ,通过这个 访问域 ,政府部门可在法律授 权下 , 取得 用户间通信的会话密 钥 。但 是 EES 同 时 也 存 在 一 些 问 题 , 比 如 : 系 统 使 用 的 算 法Sk ip jack是保密的 ,托管机构需要大量的 数据库来存储托管密钥 ,如果硬件芯片的密钥被泄露了 ,整个芯片就永久失效了 。正 是由于 EES存在非常明显的缺陷 ,遭到了公众的强烈反对而不 能推广使用 。312 门限密钥托管思想 6 门限密钥托管的思想是将 ( k, n)门限方案和密钥托管算法相结合的一个领域 。这个思想的出发点是 ,将一个用户的私钥 分为 n个部分 ,每一部分通过秘密信道交给一个托管代理 。在密钥恢复阶段 ,在其中的任意 k个托管代理参与下 ,可以恢复出用户的私钥 ,而任意少于 k的托管代理都不能够恢复出用户的 私钥 。如果 k = n,这种密钥托管就退化为 ( n, n)密钥托管 ,即在所有的托管机构的参与下才能恢复出用户私钥 。313 部分密钥托管思想 7 Sham ir首次提出了部分密钥托管的方案 ,其目的是为了在 8 , 9 4 基于身份的密码系统基于身份的密码系统是一种特殊的公开密钥系统 ,在这种系统中 ,用户密钥的公开部分可以由用户的身份标识比如 Em a il变换得到 。 1984年 , Sham ir为了简化在 Em a il系统中证书管理 的复杂性 ,提出了基于身份的加密算法 。在这个密码体制提出后的很长一段时间 ,并没有能够建立起令人满意的实用系统 ,直 到 2000年 Joux开创性的研究成果 , 使得 这个问题得到了突破 性发展 。1993年 , M eneze s等人发现 W e il Pa iring能够被用来攻击某 些椭圆曲线系统 , 1994 年 , F rey等人采用 Ta te Pa iring进行相似 的攻击 。很长时间内 , Pa iring只能用来进行密码分析 。 2000 年 后 Joux发现 Pa iring不仅用于密码分析 ,而且可以用来构建密码 系统 ,双线性使得许多构建的系统具有了非常有趣的特点 。很 快 ,人们利用 Pa iring构建了基于身份的数字签名 ,密钥协商 ,鉴 密 ,门限解密等方案 。基于身份的密码系统不需要通过 证书管理用户的公开 密 钥 ,因此大大简化了密钥管理的复杂性 。但是这种系统还处在 发展与完善的过程中 ,一些问题尚未解决 ,比如用户撤销问题就 是该系统密钥管理的一个难题 。5 结束语本文介绍了当前密码系统中使用的各种密钥管理技术 ,基 于公钥基础设施 ( PK I)的技术是当前应用最为广泛的密钥管理 方案 。在某些需要低计算量的系统中仍然采用基于对称算法的 密钥管理方案 ,随着智能卡的广泛应用此种密钥管理的安全性 有了很大提高 。为了给相关职能部门提供对通信监管的手段 , 一般采用密钥托管技术实现用户通信密钥的恢复 。作为最近出 现的密码系统 ,基于身份的密码系统为密钥管理带来了新的实 现方法 。参 考 文 献 1 D iffie W. , H e llm an W. E. , N ew d irec tion s in cryp tograp hy, IEEE Tran s. on Info rm a tion Theo ry, Vo l. 10 , No. 6 , Nov. 1976 , pp. 644 654.114计算机应用与软件2005年 2 A dam s C. , L ioyd S. , U nde rstand ing Pub lic2Key Infrastruc tu re: Con2cep ts, Standard s, and D ep loym en t Con side rra tion. M acm illan Techn ica lPub lish ing”, 1999. 3 Evan s A. , Kan trow itzW. , A u se r au then tica tion schem e fo r requ iring se2c recy in the comp u te r, Comm. ACM , 1974 , 17 ( 8 ) : 437 442. 4 L ennon R. E. , M a tya s S. M. , C ryp tograp h ic au then tica tion of tim e2inva r2ian t quan tities, IEEE Tran s. Comm. , 1981 , 29 ( 6 ) : 773 777. 5 N IST. E scrowed Encryp tion Standa rd ( EES) , F IPS PUB ( Fede ra l Info r2 m a tion P roce ssing Standa rd s Pub lica tion) 185 , U. S. D ep t of Comm e rce, Feb ruary 9 , 1994. 6 D e sm ed t Y. F rake l Y. Th re sho ld C ryp to system s, C ryp to 89. B erlin: Sp ringe r, 1989 , 307 315. 7 B e lla re M. Go ldwa sser S. V e rifiab le p a rtia l key e sc row , P roceed ing ofFou rth A nnua l Confe rence on Comp u te r and Comm un ica tion s Secu rity, N ew Yo rk: ACM , 1997 , 78 91. 8 A. Sham ir, Iden tity2ba sed cryp to system s and signatu re schem e s. In A d2vance s in C ryp to logy2CR YPTO 84 , LNCS 196 , pp. 47 53 , Sp ringer2V erlag, 1984. 9 D. Boneh and M. F rank lin, Iden tity2based enc ryp tion from the W e il p ai2用例 6 (被叫忙 ) 的动作组成 : 呼叫到达 ; 被叫方发出忙音信号 。用例 7 (双方通话 )的动作组成 :接听 ;挂机 。把以上 7个用例组装成用例图和 BN F描述如 212 节所示 , 选择“正常接听 ”和“主叫方终止 ”这两个用例 , 再根据定义 1、 定义 2转化成 ECM PN s如图 2、图 3所示 。图 2 正常接听的约束网图 3 主叫方终止的约束网5 用例图的一致性和完整性分析规则当用例图被转换成 ECM PN s后 ,许多 Pe tri网的分析技术能 够被用于对用例图进行分析 ,以便发现用例图中的不一致性和 不完整性 。分析不一致性的规则如下 :( 1 ) 如果在 ECM PN s存在一个从未被激发 (点火 )的转换 ,这就意味着以后实现的程序中可能存在不能运行到的代码 ,这 种不一致性在需求分析阶段应该被纠正 。( 2 ) 如果在 ECM PN s存在一个死锁 ,这也意味着用例图存 在着不一致性 ,需要纠正 。分析不完整性的规则如下 :( 1 ) 如果 ECM PN s中有一条不可到达的路径 ,这意味着用 例图中可能缺少了某些限制条件 ,或限制条件不完整 ,需求分析 应该重新由领域分析员补充完善 。( 2 ) 如果 Cn i M n ,在 Cn i中没有一个共享转换或共享位置 ,这意味着该用例与系统 的其他部分没有交互作用 , 是孤立 的 ,这时需要认真复审需求分析中的 UML 图 ,确认是否有需求 分析不完整的地方 。ring. In A dvance s in C ryp to logy2CR YPTO 01 , LNCS 2139 , pp.229 , Sp ringe r2V e rlag, 2001.213 (上接第 25页 )总之 , SM IL2. 0的功能十分强大 ,随着更多的机构和公司加 入到提供对 SM IL2. 0支持的行列中 ,相信它将会在更多领域得 到更广泛的应用 。参考文献 1 W 3C SYMM W o rk ing Group Synch ron ized M u ltim ed ia In tegra tion L an2guage ( SM IL2. 0 ) , W 3C R ecomm enda tion 07 A ugu st 2001. 2 W 3C SYMM W o rk ing Group Synch ron ized M u ltim ed ia In tegra tion L an2guage ( SM IL 1. 0 ) , W 3C R ecomm enda tion 15 - June - 1998. 3 裘强译 , W 3C建议 SM IL 1. 0 ( 1998 年 6 月 15 日 )的中文版. 4 Jake Stu rm ,微软 XML 解决方案 ,北京 :机械工业出版社 , 2001. 5 L loyd Ru tledge, Lynda Hardm an, Jacco van O ssenb ruggen, D ick B u lter2m an, Jack Jan sen, Sjoerd M u llender SM IL 2. 0 In teractive M ultim ed ia on the W eb, June 2002. 6 D id ie r M a rtin, XML 高级编程 ,北京 :机械工业出版社 2001. 7 Fab il A rc in iega s, C + + XML 高级编程指南 , 北京 : 北京希望电子出 版社 , 2002. 8 E rich Gamm a, R icha rd H e lm , R a lp h John son, John V lisside s, 设计模 式 :可复用面向对象软件的基础 (英文版 ) , 北京 : 机械工业 出版 社 , 2002. 9 Jake Stu rm ,开发 XML 解决方案 ,北京 :北京大学出版社 , 2002. 10 ISO / IEC 10179: 1996 Docum en t Style Sem an tic s and Sp ecificationL anguage (D SSSL ) . 11 M S XML4. 0 PAR SER SD K, M ic ro soft comp any P re ss.6 结束语进一步要开展的工作包括 ,研究对 ECM PN s进行分析的一些算法 ,如死锁检测算法 ,可到达路径的判定算法等 ,其次 ,由于 把用例图手工转换成 BN F和 ECM PN s时 ,工作效率低而且容易出错 ,所以 ,要开发相应支持 BN F 表示和 ECM PN s生成的软件工具 ,以保证需求分析验证和确认的实际可操作性 。最后是进 一步扩充和完善 ECM PN s本身的形式化表示 ,这包括分时分析 、 层次和并发分析等 。参 考 文 献 1 K. Jen sen, Co lou red Pe tri N ets: B a sic Concep ts, A nalysis M ethod s andP rac tica l U se, Vo l. 1. Sp ringe r2V e rlag, 1992. 2 G. B ucci and E. V icario, Compo sitiona l V a lidation of Tim e2C ritical Sys2tem s U sing Comm un ication Tim e Pe tri N e ts. IEEE Tran s. Software Eng. Vo l. 21 , No. 12 , pp. 969 992 , Edc. 1995. 3 W oo J in L ee 等 , In tegra tion and A na lysis of U se Ca se s U sing Modu la rPetri N e ts in R equ irem en t Enginee ring. Tran sac tion s on Softwa re Engi2neering, Vo l. 24 , No. 12 , D ec. 1998 , 12. 4 刘超 、张莉编著 ,可视化面向对象建模技术 ,北京航空航天大学出版 社 , 19991(上接第 27页 )用例 2 (无人应答 ) 的动作组成 : 摘机 ; 拨 号 ; 选择路 由 ; 等 待应答 ;挂机 。用例 3 (线路忙 ) 的动作组成 : 摘机 ; 拨号 ; 选择路由 ; 线路 忙 ;挂机 。用例 4 (正常接听 )的动作组成 :呼叫到达 ;振铃 ;摘机 ;用例 5 (主叫方终止 )的动作组成 :呼叫到达 ;振铃 ;铃声终 止 。