基于可信Web服务的信息查询技术的研究
在Internet网络中,对Web站点中的信息进行查询是非常频繁的操作,但面对海量的网络信息我们的查询存在着很多安全隐患和查询效率低下的烦恼。导致查询效率低下的原因主要有两个:一是Internet网络中的信息浩瀚无边且与日俱增,Web信息没有统一的模式结构。二是Internet网络中目前还没有非常完善的查询技术来有效的帮助用户查询符合用户需求的信息。查询效率的高低与查询算法设计的好坏是密切相关的。本文主要讨论:可信Web服务,Web服务的安全性和Web查询技术。
由于互联网的开放性和不完善性,目前的互联网中存在着很多不安全的因素,而Web服务的灵活性在一定程度上也潜在着安全缺陷,所以确保Web服务的安全性是一个非常重要的问题,这就要求能够采取各种有效措施来抵御各种攻击。应用安全模型、安全机制等可以确保Web服务的完整性、私密性和安全性。
1.1 Web服务的安全通信
Web服务是采用SOAP协议标准来交换消息的,提高Web服务的可信性也就是提高SOAP消息的可信度。我们可以对SOAP消息的传送的三步骤:信息序列化?传送?反序列化进行改进:
1)服务请求者向服务提供者发送ClientHello消息;
2)服务提供者对收到ClientHello消息进行签名,再发送给服务请求者;
3)服务请求者对服务提供者进行身份认证,若通过,则生成会话密钥和进一步的请求,对请求消息进行安全处理,并连同自己的证书一起发送给服务提供者。
4)服务提供者收到请求消息后,首先对服务请求者进行验证,若通过,则建立会话,完成对请求消息的后续处理,并对处理结果进行MAC计算;
5)服务请求者收到响应消息后,进行签名、加密等处理,并使用会话密钥对处理结果进行MAC计算;
6)服务提供者收到上一步的请求消息后,验证会话的有效性,若通过,则验证MAC的有效性,并对请求消息进行后续处理,否则,若会话标识符无效或MAC验证无效,则向服务请求者发出错误消息。
这一会话过程是有时间限制的,若会话未超时,则重复步骤5、6,否则重复步骤1~6。若通信发生较严重的错误时,则会导致会话终止,通信失败,发送错误信息。
1.2 Web服务的安全机制
1.2.1 加密机制
目前用于网络通信安全的密码技术主要有对称加密、非对称加密。
对称加密:发送者和接收者都使用相同的密钥对数据进行加密和解密,一般用于加密大量数据。对称密钥技术的常用算法有DES、IDEA、RC2、RC4、SKIPJACK。对称加密算法的加密处理简单,加密解密速度快。但密钥管理困难。
非对称加密:发送者和接收者使用不同的密钥对数据进行加密和解密。非对称密钥技术的典型算法有RSA、DSA。非对称加密算法解决了密钥管理的困难,密钥是事先分配的无需在通信过程中传输,所以安全性很高,且具有很高的加密强度,但非对称加密系统的加密和解密速度慢。
1.2.2 安全认证机制
为了确保信息的安全、真实、可靠,我们必须有一种机制来验证信息传递中各方的真实身份,安全认证包括安全管理、加密处理、PKI和认证管理等问题。目前常用的安全认证机制有:数字摘要、数字时间戳、数字签名、数字证书等。
1.2.3 访问控制策略
访问控制是维护网络系统安全、保护网络资源的最重要的核心策略之一,有效的访问控制可以保证网络资源不被非法使用和非法访问。目前常用的访问控制策略有:入网访问控制、操作权限控制、目录安全控制。
信息查询一般都是借助搜索引擎页面来实现,即输入关键词利用搜索引擎在索引数据库中进行相关信息的查找,并将结果返回给用户。除了根据需要选择不同的搜索引擎之外,我们可以根据不同的查询需求采用不同的查询技术来提高查询效率。
2.1 盲目查询
盲目查询又叫做无信息查询,即按照预定的控制策略实行查询,在查询过程中获取的中间信息不用来改进控制策略。盲目查询方法有宽度优先、深度优先、代价优先、混合、向前、向后、双向等等。
2.2 启发式查询
把求解问题的具体领域的知识加入查询算法中,控制整个查询过程,以提高算法效率的查询方法叫做启发式查询。启发式查询过程中最重要的事件就是寻找和决定要扩展的下一个节点,用来估算节点希望程度的量度,叫做估价函数。一个节点的“希望度”在状态空间问题中,可以估算目标节点到此节点的距离或者解答路径包括被估价过的节点,并计算全条路径的长度或难度。每个不同的衡量标准只能考虑该问题中这个节点的某些决定性特性,所以我们可以对给定节点与目标节点进行比较,以决定相关特性。
2.3 多元搜索查询技术
网络中信息的种类繁复,单一的搜索工具根本无法满足用户的需求。多元搜索引擎是一种集合式的搜索引擎,它可以将多个搜索引擎集成在一起,并提供一个统一的检索界面,且能将一个检索提问同时发送给多个搜索引擎,达到同时检索多个数据库,再经过聚合、去除重复项之后输出检索结果。多元搜索引擎可以大大节省检索时间。多元搜索引擎适合查询一些较模糊的提问,或就某一课题的网络资源进行快速调查、摸底、综览。
2.4 常用的查询算法
实现搜索引擎最关键的就是搜索算法的实现,PageRank和HITS都是典型的网络搜索查询算法,我们可以把这两种算法应用到可信Web服务的查询技术中来。
2.4.1 PageRank算法
PageRank算法主要基于重要性平均分配的思想进行设计的。
假定Nu是页面u的出度,Rank(u)是u的重要性。PageRank假设u通过指向v的直接链接将一部分重要性(量化为Rank(u)/Nu)传递给了v页面。同样,v页面的重要性是所有直接链接到v的页面累积起来的。(Ranki(u)÷Nu)
注:Bv代表直接对v链接的所有页面的集合。
基于这个思想,通过迭代算法,我们可以得到所有页面的重要性。
2.4.2 HITS算法
HITS(Hyperlink-Induced Topic Search,超链接诱导的主题搜索)算法是Kleinberg在90年代末提出的基于链接分析的网页排名算法。
HITS算法的基本思想:HITS由用户的检索主题得到一个初始结果,构成一个算法的根集。设置非负权威权重ap和非负中心权 重h与数据库基本集中的每一个页面p相关,将所有的a和h值都初始化为相同的常数。权重规范处理,维护所有权重的平方和为1。权威与中心的权重可按如下公式更新:
第一个公式表明,如果一个页面被很多好的中心所指向,则其权威权重应当增加(即,它为所有指向它的页面的当前中心权重之和)。第二个公式表明,如果一个页面指向许多好的权威页面,则其中心权重应当增加(即,它为该页面指向的所有页面的权威权重之和)。
我们用{1,2,…,n}对页面编号,定义它们的邻接矩阵A为n×n矩阵,如果页面i链接到页面就j,则A(i,j)为1,否则为0。类似地,定义权威权重向量a=(a1,a2,…,an),和中心权重向量h=(h1,h2,…hn)。可得
h=A·a a=AT·h
注:AT是A的转置矩阵。对两公式展开k次,就有h=A·a=AATh=(AAT)h=(AAT)2h=…=(AAT)kh a=AT·h=ATAa=(ATA) a=(ATA)2a=…=(ATA)
根据线性代数,当规范化后,这两个迭代序列分别收敛于主本真向量AAT和ATA,这就证明了权威和中心权重是所收集的链接页面的固有特征,并且不受初始权重设置的影响。而在实际应用中HITS算法的查询也具有非常好的搜索结果。
2.4.3 查询算法的改进
PageRank算法和HITS算法虽然都是链接分析算法,但都存在着不足。PageRank算法会忽略了网页的内容,他的authority值只是相对于某个检索主题的权重,而HITS算法存在着“主题漂移”的现象。下面对两种算法进行改进,以便解决他们的不足。
首先利用HITS的方法构造出算法的基本集,用户的查询请求来了之后,我们首先用一个现有的商业搜索引擎进行查询,从得到的查询结果中取出一定量的信息作为算法的根集,将该根集进行扩充,将根集中的所有页面的出度和入度网页都补充进来,形成新的基本集。然后再利用PageRank算法。
PageRank算法原先是对万维网的整体分析,可以对用户的要求进行快速的响应。而HITS算法是对万维网的部分进行分析,依赖于用户查询,实时性差。改进后的算法主要是通过把HITS生成查询基本集的方法应用到PageRank算法中,这样就弥补了PageR? ank算法中页面内容无关性的缺点。新算法中引用了PageRank算法中的排序机制,也笑容削弱了HITS算法中的“主题漂移”的缺点。
利用Internet进行信息查询已经成为人们生活、工作、娱乐中必不可少的一部分。目前我们用得比较多的还是关键词查询,随着XML语言的广泛应用和Web搜索技术的发展,专业、快捷、有效的查询技术将越来越被人们所研究和使用。
[1]Papazoglou M P.Web Services Principles and Technology[M].北京:机械工业出版社,2010.
[2]Han Jiawei,Kamber M.数据挖掘概念与技术[M].北京:机械工业出版社.2007
[3]孟小峰.Web数据管理研究综述[J].计算机研究与发展,2001(4).
[4]顾宁,刘家茂,柴晓路.Web Services原理与研发实践[M].北京:机械工业出版社,2006.