资源描述:
《电子商务的安全分析、设计及java实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、电子商务的安全分析、设计及JAVA实现电子商务是交易当事人或参与人利用现代信息技术和计算机网络(主要是Inter)所进行的各类商业活动,包括电子数据交换、电子邮件、电子资金转帐等,是一种可能涉及到个人、企业、国家的无纸化数据交换。从国内外电子商务的现状来看,电子商务是一把双刃剑,一方面它造就了从传统商务到现代商务的巨大飞跃,另一方面它也带来了一些全新问题,如安全问题。从目前实践证明,安全问题已成电子商务的核心问题和瓶颈问题之一,也是电子商务的客户和商家所共有的关键需求之一。电子商务安全的内涵及必要性电子商务的安全
2、,涉及到交易中各种数据的可靠性、完整性和可用性。就整个电子商务系统而言,安全性可以分为4个层次:(1)网络节点的安全性(2)通信的安全性(3)应用程序的安全性(4)用户的认证管理(5)安全管理。现分别叙述如下:540)this.cat服务器+SQLServer及access数据库。其总体设计框架图如图1所示。现将部分安全关键技术详述如下:●用RMI机制的3层模式结构来封装加密算法RMI即RemoteMethodInvocation(远程方法调用),它提供了针对java对象的分布式计算的一种简单而直接的模型。RMI
3、使用Java内置的安全机制保证下载执行程序时用户系统的安全,并使用专门为保护系统免遭恶意小程序侵害而设计的安全管理程序。RMI机制将表示层、处理层和数据层分开,一方面使得并发操作更易被处理,另一方面,使得安全控制更容易实现。RMI架构包括3部分:(1)桩/骨架层Stub/Skeleton;(2)远程调用层RemoteReferenceLayer;(3)传输层TransportLayer。实现RMI分3步进行:第一步是建立和编译服务接口。这个接口定义了所有的提供远程服务的功能;第二步是远程服务的实现;第三步是使用R
4、MI编译器rmic来生成桩和框架文件;最后是建立服务器和客户端。其中接口设计的源代码如下://生成RMI接口的JAVA源代码//packagename:rmiinterface.rmiPackagermiinterface.rmiimportjava.rmi.Remote;publicinterfaceEncryptextendsRemote{publicbyte[]Encode(StringsText)throi.RemoteException;publicStringDecode(byte[]sText)th
5、roi.RemoteException;}需要说明的是,这个接口继承自Remote,每一个定义的方法都必须抛出一个RemoteException异常对象。●使用SSL加密来实现安全传输SSL(SecureSocketLayer),安全套接字层,位于HTTP层和TCP层之间,用来建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证
6、书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。加密解密通常用RSA算法来实现分3步完成:第一步:生成密钥对;第二步:公钥加密;第三步:私钥解密。为简单起见,这里只列出密钥对的生成过程,源代码如下://生成密钥对的JAVA源代码publicintgenerateKeyPair(intlength){BigIntegerp,q,n,d,e,
7、pSub1,qSub1,phi;BigIntegerdP,dQ,qInv;intpbitlength=(length+1)/2;intqbitlength=(length-pbitlength);e=ne());if(e.gcd(p.subtract(ONE)).equals(ONE))break;}for(;;){//生成素数q,并且使q-1与e互素,与p不相等for(;;){q=ne());if(e.gcd(q.subtract(ONE)).equals(ONE)!p.equals(q))break;}//模
8、数n=p*qn=p.multiply(q);if(n.bitLength()==length)break;p=p.max(q);}pSub1=p.subtract(ONE);qSub1=q.subtract(ONE);phi=pSub1.multiply(qSub1);d=e.modInverse(phi);dP=d.remainder(pSub1);dQ=d.remai