




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)在线移动电子钱包的系统结构及其实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电学院硕士学位论文 摘要 随着电子商务技术的不断发展,移动电子商务( m - b u s i n e s s ) 的出现将使得电 子交易更为流行。在不久的将来,电子钱包( e w a l l e t s ) 和移动钱包( m w a l l e t s ) 可能替代今天皮革钱包,成为支付手段的首选。 本篇硕士论文在文 1 】的基础上,提出了一个基于p 2 p 的网络模式的在线电子 钱包的软件系统结构,并使用j a v a 【2 】和j x t a 【3 】技术实现了该系统原型。尽管 在系统中存在“客户端”和“服务器端”,但客户端和服务端实际上都是这个p 2 p 网络中的一个节点。在线电子钱包表现为一个客户端。为了获得某项服务,客户 端程序需要从它的可信服务器( t r u s t e ds e r v e r ) 获得该服务所需要的信用信息并 出示给该服务提供者。 系统的实现原型使用j 2 m e ( 客户端) 和j 2 s e ( 服务器端) 技术。客户端程 序部署在k 7 0 0 i 移动电话上,而t r u s t e ds e r v e r 则在普通的计算机上部署运行。通 信的实现采用j x t a 技术,通过g p r s 实现二者的连接。论文最后讨论了系统原 型的测试,并就系统的不足和进一步的研究方向进行了分析总结。 一南京邮电学院硕十学位论文 a b s t r a c t w i t he b u s i n e s st e c h n o l o g yc o n t i n u o u s l yb e i n gt a k e nm o r ei n t ou s e a n di n t r o d u c e d ,i nn e wm a r k e t st h et r a n s i t i o nt om b u s i n e s sw i l lm a k e e l e c t r o n i ct r a n s a c t i o n se x c e e d i n g l yp o p u l a r i nt h en e a rf u t u r ee - w a l l e t s a n dm w a l l e t sw i l lp r o b a b l yr e p l a c et o d a y sl e a t h e rw a l l e t sa n da l s ow i l lb e p e o p l e sf a v o r i t e t h i sm a s t e rt h e s i sp r o p o s e sas o f t w a r ea r c h i t e c t u r eo fa no n l i n e e l e c t r o n i cw a l l e tb a s e do np a p e r 1 】,a sw e l la sa n i m p l e m e n t a t i o n p r o t o t y p eo fa ne x a m p l ea p p l i c a t i o nu s i n gj a v aa n dj x t at e c h n o l o g y t h o u g hi nt h es y s t e mt h e r eh a v e “c l i e n t a n d “s e r v e r ”t h ec l i e n ta n d s e r v e ra r ep e e r so ft h ep 2 pn e t w o r k t h eo n l i n ee - w a l l e ta c t sa sac l i e n t t o a c c e s sas e r v i c et h ec l i e n ta p p l i c a t i o nr e t r i e v e st h ec r e d e n t i a l sd e m a n d e d b yt h es e r v i c ef r o mi t st r u s t e ds e r v e ra n dp r e s e n t st h e mt ot h es e r v i c e p r o v i d e r t h ei m p l e m e n t a t i o n p r o t o t y p ei s a d a p t e dt ot h ej 2 m e ( c l i e n t ) a n d j 2 s e ( t r u s t e ds e r v e r ) t h ec l i e n ta p p l i c a t i o nh a sb e e nd e p l o y e da n dr u n o nak 7 0 0 im o b i l ep h o n ew h i l et h et r u s t e ds e r v e rh a sb e e nl o c a t e do n s t a n d a r dw i n d o w sp c sw i t hr e g u l a rj v m s c o m m u n i c a t i o nh a sb e e nd o n e u s i n gj x t ao v e rg p r sc o n n e c t i o n s ad i s c u s so nt h et e s to ft h ei m p l e m e n t a t i o np r o t o t y p ei n c l u d i n gt h e l a c ko f t h es y s t e ma n dt h ef u t u r ew o r k ,i sp u b l i s h e da tt h ee n d o f t h et h e s l s 南京邮电学院学位论文独创性声明 y 7 6 5 2 0 7 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名 日期: 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:导师签名:日期: 一南京邮电学院硕士学位论文 第一章导言 最近几年来,电子商务的飞速发展远远超过了人们原先的预期。尽管互联网 的寒冬使这个速度稍微减缓下来,但是电子商务的未来还是越来越光明的。如今, 许多公司正在致力于把电子商务从有线通信向无线通信发展,这就是现在的移动 电子商务。金融机构、信用卡公司、内容提供商等领域的大公司更是投入大量的 人力物力来开发移动电子商务下的各种新业务,比如移动支付( 【l p a y m e n t ) 、移 动钱包。随着移动电子商务的发展,人们意识到需要有一个共同的标准来规范, 于是许多大公司组建了许多工作组,像全球移动商业协作组( g l o b a lm o b i l e c o m m e r c ei n t e r o p e r a b i l i t yg r o u p ,g m c i g ) 4 、移动电子交易( m o b i l e e l e c t r o n i ct r a n s a c t i o n s ,m e t ) 5 、开放移动联盟( o p e nm o b i l e a l l i a n c e ,o m a ) 6 等。 1 1 分布式在线电子钱包系统 在已经提出的关于移动钱包的解决方案和标准中,系统通常为具有信用卡插 槽的移动终端设备或者使用s i m 卡作为手机里的信用存储介质。文 1 的作者 s t i gf r o d em j 。l s n e s 和r o n gc h u n m i n g 看到了这些系统中的不足提出了自己的 体系结构,这就是分布式的在线电子钱包系统( o n - l i n ee w a l l e ts y s t e mw i t h d e c e n t r a l i z e dc r e d e n t i a lk e e p e r s ) a 这个在线电子钱包系统包括一个电子钱包终端和一个信用保管单元 ( c r e d e n t i a lk e e p e r s ) 。电子钱包终端可以是手机、p d a 或者专用的硬件设备。 信用保管单元则是安装在个人电脑或类似的设备上的专用服务。系统中的服务提 供商可以提供给使用者各种各样的它们所需要的服务项目。个使用者需要获得 他的信用信息时,比如当他需要支付或者需要获得某项服务时,电子钱包终端将 负责获取并出示自己的信用信息给服务提供者以获得它自己需要的服务。与其它 将各种信用信息存储在电子钱包终端不同的是,这个系统中的电子钱包终端将从 与其对应的信用保管单元那里获取所需的信用信息然后出示给服务提供商。在这 种方式下,使用者可以确保他所有的信用信息在物理上得到最好的保护,而同时 他又可以随时随地的获得这些信用信息,当然前提是电子钱包可以连接到信用保 南京邮电学院硕士学位论文 管单元。 图1 1 是文 1 中给出的一个实现参考模型。 1 2 研究目标 图ll 实现参考模型 p h y s i c a l s e n i c e 本文基于文 1 的电子钱包系统的思想,致力于提出一个分布式的软件系统 结构来实现这样的电子钱包系统,并完成系统模型的初步实现。通过对j x t a 和 7 2 m e 技术的学习,融合二者的特性,建立一个p 2 p 的网络并在这上面部署电子 钱包系统。 系统的程序原型使用3 a v a 作为实现语言。电子钱包客户端首先在电脑上用 模拟器进行测试运行并最终部署在s o n y e r i c s s o n 的k 7 0 0 i 手机上。信用保管 单元及其提供的服务则在标准的p c 上运行。 对于电子钱包系统,安全及认证问题是及其重要的,但本文作为该研究的第 一阶段,主要目标首先是要构建出一个系统原型,所以分布式的认证将在将来进 一步的研究中重点考虑。同样的,系统与银行( 金融中心) 间的接口也暂时不进 行考虑,假设信用信息已经存在于信用保管单元( c r e d e n t i a lk e e p e r s ) 上,对 一 南京邮电学院硕士学位论文 其上的信息更改默认为将能同步的反应在银行( 金融中心) 上。 本文的工作来源于与挪威s t a v a n g e ru n i v e r s i t y 的合作项目: i m p l e m e n t i n ga no n l i n ee - w a l l e ts y s t e mw i t hd e c e n t r a l i z e dc r e d e n t i a l k e e p e r s ( d r a u p n e ) 。笔者主要负责电子钱包移动客户端的实现、系统通信安全 的实现和系统的测试。 堕室业皇兰堕堡主兰垡笙塞二一 第二章开发语言及平台的选择 开发一个软件项目需要对遇到的众多问题进行分析并做出各种决定,比如所 要使用的技术和工具等等。 电子钱包系统可以分为移动客户端和分布式的服务器端。客户端希望可以在 各种设备部署实现,而服务器端也可能需要在不同的系统环境下运行。首先看一 下服务器端。 在服务器端,可以选择的开发平台主要有两个:m i c r o s o f t n e t 和j a v a 。 我们的选择将基于以下几个方面的考虑: 1 开发平台的稳定性和成熟度: 2 效率问题选用目标平台所带来的工作量的多少; 3 价格包括开发环境和运行环境。 在平台的稳定性和成熟度上二者不分上下。j a v a 更早的进入市场而n e t 有 m i c r o s o f t 及其广大的编程开发资源作为支撑。效率问题取决于你选择什么样的 工具和开发包。在这个系统中,我们希望建立个分布式的服务器解决方案,并 希望有现成的类库可以使用。分布式的服务器解决方案可以借鉴目前的各种版本 的p 2 p 网络,j a v a ,包括j x t a 都是开放的技术,而n e t 贝l j 是一个商用化的开发平 台,经过分析对比,我们认为j x t a 比较适合的系统。 在客户端,主要的目标设备是手机、p d a 等,它们的特点是资源有限,包括 有限的运算能力、有限的存储空间。对于这样的设备,大部分的运算及存储将放 在服务器端实现,而它们只要能连上服务器获取这些服务就行。在这方面,j a v a 提供了在这类设备上开发的m i c r o 版本j 2 m e 7 :另一方面,相对于的也 有适用于这类设备的j x t a 的版本j x m e 8 ,二者的结合将能很好的实现客户 端所需的各项功能。客户端也可以是运行在普通的p c 机上的,比如说笔记本电脑。 在这种情况下,客户端具有较强的运行、存储能力,但为了和其它客户端能匹配, 它们也将部署为运行j 2 m e 和j x m e 的客户端。 南京邮电学院硕= l 学位论文 综上所述,我们选择j a v a 作为开发语言,同时选择j x t a 作为系统的通信 平台。在具体的开发中,选择开源的集成开发工具e c l i p s e 9 作为开发平台。 2 1j 2 m e 当s u n 公司发布j a v a2 ,他们意识到一个尺寸是无法适合所以需要的( o n e s i z ed o e s n t f i t a l l ) ,所以j a v a 2 被分为3 个部分发布: j a v a 2 企业版( j 2 m e ) , j a v a 2 标准版( j 2 s e ) j a v a 2 微版本( j 2 m e ) 。 j 2 s e 是适用在个人电脑上使用的开发平台。j 2 e e 是用于开发运行于服务器端 的应用程序的,可以支持s e r v l e t s ,j s p 和x m l 等。j 2 m e 是j 2 s e 的精简版本,目 的是为了使它能适应只有有限运算和存储能力的小规模设备,像移动电话、p d a 等等。每一个版本都有相对应的完整地用于运行j a v a 程序的运行环境,包括j a v a 虚拟机( j v m ) 和运行库。目前市场上中高档的手机都内置了对j a v a 的支持,用 j 2 m e 开发的软件可以很容易的在其上运行。 j 2 m e 使用配置和简表定制j a v a 运行时环境( j r e ) 。作为一个完整的j r e , j 2 m e 由配置和简表组成,配置决定了使用的j v m ,而简表通过添加特定于域的 类来定义应用程序。 配置将基本运行时环境定义为组核心类和一个运行在特 定类型设备上的特定j v m 。简表定义应用程序;特别地,它向j 2 m e 配置中添加 特定于域的类,定义设备的某种作用。图2 i n 述了不同的虚拟机、配置和简表 之间的关系。它同时把j 2 s ea p i 和它的j a v a 虚拟机进行了比较。虽然j 2 s e 虚拟机通常被称为一种j v m ,但是j 2 m e 虚拟机、k v m 和c v m 都是j v m 的子集。 k v m 和c v m 均可被看作是一种j a v a 虚拟机一它们是j 2 s ej v m 的压缩版, 并特定于j 2 m e 。 南京邮电学院砸上学位论文 l e a b 【 p 0 w e m f d e c e s 图2 ,1 各种j a v a 虚拟机 图2 2 描述了支持j 2 m e 应用程序的设备。 2 2j x t a 图2 2j 2 m e 设各 m o s f p o w e m j d e c e s j x t a 是出s u n 公司提出的用于构建p 2 p 网络的一组协议。j x t a 标准协议 规范对j x t a 的介绍如下。 南京邮电学院硕士学位论文 j x t a 由六个协议组成,这些协议是专门为特定的、分布式的、对等的网络 计算机而设计的。使用这些协议,节点可以互相合作来建立自我组织、自我管理 的对等组,而不必关心它们在网络中所处的位置( 在网络边沿或者防火墙的后 面) ,并且也不需要集中的管理机构。 j x t a 技术具有以下几个方面的特点: 1 平台无关性及协议无关性 j x t a 网络中的节点能够不考虑双方的位置及其所处的网络结构的不同而发 现对方并进行通信。一方面,j x t a 可以使用各种编程语言来实现,目前已经用 j a v a 语言进行了实现,j a v a 本身的平台无关性使j x t a 可以在各种平台很方便的 部署。另一方面,j x t a 独立于传输层协议,它可以在t c p i p ,h t t p ,蓝牙, h o m e p n a 等各种不司的协议上实现。 2 j x t a 节点臣是客户端同时也可以是服务器端 j x t a 是 # 为p 2 p 网络的一种实现方式而提出的,因此,j x t a 网络中的各 个节点具有对等的地童,各个节点都可以发起向其它节点的连接。同时,各个节 点也能很容易改变苣己在网络中的角色:仅仅作为一个普通的客户端或者作为具 有服务器特性的中继节点。 3 群组通信 j x t a 网络中的节点可以很方便的建立一个私有的节点群组,可以针对群组 定义特有的操作及数据共享,只有处于组中的节点才能进行这些操作和数据共 享,以此,就能实现节点间可靠的、安全的数据通信。 更多有关j x t a 的介绍可以参考j x t a 官方网站及j x t a w h i t e p a p e r 【1 0 。在 此,作者介绍一本由b r e n d o njw i l s o n 写的关于j x t a 的书p r o j e c t s :j x t ab o o k 【1 1 】。 2 3e c l i p s e e c l i p s e 是开放源代码的项目,任何人都可以下载e c l i p s e 的源代码,并且 在此基础上开发自己奇勺功能插件。它是替代i b mv i s u a la g ef o rj a v a 的下一代 南京邮电学院硕士学位论文 i d e 开发环境,但它未来的目标不仅仅是成为专门开发j a v a 程序的i d e 环境, 根据e c l i p s e 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能 成为图片绘制的工具。 e c l i p s e 的插件扩展特性,使得我们在开发时具有很大的灵活性,同时,由 于目前e c l i p s e 的插件资源极其丰富,我们很容易利用现成的插件( p l u s - i n s ) 来帮助我们完成工作,这其中包括本文中的一些u m l 图都是在e c l i p s e 的开发环 境下直接绘制出了的。 南京邮电学院硕上学位论文 第三章系统体系结构 在文 1 中作者给出了一个宏观上的系统体系结构,如图3 1 所示。 l 画忙爵斟 际 e 、一 ( e e p e r a 龉i s 鼍e dg e n e r 嗣w 耐l 醴 图3 ,1 在线电子钱包通用系统体系结构 图中的三部分k e e p e r 、w a l l e t 和s e r v i c e 在物理上是独立分布的。 c r e d e n t i a lk e e p e r 容纳并保护信用信息存放在一个固定的地方,类似于银行里 的保险箱。而w a l l e ta p p l i c a t i o n 则用于对这些信用信息的获取,同时也代表 用户来获取用户所需要的服务。s e r v i c e 代表了向用户提供所需的服务,比如商 场里的消费支付等。在这个体系结构中作者只考虑到一个使用者仅仅对应于一个 c r e d e n t i a lk e e p e r 。在将来的将进一步考虑一个使用者对应于多个c r e d e n t i a l k e e p e r 。 3 1 系统结构设计 我们使用j a v a 作为实现该在线电子钱包系统的技术。基于过程的通信实现使 得系统需要附加一定的限制。根据文 t 2 的结果,对于一个实时系统以下条件必 须满足: 1 ,子系统的行为需类似于过程调用树; 2 只有位于调用树根部的输入进程可以等待接收来自环境的信号,除非这样的等待时 间是可以忽略的; 3 对于每一个从调用树上发送下来的信号,不允许有超过一个的应答返回给发送者 ( 实现上类似于过程调用的返回者情况) : 4 要有足够的时间以使外部输入信号能来得及被处理并能输出相应的信号给该输入 进程。因此,对于这样的情景就不必要给每个输入进程预先设定优先级。 根据这些条件,我们对上面定义的电子钱包系统进行分析。电子钱包可定义 9 南京邮电学院硕士学位论文 为客户端,而信用保管单元及服务定义为服务器端,条件1 ,2 和3 明显能够满足。 这里,电子钱包的客户端作为过程调用树的根。电子钱包需要等待服务器端与服 务提供商的通信、交互的结束才+ 能完成它所需要的服务,这样条件4 也得到了满 足。 因此系统结构可以设计成一个客户一服务器模式。但是我们希望不采用这种 模式,而是采用p 2 p 的模式。在这种情况下电子钱包、信用保管单元、服务提供 商在物理上都是对等的节点,但是在逻辑上( 功能上) 仍保持如前所述的客户一 服务器模式。整个系统的通信、交互首先仍由电子钱包客户端发起。 3 1 1 系统结构概观 图3 ,1 糸统结构概观 图3 1 显示了系统结构的层次模型。 图h 6 c l i e n t 和c r e d e n t i a lk e e p e r 之间的安全问题可以在j a v a 中用公钥 加密算法进行加密解密处理。c l i e n tn l s e r v i c e 之间的安全问题则取决于它们 之间采取的通信方式。在 1 文中,作者建议,点到点的蓝牙通信方式可以使用 s e c u r it ym o d e3 ,对于分组交换网络则使用s s l t l s 。 3 1 2 系统设计 系统设计如图3 3 所示。 1 0 南京邮电学院硕士学位论文 图3 3 系统设计 在图3 3 中,每一个c l i e n t 都和c r e d e n t i a lk e e p e r 通过分组交换网络连 接在一起。c l i e n t 矛dc r e d e n t i a lk e e p e r 无需一一对应,可以一对多也可以多对 一。c l i e n t 可以是移动电话、p d a 或者是类似- y - s m a r t w e a r 2 1 的电子钱包专用 硬件设备a 在实际的实现中暂时只考虑移动电话上的实现,而p d a 与移动电话非 常类似,并且功能更强大,在移动电话上的实现很容易就可以移植到p d a 平台上, 而对于专用设备,目前暂不考虑。 c r e d e n t i a lk e e p e r 可以部署在普通的个人电脑平台上。这样用户可以在自 一南京邮电学院硕士学位论文 己的家里的电脑部署c r e d e n t i a lk e e p e r 以保管他自己的信用信息。将来,如 果商用化成功,银行或者可信任的第三方可以作为c r e d e n t i a lk e e p e r 的统一 保管中心为用户集中保管他们的信用信息,类似于今天银行里的保险箱。 s e r v i c e 可以是像房门控制器,在某种服务器上直接提供的服务或者是因特 网上的购买支付服务等。c l i e n t 和s e r v i c e 之间的通信可以是短距离的通信, 比如商场里和收银台之间的交互;或者是分组交换,这点上和c 1i e n t 与 c r e d e n t i a lk e e p e r 之间的通信一样。这些取决于s e r v i c e 的提供方式。我们 的设计尽量的不去限定使用某种特定的方式以期获得最大的适用性。 3 1 3 基于j x t a 的系统结构 图3 4 是基于j x t a 技术提出的在线电子钱包模型。在图3 1 中的w a l l e t a p p l i c a t i o n 将安装部署在各种无线通信设备中,而t r u s t e ds e r v e r 则作为 c r e d e n t i a lk e e p e r 。m e r c h a n t 只是用户与其交互的s e r v i c e 中的一种。 图3 4 基于j x t a 的系统模型 南京邮电学院硕士学位论文 无线通信设备( 用户) 、m e r c h a n t ( 服务) 以及分布在各地的t r u s t e ds e r v e r s 都是这个j x t a 网络中的节点。由于许多无线手持设备( 比如手机、p d a 等) ,本身 的运算能力、存储空间都不能满足运行j x t a 协议的基本要求,所以,在这些设备 上使用的是专门为无限手持设备开发的j x t a 协议j x m e ,并且运行这种协议的 节点需要通过个j x t ar e l a y 节点来承担它的大部分网络连接及通信任务。 j x t ar e l a y 节点是w a l l e ta p p i i c a t i o n 的代理而不是k e e p e r s 的代理,因为 它并不会为w a l l e ta p p l i e a t i o n 提供服务,它只是w a l l e ta p p l i c a t i o n 的通 信中继节点。j x t ar e l a y 节点是一个真正的j x t a 节点,它在网络中的作用就是 承担一个或者多个j 2 m e w i r e l e s s 设备的网络接入问题。而其它无线设备,比如, 手提电脑,拥有足够的资源和能力来运行j x t a 协议和其它程序,因此它们就不需 要依赖j x t ar e l a y 节点。当然,j x t ar e l a y 节点的另一个功能就是为处于防火墙、 n a t 网络中的节点提供中继服务,以使它们可以穿越防洪墙进行通信。 在以往的c l l e n t s e r v e r 模型中存在一个很严重的缺陷就是所有的客户端依 赖于一个服务器来提供各种服务,而一旦服务器端无法提供服务将会面临严重的 问题。对这样的问题尽管可以用增加备用服务器来实现,但是,这样一来会带来 其它许多新的问题,比如,数据同步等。这样的问题在j x t a 网络中就不会出现, j x t a n g 络本身对资源共享具有很好的支持,而这样的特性很适合来实现 1 中的 电子钱包系统。我们可以将许多t r u s t e ds e r v e r 组成个组( g r o u p ) ,作为客户 端,当它需要服务时,只需要加入这个组然后发送出d i s c o v e r ym e s s a g e 就可 以接收到组中的t r u s t e ds e r v e r 给它反馈的消息,并从中选择为它提供服务的 t r u s t e ds e r v e r 。 t r u s t e ds e r v e r 是在系统中提出的替代之前c r e d e n t i a lk e e p e r 的单元。 二者在功能上是一致的。它在这个系统框架中扮演极其重要的角色,它是各种不 同的“c r e d e n t i a ls u p p l i e r s ”。 南京邮电学院硕士学位论文 a p n c 1 e d i tc a i - d d 迪i t a lc a s h s i m u l a t o r _+ o m e r + m o r ec r e d e n t i a l s f c a r dr e a d c r b a n k t c a r dc o m p a n y o 图3 5t r u s t e ds e r v e r 如图3 5 所示,它包括以下几个方面: 1 通过读卡机接入的各种信用卡。这是现存的各种信用卡在这个系统中的解决方案; 2 数字现金( d i g i t a lc a s h ) ; 3 用来测试及演示如何使用电子钱包系统进行购买的模拟器: 4 其它有关个人的一些重要信息,需要储存在一个安全的地方,比如信用情况、消费 纪录等。 在以上的几种情况中我们都提供一个通用的a p i ( 图3 5 最上层的a p i ) 来获 取不同的“c r e d e n t i a ls u p p l i e r s ”。需要说明的是,每个t r u s t e ds e r v e r 并不 一定是一个单独的机器,允许在一个机器上运行许多t r u s t e ds e r v e r 实例,每个 t r u s t e ds e r v e r 只服务于一个客户。而一个用户可以拥有许多这样的运行于不同 机器上的t r u s t e ds e r v e r 。 出于目前的实现可能性,t r u s t e ds e r v e r 与f i n a n c i a ls e r v i c ep r o v i d e 的通信、交互无法实现,因此在后面的实现中,假设t r u s t e ds e r v e r 与f i n a n c i a l s e r v i c ep r o v i d e 的通信已经存在,即所有需要t r u s t e ds e r v e r 与f i n a n c i a l s e r v i c ep r o v i d e 的交互假设都能成功进行的。同样的原因,目前也不考虑 s e r v i c e 的真实实现,我们把重点先放在c l i e n t 与t r u s t e ds e r v e r 之间的通信、 交互的实现上。 1 4 南京邮电学院硕士学位论文 3 2 系统的软件结构 3 2 1 客户终端的软件结构设计 图3 6 客户端软件结构设计 客户终端需要连接到两个不同的网络或者说两种不同的通信技术。也许网络 是一样的但通信技术不一样或者网络不同而使用的通信方式也不同。在j x t a 网络 中的各个节点自身所处的网络环境可以是各种各样的,但是在j x t a 统一的通信规 范下它们就可以实现相互间的通信,而不必关心彼此网络环境的不同。这也是使 用j x t a 作为电子钱包系统通信协议的原因。 客户终端上的一个或者多个主程序通过短距离的通信方式( 比如蓝牙) 或者 南京邮屯学院硕士学位论文 分组交换网络与s e r v i c e 相连。它们之间的通信必须有相应的安全机制来保证通 信中的信息安全。如前所述,对于蓝牙通信可以采用s e c u r i t ym o d e3 来实现。 s s l t l s 是目前成功的应用在电子商务领域的一种安全协议,它也会是一种适合 该电子钱包系统的安全机制。这一部分在目前的系统中暂未考虑实现。 由于客户终端设备( 如移动电话) 的能力局限性,另一方面终端设备并不一 定会时时在线,而且由于其位置的多变性,当终端设备需要通过分组网络进行通 信时它需要一个中继节点为其提供代理服务。而这样的中继节点并不需要特殊的 设备,在j x t a 网络中任何普通的p c 节点都可以担当这样的角色,对于电子钱包系 统来说这并不会增加负担。j x t a 网络越大这样的节点越多而通信性能将变得更 好,这也是j x t a 网络的一个优点,相对于客户一服务器模式下,随着用户的增多 性能大幅下降或者需要增加硬件上的投入。 为了实现客户终端和t r u s t e ds e r v e r 之间通信信息的加密和解密,我们专 门设计了一个加密解密模块。加密解密模块可以提供多种方式的加密解密方 式以方便针对不同的通信需求选择不同的加密解密方式。比如最常见的公钥加 密算法。在这种情况下,密匙需要存储在终端设备硬件模块中,而对这个密匙的 设定及修改只有当用户拥有该终端设备的p i n 或者密码。对于密匙的分布式存储 已经超出本文的范围。 由于不同用户需要t r u s t e ds e r v e r 所提供的服务不同,就不可以要求用户预 先安装所以可能的功能模块,同时t r u s t e ds e r v e r 所能提供的服务也在不停的 更新变化中a 因此,必须在用户需要某种服务时才加载这样的服务模块,所以系 统需要一个服务列表来获取、下载、安装等的管理模块,以保证用户的需求。 上面的功能都将由j a v a 嵌入式操作系统予以支持。 堕塞些皇兰堕堡主兰堡堕壅 3 2 2t r u s t e ds e r v e r 软件结构设计 图3 7t r u s t e ds e r v e r 的软件结构设计 t r u s t e ds e r v e rc o n t r o l l e r 是服务器模块的主程序。它负责响应所有可能 的客户端的通信、服务请求并根据需要对存储在其上的客户端的信用信息进行存 取、更改等,同时返回给客户端正确的反馈信息。 对应于在客户端的软件结构,在t r u s t e ds e r v e r 上也需要一个对应的加密 解密模块。当然在客户端寿g t r u s t e ds e r v e r 之间需要使用相同的加密算法和密匙 以使通信有可能顺利进行。也许用户通过客户端发来的服务请求是以明文发送 的,但是t r u s t e ds e r v e r 返回给客户端的信用信息必须是经过加密。另方面 信用信息在t r u s t e ds e r v e r 上的保存也应该是以某种加密方式加密后存放于服 务器上。这样加密解密模块同样需要提供多种不同的加密算法。 为了获得在服务器上的信用信息,需要一个c r e d e n t i a l sa c c e s s o r 模块。信 用信息的存储方式是多种多样,比如存储在信用卡上。对于每种存储方式需要有 一 南京邮电学院硕士学位论文 对应的获取方式。另一方面,不同的客户端可能请求的信用信息格式不一样, c r e d e n t i a l sa c c e s s o r 模块也必须能实现返回给t r u s t e ds e r v e rc o n t r o l l e t 模块以正确的格式,即它需要有格式转换的功能。比如,当客户端发送某种异于 信用信息实际存储格式的信息给服务器端,并要求服务器更新自己的信用信息 时,c r e d e n t i a l sa c c e s s o r 模块就作为这两种格式的转换器。当然这里的 c r e d e n t a l sa c c e s s o r 模块也可以视为信用卡读卡机一类的程序接口,由于这 牵涉到与银行等金融机构的问题,在本文中并未进行实现。所以,对以上各种情 况,仅简化实现为对文本信用信息读取模块。对应的信用信息( c r e d e n t i a l s ) 在 本文中的实现也简化为文本化的信用资料。c r e d e n t i a l sa e c e s s o r 模块仅仅是 对这些文本化的信息的存储、读取和修改等几类操作。 最后标准的j a v a 运行环境j v m 是必须的。 南京邮电学院硕士学位论文 3 2 3s e r v i c e 的软件结构设计 图3 8 s e r v i c e 终端的软件结构设计 图3 8 为s e r v i c e 终端的软件结构设计。客户端通过分组交换网络( 3 x t a 网络) 或者短距离的通信方式与s e r v i c e 终端的前端应用程序s e r v i c ec o n t r o i i e r 进 行通信。s e r v i c ec o n t r o l l e r 可以是部署在动态w e b 网站或者某种硬件设备上。 为了能提供不同的服务,s e r v i c ec o n t r o l l e r 需要进行特别的实现。 每个s e r v i c ec o n t r o l l e r 必须能告知客户端,当它请求某种服务时,客户 端需要提供的信用信息类型以及将采取何种通信策略。这包括那些可以被接受的 信用提供商唯一i d 标志。比如s e r v i c e 终端是一个支付s e r v i c e ,它也许会告诉 客户端它可以接受v i s a 和m a s t e r 信用卡,并要求客户端提供卡号和信用卡有 南京邮电学院硕士学位论文。 效日期。 s e r v i c ec o n t r o l l e r 模块通过v a l i d a t o r 模块来验证客户端所提交的信 用信息的有效性。这样的验证可以使用a c c e s sc o n t r o ll i s t 来确认,但更多的 是需要到第三方进行验证。这时就需要经由b a e k e n da p p l i c a t i o n 模块,通过 某种通信方式与该第三方进行通信。这可以是有线的专用网络,或者同样经过 j x t a 网络,如图3 4 所示的m e r c h a n t 与f i n a n c i a ls e r v i c ep r o v i d e 之间的通信。 带有j v m 的标准操作系统仍然是必备的部分。 3 3 系统安全及认证设计 j x t a 的可扩展性使得它可以很容易地将现存的许多成熟的安全技术加以修 改,并应用到j x t a 网络中来。其中包括t l s ( t r a n s p o r tl a y e rs e c u r i t y ) 2 6 , p k i ( p u b l i ck e yi n f r a s t r u c t u r e s ) ,x 5 0 9 v 3 数字认证等。 3 3 1 传输层安全协议( t l s ) 幽3 9j x t a 虚拟网络 3 x t a 项目组( p r o j e c tj x t a ) 已经将t l s v l 改编使其能够支持j x t a 节点间的 可靠的、私有的连接。在图8 的j x t a 虚拟网络中,节点和节点之问、节点和中继 之间的连接都应用t t l s : 全机制。t l s 本身具有的具体实现与协议标准无关的特 性,使得更高层的协议能很容易的在其上实现。因此,也就能很容易的在t l s 基 础上构建一个安全的j x t a 通信网络。 塑室塑皇堂堕璧主兰垡笙塞 一 3 3 2 公钥基础结构( p k i ) j x t a 节点的通信主要是在节点群组中进行的,因此,群组内的安全通信是首 先需要考虑的问题。p k i 2 4 在j x t a 群组中的实现可以有两种形式:有c a 和无c a 的p k i 。由于系统要实现的是一种分布式的认证授权机制,所以我们倾向于使用 无c a 的p k i ,利用p k i 来解决当节点已经处于群组中,节点之间通信的认证。图3 1 0 展示了系统的一个p k i 层次结构。 。e 9 m m 哦珥c a i o 婵臻毁枣i 薹 。”峨。8 8 5 1 _ 1 _ j ui * 蝌ww 鞘州疵潲# 徽* 蒜+ 撵赫i 蕊薹镕# * 蒯晰雩嘴k 黼:。嬲4 黼铷2 掰“* ? 麓 一o 2 t r u s t e ds 鲫m 日c h 啦晒缸g 日b a n k 蟆馘霹黪盼缈c m 洲c 目 岫窨匿齄= =c 越童。i 毫: 。| _ = j :耋耋n a g 宙c 触 一 一。 誊薹曩 。_ 。舞j t n i s t e ds a w 氍1t r u s t 口s 口2 骥。i 篡蔓: c r e d t h a l1c a o 3 3 3 分布式认证机制 图3 、1 0 f k i 的层次结构 j x t a 本身的设计就是为了满足p 2 p 的通信,因此,j x t a 网络具有松散、a d _ h o c 特性,其结构比较没有组织性的。而这样的网络是不大适合集中式授权认证机制 的。另一方面,文 1 中一个很重要的观点就是要实现分布式的系统结构。为了 实现这样的分布式体系,我们希望使用一种衍生的认证机制来满足分布式的要 求。文 1 3 中提出衍生认证机制来源于无线a d h o c 网络中的一种安全认证机制: 当需要认证时,用户可以暂时姆要认证的任务交给其它的节点来完成。这些节点 可以是比较次要的、隐秘的节点。为了提高安全性,可以设定这样的节点的数目 n 为一个可接受的值。一个需要认证的节点只有在获得n 个该网络中的节点对它的 认证才能获得最终的认证。对于这个系统,分布在各地的t r u s t e ds e r v e r 可以扮 南京邮电学院硕士学位论文 演这样的认证节点的角色,而n 的值将视人们对系统的安全要求等级来进行设定。 由于实现这样的分布式认证需要考虑到许多其它的问题,在目前的系统实现中将 暂时不予考虑。 3 4 在线电子钱包系统的一个支付示例 图3 1 1 支付示例 在图3 i 1 支付示例中,假设已经部署了x 5 0 9 v 3 认证,并且运行了包含t l s 的j x t a 。这意味着,授权认证及通信中的安全细节已经作了充分的考虑。以下是 支付过程: 1 ) 选择购买的物品 用户u 在商店s 选择他所需要的物品,由此产生一份购物清单b 和支付总额s 。 2 ) 是否愿意并且能够支付 南京邮电学院硕士学位论文 商店产生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力的细分赛道解析
- 立法目的与意义讲解
- 2025年医学伦理学科临床道德决策模拟考试答案及解析
- 2025年心血管内科常见疾病护理技能考核答案及解析
- 2025年骨科创伤急救演练模拟测试卷答案及解析
- 2025年放射科影像学诊断能力检测试题答案及解析
- 2025年康复护理学康复护理知识考核试卷答案及解析
- 2025年眼科常见疾病识别考试答案及解析
- 民族团结示范乡镇
- 民族团结条例课件
- 供应商纠正预防措施报告
- 《插画》名师优质课获奖市赛课一等奖课件
- 一带一路详解
- 中小学英语课件-Go-away-Mr-Wolf
- 蛋白质-能量营养不良课件
- 1输变电工程施工质量验收统一表式(线路工程)
- 二年级语文上册《有趣的动物》课件PPT
- 不干胶贴标机设计学士学位论文
- 《劳动合同书》-河南省人力资源和社会保障厅劳动关系处监制(2016.11.15)
- 市热电厂清洁生产审核报告
- GB/T 239.2-2023金属材料线材第2部分:双向扭转试验方法
评论
0/150
提交评论