您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机安全中的认证问题
1计算机安全中的认证问题王成远19915040概要:认证是计算机网络安全中的重要问题,它是正常进行电子商务等活动的重要前提。为保证安全,人们对认证标准进行了很多讨论,本文对其中的一些问题进行了详细说明。关键词:网络安全认证标准一.可接受的认证度量在大范围网络系统中众所周知的一种认证技术是使用一条委托仲裁路径,网路上每个实体可认证该条路上的下一个。最近人们已发展这项技术使之支持多路认证,但面对交叉路径、证书歧义性和不同钥匙使用的互相依赖性,该技术的成功应用还不明朗。因此有人提议建立度量来评价多路认证的置信度。这里提出了一系列指导原则来设计这些度量,并说明以前的途径关于这些度量的不足及认证结果该是怎样的。然后提出建立满足这些原则的度量方向,只有这样才能建立满意的认证标准。1.1简介确定公钥的所有者或确定用户的公钥,是在任何大规模开放的系统中安全的进行事务处理的一个基本要素,由于在具有多种不同管理领域的系统中缺少一个单独的授权认证机构来提供这种信息服务,许多系统(如DSSA,SPX,PEM,PGP)求助于通过一条路或链的认证机构。在这种模型里,用户可查出一系列的认证机构来:(1)验证该路上第一个认证机构;(2)每个认证机构可以验证该路上下一个认证机构;(3)该路上最后的认证机构是目标人或感兴趣的关键所在。若用户相信该路上每一个认证机构,他会相信得到了一个正确的名字—钥匙关联。但这种认证方式有弱点:它依赖于该路上每个认证机构都是正确的,若该路上任何一个认证机构发生错误认证,用户会被误导。提高目标认证保证的一个自然方法是使用多条路,但多路提供的保证可能是不清楚的,特别是当存在共有的认证机构或认证机构互相关联的时候。结合认证机构的结论含糊性和看待谁在实际制造结论的含糊性,有置信度认证的完成会很困难。一些研究者因此提出度量多路提供置信度的尺度。例如:经过多路认证后返回一个数值:数值大则表明这些路支持的名字—公钥关联(对目标名字或公钥)有更高的置信度。在X.509证书中支持度量的扩充已被提出。基于不同度量的鉴定,这些度量的标准还没有广泛达成一致。一些认证度量(只关心名字—公钥关联的置信度)的设计规则:它们主要集中于三个领域,即度量输出值的意义、在何种程度上度量输出可被恶意行为操纵、在实际中有效使用度量的展望。1.2已提出的度量尺度概览先介绍两个概念:实体:它拥有并使用密/公钥对。如:一个人、认证服务器或认证机构;用户:他们应用度量来得到名字—钥匙的关联保证。几种度量方式:Beth-Borcherding-Klein:信任关系以有向图方式表达。图的节点是实体。图中有两种类型的边:一种是“直接边”(directedge),直接边A→B意思是A相信它可以验证(即含有B的公钥)B,另一种是“推荐边”(recommendationedge),推荐边A~B代表A相信B可以验证别的实体或推荐别的实体来验证或其它推荐事项。每一个推荐边或直接边以[0,1]之间的值相关联。A→B的情况下,该值表示A确实掌握B的正确公钥的概率,A~B的情2况下,该值表示A作为推荐者相信B的概率,高值代表更高的信任程度。Maurer:以有向图作为输入,图的节点是实体,同样有两种不同边——-直接边和推荐边。但此时A→B意思是:评价该度量的用户掌握由实体A发布和签名的带有B的公钥的证书,类似的,推荐边A~B意味着用户拥有被A签名的B的推荐。每一个推荐边或直接边以[0,1]之间的值相关联,称为确信参数,它被产生边的实体赋值。如果用户A想要用户B的公钥,该度量计算该钥匙是B的公钥的置信度,使用指定边的信任参数。Reiter-Stubblebine:以有向图作为输入,图的节点是公钥(实际的公钥,没有对任何实体的引用),边K1→K2代表评估该度量的用户有一个由密钥K1签名(即K1可被用来确认签名)所对应的一个证书,该证书分配属性给K2,其中与K2关联的属性表明K2的所有者,并作为标志包括在边K1→K2。没有其它值与边和节点关联。Reiter和Stubblebine研究了两种有关的度量,每个度量输入上述有向图、用户希望认证的钥匙(目标钥匙)、用户信任的钥匙(源钥匙,如他自己的)和考虑路长度的范围b。第一个度量返回从源钥匙到目标钥匙最大长度为b的点不相交的路的最大集合,第二个度量返回整数k和从源钥匙到目标钥匙的一系列最大长度为b的路的集合,其特点是k个节点被移去(破坏)才能破坏所有的路,k是使这样的路存在的最大值,称为从源钥匙到目标钥匙的连通度。若坚持这些度量返回数字输出,则在路不相交的情况下返回不相交路的个数,其它情况下返回连通度。Zimmermann:把Zimmermann作为度量归因于它使用了PGP——最流行的公钥管理系统之一,它的有向图类似于Reiter-Stubblebine的图,节点是公钥,边K1→K2标有属性值,代表关联这些属性到K2并被K1证实的证书。不同之处是用户赋以每一节点一个信任值,分别是:不知道、不信任、部分信任、完全信任。PGP以下列方式计算每个节点的合法性:首先宣布合法节点K0代表用户钥匙,任何节点K,使得K0→K是图的边,然后重复下面的步骤直到没有钥匙能被确定是合法的。如果有一些节点K满足(1)从合法的完全信任的节点有一条边到K或(2)从两个合法且部分信任的节点有一样标记的边到K,则K被认为是合法的。需要从完全或部分信任的节点引出的边的数目可被调节,但一或两条是缺省的,分别的。实际上,节点合法性的确定被分派到节点的信任值所交织,即一个信任值被分派到一个节点当且仅当它被确定是合法后,这样它的所有者被假定知道。1.3设计规则把规则分成三个范畴:度量结果的意义、度量对实体错误行为的敏感性、度量的实际成效。下面分别叙述这些规则。1.3.1度量结果的意义规则1:建立应用度量的模型应该不要求用户推断钥匙和它们主人的关联,特别的:当描述模型中的证书时,实体不要对证书签名,而由钥匙做这件事;建立该规则的动机一是建立名字—钥匙的关联是困难和易错的过程,否则就不需要度量了;Maurer模型达不到这一点。同样在Beth-Borcherding-Klein模型里,节点是实体,用户为了安全的对边A→B或边A~B赋值,必须验证该值从A而来,假定认证秘密进行,仍要求用户能决定可认证A的钥匙。第二个动机是建立被单一实体签名的证书隐藏了实体用于签此证书的钥匙:被同一实体所拥有的不同私钥签名的不同证书会导致描述证书时的模糊性。规则二:模型参数的意义应该是非歧义的,特别是将它们应用于模型中并使用它们的概率意义和信任值的时候;规则三:度量应该考虑更多有关用户想要做出的有关认证决定的信息;规则四:度量输出应该直观,应该能用直观的自然语言描述输出含义;1.3.2敏感性3下面讨论实体非正常操作对度量灵敏度的影响:非正常操作指一或多个实体用欺骗手段来控制度量输出来提高用户在认证中的置信度。如果攻击者能够增大度量输出使之达到应用可接受的认证,则该度量并没有达到服务目的(会误导用户)。为解释这一观点,下面说明Beth-Borcherding-Klein对非正常操作过度敏感。实际上,该度量的一个特性是单个非正常操作的实体能够随心所欲的提高或降低度量的结果。为说明这一点,有必要检查一下计算Beth-Borcherding-Klein度量的规则:假定实体A想要认证B(确定B的公钥),Beth,etal提出并证明以下规则用于计算A(基于连接A和B的边)认证B的总“分数”。如果有路A~…~C带有推荐值V1,推荐边C~D带有值V2,那么A~…~C~D带有推荐值V1*V2。如果有路A~…~C带有推荐值V1,直接边C→D带有值V2,那么A~…~C→D带有直接信任值1-(1-V2)V1。若对1≤i≤m,有ni条不同的路从A到B并以边Ci→B结束,带有直接值Vi,1,…,Vi,ni,那么结合的直接信任值是Vcom(A,B)=1-Πmi=1(∏nij=1(1-Vij))1/ni下面举例说明上述规则会产生前述问题。如图一:从规则1和2,路径A~C~F→B,A~D~G→B和A~E~G→B得到直接信任值0.204、0.173和0.765。结合这些并由规则三可得到Vcom(A,B)=0.649。现在考虑图二,由于D的非正常操作,D产生另外的路从A到B经过H、I、J,这样D产生可改变的度量输出,从A~D~H→B得到0.821,同样对于A~D~I→B和A~D~J→B。由规则三产生Vcom(A,B)=0.998。这说明一个非正常操作的节点能使输出接近它选择的值,并完全影响结果。图一图二由此导出:规则五:度量应被设计成有弹性的以便控制被非正常操作的实体,它对不同形式非正常操作的灵敏度影响应该是清楚的;1.3.3度量的实际成效规则六:度量的可用性不应该依赖于隐藏从用户那里得来的和认证相关的决定;规则七:度量应该能被有效计算;规则八:度量对部分信息的输出应该是有意义的。1.4更好的度量为满足上述规则,提出一个度量,它基于名字----钥匙关联保险的概念,希望它能适合很多商业应用。该模型仍是一个有向图,象Zimmermann和Reiter-Stubblebine度量那样,图的节点是公钥。边K1K2在模型中存在,如果用户拥有证书对K2赋以属性且其签名可用K1验证。每一边用在证书中包括的属性值标记。每边K1K2也有数值标记代表K1的所有4者为K2的属性和行为保险的金额。即若在证书中与K2关联的属性错误,或与K2对应的私钥被用来误导用户,K1的所有者将对用户负责所付的金额。特别的,如果与K2对应的私钥被损害并被有敌意的使用,K1的所有者将负责规定的金额。实际上,若基于K1验证的证书发生对K2的错误认证,或K2出现错误行为,K1的所有者将会为用户负赔偿损失的负责。边K1K2的保险标记必须从K1的所有者处以可靠的方式得到,因此很自然该值将被存储在边K1K2代表的证书中,注意到没有要求用户确定K1的真正所有者,这与定律1一致,确定了K1没被破坏。实际上,K1可能被破坏并被用来伪造K1K2的证书,包括它的所有属性和它包括的保险数额。但在这种情况下,不管谁为K1保证都将负责,这可沿任一条路回溯,即从任一个可信任的源钥匙到目标钥匙的路,若K1K2是该路上第一个有责任的边,即:第一条边其上的属性值不正确,证明钥匙K2非正常操作,则K1的所有者将负责任。在实际中,确定哪条边是路上第一条责任边的规则需被建立,假定这样的确定可被产生。获得错误的针对目标钥匙的名字—钥匙关联暗示每一条从源钥匙到目标钥匙的路必须有一个初始责任边,一旦这些边被标识,产生这些边的钥匙所有者将要为它产生的每个有责任的边的保险金额负责,一个自然谨慎的度量是目标钥匙的名字—钥匙关联的最小保险额,即以所有可能的方式选择从可信任的源钥匙到到目标钥匙的有责任边的交织中,用户期望赔偿的最小金额是多少?使用图论中的工具可以精确得到这一数值。令Ks表示可信的源钥匙,Kt表示目标钥匙,对每一边KK,令边的容量为c(K,K),它代表该边的保险金额,对不存在的边KK,令c(K,K)=0。一个Ks,Kt-cut代表将图的节点分成两个部分A,B使得KsA且KtB,Ks,Kt-cut(A,B)的容量表示为c(A,B),它只是从A到B的边的总容量即c(A,B)=ΣKA,KBc(K,K),则Ks,Kt-cut的最小容量是所有Ks,Kt-cuts的最小容量的分割。总之,该度量用有向图表示,可信任的源钥匙Ks和目标钥匙Kt作为输入,返回名字—钥匙关联的保险数值,这通过计算Ks,Kt-cut的最小容量实现。以上是对认证度量的一些简单介绍。二.分布式目标系统的认证体制分布式目标系统的保护问题非常重要。这里提出一个新的认证体制,它基于一个中央认证服务器和位于系统各个站点的安全内核的合作;描述了一个新的信息流动权限管理途径,它基于新的信息流动权限和特权授权体制。这种认证体制适用于不同的安全保险级,包括诸如Bell-LaPadula的多级保险。介绍了针对分布式对象系统Bell-LaPadula模型的扩
本文标题:计算机安全中的认证问题
链接地址:https://www.777doc.com/doc-1269117 .html