电子商务的安全分析、设计及JAVA实现(2)
2014-12-23 01:46
导读:现将部分安全关键技术详述如下: ● 用RMI机制的3层模式结构来封装加密算法 RMI即 Remote Method Invocation(远程方法调用),它提供了针对java对象的分布式计算的
现将部分安全关键技术详述如下:
● 用RMI机制的3层模式结构来封装加密算法
RMI即 Remote Method Invocation(远程方法调用),它提供了针对java对象的分布式计算的一种简单而直接的模型。RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全,并使用专门为保护系统免遭恶意小程序侵害而设计的安全治理程序。RMI机制将表示层、处理层和数据层分开,一方面使得并发操纵更易被处理,另一方面,使得安全控制更轻易实现。 RMI架构包括3部分:(1)桩/骨架层Stub/Skeleton;(2)远程调用层Remote Reference Layer;(3)传输层Transport Layer。
实现RMI分3步进行:第一步是建立和编译服务接口。这个接口定义了所有的提供远程服务的功能;第二步是远程服务的实现;第三步是使用RMI编译器rmic来天生桩和框架文件;最后是建立服务器和客户端。其中接口设计的源代码如下:
//天生RMI接口的JAVA源代码
//packagename: rmiinte***ce.rmi
Package rmiinte***ce.rmi
import java.rmi.Remote;
public inte***ce Encrypt extends Remote{
public byte[] Encode(String sText)
throws java.rmi.RemoteException;
public String Decode(byte[] sText)
throws java.rmi.RemoteException;
}
需要说明的是,这个接口继续自Remote,每一个定义的方法都必须抛出一个RemoteException异常对象。
● 使用SSL加密来实现安全传输
SSL(Secure Socket Layer),安全套接字层,位于HTTP层和TCP层之间,用来建立用户与服务器之间的加密通讯,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。
使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机天生会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。加密解密通常用RSA算法来实现分3步完成:第一步:天生密钥对;第二步:公钥加密;第三步:私钥解密。为简单起见,这里只列出密钥对的天生过程,源代码如下:
(科教论文网 lw.nseaC.Com编辑发布) //天生密钥对的JAVA源代码
public int generateKeyPair(int length){
BigIntegerp, q, n, d, e, pSub1, qSub1, phi;
BigIntegerdP, dQ, qInv;
int pbitlength = (length 1) / 2;
int qbitlength = (length- pbitlength);
e=new BigInteger("65537",10);
//天生素数p,并且使p-1与e互素
for (;;){
p = new BigInteger(pbitlength, 50,new SecureRandom());
if (e.***(p.subtract(ONE)).equals(ONE)) break;
}
for (;;){
//天生素数q,并且使q-1与e互素,与p不相等
for (;;)
{
q = new BigInteger(qbitlength,50,new SecureRandom());
if (e.***(q.subtract(ONE)).equals(ONE)