- 相关推荐
一种分布式移动SNS的资源访问授权方式
引言
移动 SNS[1]是SNS 的更深层次的应用,用户可通过移动终端访问移动互联网上的SNS服务,为用户的网上或网下的生活和工作以及使用其他网络服务或应用提供有效的帮助。现有的移动SNS 网站都是基于集中式思想设计的。然而,集中式的SNS 网站存在下列问题[2]:1)、人类维护独立的社交领域这种心理特性限制了SNS 网站的使用。2)、集中式的SNS 或集中式的移动SNS 能够将人际关系网的资源完全挖掘出来,这样将用户的个人隐私完全暴露,设计一个便利和可信的SNS 服务比较困难。3)、集中式的SNS 网站较多,各个系统间不能互通,这样导致了同一个用户在不同网站拥有不同的社交网络。未来SNS 发展方向很可能是去中心化的,以每个用户为中心的模式,每个用户都拥有自己的互联网社会化入口[2],这个入口我们可以认为是一种个人资源中心,用户个人资源信息在个人资源中心中组织,用户可通过移动终端进行交友,还可通过PC 机或移动终端等多种方式进入自己的资源中心或访问他人的个人资源中心,实现真正意义上的分布式移动SNS。
文献[3] 提出了一种基于FOAF 的分布式移动SNS 的应用方法,用户的社交数据保存在自己的终端,用户在特定场所的评论和活动等数据保存在该场所的服务中心。这种方式在一定程度上解决了SNS 服务“虚实结合”的问题,实现了现实环境下的交友,但是没能很好地整合用户网络SNS 的资源数据,并且在资源访问授权上有着比较大的局限性。
为解决在上述提及的资源访问授权的问题,本文提出一种基于票据和D-FOAF 的访问授权解决方案,基本思想是:用户的在互联网上的SNS 网站资源信息通过整合存放在自己的服务器上,服务器将用户的个人资源整合为个人资源中心PRC(Personal Resource Center)。用户终端和个人资源中心上均保存着用户的社交网络数据,并进行同步。用户终端可以生成票据并传递给其他用户终端,票据是一种授权凭证,获得票据的用户可以获得相应的个人资源中心访问权限。个人数据中心上存在着访问控制引擎,根据好友级别和票据信息过滤访问请求,实现了安全可信的访问。
本文描述了两个具有代表性的分布式移动SNS 的资源共享及授权的应用场景,一方面用以说明本文提出方法的实际意义,另一方面也为设计和开发基于P2P 网络的创新应用提供了借鉴范例。
1 场景描述
以下列出两个可能的应用场景:
场景一:张明在旅行途中遇到了老同学李刚,张明通过自己的手机终端将李刚添加为自己的好友,李刚此时则可以直接通过网络访问张明的个人资源中心资源。在浏览过程中李刚希望查看张明刚出生孩子的照片,然而该资源被设置为1 度好友关系的人且持有票据才能访问,李刚访问失败,于是李刚向张明请求相应级别的票据,张明通过智能终端生成访问私密资源的票据并将其发送到李刚的终端,李刚凭借该票据顺利地获得访问权限。
场景二:张明参加一个同乡聚会,在聚会过程中他成为了会场中最受瞩目的一个人,大家都希望了解张明的一些个人信息,于是张明通过智能终端向每个参会的人员发布一个票据,参会人员均可通过获得的票据访问张明个人资源中心的部分公开资源,这部分的公开资源只需访问者持有一定级别的票据即可访问,无需访问者与张明存在好友关系。
2 系统介绍
本节主要介绍个人数据中心以及终端软件体系架构,并对系统交互流程进行了说明。
2.1 个人资源中心 PRC 框架
个人资源中心PRC 的整体框架所示。
PRC 系统由数据层、通信中间件、访问控制过滤引擎、资源管理子系统、好友级别管理子系统、票据有效性管理子系统和个人门户等部分组成。各部分的定义及其作用如下:
1.数据层:数据层中包含3 种类型的数据信息,FOAF 数据,票据数据,以及个人资源PR(Personal Resource)数据三种。FOAF 数据由用户自定义的一些个人以及好友信息;票据保存的是由用户自己生成的票据,票据的生成是在用户终端上完成;个人资源(PersonalResource)数据可采用文献[4]中的方法获取,本文假设个人资源信息已从网络上获取。
2.通信中间件:和终端进行通信的中介。
3.资源管理子系统: 资源管理子系统具有资源索引、资源集合和资源访问规则管理等功能。资源管理子系统为用户提供操作界面和接口,便于用户生成资源索引。用户可通过资源集合模块自定义创建不同的资源集合(如家庭活动、校园活动和社会活动等),用户可将对应的资源归入某种资源集合之中。对于每项资源集合,系统会给定一个默认的访问规则,而用户也可以通过资源访问规则管理模块对资源集合自定义访问规则,并将访问规则导入访问控制过滤引擎中的访问过滤器。
4.好友级别管理子系统: 好友级别管理子系统通过通信接口与终端设备保持FOAF 信息的同步,好友的级别由好友级别计算模块依据FOAF 数据,通过Dijkstra 算法计算出来。
5.票据管理子系统: 票据管理子系统通过对票据有效期的计算判断票据是否有效,并定期删除无用票据。另外可以提取票据中的票据级别以及票据跳数信息,计算出票据有效性系数,供访问控制引擎使用。
6.访问控制过滤引擎:每一个用户访问均需要通过访问控制过滤引擎,首先通过访问信息生成模块生成形式化的资源访问信息,该信息包括资源类型、好友级别和票据有效性系数等。然后通过资源过滤器根据访问过滤算法得出是否允许访问。
7.个人门户: 个人门户是其他用户访问自己个人资源中心的入口,资源以及个人信息等内容在个人门户呈现。
2.2 终端软件功能
终端软件的整体框架所示。用户终端需要部署有终端票据系统,终端票据系统包括中间件模块,票据管理模块和FOAF 管理模块。中间件模块主要向外提供一定能力的开放接口,包括应用引擎和网络能力接口。应用引擎主要用于对xml 文件的解析,网络能力接口用于完成终端之间以及终端和PRC 之间的通信。票据管理模块的主要功能是生成票据、票据传递、票据同步、票据存储和票据加密解密等。终端票据系统与PRC 的数据交互格式为XML 和HTML。票据文件是以xml 文件的格式保存的。FOAF 管理主要用于修改FOAF 文件以及保持与PRC 中FOAF信息的一致。
2.3 主要交互流程
本节对系统中的主要交互流程进行介绍,2.3.1 节介绍了票据生成、传递及存储流程,2.3.2 节介绍了用户访问资源流程。
2.3.1 票据生成、传递及存储流程
票据生成、传递及存储的流程所示:
用户 A 通过终端的票据生成模块生成票据,通过票据存储模块将票据存储在终端中,通过票据同步模块与用户A 自己的PRC 票据数据库进行同步。随后用户A 可将票据通过票据传递模块传给用户B 的终端,用户B 的终端将收到的票据存储在自己的终端中。
2.3.2 用户访问资源流程
用户访问资源的流程如所示:
用户 B 持有用户A 产生的票据后请求访问用户A 的个人资源中心,用户B 首先在自己的票据存储单元中查找是否存在用户A 产生的票据,若存在则将票据携带在请求中并向用户A 的访问控制系统发起资源访问请求。用户A 的访问控制过滤引擎首先调用好友级别管理得出用户B 相对于自己的好友度数,然后调用票据有效性管理功能得出票据的有效性系数,根据得到的这些结果生成形式化的请求信息,然后执行过滤算法确定访问是否合法,若合法则允许用户B 的访问请求,并通过资源索引定位到请求的个人资源。
3 相关计算过程
在 PRC 的实现框架中,用户的访问本身具备两个属性:好友属性以及票据属性,好友属性是用好友的级别来表示的,也就是好友的“度”;票据属性是以用户是否持有票据以及票据的跳数决定的。资源访问规则根据这两个属性进行定义,并以此得出了访问控制流程。
3.1 好友级别计算
在本节首先对D-FOAF 进行介绍,然后提出适合本系统的好友级别计算方法。
3.1.1 D-FOAF 简介
FOAF(Friend-of-a-Friend)是一种XML/RDF 词汇表,它以计算机可读的形式描述用户Web 主页中通常会包含的个人信息,如基本信息(姓名、电子邮件地址等等)、兴趣爱好和相关朋友等信息。FOAFReaml 组织采用了FOAF 的用户信息的语法规则,提出了D-FOAF的解决方案[5]。
D-FOAF 可以对分布式环境下的FOAF 信息进行整合,获取用户进行授权和访问的一些必要信息。D-FOAF 主要解决了三个问题:
1.分布式身份管理,授权以及访问控制的算法。
2.提供了一种基于社区的访问权限代理。
3.提供了分布式环境下的社会网络信息保护。
D-FOAF 允许用户定义好友的信任度,并通过好友间的信任网建立基于信任度的好友级别模型。为好友间的资源访问控制提供了一种可能的方式。
3.1.2 好友级别计算方法
文献[6]提出了基于D-FOAF 的好友级别计算方法,在本论文中,对于好友级别的计算可进行适当的简化处理,以好友信息网为基础,以好友间联系的跳数作为好友级别的标准来进行计算,通过Dijkstra 算法可得到好友级别信息。
3.2 票据有效性计算
票据是用户对资源进行访问时所持有的凭证,系统中所用的票据以xml 文件的形式存在,下面给出的是票据的结构:
<?xml version=’1.0’?>
<ticket>
<ticketID/>
<creator>
<name/>
<url/>
</creator>
<holderList>
<name/>
</holderList>
<createTime/>
<outTime/>
<level/>
<hops/>
<transitive/>
<maxHops/>
</ticket>
票据中包含以下内容,票据标识(ticketID)、票据产生者(creator)、票据持有者列表(holderList)、票据发放时间(createTime)、票据截止时间(outTime)、票据级别(level)、是否允许传递(transitive)、票据传递跳数(hops)和票据最大允许传递跳数(maxHops)。
票据的生成者可自定义是否允许票据在用户之间传递,在票据的传递过程中,不仅会记录票据的跳数,也会记录票据传递过程中的所有持有者列表,每经过一次传递都会在票据持有者中顺序添加新的持有者。根据票据持有者列表信息今后可提供更丰富的应用。
为了保持票据在传递过程中的安全性,还必须对xml 格式的票据进行xml 加密处理,在本系统中我们采用的是完整文档加密的方式[4],对整个xml 票据文件进行加密处理。
当用户请求到达时,首先分析用户是否持有票据,若没有持有票据,则票据有效性系数为0;若持有票据,系统首先分析票据的截止时间是否到期,若已到期,则票据无效,票据有效性系数为0;若票据未到期,则对票据有效性指数进行计算,票据的有效性是由票据的级别和票据的传递跳数共同决定的,当传递跳数为1 时,票据有效性系数为票据级别数,票据每经过1 跳,其有效性系数出现相应的降低。
3.3 资源访问控制过程
本节在前两节的基础上给出了访问控制引擎的资源的访问控制过程。访问控制引擎依次判断每个访问信息中的票据有效性条件和好友度数条件是否满足资源访问策略的要求,若都满足,则允许访问进行.
4 结论
本文介绍了一种分布式移动SNS 资源访问授权方式。用户通过个人资源中心提供的接口对个人资源中心上的资源可设定更加灵活的访问规则,在该系统中我们引入了票据作为访问资源的凭证,票据持有者可通过票据访问相应的资源,这满足了现实社交环境下非好友关系的人临时访问对方资源的需求,并且提高了资源访问的安全性。另外,我们还设计了两个应用场景,说明了这种方法的创新意义和现实中的应用价值。
社交服务的终极状态应该是分布式的(或者是去中心化的)SNS,而本文设计的TAAS系统对分布式移动SNS 中资源访问控制的问题做了有益的探索,该系统也可为现有的集中式SNS 服务,为其提供访问控制能力。
中国硕士论文网提供大量免费硕士毕业论文,如有业务需求请咨询网站客服人员!
[参考文献] (References)
[1]N.B. Ellison, C. Steinfield, C. Lampe. Social network sites and society: Current trends and future possibilities.Interactions Magazine, 2012. 16(1):6-9.
[2]丁欣李尧 李烨.决胜SNS.2012 年.
[3]张龙昌刘志晗董昊.基于FOAF 的分布式移动SNS 应用. 电信科学, 2012,5:88-92.
[4]程光曦,SNS 中用户生成内容和行为数据的分析与应用,北京邮电大学,2012 年.
[5] Sebastian Ryszard Kruk, S lawomir Grzonkowski etc. D-FOAF Distributed Identity Management with AccessRights Delegation
[6]Christopher Steel,Ramesh Nagappan,Ray Lai. Core Security Patterns.2006.
【一种分布式移动SNS的资源访问授权方式】相关文章:
分布式网络系统中的数据访问设计与优化03-18
一种面向固定移动融合的移动控制切换方法03-07
SNS网络中的若干问题03-05
分布式网络信息资源重构模式及系统实现03-21
一种基于蚁群优化的分布式动态路由算法03-07
远程访问服务03-18
终身学习-人力资源开发方式的选择12-09
人力资源ABC管理法的核算方式03-25