密钥认证策略――信任管理

 
关闭本窗口

何奇 赵晓芳
摘自:计算机世界

密钥认证——把物理世界中的安全数字化
编者按:要构建网络环境下的安全信息和交互系统,最重要的是要自然地把物理世界中传统的安全操作数字化,为因特网用户在数字世界中进行商务活动提供一组相等价的安全操作。由此产生了网络商务安全的基本要求——加密/解密、数字签名和身份认证,也由此形成了巨大的市场。为了争夺这片沃土,全球各家公司使出了自己的绝招,以动态认证令牌为绝招的RSA公司,占据了在这一领域全球70%以上的市场份额。电子商务的基本保障是网上客户的身份认证,我国电子商务市场尚未成熟,但我们已经看到了CA身份认证市场的硝烟。到目前为止,全国大大小小的CA认证机构已经有了几十家,其中有的客户超过了10万户,电信系统、银行系统以及各级地方政府部门全都活跃起来,CA认证的跑马圈地竞赛已经全面展开。

对任何有效地加密/解密和数字签名来讲,密钥的安全分发和管理是最基本的决定性的前提。密码学是为电子商务提供安全性的一种有效途径。加密、解密和数字签名、身份验证是密码学为信息交互达到安全性而提供的最基本的功能。在这些基本功能的基础之上,一系列的新的因特网安全应用系统在近年来已经出现,如电子付账系统、电子投票系统、虚拟专用网络等。

----任何安全系统的建立都依赖于系统用户之间存在的各种信任形式,网络安全也是一样。通常,不同的问题就有不同的信任形式存在,用以在特定的条件下减小风险。就一个实体来讲,在特定的环境下,采用哪一种信任形式取决于实体所采取的策略或现有的组织形式。我们不妨思考一下在日常生活中建立信任模式的过程,在交互过程中,达到信任关系的目的是唯一的,但信任关系的建立有很多种,自觉的、规则强制的、公共道德制约认可的、法律制约的、利益驱动的等等。不同的对象、不同的操作流程可能采取不同的信任规则。而这些具体的规则在网络的实现中怎样体现出来,是网络安全要考虑和解决的问题。

----目前的网络安全解决方案中,多采用两种信任形式,一种是第三方信任,另一种是直接信任。基于公钥框架结构的交换信任和信任的管理,是网络信息安全的基本保障。信任维护的两个基本点,一是证书本身的内容就是信任,二是在参与各方所构成的环境中安全保障措施在起作用。这两点来自于进行信任交换的商业目的实现过程中风险的控制过程,这也正是证书策略中所要涵盖的。信任和风险是相对的,管理策略中风险的控制是不可缺少的部分。本文的目的是介绍这些概念及其相关信息,使人们明白在特定的情况下,应该采用哪一种信任形式,而目前的解决方案中还存在哪些缺点和不足。本文比较清晰地介绍了网络安全中信任是什么、可以以什么形式存在,在管理这些信任关系时要考虑到哪些因素。

第三方信任
----第三方信任是指两个个体虽然以前没有建立起私人的关系,但双方无疑信任对方,这是因为他们与共同的第三方有信任关系,而且这个第三方为两者的可信任性进行了担保。

----通常业界普遍认为第三方信任是基于公钥密码的网络安全产品得以大规模实现的必要条件。公钥密码需要获得用户的公钥,然而在大规模的网络中,期望每个用户已经与所有其他的用户建立了关系是不可行及不切实际的。另外,由于用户的公钥必须是能在很广的范围内获得,一个公钥和一个个体的联系必须由可信任的第三方来保证,以防止伪装冒充。实际上,用户信任由第三方认证的公钥,是因为他们的组织机构有安全的可以信赖的权利。

----第三方的认证代理也就是我们称谓的“认证中心”(CA)。一个认证中心是一个可信任的实体,它的核心职责就是认证用户的身份。从本质上讲,CA的职能与政府中发放护照的机构相类似。护照是一个公民的可信的证件,是由相应的权力机构发放的,证明一个人是不是他所声称的这个人。任何其他的国家或地区,如果信任这个国家的政府护照发放办公室,并验证护照不是伪造的,就会信任其公民身份的真实性。这是第三方认证的一个非常好的例子。

----与护照相类似,网上用户的电子身份证是由一个CA来发放的,是这个CA信任他的一种证明,这样,通过第三方信任,任何信任第三方的人也应该信任这个用户。

----不管是护照发放机构还是CA都是政策和事理结合的产物。就拿护照发放机构来讲,政府有一系列的政策决定哪个人可以成为公民,申请和发放护照的步骤是怎样的。与此相类似,CA可以看作是在一个组织中决定网络安全策略的一群人,由他们来决定给这个组织中的哪个人发放网络上的电子身份证书。

----从物理的角度来看,护照发放机构是安全的、权威认可的纸质证书的制造者,他们有专用的设备以特别的方法安全地把一个公民的各种信息,包括姓名、照片、出生年月等“封装”在一起,这样要不留痕迹地对护照进行修改就极为困难了,因此,检查护照的人可以确认护照的完整性。

----同护照发放机构拥有专用的设备一样,CA有一个计算平台以及电子密码的密钥,可以用于为网络用户制造和验证安全的电子“证书”,而证书的真实性和完整性是通过CA用私钥签名得到的数字签名来保证的,用户利用CA确认的公钥来验证证书上的签名。

----护照发放机构必须物理上防止有人接近他制造护照的设备,以确保护照的真实性。类似地,CA签名用的私钥也必须小心保管以防止别人接近,私钥的使用要获得CA内高层可信任人员的同意。我们可以看到,比较合理的情况是,一个CA管辖的范围是与他的组织行为中的权利范围相对等的。

----CA发放的是证书。一个网络用户的证书可以看成是其护照的电子等价物。证书同样包含有可以验证持有者身份的安全信息。例如,证书中有持有者的姓名。用户证书中最关键的一条信息是他的公钥。证书中的公钥用来为证书的持有者加密数据或通知对方验证持有者的数字签名。

----既然关系到信任,证书就涉及到两个很重要的问题。第一个相关的问题是,怎样保证证书的信息是安全的,即一个人怎样才能相信证书中的姓名和公钥确实属于证书的持有者。事实上,如果不能保证这个层次的信任成立,就没有人能保证他是在为某个特定的人进行数据加密,或验证特定的个人数字签名。

----要人对封装于证书中的用户公钥和其他信息(主要是姓名)之间的关系建立起信任,CA利用他的签名私钥对证书的信息进行数字签名。CA的数字签名提供了3个重要的因素,以满足对证书的安全和信任的要求。首先,通过定义,我们知道,证书上一个有效的数字签名是证书完整性的保证;其次,CA是唯一可以使用其签名私钥的实体,验证证书上的签名可以确信该证书是由特定的CA发放的;第三,同样,因为只有CA可以使用其签名私钥,CA不能否认其对证书进行的签名。

----既然CA的数字签名保证了证书的安全,和证书的信任有关的第二个问题是,CA本身是否值得信任。用护照的情形相对应,可以看成是个人对护照发放者的信任。例如,一个B国的公民进入A国,他呈上一本B国护照机关发放的合法的护照,海关的人员就要评价一下B国的护照机关是否是可信任的。为了得到结论,A国的海关人员很可能要参考一下A国目前可信任国家的名单,这个名单可能是由边界管理委员会内部的高层政策小组来决定的。

----两个CA安全地交换密钥信息,这样每个CA都可以有效地验证另一方密钥的可信任性,我们称这样的过程为交叉认证。事实上,交叉认证是第三方信任的扩展,即一个CA的网络用户信任其他所有自己CA交叉认证的CA用户。

----从技术的角度来看,交叉认证要制造两个CA之间的交叉证书。当CA“甲”和CA“乙”进行交叉认证,CA“甲”制造一个证书并在上面签名,这个证书上包含有CA“乙”的公钥,反之亦然。因此,不管用户属于哪一个CA,都能保证每个CA信任另外一个,也因此,在一个CA的用户通过第三方信任的扩展可以信任另一个CA的用户。

----安全地交换密钥信息本身没有什么,就其引发的技术处理细节远没有处理交叉认证的问题多。由于交叉认证是第三方信任的扩展,因此对每个CA来讲,最重要的事情是要能完全适应其他的安全策略。我们还是回头参考护照的情况,如果一个国家没有事先对另外一个国家的护照制造和发放的策略进行调查,就声称他信任这个国家的护照,这几乎是不可能的事情。譬如,在建立信任关系之前,每个国家都会希望了解其他国家在发放护照之前通过怎样的过程细节来验证一个所谓公民的身份。CA的交叉认证也会产生同样的问题。譬如,在交叉认证之前,两个CA都会去了解对方的安全策略,包括在CA内哪个人负责高层的安全职责。同时,还可能要两个CA的代表签署一个具有法律依据的协议。在这些协议中会陈述双方需要的安全策略,并签字保证这些策略要切实实施。

直接信任
----两个个体之间建立起来的信任关系称为直接信任。与第三方信任的无须两个个体有个体之间的关系相反,直接信任在相互交换安全信息之前,一定存在个体之间的关系。如果在物理世界中已经存在着个体之间的相互信任关系,并且一次交互涉及到的个体数目很少,则直接信任是很方便的。在网络安全中,如果两个没有建立相互信任关系的个体,又不隶属于同一个组织机构,换句话说当两个从不同的CA来的个体要进行安全通信,而这两个CA之间没有交换密钥信息(不能交叉认证)时,这时也需要直接信任。因为这些用户各自的CA没有通过交叉认证建立信任关系,用户必须在个人的基础上建立信任关系。在这种情况下,如果没有直接的个人之间的信任,密钥信息本身就是不可信的,那么再交换信息毫无用处。直接信任用于安全通信时,保证双方的个人信任层次的响应完全是双方各自的责任。

----一旦存在了直接信任,这种建立在私人关系之上的个体间的密钥交换就为确保安全通信提供了一种有力的机制。

公钥框架结构中的信任
----利用公钥框架结构可以在网络上发电子邮件以及在其他电子手段的引导下,交换信任的管理。信任维护所基于的两个基本点在于,一是证书本身的内容是可信的,二是在参与各方所构成的环境中安全保障措施在起作用。这两点来自于,在信任交换的商业目的实现过程中对风险的控制,这也正是证书策略中所涵盖的。因此,网络应用的安全性依赖于这样一个过程的完成的程度和质量,即在高层从与密钥相关的商业意图中抽取得到证书内容和安全保障措施的过程,这要借助于每个参与者、所依赖的团体以及权利认证机构的证书策略和安全策略。

----在讨论公钥框架结构的信任管理之前,需要进一步对“信任”给出一个比较好理解的定义。在X.509中,是如下定义信任的:“通常来讲,一个实体设想另一个实体的行为会是他所期望的,则可以称为第一个实体是信任第二个实体的。”(Generally,anentitycanbesaidto“trust"asecondentitywhenit(thefirstentity)makestheassumptionthat
thesecondentitywillbehaveexactlyasthefirstentityexpects.)

----当然,第一个实体所做的假设只是针对在一个相关范围内第二个实体的行为而言的,因此他们之间的信任关系也仅仅限于这个范围。对信任的背叛与简单的入侵是不同的。当事人之间不同类型的信任关系获得的保证也不相同。基于公钥技术下的信任关系就是要确保另一方实体身份描述的真实性以及双方实体许诺事项在法律上的可执行性。

----信任是一个建立已久的观念,随便我们能举出很多传统信任关系的例子,譬如,银行和银行客户之间、老板和雇员之间、政府和市民之间、媒体和订阅者之间、行业协会和会员之间等等。传统的信任关系是建立基于公钥技术之上的信任关系的最主要的基础。

----在公钥技术领域,要建立信任关系,对第一个实体来讲,一个必需的步骤就是在第二个实体那里引入一个公钥,并对其他的实体确保存储或通信的完整性。引入公钥的实体,由于其意图在于“依赖”公钥来保护他与公钥持有者之间后续的交流。

----任何一个实体都可能同时既是信任方,又是被信任方(公钥持有方)。为了简单起见,在本文的讨论中把这两种角色截然分开。

----为了避免在两个当事人之间造成混乱,公钥密码的引入操作必须遵循一定的方式,以保证公钥的真实性、完整性和清晰性,这里真实性和完整性是指公钥一定是来自确定的持有者、一定能收到并且中间没有被修改,而清晰性是指信任方对公钥认可的使用方式的理解必须和公钥持有人的理解是一样的。这些安全特性只有通过已经存在的、能够达到必须保证的信任关系才能得到承认。从中,我们可以明白一件事情,即没有物理上已经存在的信任关系或约束关系是不可能凭空在数字世界中建立起一个信任关系。进一步讲,现实存在的信任关系只有经过资格审查和组合才能形成具有新的特性的信任关系。因此,我们在这里所关注的是如何基于公钥技术、利用已经存在的传统信任关系作为工作的起点,通过什么样的方式建立具有期望特性的信任关系。

信任与风险
----如果公钥持有者没有按期望行事,风险会自然伴随着信任方而来。举例来说,在基于公钥的信任关系中,可能有的风险有:

----·与公钥相关的身份描述不正确或是容易令人误解;

----·公钥持有者的私钥被其他实体获得;

----·公钥持有者一向不被怀疑的特权最近被削弱或出现问题;

----·公钥持有者有很大的权利不受他签名的限制,甚至反悔而不按信任方期望的行事;

----·公钥持有者没有充分保护委托给他的安全信息的机密性;

----·其他。

----对个体之间的行为,信任方与密钥持有的团体之间有着密切、长期的关系,在这种情况下的风险分配,信任方可以估计出他所承担的风险,并决定是否接受。但是,在电子商务中,信任方可能没有资格来评估风险、或者评估后选择不接受。在这种情况下的风险,其自身是不能有效排除的,且一旦出现失败,会伤害到当事人,这时,他可能会试图依赖外部的可信任机构。

----风险管理有很多策略:

----最小化:即降低发生失败的概率,为了使风险最小,风险承担方在可行的范围内尽量降低能造成失败的事件发生的概率。换句话讲,为了避免造成失败事件的发生,各方都要尽量按照对方的期望(也是协议的规定)行事。

----·避免或牵制后果的发生:如果一方的期望没有达到,另一方会尽可能地降低因此产生的重大经济损失。譬如,泄露密钥持有者的密钥是对信任方的一种背信弃义的行为,但是如果密钥持有者在信任方受到伤害之前通知信任方,则受到的仅仅是名义上的损失。

----·承担剩余的风险原因:通常,要经济有效地把造成失败的发生概率降为零是不可能的,因此剩余的风险是必须承担的,这种风险一般是分散在一个很大的风险承担的团体中,也因此在财政上讲,这时的风险是一笔固定的、可以预算的开支,而不是不可估计的失败概率。风险的分散可能随时随地发生,因此,同地理、团体等因素一样,货币的时间价值也与此相关。

----信任方和密钥持有者所采取的安全措施要放到公钥应用所要达到的特定商业目标所构成的环境中进行评价,如果剩余风险是不可接受的,则必须对选择的安全措施进行调整。

----我们并不是想建议安全措施的选择要在文字上遵循这样的过程方式,事实上,这样的过程需要进行大量的判断和实践。

----与选择适当的安全措施这一问题相独立的另一个问题是“保证"。即,如果各方完全执行采取的安全措施,就会把期望的商业目标的风险降低到可以接受的程度,因此需要各方保证安全措施在各自的环境中以及外在的环境中都得到切实完全的贯彻执行。在交易中,信任方基本上是可以根据传统的信任资源确定一个可信任的第三方来帮助他承担风险,适当的资源可能包括雇主、银行、医生、政府等,但并不仅限于这些。

----可信任的第三方,通常也就是现实世界中的认证权利机构了。本文暂时不讨论到底什么人适合认证中心,认证中心是否对所有的应用是适合的。本文只是简单地从事项上看,一旦依赖或信任认证机构,这时的密钥持有者就被称为用户,这是因为,有些时候,密钥持有者会有选择地认购一种认证机构的服务。一旦我们越来越依赖电子商务系统,认证机构就需要接受信任方非常严格的风险评估。一个与用户群体有着长期密切关系的的认证机构,能更好地获得信任,在注册和控制那个群体的行为中减小相关的风险。为了把直接控制之下的事件风险控制在可接受的范围内,认证机构将不得不重新分配他们确实直接控制的各方与其他事件相关的那部分风险,如用户和信任方。大家都经常说信任是不可以传递的。然而,在目前的很多系统中,非常清楚信任是可以传递的:信任方信任认证机构,认证机构信任用户,因此,信任方信任用户。但是,无论如何,如果这种信任链过度地延伸,信任就遭到了稀释。每一次交易会对一方产生一定的风险,因此风险随交易次数成比例加剧。如果一个群体的每个成员都按相同的频率进行交易,则集聚的风险与群体的大小成等比,风险随群体的大小在增长。风险管理比单纯的技术考虑更加严重影响对规模的限制。通常,一个单一的信任方在他生活的不同方面的不同交易依赖不止一个可信任源。

----有四种可用的机制可以把信任方的一部分风险转移到用户或认证机构身上:

----·现有的公共法规,如法令条例、规则、诉讼制度,以及其他政府发布的规定。虽然现在还没有公钥框架结构下风险分担的规定,但有相关的消费者权益保护法以及相关的商业欺诈等规定。

----·数字签名法案,目前在我国还没有这样的法案出台,在美国也是今年7月份克林顿总统才签署了这个法案。不过在此之前,美国的大部分州已经通过了数字签名的法案,在我国,也应该只是时间问题。

----·直接控制。

----·合同,是在任何情况下澄清所分担的责任所必需的。但是,如果不使用标准的条款,合同是很难起草、协商和完成的。

----信任方更愿意信任那些与用户群体有着密切的或直接的、长期的关系的认证机构,这也是人之常情。而在认证权利机构上建立认证中心有明显的优点。因此,建议建立在具有明确组织行为和职责基础之上的网络信息应用,一定要按照现实世界存在的模式来建立数字的信任关系和隶属关系,这里的“建立”一词更准确地讲应该是“迁移”或“映射”。

证书及安全策略
----证书是交换信任关系的载体。不同的网络应用在发放证书时需要提供的资料是不同的,这些资料的内容与应用要达到的目标是密切相关的,证书策略与商业目的相关,而安全策略与安全防护相关,这两部分通过风险管理过程密切联系起来。通常,安全策略比证书策略要细致得多。在为特定的目的选择合适的防护策略时,与此相关的一个问题是要保证防护措施必须是可以有效应用的。证书策略和安全策略的程序化实现是通过对实际的流程、信息等进行“数字化”建模等的过程来描述和最终实现的。值得提请注意的是现实中存在着这样的策略,如一个发放身份证的机构有他发放的策略,这个策略已经是对其安全考虑的一种抽象了。

总结
----网络世界中个体之间的关系几乎与现实的物理世界中没有任何的差别,一个个体在现实世界中与其他个体进行交互时要考虑的安全方面的东西,只要在网络环境中都考虑到了,就基本上没有什么问题了,即你会承担你可以接受的、与物理交互对等的风险。为什么这样讲呢?因为你是可以将两者一一对应起来的。举例来讲,你的朋友要通过信件与你交换一些保密的消息,他会在写好信后签上他的名字,并仔细封好信封,并把信件交给一个放心的邮递公司,而你接到这封好朋友寄来的写有保密信息的信,你会检查一下信封完整与否,拆开后再看看是不是对方签的名等等。在保密的电子邮件中,这些过程也是一样,只是“信封”和“签名”的形式不同罢了。一个完全不懂网络信息安全的人,只要按照他在现实生活中同等情况下的安全常识和安全要求(注意是有条理的而不是感觉),就可以对信息安全产品和解决方案作出比较客观和准确的判断,这没有什么神秘。至于如何更加自然地达到这样的目的,这就让专业研究和开发人员去伤脑筋吧。

推荐本文给好友 我要投稿>> 进入信息化BBS论坛

关闭本窗口
 
世纪科创电脑系统有限公司版权所有