首页> 中国专利> 信息系统中实体信任的血缘描述系统

信息系统中实体信任的血缘描述系统

摘要

本发明涉及信息安全技术领域,尤其涉及一种信息系统中实体信任的血缘描述系统。本发明针对目前实体关系描述机制缺乏,以及由此导致的缺乏将实体关系转换为实体信任的方法等问题,借鉴生物血缘的思想以及血缘关系的描述方法,表达信息系统中实体间的传承关系,并建立基于传承关系的实体信任评估系统,该系统采用家族树描述实体间的传承关系,制定了传承关系的演变规则和鉴定方法,以及将实体关系转换为实体信任的规则,建立了一套以实体传承关系为基础的描述实体信任的方法,依据该方法设计的信息系统中实体信任的血缘描述系统,可应用于网络社区中,使不同关系的用户具有不同的信息访问权限,应用于企业信息系统中,实现各种资源的安全共享与保护。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-08

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20130619 终止日期:20160120 申请日:20110120

    专利权的终止

  • 2013-06-19

    授权

    授权

  • 2011-08-31

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20110120

    实质审查的生效

  • 2011-07-20

    公开

    公开

说明书

技术领域

本发明涉及信息安全技术领域,尤其涉及一种信息系统中实体信任的血缘描述系统。

背景技术

信息系统已经由封闭走向开放,传统的安全手段缺乏灵活性,不能满足开放环境下保护信息安全的要求。近几年来,在发展传统的安全技术时,开展了计算机中信任的研究。赋予信息系统中的实体以人的特性,通过各种方法度量、评估实体间的信任程度,为信息系统提供一种比较灵活的安全度量机制。

在人类社会中,人与人之间的信任可以用两种方式进行评价,一是依据理性的计算,二是依据人与人之间的情感关联。目前,研究实体间的信任依据的条件多为实体的声誉、实体间的交往经验、以及当前所处的环境,并通过综合多种条件来评价实体间的信任程度。这种评价实体间信任的方式类似于人类社会中理性计算的方式,而基于实体间的关系来评价实体信任的研究比较少。信息系统是开放的,实体会因为参与到团体或活动中,而形成各种关系,将已经形成的关系作为判断实体间信任的因素,是值得研究的地方。

在人类社会中,信任扮演非常重要的地位,被认为是稳定社会关系的基础因素。在社会学中,信任被认为是对情境的反应、是个人人格特质的表现、是人际关系的产物、是社会制度和文化规范的产物。在以人际关系为基础研究信任时,是将人际关系进行理性算计和依据情感关联来决定信任程度的。北京大学的彭泗清提出了一个“关系—信任模型”,用以说明现有关系状况、人际信任和关系运作三者之间的关联。

在信息系统中,系统中的实体可以看做是社会中的人,具有主动性,它可以是一个Agent,也可以是一段程序,它具有类似于人的特点,会存在相互的交流、合作,会形成各种类型的关系。同样,实体间会存在不同的信任程度,实体间已经形成的关系也将是影响实体间信任程度的因素之一。

然而,将实体间的关系作为判断实体间信任程度的条件,这方面的研究还比较少,原因在于,目前还没有一种有效的描述机制,来描述信息系统中实体之间的关系,此关系类似于人与人之间的情感关系,并且也缺乏一种将关系转换为信任的规则。该发明的目的,就在于建立信息系统中实体间关系的描述机制,将实体间的关系纳入到判断实体间信任程度的因素当中,可以从更全面的角度考察实体间信任的情况。

在生物界中,生物之间存在继承关系,表示生物间基因上关系的远近,在人类社会中,血缘关系是由婚姻或生育而产生的一种人际关系,人与人之间的血缘关系表示的是,由于遗传而产生的人与人之间的与生俱来的一种亲疏关系。在信息系统中,实体间会由于交流、合作而形成各种类型的关系。例如,实体参与到某个学术团体,而形成实体间的学术指导关系,共同完成某项工作实体间会存在“同事”关系。这使得实体间会存在类似于人类血缘关系的传承关系。然而,是否可以从生物血缘和人类社会血缘关系的描述方法中得到借鉴,找到用于描述实体间传承关系的方法,是该发明需要研究的重点。

通过分析发现,信息系统中的实体存在如下的突出特点:

(1)      实体数目海量性:在信息系统中,实体可以是一个用户、一个Agent或者一段程序,显然,从数量上看,实体具有海量性;

(2)      关系类型多样性:信息系统中的实体可以看成社会中的人,具有主动性,能够参与到各种类型的团体、活动中,实体间会存在交流、合作,从而形成各种类型的关系。例如实体间的指导与被指导的关系,实体间的“同事”关系。

(3)      关系动态变化性:在信息系统中,实体之间的关系不是一层不变的,实体会由于参与到新的团体中而形成新的关系,会由于某个活动的结束,使得已有的关系消失。

在人类社会中,人的数量也是非常庞大的,要描述所有人之间的血缘关系是不现实的,但在一个家族中,成员的数量是有限的,以家族为单位描述成员之间的血缘关系是可行的,并多以家谱的形式描述成员间的血缘关系。家族中的成员在迁徙到其他地方后,通过婚姻或生育又会形成新的家族,形成新的家谱。在鉴定两个人之间的血缘关系时,可以采用比较家谱的方法,查找在多少代之前两人存在共同的祖先,从而确定两人之间血缘关系的远近。

因此,从整体上看,描述实体间的传承关系与人类社会的血缘关系存在如下的相似之处:

(1)      实体的数量和人的数量都是非常庞大的,要对关系进行描述都需要解决数量海量的问题;

(2)      人类血缘关系表示的是人的来源过程,形成的是一个层次结构,信息系统中的实体由于身份、作用的不同,也会形成具有层次结构的关系,这两种层次结构是类似的;

(3)      人类血缘关系表示的是人与人之间关系的远近、亲疏,在信息系统中,描述实体间的关系也是为了说明实体间关系的亲疏程度,为判断实体间的信任提供依据;

(4)      人类社会中,以家族为单位记录成员之间的血缘关系,通过比对不同家族的家谱判断人与人之间的血缘关系,在信息系统中,实体所记录的关系是局部的关系,也需要通过鉴定的方式判断两个实体间的亲疏程度。

因此,通过上述的分析可知,在信息系统中,可以借鉴人类血缘关系的描述方法,来描述实体间的关系,并将这种关系称为实体的血缘关系,依据实体的血缘关系可以判断实体间信任的程度。

发明内容

针对上述存在的技术问题,本发明的目的是提供一种信息系统中实体信任的血缘描述系统,借鉴生物血缘的思想以及血缘关系的描述方法,描述信息系统中实体间的传承关系,为判断主体间的信任程度提供依据。

为达到上述目的,本发明采用如下的技术方案:

血缘关系描述模块,用于对主体间的血缘关系进行描述,包括对血缘关系的存储、演变和鉴定工作;

信任计算模块,用于依据主体间形成的各种血缘关系,以及将血缘关系转换为主体信任程度的计算方法,用以判断主体间的信任等级;在该模块中,主体设置计算信任程度的参数,依据参数和主体间的血缘关系,计算主体间信任的等级;

信息访问模块,用于主体在将信息发布时,为信息设置访问权限,使得只有满足访问权限的访问者才能够访问信息,该模块通过访问规则的植入,将访问规则等内容植入到信息中,访问者在访问信息时,需要通过权限鉴定,判断访问者所拥有的访问权限,并依据访问权限,展示访问者能够访问的内容。

血缘关系描述模块包括血缘关系存储子模块、血缘关系演变子模块、血缘关系鉴定子模块;

血缘关系存储子模块,主体血缘关系在逻辑上用家族树进行展示,并采用XML格式进行存储;

血缘关系演变子模块,该子模块进行新增血缘关系操作、删除血缘关系操作,其中新增血缘关系操作通过以下两种方式新增血缘关系:双方协商添加直接血缘关系和借鉴其他主体的血缘关系扩展自身的血缘关系;

血缘关系鉴定子模块,用于鉴定两个主体之间的关系。

所述血缘关系鉴定子模块在鉴定血缘关系时,存在以下三种情况:

当主体直接存在于对方的家族树中,则直接判断;

当两主体的家族树中存在公共主体,则间接判断;

当两主体的家族树中不存在公共主体,则利用第三方判断。

信任计算模块,在计算主体间的信任等级时,使用规则参数,所有的主体都共享一份规则参数表,并用XML的格式存储规则参数;

信任计算模块,用于计算两个主体之间的信任程度,依据信任程度所处的信任区间,判断主体的信任等级。

信息访问模块中访问规则植入为:信息发布者在发布信息之前,将信息的内容分成若干块,然后为各个块设置访问规则,在访问规则中需要规定,与信息发布者达到何种信任等级的访问者所具有的访问权限;

信息访问模块中访问权限鉴定为:访问者在访问信息时,需要先判断对信息块所具有的访问权限,然后依据访问权限,设置信息块的展示访问。

在访问权限鉴定的过程中,首先需要依据信息发布者与访问者之间的血缘关系,判断发布者对访问者的信任程度,确定所处的信任等级,然后提取出信息中每一个块的水印信息,依次判断访问者所拥有的权限;若访问者拥有写权限,则将信息块的内容展示,并允许访问者进行修改操作,若访问者拥有读权限,则只展示信息块的内容,不允许对内容进行修改,若访问者不具有访问权限,则将该信息块的内容隐藏,访问者看不到该信息块的内容。

本发明具有以下优点和积极效果:

本发明可应用于网络社区中,使不同关系的用户具有不同的信息访问权限,应用于企业信息系统中,实现各种资源的安全共享与保护,具有广泛的应用前景。

附图说明

图1是本发明提供的信息系统中实体信任血缘关系示意图。

图2是本发明中家族树虚拟节点构造示意图。

图3 是本发明中实体血缘关系违背一致性示意图。

图4是本发明中实体血缘关系违背完整性示意图。

图5是本发明中实体家族树添加直接关系示意图。

图6是本发明中将其他家族树关系添加为本实体家族树示意图。

图7是本发明中实体家族树删除节点示意图。

图8是本发明中实体间关系直接判断示意图。

图9是本发明中实体间关系间接判断示意图。

图10是本发明中利用第三方实体判断实体间关系示意图。

图11是本发明中广度优先搜索方法产生的实体家族树示意图。

图12是本发明中实体血缘关系转换为实体信任示意图。

图13是本发明中系统功能结构图。

图14是本发明中主体建立直接血缘关系示意图。

图15是本发明中主体删除血缘关系示意图。

图16是本发明中血缘关系鉴定示意图。

图17是本发明中信任等级判断示意图。

图18是本发明中访问权限鉴定示意图。

具体实施方式

本发明提供的信息系统中实体信任的血缘描述系统,借鉴生物血缘的思想以及血缘关系的描述方法,描述信息系统中实体间的传承关系,下面首先描述本发明的理论基础:

实体血缘关系家族树描述机制

在人类社会中,采用家谱的形式描述家族中成员间的血缘关系,借鉴此方法,在信息系统中,建立实体间血缘关系的家族树描述机制,描述实体间的传承关系。需要考虑以下几种情况:

(1)      在人类社会中,并没有记录全人类之间的血缘关系,而是以家族为单位记录数量有限的成员间的血缘关系。在信息系统中,实体的数量具有海量性,描述所有实体间的血缘关系是不现实的,也是没有必要的,因为在大多数情况下,每个实体只需要知道与自己交往密切的实体间的关系,而不需要了解与其他所有实体的关系情况。因此,每个实体只记录与自身相关的局部血缘关系。

(2)      在人类社会中,每个人只有一个父亲,但一个父亲可以有多个子女,此种类型的关系,可以用一棵树清晰的表示出来,因此,家谱常用树形结构表示。借鉴树形结构描述实体间的血缘关系时,将此树形结构称之为家族树。但在信息系统中,一个实体可能具有多个直接的上级实体,例如,一个学术讨论团体中,一个人可能具有多个指导老师。在用家族树表示时,采用虚拟节点的方法,为具有多个父亲的节点设置虚拟节点。

(3)      在人类社会中,人与人之间的血缘关系具有唯一性,如果两个人之间是父子的血缘关系,那么他们之间就不会存在其他的血缘关系。在信息系统中,由于实体间存在多种交流、合作的方式,使得两个实体间的关系并不是唯一的。在用家族树描述实体间血缘关系时,每棵家族树表示一种类型的关系,因此,一个实体可能具有多棵家族树,用于表示不同类型的关系。

实体血缘关系演变规则

信息系统中实体间的血缘关系不是一层不变的,会由于参与到新的活动或团体中而形成新的血缘关系,也会由于活动的结束,而使得原有的血缘关系消失。因此实体间血缘关系是会变化的,在演变时,要遵守以下的两个规则:

(1)      实体血缘关系的一致性:此规则用于保证实体间的血缘关系,在多个实体的家族树中表示的是相同的。例如,在实体A的学术家族树中,实体A是实体B的指导老师,因此,在实体B的学术家族树中,实体A也必须是实体B的指导老师,如果不是,则违反了一致性规则。

(2)      实体血缘关系的完整性:此种完整性用于表示实体间所记录的直接血缘关系是完整的。例如,在实体A的学术家族树中,实体B是它直接指导的一个学生,则在实体B的学术家族树中,必须要记录实体A是它的直接指导老师。

由于实体间的不断交往,实体可以借鉴其他实体的家族树,对自身的家族树进行扩充,以使得家族树更加的完善。因此,在解除与某个实体的血缘关系时,需要通知到家族树中其他的实体,解除这两个实体间的血缘关系。

实体血缘关系鉴定机制

由于每个实体记录的只是局部的血缘关系,在鉴定实体间是否存在血缘关系时,需要处理以下几种情况:

(1)      在鉴定的两个实体的家族树中,两个实体出现在某个实体的家族树中,或者同时出现在两个实体的家族树中,则直接可以判断两个实体的血缘关系。

(2)      在两个实体的家族树中都没有记录与对方的关系,但存在一个公共的实体,则可以依据公共实体,判断两个实体间的血缘关系。

(3)      两个实体的家族树中既没有记录与对方的关系,也不存在公共的实体,则要找其他主体的家族树作为桥梁进行进一步的判断。

在上述的几种情况中,第三种情况是最为复杂的,因为如何选择作为桥梁的其他主体,使得能够尽快的找到两实体间的血缘关系是比较困难的,通常采用的是随机选择桥梁主体的方法,进行广度优先搜索,但需要设置搜索的深度,在达到一定深度之后仍没有找到实体间的关系,则认为这两个实体间没有血缘关系。

实体信任程度计算方法

构建实体间的血缘关系,目的是为了计算实体间的信任程度。由于信任是和领域相关的,在将血缘关系转换为信任时,需要制定转换的规则。转换规则需要涉及到以下几个方面:

(1)      信任的不对等性:信任不是对称的,实体A对实体B的信任程度,并不一定与实体B对实体A的信任程度相同。

(2)      血缘关系类型到信任的映射机制:信任是和领域相关的,每个实体可能具有多种类型的血缘关系,因此,需要制定映射机制,在计算某个领域的信任时,相应类型的血缘关系是如何转换的。例如,实体A是实体B的学术指导老师,则实体B对实体A在学术领域的信任程度可设为1,实体A对实体B在学术领域的信任程度可设为0.8。

(3)      信任具有传递性:实体A是实体B的学术指导老师,实体B是实体C的学术指导老师,则在学术领域,实体A与实体C之间会存在学术领域的信任关系。

(4)      信任的转换:由于信任是与领域相关的,不同领域间的信任是否能够进行转换一直是存在争议的问题,例如,A信任B在学术领域的能力,但不能就此说A对B在烹饪领域的能力也信任。本发明认为对信任的转换是需要条件的,如果A对B存在学术上的信任,B对C存在烹饪上的信任,那么存在A对C在烹饪领域的信任,但不存在A对C在学术领域上的信任。把此性质称为信任转换的末尾一致性。

在将血缘关系转换为实体间信任程度时,需要处理以下几种情况:

(1)      通过血缘关系鉴定,两个实体之间的血缘关系属于同一种类型,即可以将其放在同一棵家族树中,可以依据实体在家族树中的不同位置,计算实体在该领域的信任程度。

两个主体存在不同类型的家族树中,但存在公共的实体将他们关联起来,则在计算这样两个实体间的信任程度时,需要利用信任转换的末尾一致性规则,首先需要判断主体间是否存在该领域的信任关系,若存在,再计算信任程度。

下面以具体实施例结合附图对本发明作进一步说明:

本发明借鉴生物血缘的思想和人类社会中血缘关系的描述方法,描述信息系统中实体间的传承关系,并计算实体间基于关系的信任程度。

信息系统中,依据实体关系计算实体信任程度的示意图如图1所示。从图1中可以看出,信息系统中的实体存在如下的特点:

(1)      各个实体可以拥有多棵家族树,每棵家族树表示不同类型的血缘关系;

(2)      两个实体在需要进行交流时(共享文档、讨论话题),要向对方发送交互的请求,依据实体之间的信任程度获得相应的交互权利;

(3)      在鉴定实体间信任程度时,先需要鉴定实体之间的血缘关系,再依据血缘关系计算实体间的信任程度;

(4)      实体在交互过后,可以向对方提出修改家族树的请求,并且可以依据对方的家族树,修改自身的家族树。

1.      实体血缘关系家族树描述机制

信息系统中,实体的家族树用于描述实体间的血缘关系,存在如下特点:

(1)      实体可以拥有多棵家族树,每棵家族树具有不同的语义,表示实体间不同类型的血缘关系;

(2)      家族树中,每个父节点可以有多个孩子节点,每个孩子节点只能有一个父节点,如果孩子具有多个父节点,则将孩子节点虚拟成多个节点。

家族树语义

家族树的语义要满足以下条件:

(1)      家族树的语义以实体参与的团体或活动为依据,例如,实体参与学术谈论的团体,则表示实体间因学术讨论而形成的家族树称为学术家族树,参与到烹饪学习的活动中,形成的家族树称为烹饪家族树;

(2)      多个实体参与到相同的团体或活动中,各个实体的家族树名称相同,因此,家族树的名称由系统自动命名,实体不能对家族树名称进行修改。

在为家族树命名时,发生在为实体创建家族树的过程中,家族树创建过程代码如下:

CreateFamilyTree(RName,Entity)  //Rname为关系名称,Entity为实体

{

//获得当前实体的家族树名称

TreeName = GetTreeName(Entity);

//判断此次创建的家族树是否与已有家族树同名

Result = judge(RName,TreeName);

//没有同名的家族树,则为实体创建该名称的家族树

If Result = 0

{

//创建初始家族树时,树中只有表示该实体的一个节点

CreateTreeStruct(RName,Entity);

}

}

在信息系统中,实体之间形成的血缘关系并不总是一对多的,会存在多对多的情况。例如,在学术讨论的团体中,一个实体可能具有多个直接的指导实体。而在家族树中,一个子节点,最多只能有一个父节点,因此,在采用家族树表示实体间的血缘关系时,要采用虚拟子节点方法。

在图2中,实体C的学术家族树中,实体C有两个直接指导实体(实体A与实体B),构成的结构如图2中的左图所示,此结构不是树,因此,在树中增加一个虚拟节点C’,将实体B作为实体C’的父节点,如图2中的右图所示。

在图2中,C与C’为同一个实体,实体C的子节点只需要标在实体C下,而C’中不需要标注。

虚拟实体的创建代码如下:

VirtualEntityNode(Tree)

{

//遍历Tree中的所有节点

While(node = Tree中的节点)

{

//计算节点的父节点数量

Count = ComputeFatherNode(node);

while (count > 1)

{

//删除节点与父节点之间的一条边

fathernode = DeleteEdge(node);

//设置一个虚拟节点,链接删除的边对应的父节点

SetVirtualnode(node,fathernode);

Count = count - 1;

}

}

}

2.      实体血缘关系演变规则

信息系统中,实体之间的血缘关系不是一层不变的,会由于参与到新的团体中而形成新的关系,也会由于某个团体或活动的结束,而使已经形成的关系消失。在对实体血缘关系进行演变时,要遵守如下的两条规则:

(1)      实体血缘关系的一致性;

(2)      实体血缘关系的完整性。

在信息系统中,每个实体都会记录与自身交往而形成的关系,因此,每个实体所记录的关系都不是完全一样的。制定的第一条规则用于保证各个实体所记录的关系不存在冲突,第二条规则用于保证每个实体都要记录与自身有直接关系的所有主体,不会存在漏记的情况。

在图3中,依据实体D的家族树,可以得知,实体A处于实体D上层,说明实体A是实体D的祖先/上级关系,然而,在实体A的家族树中,实体A处于实体D的下层,与实体D的家族树描述的关系有冲突,不遵循实体血缘关系的一致性原则。

在图4中,依据实体B的家族树,可以知道实体B有一个直接上级实体A,两个直接下级实体C和D,而在实体C的家族树中,实体C有一个直接上级实体E,两个直接下级实体F和实体G,显然,在实体B的家族树中,记录了实体B与实体C的直接关系,但在实体C的家族树中,却没有记录与实体B的直接关系,违反了实体血缘关系完整性原则。

为了能够满足上述的实体血缘关系演变的两条规则,必须在实体的家族树添加或删除节点时加以保证。

添加节点

为实体的家族树添加节点有两种方式:

(1)      两个实体将对方作为自己的直接节点添加到各自家族树中;

(2)      一个实体借鉴另一个实体的家族树中记录的关系,扩充自身的家族树;

对于第一种情况,实体A要将实体B作为自身的直接上级,则需要发消息询问实体B,如果实体B同意,则在实体A的家族树中,将实体B作为实体A的直接上级,在实体B的家族树中,将实体A作为实体B的直接下级。在两个实体中添加节点的操作必须都要完成,否则,将会违背实体血缘关系的一致性和完整性。如图5所示。

添加直接节点的代码如下:

AddDirectNode(EntityA,EntityB,Relationship)

{

//获得请求的结果

Result = GetResult(EntityA,EntityB,Relationship);

If (Result !=0)

{

//将实体B添加到实体A的家族树中

AddNode(EntityA,EntityB,Relationship);

//处理一个子节点多个父节点的情况

VirtualEntityNode(Tree);

}

}

对于第二种情况,实体A在与实体B的交流过程中,发现实体B的家族树中有些关系是值得熟悉的,因此可以将实体B的家族树中记录的关系直接搬到实体A的家族树中。如图6所示。

删除节点

由于实体血缘关系的一致性和完整性规则,使得各实体的家族树之间存在相互的关联,例如,在实体A的家族树中,实体B是它的直接父节点,则在实体B的家族树中,一定包含实体A是它直接子节点。因此,在实体删除自身家族树中的节点时,会引起连锁反应,使得在其他节点中,删除相应的节点之间的关系。

删除节点的规则如下:

(1)      实体提出删除的关系必须是直接的关系;

(2)      级联的删除其他实体家族树中相应的关系;

删除家族树中节点的过程如下:

(1)      实体A提出删除家族树中与实体B的直接关系;

(2)      获得实体A家族树中包含的所有其他实体;

(3)      向其他实体发送消息:删除家族树中A与B的关系;

(4)      在家族树中删除与实体B的关系,若B有子节点,也一并删除;

(5)      其他实体得到删除消息后,执行第2步到第4步的动作,直到删除了所有相关实体家族树中实体A与实体B的关系。

从图7中可知,实体A发出删除与实体B间的关系的请求。表1展示了删除的过程。

表1

步骤当前处理实体相关实体已处理实体待处理实体1AB,C,D B,C,D2BA,D,EAC,D,E3CA,BA,BD,E4DB,EA,B,CE5EA,BA,B,C,D 6  A,B,C,D,E 

3.      实体血缘关系鉴定机制

在每个实体的家族树中,只记录了与部分其他实体的关系,在判断两个实体之间的血缘关系时,往往不能够从某个实体的家族树中直接找到。由于实体血缘关系的演变遵守一致性和完整性规则,并且实体可以将其他实体家族树中记录的关系照搬到自己的家族树中,因此,在判断两个实体之间的血缘关系时,存在如下的三种情况:

(1)      直接判断

在判断两个实体之间的关系时,在其中一个,或者两个的家族树中,记录了这两个实体之间的关系,则可以依据两个实体在家族树中的位置,直接判断两个实体之间的血缘关系。

在图8中,若要判断实体A与实体E的血缘关系,则直接从实体E的家族树中就可以判断出实体A是实体E的上两级的关系。由于实体血缘关系的演变遵守一致性规则,使得任何实体的家族树中记录的关系都是正确的,不会存在矛盾。虽然在实体A的家族树中没有记载与实体E的关系,也不用怀疑实体E的家族树中记录的与实体A的关系是否是正确的。

(2)      间接判断

在判断两个实体间的血缘关系时,两个实体不同时存在于某个实体的家族树中,但通过分析各方家族树中的节点,发现存在共同的节点,则可以依据共同的节点,将两棵家族树合并成一颗家族树,从而依据两个实体在家族树中的位置判断它们之间的血缘关系。

在查找共同节点时,共同节点的数量可能是一个,也可能会有多个,则取最近的关系表示两个实体间的血缘关系。

在图9中,从实体D的家族树中可以得知,实体D有两个直接上级:实体B和实体F,在用家族树表示时,用一个虚拟的节点表示。在判断实体A与实体D的血缘关系时,在实体A的家族树和实体D的家族树中,有两个共同的节点:实体B和实体F。将两棵家族树合并后,实体A与实体D存在两种血缘关系:通过实体B,实体A是实体D的二级祖先;通过实体C与实体F,实体A是实体D的三级祖先。在本发明中,选取最近的关系,因此,实体A是实体B的二级祖先。

(3)      利用第三方判断

在判断两个实体之间的血缘关系时,若实体没有出现在对方的家族树中,各方的家族树中也不存在公共的节点,则需要利用第三方实体的家族树进行判断。本发明采用广度优先搜索的方式,依次对家族树中的实体的家族树进行搜索,然而,由于存在两个实体间本来就没有血缘关系的情况,因此,利用广度优先搜索的方式时,要设置搜索的深度,若达到一定深度之后还没有找到实体间的关系,则认为这两个实体间没有血缘关系。如果搜索的深度设置的比较合理,则就算存在血缘关系,由于搜索的深度不够而没有找到,则这两个实体间的血缘关系也应该是非常疏远的,可以近似的认为没有血缘关系。

由于存在通过不同的中间实体,两个实体的血缘关系亲近程度不一致的现象,在采用搜索的方式查找实体间的血缘关系时,以最先找到的关系为准。

在图10中,若要判断实体A与实体D的血缘关系,采用广度优先搜索时,过程如表2所示。

表2

步骤当前实体当前关系已查实体关联实体1AA B,C2BA-BAC,E3CA-CA,BE,D

从表2可以看出,通过利用实体C的家族树,就可以判断实体A与实体D之间的血缘关系。但显然,通过利用实体B和实体E的家族树,同样可以判断实体A与实体D之间的关系,如图11所示。因此,采用不同的搜索方法,或者以不同的顺序进行搜索,可能使得结果不相同。本发明以最先搜索到的结果为准。

判断实体关系的算法如下:

JudgeRelation(EntityA,EntityB)

{

NodeA = GetNode(EntityA);

If (NodeA 中有EntityB)

从EntityA的家族树中得到与EntityB的关系;

Else

NodeB = GetNode(EntityB)

If (NodeB 中有EntityA)

从EntityB的家族树中得到与EntityA的关系;

Else

If (NodeA与NodeB中有相同的节点)

通过相同节点得到EntityA与EntityB的关系;

Else

Depth = 0;

While(取出NodeA中的一个节点表示的实体EntityTemp)

{

If (Depth++ > 10)

EntityA与EntityB没有关系,退出

NodeTemp = GetNode(EntityTemp);

If (NodeTemp中有EntityB)

通过EntityTemp得到EntityA与EntityB的关系,

成功

Else

NodeA = NodeA + NodeTemp

}

}

4.      实体信任程度计算方法

在计算信息系统中实体间的信任程度时,需要考虑到信任所具有的如下特点:

(1)      信任的不对称性;

(2)      信任的领域相关性;

(3)      信任的传递性。

在信息系统中,实体间的血缘关系也具有不对称性的特点,例如,若实体A是实体B的指导老师,则实体B是实体A的学生,所以,实体A对实体B的关系不等同于实体B对实体A的关系。反映到信任中,则可以说,实体A对实体B在学术上的信任程度不等同于实体B对实体A在学术上的信任程度。

实体具有多种类型的血缘关系,每种血缘关系都会有一棵家族树与之对应,能够分别表示实体间不同领域的信任。例如,实体的学术家族树可以用以表明实体间学术领域的信任,实体的烹饪家族树可以表示实体间烹饪领域的信任。一般情况下,不同领域间的信任是不能相互转换的,因此,不能说实体A在学术领域很信任实体B,就会存在实体A在烹饪领域对实体B的信任。

实体间的同领域的关系是具有传递性的。实体A是实体B的指导老师,实体B是实体C的指导老师,则可以认为,实体A也是实体C的指导老师。在实体信任中,在同一领域,若存在实体A对实体B的信任,实体B对实体C的信任,则也存在实体A对实体C的信任,只是信任程度可能不同。

目前,在对信任的研究中,常将信任度空间表示成0到1上的闭区间,0表示完全不信任,1表示完全信任。在将信任度空间进行划分时,可以将其划分成三级,也可将其划分成五级。本发明采用如下的划分方法:

表3

信任区间信任等级0不信任(0,0.25]有点信任(025,0.5]一般信任(0.5,0.75]很信任(075,0.1)非常信任1完全信任

本发明在将实体间的血缘关系转换为实体间的信任度时,利用以下的规则进行转换:

规则1:在同一领域中,若实体之间是父子关系,则父实体(EntityF)对子实体(EntityS)的信任度:D(EntityF,EntityS)=d1,子实体对父实体的信任度:D(EntityS,EntityF)=d2,其中0≤d1≤d2≤1。

规则2:在同一领域中,两实体(实体1:EntityS,实体2:EntityT)通过其他N个实体(Entity1、Entity2、…、EntityN)相连,且有

D(EntityS,Entity1)=d1

D(Entity1,Entity2)=d2

……

D(EntityN,EntityT)=dn+1

则D(EntityS,EntityT)=Ksn×d1×d2×…× dn+1,其中0<Ks≤1,Ks称为同域传递因子。

规则3:在不同的领域中,计算实体间的信任度时遵守信任转换的末尾一致性原则,若存在N个实体(Entity1,Entity2,…,EntityN),且有:

Ddomain1(Entity1,Entity2)=d1

Ddomain2(Entity2,Entity3)=d2

……

Ddomainn(EntityN-1,EntityN)=dn-1

则实体Entity1与实体EntityN在不同领域里的信任度为:

Ddomain1(Entity1,EntityN)=0

Ddomain2(Entity1,EntityN)=0

……

Ddomainn(Entity1,EntityN)= Kdn-1×d1×d2×…× dn-1

其中domain1,domain2,……,domainn表示不同的领域0<Kd≤1,Kd称为异域传递因子。

规则4:当实体之间可通过多种方式计算信任度时,则取最大的信任度作为实体间的信任度。

在图12中,包含了实体A与实体D在学术领域的家族树,以及实体D在烹饪领域的家族树。并作出如下规定:

(1)      学术领域中,子实体对父实体的信任度为1,父实体对子实体的信任度为0.9;

(2)      同域传递因子Ks为0.7,异域传递因子Kd为0.5。

则有:

Dscience(A,E) =Ks2×Dscience(A,B)×Dscience(B,D)×Dscience(D,E)

=(0.7)2×0.9×0.9×0.9=0.36

Dscience(E,C) =Ks3×Dscience(E,D)×Dscience(D,B)×Dscience(B,A) ×Dscience(A,C)

=(0.7)3×1×1×1×0.9=0.31

Dcooking(A,G) = Kd×(Ks×Dscience(A,B)×Dscience(B,D))×Dcooking (D,G)

=0.5×(0.7×0.9×0.9)×0.8=0.23

Dscience(G,A) =0

由上述的计算可知:

在学术领域,实体A对实体E的信任度为0.36,属于“一般信任”,实体E对实体C的信任度为0.31,属于“一般信任”;

在烹饪领域,实体A对实体G的信任度为0.23,属于“有点信任”,但实体G对实体A的信任度为0,属于“不信任”。

5.      信息系统中实体信任的血缘描述系统

在信息系统中,保护信息的安全一直是研究的热点,本发明提出了信息系统中实体信任的血缘描述系统,该系统用主体之间的血缘描述来描述信息发布者与访问者之间的信任程度,并以信任为基础,授予访问者对信息的不同访问权限。

(1)      系统功能结构

该系统按照功能划分,可以分为三部分:血缘关系的描述模块、信任计算模块和信息访问模块。如图13所示。

血缘关系描述模块:主体之间会由于交往、合作,而形成主体间的传承关系,即主体的血缘关系,该模块用于对主体间的血缘关系进行描述,包括对血缘关系的存储、演变和鉴定等工作。

信任计算模块:依据主体间形成的各种血缘关系,以及将血缘关系转换为主体信任程度的计算方法,用以判断主体间的信任等级。在该模块中,主体可以设置计算信任程度的参数,依据参数和主体间的血缘关系,计算主体间信任的等级(不信任、有点信任、一般信任、很信任、非常信任和完全信任)。

信息访问模块:主体在将信息发布时,可以为信息设置访问权限,使得只有满足访问权限的访问者才能够访问信息。该模块通过访问规则的植入,将访问规则等内容植入到信息中,访问者在访问信息时,需要通过权限鉴定,判断访问者所拥有的访问权限,并依据访问权限,展示访问者能够访问的内容。

(2)      血缘关系描述模块

该模块用于描述主体的血缘关系,并对关系进行维护和管理。

a)      血缘关系的存储

主体血缘关系描述的是一个层次结构,逻辑上可以用家族树进行展示,并采用XML格式进行存储。

对于图12中的实体A的家族树,采用XML格式存储如下:

<Lineage_Relationship>

<Title>Science</Title>

<Node>

<Name>A</Name>

<Node>

<Name>B</Name>

<Node>

<Name>D</Name>

</Node>

</Node>

<Node>

<Name>C</Name>

</Node>

</Node>

</Lienage_Relationship>

在上述的XML中,“Title”表示的是家族树的语义,表明是一棵学术领域的家族树,每一个“Node”中的“Name”表示节点的名称,也即是主体的标识。

b)      血缘关系的演变

主体在交往的过程中,主体的血缘关系会发生改变,主要有两种方式:新增关系和删除关系。

新增血缘关系

可以通过两种方式新增血缘关系:双方协商添加直接血缘关系和借鉴其他主体的血缘关系扩展自身的血缘关系。

双方协商添加血缘关系的过程如图14所示。

在图14中,主体A若要与主体B建立直接的血缘关系,则只有在实体B同意之后,才能够修改自身的血缘关系。为了保证两个主体的血缘关系都能够被修改,双方需要做多次确认操作。在A修改了自身的血缘关系之后,会向B“发送回执”,让B也修改自身的血缘关系,如果B没有收到回执,也就不会“发送确认”,则A会继续向B“发送回执”,只有收到B的“发送确认”后,操作才结束。

主体在交往的过程中,也可以将对方的血缘关系添加到自身的血缘关系中,在图6中,主体A依据主体B的家族树,对自身的家族树进行扩充,也即是对主体A的XML血缘关系文件进行修改。

<Lineage_Relationship>

<Title>Science</Title>

<Node>

<Name>A</Name>

<Node>

<Name>F</Name>

<Node>

<Name>G</Name>

</Node>

<Node>

<Name>B</Name>

<Node>

<Name>D</Name>

</Node>

<Node>

<Name>E</Name>

</Node>

</Node>

</Node>

</Node>

</Lienage_Relationship>

在上述的XML格式中,带有下划线的部分为来自于主体B的血缘关系。

删除血缘关系

血缘关系的删除必须遵守两个原则:

(1)      只能申请删除与自身是直接血缘关系的关系;

(2)      要级联的删除其他主体中相应的血缘关系。

在图15中,展示了删除血缘关系的过程。其中,主体A申请删除血缘关系,如果被允许,则在删除了相应血缘关系之后,将给主体A的所有有关联的主体发送消息,用于删除此关系。在图15中,主体A向主体B和主体C发送删除消息,主体B和主体C在删除了关系之后,先向主体A发送删除确认,再向与自身有关联的主体发送删除此关系的消息。如果主体A在等待一段时间后,没有收到主体B或主体C的删除确认,则认为主体B或主体C没有收到主体A的消息,主体A重新向主体B或主体C发送删除消息。此过程用于级联的删除血缘关系。

c)      血缘关系的鉴定

血缘关系鉴定器用于鉴定两个主体之间的关系。鉴定血缘关系时有三种情况:

(1)      主体直接存在于对方的家族树中——直接判断

(2)      两主体的家族树中存在公共主体——间接判断

(3)      两主体的家族树中不存在公共主体——利用第三方判断

血缘关系鉴定器的工作流程如图16所示。

依据图16所展示的流程,直接判断和间接判断的过程都非常简单,而利用第三方判断的过程较为复杂。在利用第三方进行判断时,使用的是广度优先策略,并且需要设置搜索的深度,如果超过该深度,仍没有找到主体间的关系,则认为这两主体间没有血缘关系。

(3)      信任计算模块

信任计算模块用于根据主体间存在的血缘关系,利用设定的信任计算方法,定量的描述出主体间的信任程度。

a)      规则参数设置

在前面介绍的实体信任程度计算方法中,需要设置以下几种参数:

Ddomain(EntityA,EntityB)=d:主体“EntityA”在“domain”领域对主体“EntityB”的信任程度为“d”,其中0≤d≤1;

Ks:在同一领域,信任的传递因子,其中0<Ks≤1;

Kd:在不同领域,信任的传递因子,其中0<Kd≤1;

在计算主体间的信任等级时,都要使用到这些规则参数,因此,所有的主体都共享一份规则参数表。为了能够灵活的对参数进行读取操作,用XML的格式存储规则参数,格式如下:

<Lineage_Parameters>

<Some_Domain>0.8</Some_Domain>

<Different_Domain>0.5</Different_Domain>

<Direct_Trust>

<Part>

<Name>Science</Name>

<Ancestor_Descendant>0.8</Ancestor_Descendant>

<Descendant_Ancestor>1</Descendant_Ancestor>

</Part>

<Part>

<Name>Cooking</Name>

<Ancestor_Descendant>0.9</Ancestor_Descendant>

<Descendant_Ancestor>1</Descendant_Ancestor>

</Part>

……

</Direct_Trust>

</Lienage_Parameters>

在用XML格式表示规则参数时,“Some_Domain”表示同一领域的信任传递因子,“Different_Domain”表示不同领域的信任传递因子,“Direct_Trust”表示具体领域中主体间的直接的信任程度,“Name”表示领域的名称,“Ancestor_Descendant”表示祖先对直接后代(上级对直接下级)的信任程度,“Descendant_Ancestor”表示后代对直接祖先(下级对直接上级)的信任程度。在XML中,可以设置多种具体领域中的祖先与后代之间的信任程度。

b)      信任等级判断

信任判断用于计算两个主体之间的信任程度,依据信任程度所处的信任区间,判断主体的信任等级(如表3中所示)。

信任等级的判断过程如图17所示。

在判断主体间的信任等级时,首先,需要利用血缘关系鉴定器,鉴定两主体间是否存在血缘关系,如果不存在血缘关系,则直接判断为“不信任”,否则,需要判断两个主体间的关系存在于哪些领域,然后再读取存储规则参数的XML文档,解析出所需要的参数,然后依据信任程度的计算方法(规则2至规则4),计算出主体间的信任程度,并判断信任程度所处于的信任等级(表3)。

(4)      信息访问模块

该系统用于提高信息的安全,使得只有与信息发布者达到一定信任等级的访问者才有权访问信息,因此,发布者在发布信息前,需要对信息设置访问规则,再依据发布者对访问者的信任程度,授予访问者相应的权限(读、写),最后依据访问者的权限,展示信息的内容。

a)      访问规则植入

信息发布者在发布信息之前,可以将信息的内容分成若干块(通常以段落为单位进行分块),然后为各个块设置访问规则,在访问规则中需要规定,与信息发布者达到何种信任等级的访问者所具有的访问权限。用XML格式存储访问规则,如下:

<Access_Rule>

<Creator>EntityA</Creator>

<Part>

<Trust_Degree>Very Trust</Trust_Degree>

<Right>Write</Right>

</Part>

<Part>

<Trust_Degree>Little Trust</Trust_Degree>

<Right>Read</Right>

</Part>

……

</Access_Rule>

在用XML格式表示访问规则时,“Creator”表示信息的发布者,对信息的块可以设置多种访问权限,“Trust_Degree”表示信任的等级,有五种:不信任(No Trust)、有点信任(Little Trust)、一般信任(General Trust)、很信任(Very Trust)、非常信任(Great Trust)和完全信任(Full Trust),“Right”表示权限,有两种:读(Read)和写(Write)。

在设置访问权限时,若设置了某一信任等级所拥有的权限,则比该信任等级高的信任等级自动拥有该权限。例如,如果“很信任”具有“写”的权限,那么,“非常信任”和“完全信任”就具有“写”的权限。

规则设置以后,将用数字水印技术将访问规则嵌入到信息的块中。数字水印技术的特点是将信息嵌入到数字载体(文档、图片、软件等)后,不影响原载体的使用价值,也不容易被人的知觉系统觉察或发现。可以利用图像水印、音频水印、视频水印以及文本水印等技术,将访问规则嵌入到各种类型的信息中。

b)      访问权限鉴定

访问者在访问信息时,需要先判断对信息块所具有的访问权限,然后依据访问权限,设置信息块的展示访问(写、读和隐藏),该流程如图18所示。

在访问权限鉴定的过程中,首先需要依据信息发布者与访问者之间的血缘关系,判断发布者对访问者的信任程度,确定所处的信任等级,然后提取出信息中每一个块的水印信息(访问规则),依次判断访问者所拥有的权限(写、读或者不允许访问)。若访问者拥有写权限,则将信息块的内容展示,并允许访问者进行修改操作,若访问者拥有读权限,则只展示信息块的内容,不允许对内容进行修改,若访问者不具有访问权限,则将该信息块的内容隐藏,访问者看不到该信息块的内容。

(5)      应用前景

信息系统中实体信任的血缘描述系统,能够依据主体之间的血缘关系计算主体间的信任程度,并能够依据信任程度设置信息的访问规则,使得与信息发布者有不同关系的访问者具有不同的访问权限,此种信息安全保护方式较为灵活,可应用于多种领域。

该系统可用于企业内部信息的共享。将员工因职位的不同,而形成的层次关系作为血缘关系,可依据此关系判断员工间的信任程度。员工在发布信息时,可设置信息的访问权限,使得不同关系的员工所能够访问的信息内容不同,实现企业内部信息的灵活共享。

该系统也可用于网络社区中,建立网络社区中主体之间的血缘关系,并判断主体间的信任程度,主体在发布信息时,同样可设置信息的访问权限,使得不同的主体能够访问的内容不同。

因此,该系统可以应用于多种领域,具有广阔的应用前景。

以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号