- ·上一篇教程:样本 DB2 Web 服务总结(第二部分)
- ·下一篇教程:业务基础、需求和 Web 服务描述
Web 服务保密性、安全性和精确性
IBM 硅谷实验室
2001 年 12 月
IBM Video Central for e-business 是一个端到端的样本解决方案,它提供了一组商家对商家(business-to-business,B2B)Web 服务来访问被专门设计用于录像租借业的 DB2 数据中央资源库。就象任何电子商务风险那样,数据保密性、安全性和精确性是解决方案成功的关键。本文描述了基于基本 Video Central 解决方案的实现框架,它是解决这些问题所必需的。
IBM Video Central for e-business 概述
IBM Video Central for e-business(以下简称 Video Central)是一组 Web 服务,这些服务提供跨多个商家的中央资源数据库的访问。该资源库的目的主要是跟踪客户信用、客户已租借的和感兴趣的影片列表、客户对影片的评级和评论、影片信息以及客户和商家注册信息。
Video Central Web 服务向租借商提供了以下能力:
- 根据客户的租借信用设置他们的最大租借限制
- 对拥有良好信用的常客给予优惠
- 使用以前的租借历史检查来避免向客户提供重复租借
- 使客户在所有租借商内都很容易获得其感兴趣的影片列表
- 使商家能够推荐在库存中的客户感兴趣的影片
- 根据客户的租借历史、感兴趣的影片列表、以前的租借评级以及影片的实际信息,通过商业智能查询向客户推荐租借影片
- 根据已本地化的商家的客户喜好和影片的实际信息,通过商业智能查询向商家提供推荐影片的采购数量
- 通过从中央数据库自动抽取新近购买的影片,避免该数据的手工和重复输入,从而使本地商家数据库自动更新新的租借影片信息
- 使客户方便地获得各个商店对影片的评级和评论
- 向商家提供客户概要更新的自动通知
需求
通过 Web 服务访问可能敏感的数据必须严格满足数据 安全性、保密性和 精确性需求。
免责声明:IBM Video Central for e-business 教程
IBM Video Central 教程是一个包含一步一步指南的完整的工作应用程序,演示了作为 Web 服务提供程序的 DB2 和作为 Web 应用程序服务器的 WebSphere®。该教程包含完整文档,它是将五个 Web 服务成功部署到 WebSphere 应用程序服务器所必需的。该教程还提供了客户机应用程序,以演示这些 Web 服务的实际操作。该教程演示了 DB2 XML Extender 的动态 XML 映射能力。
在编写本文时,只实现了 Video Central 的第一阶段。该实现提供了基本的 Web 服务,即客户信用跟踪以及感兴趣的和已租借的影片列表。这些已实现的服务支持基本的安全性,即支持以明文方式发送作为服务请求一部分的商家用户名和密码。
在以下 URL 可以找到该教程: http://www.ibm.com/software/data/developer/samples/video/
数据安全性
Video Central 提供了一组访问中央资源数据库的 Web 服务。尽管 Video Central 的网络体系结构允许安装和配置防火墙,以便通过一组定义良好的 Web 服务允许进行有限访问,但还存在着安全访问这些数据的需要,因为因特网是一种开放媒体,任何人都可以在其中捕获和查看数据。
为了理解对数据访问提供安全框架的含义,我们首先必须理解哪些是安全性问题,即因特网安全性缺口是什么以及可以采取哪些预防性措施。
因特网安全性缺口
两类常见的因特网安全性缺口是嗅探(sniffing)和欺骗(spoofing)。嗅探是拦截和检查数据包操作,而欺骗是模仿身份操作。对于 Video Central,嗅探转变成查看 Web 服务请求和应答数据,而欺骗转变成通过使用被嗅探到的注册 Web 服务消费者的身份来发出 Web 服务请求。
因特网安全性措施
安全访问因特网上的数据意味着携带敏感数据的 Web 服务必须显示出以下安全特性:
- 防止数据嗅探的加密,以及
- 防止欺骗的身份验证。
数据加密
对于在 HTTP 上使用 Java™ HTTP servlet 来实现的 Web 服务,通过在安全套接字层(Secure Sockets Layer,SSL)上交换数据包,可以实现数据加密。对于使用简单对象访问协议(Simple Object Access Protocol,SOAP)来实现的 Web 服务,数据加密也可以通过使用 SSL 来实现,因为 SOAP 的有效负载也是在 HTTP 上发送的。
身份验证
身份验证可以通过使用许多方法来实现,这些方法包括使用数字证书技术,例如像 Verisign 这类公司推出的个人和服务器证书。
另一种方法是使用公钥和私钥机制,对于 Video Central 而言,这是一种很简单的解决方案。
- 当业务应用程序注册了 Video Central Web 服务,就会生成一个公共商家标识和一个私有安全性密钥,而且它们会作为已加密响应的一部分而从注册 Web 服务返回。
- 对于已加密的 Web 服务,公共商家标识和私有安全性密钥作为请求的一部分而被发送。Video Central 会在处理请求之前先验证该私钥。
- 对于未加密的 Web 服务,必须首先生成公钥,随后它就连同公共商家标识和该请求的序列号一起作为请求的一部分以明文方式被发送。Video Central 会在处理该请求之前先验证该公钥。
图 1. 商家注册 Web 服务
使用私钥的 Web 服务十分安全,因为数据加密后进行嗅探时根本无法识别这些密钥。
使用公钥的 Web 服务存在欺骗的风险,因为公钥是以明文方式发送的,没有对它加密,所以就可能被别人嗅探到。为了防止这类攻击, 必须在发出每个请求之前先生成公钥,而且该公钥必须只对该请求有效。
通过使用以下算法可以实现这种方法:在生成公钥时使用一种加密算法,这种加密算法通过使用以下方法将私钥和 Web 服务请求序列号作为输入接受:
int GetPublicKey ( int PrivateKey, int SequenceNo )
如果给定私钥和序列号,那么这个方法基本上就会生成公钥。Video Central 就使用这一机制来生成公钥。如果所生成的密钥与请求的公钥相匹配,那么请求的来源就得到了验证,而该请求也会得到处理。注意序列号是一个递增数字,而且在登录会话中只能使用一次。
选择性安全性措施
选择性安全性措施是必须要被实现的,因为数据加密和公钥/私钥识别是非常消耗内存的操作,而且并不是所有已交换的数据都需要相同级别的安全性保护。例如,发送客户感兴趣的影片列表更新并不象保护客户识别记录(包含客户私有数据)那么重要。
选择性安全性要求实现以下三个安全性级别:
- 用于查询非敏感数据的低级安全性,
- 用于更新非敏感数据的中级安全性,以及
- 用于查询和更新敏感数据的高级安全性。
低级安全性
在查询包括影片名称信息、对影片的评级和评论,以及客户感兴趣的影片列表、客户已租借的影片列表和客户被推荐的影片列表之类的非敏感数据时,需要这一级别的安全性。这类 Web 服务所需的唯一安全性验证是公共商家注册标识,它授权商家访问这些 Web 服务。
图 2. 低级安全性 Web 服务
中级安全性
更新包括客户感兴趣的和已租借的影片列表中的各个项以及客户对影片的评级和评论在内的非敏感数据时,需要这一级别的安全性。这类 Web 服务所需的安全性验证是公共商家注册标识,以及通过使用上面概述的公钥安全性保护进行身份验证的额外措施。
对这类服务使用数据加密是可能的;但是增加的性能开销并不合理,因为被更新的数据实际上并不敏感。
图 3. 中级安全性 Web 服务
高级安全性
在更换敏感数据时需要这一级别的安全性。这包含诸如更新商家识别记录、更新客户识别记录以及查询或更新客户违规记录之类的操作。这类服务所需的安全性验证是公共商家注册标识、使用私有安全性密钥进行身份验证以及对被传输的数据进行加密。
图 4. 高级安全性 Web 服务
数据安全性小结
以下对数据安全性作一个小结:必须合理使用安全性机制,以确保敏感数据未受到数据嗅探和身份欺骗。加密的开销很大,因此只有当数据嗅探造成安全性风险时才可使用它。公钥和私钥验证可以缓解身份欺骗问题,因此也应该在欺骗造成安全性风险时使用它。
必须合理使用选择性安全性措施,以防止嗅探和欺骗,只在必要时才使用这些措施,以避免为解决这两类问题而实现安全性措施所产生的性能下降。
数据保密性
Video Central 收集了有关租借商和租借商客户的数据;因此在这一环境中数据保密性意味着:
- 这些商家所收集的有关租借商客户的数据本质上为该客户所拥有,并且该客户只准许这些商家将有限访问用于提供增值服务目的。
- 收集的有关租借商的数据本质上为租借商所拥有,并且该商家只准许 Video Central 将有限访问用于使该商家能够对其自身及其客户提供价值和服务这一目的。
为了满足保密性需求,我们首先必须分析所收集的客户数据类型。Video Central 数据资源库跟踪以下客户数据:
- 客户识别记录
- 客户信用记录(违规历史记录)
- 客户已租借的和感兴趣的影片列表记录
客户识别记录
客户识别记录(customer identification record,CIR)用于唯一标识客户,并为该客户分配全局唯一标识符。这一全局唯一标识符(global unique identifier,GUID)稍后用于访问其它客户信息,特别是包括客户信用、客户的影片租借历史以及客户感兴趣的列表。
当已注册的商家获得新客户时,该商家就向 Video Central 发出 Web 服务请求以注册该新客户。该注册服务为新客户创建新的 GUID,或者,如果在中央资源数据库中找到相匹配的客户记录,那么就返回现有的 GUID。
CIR 必须包含足够信息,以唯一标识客户。所包含的这类信息包括客户家庭住址、电话号码、电子邮件地址以及诸如社会保障号(SSN)、驾驶证号(DLN)等这样的客户识别号。在大多数情况中,CIR 将只包含这些信息中的一部分,因为客户可能不想泄露象 SSN 或 DLN 这样的私人信息。即使不考虑这些事实,因 CIR 内包含的信息是客户私人信息,所以也必须受保护。
保护客户识别记录
为了保护 CIR 数据,Video Central 必须对这些记录作以下明确声明:
- 决不通过 Web 服务向任何商家泄露这些记录,而且
- 只用于对新客户分配 GUID 或为现有客户查找 GUID 这一目的。
客户信用记录
客户信用记录(customer credential record,CCR)用于评估客户并确定租借商应该为这些客户提供的服务的类型和级别。这类数据不属于“数据保密性”一节;而应该属于“数据精确性”部分。
客户感兴趣的和已租借的影片列表记录
客户感兴趣的和已租借的影片列表记录分别用于跟踪客户可能想租借的影片以及客户过去已租借过的影片。使用这些数据的目的是通过使这些信息随处可得,以向租借商的客户提供增值服务。这些增值服务包括:
- 通知商家可能存在重复租借,
- 根据感兴趣的清单中的各个项来推荐库存影片,以及
- 根据使用数据挖掘查询(检查客户感兴趣的和已租借的清单、客户对影片的评级、客户概要以及数据库中其它客户和影片资源)的商业智能来推荐影片。
保护感兴趣的和已租借的影片列表记录
为了保护感兴趣的和已租借影片列表记录这些数据,Video Central 必须满足这些要求:
- 客户必须明确同意共享这些数据,以获得增值服务的好处。必须通过租借商自身来间接提供这一协议,
- 已注册商家不可共享客户的敏感概要数据,而只可共享客户感兴趣的和已租借的影片列表数据项,
- 不可共享商家的敏感数据,包括客户租借的或感兴趣的影片所属的商家身份。因此,有关某一租借商所拥有的影片数量或性质信息就不会传递给其他租借商。该租借商的信息被审查,只交换客户信息(即租借历史、感兴趣清单以及信用)。因而不会与其他商家交换商家的客户清单或日常租借数量,
- 只要客户明确请求终止数据交换,在任何时候都可以终止数据交换,
- 只向已注册了某一客户的商家提供该客户的数据。
数据保密性小结
以下对数据保密性作小结:客户和商家(电子商务消费者)最终拥有的是数据,而不是 Video Central,它是电子商务的提供者。为了保证保密性,客户必须能够选择是否共享数据,商家间不能交换商家的敏感数据并且在未获得数据所有者的明确许可的情况下,不能将数据出售或泄露给他人。
数据精确性
必须确保中央资源数据库中包含的数据精确性,以保护 Video Central 所提供的 Web 服务的价值。尽管所有的客户数据都必须很精确,但是有些数据元素所需要的精确程度要比其它数据元素高。
很明显,感兴趣影片列表或已租借影片列表中的错误项不像错误的客户信用数据项那么事关重大,因为后者会限制租借商家可能向其客户提供的服务类型。
客户信用数据的精确性
Video Central 提供的客户信用 Web 服务类似于 Equifax 等提供的信用历史和评级服务。基本上,它跟踪客户造成的任何违规,包括租借的未及时归还、录像受损或录像影片的丢失或失窃。租借商可以查询这些信用报告,随后可以对他们向该客户提供的服务加以限制,例如限制租借影片数和限制租借其它项,例如不支付适当押金就限制使用昂贵的影片设备。
因为客户信用数据库内包含的数据会严重影响商家向其客户提供的服务质量和数量,因此客户应该能够直接从 Video Central 请求信用报告,并询问这些报告的来源和有效性。
确保客户信用数据的数据精确性
为了确保客户信用数据的数据精确性,必须进一步增强 Video Central,以提供以下各项:
- 基于 Web 的界面,以允许客户请求信用报告并询问报告项的来源和合法性,
- 一组 Web 通知服务,以告知商家有疑问的信用报告项,
- 一组 Web 服务,以允许商家撤销、修改或重新声明有疑问的客户信用项,以及
- 确保信用报告项的有效期为一年到三年。
数据精确性小结
以下对数据精确性作一个小结:在收集影响服务类型(可以提供给客户)的客户数据时,电子商务解决方案提供者必须使他们的客户能够查看这些数据并询问这些数据的精确性和来源。
结束语
根据客户的概要和历史数据,为他们专门提供个性化的服务以满足他或她的需要,这样做会带来极大的好处。
因为客户最终是与多个商家打交道,所以必须跨这些商家共享某些客户数据,以利用一组更精确和更完整的个性化服务。
客户数据共享必须遵循一套严格的规则,以确保安全性、保密性和精确性,因为客户本身最终拥有他们的数据,并且只准许商家对它进行有限访问。
IBM Video Central for e-business 提供了一个中央资源库和一组 Web 服务,它们使租借业(不管是在线租借商还是传统租借商)能够共享非敏感的客户数据,以提供个性化的和定制的录像租借服务。
本文概述了一个应该根据基本 Video Central 解决方案来实现的框架,以有助于获得用于数据安全性、保密性和精确性的标准集合。可以扩展这一框架,以用于交换任何客户敏感数据的所有 Web 服务。
关于作者 Abdul H. Al-Azzawe 是位于圣何塞(San Jose)的 IBM 硅谷实验室的高级软件工程师,自 1990 年以来一直为 IBM 工作。他是下一代 DB2 应用程序开发工具的首席架构设计师。在此之前,Abdul 是多伦多实验室的核心 DB2 引擎开发团队的成员。Abdul 是 IBM 视频系列端到端样本解决方案的架构设计师,该解决方案中的第一个方案就是 IBM Video Central for e-business。 |




Abdul H. Al-Azzawe 是位于圣何塞(San Jose)的 IBM 硅谷实验室的高级软件工程师,自 1990 年以来一直为 IBM 工作。他是下一代 DB2 应用程序开发工具的首席架构设计师。在此之前,Abdul 是多伦多实验室的核心 DB2 引擎开发团队的成员。Abdul 是 IBM 视频系列端到端样本解决方案的架构设计师,该解决方案中的第一个方案就是 IBM Video Central for e-business。 
