信任是信息安全的基石,是交互双方进行身份认证的基础。信任涉及假设、期望和行为。信任是与风险相联系的,并且信任关系的建立不可能总是全自动的,这意味着信任的定量测量是比较困难的,但信任可以通过级别进行度量和使用,以决定身份和访问控制级别。
1、信任的分类
信任通常分为基于身份的信任(Identity Trust)和基于行为的信任(Behavior Trust)两类。基于身份的信任采用静态的控制机制,即在用户对目标对象实施访问前就对其访问权限进行了限制。基于行为的信任通过实体的行为历史记录和当前行为的特征来动态判断目标实体的可信任度。基于行为的信任包括直接信任(Direct Trust)和反馈信任(Indirect Trust)。反馈信任又可称为推荐信任、间接信任或者声誉(Reputation)。
(1)基于身份的信任
基于身份的信任采用静态验证机制(Static Authentication Mechanism)来决定是否给一个实体授权。常用的技术包括加密(Encryption)、数据隐藏(Data Hiding)、数字签名(Digital Signatures)、授权协议(Authentication Protocols)以及访问控制(Access Control)策略等。
目前,基于身份的信任技术的研究相当成熟,并得到了广泛应用。大部分应用系统都通过用户认证、安全身份相互鉴别、通信加密、私钥保护、安全委托与单点登录等安全技术防止非法用户通过网络使用或获取目标对象的任何资源,以保障数据和计算结点的安全性。
例如,实体A与实体B进行交互,它们首先需要对对方的身份进行验证。这也就是说,信任的首要前提是对对方身份的确认,否则,与虚假、恶意的实体进行交互,很有可能会导致损失。
基于身份的信任是信任的基础。在传统安全领域,身份信任问题已经得到了广泛的研究和应用。而在现今复杂多变的网络环境下,基于身份的信任在安全模块设计时固然必要,但是仅靠它还不能解决网络系统面临的所有安全问题。
尽管采用基于身份的信任机制能够一定程度上保护网络系统的安全,但在一个开放的网络环境中,明显存在以下问题。
1)在基于身份信任的系统中,必须事先确定管理域内、管理域间的资源是可信赖的,用户是可靠的,应用程序是无恶意的。但在基于网络的计算系统中,交互实体间的生疏性以及共享资源的敏感性成为了跨管理域信任建立的屏障。网络涉及数以百计的、处在不同安全域的计算资源,大量的计算资源的介入将导致无法直接在各个实体(如应用、用户与资源)间建立事先的信任关系。
2)在基于身份信任的系统中,随着时间的推移,原先信赖的用户或资源也可能变得不可信,期望所有的用户对他们的行为负责是不现实的。因为大部分网络平台许可应用程序在计算资源上运行,这时网络计算资源会被应用程序部分控制,恶意用户可以通过运行网络应用程序来攻击系统。应用程序在网络计算资源上运行时,需要占用一定的计算资源,即使用计算机上的CPU计算能力、内存空间和磁盘空间等资源,并且还要使用操作系统的系统调用。在这种情况下,一个合法注册用户如果是恶意用户的话,其完全可以通过在网络计算环境上执行应用程序(或任务)来发现计算机系统的漏洞、获取其他用户的信息资源,甚至攻击网络系统,破坏网络资源的完整性。
(2)基于行为的信任
基于行为的信任是指针对两个或者多个实体,某一实体对其他实体在交互过程中的历史行为表现作出评价,也就是对其他实体所生成的能力可靠性进行确认。采用基于行为的信任,在实体安全性验证时,往往比一个身份或者是授权更具有不可抵赖性和权威性,也更加贴合社会实践中的信任模式,因而具有很高的研究价值。
2、信任的属性
信任的属性包括信任的动态性、不对称性、传递性和衰减性,分别说明如下。
(1)信任的动态性
信任关系不是绝对的,而是动态变化的。实体A与实体B在交互前,双方之间不存在信任关系,即A不信任B在某方面执行特定操作或者提供特定服务的能力。通过推荐介绍,A与B建立交互关系后,如果B总能按照A的预期完成任务,则A对B的信任程度会逐渐提高。
(2)信任的不对称性
信任的不对称性又称为信任的主观性。具体而言,A信任B,不等价于B也信任A;实体A对B的信任程度也不一定等于B对A的信任程度。信任可以是一对一、一对多甚至是多对多的关系。图1表示了这几种信任关系模式。
图1 信任关系模式
(3)信任的传递性
两个实体间存在多次交互历史时,双方可以根据对方的历史行为评价对方,这样建立起的信任关系称为直接信任;而如果交互的双方事先不存在协作关系,或者交互的一方需要更多地了解另一方时,往往会通过第三方实体的推荐信息来为信任决策提供参考,这样建立起的信任关系称为反馈信任,即A信任B,B信任C,那么A也信任C。信任存在的推荐关系,说明了信任在一定程度上具有传递性。
(4)信任的衰减性
信任有随时间衰减的趋势。在某一特定时刻T,实体A信任实体B,但是经过一段时间,在该时间段内A与B不存在交互关系,则A会由于时间的推移而对B的认知程度下降,即A不确定B当前是否能够表现得如同时刻T那样,从而显示为A对B的信任程度降低。这就说明在实体交互过程中,最近的交互活动更能反映实体的可信程度。
3、信任管理
1996年,布拉泽(Blaze)等人为解决互联网上网络服务的安全问题,提出了信任管理(Trust Management)的概念,并首次将信任管理机制引入分布式系统之中。随着以互联网为基础的各种大规模开放应用系统(如网格、普适计算、P2P、Ad hoc、Web服务、Cloud、物联网等)相继出现并被应用,信任关系、信任模型和信任管理的研究逐渐成为了信息安全领域的研究热点。
近10年来,科研工作者在信任关系、信任模型和信任管理等方面开展了深入的研究工作,取得了较大的研究进展,主要体现在以下3个层面。
(1)基于策略(或凭证)的静态信任管理技术
基于策略(或凭证)的静态信任管理(Policy-Based or Credential-Based Static Trust Management)技术主要是根据布拉泽等人提出的信任管理的概念,在实体可信的基础上为该实体提供资源访问权限,并以信任查询的方式提供分布式静态信任机制,这对于解决单域环境的安全可信问题具有良好的效果。在该可信性保障系统中,信任关系通过凭证或凭证链获得,如果没有凭证链,则表示没有信任关系,否则就是完全信任。可以通过撤销凭证来撤销信任关系,其基本原理继承了基于身份的静态信任验证机制,主要方法是应用策略建立信任、聚焦管理和交换凭证,进而增强访问控制能力。
为了使信任管理能够独立于特定的应用,布拉泽等人还提出了一个通用的信任管理框架,如图2所示。其中,信任管理引擎(Trust Management Engine,TME)是整个信任管理模型的核心,体现了通用的、与应用无关的一致性检验算法,并可根据输入的请求、符号凭证、本地策略,输出请求是否被许可的判断结果。
图2 基于策略(或凭证)的信任管理框架
信任管理引擎是信任管理系统的核心,在设计信任管理引擎会涉及以下几个主要问题:① 描述和表达安全策略和安全信任凭证;② 设计策略一致性检验算法;③ 划分信任管理引擎和应用系统的职能。
基于策略(或凭证)的静态信任管理技术本质上是使用一种精确的、静态的方式来描述和处理复杂的、动态的信任关系,即通过程序以形式化的方法验证信任关系。其研究的核心问题是访问控制信息的验证,包括凭证链的发现、访问控制策略的表达与验证等。应用开发人员需要编制复杂的安全策略,以进行信任评估,这样的方法显然不适合处理运行时动态演化的可信关系。
另外,基于策略(或凭证)的静态可信性保障技术主要分析的是身份和授权信息,并侧重于授权关系、委托等的研究,一旦信任关系建立,通常会将授权绝对化,不会顾及实体的行为对实体信任关系的影响。而且,在基于策略(凭证)的静态可信性保障系统中,必须事先确定管理域内、管理域间的资源是可信赖的,用户是可靠的,应用程序是无恶意的。但在云计算、边缘计算和物联网等大规模开放网络计算系统中,交互实体间的生疏性以及共享资源的敏感性成为了跨管理域建立信任的屏障。大规模开放网络计算涉及数以万计的、处在不同安全域的计算资源,大量的计算资源的介入将导致无法直接在各个网络实体(如应用、用户与资源等)间建立事先的信任关系。
(2)基于证书和访问控制策略交互披露的自动信任协商技术
在开放的、自主的网络环境中的在线服务、供应链管理和应急处理等具有多个安全管理自治域的应用中,为了实现多个虚拟组织间的资源共享和协作计算,需要通过一种快速、有效的机制在数目庞大、动态分散的个体和组织间建立信任关系,而服务间的信任关系通常会被动态地建立、调整,需要依靠协商方式达成协作或资源访问的目的,以维护服务的自治性、隐私性等安全需要。
为了解决以上问题,温斯莱特(Winslett)和温斯伯勤(Winsborough)等人提出了自动信任协商(Automated Trust Negotiation, ATN)的概念。ATN是通过协作网络实体间的信任凭证、访问控制策略的交互披露,逐渐为各方建立信任关系的。当访问者与资源或服务提供方不在同一个安全域时,基于凭证和策略的常规访问控制方法就不能有效地对访问者的行为进行控制,而ATN则可以为合法用户访问资源提供安全保障,以防止非法用户进行非授权访问。
ATN的优点体现在:陌生者之间的信任关系通过参与者的属性信息交换进行确立,通过数字证书的暴露来实现;协商双方都可定义访问控制策略,以规范对方对其敏感资源的访问;协商过程中不需要可信第三方(如CA)的参与。最近几年,ATN 的研究已经取得了迅速发展,并已经应用到了一些分布式应用系统中,通过信任凭证、访问控制策略的交互披露,资源的请求方和提供方可以方便地建立实体间的初始信任关系。自动信任协商技术解决了跨多安全域隐私保护、信任建立等问题,成为了广域安全协作中一个崭新的研究领域,其研究和应用在国际上倍受关注。但对于网络化实体行为的关系问题,例如,如何描述网络实体信任属性,如何动态建模网络实体行为的关系,以及如何建立信任性质和实体行为之间的内在联系及其严格的描述等问题,还没有展开深入的研究。在复杂开放的网络环境下,随着网络规模的增大,所涉及资源的种类和范围的不断扩大、应用复杂度的提高以及计算模式的革新等,都需要学者对信任的动态属性及其与网络实体行为的关系问题进行深入探索。
(3)基于行为特征的动态信任管理
1994年,马歇尔(Marsh)首先从社会学、行为学等角度对基于行为特征的信任管理技术(Behavior-based Trust Management Technology,BTMT)进行了开创性的研究。BTMT也称为动态信任管理技术(Dynamic Trust Management Technology,DTMT),其最初在在线贸易社区(Online Trading Communities)构建信任和促进合作中得到了广泛的研究。如在eBay中,用户的高度动态性使传统的质量保障机制不起作用,而动态信任机制则可使松散的系统用户间进行相互评估,并由系统综合后得到每个用户的信任值。
不同于基于策略的静态信任管理技术和基于证书和访问控制策略交互披露的自动信任协商技术,动态信任管理技术与相关理论的主要思想是:在对信任关系进行建模与管理时,强调综合考察影响实体可信性的多种因素(特别是行为上下文),针对实体行为可信的多个属性进行有侧重点地建模;强调动态地收集相关的主观因素和客观证据的变化,以一种及时的方式实现对实体可信性评测、管理和决策,并对实体的可信性进行动态更新与演化。信任管理技术已经广泛应用于电子商务交易平台之中。
相较于传统的信任管理,动态信任关系的管理有以下新的特征:① 需要尽可能多地收集与信任关系相关的信息,并将其转化为影响信任关系的不同量化输入;② 在信任管理中强调对信任关系进行动态地监督和调整,考察信任关系的多个属性,同时考虑不同信任关系之间的关联性,因此,需要管理的信任网络的复杂性和不确定性提高了;③ 在决策支持方面,强调通过综合考虑信任关系中的各主要因素以及其他相关联的安全因素进行决策,因此,动态信任管理中的可信决策制定需要更加复杂的策略支持;④ 动态信任管理技术要求采用分布式信任评估和分布式决策的形式,同时要求解决不同实体之间的信任管理的协调问题,根据实体能力的差异采取不同的信任管理策略。
4、动态信任管理
布拉泽将信任管理定义为采用一种统一的方法描述和解释安全策略(security policy)、安全凭证以及用于直接授权关键性安全操作的信任关系。信任管理系统的核心内容是,用于描述安全策略和安全凭证的安全策略描述语言和用于对请求、安全凭证和安全策略进行一致性证明-验证的信任管理引擎。具体说来,动态信任管理的主要任务包括以下几个方面。
(1)信任关系的初始化
主体和客体信任关系的建立,需要经历两个阶段:主体的服务发现阶段以及客体的信任度赋值和评估阶段。当一个客体需要某种服务时,能够提供某种服务的服务者可能有多个,客体需要选择一个合适的服务提供者。这时就需要根据服务者的声誉等因素来进行选择。
(2)行为观测
监控主体间所有交互的影响及其产生的证据是动态信任管理的关键任务之一,信任评估和决策依据在很大程度上依赖于观察者。信任值的更新需要根据观测系统的观测结果进行动态更新。行为观测主要有两个任务:实体之间交互上下文的观测与存储,以及触发信任值的动态更新。当一个观测系统检测到某个实体的行为超出了许可或者实体的行为是一个攻击性行为时,则需要触发一个信任值的重新评估。
(3)信任评估与计算
根据数学模型建立的运算规则,在时间和观测到的证据上下文的触发下动态地进行信任值的重新计算,是信任管理的核心工作。实体A和实体B交互后,实体A需要更新信任信息结构表中对实体B的信任值。如果这个交互是基于推荐者的交互,那么主体A不仅要更新它对实体B的信任值,还要评估对它提供推荐的主体的信任值,这样,信任评估就可以部分解决信任模型中存在的恶意推荐问题。
5、信任评价与计算
(1)信任度
信任关系通常有程度之分,信任计算的目的就是要比较准确地刻画这种程度。正是由于信任有程度之分,因此其评价过程才变得重要而有意义。信任的可度量性使源实体可利用历史经验对目标实体的未来行为进行判断,进而得到信任的具体程度。信任度是信任程度的定量表示,它是用来度量信任程度高低的。
信任度(Trust Degree,TD),就是信任程度的定量表示。信任度可以根据历史交互经验推理得到,它反映的是主体(Trustor,也叫作源实体)对客体(Trustee,也叫作目标实体)的能力、诚实度、可靠度的认识,对目标实体未来行为的判断。TD可以称为信任程度、信任值、信任级别、可信度等。
信任度可以用直接信任度和反馈信任度来综合衡量。这里,直接信任源于其他实体的直接接触,而反馈信任则是一种口头传播的名望。
图3给出了直接信任和反馈信任的图示化描述。
图3 直接信任和反馈信任
一般来说,信任关系不是绝对的,而是动态变化的。A信任B提供某种服务的能力,随着与B交互次数的增多,A会根据每次交互的成功与否而逐渐调整对B的信任度,形成A对B的直接信任。另外,信任还存在反馈关系,当实体以前没有直接与某个实体交互时,则只能参考别的实体提供的反馈信息,并根据自己的策略来判断交互实体的信任度。
在图3中,若A信任B,而B信任C,则A具有对B提供的关于目标C的某一信任目标的信任度,B是推荐人,A对B有直接信任,A对C有反馈信任。若D对E有直接信任,而A对D没有直接信任(不信任),那么,A对E会有什么样的信任关系呢?目前有两种认知。一种是接受来自陌生节点的推荐信息。在这种方法中,若E请求A提供的服务,而A事先没有E的任何信息,则A会在整个网络中使用广播的方式查询对E的推荐信息,然后再对收集到的推荐信息进行聚合,从而得到E的反馈信任度。另一种是A只相信可信节点的反馈信息,而不采纳陌生节点的反馈信息。因此,在图3中,A不会通过D形成对E的反馈信任度。第一种方法虽然简单,但是不太符合人类社会对推荐过程的认知规律,而且容易引发陌生节点的恶意反馈问题,第二种是一种比较符合人类认知规律的反馈聚合机制。根据上面的描述,下面给出直接信任度、反馈信任度以及总体信任度的定义。
直接信任度(Direct Trust Degree,DTD),是指通过实体之间的直接交互经验得到的信任关系的度量值。直接信任度建立在源实体与目标实体交互经验的基础上,随着双方交互的不断深入,源实体对目标实体的信任关系会更加明晰。相对于其他来源的信任关系,源实体会更倾向于根据直接经验来对目标实体作信任评价。
反馈信任度(Feedback Trust Degree,FTD),表示实体间通过第三者的间接推荐形成的信任度,也叫声誉(Reputation)、推荐信任度(Recommendation Trust Degree)、间接信任度(Indirect Trust)等(本书统一称为反馈信任度)。反馈信任建立在中间推荐实体的推荐信息的基础上,根据源实体对这些推荐实体信任程度的不同,推荐信任也会被不同程度地取舍。但是由于推荐实体的不稳定性,或者有伪装的恶意推荐实体的存在,反馈信任度的可靠性难以度量。
总体信任度(Overall Trust Degree,OTD),也叫作综合信任度或者全局信任度。信任关系的评价,就是源实体根据直接交互得到对目标实体的直接信任关系,以及根据反馈得到目标实体的推荐信任关系,将两种信任关系进行合成即可得到对目标实体的综合信任评价。
(2)信任度计算
信任度计算是实现身份认证的前提。典型的信任度计算方法介绍如下。
1)基于加权平均的总体信任度计算
目前的信任模型在获取总体信任度时大多采用直接信任度与反馈信任度加权平均的方式进行聚合计算:
其中,Pi与Pj是两个交互实体,Γ(Pi,Pj)是总体信任度,ΓD(Pi,Pj)是直接信任度,ΓI(Pi,Pj)是反馈信任度,W1和W2分别为直接信任度与反馈信任度的分类权重。
当W1=0时,信任由推荐决定;但当W2=0时,信任由行为观测决定。
(2)基于历史证据窗口的总体信任度计算
在一个信任管理系统中,信任评估和预测的依据是系统检测到的、保存在主体节点本地数据库中的一些交互上下文数据,这些上下文数据被称为历史证据。信任管理系统所设定的参与信任度评估的最大历史记录个数,称为历史证据窗口(History Evidence Window,HEW)。
基于HEW的总体信任度计算方法可以定义如下:
其中,h是信任评估主体的本地数据库中现有的Pi与Pj之间交互的历史证据(样本)总数,H是系统设定的参与信任度评估的最大历史记录个数,也就是历史证据窗口HEW,W1和W2分别为直接信任度与反馈信任度的权重。
当一个服务请求者(Service Requester,SR)向服务提供者(Service Provider,SP)提出服务请求时,SP需要对该SR的总体信任度进行评估和预测,进而根据预测结果由访问控制模块中的决策函数决定SR可以得到的服务级别(Service Level)。为了预测SR的总体信任度,SP会首先在本地数据库(Evidence Base)中检索与该SR以前直接交互的证据,并统计在系统设定的有效时间内的证据数目h。若h≥H,则表示SP现有的有效直接证据数目足以判断该SR的可信度,这时,信任管理系统只需要计算直接信任度,就可将计算得到的结果作为该SR的总体信任度。若0<h<H,则表示现有的直接证据不充分,不足以判断该SR的总体信任度,因此,还需要考虑第三方实体的反馈信息,也就是反馈信任度。此时,信任管理系统既需要计算直接信任度,也需要计算反馈信任度,然后根据W1和W2进行总体信任度的聚合计算。若h=0,则表示主体与客体之间是首次交互,主体的本地数据库中没有记录客体的任何信息,这时信任评估系统只能依靠第三方的反馈信任来评估客体的总体信任度。
与传统的总体信任度计算方法相比,该方法具有以下优点。
1)更加符合人类社会的心理认知与行为习惯
从信任的内涵来看,信任关系本质上是最复杂的社会关系之一,也是一个抽象的心理“认知”过程,这里的总体信任度计算方法与人类社会的信任决策过程相一致,因此,能更合理地反映信任关系的内涵。
2)可以有效抵御恶意节点的不诚实反馈信息
在开放的环境中,可能存在着大量的恶意节点,这些恶意节点也有可能发送不诚实的反馈信息。动态信任管理的主要任务就是如何有效地发现和抵御这些恶意节点可能给系统带来的攻击和有效减少恶意节点的反馈行为。这里的总体信任度计算方法在主体证据较充分时,不再考虑第三方的反馈信息,这样,显然可以有效抵御恶意节点的不诚实反馈信息。
3)可以有效提高系统的执行效率
传统的总体信任度计算方法在任何情况下都要进行反馈信任度的计算,而计算反馈信任度需要在整个分布式网络中进行反馈节点的搜索,这需要大量的时空开销。总体信任度计算方法有效地减少了信任评估系统计算反馈信任度的次数,因而可以有效提高信任管理系统的执行效率。图4给出的是两种信任计算方法的流程。
图4 两种信任计算方法流程