关于我们
![]() ![]() |
电子商务技术基础
本书以电子商务应用系统的多层结构为主线,讲述了电子商务应用系统的表达层、逻辑应用层、数据层和安全层的相关技术,重点介绍了静态网页技术、动态网页技术、组件与中间件技术、数据访问技术、安全与支付技术、网络营销技术、基于UML的系统开发技术等;最后以一个综合性的实例将这些技术集成在一起,构成一个完整的电子商务应用系统。
(1)理论和实践相结合,注重素质和能力的培养,突出教材的实用性高等教育由精英教育转入大众化教育,本科教学的主要目标应该是将能力教育放在首位,在此前提下兼顾学科与研究教育。本教材编写的特色之一就是体现了这种思想,通过实例来阐述复杂理论,将枯燥的理论融于有趣的实例,使理论教学不再乏味。(2)理论以够用为限,技术有所取舍“电子商务技术基础”课程属于电子商务专业的核心基础课,牵涉到的技术非常广泛,在有限的时间内不可能对所有的技术都作清晰的介绍,只能有所取舍。本书对一些基础和核心的技术作重点阐述,其它的技术只作简单介绍。电子商务系统逻辑上分成若干层,其中*核心的是商务逻辑层,通过中间件软件、组件调用、动态网页等技术,实现了电子商务系统中的主要功能。因此本书重点阐述了电子商务系统的核心—商务逻辑层的实现技术,分析了动态网页、组件、组件调用技术,纠正了其它同类书籍中对这一部分技术认识上的偏差。(3)内容编排由浅入深,按功能层次逐步推进在内容编排上,应力求贴近市场,贴近实际,学以致用,在阐述基础概念的同时,努力用精选的实例来讲解抽象复杂的技术理论,将实践与理论结合起来,由浅入深,循序渐进,以求得实效;在章节安排上,也按照系统的多层结构体系逐步推进,力求讲清楚每层的核心技术,使读者对电子商务的技术有一个正确的定位。(4)切合市场实际,实例以Java平台为主大型电子商务系统,考虑到可靠性、可用性、安全性等因素,一般以Java平台作为运行的载体,对于中小企业的小型电子商务系统,即使使用PHP技术,也与Java技术有千丝万缕的联系,因此本书重点介绍了Java及其相关技术,如*章中的Java技术基础,第三章中的JavaScript、JSP与Servlet等,第四章中的EJB组件,这在同类书籍中是少有的。
目录
第1章电子商务技术概论 1.1电子商务的基本概念 1.1.1电子商务的定义 1.1.2电子商务中涉及的相关技术 1.1.3电子商务与技术的关系 1.2电子商务系统 1.2.1电子商务系统的基本概念 1.2.2电子商务系统的特性 1.2.3电子商务系统的功能 1.3电子商务系统的平台与技术分析 1.3.1J2EE的产生背景 1.3.2J2EE平台简介 1.4Java技术基础 1.4.1Java语言简介 1.4.2一个简单的Java应用程序 1.4.3Java程序的运行 1.4.4Java程序的基本结构、数据类型与运算符 1.4.5表达式与基本语句 1.4.6类 1.4.7Java源程序的进一步说明 1.4.8数组 1.4.9Java中不同类型数据之间的转换 1.4.10利用Java进行文件输入输出 1.4.11窗口应用程序的编制 本章小结 习题与思考 第2章商务表达层及其技术 2.1商务表达层的功能与实现 2.2静态网页的表达及其技术 2.2.1静态网页的表达 2.2.2HTTP协议 2.2.3网站 2.3标记语言 2.3.1SGML语言与HTML语言 2.3.2XML 2.3.3Web服务器的安装与设置 2.4动态网页与客户端脚本 2.4.1动态网页概述 2.4.2JavaScript语言 2.4.3利用Applet实现动态网页 2.5服务器端脚本 2.5.1PHP 2.5.2ASP 2.5.3JSP 本章小结 习题与思考 第3章商务逻辑层及其技术 3.1商务逻辑层的构成 3.2应用服务器 3.2.1应用服务器的技术演变 3.2.2应用服务器的产品类型及开发工具 3.2.3应用服务器的基本功能 3.2.4应用服务器的安装 3.3中间件与组件的开发 3.3.1中间件与组件 3.3.2JeanBean与JSP指令 3.3.3使用JavaBean实现中间件 3.4EJB组件的开发 3.4.1EJB组件简介 3.4.2EJB中的角色 3.4.3EJB的类型 3.4.4EJB开发步骤 3.4.5EJB环境和资源 3.5面向服务的系统开发 3.5.1面向服务的系统架构及其特征 3.5.2Web Service 3.5.3面向Web Service的系统开发方法 3.5.4WSDL内容分析 3.5.5Apache开源项目 本章小结 习题与思考 第4章商务数据层及其技术 4.1数据管理技术的发展 4.1.1手工管理与文件系统 4.1.2数据库系统 4.1.3数据仓库与商务智能 4.1.4NoSQL数据库 4.2电子商务系统数据层实现 4.2.1数据库平台的选择与数据模型的设计 4.2.2数据访问接口的实现 本章小结 习题与思考 第5章电子商务安全与支付技术 5.1电子商务的安全需求 5.2信息的保密性技术 5.2.1加密/解密技术 5.2.2防火墙技术 5.3数据完整性技术 5.4不可否认技术 5.4.1数字签名 5.4.2数字时间戳 5.5身份认证技术 5.5.1数字证书 5.5.2认证中心 5.5.3数字证书的申请与应用 5.5.4安全协议 5.6PKI技术 5.7电子支付与电子支付系统 5.7.1电子支付概述 5.7.2电子支付系统的特点 5.7.3电子支付系统的组成及其支付流程 5.7.4支付网关 本章小结 习题与思考 第6章网络营销技术 6.1网络营销概述 6.2搜索引擎营销及其技术 6.2.1搜索引擎 6.2.2搜索引擎营销 6.2.3搜索引擎营销的一些技术 6.3网络广告 6.3.1网络广告概述 6.3.2网络广告的策划与制作 6.3.3网络广告的监测与评估 6.4Email营销 6.4.1Email营销的含义 6.4.2Email地址资源 6.4.3Email效果评估 6.5在线市场调研 6.5.1在线市场调研的优势 6.5.2在线市场调研的途径及应注意的问题 6.5.3在线市场调研技术 6.6网络营销导向的企业网站建设 6.6.1企业网站建设的一般原则及相关规范 6.6.2企业网站优化 6.6.3网站建设中的常见问题 6.6.4网站流量统计 本章小结 习题与思考 第7章基于UML的系统开发技术 7.1建模的提出 7.1.1为什么需要建模 7.1.2信息系统的建模方法 7.2UML建模 7.2.1UML建模概述 7.2.2UML的内容 7.2.3UML的主要特点 7.2.4UML的应用领域 7.3UML的建模机制 7.3.1静态建模机制 7.3.2动态建模机制 7.4Web应用程序的建模 7.4.1Web应用程序的类型 7.4.2Web页的建模 7.4.3UML符号和关系 本章小结 习题与思考 第8章电子商务功能的实现 8.1电子商务系统的软硬件建设概述 8.2一个在线商店: 讯达网上购物系统 8.2.1系统简要说明 8.2.2系统的页面编排 8.3中间件的实现与服务环境的设置 8.3.1中间件dbaccess的实现 8.3.2服务环境设置 8.4利用JSP实现商店首页 8.5利用JSP实现客户的注册与登录 8.6利用JSP实现商品的查询 8.7利用JSP实现购物车与物品选购 8.8利用JSP实现结账及订单生成 8.9利用JSP实现在线电子支付 8.10发布在线商店 本章小结 习题与思考 参考文献
第5章电子商务安全与支付技术
现代电子商务,交易双方的资金结算主要通过网上支付平台来完成。在B to B交易方式中,要求通过网上支付平台能够完成诸如账户之间资金划转、核对账户、账户划转历史查看等资金结算功能; 而在B to C交易方式中,不仅要求网上支付平台能够完成资金结算功能,还要求能解决交易各方的身份认证等一系列的安全问题。现代电子商务所要求的网上支付平台,是这样的一个交易环境: 提供完全可以信赖的资金汇兑交易,保证企业和消费者的利益不受到任何损失,保证厂商的重要商业信息、消费者的个人信息和个人隐私不被泄露。要达到这些目的,离不开基本的安全与支付技术,其中,加密技术是现代电子商务安全技术的基础。5.1电子商务的安全需求电子商务提供了全新的交易和服务方式,通过Internet,不但能为全球的客户提供丰富的商务信息、简便的交易过程,而且使得交易的成本大为降低。但是,在享受这些好处的同时,人们也碰到了一系列的问题,较为突出的就是有关交易安全的问题。有时,交易系统会遭到各种各样病毒的侵扰、黑客的攻击,导致系统突然崩溃,用户账号被盗,网站页面内容被恶意篡改,偶尔还会产生子虚乌有的合同,等等。在这样的情况下,电子商务要能正常地进行下去,必须满足一定的安全需求,具备相应的安全保障。一般来讲,电子商务的安全需求涉及信息安全需求、信用安全需求、管理安全需求和法律保障安全需求这几个方面。只有同时满足了这些安全需求,才能够真正地保障电子商务的顺利实施。但要完全做到这几点,不仅在主观上和客观上存在一定的困难,而且有时也显得没有必要。事实上,在不同的电子商务发展时期,对电子商务的安全需求是不一样的。最早对电子商务的安全需求,主要是提供计算机安全,也就是要能对信息进行保密,而保密这个问题,通过加密、访问控制等技术手段可以获得解决。之后的电子商务安全需求,要求能提供信息安全,而信息安全所要解决的问题,一是防止不法分子冒名顶替合法交易者参与交易或未经授权地篡改数据; 二是防止交易数据丢失或交易数据在通信网络中传输出现问题。此时要求电子商务具备4个基本安全特性,即数据的保密性、完整性、可用性和身份的确定性。电子商务发展到今天,其安全需求,已不再满足于电子商务的4个基本安全特性,而是进一步要求得到更全面的安全保证,包括管理安全和法律保障安全。换句话说,目前对电子商务的安全需求,是一个立体的需求,不但要求电子商务能提供数据保密性、完全性、可用性和对交易行为的可控性、保护性、监测响应等,还要求具备安全的外部交易法律环境,要求制定一系列的有关交易安全的法律法规,以解决管理安全问题和法律保障问题。总之,除了外部交易环境的安全因素外,要求电子商务具备以下几个安全特性: (1) 信息的保密性; (2) 信息的完整性; (3) 信息的不可否认性; (4) 交易者身份的真实性; (5) 系统的可靠性、可用性、可控性。 5.2信息的保密性技术信息的保密性在技术上是通过加密/解密和防火墙等措施来实现的。5.2.1加密/解密技术加密/解密技术是一种用来防止信息泄露的技术。电子商务中的信息在通过Internet传送之前,为了防止信息的内容被他人有意或无意地知晓,需要将它的内容通过一定的方法转变成别人看不懂的信息,这个过程就是加密(encription); 而将看不懂的信息再转变还原成原始信息的过程称为解密(decription)。这里,加密之前的信息被称为明文(plaintext),加密之后的内容称为密文,加密通常要采用一些算法(对应着加密/解密的程序),而这些算法需要用到不同的参数,这些不同的参数称作密钥,密钥空间是所有密钥的集合。加密/解密所用方法的种类,按照历史发展阶段可分为手工加密、机械加密、电子机内乱加密、计算机加密这4种。手工加密是指以手工完成加解密的过程,或者以简单器具来辅助完成加解密的过程,在第一次世界大战之前主要就采用这种加密形式。机械加密是指以机械密码机或电动密码机来完成加解密过程,它在第一次世界大战到第二次世界大战期间曾得到普遍应用。电子机内乱加密是指通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素来生成大量的加密乱数,最终完成加解密过程。由于制乱是在加解密的过程中完成的,不需要预先制作,所以称其为电子机内乱加密,在20世纪60年代到70年代被广泛应用。计算机加密是指以计算机软件程序来进行加密,程序是公开的,也就是加解密的算法是公开的,密文的保密程度不取决于加密程序,而是取决于加密中用到的参数,即密钥,这种方法适用于对现代计算机中的数据进行保护和通信。计算机加密方法,按照保密程度来说,又可分为理论上保密的加密、实际上保密的加密、不保密的加密3种类型。对于理论上保密的加密,不管获取多少密文和有多大的计算机计算能力,对明文始终不能得到唯一解,所以也叫理论不可破的加密,如客观随机一次一密的加密就属于这种; 而对于实际上保密的加密,虽然在理论上可破,但在现有客观条件下,无法通过计算来确定密码; 至于不保密的加密,当获取一定数量的密文后就可以得到所用的密码,如早期的单表代替密码,后来的多表代替密码,以及明文加少量密钥等。按照密钥使用方式的不同,计算机加密方法通常又分为对称加密和非对称加密两种类型。对称加密是指加密和解密时使用相同的密码,传统的加密都属此类; 而非对称加密,在加密和解密时,分别使用两个不同的密码,一个称为公钥,另一个称为私钥。常见的对称加密和非对称加密的方法如表51所示。 表51常见的对称加密和非对称加密方法 方法描述 对称加密 DES()是美国国家标准局于20世纪70年代开发的一种对称加密算法,采用分组乘积密码体制。数据块64位,密码64位或56位 IDEA()由瑞士苏黎世联邦工业大学的赖学嘉和James L.Massey于1990年共同提出。数据块64位,密码长128位 FEAL()日本NTT公司的清水和宫口设计 Rijndael(荣代尔)一种高级的加密标准(AES),由比利时Joan Daemen和Vincent Rijmen提出,用于代替DES,其数据块长度和密钥长度可分别为128、192、256RC一种由Ron Rivest为RSA数据安全公司(RSADSI)所设计的密钥长度可变的对称加密算法 非对称加密 RSA由MIT的Ron rivest、Adi Shamir、Leonard Adleman于1978年提出。安全性基础是数论和计算复杂性理论中的下述论断: “求两个大素数(〉10100)的乘积在计算上是容易的,但若要分解两个大素数的积而求出它的因子则在计算上是困难的” EL Gamal1985年由EL Gamal提出,安全性基于“在有限域上计算离散对数比计算指数更高的困难”(DLP) 背包系统第一种出现的公开钥加密算法,由Ralph Merkle和Martin Hellman于1978年基于求解背包问题的难解性而提出的 McEliece1978年由McEliece提出。基于“将一个译码容易的线性码经过变换而伪装成一个译码困难的线性码”原理 DiffieHellman1976年出现,安全性基于“在有限域上计算离散对数比计算指数更高的困难” 椭圆曲线密码(FEE、ECC)1985年由N.Koblitz和V.Miller提出,利用有限域上的椭圆曲线上点集所构成的群,在其上定义离散对数系统。安全性基于“在有限域上计算离散对数比计算指数更高的困难” 1. 对称加密对称加密也叫共享密钥加密或机密密钥加密,收发双方拥有相同的单个密钥,这把密钥既可用于加密,也可用于解密,即加密和解密使用的是相同的一把密钥,此密钥又称为对称密钥或会话密钥。常见的对称加密方法有DES、DES3、AES、Base64等。DES(Data Encryption Standard) 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛使用。该算法输入的是64bit的明文,在64bit密钥的控制下产生64bit的密文; 反之输入64bit的密文,输出64bit的明文。64bit 的密钥中含有8bit的奇偶校验位,所以实际有效密钥长度为56bit。1997 年RSA数据安全公司发起了一项“DES 挑战赛”的活动,志愿者4次分别用4个月、41天、56个小时和22个小时破解了其用56bit DES算法加密的密文。因此,DES加密算法在计算机速度提升后的今天被认为是不太安全的。DES3是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128bit(实际有效位为112bit)或192bit(实际有效位为168bit)。其基本原理是将128bit 的密钥分为64bit的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。AES(Advanced Encryption Standard)是在2001年由NIST宣布的一种DES后继加密算法。AES处理以128bit数据块为单位的对称密钥加密算法,可以用长为128、192和256位的密钥加密。NIST估计如果用能在1秒钟内破解56bitDES算法的计算机来破解128位的AES加密密钥,那需要用大约149 亿万年时间才行。例51使用Openssl软件,来对某个文件进行DES3加密。Openssl是一个有关安全的自由软件,具有多个版本(可从www.openssl.org站点下载),分别运行在UNIX、Linux、Windows平台上。运行在Windows平台上的Openssl功能主要包括对称加密、非对称加密、SSL接口及PKCS接口(包括X.509证书、PKCS标准、ASN.1)等。利用Openssl可以直接构建各种有关数据加密和PKCS接口的应用,不仅如此,用它构建的应用,其加密的强度要比微软(受美国安全产品出口限制)公司用组件来加密的强度要高得多,也安全得多。目前,Openssl已发展到0.95版,功能越来越丰富。Openssl软件由ssleay和openssl这两个模块构成。openssl模块是建立在ssleay模块上的一个高级应用; ssleay模块是整个Openssl软件的核心,由Eric A. Young和Tim J. Hudson用标准C语言写成,跨平台运行,功能很齐全,涉及的范围很广,提供的接口大约有2000多个,其中有关对称加密的算法主要有DES、IDEA、RC2、RC4、RC5、Blowfish、CAST等; 有关非对称加密算法主要有RSA、DH、DSA等; 有关哈希算法主要有MD2、MD5、SHA、SHA1、RIPEMD、MDC2等。本例就是直接利用Openssl中的ssleay模块功能接口,在Windows平台下对某个文件进行加密。值得注意的是,在运行Openssl时,要求存在一个Openssl的配置文件: openssl.cnf,该配置文件中包含了运行Openssl时的一些默认选项,如果没有这个文件,可用记事本编辑一个,将它保存到C:\openssl\out32dll文件目录下(这里假设Openssl软件安装在C:\openssl目录下),内容如下: [ req ] default_bits = 1024 default_keyfile = myca.key distinguished_name = req_distinguished_name x509_extensions = v3_ca string_mask = nombstr req_extensions = v3_req [req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = CN countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Shanghai localityName = Locality Name (e.g.,city) localityName_default = Shanghai xuhui 0.organizationName = Organization Name (e.g.,company) 0.organizationName_default = My Directory USST organizationalUnitName = Organizational Unit Name (e.g.,section) organizationalUnitName_default = Certification Services Division commonName = Common Name (e.g.,USST Root CA) commonName_max = 64 emailAddress = Email Address emailAddress_max = 40 [v3_ca] basicConstraints = critical,CA: true subjectKeyIdentifier = hash [v3_req] nsCertType = objsign,email,server [ ca ] default_ca = default_CA [default_CA ] dir= ../out32dll# Where everything is kept certs= ?瘙嚜dir# Where the issued certs are kept crl_dir= ?瘙嚜dir # Where the issued crl are kept database= ?瘙嚜dir/index.txt# database index file. unique_subject = no# Set to 'no' to allow creation of # several ctificates with same subject. new_certs_dir = ?瘙嚜dir # default place for new certs. certificate= ?瘙嚜dir/myca.crt # The CA certificate serial = ?瘙嚜dir/serial # The current serial number private_key= ?瘙嚜dir/myca.key # The private key #crlnumber= ?瘙嚜dir/crlnumber# the current crl number # must be commented out to leave a V1 CRL #crl= ?瘙嚜dir/crl.pem # The current CRL #RANDFILE= ?瘙嚜dir/private/.rand # private random number file default_days = 3650 default_crl_days = 30 default_md = md5 preserve = yes x509_extensions = user_cert policy = policy_anything [policy_anything ] commonName = supplied emailAddress = supplied [user_cert ] #SXNetID = 3: yeak subjectAltName = email: copy basicConstraints = critical,CA: false authorityKeyIdentifier = keyid: always extendedKeyUsage= clientAuth,emailProtection 接下来对文件进行加密,具体操作步骤如下: (1) 先用记事本创建一个待加密的文本文件,文件名为026h23f.txt,文件内容可为任意一个字符,将它保存到C:\openssl\out32dll文件目录下。(2) 在Windows中,打开命令提示符窗口,输入cd C:\openssl\out32dll命令并按Enter键,进入到openssl\out32dll目录。(3) 在命令提示符窗口中输入命令: openssl encdes3in 026h23f.txtout out026h23f.des,即可对文件026h23f.txt(明文)进行加密,如图51所示。 图51对文件026h23f.txt(明文)进行加密 命令中参数“encdes3”,表示用des3算法来进行加密; 参数“in 026h23f.txt”,表示要加密的文件名为026h23f.txt; 参数“out out026h23f.des”,表示加密后的文件名为out026h23f.des。在加密过程中会提示输入一个用来产生对称密码的口令,按Enter键后还会要求再输一次以进行确认(注意,在输入口令时,基于安全的缘故,屏幕上无任何显示)。执行完上述命令后,在C:\openssl\out32dll目录下会自动生成一个用des3算法加密后的out026h23f.des文件(密文)。(4) 在命令提示符窗口中输入命令: type out026h23f.des,按Enter键后在屏幕上即可显示out026h23f.des密文内容。例52使用Openssl软件,来对某个已加密的文件进行解密。假设要解密的文件就是上例中的密文out026h23f.des,则解密的操作过程如下: (1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 在命令提示符窗口中输入命令: openssl enc des3 d in out026h23f.desout new026h23f.txt,将会对out026h23f.des密文进行解密,产生一个明文文件new026h23f.txt。命令中的参数“d”,表示解密,在解密的过程中,为了获得用于解密用的对称密钥,需要输入加密时的口令。(3) 输入命令: type new026h23f.txt,看看屏幕上显示的内容是否与原始文件026h23f.txt的内容一致。在对称加密的方法组中,有一类比较特殊的方法,例如Base64,它们实际上只能算是一种编码方法,将信息从明文编码变成一种密文,从原理上来说,这种密文实际上并不保密。以Base64为例,在进行编码时,其运用的具体算法如下: (1) 先将要编码的信息内容(明文)以二进制流的形式排成一行,从高位开始,每6位为一个单位进行排列。例如,信息内容为字符流“ABCD”,在计算机中以ASCII码进行编码,因此对应的二进制流为: 01000001,01000010,01000011,01000100上述二进制流以6位为单位重新排列,结果为: 010000,010100,001001,000011,010001,00由于末尾一组不足6位,在不足六位的后面补零,组成6位,结果为: 010000,010100,001001,000011,010001,000000(2) 根据符号到数字的映射表(见表52),把6位二进制流对应的数值分别转化成相应的数字,重新整理成一个字符流。 表52Base64符号与数字对应关系 数字字符数字字符数字字符数字字符 0A16Q32g48w 1B17R33h49x2C18S34i50y3D19T35j51z4E20U36k5205F21V37l5316G22W38m5427H23X39n5538I24Y40o5649J25Z41p57510K26a42q58611L27b43r59712M28c44s60813N29d45t61914O30e46u62 15P31f47v63/ 由于以上二进制对应的数字大小为: 16、20、9、3、17、0,因此根据映射表,得到的对应字符流为: “QUJDRA”。实际上,经过Base64编码后的信息,内容中只能存在上表中的64个ASCII字符,即A~Z、a~z、0~9、 和/。(3) 由于规定编码的原始字符流字节数应是3的整数倍,原始字符流“ABCD”还需要补足两个字节,总的字节数才能被3整除,为此后面需补上两个“=”字符,所以原始字符流“ABCD”的最终Base64编码为“QUJDRA==”。从Base64编码的原理可以看出,最终得到的密文实际上是很容易进行逆运算从而得到原始的明文,因此Base64编码算法其实并不保密。事实上,Base64编码方法只是运用在MIME电子邮件传送的协议中,用来将需要传送的图像文件、二进制文件等统一编码成由A~Z、a~z、0~9、 和/组成的ASCII字符串,在传统的只能传输字符串的邮件系统上进行传输。例53使用Openssl软件包,来对某个经过Base64编码后的文件进行解码。在支持MIME协议的邮件系统中,所有要发送的邮件,实际上已经经过了Base64编码。例如,在Outlook Express中,选中某个邮件,右击鼠标,快捷菜单中选“属性”(见图52),然后单击属性窗口中“详细信息”选项下的“邮件来源”按钮(见图53),在软件来源窗口中即可看到对应邮件内容的Base64编码内容(见图54),可将编码内容选中并复制到记事本,保存到某个文件如026h23fbase64.txt中。 图52查看邮件属性 图53邮件属性窗口 图54邮件来源窗口 下面就以026h23fbase64.txt文件为例,来对它的内容进行解码。具体操作步骤如下: (1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 输入命令: openssl enc base64 d in 026h23fbase64.txt out 026h23fplain.txt,对Base64编码后的文件026h23fbase64.txt进行解码,解码后产生的新文件为026h23f plain.txt。 (3) 输入命令: type newname.txt,可看到屏幕上显示的内容和邮件的内容是一致的。对称加密具有算法简单、加密与解密的速度较快的特点,能对大量的明文进行加密,但也有一些明显的缺点,最主要的缺点是,由于加解密双方都要使用相同的密钥,因此在发送、接收信息之前,必须完成密钥的分发,密钥不能直接通过网络来传递,在首次通信前,通信方必须通过除网络以外的途径来传递对称密钥给接收方。因而,密钥的分发便成了该加密方法中最薄弱、风险最大的环节,在非对称加密方法出现前,各种基本的手段很难保障安全、高效地完成此项工作。另外,当某个对象需要与多个对象保密通信时,就需要产生多个密钥,因此对密钥的管理难度很大。对称加密是建立在共同保守秘密的基础之上的,在管理和分发密钥过程中,任何一方的泄密都会造成密钥的失效,因而存在着潜在的危险。 2. 非对称加密对称加密方法遇到了密钥分发管理的难题,不管算法多么优秀,如果密钥在分发时发生泄露,则整个安全将毁于一旦。非对称加密方法则有效地避免了密钥分发的难题。非对称加密方法中使用一对密钥: 公钥(public key)和私钥(private key)组合。用公钥加密的密文只能用私钥解密,反之,用私钥加密的密文只能用公钥解密。在操作过程中,公钥可向外界发布,让其他人知道,私钥则自己保存,只有自己知道。如果A要发一份秘密信息给B,则A只需要得到B的公钥,然后用B的公钥加密秘密信息,此加密的信息只有B能用其保密的私钥解密。反之,B也可以用A的公钥加密保密信息给A。信息在传送过程中,即使被第三方截取,也不可能解密其内容。非对称加密也有许多种方法,常见的有RSA加密和椭圆曲线加密等。由Ron Rivest,Adi Shamir和Leonard Adleman三人首创的RSA是一种公开密钥加密方法,它的原理是: 先由密钥管理中心产生一对公钥和私钥,称为密钥对。方法是: 先产生两个足够大的强质数p、q。可得p与q的乘积为 n=p×q。再由p和q算出另一个数z=(p-1)×(q-1),然后再选取一个与z互素的奇数b,称b为公开指数; 从这个b值可以找出另一个值a,并能满足b×a=1 (mod z)条件。由此而得到的两组数(n,b)和(p,q,a)分别被称为公开密钥和秘密密钥,或简称公钥和私钥。若对明文信息x(0≤x 图55防火墙 防火墙如果从工作原理来看,主要可分为包过滤型和应用网关型两类。包过滤型防火墙可以动态检查通过防火墙的TCP/IP报文头中的报文类型、源IP地址、目标IP地址、源端口号等信息,与预先保存在防火墙中的清单进行对照,按预定的安全策略决定哪些报文可以通过、哪些报文不可以通过。应用型网关使用代理技术,在内部网与外部网之间建立一个单独的子网,该子网有一个代理主机,通过路由器和网关分别与内、外网连接,代理主机对外部和内部用户的网络服务请求进行认证,对于合法用户的服务请求,代理主机则连接内部网与外部网,自己作为通信的中介,外部用户只能获得经过代理的内部网服务,从而保护内部网络资源不受侵害。防火墙如果从实现方式来看,又分为硬件防火墙和软件防火墙两类,通常软件防火墙属于包过滤型,而硬件防火墙属于应用网关型与包过滤型的综合。硬件防火墙通过硬件和软件的结合来达到隔离内、外部网络的目的,价格较贵,但效果较好,一般小型企业和个人很难实现; 软件防火墙是通过纯软件的方式来达到,价格很便宜,但这类防火墙只能通过一定的规则来达到限制一些非法用户访问内部网的目的。现有的软件防火墙主要有天网防火墙个人及企业版,Norton的个人及企业版,还有许多原来是开发杀病毒软件的开发商现在也开发了软件防火墙,如KV系列、KILL系列、金山系列、瑞星系列等。硬件防火墙又可分为两类,即标准防火墙和双家网关防火墙。标准防火墙系统包括一个UNIX工作站,该工作站的两端各接一个路由器进行缓冲。其中一个路由器的接口是外部世界,即公用网,另一个则连接内部网。标准防火墙使用专门的软件,并要求较高的管理水平,而且在信息传输上有一定的延迟。双家网关 (dual home gateway) 则是标准防火墙的扩充,又称堡垒主机(bation host) 或应用层网关(applications layer gateway),它是一个单个的系统,但却能同时完成标准防火墙的所有功能。其优点是能运行更复杂的应用,同时防止在互联网和内部系统之间建立的任何直接的边界,可以确保数据包不能直接从外部网络到达内部网络,反之亦然。随着防火墙技术的发展,在双家网关的基础上又演化出两种防火墙配置,一种是隐蔽主机网关方式; 另一种是隐蔽智能网关( 隐蔽子网)。隐蔽主机网关是当前一种常见的防火墙配置。顾名思义,这种配置一方面将路由器进行隐蔽,另一方面在互联网和内部网之间安装堡垒主机。堡垒主机装在内部网上,通过路由器的配置,使该堡垒主机成为内部网与互联网进行通信的唯一系统。目前技术最为复杂而且安全级别最高的防火墙是隐蔽智能网关,它将网关隐藏在公共系统之后使其免遭直接攻击。隐蔽智能网关提供了对互联网服务进行几乎透明的访问,同时阻止了外部未授权访问对专用网络的非法访问。一般来说,这种防火墙是最不容易被破坏的。5.3数据完整性技术要保证数据的完整性,技术上可以采用信息摘要的方法或者采用数字签名的方法。与信息摘要相比,数字签名除了能保证完整性外,还能有效防止交易者的交易抵赖,保证交易的不可否认。信息摘要技术的原理如图56所示。 图56信息摘要 数字摘要采用单向Hash函数(如SHA、MD5等)对要传送的信息内容进行某种变换运算,得到固定长度的摘要信息,并在传输信息时将它一起送给接收方; 接收方收到文件后,用相同的方法进行变换运算,若得到的结果与发送来的摘要信息相同,则可断定信息在传送的过程中未被篡改,反之亦然。例55使用Openssl软件,对某个文件产生数字摘要。操作方法如下: (1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 输入命令: openssl dgst md5 out 026h23f.md5 026h23f.txt。执行完此命令后,将会产生一个数字摘要,放置在026h23f.md5文件中。命令中参数“dgst md5”,表示利用md5算法来产生一个数字摘要; 参数“out 026h23f.md5”指出了用来存放摘要的文件; 命令最后指出了需要对原文026h23f.txt进行摘要。(3) 输入命令: type 026h23f.md5,就会将放置在026h23f.md5文件中的摘要显示在屏幕上。5.4不可否认技术要达到不可否认的目的,可以采用数字签名和数字时间戳等技术。5.4.1数字签名日常生活中,通常用对某一文档进行签名来保证文档的真实有效性,防止其抵赖。在网络环境中,可以用电子数字签名作为模拟。把Hash函数和公钥算法结合起来,产生的数字签名(见图57),可以在提供数据完整性的同时保证数据的不可抵赖。完整性保证传输的数据没有被修改,而不可抵赖则保证了是由确定的对象产生的Hash,而不是由其他人假冒的,自己不可否认。 图57数字签名 例56使用Openssl软件,对某个文件产生的数字摘要进行签名,并验证签名。操作方法如下: (1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 输入命令: openssl dgst md5 out 026h23f.sign sign 026h23f.key 026h23f.txt。执行完此命令后,会产生一个数字签名摘要,放置在026h23f.sign文件中。命令中参数“sign 026h23f.key”,表示对产生的摘要进行数字签名,签名用的私钥放置在文件026h23f.key中。接下来,可对数字签名的摘要进行验证。(3) 输入命令: openssl dgst md5 signature 026h23f.sign prverify 026h23f.key 026h23f.txt命令中参数“signature 026h23f.sign”指出需要验证的数字签名摘要放置在026h23f.sign文件中; 参数“prverify 026h23f.key”,指出了用来验证数字签名的私钥放在文件026h23f.key中(根据此私钥可导出公钥,然后用公钥来进行验证; 当然,如果公钥已经存放在某个文件中,也可直接使用参数“verify publickey.key”来替代参数“prverify 026h23f.key”进行验证)。执行完此命令后,会在屏幕上显示验证的结果,如verify ok或verify failure信息。5.4.2数字时间戳 在书面合同中,文件签署的日期和签名一样均是防止文件被伪造和篡改的关键性内容。而在电子交易中,同样需要对交易文件的日期和时间信息采取安全措施,而数字时间戳就能提供电子文件发表时间的安全保护。数字时间戳(DTS)是网络安全服务项目,由专门的机构提供。时间戳是一个经加密后形成的凭证文档,它包括3个部分: 需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS的数字签名,如图58所示。 图58数字时间戳 5.5身份认证技术在电子商务的过程中,尤其在交易支付过程中,参与各方必须要能在网上表明自己的真实身份,防止身份的假冒,需要借助于数字证书的技术,设立安全认证中心,制定一系列的安全协议等来实现。5.5.1数字证书数字证书(Digital Certificate)是一种权威性的电子文档,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是利用数字签名技术由一个权威机构——CA证书认证(Certificate Authority)中心签发。在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。数字证书概念最早由MIT的Kohnfelder于1978年在他的本科毕业论文中提出,内容是通过数字签名来保护命名的证书(名字/密钥对),从而可将公钥分散存放和访问,克服将公钥集中存放到一个数据库中而带来的访问性能问题,因此,数字证书除了可用于网上证明交易者的身份,还有另外一个作用,可以利用它来分发交易者的公钥。数字证书必须具有唯一性和可靠性。为了达到这一目的,需要采用很多技术来实现。通常,数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所有的私有密钥(私钥),用它进行解密和签名; 同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。公开密钥技术解决了密钥发布的管理问题,用户可以公开其公开密钥,而保留其私有密钥。数字证书颁发过程一般为: 用户向注册中心RA提出申请,注册中心首先为用户产生密钥对,然后生成一个称为csr(数字证书请求)的文件,内含公钥及部分用户身份信息; 认证中心CA收到RA的csr文件后,将执行一些必要的核实步骤,以确信请求是真实的,然后进行签名,生成数字证书。这样该证书内包含有用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。数字证书各不相同,可用于不同的目的,每种证书可提供不同级别的可信度。 图59一个数字证书 目前的数字证书按用途可分为个人数字证书、服务器数字证书、代码签名证书; 按证书的格式可分为X.509、PGP、SDSI/SPKI、X9.59(AADS)、AC等类型的证书,按证书所用于的协议可分为SSL证书(服务于银行对企业或企业对企业的电子商务活动)、SET证书(服务于持卡消费、网上购物)等。SSL证书通过公开密钥可证明持证人的身份,而SET证书则是通过公开密钥,证明了持证人在指定银行确实拥有该信用卡账号,同时也证明了持证人的身份。图59是常见的X.509证书的格式与内容,分别含有数字证书的版本号、数字证书的序列号、证书拥有者的姓名、证书拥有者的公钥、公钥的有效期、颁发数字证书的单位、颁发数字证书单位的数字签名等。下面是一个X.509数字证书的数据结构: Version: 3 (0x2) Serial Number: 288 (0x120) Signature Algorithm: md5WithRSAEncryption Issuer: C=CN,ST=SH,L=sh,O=usst,OU=Certification Services Division,CN=MyCa/emailAddress=myca@sh.cn Validity Not Before: Jun 8 12: 12: 36 2005 GMT Not After: Jun 8 12: 12: 36 2006 GMT Subject: CN=User/emailAddress=zhang_bm@citiz.net Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00: ca: 87: bb: d8: b0: 6e: 15: 30: 73: 5a: c0: 6e: f5: 49: 42: c7: 26: 38: 15: d8: 74: 6c: a3: f0: a2: 91: 12: fb: 4a: 1e: 88: 73: d4: 1b: f1: b7: 5a: 64: 41: 0a: ae: 57: d6: d9: 31: a7: 3c: 08: 18: 4c: c4: 8a: 52: 47: bd: 84: be: 1a: f7: 9b: a0: dd: 5f: 64: 40: 98: ee: 05: 93: 93: 19: 4d: c2: 63: 59: 76: 29: 92: 1d: ba: 5b: 5e: ce: d9: b0: 0b: b4: d7: fe: 41: 34: f2: 6e: e3: 27: e3: c1: 1f: e3: f0: 17: ce: 82: 10: 85: 47: a8: d0: 97: de: c4: cd: 65: 2d: 8a: 3a: 49: 4c: 1e: ac: e9: b2: 00: ae: c1: c5: ae: cb Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: email: zhang_bm@citiz.net X509v3 Basic Constraints: critical CA: FALSE X509v3 Authority Key Identifier: keyid: 69: 9B: A8: 8A: 93: 8C: 68: 8D: 38: 16: ED: 80: 36: BF: 91: CE: AE: 3F: C9: DC X509v3 Extended Key Usage: TLS Web Client Authentication,Email Protection Signature Algorithm: md5WithRSAEncryption 14: 11: 27: 83: 10: bf: bd: 35: 43: 71: dc: 04: e4: 9d: 8f: de: 2a: a8: 3e: 1e: 8e: 51: 39: 97: 5b: a0: 17: ae: 2b: c9: 3a: 52: e5: 19: 91: 69: 26: 99: a3: b5: ac: e1: 13: a8: dd: 80: f4: 0e: 99: 6f: 99: cd: 50: 91: 59: 9a: ec: f9: a1: 4a: a9: 1a: 4e: d5 在浏览器窗口中,选择“工具”→“Internet选项”命令,在Internet选项的窗口中,单击选项卡“内容”下的“证书”按钮,在出现的证书窗口中将会看到若干的数字证书,任选一个数字证书,将会看到如图59所示的数字证书的具体内容。5.5.2认证中心CA作为电子交易中受信任的第三方,负责为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理证书; 数字证书的用户拥有自己的公钥/私钥对。证书中包含有证书主体的身份信息、其公钥数据、发证机构名称等。发证机构验证证书主体为合法注册实体后,就对上述信息进行数字签名,形成证书。在公钥证书体系中,如果某公钥用户需要任何其他已向CA注册的用户的公钥,可直接向该用户索取证书,而后用CA的公钥解密即可得到认证的公钥; 由于证书中已有CA的签名来实现认证,攻击者不具有CA的签名密钥,很难伪造出合法的证书,从而实现了公钥的认证性。数字证书认证中心是整个网上电子交易安全的关键环节,是电子交易中信赖的基础。它必须是所有合法注册用户所信赖的具有权威性、信赖性及公正性的第三方机构。CA的核心功能就是发放和管理数字证书。概括地说,CA的功能主要有: 证书发放、证书更新、证书撤销和证书验证。具体描述如下: (1) 接收验证用户数字证书的申请。(2) 确定是否接受用户数字证书的申请,即证书的审批。(3) 向申请者颁发(或拒绝颁发)数字证书。(4) 接收、处理用户的数字证书更新请求。(5) 接收用户数字证书的查询、撤销。(6) 产生和发布证书的有效期。(7) 数字证书的归档。(8) 密钥归档。(9) 历史数据归档。VeriSign是最大的公共CA,也是最早广泛推广PKI并建立公共CA的公司之一。VeriSign除了是公认的最可信公共CA之一,还提供专用PKI工具,包括称为OnSite的证书颁发服务,这项服务充当了本地CA,而且连接到了VeriSign的公共CA。国内常见的认证中心有: 中国数字认证网(www.ca365.com)、中国商务在线、北京数字证书认证中心(www.bjca.org.cn)等。5.5.3数字证书的申请与应用申请个人数字证书,一般需要经过以下几步: 首先在认证中心的网站上下载并安装认证中心的根证书(所谓根证书,是指认证中心自己为自己颁发的数字证书); 然后填写相关的申请表格,提交相关材料,提出申请,认证中心收到申请后,将为用户生成一个临时的证书,并将证书的序列号返回给用户; 接下来,认证中心对用户身份进行仔细核查,核查通过后将为用户颁发由自己签过名的正式数字证书,用户得到此证书后就可以进行例如对电子邮件进行加密等操作了。以中国数字认证网为例,用户首先在中国数字认证网的主页下载根证书,如图510所示。单击链接“根CA证书”,在随后出现的文件下载窗口中选择“在当前位置打开”并单击“确定”按钮,将根证书安装到自己的计算机上。然后,再回到主页,进行证书申请。单击链接“用表格申请证书”,在弹出的申请页面(见图511)中填写相应的申请内容并提交。提交后,如果顺利的话,将很快就得到一个临时的证书,将此证书的序列号记录下来,便于此后查询。临时证书的有效期一般时间不长,要想得到正式的数字证书,接下来,用户需要将自己的个人资料邮寄给中国数字认证网,一个月内不提交者,临时证书将会被吊销。在提交个人资料时,需要附上临时证书的序列号,待审查合格后,用户将可以在主页查询到自己正式的个人数字证书了。 图510中国数字认证网 图511申请页面 有了个人数字证书,就可以将它导入到浏览器或Outlook Express中,以进行电子邮件的加密或签名(见图512)。但需注意的是,在给某个收件人发送加密的电子邮件时,需要用到收件人的公钥,该公钥存放在收件人的数字证书中; 而给某个收件人发送签名的电子邮件时,用的是签名者(即邮件发送者)自己的私钥。在发送签名的电子邮件时,Outlook Express会将签名者的数字证书附加到电子邮件上,一起发给收件人。因此,当自己需要发送一封加密的电子邮件给某个人时,为了得到对方的数字证书以获取公钥,可以先要求对方给自己发一封签名的电子邮件,在获得对方的数字证书后,就可以给对方发加密的邮件了。 图512Outlook发送签名邮件 例57利用OpenSSL软件,为用户颁发数字证书。具体操作步骤如下: (1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 检查以下4个文件在openssl\out32dll目录下是否存在,若不存在,则从openssl\apps\demoCA目录下复制,其中openssl.cnf为Openssl软件的配置文件。 openssl.cnf index.txt index.txt.attr serial (3) 输入命令: openssl genrsades3out ca.key 1024,为CA创建一个证书签名用的RSA私钥,生成的私钥放在文件ca.key中。注意,执行时,需要输入保护口令。(4) 输入命令: openssl req new x509 days 365 key ca.key out cacert.crt config openssl.cnf,为CA创建一个自签名的CA根证书。根证书的格式合乎X.509规范,文件名为cacert.crt,证书的有效期为365天; 在执行命令时,会提示输入国家代号、省份名称、城市名称、公司名称、部门名称、姓名及Email地址,直接按Enter键则使用openssl.cnf文件中的默认配置,如图513所示。 图513为CA创建一个自签名的CA根证书 (5) 为用户(服务器、个人)颁发证书。要为用户颁发证书,先要用genrsa子命令为用户生成一个私钥,再用req子命令为用户生成一个证书签署请求CSR,然后再用x509子命令来为用户生成一个由CA签名的证书,输入的3个命令分别为: openssl genrsa des3 out 026h23f.key 1024 openssl req new key 026h23f.key out 026h23f.csr config openssl.cnf openssl x509 req in 026h23f.csr out 026h23f.crt CA cacert.crt CAkey ca.key days 600 执行上面的命令时要按提示输入一些个人信息,最后生成客户证书为026h23f.crt,如图514所示,客户证书中含有客户的公钥。 图514为用户颁发证书 例58利用OpenSSL软件,将上面生成的用户私钥和用户的X.509证书封装成一个个人信息交换证书,用于电子邮件的加密与签名。个人信息交换证书中封装有用户的X.509证书(内含用户的公共密钥)和用户的私有密钥,可以用在电子邮件系统中分别对邮件进行签名和加密。当用户的私钥026h23f.key和用户的X.509证书026h23f.crt产生后,接下来就可以用Openssl将它们封装成一个个人信息交换证书。具体命令为: openssl pkcs12 export clcerts in 026h23f.crt inkey 026h23f.key out 026h23f.p12 执行完此命令后,将生成一个名为026h23f.p12的用户个人信息交换证书。有了这个个人信息交换证书,就可以将它导入Outlook Express中,以便加密或签名电子邮件。具体步骤为: 打开Outlook Express,选择菜单“工具”→“选项”命令,在出现的对话框窗口中单击“安全”项下的“数字标识”按钮,在出现的证书窗口中分别导入个人信息交换证书026h23f.p12(见图515)和受信任的根证书cacert.crt(见图516),以后可以用此个人信息交换证书来对新建的电子邮件进行加密和签名了。 图515导入个人信息交换证书 图516导入根证书 例59直接利用OpenSSL软件,对某个电子邮件进行加密与解密、签名与验证。(1) 对某个邮件进行加密,形成数字信封。OpenSSL使用smime子命令及“encrypt”参数来对邮件进行加密,在对邮件进行加密时,用的是用户的公钥(实际上真正对邮件加密用的是随机产生的某个对称钥,公钥只对对称钥加密,形成一个数字信封),因此命令中还需提供存放公钥的证书。具体命令如下: ?瘙嚜openssl smime encrypt in my.txt out my.enc 026h23f.crt 这里,“in my.txt”指出要加密的邮件为my.txt文件,“out my.enc”指出加密后的邮件放在my.enc文件中,026h23f.crt为用户的证书。(2) 对某个加密的邮件进行解密(拆解数字信封)。OpenSSL使用smime子命令及“decrypt”参数来对邮件进行解密,在对邮件进行解密时,需要用户的私钥(由“inkey 026h23f.key”参数指出私钥存放在哪里)。具体命令如下: ?瘙嚜openssl smime decrypt in my.enc out my.txt1 inkey 026h23f.key recip 026h23f.crt (3) 对某个邮件进行数字签名。OpenSSL使用smime子命令及“sign”参数来对邮件进行数字签名,在对邮件进行签名时,需要用户的私钥(同样由“inkey 026h23f.key”参数指出私钥存放在哪里)。具体命令如下: ?瘙嚜openssl smime sign in my.txt out my.sign inkey 026h23f.key singer 026h23f.crt (4) 对某个签名的邮件进行验证。OpenSSL使用smime子命令及“verify”参数来对签名邮件进行认证,在对签名邮件进行认证时,需要用户的公钥(同样由“ceritfile 026h23f.crt”参数指出公钥存放在哪里)及签发公钥证书的CA证书(由参数“CAfile cacert.crt”指出)。具体命令如下: ?瘙嚜openssl smime verify in my.sign out my.txt ceritfile 026h23f.crt CAfile cacert.crt (5) 对邮件签名后再加密,具体命令如下: ?瘙嚜openssl smime sign in my.txt out my.sign inkey 026h23f.key singer 026h23f.crt ?瘙嚜openssl smime encrypt in my.txt out my.enc 026h23f.crt 5.5.4安全协议要保障电子商务的安全可靠,除了需要依靠上述的一些基本的安全技术外,还需要制定一系列的安全规范,只有依据这些规范,系统与系统之间才能更好地协调工作,安全才能有所保障,这些规范,就是所谓的安全一些。常用的安全协议有安全套接层协议、安全电子交易协议、安全超文本传输协议、安全多媒体Internet邮件扩展协议等。1. 安全套接层协议安全套接层协议(Secure Sockets Layer,SSL)最初是由Netscape Communication公司设计开发的,主要用于提高应用程序之间的数据的安全系数。SSL协议的整个概念可以被总结为: 一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TCP/IP应用程序。SSL安全协议主要提供三方面的服务: 一是用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据进行数字认证,以此来确保用户的合法性。二是加密数据以隐藏被传送的数据。安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。三是保护数据的完整性。安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。需要说明的是,安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护。例如,一台客户机与一台主机连接上了,首先是要初始化握手协议,然后就建立了一个SSL对话时段。直到对话结束,安全套接层协议都会对整个通信过程加密,并且检查其完整性。这样一个对话时段算一次握手。而HTTP协议中的每一次连接就是一次握手,因此,与HTTP相比。安全套接层协议的通信效率会高一些。安全套接层协议的通信过程如下。(1) 接通阶段: 客户通过网络向服务商打招呼,服务商回应; (2) 密码交换阶段: 客户与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用DiffieHellman和FortezzaKEA密码算法; (3) 会谈密码阶段: 客户与服务商间产生彼此交谈的会谈密码; (4) 检验阶段: 检验服务商取得的密码; (5) 客户认证阶段: 验证客户的可信度; (6) 结束阶段,客户与服务商之间相互交换结束的信息。当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。SSL安全协议是国际上最早应用于电子商务的一种网络安全协议,至今仍然有很多网上商店使用。在传统的邮购活动中,客户首先寻找商品信息,然后汇款给商家,商家将商品寄给客户。这里,商家是可以信赖的,所以客户先付款给商家。在电子商务的开始阶段,商家也是担心客户购买后不付款,或使用过期的信用卡,因而希望银行给予认证。SSL安全协议正是在这种背景下产生的。SSL协议运行的基点是商家对客户信息保密的承诺。但在上述流程中我们也可以注意到,SSL协议有利于商家而不利于客户。客户的信息首先传到商家,商家阅读后再传至(银行,这样,客户资料的安全性便受到威胁。商家认证客户是必要的,但整个过程中,缺少了客户对商家的认证。在电子商务的开始阶段,由于参与电子商务的公司大都是一些大公司,信誉较高,这个问题没有引起人们的重视。随着电子商务参与的厂商迅速增加,对厂商的认证问题越来越突出,SSL协议的缺点完全暴露出来。SSL协议将逐渐被新的电子商务协议(例如SET)所取代。2. 安全电子交易协议在开放的Internet上处理电子商务,保证买卖双方传输数据的安全成为电子商务的重要问题。为了克服SSL安全协议的缺点,满足电子交易持续不断地增加的安全要求,为了达到交易安全及合乎成本效益的市场要求,VISA国际组织及其他公司(如Master Card、Micro Soft、IBM等)共同制定了安全电子交易协议(Secure Electronic Transaction,SET)。这是一个为在线交易而设立的一个开放的、以电子货币为基础的电子付款系统规范,它采用公钥密码体制和X.509数字证书标准,主要应用于B to C模式中保障支付信息的安全性。SET在保留对客户信用卡认证的前提下,又增加了对商家身份的认证,这对于需要支付货币的交易来讲是至关重要的。由于设计合理,SET协议得到了许多大公司和消费者的支持,已成为全球网络的工业标准,其交易形态将成为未来“电子商务”的规范。 SET协议比SSL协议复杂,因为前者不仅加密两个端点间的单个会话,它还可以加密和认定三方间的多个信息。 SET主要使用电子认证技术,其认证过程使用RSA和DES算法,因此,可以为电子商务提供很强的安全保护。由于安全电子交易规范是由信用卡发卡公司参与制定的,一般认为,安全电子交易规范的认证系统是有效的。当一位供货商在计算机收到一张有SET签证的订单时,供货商就可以确认该订单背后是有一张合法的信用卡支持,这时他就能放心地接下这笔生意,同样,由于有SET作保障,发出订单的客户也会确认自己是在与一个诚实的供货商做买卖,因为该供货商受到万事达或维萨(Visa)发卡组织的信赖。SET协议要达到的目标主要有以下5个: (1) 保证电子商务参与者信息的相互隔离。客户的资料加密或打包后通过商家到达银行,但是商家不能看到客户的账号和密码信息。(2) 保证信息在Internet上安全传输,防止数据被黑客或被内部人员窃取。(3) 解决多方认证问题,不仅要对消费者的信用卡认证,而且要对在线商店的信誉程度认证,同时还有消费者、在线商店与银行间的认证。(4) 保证了网上交易的实时性,使所有的支付过程都是在线的。(5) 规范协议和消息格式,促使不同厂家开发的软件具有兼容性和互操作功能,并且可以运行在不同的硬件和操作系统平台上。SET安全协议的工作原理主要包括以下7个步骤: (1) 消费者利用已有的计算机通过Internet选定物品,并下电子订单。(2) 通过电子商务服务器与网上商场联系,网上商场做出应答,告诉消费者的订单的相关情况。(3) 消费者选择付款方式,确认订单,签发付款指令(此时SET介入)。(4) 在SET中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的账号信息。(5) 在线商店接受订单后,向消费者所在银行请求支付认可,信息通过支付网关到收单银行,再到电子货币发行公司确认,批准交易后,返回确认信息给在线商店。(6) 在线商店发送订单确认信息给消费者,消费者端软件可记录交易日志,以备将来查询。(7) 在线商店发送货物或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。从1997年5月31日SET协议1.0版正式发布以来,大量的现场实验和实施效果获得了业界的支持,促进了SET良好的发展趋势,SET协议同样存在一些问题,这些问题包括: 首先,协议没有说明收单银行给在线商店付款前,是否必须收到消费者的货物接收证书,如果在线商店提供的货物不符合质量标准,消费者提出异议,责任由谁承担; 其次,协议没有担保“非拒绝行为”,这意味着在线商店没有办法证明订购是由签署证书的、讲信用的消费者发出的; 第三,SET技术规范没有提及在事务处理完成后,如何安全地保存或销毁此类数据,是否应当将数据保存在消费者、在线商店或收单银行的计算机里?这种漏洞有可能使得数据以后受到潜在的攻击。3. 其他安全协议其他安全协议还有安全超文本传输协议,即SHTTP。它是基于SSL的,通过密钥加密技术,保障了Web站点上信息的安全,为Web文档提供了完整性、鉴别、不可抵赖性和机密性等安全措施。支持SHTTP协议的网站URL以shttp://标识开始。除此之外,安全多媒体Internet邮件扩展协议(S/MIME)也是常用的安全协议,用于安全地传输电子邮件。5.6PKI 技 术 为解决Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI(Public Key Infrastructure)体系结构。PKI体系结构采用证书来管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息(如名称、Email、身份证号等)捆绑在一起,在Internet上验证用户的身份; 同时,在PKI体系结构中,把公钥密码和对称密码结合起来,以实现密钥的自动管理,保证网上数据的机密性、完整性。从广义上讲,所有提供公钥加密和数字签名服务的系统,都可叫做PKI系统,PKI的主要目的是通过自动管理密钥和证书,可以为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性。一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI是怎样管理证书和密钥的。一个典型、完整、有效的PKI应用系统至少应具有以下部分: 公钥密码证书管理、黑名单的发布和管理、密钥的备份和恢复、自动更新密钥、自动管理历史密钥、支持交叉认证。为此,由RSA实验室牵头制定了一个PKCS参见http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf。(公钥密码标准,publicKey cryptography Standard)国际标准。PKCS共包括15个标准,见表53。 表53PKCS中的标准 标准名说明 PKCS#1 RSA Cryptography Standard RSA密码标准PKCS#2已合并入PKCS#1PKCS#3DiffieHellman Key Agreement Standard DH密钥交换标准PKCS#4已合并入PKCS#1PKCS#5 PasswordBased Cryptography Standard 基于口令的密码标准PKCS#6ExtendedCertificate Syntax Standard 证书扩展语法标准PKCS#7Cryptography Message Syntax Standard 密文信息语法标准PKCS#8PrivateKey Information Syntax Standard 私钥信息语法标准PKCS#9Selected Attribute TypesPKCS#10Certification Request Syntax Standard 认证请求语法标准PKCS#11Cryptographic Token Interface Standard 密码令牌接口标准PKCS#12Personal Information Exchange Syntax Standard 个人信息交换语法标准PKCS#13Elliptic Curve Cryptography Standard 椭圆曲线密码标准PKCS#14Random Number Generation Standards 伪随机数生成标准PKCS#15Cryptography Token Information Format Standard 密码令牌信息格式 由于PKI体系结构是目前比较成熟、完善的Internet网络安全解决方案,国外的一些大的网络安全公司纷纷推出一系列的基于PKI的网络安全产品,如美国的VeriSign、IBM、Entrust等安全产品供应商为用户提供了一系列的客户端和服务器端的安全产品,为电子商务的发展提供了安全保证,为电子商务、政府办公网、EDI等提供了完整的网络安全解决方案。5.7电子支付与电子支付系统5.7.1电子支付概述 电子支付是指单位或个人通过电子终端,直接或间接向银行业金融机构发出支付指令,实现货币支付与资金转移的行为。在人类社会的早期,人们进行“商务”,采用的支付形式是“以物易物”; 随着商品经济的继续繁荣,各类结算方式不断产生,使原本融为一体的交易环节与支付环节能够在时间上和空间上分离开来,产生了充当一般等价物的特殊商品——货币,之后人们进行“商务”,其支付形式就变成了“一手交钱,一手交货”; 随着商品社会的发展,出现了货币符号——纸币和硬币,也就是所谓的现金,它们由国家组织或政府授权的银行发行。纸币本身没有价值,它只是一种由国家发行并强制通用的货币符号,但却可以代替货币加以流通,其价值是由国家加以保证,硬币本身含有一定的金属成分,故而具有一定的价值。使用现金进行支付具有明显的缺陷,它受到时间和空间的限制,对于不在同一时间、同一地点进行的交易,就无法采用现金支付这种方式。同时现金表面金额的固定性意味着在大宗交易中需携带大量的现金,这种携带的不便性以及由此产生的不安全性在一定程度上限制了现金作为支付手段的采用。因此,随着社会分工的日益细化和与商业信用的发展,又出现了货币的中介服务,从这时起,物流和资金流开始分离,产生了多种交易方式,如交易前的预先付款,交易中的托收、支票、汇票,交易后的分期付款、延期付款等,在这过程中出现了多种形式的票据支付方式,同时信息流也开始表现出来。所谓的票据,从广义上来说,它包括各种记载一定文字、代表一定权利的文书凭证,如股票、债券、货单、车船票、汇票等,而从狭义上来说,它是一个专有名词,专指票据法所规定的汇票、本票和支票等票据,我国的《票据法》将票据分成了汇票、本票和支票这3种。汇票是出票人委托他人于到期日无条件支付一定金额给受款人的票据; 本票是出票人自己于到期日无条件支付一定金额给受款人的票据; 支票则是出票人委托银行或其他法定金融机构于见票时无条件支付一定金额给受款人的票据。支付过程的“现金流动”转变成“票据流动”。随着银行应用计算机网络技术的不断深入,20世纪70年代以来支票和现金支付方式逐渐将主导地位让给银行卡,在这一转换过程中伴随着银行计算机网络技术应用的不断深入,银行已经能够利用计算机应用系统将支付过程的“现金流动”和“票据流动”转变成计算机中的“数据流动”。资金在银行计算机网络系统中以肉眼看不见的方式进行转账和划拨,这就是银行业推出的一种现代化支付方式。这种以电子数据形式存储在计算机中并能通过计算机网络使用的资金被人们越来越广泛地应用于电子商务中。随着经济的不断发展与信息技术的不断进步,人们对支付系统的运行效率和服务质量的要求也越来越高,促使支付系统不断从手工操作走向电子化、网络化。目前,电子支付的业务类型按电子支付指令发起方式分为网上支付、电话支付、移动支付、销售点终端交易、自动柜员机交易和其他电子支付,它们的区别见表54。目前主流的电子支付方式是采用第三方转账支付。第三方转账支付的代表就是支付宝,支付宝是“阿里巴巴”开拓B to C、C to C市场时的一个必然产物。在目前看来,支付宝在国内B to C、C to C交易过程中占据了大部分的支付比例。此类第三方转账支付的模式基本上为用户和卖家在同一个平台上,买家通过平台在各个银行的接口,将购买货物的货款转账到平台的账户上,平台程序在受到银行到款通知后,将信息发送给卖家,卖家在受到平台发送的确认信息后,按照卖家的地址发货,买家确认货物后发送信息到平台,平台将买家的货款再转入卖家的账户。此类第三方转账方式,拥有较好的担保机制从而受到大多数用户的青睐。 表54几种常见的电子支付特点 名称担保可否取消交易安全性备注 第三方转账支付有可高部分第三方转账服务对商户收取一定的服务费用,用户无须支付服务费信用卡网上自助服务无可中商户在使用网上银行时需要在所在银行申请开户,开户后定期会收取一定的服务费用,用户在使用网上银行的时候不需要支付任何手续费网络银行接口无不可中商户在使用时需要交纳一定的服务费用。用户无须交纳声讯电话无不可低商户在申请声讯号码时需交纳一定的服务费用IP账号绑定 无不可高限制较大 从表54中可以看出,所有的支付方式,商户都需要支付一定的费用。在多项因素考虑中,采用第三方转账支付和网络银行接口的支付方式对于商家较为合适。此类方式在用户使用和商户支付费用上均比其他支付方式具有优势。在第三方转账支付中,国内较为知名的有支付宝、贝宝等。这两种支付工具依托大型C to C网站淘宝网和易趣网而成为目前第三方转账支付中的佼佼者。由于市场的竞争,第三方转账支付软件基本上都采用了免费使用的模式,但是对于未来的发展趋势还不能做明朗的预测。在网络银行接口的服务商中,较为著名且用户较多的有网银在线、E网通等。然而各个网络银行接口服务商开通的服务地区也有所限制,商户在选择时可以询问; 同时需要考虑该服务商的信誉等多方面问题。通过网上银行直接转账是目前网上另外一种较为流行的方式。用户可以通过自己所拥有的借记卡、信用卡的银行,申请网上支付,从而可以直接使用网络银行。基本的流程为用户通过网站提供的接口,将购买物品的费用直接转入商家的对应银行的账户,在成功转入银行账户后,将确认信息通过Email或者电话的方式与商家取得联系,确认信息正确后,商家将用户购买的商品发送给用户。此类方式没有担保机制,但如采用信用卡支付,在信用机制内,可对交易进行取消,适当的保证了用户的权益。目前电话银行还是采用的168等声讯平台的方式。声讯平台的充值方式采用通过声讯网购买产品的一种较为传统的方式。主要的方式是通过拨打声讯电话选择购买的产品类型,费用在拨打电话的同时扣除,此类方式没有第三方担保,也没有办法取消交易,安全系数较低。如影视网站通过声讯平台销售点售卡时,在用户听取卡号时,由于卡号数字较多,较容易出错等。而目前采用IP账号支付的方式基本上只有电信运营商采用。其收费的方式采用支付费用与网民上网费用捆绑。电子支付需要通过电子支付系统来实现。就电子支付系统来讲,主要有5种类型,分别代表着电子支付系统5个不同的发展阶段。第一种电子支付系统是用来处理银行之间的货币汇划业务,办理汇划结算; 第二种是用来与其他机构计算机之间进行资金汇划,如代发工资等业务; 第三种是利用网络终端向客户提供各项银行服务; 第四种是利用银行销售点终端(POS)向客户提供自动的扣款服务; 第五种则是利用数字货币通过Internet进行直接转账结算,形成电子商务环境。第五种即为现代电子支付系统,是21世纪的主要金融支付方式,信用卡、电子现金和电子支票成为现代电子支付系统中常用的数字货币形式,当然也有其他的一些支付形式,如预付卡、销售点(POS)、手机等。根据支付方式的不同,目前的电子支付系统又可分为电子信用卡支付系统(如CyberCash/First Virtual Holding)、电子现金支付系统(如MONDEX/NetCash/Digicash)以及电子支票支付系统(如Echeck/NetBill/NetCheque)等; 根据付款时间的不同,也可分为预支付(PrePaid)系统、即时支付系统(InstantPaid)和后支付(PostPaid)系统,等等。5.7.2电子支付系统的特点传统电子支付系统要求完整性、保密性和可靠性。完整性指对购买数目和购买产品的记录保持完整性,即有关凭据不能被任意修改。保密性指支付过程中进行保密,以保证支付的安全。匿名性包含在保密性中。可靠性是指整个交易过程中买卖双方的可靠程度,通过鉴别手段,卖方能够证实买方有支付能力,买方也能够确定卖方的信誉度和所购产品的可靠性。现代电子商务支付系统,不但拥有传统电子支付系统所固有的相似特征,而且由于它基于Internet,和传统的电子支付系统又有所不同,因而还要产生新的要求,那就是: 1) 可接受性(acceptability)可接受性要求现代电子支付系统应当可以支持不同情况下的不同付款方式(例如电子信用卡、电子现金、电子支票等),在系统的下部结构应允许任何人使用,并且得到广泛地承认。2) 可用性(usability)可用性要求在使用现代电子支付系统进行付款时,能和现实生活中一样简单易用,付款能够自动完成,付款监测也十分容易,而且不需要通过银行等中介,就能够在此系统上兑换货币; 系统采用开放的标准,任何业务的购买者、销售者以及各种服务器都使用这些标准。3) 匿名性(anonymity)和传统电子支付方式一样,现代电子支付方式要求数字现金的匿名和不可跟踪是显而易见的,因此,匿名性要求系统能够隐藏购买者的身份,不可跟踪购买者的付款行为。4) 效率(efficiency)由于现代电子支付系统基于Internet,因此要求它必须具有灵活性,能够保证支付过程的高效率,在使用时不会产生附加费用。5) 可兑换性(convertibility) 数字货币应当能够在现代电子支付系统上兑换成其他类型的货币,同时也能够将数字货币从一个系统转移到另一个系统中。6) 可靠性(reliability) 随着Internet的发展,使用现代电子支付系统的人员越来越多,可靠性要求在加入了一定数量的顾客或贸易商后,系统不会丧失原有的性能,不会崩溃。同时,为了使支付可靠,要求系统中的支付行为必须是原子的,具有事务性,付款要么被接受,要么就被拒绝,决不存在一个未知状态,否则就意味着钱在Internet上的丢失。7) 安全性(security)安全性是现代电子支付系统存在的一个重要问题。因为Internet是个开放式的网络,允许任何人在信道上进行窃听,伪造费用几乎为零,改变数字货币的序列号十分容易,所以需要采用数字签名和加密技术等来保证支付过程的安全,只有这样才能被顾客所接受。5.7.3电子支付系统的组成及其支付流程电子支付系统是电子商务系统的重要组成部分,它指的是消费者、商家和金融机构之间通过Internet,使用安全的电子手段来交换商品或服务,以实现电子支付; 电子支付系统是融购物流程、支付工具、安全技术、认证体系、信用体系以及现代的金融体系为一体的综合大系统。在此系统中可以使用诸如信用卡、数字现金、电子支票、智能卡等新型的支付手段实现电子商务的支付。电子商务与电子支付系统之间存在着密不可分的关系,基于Internet的电子商务,需要使用现代电子支付系统为数以百万计的购买者和销售者提供支付服务。目前已开发出了很多种类的现代电子支付系统,各自使用不同的支付工具,但这些系统中通常都包括金融机构、付款者和收款者、第三方非银行金融机构,以及各种金融网络等。金融机构通常指银行,它为付款者和收款者保持账户。第三方非银行金融机构提供支付服务,但不保持要求的存款账户,它们与金融机构有接口,根据金融机构保持的账户进行交易处理。各种金融网络为各金融机构和第三方非银行金融机构提供内部连接服务。系统组成如图517所示。 图517支付系统的组成 1. 电子信用卡支付系统支付流程信用卡1915年起源于美国,是一种信用凭证,它将支付与信贷融为一体,具有转账结算、储蓄、汇兑、消费信贷等功能。它的种类五花八门,包括购物卡、提款卡、专用卡、彩照卡、联名卡等。但其卡片介质即载体材料目前主要有两类: 一类是磁卡,另一类是IC卡,即智能卡。无论是磁卡还是IC卡,其片基都是采用高性能的PVC塑料制成,且按照国际标准组织ISO的严格规定进行制造,具有携带方便、不易损坏的特点。在信用卡背后带有磁条的卡称为磁卡。磁条宽约12毫米,是通过热压技术粘贴在信用卡背后的。每条磁条上有三个磁道,第一、二磁道是只读磁道,第三磁道是读写磁道。第一磁道最多能记录79个字符,供发卡行记录有关持卡人姓名、标识号、有效期等信息; 第二磁道最多能记录40个字符,采用标准结构记录有关账号、国家代码、有效日期、服务类型等信息; 第三磁道最多能记录 107个数字,主要存储有关主账号、周期内提款限额、周期余额数、卡片密码、密码重输次数等信息,可供终端读写装置对它进行读写操作。IC卡是集成电路卡(Intergrated Circuits Card)的英文缩写,又称智能卡(Smart Card)。早在1970年,由法国人罗兰·莫诺(Roland Moreno)发明,此后法国布尔(Bull)公司致力于这一方面的研究,并于1979年推出了全世界第一张可工作的IC卡。IC卡的外形与普通磁卡类似,只是稍厚一点,在 IC卡中嵌装有微处理器及存储器功能的集成电路芯片代替磁条。根据存储器中存储的内容不同又可以分为电子钱包卡、便携文件卡、身份证明卡、保密卡等。从IC结构上来看还可以将其分为接触式IC卡和非接触式IC卡。信用卡是目前应用最为广泛的电子支付方式,也是金融服务的常见方式,可用于在线刷卡记账、POS结账、ATM机提取现金等。在传统的信用卡业务中,消费者必须首先告诉商家其信用卡号码,以证实其有购买能力,然后商家通过银行进行验证,证实后再让客户在购物单上签名,最后,商家将购物单拿到银行进行资金兑换; 而在客户方面,其将收到银行有关此次事务的记录,这样便构成了一次完整的购买和支付过程。使用信用卡支付系统进行购买和支付的情形与传统的信用卡业务几乎相同,但由于支付过程在Internet上自动实现,所以在信用卡支付系统中,加入了一些对买卖双方信用卡电子信息进行鉴别和验证的步骤,以确保支付交易事务的安全性。通过电子信用卡支付系统进行支付的方式有多种,根据其为事务提供安全性的级别和买卖双方在事务中使用的软件不同,大致可以分成四类: 纯信用卡支付方式、信用卡加密支付方式、用第三者验证的支付方式、其他信用卡支付方式。纯信用卡支付方式的支付流程比较简单,它直接将未加密的信用卡号通过电话线或Internet进行发送,如图518所示。也就是说,当客户浏览了商家的Web页面,进行网上购物,填写订单,输入信用卡号码,然后提交订单将这些信息通过Internet传输给商家的Web服务器,这些订单信息未经加密等处理,因而交易事务没有安全保证。某些人可能正在监视着网络流量,将可能截获这次传输,获得该客户的信用卡号码。不道德的商家,或者网上伪装商家,随时可将得到的信用卡卡号进行非法使用。所以这种支付方式存在很大的安全问题,验证是其中最严重的问题。 图518不加密的信用卡支付流程 信用卡加密支付方式与纯信用卡支付方式相比,安全性有了一定的提高。在这种支付方式下,一旦有信用卡资料进入到浏览器或其他电子商务设备时,加密就被激活,然后再安全地把经过加密处理的信用卡等订单信息从消费者通过Internet传输到商家的Web服务器上。具体流程是这样的: 消费者安全地提供信用卡资料给商家,商家确认该消费者就是该信用卡账号的所有者,然后商家再把这些信用卡资料送给银行进行在线处理,银行对这些资料认证后送回信用卡资料、付款认证及身份确认给商家,以完成一次事务,如图519所示。但这种支付方式还是存在许多问题,其中一个因素就是信用卡交易本身的成本,它可能会阻碍低价值的付款,即小额付款。又在安全性问题上,这种支付方式无法防止商家通过信用卡信息进行欺骗。 图519使用加密方式的信用卡支付流程 Email etc支付系统是典型的信用卡加密方式的电子支付系统,客户的订购与支付信息被加密后传送给商家。现在许多客户使用浏览器/服务器支持的SSL协议来自动地加密订购与支付信息。另一种更加安全的支付方式,即第三者验证的支付方式。为了解决安全和验证难题,在第三者验证的支付方式中引进了一个可信的第三者,充当中间人。客户对信用卡信息进行加密(如利用第三者数字证书中的公钥机制,使用电子钱包等方法),然后发送给商家,商家再将它转发给第三方,由可信任的第三方来解密信用卡信息并对买卖进行授权,这样就可以防止卖方通过信用卡信息进行欺骗。Cyber Cash,Verifone或First Virtual等信用卡支付系统都属于这种支付方式。Cyber Cash和Verifone都使用一个Web浏览器上的帮助应用程序,该应用程序成为wallet代理,将加密的信用卡号码通过商家传给第三方wallet,以进行鉴别认证。First Virtual则通过给客户一个Virtual Pin码以代替信用卡号码。当从商家那里收到销售信息后,First Virtual将Virtual Pin码转化成信用卡信息以进行鉴别认证。由此可见,第三者验证的支付方式,通过值得信任的第三方,而不是由商家直接去进行信用卡处理,比前两种方式更能防止商家进行欺诈行为的发生。其支付流程如图520所示。 图520使用第三方验证的支付方式 其他信用卡支付方式,应该说还有许多种,其支付流程都不尽相同。例如,符合SET协议的支付方式和使用第三方支付平台的支付方式,其支付流程与上面的就大不相同。下面以NPS第三方支付平台为例,简单介绍一下它的支付流程(见图521)。 图521NPS支付流程图 消费者登录某家网上商店购物,选购商品,下订单,转入支付与送货提示页面,到达这一步时,网上商店已经为消费者生成订单号、本次支付金额等信息; 在支付与送货提示页面中选择“NPS在线支付”这种支付方式,在单击“确定”按钮之后,支付信息就通过form表单的形式递交给NPS,递交的方式为Post形式。要正常进行支付,网上商店需要向NPS提交以下信息的支付订单,具体格式见表55,其中黑体字部分可由商家按照自己的实际情况和实际交易数据进行更换。 表55NPS支付订单 表单内容格式说明 〈form method="post" action="MerToNps.asp "〉〈input Type="hidden" Name="M_TxCode" value="001" 〉—交易代码〈input Type="hidden" Name="M_ID" id="M_ID" value="001" 〉—商家号〈input Type="hidden" Name="MOrderID" id="MOrderID" value="1234" 〉—订单号〈input Type="hidden" Name="MOAmount" id="MOAmount" value="100.56" 〉—订单总金额(以分为单位)〈input Type="hidden" Name="MOCurrency" value="001" 〉—币种〈input Type="hidden" name="M_URL" value="http://202.103.190.140: 8001/test/npstomer.asp" 〉 —接收NPS支付结果的程序名称和地址〈input Type="hidden" Name="M_Language" value="01" 〉 —语言选择〈input Type="hidden" Name="S_Name" value="张三" 〉—消费者姓名〈input Type="hidden" Name="S_Address" value="深圳市罗湖区地王大厦" 〉—消费者住址〈input Type="hidden" Name="S_PostCode" value="518000" 〉—邮政编码〈input Type="hidden" Name="S_Telephone" value="075583791960" 〉—消费者联系电话〈input Type="hidden" Name="S_Email" value="service@nps.cn" 〉—消费者邮件地址〈input Type="hidden" Name="R_Name" value="李四" 〉—收货人姓名〈input Type="hidden" Name="R_Address" value="北京朝阳区108号" 〉—收货人住址〈input Type="hidden" Name="R_PostCode" value="100080" 〉—收货人邮政编码〈input Type="hidden" Name="R_Telephone" value="01081234567" 〉—收货人联系电话〈input Type="hidden" Name="R_Email" value="LiSi@sohu.com" 〉—收货人邮件地址〈input Type="hidden" Name="MOSignMsg" value="LKJDFKF#?瘙嚜LKJFDA090980LKJAFK" 〉—订单数据签名信息 〈input Type="hidden" Name="MOSecurity" value="%?瘙嚜#%#KLLK4LKJLJ67LJ8L54LH67L" 〉 —订单数据加密 续表 表单内容格式说明 〈input Type="hidden" name="MOComment" value="节假日送货" 〉 —备注〈input Type="hidden" name="m_status" value="0" 〉—支付状态 〈input Type="submit" Name="submit" value="NPS在线支付"〉〈/form〉 支付订单中的变量具体说明如表56所示。 表56NPS支付订单中的变量说明 变量名称变量命名长度定义说明是否必填举例 交易代码M_TxCode用来区分商家提交的支付交易类别。定义如下: 001提交订单 002退款 003扣款 004修改订单状态 005授权非必填域默认为001001商家号M_IDMAX(20)它表示您的独立商城在全动商厦系统中分配的商家ID代号。如果本字段有误,您将不能通过验证必填350交易日期MODate=8订单发生的交易日期非必填域默认为当天日期20040508订单号MOrderIDMAX(30)消费者选择支付后商户网站产生的一个唯一的订单号,该订单号应该在当天内不重复。NPS通过订单号 订单日期来唯一确认一笔订单的重复性必填100101订单金额MOAmountMAX(15)消费者支付订单的总金额,一笔订单一个,以分为单位必填100. 59支付币种MOCurrency= 3用来区分一笔支付的币种。目前暂时只支持人民币(001)支付。定义如下: 001人民币 002美元 003港币非必填域默认为001(人民币)001接收NPS支付结果信息的程序名称和地址M_URL消费者进行支付订单处理后,商家可以设置接收支付结果信息的地址和处理程序的名称,NPS将返回信息加密后以参数形式传递给商家程序。具体说明可以参见下面的《支付结果实时反馈接口开发说明》章节非必填域默认为空http://www.ebook.com/GetNpsResult.jsp 续表 变量名称变量命名长度定义说明是否必填举例 语言选择M_Language表示商家使用的页面语言,NPS将会返回相应语言的支付结果通知,定义如下: 01中文简体 02中文繁体 03英语非必填域默认01中文简体01消费者姓名S_Name进行订单支付的消费者的姓名非必填域默认为空张三消费者住址S_Address进行订单支付的消费者的住址非必填域默认为空深圳邮政编码S_PostCode进行订单支付的消费者住址的邮政编码非必填域默认为空518000消费者联系电话S_Telephone进行订单支付的消费者的联系电话非必填域默认为空07558888888消费者电子邮件地址S_Email进行订单支付的消费者的电子邮件地址非必填域默认为空zhang@sohu.com收货人姓名R_Name订单支付成功后货品收货人的姓名非必填域默认为空李四收货人住址R_Address订单支付成功后货品收货人的住址非必填域默认为空北京收货人邮政编码R_PostCode订单支付成功后货品收货人的住址所在地的邮政编码非必填域默认为空100000收货人联系电话R_Telephone订单支付成功后货品收货人的联系电话非必填域默认为空0107777777收货人电子邮件地址R_Email订单支付成功后货品收货人的邮件地址非必填域默认为空LI@sina.com备注MOComment无限制该域留待以后扩展用,订单中可以不含该域或该域的值为空 当NPS支付成功后,会实时地将支付成功的结果通过反馈路径、邮件通知、客户端消息通知三种模式同时通知给商家。对于商家来说,应开发一个网页,以接收订单支付成功的结果。NPS以如下方式反馈支付成功的结果(见表57)。 表57NPS反馈支付结果的网页内容 NPS反馈支付结果的网页内容说明 〈% '======== 把商家的相关信息返回去 =========== m_id=Request.Form("m_id") m_orderid=Request.Form("m_orderid") m_oamount= Request.Form("m_oamount") m_ocurrency = Request.Form("m_ocurrency") m_txcode = Request.Form("m_txcode") 商家号 商家订单号 支付金额 币种 交易代码 续表 NPS反馈支付结果的网页内容说明 m_language= Request.Form("m_language") s_name=Request.Form("s_name") s_addr=Request.Form("s_addr") s_postcode= Request.Form("s_postcode") s_tel= Request.Form("s_tel") s_eml=Request.Form("s_eml") s_name=Request.Form("s_name") r_addr=Request.Form("r_addr") r_postcode=Request.Form("r_postcode") r_tel= Request.Form("r_tel") r_eml=Request.Form("r_eml") m_ocomment= Request.Form("m_ocomment") m_status=Request.Form("Status") '===== NPS返回相关资料 =========== FD_BankId=request.form("FD_BankId") FD_TranDate=request.form("FD_TranDate") FD_NPSId=request.form("FD_NPSId") FD_TxDtl=request.form("FD_TxDtl") '============ 加密信息 ================== OrderInfo = Request.Form("OrderMessage") signMsg= Request.Form("digest") '======== 开始加密 ============= Set NPSMAC =Server.CreateObject("NPSDigest.NPSSecurity") NPSMAC.NPSKey = "nps&!@#?瘙嚜" NPSMAC.OrderInfo = OrderInfo digest = NPSMAC.GetDigest if (signMsg = digest) then '加密认证 decrypt = NPSMAC.GetDecrypt '解密 if m_status = 2 then response.write "支付成功" response.write "订单信息="& decrypt response.write "支付订单="& m_orderid response.write "支付金额="& m_oamount response.write "支付时间="& FD_TranDate response.write "银行ID号="& FD_BankId response.write "交易代码="& m_txcode response.write "语言选择="& m_language response.write "消费者姓名="& s_name response.write "消费者住址="& s_addr 语言选择 消费者姓名 消费者住址 邮政编码 消费者联系电话 消费者邮件地址 消费者姓名 收货人住址 收货人邮政编码 收货人联系电话 收货人电子地址 备注 支付状态 支付银行 支付时间 NPS订单号 支付信息 订单加密信息 密钥 创建NPS安全组件 设置密钥 续表 NPS反馈支付结果的网页内容说明 response.write "邮政编码="& s_postcode response.write "…" else response.write "支付失败" end if else response.write"失败,信息可能被篡改" end if %〉 在通知信息中,各字段的说明见表58。 表58通知信息各字段的说明 变量名称变量命名长度定义说明举例 商家号M_IDMAX(20)它表示您的独立商城在全动商厦系统中分配的商家ID代号。如果本字段有误,您将不能通过验证350交易日期MODate=8订单发生的交易日期20040508订单号MOrderIDMAX(30)消费者选择支付后商户网站产生的一个唯一的订单号,该订单号应该在当天内不重复。NPS通过订单号 订单日期来唯一确认一笔订单的重复性100101订单金额MOAmountMAX(15)消费者支付订单的总金额,一笔订单一个,以分为单位100.59支付币种MOCurrency= 3用来区分一笔支付的币种。目前暂时只支持人民币(001)支付。定义如下: 001人民币 002美元 003港币001消费者姓名S_Name进行订单支付的消费者的姓名张三消费者住址S_Address进行订单支付的消费者的住址深圳邮政编码S_PostCode进行订单支付的消费者住址的邮政编码518000消费者联系电话S_Telephone进行订单支付的消费者的联系电话07558888888消费者电子邮件地址S_Email进行订单支付的消费者的电子邮件地址zhang@sohu.com 续表 变量名称变量命名长度定义说明举例 收货人姓名R_Name订单支付成功后货品收货人的姓名李四收货人住址R_Address订单支付成功后货品收货人的住址北京收货人邮政编码R_PostCode订单支付成功后货品收货人的住址所在地的邮政编码100000收货人联系电话R_Telephone订单支付成功后货品收货人的联系电话0107777777收货人电子邮件地址R_Email订单支付成功后货品收货人的邮件地址LI@sina.com订单签名数据MOsignMsg无限制在NPS端将订单数据按FORM中提示顺序拼成一个字符串,字段间以“|”分隔。将该字符串使用NPS提供的商户的私钥签名,再使用提供的签名API进行编码后,产生的数据字串订单加密数据MOSecurity无限制在NPS端将订单数据按FORM中提示顺序拼成一个字符串,字段间以“|”分隔。再使用NPS提供的加密API进行编码后产生的数据字串订单支付结果State12——成功3——失败 目前NPS提供的API版本包括Windows、Solaris、Linux平台上Asp、Jsp、PHP的版本可供商家使用。商家在与NPS的接口服务器联网时,应双向打开服务器前防火墙的 80、8080、8443 端口。2. 电子现金支付系统支付流程电子现金(ECash)是指以数字化形式存在的货币,它是一个适合在Internet上进行小数额实时支付的支付方式。在线付款方式中,电子现金可能是最主要取代纸钞的付款方式。电子现金和信用卡不同,信用卡仅仅是一种支付手段,其最终还必须通过结算机构予以实现支付,而电子现金和现有的货币一样,本身就是钱,银行是将资金贷给每个持卡人。每个“个人”的钱都挂在自己货币系统的账号上,每一笔交易的结果都是从一个持卡人账户到另一个持卡人账户的“钞票”的迅速转移。因为无须经过银行及电子资金转账系统,所以它比信用卡方便。电子现金具备金钱价值、互通性、可取得性和安全性等特点。电子现金的安全性是电子现金支付系统中的重要问题。电子现金应该不易被复制或篡改。必须预防或侦测电子现金的复制和重复使用。在电子现金支付系统中,货币仅仅是一串数据位,银行可以发行这样的货币,或者从用户的账户上划出与货币价值相等的等值数字,我们称之为代币。客户在使用电子现金进行购买商品或服务之前,必须先从在线货币服务器(或银行)购买代币。购买需要两个步骤: 建立账号和在此账号内维持足够的钱来支持任何购买的活动。一旦开设账号后,客户就可以使用个人计算机上的电子现金软件来产生随机号码,以作为代币的记录。银行就使用其私密密钥以电子的方式对该代币所要求的价值进行数字签章,然后把这张代币通过网络传送给客户。客户收到这些代币后在自己的计算机里储存好以备使用。当用户使用这些代币进行电子支付时,其只需要将所需支付数额的代币通过Internet或者其他设备传输到商家那里,商家再将代币发送到银行进行确认。银行鉴别证实该代币有效后,此代币就从客户账户中“转移”至商家的账户中。这样就通过电子现金完成了一次买卖事务。为了保证每张代币仅被使用一次,银行在每张代币被花出去之时,都记录其序列号码。如果一张正被支付的代币的序列号码已存在数据库中,银行就能立即发现某人正在试图将一张代币花上多次,并及时通知商家该代币没有使用价值。以上支付过程的具体流程如图522所示。 图522用电子现金进行支付的流程 电子现金支付方式比较灵活,它既能以储蓄卡形式的智能卡或预付卡方式出现,也可以通过数字方式的现金文件出现,交易数据通过加密传输到商家和银行,一般需要将用户信息记录在商家。电子现金支持使用盲签名和匿名来获取现金。因为电子现金不必真正分成与硬币相符的面额,所以它可以用来支付非常小的买卖。今后这种小金额的支付在网上是大量存在的。例如,购买网上股市行情信息、天气预报信息、购买一幅图像或一段音乐、缴付一段文章的版权使用费、支付按时间计算的多人在线游戏的费用等。而电子业务的花费确实很小,使用电子现金更是能使每次业务的花费只有几分钱,这样,卖主即使进行小交易额的业务,也不会失去利润。电子现金的产生将使我们走向无现金时代,随着现金这种不记名、不可跟踪的传统支付手段被电子现金这种新型电子支付手段取代并普及,过去那些犯罪行为如偷窃钱包、抢劫银行以及贪污现金等将不复存在。当然,电子现金也存在着一定的问题。最大的问题还是安全问题。其安全程度将直接影响到电子现金本身的推广应用。如何防范它被非法多次使用是安全问题中的中心问题之一。许多商业情况下,为了防止重复使用,银行先拿数据库里的已使用的票据资料来检查。对于大量处理付款的银行而言,这种检查过程十分烦琐和耗时。同时,银行必须不断检查和进行安全记录,这样迫使银行从事额外的工作负担。技术上,每个商家都可以发行自己的电子现金,如果不加以控制,势必会影响电子商务的正常运作和发展,严重者甚至会带来严重的金融、经济问题。此外,电子现金还存在着税收、法律、货币供应的干扰、汇率、金融危机等一系列潜在的问题。而对于个人消费者而言,电子现金也存在着某些问题,如忘记将电子现金存放在何处,这很可能就和丢失一样。又如存放电子现金的存储设备出现严重的系统故障,就会导致全部储蓄葬送。 DigiCash公司设计的Ecash系统是一个典型的电子现金支付系统,目前已被美国密西西比州的马克吐温银行采用。为了实现交易,交易双方都必须在马克吐温银行的全球货币账户上有存款。该账户经FDIC(美国联邦储蓄保证委员会)保险。在支付前,客户(买方)必须通知马克吐温银行把资金从他们的全球货币账户转进他们账户的Ecash生成器中。这样转入Ecash生成器中的资金就不再存在银行中了,而且也没有了保险。Ecash生成器作为一个个人的缓冲账户,任何时候,客户都可以使用他们的计算机访问远程生成器,并从中取出资金存到自己的个人计算机硬盘上。这种电子现金的形成已经是一个完全电子化的过程,Ecash生成器或顾客硬盘中的资金被看作一个电子钱包。客户对适当额度的Ecash进行加密后将之发给商家(卖方),以保证支付过程的安全性。这笔电子现金可以使用任何数据通信媒体(如Email、FTP、HTTP等)进行发送。客户收到这笔电子现金,经过解密以后,存在自己的计算机上,然后把它发送到自己的Ecash生成器,再转入商家的全球货币账户上,从而完整地实现了一次电子现金支付事务。DigiCash公司还开发了一个称为盲签名(blind signature)的系统,它允许客户从银行得到电子现金,而银行却不能将客户的身份与所领取电子现金联系起来; 银行在收到商家的电子现金后,根据自己签发时的签名进行兑现,银行并不知道是谁作为付款方使用了该电子现金。这种系统继承了传统的现金付款的匿名性和隐藏性。3. 电子支票支付系统支付流程电子支票(EChecks)将传统支票应用到公共网络上,进行资金转账。其仿真传统支票,不同之处在于电子支票是用电子方式启动,使用电子签名作为认证手段,而且使用数字证明来验证付款者、付款银行和银行账号。通常情况下,电子支票的收发双方都需要在银行开有账户,让支票交换后的票款能直接在账户间转移。电子支票目前主要还是通过专用网络系统进行传输的,国际金融机构通过自己的专用网络、设备和软件以及完整的一套用户标识、标准报文、数据验证等规范化协议来完成数据传输,并控制数据安全。公共网络上的电子支票支付系统仍在实验之中。电子支票拥有一系列的优点,如电子支票能仿真传统的纸面支票,与传统纸面支票相比还提供了更好的功能和更安全的鉴别手段,所以接受度很高; 电子支票技术可连接Internet上的金融机构和银行票据交换网络,以达到通过公众网络连接现有金融付款体系,最大限度地利用当前银行系统的自动化潜力; 电子支票更主要的特点在于其可切入企业与企业间的电子商务市场,在线的电子支票可在收到支票时即验证出票者的签名、资金状况,避免收到传统纸面支票时发生的无效或空头支票的现象; 除此之外,由于支票内容可以附在贸易对方的汇票资料上,所以电子支票容易和EDI应用的应收账款整合; 电子支票会产生浮动,而浮动则是商业的重要条件。作为第三方的会计服务器可借助买方或者卖方收取费用或比率的费用以赚取利润。或者它也可以视为一家银行,提供存款账号,然后再从存款里赚取费用; 使用电子支票者只需要与银行打交道,而不用与大量的金融机构进行交涉,从而保证了支付的灵活性; 另外,电子支票的遗失可办理挂失止付。 电子支票包含三个实体,即购买方、销售方和金融机构(通常是银行)。购买方在使用电子支票购买销售方的产品或服务之前必须先要到某家金融机构注册并开立电子支票。当购买方与销售方完成一次交易处理后,销售方要求付款,购买方通过Internet或其他专用网络向销售方送出电子支票,销售方再将该电子支票转交给金融机构。金融机构对该电子支票进行验证后将核准款项转账给销售方,同时把账单传输给销售方,这样就完成了一次事务,如图523所示。整个事务处理过程和传统的支票查证过程类似,更重要的是,电子支票的传递、账户的负债和信用几乎是在同时发生的,这样就避免收到传统支票时发生的无效或空头支票的现象。如果购买方和销售方没有使用同一家金融机构,通常需要由国家中央银行或国际金融组织协同控制。 图523由买卖双方及金融机构(银行)构成的电子支票支付流程 南加州大学的Clifford Neumann开发出一套名为NetCheck的电子支票系统原型。NetCheck的流程如下: 收款人收到电子支票,就可将该支票转交至账户服务器验证并要求付费。服务器认证电子支票上的电子签名,核实正确后就通知收款人,并把付款人的款项转入收款人的银行账号,从而完成一次用电子支票进行支付的事务。金融服务技术公司(Financial Services Technology Consortium,FSTC)是发行电子支票的银行和结算机构的联合协会。它推出了可以让消费者在Internet上直接使用的电子支票支付系统。该系统提供用户两种选择,使用电子支票或者电子交易卡。这意味着用户可以根据需要使用单一的电子支票来完成支付。Cyber Cash公司也提供了一种叫做Pay Now的电子支票服务,该服务可以在Web上直接实现。5.7.4支付网关支付网关是Internet和金融专用网之间的接口,支付信息必须通过支付网关才能进入银行支付系统,进而完成支付的授权和获取。支付网关的建设关系着支付结算的安全以及银行自身的安全,关系着电子商务支付结算的安排以及金融系统的风险,必须十分谨慎。因为电子商务交易中同时传输了两种信息: 交易信息与支付信息,必须保证这两种信息在传输过程中不能被无关的第三者阅读,包括商家不能看到其中的支付信息(如信息卡号、授权密码等),银行不能看到其中的交易信息(如商品种类、商品总价等)。这就要求支付网关一方面必须由商家以外的银行或其委托的卡组织来建设。另一方面网点不能分析交易信息,对支付信息也只是起保护与传输的作用,即这些保密数据对网关而言是透明的。1. 银行支付网关目前各家银行都相继建立了全国性或者地方性的支付网关,但直接跟商户签约的只有招商银行、工商银行和建设银行。其中招商银行和工商银行是全国性的,而建设银行只是开通部分城市的银行卡。目前银行网关是网上支付主要渠道,其中招商银行居于首位。工商银行由于建立了全国性网关,目前其地位正逐步上升。这两家银行目前占据了网上支付的大部分份额。其他银行由于受到数据大集中的限制,其网关具有地域限制。但随着数据集中的完成,这些银行将会逐步完善自己网上支付,加入到市场竞争中去。银行网关一般是与网上银行相结合的,一般需要用户到柜台主动申请。这种机制虽然有助于提升安全程度,但也抑制了那些只想进行网上支付而无须使用网上银行的客户的需求。这种机制适合网上银行内容比较丰富的银行,只有这样才有助于吸引客户(招商银行一网通无须申请,只需在大众版进行转换,其采用的是虚拟卡号的技术),但对单纯开展网上支付的客户是不利的。2. 银联支付网关在中国银联成立之前,一些业务发展比较好的地区建立了支付网关。在中国银联成立之后,这些网关成为中国银联所有,所以统称银联支付网关。目前市场份额较大的主要是广州银联、ChinaPay、厦门银联。银联的支付方式基本上都是比较简单,用户直接输入卡号和密码就可以进行付款,消费者比较容易接受。而且对于大部分银行卡来说,是无须申请的(具体政策是由银行控制),其方便性远远超过银行网关。目前银联的各个网关均具有地域性,除少数开通的小银行,其余均是只能覆盖本地区。这是银联网关并存这么多年,相互之间竞争不强的原因。3. 第三方支付平台网关在电子商务的支付系统中,提供支付服务的第三方支付平台对安全支付所起的作用越来越大。目前,我国银行间结算网络由于政策及体制上的限制,尚未形成商业化的运营,仅在行业内部实现业务协作。银行与银行之间,以及银行内部跨地域的壁垒存在使得银行和商家做支付网关的成本大大提高。而第三方支付平台和银行谈,可以拿下更低的扣率,增加商家的利润空间; 同时节省银行网站的网关开发成本,形成消费者、商家、银行、第三方支付平台“四赢”的局面。这是第三方支付平台作为独立支付机构的优势。因此,银行的缺位使金融机构及代表金融机构的商业公司、IT技术公司等多方实体都有可能扮演支付服务运营商这一角色。从我国现状来看,基于运营支付网关的第三方支付服务机构,依托各自的资源与实力,已经形成了各自的较为成熟的商业模式,在替代性支付工具方面,仅有预付费卡出现了一些商业运营的萌芽,包括一些购物网站、社区网站、游戏网站等,一些具有预付费支付特征的产品正在酝酿之中。国内已经有不下20家网上支付服务商相继成立。目前国内主要第三方支付服务商有: 淘宝(支付宝)、贝宝(paypal)、易趣(财富通)、北京首信(易支付)、上海环讯、8848、6688、北京和讯、润讯、21CN、快钱等。2003年,国内网上支付行业有北京首信、上海环讯、8848三大巨头,他们跟部分银行直接连接,同时租用银联的网关。由于建立时间较早,加上完善的客户服务,占据了70%的交易市场。然而,由于缺乏第三方支付机制的约束,始终缺乏有效的监管机制和避免欺诈的根本解决办法。在采用了第三方安全支付的业务流程和SSL加密技术等安全技术保障后,支付宝、易达信动、易支付等一小部分较为成熟的第三方支付平台已经成为国内维持交易诚信,彻底避免交易欺诈等行为的标准典范; 同时也保持了稳定上升的良好发展态势。2005年6月3日,国内首家基于EMAIL和手机号码的移动网上收付费平台——快钱宣布开通Visa和MasterCard等国际卡网上交易。随着这一举措的实施,快钱用户足不出户,将可尽收全球13亿张Visa卡和7亿张MasterCard。加上日前已经开通的7亿张银联卡,快钱平台目前覆盖的国内和国际银行卡数目已高达27亿之多。以电子邮件地址或手机号码为途径完成网上支付,是快钱在国内电子支付领域提出的一个全新理念。用户再也不必在互联网上向陌生人透露自己的各种私密信息,如姓名、银行卡账号、开户地址等,只需凭借最简单易记的电子邮件地址或手机号码,就可以方便、快捷、安全地向任何人或商户收费或交费。这种独树一帜的支付方式大大降低了网上支付的固有门槛,在点卡交易、小额收费、网上零售等领域拥有广泛的应用前景。本 章 小 结传统的商务通常是面对面的交易,交易的双方很容易建立起彼此信任关系,在交易的过程中相关安全性也能得到保障。而建立在互联网上的电子商务,由于网络的开放性、交易双方的远距离等因素,面临着若干方面的安全威胁,存在着许多安全隐患。因此,电子商务要求具备保密性、完整性、不可否认性、真实性等安全保障。电子支付是电子商务中最重要的环节之一,因为所有的交易都必须要进行商品的结算,货币的支付。电子商务中的支付必须适应网络环境的特点,目前电子支付正成为传统银行纷纷涉足的领域,各大银行纷纷推出自己的网上银行; 此外,许多电子支付服务商也纷纷推出了自己的支付平台,提供更方便、安全的支付服务,并都把电子支付相关业务作为未来业务的主要增长点。电子支付的核心在于如何通过电子世界中的数据流来实现交易中的资金流。习题与思考 1. 电子商务的安全需求有哪些?为保障安全,各采用什么技术?2. 什么是信息安全?其安全保障体系有哪几方面?3. 数据完整、不可否认的含义是什么?4. 现代加密技术的种类有哪些?请用Openssl软件对某个文件进行加密。5. 什么是对称加密?什么是非对称加密?常见的对称加密与非对称加密算法有哪几种?6. 对称加密和非对称加密的优缺点各是什么?7. 什么是数字签名?数字签名的作用是什么?写出数字签名的过程。8. 什么是数字证书?数字证书的颁发一般有哪些过程?9. 数字证书的作用是什么?CA的作用是什么?试用Openssl给某个用户颁发一份证书。10. Openssl命令中与加密有关的命令有哪些?与证书生成有关的命令有哪些?11. 常见的安全协议有哪些?试比较SSL协议和SET协议。12. SSL协议有哪些缺点?13. 上网申请一份数字证书,并利用此证书给某人发一封签名的电子邮件。14. 传统支付在电子商务环境下存在什么缺陷?15. 什么是电子支付?16. 常见的电子支付工具有哪些?17. 什么是电子现金?以ECash为例说明其具有什么特点。18. 什么是信用卡?信用卡的支付形式有哪几种?19. 什么是电子支票?简述电子支票的基本处理流程。20. 简述网上银行的主要功能。
你还可能感兴趣
我要评论
|