由于网络是一个相当自由的媒体,这既是它的优势又可能是它的致命的弱点。当顾客的信用卡信息或银行帐户信息在网络上传输的时候,不法分子可以截获这些信息,窃取其中的价值的部分,尽管这种事在传统的信用卡交易中已会发生,但在电子商务中显得更为重要,窃贼可能从一个单独的数据库中搜索成千上万的信用卡号码,因而风险更大。
对于这些安全保障问题目前有哪些手段应付?
保护敏感信息(如信用卡号码等)的典型办法就是在送出数据之前对其进行加密。
MTT(麻省理工学院)的kerderos是最有名的私有密钥(privart-key)加密技术之一。这种方法是创建一个能安全标识用户的叫票的加密数据包。然而,私有密钥加密法有一些严重的缺陷,最大的缺陷就是它使交易过程无法匿名。这种加密技术累积了消费、商家和他们之间相互交易的数据信息,这可用来生成消费者的开支信息,侵犯其隐私。
私有密钥加密法的一种变形,是直接连接消费者和商家的公共密钥(public-key)系统。公共密钥加密法的加密需要两个密钥:一个加密,一个解密。希望收到消息的每个人都产生一个密钥,向某人支付电子现金时查找公共密钥,并使用加密算法加密该次支付。然后,收款使用相应的私有密钥(密钥中的另一半)解密。比较有名的公共密钥系统是MTT和RSA加密标准。
一、真实性验证
加密可使电子货币更加安全,但我们必须确保没有人在交易的任何一端改变数据,特别是货币单位。一种验证方法是安全hash算法。该算法描述了一个数兆字节的大文件,该文件是由几百比特构成的相对较短的数字组成。使用该文件验证一个块数据的完整性。hash算法的工作方式类似通信协议中的校验和(checksum):发信方将一个数据包的所有字节加起来,将和添加在包上;收售方执行同样的运算并比较两个和,以决定是否被正确地传输。
安全hash算法的一个可能的实现,是依赖于口令/回答(challenge/response)协议的零知识证明系统(zero-knowledge-proof)。服务器发出一个提问,试图访问的系统则给出一个回答。如果回答正确,就授权访问。在实践中,开发人员将相关的知识集成到软件或硬件加密设备中,然后口令可由随机数字串组成,该设备用一个安全hash函数判断这些数字,以产生回答。
公司不必处理零碎的安全性真实性问题:有两个现成的协议将基于Internet的电子商业的一系列规则连接在一起。它们是SSL(secure socket layer)和S-HTTP.SSL位于原始Internet协议和应用程序协议之间,对客户和服务器之间的任何通信进行加密和解密,包括URL(unifor mresource location),文档目录,也许还有信用卡号码。
第二种安全协议是S-HTTD。它是HTTD的简单扩展。它向HTTP协议添加了基于消息的安全规范,可以签名、加密、验证进程间的通信(interprocess communicate,简称IPC)。如果需要,可将这两个协议放在一起,S-HTTP位于SSL上面。
二、隐私权保护
电子货币的第三个技术难点是匿名性。买者和卖者都不希望自己的自由受到干涉,而如果未做检查,所有交易的数据,以及关于消费习惯的分析数据,将会逐步积留在各公司独自的或中央清算中心的数据库中。
今天的纸币保证了经济活动的自由,其序号不会暴露一点点有关我们消费习惯的东西,而电子货币的序号最有可能将我们的消费习惯向外界广为传播。铸造电子货币的公司保存有一个序号数据库,记录谁使用了这些钱和这些钱都买了什么东西。
干扰签名(Blind signature)是使电子货币具有一定匿名性的一种方法,这种方法可让消费者干扰序号。当一个消费者想取得一笔电子现金时,PC计算需要电子货币的数据,产生一个随机的货币序号,并指定一个干扰因子(blindign factor),即一个随机数,用来乘以货币序号。银行使用自己的保密密钥对该被干扰序号进行编码,并计入消费者的帐户中,银行将验证过的电子货币送回消费者,消费者删除干扰因子。消费者可使用银行验证有效的电子货币,但银行并没有这笔钱被如何消费的记录。
三、可分性保证
电子货币的第四个技术难点是可分性。如果每笔交易都是以元为单位的,就不会有什么问题。但当一个公司以每页几分或几分之一分的价格出售其信息时(出现在Internet上的一个商业例子),问题就出现了。电子货币系统必须能处理大量的、低价格的交易情况。
如果这些问题得到解决,消费者和商家都能得到极大的好处。对商家来说,安全和可分的电子货币将会促使更多的冲浪者变成网上的购物者。电子货币也会使小公司能达到许多大公司已经达到的自动化水平。大公司的电子数据交换(Electronic Data Interexchange,简称EDI)在后台的金融业中已使用电子的比特流代替现金。
对消费者来说,电子货币比使用硬通货、纸币和传统的银行更加有效。自动化也带来了上银行和购物的方便。使用直接联接到银行(或其他金融机构)计算机的家用PC,就可以得到全天候的服务。电子货币比纸币和硬币更安全。因为能将你的资金作备份:如果你丢失了电子现金,可使用一个文件复制命令取回来。如果电子货币被盗,你可以取消你的序号,就像现在你所采用的支票支付。而且你不必担心工资是怎么花销的:只需重构你的电子邮件日志(E-maillog),就可知道每一个是怎么花的。
因为有各种各样的消费者(从家庭购物者到公司购货代理)使用电子货币,因此电子货币会有多种形式。若要成功地运作,金融网络应该是开放的,规模可变的,并能把消费者与零售商,物资供应商和金融机构集结在一起,覆盖范围包括Internet、内部局域网(LAN)、增值网(VAN)。
在这个系统内部,消费者可使用专用的支付软件和硬件,或者其他用途的客户软件,如Web浏览软件处理支付业务,用服务器运行软件来验证交易。执行会计功能,保障支付,甚至铸造电子货币。商家也许会使用自己的服务器,或成为像eshop plaza或Commerce Net这种的电子商城的一部分。
在目前这种网络安全以及电子交易安全尚未成熟的情况下,消费者还处于尝试性购买阶段,金额较小。据调查,电脑通讯、书籍、以及唱片等,是网络购买的前三名商品,为了刺激消费者使用电子货币进行网络交易,业者莫不使出浑身解数,包括提供各项消费折扣信息,比价服务,并提供检查环境,让消费者能充分地享受购物无烦恼的优点。
伴随着互联网络的逐渐普及,为避免落在人后遭受淘汰,金融业者纷纷投入网络金融服务,这将大大推动电子货币时代加速到来。
最后我们来看一看SET-网上购物的安全协定
在前面谈电子货币以及网上购物的付款方式时我们无数次地遇到一个严峻的问题,即线上购物的安全性问题。由于它的存在,为电子货币的大力推行设置了重要障碍,进而影响到整个网上经济行为的自由。没有妥善的安全体系,Internet的商业应用发展终究会受到限制。
Visa和Mastercard两个信用卡发卡组织以及IBM、Microsoft Netcash等公司于1996年2月合作提出JSET(Secure Electronic Transaction)协定。此协定是以信用卡为基础的国际网络安全电子付款协定,将目前信用卡的交易作为起始点,从商店(通过国际网络)进一步扩展至消费者的个人电脑。
SET协议地规范的重点在于,在新的交易模式中,以国际网络取代面对面的沟通,持卡人、商店和通过国际网络交易的各个角色的身份如何认定,以及如何确保传输信息的完全性、机密性和不可否认性等。典型的SET所规范的交易模式中,其参与个体包括:
持卡人(Cardholder):拥有发卡行所授权许可的信用卡,且必须先向认证管理中心(Certificate Authority)注册登记取得签章认证(Siggature Certificate),以便进行电子商务相关交易。
特约商店(merchant):在网络或电子商城上提供商品与服务的企业组织,必须与收单行签订合约,成为可接受客户信用卡电子付款的特约商店。
收单行(Acquirer):主要扮演的角色是负责授权与管理往来的特约商店,并提供交易进行时信用卡付款授权(Payment Authorization)申请和付款取得(Payment Captusr)等服务。
发卡行(Issuer ):在交易进行前,发卡行将代理接受持卡人签章认证申请,并由发卡行发出一张含有认证管理中心签章的电子信用卡,这张卡可能是Visa或Mastercard或AE或?JCB,依持卡人申请而定。当收单行通过金融网络要求付款授权时,发卡行须回应付款授权申请,交易完成后再与收单行进行帐务清算与信息交换,此部分遵循目前Settlement方式。
签证中心(Certificate Authority,简称CA):负责产生、分配并管理所有参与个体所需的电子认证。
在SET中,一个完整的线上购物交易可细分为四部分:订购申请、付款授权、付款取得以及交易状况查询。
那么,SET所采取的安全机制究竟是什么呢?我们将其它完整的内容和步骤介绍如下:
1.DES或RSA互用以确保资料的机密性
SET之所以互用DES与RSA密码演算法,简而言之,是为了同时运用两者的优点。DES的优点在于加解密时速度快;而RSA的优点是在于非对称性演算法,大大降低系统中金钥匙的数量,使大量金钥匙的交换与管理成为可行。
RSA的安全假设是建立在什么样的基础上呢?RSA的演算法如下:
(1)选取两个够大的质数P和q (2)计算乘积=P×q (3)找出一个小于n的数e使符合与(p-1)×(q-1)互质 (4)另找一数d便满足(e×d)mod[(p-1)×(q-1)]=1 (mod为相除取余数) (5)(n,e)即公共密钥 (6)(n,d)即私有密钥 加解密运作方式: 密文=明文e mod n 明文=密文e mod n
由此可知,RSA安全性的基本假设是:若要将一个很大的Public modulus-n分解为两个质因数P、g是非常困难的,依目前计算机处理的速度破解1024位元长度RSA金匙所需付出的成本与时间,在理论上是不可行的。然而随着计算机速度的不断提升,要分解出质因数P、q所需花的时间与成本当然越来越少。这是否意味着RSA的安全性将因此受到威胁呢?其实不然。理论上,在某一特定的计算机速度下,若将金匙的长度加倍,则以公开金匙加密或确认签章运算的时间将增为4倍;以私密金钥解密或签章运算的时间将增为8倍;产生金匙的时间将增为16倍。然则要成功地将几分解为P、q的时间所增加的倍数,要远远超过16倍。如此一来计算机速度的提升,只要金匙的长度跟着增加,RSA的密码系统安全强度应更为巩固。由许多公司与政府的系统开始使用RSA来作为其密码系统,可以看出,RSA已成为今日密码学的代表。
2.认证的交换验证配合数位签章,以确认交易进行时双方身份,进一步提供不可否认性的功能。
所谓不可否认性是由于RSA演算法中公共密钥与私有密钥一对一的性质,只要可以用发送方签章的公开金匙还原验证的检章,就一定是发送方用其签章私有密钥所签署。此点若无疑问,那么问题的焦点就集中在如何确定公共密钥为交易对方所有。因为对方的公共密钥可由其认证中心取得,每一个下层的认证都是由上一层负责签发与管理,因此验证下层认证的方法,就是拿上一层的公共密钥,以检验认证上的签章是否符合。如此层层相扣形成一个信赖链(Trust Chain)而达到地区性或国际性最上层的RCA(Root Crtificate Authority),RCA签发自己的认证,其公共密钥为大家所知道并信赖。这样形成的阶层式架构,RCA实为核心,其私有密钥必须在极严格的安全控管下保存,当收到认证的一方相信认证不假,而确认与之交易对方的身份时,都可归结于信赖RCA。
3.以数位信封、双重签章确保资料的隐私性与关联性
在信用卡付款交易的过程中,持卡人员和特约商店连线,所以必须将订单资料和付款指示一起传送给特约商店,特约商店收到后再将付款指示转送给收单行申请付款授权。付款指示中包含的持卡人帐户信息是持卡人的个人隐私,特约商店必须保密;然而订单资料与付款指示是相互传送的,多重签章正可解决这个问题。
赫序函数与RSA密码演算法构成数位签章,以保证资料的完整 ,防止篡改伪造。
赫序函数的两个特性使之成为RSA密码演算的绝配。两者若缺其一,则数位签章的可行性将大大折扣。
第一个特点是:任意长度的文本经过赫序函数运算后即变成固定长度的摘要。一般而言,摘要的长度会比信息文本的长度短得多。MDS所产生的摘要长度为128位元,SHA-1所产生的摘要长度为160位元。摘要重复的机率分别为2-128及2-16,这样的机率可说是极其渺小。因此,信息摘要可说是其对应信息的指纹。
赫序函数的第二个特点是其不可逆性,亦即对任意的赫序值X要找到一个明文T与之对应使X=Hash(T),在计算上是不可行的。这个特点正好弥补RSA指数系统的乘法性结构的缺失。举例说明:若不使用赫序函数,假设(n,e)为某甲之公共密钥,(n,d)为其私有密钥,伪造者任选出一签章S(不论是谁签署的),只要计算Semod n求出一T,则(T,s)就成为一某甲合法的明文签章。
再者,伪造者可以挑选出T1及T2还有其对应的签昌S1与S2。若T恰巧满足T1T2=T mod n,则伪造者即可计算(S1S2)modn假造出T的合法签章S。
因为S=S1S2=T1dT2d=(T1T2)d=Tdmod n
通过单向赫序函数将本文压缩转换,一则加速签章,再则避免资料可能被伪造篡改的缺点。值得注意的是,SET选择SHA-1为其赫序函数。
就以上完整的技术而言,SET协定所采取的安全机制已能够满足一个国际网络电子付款交易的需求。但对技术卡人而言,他们除了关心能否安全方便地在网上购物,亦关心自己的私有密钥要妥善保存,万一发生问题时,如何补救,能否得到合理的保障。
依据SET建议,CA角色的功能有三:分虽是接受注册申请、审查申请并决定通过/拒绝、签发认证。由CA角度来看,一旦持卡人、特约商店和付款通路怀疑自己的私有密钥外泄,或识别资料变更而与原先申请认证不符,或者想终止认证使用时,CA须提供注销认证的服务。而且发出的每一认证有特定的使用期限,须定期更新。
通过以上关于SET的描述,我们看到,建立一个稳当的交易与安全体系,是经过了多少人的智慧与经验,每一个环节都要慎密的思考,还要能公开接受挑战,如此逐步完整、发展并稳固的体系,人们才能放心地使用,而SET的建立和逐步完善必为网上购物付款方式以及电子交易的发展初步扫清了障碍。当然,目前的电子商务中,包括SET协定执行本身都还存在着诸多问题有待解决,而且在未来的发展之路上,还会出现这样那样意想不到的麻烦,这些都需要我们冷静而认真地逐一将其克服。SET协议为我们克服解决这些问题提供了许多思路,我们当细细地琢磨之。 |