电子商务的安全分析、设计及JAVA实现

来源 :电子与电脑 | 被引量 : 0次 | 上传用户:qt393761474
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  电子商务是交易当事人或参与人利用现代信息技术和计算机网络(主要是Internet)所进行的各类商业活动,包括电子数据交换、电子邮件、电子资金转帐等,是一种可能涉及到个人、企业、国家的无纸化数据交换。从国内外电子商务的现状来看,电子商务是一把双刃剑,一方面它造就了从传统商务到现代商务的巨大飞跃,另一方面它也带来了一些全新问题,如安全问题。从目前实践证明,安全问题已成电子商务的核心问题和瓶颈问题之一,也是电子商务的客户和商家所共有的关键需求之一。
  
  电子商务安全的内涵及必要性
  
  电子商务的安全,涉及到交易中各种数据的可靠性、完整性和可用性。就整个电子商务系统而言,安全性可以分为4个层次:(1)网络节点的安全性(2)通信的安全性(3)应用程序的安全性(4)用户的认证管理(5)安全管理。现分别叙述如下:
  


    图1:电子商务安全中间件的总体设计框架图
  
  ● 网络节点的安全
  网络节点的安全性是指组成网络节点的主机、路由器或交换设备及相关软件的安全性,它处于安全级别的最基层,是网络的第一道屏障。网络节点的安全性主要依靠防火墙来保证。防火墙就是一个位于计算机和它所连接的网络之间的软件。它可以对流经的网络通信进行扫描以便过滤掉一些攻击;可以关闭闲置端口以减少攻击的可能性;能禁止特定端口的流出通信,封锁特洛伊木马;能禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。一个防火墙可以是硬件自身的一部分,因特网连接和计算机都可以插入其中;也可以在一个独立的机器上运行,成为它背后网络中所有计算机的代理和防火墙。为了保证电子商务的安全,可使用独立安装防火墙的方法。防火墙可以自行开发,也可以购买商业防火墙。使用方法参考其使用说明书。
  
  ● 数据通信的安全
  数据通信的安全是指数据传输过程的安全性。它主要依靠对通信数据进行加密来保证,因而通信链路上的数据安全在一定程度上取决于加密的算法和加密的强度。电子商务系统的数据通信主要存在于3个方面:①客户Browser端与电子商务Web服务器端的通信;②电子商务Web服务器与电子商务DB服务器的通信;③银行内部网与业务之间的数据通信。其中客户Browser与电子商务Web服务器之间采用SSL协议来建立安全链接。
  
  ● 应用程序的安全性
  各种程序bug都可能导致攻击,所以应加强程序及系统测试,尽量减少漏洞。在编程之前,要强化系统分析及设计功能,设想各种可能的异常或错误,并采取相应对策;使程序中的类或组件尽可能封装。在测试过程中要加强对边界值、数据容量、用户及权限分配、程序碎片、程序后门等环节的测试,尤其要遵循“最小权限原则”,合理设计用户及权限;紧密跟踪、严格监视系统的运行状态,及时发现违反安全策略的行为,并及时采取措施予以解决。
  ● 用户的认证管理
  用户的认证管理用来在网上确认交易各方的身份以及保证交易的不可否认性。电子商务中企业用户身份认证可以通过服务器CA证书与IC卡相结合来实现。CA证书用来认证服务器的身份,IC卡用来认证企业用户的身份。个人用户由于没有提供交易功能,所以只采用ID号和密码口令的身份确认机制。
  
  ● 安全管理
  为了确保系统的安全性,除了采用上述技术手段(即“技防”)外,还必须建立严格的内部安全机制(即“人防”)。“人防”措施包括:根据最小权限原则,结合分级管理来分配操作权限;严格管理内部用户帐号和密码;加强用户的身份确认;对关键应用实施跟踪;建立安全维护日志;后台自动记录运行痕迹;对重要数据进行备份。
  
  一个实际电子商务安全项目的设计与实现
  
  作者主持的湖南省教育厅资助项目“电子商务高级中间件的设计与开发”实际项目,采用安全中间件的解决方案,成功地完成了电子商务中业务处理的部分安全问题。所使用的开发平台为:java(jsp)开发工具+ tomcat服务器+ SQL Server及access 数据库。其总体设计框架图如图1所示。
  
  现将部分安全关键技术详述如下:
  ● 用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: rmiinterface.rmi
  Package rmiinterface.rmi
  import java.rmi.Remote;
   public interface 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步完成:第一步:生成密钥对;第二步:公钥加密;第三步:私钥解密。为简单起见,这里只列出密钥对的生成过程,源代码如下:
  //生成密钥对的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.gcd(p.subtract(ONE)).equals(ONE)) break;
  }
  for (;;){
   //生成素数q,并且使q-1与e互素,与p不相等
  for (;;)
  {
  q = new BigInteger(qbitlength,50,new SecureRandom());
  if (e.gcd(q.subtract(ONE)).equals(ONE) && !p.equals(q)) break;
  }
   //模数n=p*q
  n = 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.remainder(qSub1);
  qInv = q.modInverse(p);
  pukParam=new RSAPublicKey(n, e);
  pvkParam=new RSAPrivateKey(n, e, d, p, q, dP, dQ, qInv);
  return 1;
  }
  以上生成密钥对的代码中,生成p、q、e、d、n 等数是核心。其算法为:先找出3个数p,q,e,其中p,q是两个相异的质数,e是与(p-1)(q-1)互质的数,p,q,e这3个数便是Private Key;然后找出m,使得e m==1mod(p-1)(q-1),再计算n=p q,则m,n这两个数便是Public key。运行时,需在地址栏前面输入“https://”,而不是通常命名用的“http://”,这表明使用了SSL协议。
  
  ● 构造数据库连接池来优化安全稳定地访问数据库
  在电子商务的交易过程中。可能出现多个用户购买商品和付款,它们都需要频繁地访问数据库,为了解决多用户访问及并发控制,提高用户访问速度,保持系统的稳健性,需设计一个数据库缓冲池。数据库缓冲池技术是将数据库的连接进行统一管理的一种机制。它可以显著改善连入数据库的速度,而且可以跟踪连接的状态,为分析系统的运行状态提供了参考。连接池的工作原理如图2所示。源代码从略。
  


  图2:连接池工作原理示意图
  
  结语
  
  电子商务的安全作为电子商务的关键需求和核心问题之一,涉及到两大因素5个层次,即技术因素和管理因素两大因素;网络结点的安全、数据通信的安全、公共程序的安全、用户的认证管理、安全管理等5个层次。本文采用安全中间件的解决方案,通过使用RMI机制、RSA加密算法、数据库连接池等多种关键技术相结合,成功地解决了电子商务交易过程中的安全问题,取得了较好的效果,作为一个实际课题的解决方案,电子商务安全中间件具有一定的应用价值。
其他文献
2009年第一季全球主板出货预期将达到3,200万片规模,但仍较去年同期衰退近16%,较上季衰退约6%,预估2009年全球主板出货将微幅上调至1亿3400万片,整体而言仍有接近9%的衰退。  台湾资策会MIC产业分析师张文森表示,全球主板出货主要受惠于Clone市场需求提升,第一季出货表现已超出主板厂商与相关零组件供货商的预期,但是在总体环境不佳、关键零组件供应吃紧的负面影响下,表现仍不如去年同期
期刊
引言    随着技术的进步,最新一代FPGA提高了带宽,收发器数量越来越多,可以在单个组件中实现多种通信协议标准。FPGA能够满足高速数据速率和带宽要求,它新的目标市场定位在电信设备生产厂商上,这些生产厂商主要为40G和100G以太网络(GbE)开发新一代桥接应用和交换解决方案。      本白皮书将介绍向100G接口过渡的关键推动力量,以及如何利用FPGA特有的功能来实现这一种高速接口。该通信协
期刊
微软从2009年5月5日晚上开放Windows7 RC供大众下载,集邦科技(DRAMeXchange)表示,Windows7具有多点触控功能,也使一机成型电脑(All-in-one)产品成为销售焦点,并有助于缩减桌上型电脑市场衰退幅度, 但是以Windows7于今年秋天上市的时间点来看,Windows对PC需求的贡献要至2010年才比较显着,集邦科技预计明年整体PC出货年增率约达到8%。  集邦科
期刊
在全球的低迷景气无法瞬间复苏下,但拓墣产业研究所预估2009年整体LED产业仍正向增长,其支撑产业增长力道主要即来自LED NB渗透率的攀升。于此市况幽暗未明之际,拓墣产业研究所黄雅琳研究员认为具有节能优势的LED产业在政府及厂商为寻求创新性产品及商机的刺激下,成为今年市场上独领风骚的核心产业;今年LED产业将有三大爆发性的发展,分别为LED路灯、户外显示屏以及采用LED 背光模块的中大型显示器市
期刊
根据DisplaySearch最新发表的大尺寸TFT LCD出货与预测报告指出,2009第一季全球10英寸以上大尺寸TFT LCD出货量达到9,150万片,较上一季微幅下滑3%,与去年同期相比下滑18%。由于出货量下滑的因素,导致出货金额较2008年第四季减少18%,较去年同期衰退52%,仅达到100亿美金;也因为2009第一季市场上需求不佳以及面板厂产能利用率调整,使得所有应用领域出货情况都不甚
期刊
虽然我们还不知道Ovi、iPhone或Android对于未来装置发展动态的影响,但是我们知道“终端使用者”已成为精明的新装置购买者,特别是在补贴已逐渐减少的情况下。虽然我不认为有任何人很清楚新的移动产业生态系统的价值究竟落在何处(可能转向软件、装置、服务、网络、内容?),但是每个人都试着想要了解,随着所有相关领域业者(电信业者、制造业者、软件开发业者及网络/媒体企业)间关系的转变,我们该如何塑造出
期刊
被动组件电容器短短数十年之间,需求量激增了至少500倍以上,而电气二重层电容改良后的锂离子电容器能量密度特高,安全性特优,小而美,咸认为是最棒的下一世代蓄电组件,搭配风力、太阳能发电等大自然电力再生,有机会成为地球既平又热又挤下绿色电子的救世主呢?    “电气二重层”这个名词或是概念,肯定不是创新的概念,而是在1879年,由德国的物理学家Hermann Yon Helmhortz所发现并以此来命
期刊
2009年迷你笔记本电脑(Netbook)第一季的库存去化,已逐渐排除库存量过多的市场疑虑,随着主要品牌业者计划在今年推出主流10英寸新产品,预估2009年迷你笔记本电脑的全年出货量将呈现倍数成长,可望达到2,400万台。  迷你笔记本电脑2009年第一季的全球出货量衰退幅度接近5%,资策会MIC产业分析师古亚薇表示,衰退是受到厂商抢攻市场及主力产品尺寸转换所致,如韩系厂商在迷你笔记本电脑产品的着
期刊
随着人类对数字生活的依赖日益加深,模拟器件的生存空间愈见兴旺。归根结底都是来源于真实感官世界的需求。无论是通信的需求、医疗诊断的需求、还是数字娱乐的需求,人类对图像的真实性和分辨率要求越来越高,高速、高分辨率与低能耗相结合的整合性芯片解决方案成为最受企业追捧的目标。  然而,芯片的高性能与低能耗如同“鱼”与“熊掌”一直是困扰芯片制造商和系统设计师的难题。ADI最新推出18款分辨率为10~16位的高
期刊
从几间屋子大的大型计算机到身段玲珑的上网本,从老旧笨重的手摇电话到可装入口袋随身而行的智能手机。回首半个多世纪来IC产业日新月异的发展,人们见证了一个个创新传奇,越来越多的电子产品被装进口袋。在低成本、高性能、便携性成为众望所归的今天,半导体行业的创新之路又将何去何从?德州仪器(TI)首席科学家方进(Gene Frantz)就电子设备从体积庞大向便携袖珍的发展过程中,嵌入式处理技术与 SoC发挥的
期刊