数字图书馆服务信任协商的框架与模型_数字图书馆论文

数字图书馆服务信任协商——框架及模型,本文主要内容关键词为:框架论文,数字图书馆论文,模型论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

【分类号】TP391.1

1 研究背景

面向开放的基于Web Services的数字图书馆服务环境,任何一个数字图书馆服务实际上都可能是用户数字信息服务流程的组分,可能被用户动态地、个性化地调用并集成到自己的业务流程之中[1]。这时,用户可能没有意识到其过程调用和集成了多个自主的可能需要“私用”(Private or Proprietary)认证授权的数字图书馆服务应用,原来那种要求用户必须事先专门注册的系统环境显然不能适应这种开放灵活的组合服务的要求。因此,需要一种灵活可靠的机制,在保护数字图书馆服务的安全和合法利益的同时,保证未经事先注册的用户对所发现、所需要的各种数字图书馆服务的流畅利用。

本文的目的在于研究数字图书馆Web服务动态调用和集成过程中,对用户与被请求服务之间进行信任协商的机制、功能模型。由于数字图书馆服务都需要占用一定的资源(例如实时参考咨询的人力投入、集成检索的系统运行资源投入、文献传递的人力和复制成本等),部分资源和服务还受知识产权保护的限制,部分服务还需要保证质量和安全,所以只有事先经过许可的用户才能使用指定的服务。这些许可往往通过一定的身份认证机制来鉴别(例如注册、IP地址检验、电子证书等),获得许可的用户才是“可信任的”用户,才被授权获得指定的服务。在数字图书馆服务动态调用和集成环境中,用户发现需要调用和集成的服务可能是用户事先没有获得“许可”、没有“被信任”的服务。为了支持数字图书馆服务的动态调用和集成,需要能够利用用户的相关信息(例如用户已获得信任的服务的信息和用户在已获得信任的服务上的信任信息),分析判断对于被调用的服务来说用户的可信任度,从而动态地“许可”(当然也不排除“拒绝”)用户对这个服务的调用和集成。这种分析判断可由被调用的服务和用户已获得信任的服务之间通过传递信息来实现,本文称之为信任协商。

1.1 研究意义

在分布式环境下,有多种数字图书馆服务存在。Web Services机制为动态集成提供了基础框架,通过提供独立于平台的自动化的应用程序逻辑单元,通过描述、发布、发现、绑定的逻辑过程,并附加工作流程或处理流程,以达到动态集成服务的效果。但是,在服务发现和绑定过程中,为了保证服务的可靠获得(Reliable Access)、最佳匹配(Best Match of Capabilities)和最佳服务质量(Best Quality of Service),服务提供方和请求方需要就一些特定的问题进行协商(Negotiation)。如何在多个可供选择的Web服务中选择最适合其需要的那一个(常规情况下要求该服务稳定、安全、且能提供最高性价比),正是协商所想要回答的问题。在这些问题中,一个突出的要求是认证与授权的协商。由于数字图书馆的重要服务是对数字资源的检索、传递以及在此基础上的相关服务(例如实时咨询、动态交互教室、个性化定制等),而这些服务往往由于知识产权保护的要求,对认证和授权有严格的要求。在合理的知识产权保护的前提下,通过协商机制,智能化地帮助人们发现、选择、组合和绑定可以可靠利用和可以集成的合适的资源,形成流畅的集成环境(而不是每一步都需要重新认证或授权),是数字图书馆集成服务的重要问题。本文期望通过对协商机制的理论研究,探讨基于Web服务的数字图书馆资源与服务的自动或智能支持的动态集成。

1.2 研究现状及问题

信任协商问题在电子商务[2-4]、安全与隐私[5]、决策支持[6-8]、人机交互等领域都有较多研究,信任协商的内容则主要是身份、属性及其证明[9-19],国外已有一些处于实验阶段的研究成果[20]及原型系统[21-30]。但目前还没有相关的标准规范和成熟的研究成果,对开放环境下支持未取得先验信任的用户灵活调用所请求服务的信任协商机制还缺乏实际的讨论和实验。

在数字图书馆服务动态调用和集成环境中,用户所发现并需要调用或集成的服务可能是用户事先没有获得“许可”、没有“被信任”的服务。为了支持数字图书馆服务的动态调用和集成,需要能够利用用户的相关信息(用户已获得信任的服务的信息、用户在已获得信任的服务上的信任程度等),分析判断对于被调用的服务来说用户的可信任度,从而动态地“许可”(当然也不排除“拒绝”)用户对这个服务的调用和集成。这种分析判断可由被调用的服务和用户已获得信任的服务之间通过传递信息来实现,本文称之为信任协商,其中存在的主要问题是:

(1)多数情况下要在“所调用的服务”事先注册。

(2)即使有认证联盟也必须是事先建立的,超出事先确定的联盟就无法进行信任协商。

(3)不能利用间接信任关系,不允许信任传递,无法考虑多重或不同信任路径的信任度计算与比较。

(4)即使有层次认证(或第三方认证),也需要统一的技术标准和复杂的过程控制。

(5)现有的认证协商没有考虑根据使用的具体要求(使用情景—Use Context)和用户在被信任系统中的信任程度,计算最终信任度以及可提供服务的程度。

2 研究框架

在开放、分布的Web服务环境下,各个系统和系统之间可能存在(或可以建立)一定的信任关系,尤其是在一个领域内的公共服务系统之间,往往存在着一定的合作关系,从而隐含或者明确地表现为一定程度上的相互信任。本研究依据社会信任网络关系(Trust by Friend-of-Friend Relationship),将这些相互合作的服务之间的信任通过伙伴服务关系显性化,利用用户与一个伙伴服务的信任关系,通过目标服务与它的伙伴服务之间的信任协商,在不要求专门注册的情况下,计算事先未取得目标服务信任的用户(陌生用户)与目标服务的信任度,从而为用户动态调用目标服务提供了可能。

2.1 社会化的信任协商过程

本文以社会化的信任协商过程为例,分析在社会化的环境当中人与人之间建立信任及协商的过程。

假设:某一天甲有位事先并不认识的客人丙拜访,在简单的问候之后,丙提出想在甲的家中借宿,并说他认识甲的朋友乙,而且和乙也是朋友,因此存在“朋友的朋友也是朋友”的关系,显然这种关系(如果真实存在)对于提高甲对丙的信任程度是有帮助的。但是,由于甲和丙之间并没有事先独立建立的信任关系(事先不认识),甲是否答应丙的借宿取决于3个因素:甲对乙的信任,乙和丙之间的信任程度,甲对乙和丙之间信任程度的信任。如果甲乙二人交情一般(彼此并不完全信任),即使是乙向甲提出借宿的请求,甲都可能不同意乙寄宿在其家中,所以甲更不会同意乙的朋友丙借宿在家中。如果甲非常相信乙,则还要看丙与乙的关系,如果他相信丙与乙相互非常信任,那么甲就可以相信丙。因此,甲→乙、乙→丙之间的信任关系,以及甲对乙与丙之间信任关系的了解,就成了甲建立与丙的信任关系的条件。甲寻求证据去了解这些信任关系(例如甲打电话去问乙),或者丙提供证据来说明自己与乙的信任关系(例如拿出一张双方家人一起渡假的照片),这就是信任协商。如果乙在电话中告诉甲,丙确实是他的朋友,但关系一般,则甲可能不会允许丙的借宿请求,但看在简单的朋友关系上可能为丙寻找旅馆或者请丙吃饭。

甲如果不能明确自己和乙之间的信任关系,又不能确定乙和丙之间的信任关系,甲对丙的信任就蕴含了风险。但是,如果甲对乙的善意、能力和道德操行的正面的判断(信任)达到了很高的程度(例如乙曾经拯救过甲的事业,抢救过甲的生命,或者双方从父辈起就是发小,且像兄弟一样互相依赖互相帮助),这时的信任非常强烈,而且往往牵涉更多的情感因素和影响。这时即使甲对乙与丙之间的信任关系不够确定,甚至对丙这个人也有些不喜欢,但基于对乙的信任,甲也许愿意冒一定的风险允许丙借宿,也就是说即使在常规的计算基础的信任条件下不该满足的条件也可以被满足。

从这个例子可以看出,在社会化的人际关系网络中,信任至少具有以下特点:

(1)传递性:信任一个人,也就会或多或少地相信他所信任的人。

(2)可组合性:一个人可以根据多个信任关系来决定对具体对象的信任。

(3)个人化或非对称性:在社会化的信任关系中存在个人化的特点,信任可能是单向的,也可能是双向的。

(4)可计量性:甲对乙的信任和甲对丙的信任显然不同,但是能够通过对信任特征的收集和分析来计算甲对丙的信任。

(5)情景相关:对某人的信任是和其具体要求的“服务”是相关的,和当时的条件是相关的,和“服务”可能带来的风险是相关的。

(6)风险:任何信任都存在一定风险,人们是否愿意接受信任风险、愿意接受多大程度的信任风险,取决于人们之间的信任关系和这些信任关系的性质。

2.2 信任协商的模型

从社会化信任的例子参考建立本文最基本的信任协商的概念模型。通过伙伴的伙伴的信任关系传递对第三者的信任信息。

(1)信任协商的基本模型

参考上述的社会化信任协商的过程,将其中关于信任协商的过程抽象出来,根据社会化的信任协商的实际过程构建信任协商的基本模型。

在整个协商过程中,有3个参与者,分别是服务者、请求者和伙伴服务。当请求者向服务者提出请求服务的请求之后,服务者会先进行检查并决定请求者是否是自己认识的,如果认识,当然接下来的服务请求就顺理成章了,但如果服务者不认识请求者时,就需要一个介绍人(伙伴服务)来负责为双方信任的建立搭建桥梁。通过伙伴服务与服务方和请求方的信任关系来构建一个新的基于计算基础的信任架构,并为服务方和请求方建立新的信任关系并最终形成新的信任网络。在整个过程中,要考虑这些关系:服务提供者要考虑服务请求者所需要获得的服务;服务提供者与伙伴服务之间的关系;服务请求者与伙伴服务之间的信任关系。

上述的基本模型根据日常生活中常见的信任协商的流程建立。当然,生活中信任协商的真实案例并非这样简单。更复杂的情况是在循证的基础之上,即使双方没有共同的朋友(伙伴),也可以通过朋友的朋友经多重渠道的循证来建立相互之间的信任。

(2)信任协商的扩展模型

根据上述模型,可以对传统的双边信任模型进行扩展。这时,服务请求者和服务提供者之间仍然没有直接建立信任,但服务提供者可以向其伙伴服务提出循证的请求,通过建立通向服务请求者的信任路径来完成对服务请求者的信任判断及相应授权(或拒绝)。在寻找信任路径的过程中,可能产生几种情况。

①对于服务提供者,没有找到可以证明请求者身份的伙伴服务,服务提供者无法通过协商来建立对请求者的信任关系,服务请求者与被请求服务的协商授权失败,用户必须注册(实质上是专门建立信任关系的程序)方能访问所需要的资源或者服务。

②服务提供者可以找到自己信任的一个伙伴服务,该服务能够证明该用户的身份,并提供用户在其系统内的授权信息;服务提供者可以利用这些信息,根据自己对伙伴服务的信任和对请求者所请求服务的风险等的判断,决定是否授权这个“陌生者”用户使用所请求的资源。

③服务提供者没有找到直接能够证明该用户身份的伙伴服务,但找到一个伙伴服务,它可以提供另一个伙伴服务,可能能证明该用户身份、并提供相应授权信息。这个服务不是服务提供者的直接伙伴,而是它的伙伴的伙伴。这个“伙伴的伙伴”路径,可以看作是从服务提供者通向服务请求者的信任路径。

④服务提供者可能发现多条通向服务请求者的信任路径,而这些路径当中某些路径还有多个并行分支。这种多重多段路径的选择和判定,无疑是信任协商过程必须解决的问题。

从社会学的角度而言,朋友的朋友所能够提供的弱链接关系[31],能够带来很多有用的消息甚至是知识,但是这些消息和知识恰恰由于弱链接的因素,使得信任建立的不确定性和风险增加,需要考察信任者的信任倾向、受信者的特征、交流的经验、风险以及对结果的估计,并基于计算基础来建立首次信任。

信任协商可以在被请求服务与任意请求者之间独立进行,但在开放环境中要安全可靠地对任意请求者进行信任验证,需要复杂的假定和过程,其效率可能还不如注册认证。因此,对开放环境下的信任协商做出如下假定:

①请求者总是属于某个系统(用户系统),即被用户系统所信任。

②被请求服务与用户系统之间可能存在直接或间接的信任关系,可以依靠它们之间的信任关系对请求者进行信任协商。

③解决有限个系统之间的信任远比解决被请求服务与请求者之间的信任协商要容易得多。

2.3 相关定义

为了规范地描述上述场景和建立协商模型,这里对上述信任协商模型中的有关实体进行定义:

(1)服务:在本研究范围内,服务是指能够通过某种网络服务发现机制(例如UDDI)发现、并能通过一定的网络服务调用机制(例如HTTP、SOAP、RPC)调用的系统功能。本研究中指数字图书馆的各种服务,而且各个不同的服务之间的地位是对等的,只是在信任协商服务流程中所扮演的角色不同。

(2)用户:用户指服务需求者(可能是个人或系统),其通过某种网络服务发现机制发现并通过一定的网络服务调用机制要调用某个服务。本研究假定,这个用户是某一个服务的注册用户,并得到一定的服务授权。本文中提到的服务请求者,也是指用户。

(3)目标服务(Requested Service,RS):即用户发现并希望调用的服务,例如上述场景中的NSTL。本文中提到的服务提供方,也就是指目标服务。

(4)伙伴服务(Trusted Service,TS):即与目标服务事先建立信任协商关系的其他服务,这种信任协商关系往往包含双方可以互相请求彼此用户的认证与授权信息、双方建立必要的认证与授权信息交换格式、彼此可以利用对方用户认证与授权信息来进行自己的授权计算,但双方不一定直接接受对方的认证与授权、或者遵照统一策略进行信任度计算、或者为对方进行授权后的结果负责。

(5)伙伴服务列表(Trusted Service List,TSL):即目标服务事先建立的与自己有信任协商关系的其他服务的列表,往往包含伙伴服务名字和协商接口等。

(6)一级伙伴服务(TSL1)和二级伙伴服务(TSL2):所谓一级和二级(理论上还可以有N级)伙伴服务是从用户所请求的目标服务角度看,直接与目标服务建立信任协商关系的伙伴服务为一级伙伴服务、并记载在目标服务的伙伴服务列表中;这些直接伙伴服务各自还拥有他们自己的直接服务伙伴,记载在这些服务的伙伴服务列表中,其中一些服务没有直接与目标服务建立任何信任协商关系,称为目标服务的二级伙伴服务。

(7)本地服务(Local Service,LS):用户实际注册并获得的服务。这个本地服务可以是目标服务,也可以是目标服务的一级伙伴服务,或者是目标服务的二级或N级伙伴服务。

2.4 信任协商基本流程

信任协商流程是目标服务、伙伴服务和用户相互传递、计算和判断信息的过程,并可以根据用户预先定义的策略交互地揭示用户属性、计算用户个性化的信任度。因此,同一个伙伴服务的用户在请求同一种服务时,可能在目标服务获得不同的信任度。但这样的协商流程直接要求用户身份属性信息的参与,由于用户的多样性,解析难度加大,而且往往可能要求用户补充身份属性信息,用户负担和隐私信息安全性问题加大。因此,为了建立一个简便可行的机制,本研究主要依据用户与伙伴服务的信任关系、目标服务与伙伴服务的信任关系以及用户所请求的服务等信息来进行信任协商,从而把原来是用户与目标服务之间的信任协商简化为目标服务与伙伴服务之间的信任协商,大大减低了信任协商的复杂度,提高可实现性。

根据上述简化,信任协商流程如下:

(1)用户向目标服务提交特定服务请求,如果这个服务是不需要验证的匿名服务,则目标服务直接提供用户需要的资源。如果服务本身具有一定的风险性,或者需要消耗大量的资源,要求一定的可信度的用户(例如已经注册登记的用户)才能访问,此时目标服务向用户返回请求认证的要求。

(2)如果用户是目标服务已经登记注册的用户,即目标服务就是用户的本地服务,那么用户通过输入用户名口令或者其他的认证方式进行认证,由本地的认证查验系统TEC(Trust Enforcement Check)执行,目标服务验证通过后将为用户提供其请求的服务。

(3)如果用户不是目标服务的注册用户,目标服务将启动自己的信任协商引擎(Trust Negotiation Engine,TNE)开始进行信任协商。TNE将按以下步骤操作:

①TNE首先向用户提供自己的伙伴服务列表(TSL1),列出已经与目标服务建立了信任协商关系的伙伴服务名字。

②如果用户的本地服务在TSL1中,用户可选择这个服务。目标服务将用户重定向到这个服务(LS)的TNE,并在重定向信息中加载信任协商请求。

③当LS的TNE接收到加载了信任协商请求的重定向消息后,启动自己的TEC对用户进行认证,并对用户输入的认证信息进行查验。如果用户确实是本地注册用户,TNE从TEC中调出该用户的身份、属性和授权信息,按照一定规则组成信任协商应答,按照重定向消息中信任协商请求的请求方信息,将应答信息传送回目标服务,并把用户重定向回目标服务。如果用户不是本地注册用户,TNE将通过信任协商应答告诉请求方“认证失败”,并把用户重定向回目标服务。

④当目标服务接收到伙伴服务传来的信任协商应答消息后,TNE从中提取用户的身份、属性和授权信息,进行信任计算。目标服务根据获得的用户特征信息、用户所请求的服务的特征信息、用户所请求的服务的风险、信任在路径传递中的衰减、服务的条件状态和当次服务的情景因素等综合考虑并进行信任度的计算,从而计算出一个信任值。当这个信任值达到获得特定服务所需要的阈值,则允许用户使用该服务、或部分使用该服务(可能在数量、时间、速度、经费等方面有所限制)。否则目标服务告诉用户不能提供所请求的服务。用户可以选择在目标服务进行本地注册。

(4)如果用户的本地服务不在TSL1中,用户可选择“更多伙伴服务”。

①目标服务TNE将按照一定规则(例如规模最大、信任协商最频繁、信任协商成功率最高、或者有其他特殊安排的一级伙伴等),从一级伙伴服务列表中选择一定的伙伴服务,向这些伙伴服务的TNE发出信任协商请求,调用它们的一级伙伴服务列表。得到请求的一级伙伴服务将把自己的TSL1装载到信任协商应答中,传回到目标服务的TNE。

②目标服务可能向多个一级伙伴服务请求它们的TSL1。因此目标服务在接收到这些TSL1后,将进行归并,剔除与自己的一级伙伴服务重复的服务,剔除其他重复出现的服务(但可根据重复次数计算在列表中的排名),形成一个新的伙伴服务列表,即目标服务的二级伙伴服务列表TSL2。

③如果用户的本地服务在TSL2中,可重复(3)中②和③的步骤。

④如果用户的本地服务没有在TSL2中,可重复(4)中①和②的步骤。理论上这个过程可以一直递推下去,但由于存在信任衰减和协商成本的指数级上升,一般要将请求传递路径控制在一个有限次数内,例如两次。当然,可以根据请求服务的安全敏感度来调整这个上限。

整个信任协商的流程对于用户来说,就是查找目标服务的伙伴服务(包括一级、二级等伙伴服务),从中选择自己的本地服务进行认证,其余协商工作由这些伙伴服务的TNE之间通过信任协商的请求与应答、基于信任协商信息的信任值计算等来自动完成(见图1)。

在上述流程中,可以根据用户在本地服务的授权、用户在目标服务所请求的服务、本地服务与目标服务的信任关系、实际的用户属性信息,计算出有一定变化幅度的信任度值(例如0-1之间),灵活地获取部分服务(例如在数量、时间、速度、经费、质量程度方面有所限制的服务),而不再像常规系统那样要么完全信任就获得所有服务,要么完全不信任就任何服务都不能获得。这样,可以根据数字图书馆信息服务的复杂类型和用户的复杂情况来决定具体的信任程度,使得有限的信任条件下能够提供灵活的服务。

图1 信任协商的基本流程

上述流程不同于Shibboleth这样的联合认证系统。Shibboleth中也有一个类似于伙伴服务的列表,用户也可以选择其中的一个系统进行身份认证,也可以在通过认证后回到目标系统接受服务。但一方面,Shibboleth只有单层伙伴服务列表,无法灵活地利用伙伴服务的伙伴服务来扩大信任协商范围;另一方面,Shibboleth只提供简单的“提供”或“拒绝”服务两种可能,没有利用用户在伙伴服务中的复杂授权信息来灵活计算用户的可信任度;而且由于只有单层的伙伴服务,也就不能考虑复杂信任协商路径下的信任协商及信任度计算。因此,Shibboleth本质上是一个联合的身份管理系统,还不是真正在开放环境下支持动态服务调用的信任认证与授权机制。

2.5 基本规则

根据本文的信任协商模型,信任协商包括目标服务、用户以及伙伴服务3个实体。陌生的用户和目标服务者之间需要达到一定程度的信任,在彼此从未接触的情况下,必然需要了解受信者相关的信息以支持对其可信程度的计算。因此,需要从伙伴服务处了解用户的相关信息,这些需要了解的信息包括了用户的身份、属性、授权信息等。

用户的授权信息是对伙伴服务开放的,但是用户的身份、属性等信息则不一定面向伙伴服务开放。这些信息取决于用户是否愿意向伙伴服务公布自己的信息,或者伙伴服务的管理策略是否允许向其他的伙伴服务提供其本地用户的准确身份及相关属性信息。但是可以确信的一点就是,用户的授权信息是向伙伴服务开放的,这是相互之间合作的最基本的要求,如果不能获得用户的服务授权信息,那么整个信任协商就无法继续下去。

图2描述了最基本的信任模型下用户、目标服务、伙伴服务三者之间存在的信任关系。

图2 基本信任模型

假设x代表目标服务,z代表用户,y代表伙伴服务(同时也是本地服务):

在其他一切条件都相同的情况下,那么有下列的基本条件需要满足:

(1)如果]越大,那么越大:目标服务x对伙伴服务y的信赖程度越高,那么用户与目标服务之间的信任关系会随之增大。伙伴服务此时是作为本地服务提供用户的身份属性及授权断言的,目标服务对这个伙伴服务的信任无疑会影响目标服务对用户的信任。目标服务对用户所属的伙伴服务的信任关系和目标服务对用户的信任关系成单调递增关系。

(2)如果越大,那么越大:伙伴服务y对用户z的信任度越大,目标服务x对通过伙伴服务y所获得的对用户z的信任倾向也随之增加。

(3)不大于:最终计算出来的目标服务x对用户z的可信度不可能超过用户z在其本地服务y所能够获得的信任度。在经过路径上的衰减和情景因子的影响之后,目标服务对用户的信任度必然受到影响,最好的情况就是没有路径上的衰减以及不计情景因子的影响,此时目标服务对用户的信任度等于伙伴服务对用户的信任度。

2.6 系统框架及组件

要实现系统的协商流程,需要系统具备相关的组件模块以支持相应的功能要求。作为一个支持分布式环境下数字图书馆Web服务信任协商的系统,应该包括以下层次:

从接口层来说,需要支持面向用户的输入输出接口和其他系统的信任协商引擎的输入输出接口;从服务的功能来说,需要执行请求并进行应答的模块,执行语义映射的模块,对策略和用户进行管理的模块,对情景、状态和风险进行析取的模块,计算直接信任、间接信任和最后的综合信任度的计算模块;从控制逻辑层来说,需要有对各服务模块的执行情况进行检查的模块和对路径选择进行跟踪的模块;通讯层需要消息安全和通讯安全的模块;另外,从全局的角度还需要有保护整个系统安全的入侵检测模块和对安全相关的事务进行记录的安全日志模块,如图3所示。

图3 系统框架及组件

接口层主要负责数据流的输入输出及相应的呈现,其中包括:

(1)与用户的交互,主要通过用户接口完成对用户的选择和请求的接收及应答。

(2)与其他伙伴服务的交互,主要通过信任协商引擎接口来完成。

服务层主要完成对用户的身份的循证,用户在其他系统上的属性及服务策略的获取和映射,本地系统对用户所请求的服务的情景、状态和风险的析取,对这些综合因素的获取和计算,并最终做出判断是否允许用户使用其访问的服务:

(1)请求应答服务主要执行对用户的身份及其属性、用户在该系统上的服务授权情况进行请求和应答。

(2)语义映射把用户身份、属性、在远端系统的授权情况等语义方面的信息映射到本地系统的语义空间,为计算信任度做好准备。

(3)情景、状态和风险析取对用户所请求的数字图书馆服务的特点、相关背景、当时可能的执行情况以及提供服务给用户而可能存在的风险进行析取,为计算信任度做好准备。

(4)信任计算则根据伙伴服务的伙伴服务提供的用户身份、属性以及相应的授权情况,根据用户所请求的服务的情景、状态和风险,根据对用户信息循证的路径的衰减或者加权,对用户本次服务的服务请求是否能够被信任给出明确的计算结果。

控制逻辑层需要对整个协商流程进行综合掌控和调度:

(1)执行检查主要对各服务功能的执行情况进行调度并做相应检查,路径选择主要负责调度及监控循证过程中的循环、死锁及多路径加权及衰减控制。

(2)消息安全和通讯安全则保证在协商过程的开始、进行和结束所有过程参与整个协商过程的各个实体都是真实有效的,他们之间的相互通讯和消息是完整的、真实的、不可篡改的、不能抵赖的。

(3)贯穿整个框架的是入侵检测和安全日志模块,它们确保系统对外的安全性和性能,并为事后的取证和追查留下可信的记录。使用全局的入侵检测机制能够从应用层防止拒绝服务攻击。由于信任协商相对普通的认证授权而言,拒绝服务攻击更容易让服务端资源耗尽从而进入不能服务的状态,因此识别和控制拒绝服务攻击是非常有必要的。由于不合乎规则的请求可以被迅速发现并被终止,拒绝服务攻击的客户端通常的攻击手段是在合法的协商过程的中途不再发回响应,从而让服务端一直保留资源直到超时。超时也有可能是由于网络的突发故障引起的,因此,入侵检测模块必须分析客户端是否在以一种不正常的高频率重复进行请求,从而缩短超时的时间并且禁止客户端接下来的后继访问,减轻服务端的压力。

根据架构及模块要求,相应的流程如图4所示:

图4 信任协商流程

3 结语

本文根据信任的特点提出初步的信任模型,在此基础之上,根据数字图书馆系统服务的特点和信任协商的要求,提出了数字图书馆服务信任协商的理论框架和技术路线。

本文的设计和已有的信任协商系统有所不同。现有的信任协商系统通过用户代理和服务方代理在各自的策略控制下向对方发送数字凭证,并检验对方发来的数字凭证的真实有效性,从而逐步揭示彼此的数字凭证,并决定是否允许用户进行访问。在这种架构下,双方的检验动作实际上是对各自信任的“第三方”在双方的签名真实有效的情况下进行确认来完成的。他们相信的是签名的主人所带来的公信力以及组织机构的结构带来的可信赖的保证。这一类的信任协商系统具有的问题也是很明显的。双方代理都必须对自己在哪种服务上能够信赖“第三方”的签名进行详细的记录和规定,要做到功能完备的细粒度控制的话,双方代理需要维护的“第三方”签名可信能力的列表可能会比较庞大,导致整体运行效率不高。如果减轻“第三方”签名可信能力的列表,那么其实用性又不会很好。使用一个比英国Athen计划大得多的超级登记系统来存储用户的信息,期望使用这个最大的“第三方”来完成所有的认证授权请求,无论从成本、隐私还是复杂度角度来考虑都是不现实的。本文设计的信任协商机制是在数字图书馆这个特定的公共服务系统的基础之上形成的。由于对受信者的信任倾向具有一致性,彼此的体制和合作关系基础也比较接近,在此基础之上相互之间的信任强度足以将对方看作是受信的“第三方”,因此在不需要引入“第三方”的权威“签名”就能够相信彼此。在其他领域(例如电子商务等)环境下,多个系统间的信任倾向、合作关系以及体制不太一样,因此不太可能沿用本文所设计的数字图书馆环境下的信任协商机制,其涉及的影响因素太多,需要进行更加深入的分析研究。

收稿日期:2008-05-27 收修改稿日期:2008-06-13

标签:;  

数字图书馆服务信任协商的框架与模型_数字图书馆论文
下载Doc文档

猜你喜欢