




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
德州学院 物理系 2011届 电子信息工程专业 毕业论文数字签名技术在移动商务中的应用 (德州学院物理系,山东德州253023)摘 要 移动商务作为一种全新的商务和服务方式,在给用户带来低成本和便捷的同时,也带了诸多安全问题。解决这些问题的手段有很多,数字签名是比较常用且非常有效的一种方法。它提供了不可抵赖、数据源认证、 身份识别等特性。本文工作主要针对移动商务中的安全问题,重点研究其中的数字签名。通过设计手机银行数字签名系统,在保障移动商务安全性的同时,为用户提供了安全的信息传递途径,特别是为移动商务的发展提供了技术支持。关键词 移动商务; 签名; 手机银行; rsa; des1 绪论移动商务(m-commerce)是由电子商务(e-commerce)的概念衍生出来,是相对于以 pc 机为主要界面的传统有线的电子商务而言,主要指通过手机、掌上电脑等移动通讯设备与移动上网技术结合所构成的一个商务体系,借助于短信、wap(gprs、cdma、3g)和rfid等方式实现,应用涉及手机银行、移动支付、移动订票、手机电邮、移动搜索等领域1。与传统的电子商务相比,移动商务有不受时间、地点的限制的优点。这种更加方便的信息交流方式意味着顾客需求更加丰富和多样化,同时也为企业带来了更多的商机。随着无线通信技术的发展,移动商务已经成为电子商务研究热点。移动商务是将现代信息科学技术和传统商务活动相结合,随时随地为用户提供各种个性化的、定制的在线动态商务服务2。 “手机银行数字签名系统”基于java语言及其分支j2me,在客户端使用des对称算法对要传输的数据及其摘要进行加密,以保证在传输数据过长时不至于出现加密时间过长导致设备卡机的情况3。然后使用rsa非对称算法完成对des密钥的加密。在服务端用rsa的公钥进行解密获得des的密钥,然后用des解密传输的数据获得原文和摘要。对原文生成摘要,比较两个摘要以确定传输数据的完整性4。在这里首先要在服务端制作一个简单的数据库以实现手机银行的基本信息储存,并要在手机端和服务端实现手机银行的基本功能,并以此为载体完成数字签名系统5。其中还要解决密钥在手机端生成速度慢、易卡机等由设备自身局限性所导致的问题6。2系统采用的主要技术2.1 java语言java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。用java实现的hotjava浏览器(支持java applet)显示了java的魅力:跨平台、动态的web、internet计算。从此,java被广泛接受并推动了web的迅速发展,常用的浏览器现在均支持java applet。java分为三个体系j2se(java2 platform standard edition,java平台标准版),j2ee (java 2 platform,enterprise edition,java平台企业版),j2me(java 2 platform micro edition,java平台微型版)。2.1.1 java主要特性(1)java语言是简单的。java语言的语法与c语言和c+语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。(2)java语言是一个面向对象的。java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。java语言全面支持动态绑定,而c+语言只对虚函数使用动态绑定。(3)java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。(4)java语言是健壮的。java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。(5)java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),并提供安全管理机制(securitymanager)让java应用设置安全哨兵。 (6)java语言是体系结构中立的。java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个java平台的任何系统中运行。(7)java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性。(8)java语言是解释型的。如前所述,java程序在java平台上被编译为字节码格式, 然后可以在实现这个java平台的任何系统中运行。在运行时,java平台中的java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。(9)java是高性能的。与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c+。 (10)java语言是多线程的。在java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。(11)java语言是动态的。java语言的设计目标之一是适应于动态变化的环境。java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。java语言的优良特性使得java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。java对对象技术的全面支持和java平台内嵌的api能缩短应用系统的开发时间并降低成本。特别是java企业应用编程接口(java enterprise apis)为企业计算及电子商务应用系统提供了有关技术和丰富的类库7。2.1.2 j2me体系结构无线设备是信息技术领域中涌现出的新选手。由于无线设备精巧便利,易于手持,这使信息技术的目光迅速从pc转移到了移动电话、pda以及寻呼机上。随着用无线设备访问网络及其他计算设备的需求不断增长,这种设备的市场获得巨大增长。正是在这种情况下,sun microsystems公司提出了针对这类设备的java平台,即j2me(java 2 micro edition),以迎合这种市场需求。j2me是按照分层的构想而设计的,从下而上每层都增加了一些功能。最基本的要求是运行java应用的虚拟机。由虚拟机再加上其他一些东西构成了配置(configuration),配置之上是配置文件(profile)。具体要求增加什么配置文件是由设备以及所使用的配置所规定的。图2-1描述了j2me的体系结构。(1)j2me虚拟机层 资源受限设备上所需的虚拟机应具有非常小的体积,j2me虚拟机正好满足了这种要求。(2)配置层 配置构成了j2me平台的基础。它为特定类别的设备提供基本的、最低限度的功能,在设计中只考虑该类中所有设备所共有的功能。(3)配置文件层 配置提供的功能非常有限,它只是准备了一个基础,以便能够在它上面增加所需要的任何东西。真正提供功能的是配置文件,它能够提供图形用户接口、更好的联网支持、数据库管理以及分布式计算等。同配置一样,配置文件也是特定于设备类别的。有些配置文件适用于小设备,而有些则适用于那些受约束较少的设备8。图2-1 j2me体系结构框图2.1.3 j2ee体系结构j2ee是一种利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j2ee平台采用一个多层次分布式的应用模式。这意味着应用逻辑根据功能被划分成组件,组成j2ee应用的不同应用组件安装在不同的服务器上,这种划分是根据应用组件属于多层次j2ee环境中的哪一个层次来决定的。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是j2ee典型的四层结构:(1)运行在客户机器上的客户层组件;(2)运行在j2ee服务器上的web层组件;(3)运行在j2ee服务器上的业务层组件;(4)运行在eis服务器上的企业信息系统层软件。j2ee多层次应用一般被认为是三层应用,因为它们是被分布在三个不同的地点:客户端机器、j2ee服务器和数据库或后端的传统系统服务器。三层架构应用是对标准的客户端服务器应用架构的一种扩展。即在客户端应用和后台存储之间增加一个多线程应用服务器9。2.2 jboss服务器 jboss是一个开源的符合j2ee规范的应用服务器,作为j2ee规范的补充,jboss中引入了aop框架,为普通java类提供了j2ee服务,而无需遵循ejb规范。jboss通过类载入时,使用javassist对字节码操作实现动态aop框架,javassist是一个开源的编辑字节码的类库。jboss的构架和其他j2ee应用服务器的构架有着巨大的不同。jboss的模块架构是建立在jmx底层上的,图2-2展现了jboss主要组件和jmx的联系。ejb containerjbosstxdeploymentjbossnsjmx implementationweb serverjbosscxjbosssx点击登录 图2-2 jboss主要组件和jmx的联系2.2.1 jmx - 层次jmx是一个可复用框架,它为远程(remote)和本地(local)管理工具扩展了应用。它的架构是层式架构。他们是实现层(instrumentation layer)、代理层(agent layer)和发布层(distribution layer)。其中,发布层还在等待未来的标准化。简要的表述是,用户使用管理bean,mbean来提供获得相应资源的实现方法。实现层实现相关的特性资源并将它发布于jmx相关应用中,它的代理层控制和发布相应的注册在mbeanserver代理上的管理资源。2.2.2 jboss主要模块主要的jboss模块是在meanserver上的可管理mbean。 (1)jboss ejb容器是jboss服务器的核心实现。它有两个特性,第一是在运行期产生ejb 对象的stub和skeleton类,第二是支持热部署。(2)jbossns是jboss命名服务用来定位对象和资源。它实现了jndi j2ee规范。(3)jbosstx 是由jta/jts支持的交易管理控制。 (4)部署服务支持ejb(jar)、web应用文档(war)和企业级应用文档(ears)的部署。它会时刻关心j2ee应用的url情况,一旦它们被改变或出现的时候将自动部署。(5)jbossmq使java 消息规范(jms)的实现。(6)jbosssx支持基于jaas的或不支持jaas机制的安全实现。(7)jbosscx实现了部分jca的功能。jca制订了j2ee应用组件如何访问基于连接的资源。(8)web服务器支持web容器和servlet引擎。jboss 2.4.x版本支持tomcat 4.0.1,tomcat 3.23和jetty 3.x服务。2.2.3 jboss架构设计中的两个重要的特性(1)使用jmx作为一个软件总线垂直的贯穿其所有的服务,通过将新的服务组件遵循jmx规范挂接上总线,使得系统扩展现有的服务变得容易。开发者可以选择他们需要的服务并编写他们所需要的相应实现,通过定义在部署描述文件中,让jboss服务器知道。 (2)容器被设计成为动态代理机制,这样使容器的实现变得简单和使开发者避免费劲的将java文件进行预编译以获得stub和skeleton代码。但是这样做潜在的问题是性能和可测性,因为我们知道java反射机制会引起性能的损失。2.3数字签名技术简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有rsa、elgamal、fiat-shamir、guillou- quisquarter、schnorr、ong-schnorr-shamir数字签名算法、des/dsa,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(dss)。数字签名(digital signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在公钥与私钥管理方面,数字签名应用与加密邮件pgp技术正好相反。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。数字签名主要的功能是:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用hash函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。数字签名是个加密的过程,数字签名验证是个解密的过程。具有数字签名功能的个人安全邮件证书是用户证书的一种,是指单位用户收发电子邮件时采用证书机制保证安全所必须具备的证书。个人安全电子邮件证书是符合x.509标准的数字安全证书,结合数字证书和s/mime技术对普通电子邮件做加密和数字签名处理,确保电子邮件内容的安全性、机密性、发件人身份确认性和不可抵赖性。 具有数字签名功能的个人安全邮件证书中包含证书持有人的电子邮件地址、证书持有人的公钥、颁发者以及颁发者对该证书的签名。个人安全邮件证书功能的实现决定于用户使用的邮件系统是否支持相应功能。目前,ms outlook 、outlook express、foxmail及ca安全电子邮件系统均支持相应功能。使用个人安全邮件证书可以收发加密和数字签名邮件,保证电子邮件传输中的机密性、完整性和不可否认性,确保电子邮件通信各方身份的真实性。本文主要应用des和rsa加密算法来进行数字签名。“手机银行数字签名系统”使用的当前技术比较成熟且比较流行的des和rsa算法进行签名,其目的是为了保证程序在手机这种移动处理终端中能够正常运行10。3系统需求分析随着时代的发展,计算机网络和手机网络已经成为了人们传输信息的重要手段。企业与企业之间的订单;重要会谈的邀请;私人信息的应用等等,只要应用网络传输的信息都无时不刻不受到安全性的威胁,如果信息泄露,其经济损失可能是无法计算的。但是因为网络这种高效传输介质的性质,使得其在信息传输领域一直动扮演着重要角色。网络诈骗也是在这种环境中产生的畸形儿,严重威胁着信息发送和接受双方的利益。所以信息数字签名成为了解决此问题最简单且最直接的办法。相信任何一个企业和个人都希望自己的信息能够安全的抵达接收者一端,以便避免不必要的损失。相对于信息被截获或修改而带来的损失而言付出少额费用来应用信息数字签名技术还是值得的11。4系统总体设计手机银行数字签名系统的系统总体结构如图4-1所示。本系统主要可以实现简单的手机银行数字签名功能,共分为两个子系统:客户端系统和服务端系统。手机银行数字签名系统客户端服务端信用卡信息验证模块账单查询模块账单续费模块数字签名模块传输模块帮助模块登陆模块签名验证模块传输模块账单续费模块账单查询模块信用卡信息验证模块登陆模块图 4-1 手机银行数字签名系统功能结构图1 客户端子系统客户端子系统是整个系统的客户端部分,它负责用户登录服务器,向服务器发送并验证信用卡信息,查询登录用户的账单,以及对账单的缴费操作等等。其中采用数字签名技术对传输的重要信息进行签名操作。2 服务端子系统服务端子系统是整个系统的服务端部分,它负责连接数据库,通过对比数据库信息完成用户的登录、验证信用卡信息等操作内容,并接受用户提交的查询账单请求以及账单缴费请求。同时对从客户端发来的重要信息进行数字签名的验证12。5 系统的详细设计5.1 程序设计程序设计的基本目标是用算法对问题的原始数据进行处理,从而获得所期望的效果。但这仅仅是程序设计的基本要求。要全面提高程序的质量,提高编程效率,使程序具有良好的可读性、可靠性、可维护性以及良好的结构,编制出好的程序来,应当是每位程序设计工作者追求的目标。而要做到这一点,就必须掌握正确的程序设计方法和技术。结构化程序设计方法的基本要点是:1.采用自顶向下,逐步求精的程序设计方法在系统分析和综合分析中,都采用了自顶向下,逐层细化的方法。使整个过程显得更有条理。使程序设计思路更为清晰。2.使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。(1)用顺序方式对过程分解,确定各部分的执行顺序。(2)用选择方式对过程分解,确定某个部分的执行条件。(3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。3.简化程序欲行过程,提高运行效率在不影响项目要求和程序运行的前提下,尽可能简化整个系统的执行过程,已达到提高程序运行效率和降低程序运行硬件标准的目的。这一点在“基于sms服务的手机签名系统”中有这突出的体现13。5.2 系统设计手机银行数字签名系统包括客户端和服务器两个部分,采用了标准的c/s架构模型,其中客服端的开发采用了java语言的分支j2me,以个人掌上移动信息通信客户端,即手机为运行环境而实现的应用程序。其最主要的部分是一个核心调用程序,作为所有模块的调用工具,其处于整个系统的中心,通过此程序,客户可以调用包括传输模块、登录模块、信息验证模块、查询模块、账单缴费模块以及数字签名模块等六个模块。同时服务端采用jboss4.0 + hypersonic开发,其最主要的部分也是一个核心调用程序,作为所有模块的调用工具,其处于整个系统的中心,通过此程序,服务端接收从客户端发送来的消息变量来调用包括传输模块、登录模块、信息验证模块、查询模块、账单缴费模块以及签名验证模块等六个模块。手机银行的客户端主要为各类手机用户,通过电信运营商提供的各类接人方式,进入银行的手机银行平台。用户提交的各类交易信息通过该平台与数据库相连。业务被处理后再通过原渠道返回给最终用户。其总体架构如图5-1所示,交互信息模式见图5-2所示。下面用图简单介绍一下总体设计思路和程序,运作过程如图5-3、图5-4所示。图5-1手机银行架构图5-2交互信息模式图5-3服务端系统应用框架图数字签名模块信用卡验证模块登录模块核心调用程序缴费模块传输模块查询模块帮助模块图5-4客户端系统应用框架图1 系统结构客户端系统包括传输模块、登录模块、信息验证模块、帮助模块、查询模块、账单缴费模块以及数字签名模块等七个模块,与服务端所包括的模块一一对应,从而完成各种功能。用户运行客户端程序后首先进入登录模块,如果用户输入的用户名密码与数据库中的完全对应,则可以进行下一步操作,否则将退出系统。登录后可以进入帮助模块、信息验证模块和查询模块。进入消息验证模块,用户可以输入完成下几步操作所需要的信用卡的相关信息,系统将进入数字签名模块,对用户输入的重要信息进行签名操作,并调用数据传输模块,将需要传输的数据以及生成的数字签名发送给服务器,与数据库进行验证。进入查询模块则会返回用户名对应的相关账单信息,以便完成缴费操作。当用户得到返回的账单信息之后,则可以根据需要选择对账单进行缴费。完成以上操作之后则可以选择退出程序,完成全部操作。图5-5为系统流程图。2 技术路线本系统采用jboss作为应用服务器、hypersonic作为后台数据库,将服务端的servlet发布在jboss服务器中,以便客户端与其进行连接。客户端则采用j2me开发,以便在各种支持java的移动终端设备上运行。3 系统接口数据库连接对于本系统来说是重要的部分,本系统连接数据库的驱动是jdbc驱动程序。很多数据库系统带有jdbc驱动程序,通过jdbc驱动程序与数据库相连,执行查询和提取数据等操作14。开始是否信息验证查询缴费签名传输退出首页登录模块信息验证模块 数字签名模块数据传输模块查询模块缴费模块 图5-5系统流程图4 登录模块功能:当用户进入系统之后该模块为强制出现的模块,用户必须进行登录操作后才可进入其他模块。该模块将显示两个输入框,用户名输入框和密码输入框。用户需输入自己的用户名以及密码,系统会与数据库进行通信,完成验证。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。模块结构:进入系统之后会显示图5-6中的界面,用户需按照提示在两个输入框中输入事先注册在服务器数据库内的用户名和密码,并按登录键完成登录操作。如果不想进行操作则可以点击返回键退出系统。图 5-6 登录界面点击登录键之后,客户端首先会验证用户是否输入用户名和密码,若有一项或多项为空,客户端会提示用户将信息输入完整。之后客户端会向服务端发送用户输入的用户名和密码,服务端收到用户名和密码之后,则会与数据库中的account表中的信息进行对比。如果客户端发送过来的用户名和密码与account表中的相同,服务端会向客户端返回登录成功的信息;如果客户端发送过来的用户名和密码与account表中的不同,服务端会向客户端返回登录失败的信息15。当登录成功后客户端会显示登陆成功界面,登录失败后客户端会显示登录失败界面。登录模块活动图见图5-7。相同jbossmq不同开始结束输入用户名密码与数据库中的account表进行对比提示通过点击返回提示不通过 客户端服务端图5-7登录模块活动图5 信息验证模块功能:当用户通过登录之后出现选择列表,选择信息验证则会进入该模块,该模块将显示多个输入框,以便用户输入信用卡的所有信息以便完成验证。用户输入信用卡的所有信息之后,系统会与数据库进行通信,完成验证。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。模块结构:通过登录之后会显示图5-8中的界面,用户可以选择相应的操作,并按选择键确认选择,通过选择不同的项目进入相对应的模块进行操作。如果用户不想进行任何操作可以按exit键退出系统。 图 5-8 选择界面 图 5-9 信用卡信息验证界面进入信息验证模块之后会显示图5-9中的界面。用户需按照提示在输入框中输入事先注册在服务器数据库内的信用卡信息,客户端首先会验证用户是否输入完整,若有一项或多项为空,客户端会提示用户将信息输入完整。按发送键完成验证操作,系统会自动进入数字签名模块进行下一步操作。如果不想进行操作则可以点击返回键退出模块。点击发送键之后并完成数字签名模块,客户端会向服务端发送用户输入的信用卡信息的密文,服务端收到信用卡信息的密文之后,首先会完成签名验证模块,然后会将获得到的信用卡信息与数据库中的card表中的信息进行对比。如果客户端发送过来的信用卡信息与card表中的相同,服务端会向客户端返回验证成功的信息;如果客户端发送过来的信用卡信息与card表中的不同,服务端会向客户端返回验证失败的信息。当验证成功后客户端会显示验证成功界面,验证失败后客户端会显示验证失败界面。信息验证模块活动图见图5-10。6 查询模块功能:当用户通过登录之后出现选择列表,选择查询账单则会进入该模块,进入该模块后,服务端会返回所登录的用户名下所有的账单信息,以便用户查询。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。模块结构:当用户在菜单界面选择账单查询之后,系统会进入查询模块,客户端会向服务端发送查询账单的请求,服务端收到请求后,会在数据库中的bankbill表中查询登录的用户名所对应的账单信息,然后将账单信息发回给客户端,客户端则显示图5-11中的界面。用户如果想进行账单缴费,则可以点击缴费键。如果不想进行操作则可以点击返回键退出模块。开始结束输入信用卡信息与数据库中的card表进行对比提示通过相同不同点击返回点击发送提示不通过进入数字签名模块进入签名验证模块 客户端服务端图5-10 信息验证模块活动图图5-11查询界面查询模块活动图见图5-12:开始结束读取数据库中的bankbill表信息进入缴费模块点击返回点击发送显示账单信息客户端服务端图5-12 查询模块活动图7 账单缴费模块功能:当用户进行查询账单操作之后,则可以在输入框里输入需要缴费的账单编号,按缴费键完成操作。若此时用户尚未完成信息验证模块,客户端会提示用户先进行信息验证。若已完成信息验证模块,客户端会向服务端发送用户输入的账单编号,服务端会在接到用户提交的账单编号后更新数据库中相应的记录。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。模块结构:进入账单缴费模块之后会显示图5-13中的界面,用户可以选择需要缴费的账单信息,并点击发送键。如果不想进行操作则可以点击返回键退出模块。当用户点击发送键之后,客户端会向服务端发送用户选择的账单编号,服务端在收到客户端发送的账单编号之后,会更新数据库中bankbill表中对应账单编号的账单信息。同时服务端会返回一个缴费成功的信息。客户端在收到缴费成功的信息之后会显示图5-14中的界面。账单缴费模块活动图见图5-15。 图 5-13缴费界面 图 5-14 缴费成功开始结束删除数据库中的bankbill表对应信息提示缴费成功点击返回点击缴费显示账单信息输入账单编号 客户端服务端图5-15模块活动图8.数字签名模块功能:当用户进入信息验证模块并选择验证之后该模块为强制出现的模块,用户首先选择对信息生成摘要的类型,然后客户端会要求用户输入8位des密钥种子以便生成des的密钥,用des对信用卡的信息明文以及信用卡的信息的数字摘要和类型进行加密,同时用约定好的rsa私钥对des的密钥进行加密,并将des加密后的信息和rsa加密后的des的密钥发送给服务端。服务端对des的密钥进行解密,然后对信用卡的信息明文以及信用卡的信息的数字摘要进行解密。然后服务端对信用卡的信息明文进行生成摘要操作,并对两个摘要进行对比。服务端验证签名通过之后即可进行下一步操作。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。签名以及加密解密操作不得超过1分钟。模块结构: 当用户进入信用卡信息验证模块填写好需要验证的信用卡信息并点击发送键之后,系统会进入数字签名模块。用户选择生成摘要键的同时,系统会对信用卡信息用用户选择好的摘要类型生成消息摘要,然后用户选择签名键,系统会用随机生成des密钥对信用卡信息和消息摘要进行签名操作,同时用rsa算法加密des密钥。在完成上述过程之后,系统会将签名密文以及加密后的des密钥发送给服务端。服务端收到客户端发送来的信息之后,会用解开加密后的des密钥对密文解密获得明文,然后将明文做md5变换生成一份新的消息摘要,与客户端发送来的消息摘要进行对比,如果相同则说明验证成功,则继续进行信用卡信息验证操作。如果不同则说明验证失败,服务端会向客户端返回一个签名验证失败的提示。数字签名模块活动图见图5-16。9. 传输模块功能:该模块用于完成各个模块运行时客户端与服务端之间所有的数据传输功能。性能:系统需要在用户完成所必需的操作之后于最短的时间内(一般不超过10秒)响应用户的操作。10. 数据结构与数据库设计该系统所需要的数据库共包括三个表,account表中存放用户的用户名与密码,主要供登录模块使用。bankbill表中存放用户的账单信息,主要供账单查询模块和账单缴费模块使用。card表中存放信用卡信息,主要供信用卡信息验证模块使用。见表5-1、表5-2与表5-3。表5-1 account序号字段名类型长度索引备注1账户编号(accountid)varchar8primary key2用户名(name)varchar20foreign key3密码(password)varchar10相同不同开始结束点击返回点击签名显示明文点击生成摘要点击发送验证签名提示通过提示不通过 客户端服务端图5-16 数字签名模块活动图表5-2 bankbill序号字段名类型长度索引备注1账单编号(billnum)varchar8primary key2用户名(name)varchar20foreign key关联account表3账单日期(billdate)varchar84金额(money)varchar105原由(reason)varchar1006状态(status)varchar2确定帐单是否缴费表5-3 card序号字段名类型长度索引备注1信用卡号(cardnum)varchar30primary key2信用卡密码(cardpsw)varchar103持卡人(holdername)varchar204截止日期(date)varchar86结论本文工作主要针对移动商务中的安全问题,重点研究其中的手机银行系统数字签名技术16。详细描述了手机银行数字签名系统的设计、分析、功能的实现流程等。系统是基于 java 语言编写的面向对象程序设计,手机部分开发采用了 java 语言分支 j2me,使其能够运行在任意一部支持java 拓展的手机上。服务器采用了jboss 4.0,后台数据库使用了hypersonic, 将服务端的servlet发布在jboss服务器中,以便客户端与其进行连接17。由于jboss 的特性,使得服务器可以运行在各类平台上,满足不同的需求。本系统弥补了移动商务重要信息传递手段安全性欠缺的不足,通过使用数字签名的方式,以保证在移动商务活动过程中,信息的安全、完整,对移动商务的安全、稳定、快速、发展起到非常重要的作用。虽然手机签名过程已经实现,由于一般手机中的部分硬件性能限制,导致其安全性降低;同时,由于rsa算法的特性,在手机端的加密时间比较长。参考文献1 盖建华. 端到端的移动商务安全框架j现代管理科学,2009:44-46.2 方志超. 身份认证技术在移动商务中的应用j广西轻工业,2008:101-103.3 赵泽茂. 数字签名理论m.北京:科学出版社,2007.4 研究移动电子商务的安全问题eb/ol. /lunwen/gsgl/200807/198967.shtml5 张先红.数字签名原理与技术m.北京:机械工业出版社,2004.6 张彰.数字签名和认证加密若干问题研究d.西安:西安电子科技大学,2004. 7 java_百度百科eb/ol. 8 j2me_百度百科eb/ol./view/7125.htm.9 j2ee_百度百科eb/ol./view/1507.htm.10 jboss_百度百科eb/ol./view/309533.htm.11 孙淑玲.应用密码学m.北京:机械工业出版社,2004.12 张欣毅.从零开始学java me手机开发m北京:清华大学出版社,2008.13 孙瑛霖.java se6中xml数字签名标准java接口eb/ol. /software_zone/2008/0508/851600.shtml.14结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腔镜手术基本操作及相关知识试题与答案
- 江苏省如皋市南片区八校联考2026届英语九年级第一学期期末学业质量监测模拟试题含解析
- 2026届黑龙江省齐齐哈尔市克东县化学九年级第一学期期末监测模拟试题含解析
- 江苏省启东市东安中学2026届化学九上期中综合测试试题含解析
- 2026届内蒙古牙克石市英语九年级第一学期期末调研模拟试题含解析
- 信托贷款财产抵押契约协议书5篇
- 跨区域中央空调安装与远程监控服务合同
- 中央空调系统安装与能耗监测合同
- 离婚后房屋产权变更及财产分割执行协议
- 婚后共同房产分割协议书:女方权益保障范本
- JG/T 463-2014建筑装饰用人造石英石板
- DB32/T 3946-2020平原水网地区闸控航道通航标准
- 2025年初级银行从业资格之初级个人理财考试题库
- 2025-2030年中国核子及核辐射测量仪器行业竞争格局及发展趋势分析报告
- 2024年4月全国自考00054管理学原理真题
- 银行保险机构安全保卫工作自查操作手册
- 2025-2030中国咖喱粉市场消费调查及投资效益趋势预测研究报告
- 餐饮食堂“十统一六到位”管理培训
- 工业生产许可证实施细则
- 增加子女抚养费协议书
- 中学宿舍卫生管理制度
评论
0/150
提交评论