2003-07-29
随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,学术界和有关厂商在经过多年研究后,初步形成了一套完整的解决方案,即目前被国外广泛应用的公开密钥基础设施(PKI, Public Key Infrastructure)。 建立电子商务安全平台: 一、 电子商务对网上安全的要求 电子商务对交易安全的要求反映在两个方面:第一,交易的有效性,在电子商务活动中,要使其具有法律效力,除了制定必要的交易政策法规外,在技术手段上必须要反映交易者的身份;提供有效的手段保证数据的完整性,使数据具备法律的约束力,即发送者不能抵赖由自己所签发的数字化交易;同时数据的发送方要有签名的能力。第二,交易信息的安全性,由于因特网本身的开放性,使网上交易面临种种危险。概括起来,电子商务具有如下最基本的安全需求: 身份鉴别(Authentication): 在双方进行交易前,首先要能确认对方的身份,要求交易双方的身份不能被假冒或伪装。 数据的机密性(Confidentiality):对敏感信息进行加密,即使别人截获数据也无法得到其内容。 数据的完整性(Integrity):要求收方能够验证收到的信息是否完整,是否被人篡改,保障交易的严肃和公正。 不可抵赖性(Non-Repudiation): 交易一旦达成,发送方不能否认他发送的信息,接收方则不能否认他所收到的信息。 建立电子商务安全平台: 二、 PKI加密技术基础 着电子技术,计算机技术的迅速发展以及结构代数、可计算性和计算复杂性理论等科学的研究,商用加密软件和硬件层出不穷,为保证如上所述的电子商务安全需求的实现提供了可靠的基础。 1. 数据加密 前可供采用的密码体制有两种。一种是传统密码体制, 另一种是公开密钥密码体制。 传统密码体制所用的加密密钥和解密密钥相同,称为单钥或对称密钥密码体制。这种体制所使用的密钥简短,算法较简单,运行效率高。但是这种体制对密钥的安全传送要求很高,密钥泄露会导致整个系统的崩溃。 了解决密钥分配和数字签名问题,科学家提出了公开密钥密码体制的概念。它是加密密钥和解密密钥不同的双钥体制,是一种由已知加密密钥推导出解密密钥在计算上是不可行的密钥体制。加密密钥是公开的,谁都可以用,称为公钥;解密密钥只有解密人自己知道,称为私钥。但是这种体制的密钥比较长,算法复杂,所以运行效率较低。 2. 数字签名 数字签名是建立在公钥加密基础上的,在签名和核实签名的处理过程中,数字签名引入了哈希算法(Hash Algorithm)或MD5 (Message Digest, MD)。哈希算法对原始报文进行运算,得到一个固定长度的数字串,称为报文摘要(Message Digest),不同的报文所得到的报文摘要各异,但对相同的报文它的报文摘要却是唯一的,因此报文摘也称为数字指纹。 用签名算法对报文摘加密所得到的结果就是数字签名。签名的基本原理是:发送方生成报文的报文摘要,用自己的私钥对摘要进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给接收方。接收方首先从接收到的原始报文中用同样的算法计算出新的报文摘要,再用发送方的公钥对报文附件的数字签名进行解密,比较两个报文摘要,如果值相同,接收方就能确认该数字签名是发送方的。数字签名机制既保证了报文的完整性和真实性,又具有防止抵赖的作用。 实际应用中,往往同时使用公共密钥和对称密钥技术,发挥各自的优点,其工作原理在此不赘述。 建立电子商务安全平台: 三、 PKI概述 KI的基本机制是定义和建立身份、认证和授权技术,然后分发、交换这些技术,在网络之间解释和管理这些信息。PKI对数据加密、数字签字、防抵赖、数据完整性以及身份鉴别所需的密钥和认证实施统一的集中化管理,支持电子商务的参与者在网络环境下建立和维护平等的信任关系,保证网上在线交易的安全。 PKI是建立在公共密钥机制基础上的,为了保证其有效性,必须使在网上通信的用户双方确信,他们的身份和密钥是合法的和可信赖的。但是在大范围的网络环境中,指望每一个用户都和其他用户建立过联系是不可能的,也是不现实的,而且用户的公钥需要能够被广泛地得到。为了解决这些问题,PKI引入了第三方信任和证书概念。第三方信任是指在特定的范围内,即使通信双方以前并没有建立过关系,他们也可以毫无保留地信任对方。 双方之所以相互信任,是因为他们和一个共同的第三方建立了信任关系,第三方为通信的双方提供信任担保。证书是指PKI用户已注册的以数字化形式存储的身份。数字证书是由大家共同信任的第三方——认证中心(CA)颁发的,CA有权利签发并废除证书并且对证书的真实性负责。 在PKI架构中,CA扮演的角色很像那些颁发证件的权威机构,如身份证的办理机构。建立CA的标准以及他们操作时所遵循的政策,是决定他们信任度的首要因素。 从技术角度看,一个组织完全可以自己发放数字证书来为自己的用户服务,但相比之下第三方CA 更符合用户的需求。例如,附属于一家银行的CA 不太可能为所有的银行提供认证服务,第三方CA 则不然,用户只需与这样一家第三方CA 签订认证协议,就可以方便地使用多种信用卡和认证服务。这样做,既避免了PKI的重复建设和交叉认证的复杂性,同时也能够为用户提供更加专业的认证服务。 证书包含用户的身份信息、 公钥和CA的数字签名。任何一个信任CA的通信一方,都可以通过验证对方数字证书上的CA数字签名来建立起与对方的信任关系,并且获得对方的公钥以备使用。为了保证CA所签发证书的通用性,通常证书格式遵守ITU X.509V3标准。该标准把用户的公钥与用户名等其他信息绑定在一起,为了建立信任关系,CA用它的私钥对数字证书签名,CA的数字签名提供了三个重要的保证。 第一,认证中有效的数字签名保证了认证信息的完整性;第二,因为CA是唯一有权使用它私钥的实体,任何验证数字证书的用户都可以信任CA的签名,保证了证书的权威性;第三,由于CA签名的唯一性,CA不能否认自己所签发的证书,并承担相应的责任。 证书的生成模式可分为两种。第一,集中生成模式:密钥对由CA生成,对应的公钥直接提供给CA软件生成证书。生成后的数字证书和私钥通过适当的方式提供给用户。依据PKI的安全政策,证书的分发可以离线分发或在线分发。离线分发是将CA签发的证书以磁盘或智能卡的形式提供给用户;在线分发是用户使用浏览器与CA的Web服务器相连接,提出证书申请,用户提供必要的个人资料后,CA为用户生成密钥对,然后生成和签发证书,CA用电子邮件通知用户如何以安全方式取得证书。 集中生成模式中,由于用户的密钥对是由CA生成的,所以对CA的安全性要求很高,CA要防止外部和内部非法人员对用户私钥的窃取。第二,分布式生成模式:密钥对由用户自己生成,然后将公钥和个人申请资料传送给CA,由CA生成和签发证书。由于电子商务对保密强度要求较高,考虑到用户端的密钥生成条件,在我国使用集中生成模式是比较适合的。 建立电子商务安全平台: 四、PKI的组成及功能 典型的PKI系统由五个基本的部分组成:证书申请者(Subscriber)、注册机构(Registration Authority,RA)、认证中心(Certificate Authority,CA)、证书库(Certificate Repository,CR)和证书信任方(Relying Party)。其中,认证中心、注册机构和证书库三部分是PKI的核心,证书申请者和证书信任方则是利用PKI进行网上交易的参与者。在具体应用中,各部分的功能是有弹性的,有些功能并不在所有的应用中出现,PKI的许多详细功能要根据业务的操作规程确定。 1. 证书申请者 证书申请者是证书的持有者,证书的目的是把用户的身份与其密钥绑定在一起,用户身份可以是参与网上交易的人或应用服务器。在进行网上交易时,证书的作用是:验证身份、生成和校验数字签名、交换加密数据等。有关证书管理政策和PKI所有的功能,都集中体现在如何为证书申请者提供安全服务这一焦点问题上。 PKI为证书申请者提供如下功能: (1) 证书请求 证书请求者可以是电子商务的普通用户或提供电子商务服务的应用服务器管理员,这是每个证书生命周期中的第一步。 (2) 生成密钥对 由客户端软件或智能卡加密设备生成公共密钥和私密密钥,此功能适用于分布式生成模式。 (3) 生成证书请求格式 客户端软件生成的证书请求包括申请者的身份信息和与之相应的公共密钥等。通常采用的证书请求格式为PKCS#10。 (4) 密钥更新请求 证书超过生命周期后需要更换。密钥更新请求建立在以前证书数据完整性基础上,因此,不能用来替代已丢失或被偷窃的密钥,因为系统无法区别证书的合法持有者和冒充者。这种情况下,证书持有人只能启动证书请求功能,重新从RA申请证书。 (5) 安装/存储私密密钥 客户端软件应具有存储私密密钥的功能,存储的介质具有多样性,通常以加密形式存储,并用口令保护。如何安全存储私密密钥是客户端的核心问题,只有合法的用户才有权使用私密密钥。密钥对由CA集中生成时,密钥分发需要通过安全的方式完成。 (6) 安装/存储证书 对证书存储没有安全性要求,因为证书本身就是需要公开的。 (7) 私密密钥的签名和解密 客户端软件应提供使用私密密钥对数据进行加密和解密的功能。通常,对发送数据,私密密钥用于签名;对接收数据,私密密钥用于解密。 (8) 向其他用户传送证书 客户端软件应能以标准的格式把证书传送给其他用户或应用服务器。此功能同样可以通过证书库实现。 (9) 证书撤销请求 当私密密钥丢失后,证书就不安全了,需要对其撤销。这种情况下,证书持有者不能用软件完成撤销请求,而是直接向RA或CA提出撤销申请。 2. 注册机构 根据PKI的管理政策,RA的主要功能是核实证书申请者的身份,这项功能通常由人工完成,也可以由机器自动完成,但是系统必须具有身份自动检查机制。在实际应用中,有些PKI的RA功能并不独立存在,而是合并在CA之中。 RA的功能如下: (1) 验证申请者身份 验证方法可能是人工或由机器自动验证。由于PKI的使用环境不同,验证方法的要求区别很大,对于由CA担保信任度较低的环境,申请者可以用电子邮件申请免费证书,RA自动验证申请内容;而对由CA担保信任度要求很高的金融电子商务应用,申请者要提供详细的身份证明和资信资料,由RA的专人审核。 (2) 批准证书 RA对证书申请表的各项内容审核后,根据管理政策,批准合法的证书申请,提交CA签发。 (3) 证书撤销请求 当用户的情况发生变化时(例如,资信情况),RA向CA申请撤销其证书。根据不同的要求,撤销申请可以是实时或批量的。 3. 认证中心 CA主要完成证书的管理,CA使用其私密密钥对RA提交的证书申请签名,来保证证书数据的完整性,任何对证书内容的非法修改,都会被用户使用CA的公共密钥进行验证而发现。所以证书的合法性是有保证的,能够在网上发布。 CA的功能如下: (1) 批准证书请求 对由RA提交的证书请求,要检查其合法性,虽然RA已经审核了来自用户的证书申请,但CA仍然需要检查证书请求的各项内容,不过这项功能是自动完成的。 (2) 生成密钥对 在PKI应用中,密钥对的生成可以由用户自己完成,也可以由CA使用专用设备为用户生成。由CA集中生成方式有两大优点处:其一,用户通常工作在PC环境下,密钥生成的安全性无法的到保证;其二,用户的设备情况可能无法满足生成要求。但是,由CA生成用户密钥,也带来问题,由于CA知道用户的私密密钥,所以用户往往心存疑虑,因此,CA必须制定严格的保密措施。 (3)密钥的备份 当用户丢失或损坏了自己的解密密钥后,用公钥加密的数据将无法使用,所以,要求CA提供密钥的备份与恢复功能。电子商务活动要求双密钥机制,一对密钥用于对数据加密和解密,称为加密密钥对;另一对密钥用于数字签名和验证数字签名,称为签名密钥对。需要CA备份的只是加密密钥对中的解密密钥,用于签名的私钥不能由CA备份,而且要在用户的绝对控制之下,否则,将破坏电子商务安全最基本的防抵赖需求。 (4)撤销证书 证书到期之前,由于用户的签名私钥泄露等原因,CA系统受理用户或RA的证书撤销请求,把已撤销的证书添加到证书撤销表CRL中。 (5)发布CRL CA向目录系统公布CRL,根据不同的要求,CRL的公布可能是周期性的或实时的。用户客户端软件在验证证书时,要检查CRL,以便确认证书的合法性。 (6)生成CA根证书 CA系统应具有根认证中心密钥生成和备份功能,并支持以自我签名方式生成根证书。 (7)签发证书 CA系统使用自己的签名私钥为用户证书签名,并将签发的证书发布到证书库中。 (8)证书发放 CA系统将已签发的证书发放给用户,次项功能在技术上可以不提供,PKI可以要求用户在证书发布后,从证书库中获得。 (9)交叉认证 属于不同CA的用户之间,当他们要检查对方证书的合法性时,需要交叉认证,交叉认证扩展了第三方认证的范围。 4. 证书库 证书库存放了经CA签发的证书和已撤销证书的列表,网上交易的用户可以使用应用程序,从证书库中得到交易对象的证书、验证其证书的真伪、或查询其证书的状态。证书库通过目录技术实现网络服务,LDAP(Lightweight Directory Access Protocol)定义了标准的协议来存取目录系统。支持LDAP协议的目录系统能够支持大量的用户同时访问,对检索请求有较好的响应能力,能够被分布在整个网络上,以满足大规模和分布式组织的要求。 证书库的功能如下: (1) 存储证书 证书库应提供存储证书的目录系统。 (2) 提供证书 根据证书信任方的请求,证书库应能提供所需证书的副本。目前,众多PKI厂商均支持LDAP协议,提供证书查询。 (3) 确认证书状态 如果证书信任方已经获得某人的证书,仅需要查询证书的合法性时,证书库应能提供简单的状态标记信息,而不是整个证书副本,目的是为了提高查询效率。此项功能的标准协议是OCSP(Online Certificate Status Protocol)。 5. 证书信任方 PKI为证书信任方提供了检查证书申请者身份以及与证书申请者进行安全数据交换的功能。在电子商务应用中,用户通常同时扮演证书申请者和证书信任方的双重角色。 证书信任方的功能如下: (1) 接收证书 证书信任方应用软件提供接收来自证书申请者证书的功能。证书申请者发送证书有两个目的:其一,是为了证明自己的身份;其二,是为了让证书信任方使用其公钥进行数据加密。大多数基于证书的协议(例如:SET、SSL、S/MIME)均支持证书申请者与证书信任方的证书交换功能。 (2) 证书请求 为了获得证书申请者的证书,证书信任方向证书库发出证书请求。 (3) 核实证书 证书信任方通过实时通信协议(OCSP)从证书库或CA查询证书撤销表CRL,确认证书的合法性。 (4) 检查身份和数字签名 PKI应用软件向证书信任方提供检查证书申请者身份和数字签名的功能。 (5) 数据加密 根据证书的用途和证书信任方的目的,应用软件使用证书申请者的公钥对数据进行加密,完成安全的数据交换。 建立电子商务安全平台: 五、PKI建设的基本原则 一个PKI系统是否满足电子商务对信息安全的需求,衡量的标准是,PKI系统能够支持身份鉴别、数据的机密性、数据的完整性和不可抵赖性。在PKI建设中应遵循如下原则: 1.开放性 PKI的开放性表现在互操作能力方面,PKI产品应支持相关的国际标准,支持多种平台和应用,支持多种证书类型以及支持多种证书发行和管理协议,满足交叉认证和不同PKI产品的系统集成要求。 2.可扩展性 在系统使用初期,用户数和交易量往往较小,支付手段也比较单一,随着电子商务应用的深入,要求PKI具有良好的扩展性。第一,PKI系统在体系结构上应具有可伸缩性,以适应扩大业务范围和增加多种应用的需要,特别是系统硬件和软件应采用模块化的可扩展结构,能够灵活配置,用于存放证书的的目录系统应具有分布式的系统功能和可扩展性。第二,所发行的证书应能够满足不同的业务需求(B TO B,B TO C),适用于多种支付手段。 3.安全性 其内容包括:系统安全、数据安全和通信安全。CA是PKI系统最重要的部分,CA要防止来自系统内部和来自系统外部的威胁,保证系统不崩溃,防止信息窃取,要有足够的能力防止黑客的攻击。CA系统要采用安全性较高的操作系统,数据库管理系统和网络安全产品,CA数据库的敏感信息,例如用户加密密钥,均要进行加密存放和提供完整性保护,严格保护和控制CA签名密钥,要建立严格的安全防范机制。 4.易操作性 为了让用户能在电子商务应用中,充分利用PKI的功能,PKI系统必须是容易操作的和透明的,即用户不需要了解PKI是如何管理密钥和数字证书,通过应用程序提供的简单图标和对话框,就能实现数据加密和数字签名等服务。
|
信息化软件应用目录 OA 办公自动化系统
CRM 客户关系管理系统
PM 项目管理系统
SCM 供应链管理系统
CC 协同商务系统
BPM 业务流程管理
BI 商务智能
CMS 内容管理系统
KM/KBS 知识管理系统
电子商务系统
HRM 人力资源管理系统
ERP 企业资源计划
EAM 企业资产管理系统
|