①要发送加密电子邮件,需要有收件人的数字证书。获得收件人数字证书的方法可以让对方发送带有其数字签名的邮件。将该邮件打开后,会在右边看到对方的证书标志。单击该标志,找到“安全”项,单击“查看证书”按钮,可以查看“发件人证书”;单击“添加到通讯簿”按钮,在通讯簿中保存发件人的加密首选项,这样对方数字证书就被添加到通讯簿中。有了对方的数字证书,就可以向对方发送加密邮件。如图526所示。
②在OutlookExpress中撰写新邮件或者回复已经收到的邮件,写好邮件内容后,选取“工具”菜单中的“加密”项或单击工具栏上的“加密”按钮,邮件的右侧将会出现一个蓝色的锁型加密标志。该邮件也可以同时使用发件人的数字签名。如图527所示。
③当收件人收到并打开已加密过的邮件时,将看到“加密邮件”的提示信息,按“继续”按钮后,可阅读到该邮件的内容。当收到加密邮件时,完全有理由确认邮件没有被其他任何人阅读或篡改过,因为只有在收件人自己的计算机上安装了正确的数字证书,OutlookExpress才能自动解密电子邮件;否则,邮件内容将无法显示。
5.3.3认证中心
1.认证中心的工作过程
认证中心(CertificateAuthority,CA)是一个负责发放和管理数字证书的权威机构。在电子商务交易中,商家、客户、银行的身份都要由CA认证。例如,持卡人要与商家通信,就要从公共媒体上获得商家的公开密钥,但持卡人无法确定商家身份的真实性及信誉状况,于是持卡人请求CA对商家认证。CA对商家进行调查、验证和鉴别后,将包含商家公钥的证书传给持卡人。同样,商家也可对持卡人进行验证。如图528所示。
2.认证中心的职能
CA通常是企业性的服务机构,其主要任务是受理数字证书的申请、签发数字证书、对数图528认证中心工作过程字证书进行管理。在实际运作中,CA可由大家都信任的第三方来担当,例如在客户与商家进行交易时,客户使用的是由某个银行发的卡,而商家又与此银行有业务关系或有账号。在这种情况下,客户和商家都信任该银行,可由该银行担当CA角色,负责接收、处理客户证书和商家证书的验证请求。
认证中心的职能包括以下4个方面。
①证书发放;
②证书更新;
③证书撤销;
④证书验证。
3.证书的树型验证结构
在电子商务交易中,交易双方通信要通过出示各自的数字证书来证明自己的身份。但是如何来证明其证书的合法性呢?因为如果签发证书的CA本身都不受信任的话,那么就可能发生类似于现实世界“假证书”的情况。所以必须建立一套机制来验证CA的身份。
要验证CA的身份,必须建立一套CA的信任机制。一般CA系统采用树型的层次结构来实现验证功能,如图529所示。每个数字证书均与签发该证书的CA的签名证书相关联,而该CA又由上一层的CA颁发证书,这样即可沿着信任树一直找到一个交易双方共同信任的CA,从而确认双方身份有效。假设有两个交易实体E1和E2,他们的证书签发机构分别为图530中的B1和B8,而B1的证书又是由名称为A1的二级CA签发,而B8的证书又是由名称为A3的二级CA签发,再往上A1和A3的证书均由根CA签发,这样就找到了一个共同信任的CA,从而验证了交易双方证书的合法性。
图529证书的层次结构商务部数字证书安全认证中心建设项目
1.项目背景
随着商务部电子政务建设的逐渐完善和飞速发展,使得商务部的信息化建设一直处于国家部委信息化建设的前列。在信息化加速开展的同时,保证电子政务信息化安全建设也成为必须考虑的问题,它不仅能提高电子政务的工作效率,满足各办公单位高效、快捷、安全的进行政务活动的需求;同时对树立政府“公开、廉政、高效”的良好形象提供了安全可靠的网络基础,并提高政务工作的透明度。因此,建立一套完善的应用安全体系对于推动商务部的整体信息化发展尤为重要。
在此背景下,商务部委托中国国际电子商务中心国富安公司为其规划建设一套技术先进,能满足应用需求,实用、开放、标准的数字安全认证中心。数字安全认证中心的初期建设目标为满足电子商务及电子政务的基本需求,并成为整个安全体系的基础,最终目标是实现为社会各领域包括电子商务、电子政务、网上海关、支付系统和管理信息系统等的各种认证需求提供证书服务。
2.项目建设
本项目为国家科技部“九五”攻关项目所属课题“商业电子信息安全与认证技术开发及应用”的专题之一,是我国第一个自主开发、具有自主版权的CA安全认证系统。国富安公司负责该项目的建设工作,同时它们还承担了该系统的运营与维护工作。国富安公司于2006年取得了信息产业部颁发的《电子认证服务许可证》后成为了目前国家部委级CA机构里唯一一家合法、权威的第三方认证中心,拥有持续8年为商务部及其他客户单位服务的丰富运营经验,累计发证量达到100多万张。
国富安公司对该电子认证服务系统以工程的形式(包括机房物理建设、网络建设、决策策略、运营规范建设、安全性建设等)进行了全面的研发、实施与建设。在体系结构上,系统采用证书认证中心与密钥管理中心的设计方案。CA系统体系采用了两层结构即根CA和运营CA,以便于将来扩展与其他CA建立交叉认证。如图530所示。
图530系统架构5.4电子商务安全协议
5.4.1SSL协议安全套接层协议(SecureSocketsLayer,SSL)最初是由网景(Netscape)公司研制的一种安全通信协议,它是基于Web应用的安全协议,SSL协议的主要内容包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。
1.协议的起源
由于Web上有时要传输重要或敏感的数据,因此Netscape公司在推出Web浏览器首版的同时,提出了安全通信的SSL协议,目前已有2.0和3.0版本。SSL协议采用公开密钥技术,其目标是保证两个应用间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。目前,利用公开密钥技术的SSL协议,已成为Internet上保密通信的工业标准。现行Web浏览器普遍将和SSL相结合,从而实现安全通信。
2.协议概述
SSL协议是在Internet基础上提供的一种保证私密性的安全协议,它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议要求建立在可靠的传输层协议(如TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(如、FTP、Telnet等)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
通过以上叙述,SSL协议提供的安全信道有以下3个特性。
①私密性:因为在握手协议定义了会话密钥后,所有的消息都被加密。
②确认性:因为尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。
③可靠性:因为传送的消息包括消息完整性检查。
3.协议结构
SSL协议分为两层:SSL握手协议和SSL记录协议。
(1)SSL握手协议
SSL握手协议主要用于通信双方的身份认证和密钥协商。客户端和服务器通过数字证书相互认证对方的身份,并利用数字证书来进行对称密钥和求消息鉴别码(MessageAuthenticationCade,MAC)的密钥分配。SSL握手协议包含两个阶段:第一个阶段用于建立私密性通信信道;第二个阶段用于客户认证。
(2)SSL记录协议
SSL记录协议主要用于加密传输数据和对数据完整性的保证。用握手协议产生的对称密钥加密通信双方传输的所有数据,并用求MAC的密钥对传输的信息求消息鉴别码。在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和长度不为0的记录数据组成的。所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层。SSL记录协议包括了记录头和记录数据格式的规定。
4.SSL协议安全服务的实现
(1)SSL协议提供的基本安全服务
①身份认证:在浏览器和服务器进行通信之前,必须先验证对方的身份。SSL协议利用数字证书和可信的第三方CA,让客户机和服务器相互识别对方的身份并进行密钥交换。
②秘密性保护:SSL客户机和服务器之间通过密码算法和密钥的协商,建立起一个安全通道,以后在安全通道中传输的所有信息都将经过加密处理。
③完整性保护:SSL协议利用密码算法和散列函数,通过对传输信息提取散列值的方法来保证传输信息的完整性。
(2)SSL协议安全服务实现方式
①身份认证:通过验证对方的数字证书,并检查对方是否拥有数字证书对应的私钥。
②秘密性:使用公钥来分配一个对称密钥,用该对称密钥加密信息。
③完整性:使用公钥来分配一个求MAC的密钥,用该密钥对消息求消息鉴别码。
5.SSL协议的运行步骤
①接通阶段,客户通过网络向服务商打招呼,服务商回应。
②密码交换阶段,客户和服务商之间交换认可的密码。一般选用RSA算法。
③会谈密码阶段,客户与服务商间产生彼此交谈的会谈密码。
④检验阶段,检验服务商取得的密码。
⑤客户认证阶段,验证客户的可信度。
⑥结束阶段,客户与服务商之间相互交换结束的信息。
6.SSL在电子商务中应用与不足之处
在电子商务中,一般有顾客、商家、银行参与到交易中。顾客到商家指定的网站去填写订单,向商家报出信用卡号,商家向银行查询信用卡号,有效了才能继续交易。其中顾客可以没有数字证书,商家和银行必须有数字证书。在顾客与商家通信中采用匿名SSL连接。而商家与银行之间传送的是顾客数据,必须互相验证对方的数字证书,采用SSL连接保证传输信息的安全。
SSL协议不足之处在于它仅为电子商务中通信双方提供了安全通道,并没有解决信用卡持卡人的身份认证和交易的不可否认等问题。
5.4.2SET协议
1.SET协议的基本情况
安全电子交易协议SET是由美国VISA和MasterCard两大信用卡组织联合推出的用于电子商务的行业规范,其实质是一种应用在Internet上,以信用卡为基础的电子付款系统规范,目的是为了保证网络交易的安全。SET协议主要使用的技术包括对称密钥加密、公共密钥加密、哈希算法、数字签名技术及公共密钥授权机制等。SET协议是作用于应用层的网络标准协议。
2.SET支付体系的组成
①消费者(又称持卡人):是指由发卡银行所发行的支付卡的授权持有者。在电子商务环境中,消费者通过计算机与商家交互,消费者通过由发卡机构颁发的银行卡进行结算。在消费者和商家的会话中,SET协议可以保证消费者的个人账户信息不被泄露。
②商家:指出售商品或服务的各在线商店。商家必须与收单银行建立业务联系,以接受支付卡这种付款方式。
③发卡银行:指持卡人提供支付卡的金融机构。
④收单银行:指与商家建立业务联系的金融机构。在线交易的商家需要在收单银行开立账户,收单银行处理银行卡的支付信息等。
⑤支付网关:它是由银行操作的将Internet上的传输数据转换为金融机构内部系统数据的设备,也可能是由指派的第三方处理商家支付信息和顾客的支付指令,其作用是实现对支付信息从Internet到银行内部网络的转换,并对商家和持卡人进行认证。
⑥认证中心CA:在基于SET协议的电子商务体系中起着重要作用,可以为持卡人、商家和支付网关签发X.509V3数字证书,让消费者、商家和支付网关通过数字证书进行认证。
3.SET协议的工作原理
SET协议的工作原理包括以下8个步骤。
①消费者通过Internet选购商品,并向在线商家发送订货单。
②商家作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。
③消费者选择付款方式,确认订单,签发付款指令。此时SET协议开始介入,在SET中,消费者必须对订单和付款指令进行数字签名,确保商家看不到消费者的账户和密码信息。
④商家接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给商家。
⑤商家发送订单确认信息给消费者。消费者端软件可记录交易日志,以备查询。
⑥商家发送货物或提供服务。
⑦收单银行将钱从消费者的账户转移到商家账户,或通知发卡银行请求支付。
⑧发卡银行向用户定期寄送信用卡消费账单。
持卡人、商家和支付网关三者在传输信息时,需要加上发送方的数字签名,并用接收方的公开密钥对信息加密。实现商家无法获得持卡人的银行卡信息,银行无法获得持卡人的购物信息,同时保证商家能顺利收到货款。如图531所示为SET支付体系的组成及工作原理。
图531SET支付体系的组成及工作原理
4.SET协议运行的目标
①保证信息在互联网上安全传输,防止数据被黑客或被内部人员窃取。
②保证电子商务参与者信息的相互隔离。客户的资料加密或打包后通过商家到达银行,但是商家不能看到客户的账户和密码信息。
③解决网上认证问题不仅要有对消费者银行卡、在线商店的信誉程度的认证,还要有对消费者与银行间、在线商店与银行间的认证。
④保证网上交易的实时性,使所有的支付过程都是在线的。
⑤效仿EDI贸易的形式,规范协议和消息格式,促使不同厂家开发的软件既有兼容性和互操作功能,又可以运行在不同的硬件和操作系统上。