加密--电子商务的灵魂

简介

经营网上业务已成为今日商家销售产品的一种途径。种种迹象表明,如果消费者不必再为安全问题担忧,电子商务将会得到快速发展。但是,人们普遍认为电子商务侵犯了个人隐私,很多调查都显示出用户非常担心自己的隐私在网上被泄露。1997年3月,波士顿顾问小组(Boston Consulting Group,BCG)就个人隐私这一问题对9300人进行了问讯调查,其中76%的被调查者说他们对那些监视消费者网上活动的网站不满意;78%的被调查者表示,如果网上的保护措施完善,他们会更愿意在网上交易中提供个人信息。Lou Harris组织也曾进行过类似的调查,他们抽样调查了1009个计算机用户。其中,超过50%的人对于他们浏览过的网站擅自公开其电子信箱的行为感到不满。

在一项大规模的调查中,70%的回答者表示非常担心网上购物的安全问题;71%的回答者认为用电话沟通比在网上传递信息更安全;还有42%的回答者拒绝在网上输入个人信息。分析家们总结说,对保护隐私的重要性认识不足是电子商务发展的绊脚石,而安全是实施电子商务的必须保障,没有健全的安全标准是实施电子商务的严重障碍。总而言之,消费者对电子交易安全的担忧严重阻碍了电子商务的发展。

一个观察政府活动的独立组织(OMB Watch)声称,美国政府的网站没有很好地保护用户的隐私。他们说:"美国政府没有一套全面的维护网站内个人隐私的政策。联邦调查局到处收集关于网站访问者的个人信息,但又不告诉被访问者为什么要收集这些信息。

加密

业界的公司及各种机构所提供的技术服务,包括令牌、安全传输数据协议、电子证书及可信任网站安全标准等,都要涉及到加密技术。加密是对信息进行编码和解码的技术。数据编码就是把原来的可读信息(又称明文)译成代码形式(又称密文)。该过程的逆过程称为解密。

加密有对称式及非对称式两种,在近几年的电子商务活动中,非对称式加密被广泛应用。

对称式加密算法

图1是Digital Encryption Standard (DES)——一种简单的对称式加密技术的图例。其中,明文(即原始数据)经过特别的加密算法处理后,变成了复杂的加密文,若想解读原文则需要用同样的钥匙及算法解密。对称式加密算法速度非常快,对保护信息安全发挥了很大的作用。这种算法的不足之处是交易双方都使用同样的钥匙,这就会有发送者或接收者单方面泄露密码的可能。此外,每对用户每次使用对称式算法都需要使用其他人不知道的唯一的钥匙,以保证信息的机密性,这就使得钥匙对的数量以几何级数增长。例如:三个人就有(3×2/2=3)3种组合,需要3把钥匙; 四个人就有(4×3/2=6)6种组合,需要6把钥匙;五个人就有 (5×4/2=10)10 种组合,需要10把钥匙;那么一千个人就有(1000× 999/2=499500)499500种组合,需要将近50万把钥匙。 图1 对称式加密算法

非对称式加密算法:公钥密码系统

公钥密码系统(Public Key Cryptosystem,PKC)是由Rivest、Shamir和Adleman发明的,大约在1970年进入市场,是一种功能强大的安全工具。非对称式加密算法与对称式加密算法不同,它会随机产生2把不同的钥匙,而不是用同一把钥匙对信息进行加密和解密。其中一把钥匙用于加密明文,另一把钥匙用来解密密文。图2就解释了非对称式加密算法的原理。

图2 非对称式加密及解密

PKC 的原理是只有匹配的钥匙才能完成加密和解密步骤,这样的一对钥匙即为公钥和私钥。

1.PKC 如何保密 如果要向某公钥持有者发送只有他才能阅读的信息,发送者应使用接收者的公钥加密原文,这样只有知道私钥的接收者才能解密密文。如果用来解密的私钥不是与该公钥匹配的那把,解密所得的结果将会是垃圾文本(见图3)。 图3 PKC 如何保密

2.用PKC 建立认证体系

同样,为了证明一个消息的真实性与完整性,发送者可以用他自己的私钥加密明文,而任何一位接收者都可以用发送者的公钥去解密。如果密文被发送者的公钥正确解密,那就证明发送者即是私钥持有者,因为只有他才能用与解密的公钥相匹配的私钥加密原文。图4解释了这一过程。

图4 PKC 如何防伪

3.用PKC保证完整性

如果密文被正确解密,那么解密后的文本就应当与发送者发送的原文完全一致。图5说明了PKC(或其他加密算法)如何保证传输信息的完整。

在PKC体系中,非对称式算法的加密及解密都需要很长的时间,加密较长文章的时间比加密较短文章的时间相对长些。为了缩短长文的加密及解密时间,人们在PKC体系中加入了电子证书,即对明文使用hash算法。

图5 传输错误会危害解密

Hash 算法使用一组短序数据证实数据来源的完整性。检查和就是使用hash算法的一个例子,大多数信用卡号码的最后四位就是检查和。Hash的算法非常精确,原文只要有一个字发生改动,检查和的结果都会不一样。例如,如果某人在电话中读错自己的信用卡号码,那系统产生的检查和就会与他的信用卡上的检查和不符合,信用卡公司很快就会检查出这个和是错误的。

为了缩短系统对整段信息完整性的检查时间,PKC一般的做法是不对整段信息加密,而改为使用发送者的私钥加密后产生的hash。接收者使用发送者的公钥先把hash 解密,然后独立算出hash,如果算出的hash与解密后得到的hash相符,那就证明原文没有被改动。图6解释了PKC如何用hash 去验证信息的真实性与完整性。图6 PKC如何用hash去验证信息的真实性与完整性

产品

这里要介绍的是一些与网络安全相关的产品,这些产品都使用了密码技术。表1 部分安全产品的功能

VeriSign 的电子ID

VeriSign 的电子ID使用RSA密码技术,钥匙长度为1024位。世界上有1.6万 个Web服务器及超过50万用户使用VeriSign 的电子ID。VeriSign 的电子ID服务器可以使机构与访问者之间建立安全的会话,还可以帮助用户认证网站的真伪,保证用户不会被那些虚假的商业网站欺骗。

使用电子ID,用户可以不用记住他们在登录不同网站时使用的不同用户ID及口令。电子ID由CA签发并且使用SSL协议安全地交换信息。VeriSign 使用Dun & Bradstreet、InterNIC 以及其他有效信息(如公司的成立章程、股东协议书、税务记录等)来验证网站的真实身份。VeriSign(或其他CA)会在验明一个网站的身份后给它签发一个电子ID。AOL 允许用户及商家使用VeriSign的电子ID相互认证。

如果用户要与一个网站进行特殊的交易,服务器会使用自己的电子ID加密一个密钥,然后使用这个密钥产生一个随机会话钥匙。这个会话钥匙会在24小时后失效,以保证证书即使被截获也不会被非法使用。

从用户的角度来看,电子ID 非常容易使用。用户只需点击网站的信用卡图标,然后填写表单,商家的网站就会自动收到用户的公钥、要购买东西的清单以及用户的电子证书。商家的软件会认证用户的身份,认证过后才正式受理用户的订单。

通常, 电子ID的功能会在浏览器及电子邮件软件自动实施。但直到现在为止,VeriSign 的智能卡系统仍需要客户系统配备读卡器。现有版本的电子证书上的用户信息有限,导致网站的应答不够个人化。为了更方便用户,VeriSign准备推出更先进的电子证书系统。

电子货币(DigiCash)

纯软件货币(eCash)是指使用PKC技术、用硬件智能卡方式支付的电子货币。该体系可以保障用户的隐私。例如:一个用户可以使用不同的电子笔名(即账号标识符)访问不同的网上机构。这些令牌虽然包含用户的个人资料,但是用户可以控制将什么数据发送到哪个服务器。使用电子货币时,用户一方面可以不公开自己的身份,但同时又保证了交易数据的完整性及不可抵赖性。电子货币系统有一个"冻结期",在该"冻结期"内,用户可以随时退货。

eCash 就像钞票,可以从已建立的账户存取,也可以由一个人转移到另一个人。但eCash与真正的钞票不同的是,电子银行在交易中扮演了很重要的角色。

以下要说明的是提取eCash及使用eCash支付的过程,通过了解这一操作过程,我们就会明白为什么消费者认为eCash是一种不涉及任何银行的、纯个人的付款方式。为了阐明"盲签名"这一概念,我们在这里详尽地描述了提取eCash的过程。图7 Alice从她的银行账户上提取eCash

图7表明了在电子货币的提取过程中有两个参与者:消费者Alice及银行。从Alice的银行账户上提出的电子货币正被送到她的计算机内,一旦到达,这些货币就会连同Alice原有的货币一起储存在她的硬盘上。这种交易方式不涉及任何真正的货币,它所涉及的只是一些数串,用每个数串对应不同的数字货币。每种货币都有面值,这样Alice的eCash软件就可以自动管理她的电子货币夹。这一软件会决定提取何种面值的货币及如何支付。

以eCash方式购物

现在Alice的硬盘里已经有了一些eCash,这样她就可以从Bob的商店买东西了。收到了Bob的付款要求后,Alice通过击对话框上的"Yes"表示同意。她的eCash软件就会从她的硬盘上提取相应数量的货款,然后通过与 Bob的商店相连的网络传送过去。商店收到货币后,Bob的软件会自动地将它们发送到银行,得到银行的确认后,就会将货物及收据一起寄给Alice。

图8 Alice从Bob处买东西

为了确保电子货币只用一次,银行在它的"已用货币数据库"里记录了每个货币的序列号。如果银行发现有人试图用已用过的货币付款,它就会通知Bob此次付款无效。通常情况下,正被使用货币的序列号没有记录。通过这次使用,银行会将它存入数据库,并且通知Bob货币有效,已被接受。

个人之间的付款

一个消费者收到付款的过程应当与商家收款一样。但是,有一些消费者更希望他们一收到钱,钱就可以立刻被再次使用,就好像有人当面递给他们一张5美元的钞票一样。图9描述的就是这类消费者。

Alice与Cindy之间的付款方式与图8所示的Alice与Bob的商店之间的付款方式的唯一不同之处,就是银行收到付款后的处理方式。在图9中, Cindy要求银行在收到她存入的款项并确认后,货币能立即返回到她的计算机内。所以,当 Alice发送给Cindy 5美元时,Cindy就可以在她的 PC上立刻使用这些钱了。

图9 个人之间的付款

如何保护隐私

在图7所示的提取过程中,银行首先创造了独特的空白数字货币,通过给它们加上特殊的数字印记使其生效,然后提供给Alice。这样,银行在未来的付款中就能识别出这些货币。进而,银行也可以知道都有哪些款项是Alice支付的。

通过"盲签名"这一 eCash独有的特征,可以防止银行知道货币是来自哪个账户的(见图10)。Alice的计算机随机创造了货币,替代了银行的空白货币。然后它将货币装在一个特殊的数字信封中,发给银行。银行从Alice的账户上提取1美元,在刚刚提到的信封上"盖戳"确认,再将其发回到Alice的计算机内。

图10 Alice 发送她需要银行签名的货币

当Alice的计算机打开信封时,她就获得了由她自己选择的、经银行"盖戳"确认的货币。当她支出这些货币时,银行就要因为它的"戳"而接受其为有效付款。但是由于货币是在信封里面被加戳的,银行也就无法判断出是谁在付款了。

电子货币是基于软件的支付系统,在任何计算机及网络上都可以使用,eCash系统需要在用户的计算机内安装DigiCash 软件,这个系统对于接受网上零碎付款的行业是非常方便的。

CyberCash

使用CyberCash的消费者的信息经加密后被送至网络服务商处。作为一个安全的媒体(商家看不到消费者的信用卡号码,因为在商家的服务器上它也是加密的),网络服务商在签名后将信息发送给CyberCash。

CyberCash对每笔交易都经过安全的解密,重新设置格式后才将其送至商家的银行。商家的银行会给消费者的银行发出一个认证此次购买行为的要求,消费者的银行会给CyberCash发送一个数字签名形式的认证,CyberCash又会将它安全地转给商家。相应地,商家会通知消费者其购买行为已被接受。

CyberCash正将它的电子兑付系统与SET协议综合起来。AOL就是一个为CyberCash提供网络主机服务的大商家。

Xcert Sentry CA

Xcert是一家加拿大公司,提供用于更新原系统的CA代理服务器。更新后的系统可以生成和解释数字证书。Xcert的Sentry CA允许CA之间的交叉认证。在对Sentry CA最初的评价中,网景认为它近乎完美,而微软却对它不以为然。

Auric Systems ASA

Auric 网络系统已经宣布提供自动安全认证功能(Automated Security Authentication,ASA)。ASA 允许任何网站识别和认证所有访问它的站点的人,而网上冲浪者则不需要输入任何信息。为了认证一次购买行为,服务器会询问ASA服务商该消费者及服务器是在何处注册的。ASA服务商对交易双方进行认证,并与银行及信用卡服务机构沟通。有趣的是,消费者毋需为ASA安装任何特别的软、硬件。ASA在Internet上创建了一个虚拟专用网络(VPN)。拨号上网的用户如果想使用ASA网站,只需增加一个软件插件模块(plug-in software module)即可。一些Internet服务商对ASA非常感兴趣。

Security Dynamics 的Secure ID

Security Dynamics 是使用SecurID&ACE/Server进行令牌式认证的主要提供者,这一系统在企业的标识和认证过程中应用得十分广泛。然而,由于使用该系统需要昂贵的硬件设备支持,所以,要在市场上全面推广该产品,还要看消费者愿意不愿意为此付出一大笔费用。

Bellcore的S/KEY

来自Bellcore的S/KEY v2.6是使用软件进行一次性密码认证的体系。S/KEY使用"遇难回应"系统,而且一次性密码既不储存在客户端,也不储存在服务商处。S/KEY的一次性密码符合IETF(互联网工程任务法案)RFC 1938的标准。

互联网商业街(Internet Mall)

消费者怎样才能从不同的商家购物而不需要被重复地被认证呢?Internet Mall 提供的服务允许你经过一次确认就可以在所有已在Mall登记的商家购物。

VeriSign 的数字ID

由于消费者和商家之间交换的一直是数字式证书,因此许多用户希望证书能加入一些个人信息,以便能更好地适应不同用户的需求。近来,经过一些开发者的努力,证书已经可以包含更多的信息,如用户的个人资料及爱好,这样的话,网络软件就可以调整内容,以便更好地适应每个用户的需求。例如,包含出生年月的扩展证书就可以限制一些成人网页的访问年龄,从而孩子们就不会接触到网上的色情内容了。

VeriSign的数字 ID 严格遵守CCITT X.509 标准。数字 ID 包括所有者的公钥、姓名、有效期、CA 姓名、序列号及CA签名。VeriSign 认为证书的特征扩展最终还是要进入PKIX。一些分析家相信,特权及政策特征将会从证书转向LDAP。

最近的新闻表明,VeriSign的数字证书将包含可在服务器上被编辑的数据。一些机构将根据用户的要求为他们订制数字证书。那些使用"私有标签数字ID 服务"的用户将能够根据他们自己的意愿增加订制区域。一些可扩展的证书将会取代cookies(由浏览器储存在cookies.txt文件中的文本记录)的作用。VeriSign将为50万名正在使用固定格式证书的用户免费升级至"私有标签数字ID 服务",全体用户还将很容易地将他们的服务器软件升级,以支持可扩展的证书的使用。

NCR 的Trusted Pass

另一个有趣的新产品是NCR的SmartEC Trusted Pass。在最初的开发过程中,它只是作为一个允许电信公司通过用户账户来控制入口的系统的一部分。这个软件具备了可伸展的证书格式(TrustedPass的证书格式),该格式包括发行者区、服务器端口、IP源址、有效期、一个用来存放附加数据的灵活区域及一个用于整个TrustedPass的数字签名。它不需要客户端的软件做任何改动,而且用户的浏览器不需要任何插件程序。TrustedPass的认证服务器可以使用商家选定的任何识别与认证方式。如果用户在认证阶段重复出错(如多次错输密码),认证服务器将会使存于公钥数据库中的顾客记录无效,同时指导用户求助。

TrustedPass之所以具有可扩展性是因为它不限制数字签名领域的信息量。这些信息的内容一般是个人资料及决定何时使用何种信息的控制代码。TrustedPass系统允许服务器为TrustedPass 设置使用期限。如果认证服务器注意到现在正在使用的TrustedPass即将到期,它将会发出一个新的Trusted Pass。这一特征允许现行用户无须重新人工认证就可以进入网站。另外,如果持有有效TrustedPass的用户进入另一个运行TrustedPass软件的网站,新服务器可接受从可信站点发出的有效TrustedPass ,并允许该用户进入。如果用户在第一个网站的TrustedPass到期,第二个网站同样可以发出一个新的TrustedPass,该TrustedPass在与第二个网站有信任伙伴关系的网站上同样有效。这一非凡的特征允许用户无须重新认证即可浏览许多网站。

返回.