因特网的飞速发展,带动了传统甚至新兴行业的不断更新,因特网上的电子商务已经是一个众所周知的名词。EDI(电子数据交换)作为电子商务的一部分,也逐渐从基于增值网的模式(VAN EDI)发展到了因特网上。VAN EDI的核心是EDI中心,通常由一台功能较强的计算机充当中心机,完成大部分复杂的EDI功能。一个EDI中心可通过网络与其他的EDI中心互联。EDIVAN 支持大量的通信协议,速率较低,费用较高。EDIVAN 最重要的一点是充当了一个可信的第3 方,保证通过VAN 的EDI交换不受安全威胁。EDIVAN 确保EDI交换的完整性,对贸易伙伴进行鉴别,并提供若干确认信息,用于跟踪在VAN 上传输的EDI交换。EDI的完整性确保EDI交换从发送方到接收方的传送过程中没有经过任何修改;对贸易伙伴的鉴别保证只有经过确认的贸易伙伴才能提供发送和接收服务。贸易伙伴使用各自合法的标识(ID)和口令字登录到系统,系统对其进行检查并验证其有效性。VAN 还提供不同级别的服务,以便让用户跟踪其EDI交换过程。因特网为EDI技术的应用提供了一个通信基础,与基于VAN 的EDI系统相比,在因特网从事EDI活动有很多好处,其中廉价、便捷以及可缩放性是其主要的优点,因而利用因特网实现EDI一开始就受到中小型用户的欢迎。但由于因特网的开放性,以及没有提供任何安全保证,也带来了一个十分重要的问题:如何确保在其上传输EDI报文的安全性。一般说来,系统的开放程度越高,安全问题就越突出。因此运行于因特网上的EDI系统的安全性便成为衡量该系统是否可行的一个重要因素。
1 因特网EDI安全概述
VAN EDI基于EDI交换中心,提供了封闭、安全的系统,其可靠性高。因特网EDI的解决方案则基于开放、廉价和高适应性的系统,没有交换中心的概念,因此所有由VAN EDI交换中心完成的工作必须由贸易伙伴的端系统承担。端系统不仅要完成对用户EDI单证的处理,更重要的是要解决EDI报文在因特网上的传输安全问题。由于EDI交换涉及到贸易双方的经济利益,而且利用因特网从事EDI的用户地理位置上分布更为广泛,贸易双方之间的制约因素很少甚至没有,所以实现因特网EDI,一是要解决安全性问题,二是要选择与安全策略相配套的传输协议。
1.1 安全问题
1.1.1 有效性
EDI作为贸易的一种形式,其信息的有效性将直接关系到个人、企业或国家的经济利益和声誉。
因此,针对因特网的开放性的特点,要考虑对网络故障、操作错误、应用程序错误、硬件故障、系统软件错误及计算机病毒所产生的潜在威胁并加以控制和预防,以保证贸易数据在确定的时刻、确定的地点是有效的。
1.1.2 机密性
EDI作为贸易的一种手段,其信息直接代表着个人、企业或国家的商业机密。传统的纸面贸易都是通过邮寄封装的信件或通过可靠的通信渠道发送商业报文来达到保守机密的目的。建立在因特网开放的网络环境上的EDI,尤其要预防非法的信息存取和信息在传输过程中被非法窃取。维护商业机密是EDI全面推广应用的重要保障。
1.1.3 完整性
EDI简化了贸易过程,减少了人为的干预,同时也带来维护贸易各方商业信息的完整、统一的问题。由于数据输入时的意外差错或欺诈行为,可能导致贸易各方信息的差异。此外,数据传输过程中信息的丢失、信息重复或信息传送的次序差异也会导致贸易各方信息的不同。贸易各方信息的完整性将影响到贸易各方的交易和经营策略,保持贸易各方信息的完整性是EDI应用的基础。因此,要预防对信息的随意生成、修改和删除,同时要防止数据传送过程中信息的丢失和重复并保证信息传送次序的统一,这一点在利用因特网作为传输媒体时更为重要。
1.1.4 可靠性/ 无否认性/ 认证
EDI可能直接关系到贸易双方的商业交易,如何确定要进行交易的贸易方正是进行交易所期望的贸易方,这一问题则是保证EDI顺利进行的关键。在传统的纸面贸易中,贸易双方通过在交易合同、契约或贸易单据等书面文件上手写签名或印章来鉴别贸易伙伴,确定合同、契约、单据的可靠性并预防抵赖行为的发生,这也就是人们常说的“白纸黑字”。在基于因特网的EDI方式下,通过手写签名和印章进行贸易方的鉴别已是不可能的。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识。
1.1.5 审计能力
根据机密性和完整性的要求,应对数据审计的结果进行记录,以便为以后贸易双方可能的纷争提供有效的法律依据。
1.2 安全算法选择
安全性的实现需要具体的安全算法来实现。根据因特网的特点,在因特网中实现EDI的安全性,需要考虑下列因素:
1)算法的安全性。根据EDI系统的安全级别要求,所选的算法是否可以满足当前和今后一段时期的要求。安全算法应该没有陷门,算法的安全性只由密钥长度决定。一般选用国际上公开的安全算法,最好自行设计。
2)算法实现的速度。速度是效率的前提,应该保证算法软件实现的简洁和高效。
3)算法在国际、国内的通用性。通用算法通常是被证明没有陷门和高效的
。
4)是否具有支持此算法的API 接口和工具。
5)在已有的系统中,该算法使用的频度。
1.2.1 加密
常见的密码算法体制分为对称密码算法体制和非对称密码算法体制。对称加密方式的算法主要有:DES,3DES,RC2,RC5 和IDEA 等,其中IDEA(international data encryption aIgorithm)算法在形式上与DES 类似,但使用l28 位的密钥,强度高于DES。加密和解密密钥都可从同一个主密钥派生出来。IDEA 的设计倾向于软件实现。到目前为止,从公开发表的文献看,对IDEA 尚未找到破译方法。公开密钥加密算法主要为RSA 算法。该算法已经成为事实上的公开密钥密码算法标准,得到了广泛使用。
1.2.2 密钥管理
密钥管理是加密技术的重要一环,密钥管理的重点是确保密钥的安全性(真实性和有效性)。长实效的对称加密是基于共同保守秘密来实现的,但实用中常通过公开密钥加密技术来简化对称密钥的管理,同时也可解决纯对称密钥模式中存在的可靠性和鉴别问题。贸易方可以为每次交换的信息(如每次的EDI交换)生成一次性的会话密钥。
公开密钥密码体制密钥管理主要解决2 个问题:秘密密钥的保护和公开密钥及其所有者身份的确认。
秘密密钥由用户内部所采取的安全策略加以保护,一般用口令或存取权限等访问控制策略进行保护。其安全性依赖于操作系统的安全性以及实际系统的管理和维护。
公开密钥及其所有者身份的确认,目前一般根据X.509建议,由贸易双方信赖的签证机构(certification authorities,CA)来完成。CA 为每一个用户颁发其签发的数字证书(certificate)。数字证书通常包含有惟一标识证书所有者(即贸易方)的名称、惟一标识证书发布者的名称、证书所有者的公开密钥、证书发布者的数字签名、证书的有效期及证书的序列号等。数字证书能够起到标识贸易方的作用,是目前电子商务广泛采用的技术之一。
1.2.3 报文内容完整性
报文内容完整性检查(MIC)用以确保报文内容的完整性,报文完整性检查通过给发送的报文附加一个报文完整性检查值(亦称为MIC)来实现。通常该完整性检查值可通过对报文进行摘录或散列得到。对报文进行摘录或散列的算法叫做单向散列函数。从单向散列函数得到的报文完整性检查值一般为112~160 bit,该完整性检查值(MIC)位数越多,则该算法越安全。SHA-1(安全散列算法)是美国国家安全局开发的单向散列函数,其散列值长为160 bit,使用穷尽法攻击是不可行的。MD5(文摘算法),是另一个单向散列函数,其散列值长为128bit,目前在因特网电子邮件系统安全服务中有着广泛应用。
1.2.4 数字签名
数字签名技术广泛应用于EDI应用系统中的源鉴别和发方不可否认服务中,收方不可否认服务也需结合数字签名技术予以实现。数字签名的基础是密码技术,目前较多使用公开密钥密码体制实现数字签名。用于数字签名的公开密钥密码算法一般选用RSA 算法。
1.2.5 序列号
序列号可用来向收方提供检测报文丢失或重放攻击的手段。报文序列号本身必须应用数字签名或内容完整性检查技术进行保护。有时也可用时间戳(timestamp)代替序列号,只是时间戳本身不能用以识别报文的丢失,而且要对发方和收方进行时间同步校验,以确保时间戳的有效性。
1.2.6 签收或收方无否认
签名收据是由贸易双方中的收方发给发送方的确认信息。在实施因特网EDI时,签收用来实现如下目的:提供报文投递通知;提供报文拾取通知;提供报文认证功能;可检测出EDI交换在何处被有意删除或没有被传输系统所投递。
发送方收到签名收据,即意味着本次报文已成功投递,同时也明确地确认了这个交换已被取走——拾取通知。通过收方签收的收据,可以证实真正的接收者已收到了EDI交换,并且真正的接收者已验证了本次交换的完整性和发送方的身份。通过在签名收据中返回源报文的标识和收到内容的一次性Hash 值(信息摘录),发送者可确认其与发送内容的一致性。
1.3 因特网传输协议选择
因特网为信息传输提供了众多的方式,这些方式配上相应的安全措施可用于传输各种信息,甚至一些重要的敏感的信息。因特网EDI的实现基于应用层,EDI报文通常包含非文本信息,所以可采用IETF(因特网工程任务组)制定的一系列Internet/MIME(多用途Internet 邮件扩展)协议。这些Internet /MIME 系列标准,对标准的电子邮件报文头域进行了扩展,并扩充了电子邮件可以携带的信息类型(报文类型),还向用户提供作进一步扩充的方法。在这个MIME V1.0 版中,定义了7 种报文类型,同时对每一“报文类型”又定义了“子类型”,并规定在头域中采用“类型/ 子类型”格式予以表示。“类型”用来说明报文体的一般类型,“子类型”则说明这种类型的报文采用的具体格式。接收方在接收到采用“类型/ 子类型”说明的报文时,应调用相应的解释程序对报文体进行处理。
为了支持EDI单证的封装,IETF 提出了RFC1767,在Application 类型中扩充定义了3 种新的子类型:application/EDIFACT,application/EDI-X12 和application/EDI-consent,分别表示报文体部封装的EDI单证符合EDIFACT,ANSI X12 或者EDI用户双方共同商定的标准。封装了EDI单证的Internet/MIME 邮件称为Internet/MIME EDI报文。RFC1767规定。1 份Internet/MIME EDI报文中只能封装1 个EDI交换(interchange),1 个EDI交换中至少含有1个EDI单证。当采用EDIFACT 标准时,1 个EDI交换用交换头UNB 和交换尾UNZ 限定。用Internet/MIME 电子邮件封装EDI交换时,并不改变其语法和语义,只是负责EDI交换的传输。
1.4 因特网EDI安全协议
要实现因特网EDI报文的安全传输,可利用因特网现有的标准,如Internet/MIME 安全框架、Internet/MIME 安全协议(如S/MIME或PGP/MIME)来实现。
Internet/MIME 安全框架定义了实施安全处理后的Internet/MIME 的报文结构,并在MIME Muitipart类型中增加了2 种新的安全子类型signed 和encrypted。子类型signed 表示对Internet//MIME 报文实施数字签名技术,提供鉴别、完整性检查和发方不可否认等安全服务。子类型encryptd 表示对Internet//MIME 报文实施加密技术,提供密文传输服务。根据安全框架的定义,这2 种安全子类型报文都由2 个体部组成,一个体部存放被保护的数据,另一个体部提供控制信息,包括使用的安全算法、完整性检查信息和证书等,用于收方对实施了保护的Internet//MIME 报文进行处理(如解密等)。
因特网/MIME 安全协议S/MIME 和PGP/MIME 均建立在Internet//MIME 安全框架之上,但两者在格式上有很大差异。
值得一提的是S/MIME 不是IETF 的标准。它使用RSA 进行密钥交换,使用弱密码系统(40 位密钥)。目前,S/MIME v3 正在制定之中,并有望成为IETF 的标准。
PGP/MIME 使用RSA 进行密钥交换,并利用IDEA 进行加密,这2 个算法原先均受到专利保护,因而限制了PGP/MIME 成为IETF 标准。为此,IETF OpenPGP 工作组重新制定了OpenPGP 协议,并力争成为IETF 标准。S/MIME 和PGP/MIME 的比较如表1 所示。
表1 S/MIME和PGP/MIME实现比较
2 安全性的实现
2.1 PGP/MIME 安全协议及其工作方式
作为江苏省“九五”科技攻关项目之一的“基于因特网的EDI系统研究”,在经过充分论证的基础上,作者在实现其原型系统时选用了PGP/MIME 安全协议。在实现PGP 算法时,参考了PGP 国际版5.5.3i 的源代码,并在此基础上添加了封装和拆封模块和邮件传输模块。PGP5.5.3i 中使用的安全算法主要有:DSS,RSA,IDEA,SHA-1 和MD5,PEM(privacy enhancement for internet eiectronic maii)。PGP 实现了DSS 和RSA 密钥对的自动生成,并可对外公布公开密钥。PGP 还提供了数据压缩功能,使用的压缩算法是ZIP。为适合邮件传输,PGP 还允许用户对信息进行7 bit 封装,使用的算法是PEM。
2.2 PGP/MIME 的总体结构和主要模块
PGP/MIME 的总体结构如图1 所示。
图1 PGP/MIME功能模块
2.3 密钥管理与认证
2.3.1 私有密钥管理
私有密钥具有难以记忆的特点,为此本系统采用下述方法:将用户的私有密钥保存在特定的文件中,保密的办法是由用户为随机生成的RSA 私有密钥指定一个口令字(pass phase)。只有通过给出口令才能将私有密钥释放出来使用。
2.3.2 认证
考虑到现实世界中还缺少广泛使用的认证机构;X.509 证书还需要作补充描述;证书的申请、废除、交换和作废证书列表均有待于进一步标准化。
由于在EDI贸易伙伴间已存在一种信任关系,作为一种短期行为,贸易伙伴间可相互认证。相互认证意指将互换公钥和对公钥的认证作为建立贸易伙伴关系的一部分来处理。在实际操作过程中,贸易双方在履行了完备的贸易手续和一定的法律规范约束之下,可以保证交易的合法性和可审计性。
本系统采用了相互认证的方法,具体做法是为每个公钥生成各自的标识(keyID),keyID 是1 个8位16 进制数,2 个密钥具有相同keyID 的可能性是几十亿分之一,而且PGP 还提供了一种更可靠的标识密钥的方法:“密钥指纹”(key's fingERPrint)。每个密钥对应一串数字(16 个8 位16 进制数),这个数字重复的可能就更微乎其微了。而且任何人无法指定生成一个具有某个指纹的密钥,密钥是随机生成的,从指纹也无法反推出密钥来。这样当A 拿到某人的公钥(通过信函或者电子邮件)后就可以和他在电话上核对这个指纹,从而认证他的公钥。如果A 无法和B 通电话,那么他可以煌C 通电话认证B 的公钥,从而通过C 认证了B 的公钥,这就是直接认证和间接介绍的结合。
3 基于PGP/MIME的因特网EDI系统
因特网安全系统实现的整体框架结构如图2所示。用户首先要进行身份鉴别,然后进入系统,此时用户可执行EDI单证生成、标准裁剪、报文翻译等操作。EDI报文生成后,按图2 中的流程进行安全处理,最后生成安全的单证进行传输。
图2 安全传输子系统工作流程(加密过程)
4 结语
因特网EDI的实现的关键就是安全性。作者在分析了EDI报文有可能受到安全威胁的基础上,实现了基于贸易双方相互认证的安全系统,该系统目前已经通过江苏省科委的鉴定。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文网址:http://www.toberp.com/html/consultation/1083955101.html