数字签名技术
Internet的迅猛发展使电子商务成为商务活动的新模式。电子商务包括管理信息系统MIS、电子数据交换EDI、电子订货系统EOS、商业增值网VAN等,其中EDI成为电子商务的核心部分,涉及到多个环节的复杂的人机工程。网络的开放性与共享性也导致了网络的安全性受到严重影响,在开放的Internet平台上,社会生活中传统的犯罪和不道德行为将变得更加隐蔽和难以控制。人们从面对面的交易和作业,变成网上互不见面的操作、没有国界、没有时间限制,就产生了更大的安全隐患。因此,在电子商务的发展热潮中,电子商务的安全性已成为制约电子商务发展的重要瓶颈。
如何保证网上传输的数据的安全和交易对方的身份确认是电子商务是否得到推广的关键,可以说电子商务最关键的问题是安全性问题;而数字签名(Digital Signatures)技术是保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性的一种有效的解决方案,是电子商务安全性的重要部分。
一 、电子商务中数据传输的几个安全性需求
1. 数据的保密性:用于防止非法用户进入系统及合法用户对系统资源的非法使用;通过对一些敏感的数据文件进行加密来保护系统之间的数据交换,防止除接收方之外的第三方截获数据及即使获取文件也无法得到其内容。如在电子交易中,避免遭到黑客的袭击使信用卡信息丢失的问题。
2. 数据的完整性:防止非法用户对进行交换的数据进行无意或恶意的修改、插入,防止交换的数据丢失等。
3. 数据的不可否认性:对数据和信息的来源进行验证,以确保数据由合法的用户发出;防止数据发送方在发出数据后又加以否认;同时防止接收方在收到数据后又否认曾收到过此数据及篡改数据。
上述需求对应于防火墙、加密、数字签名、身份认证等技术,但其关键在于数字签名技术。
二、 数字签名的含义和功能
数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。
在传统的商业系统中,通常都利用书面文件的亲笔签名或印章来规定契约性的责任,在电子商务中,传送的文件是通过电子签名证明当事人身份与数据真实性的.数据加密是保护数据的最基本方法,但也只能防止第三者获得真实数据。电子签名则可以解决否认、伪造、篡改及冒充等问题,具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。
三、数字签名的实现方法
实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security 公司的PKCS( Public Key Cryptography Standards )、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy). 1994年美国标准与技术协会公布了数字签名标准(DSS)而使公钥加密技术广泛应用。&127;公钥加密系统采用的是非对称加密算法。
(一)用非对称加密算法进行数字签名
1、算法的含义
此算法使用两个密钥:公开密钥(public key)和私有密钥(private key),&127;分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。
2 签名和验证过程
(1)发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。
(2)接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。
(3)接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。
这种方法使任何拥有发送方公开密钥的人都可以验证数字签名的正确性。由于发送方私有密钥的保密性,使得接收方既可以根据验证结果来拒收该报文,也能使其无法伪造报文签名及对报文进行修改,原因是数字签名是对整个报文进行的,是一组代表报文特征的定长代码,同一个人对不同的报文将产生不同的数字签名。这就解决了银行通过网络传送一张支票,而接收方可能对支票数额进行改动的问题,也避免了发送方逃避责任的可能性。
(二)用对称加密算法进行数字签名
1 算法的含义
对称加密算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算速度快而广泛应用于对大量数据如文件的加密过程中,如RD4 和DES。
2 签名和验证过程
Lamport发明了称为Lamport-Diffie的对称加密算法:利用一组长度是报文的比特数(n)两倍的密钥A,来产生对签名的验证信息,即随机选择2n个数B,由签名密钥对这2n个数B进行一次加密变换,得到另一组2n个数C。
(1)发送方从报文分组M的第一位开始,依次检查M的第i位,若为0时,取密钥A的第i位,若为1则取密钥A的第i+1位;直至报文全部检查完毕。所选取的n个密钥位形成了最后的签名。
(2)接收方对签名进行验证时,也是首先从第一位开始依次检查报文M,如果M的第i位为0时,它就认为签名中的第I组信息是密钥A的第i位,若为1则为密钥A的第i+1位;直至报文全部验证完毕后,就得到了n个密钥,由于接收方具有发送方的验证信息C,所以可以利用得到的n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
这种方法由于它是逐位进行签名的,只要有一位被改动过,接收方就得不到正确的数字签名,因此其安全性较好,其缺点是:签名太长(对报文先进行压缩再签名,可以减少签名的长度。);签名密钥及相应的验证信息不能重复使用,否则极不安全。
(三)几个认证产品
认证产品可分两大类:一是用户认证,主要是通过单独签名访问网络资源;二是对象认证,即判定传递信息和文件的认证及其真实性。数字签名技术就主要用于信息、文件以及其他存储在网上的传输对象的认证。AT&T Government Market的Secret Agent 便通过将数字签发的文档作为E-mail消息的文件附件来发表的形式,将现有客户机运行的环境 E-mail系统 、Web浏览器等应用密切地结合在一起;Regnoc Software 的Signature 使用OLE 2.0可对Windows 下的任何文本作数字签名;ViaCrypt 的ViaCrypt PGP可从传递信息的应用中切割文本至Windows 或Macintosh裁剪板,在那里对它进行数字签名后将它粘贴到传递信息中,其面对电子商务的一个功能是,无论雇员发送或接收的所有密文都能破译,可设置成在公司密钥下去自动破译所有外发信息,且要求雇员须使用职权范围允许的解密密钥。
四 数字签名的算法及数字签名的保密性
数字签名的算法很多,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。
1.Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。很多少量现金付款系统,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash签名。使用较快的算法,可以降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。
2.DSS和RSA签名
DSS和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库,早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
数字签名的保密性很大程度上依赖于公开密钥。数字认证是基于安全标准、协议和密码技术的电子证书,用以确立一个人或服务器的身份,它把一对用于信息加密和签名的电子密钥捆绑在一起,保证了这对密钥真正属于指定的个人和机构。数字认证由验证机构CA进行电子化发布或撤消公钥验证,信息接收方可以从CA Web站点上下载发送方的验证信息。Verisign是第一家X.509公开密钥的商业化发布机构,在它的Digital ID 下可以生成、管理应用于其它厂商的数字签名的公开密钥验证。
五 数字签名的发展前景展望
生成和验证数字签名的工具需要完善,只有广泛使用SSL(安全套接层)建立安全链接的Web浏览器,才可能频繁用到数字签名技术。比如一个公司要对其雇员在网络上的行为进行规范,就要建立广泛协作机制来支持数字签名的实现。支持数字签名是Web发展的目标,确保数据保密性、数据完整性和不可否认性才能保证在线商业的安全交易。
和数字签名有关的复杂认证能力就像现在操作、应用环境中的口令保护一样直接做进操作系统环境、应用、远程访问产品、信息传递系统及Internet防火墙中,像Netscape 支持X.509标准的Communicator 4.0 Web客户机软件;Microsoft支持X.509的Internet Explorer 4.0客户机软件及支持对象签名检查的Java虚拟机等。
安全问题是阻碍电子商务广泛应用的最大问题,改进数字签名在内的安全技术措施、确定CA认证权的归属问题是解决电子商务安全问题的关键。
Internet的迅猛发展使电子商务成为商务活动的新模式。电子商务包括管理信息系统MIS、电子数据交换EDI、电子订货系统EOS、商业增值网VAN等,其中EDI成为电子商务的核心部分,涉及到多个环节的复杂的人机工程。网络的开放性与共享性也导致了网络的安全性受到严重影响,在开放的Internet平台上,社会生活中传统的犯罪和不道德行为将变得更加隐蔽和难以控制。人们从面对面的交易和作业,变成网上互不见面的操作、没有国界、没有时间限制,就产生了更大的安全隐患。因此,在电子商务的发展热潮中,电子商务的安全性已成为制约电子商务发展的重要瓶颈。
如何保证网上传输的数据的安全和交易对方的身份确认是电子商务是否得到推广的关键,可以说电子商务最关键的问题是安全性问题;而数字签名(Digital Signatures)技术是保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性的一种有效的解决方案,是电子商务安全性的重要部分。
一 、电子商务中数据传输的几个安全性需求
1. 数据的保密性:用于防止非法用户进入系统及合法用户对系统资源的非法使用;通过对一些敏感的数据文件进行加密来保护系统之间的数据交换,防止除接收方之外的第三方截获数据及即使获取文件也无法得到其内容。如在电子交易中,避免遭到黑客的袭击使信用卡信息丢失的问题。
2. 数据的完整性:防止非法用户对进行交换的数据进行无意或恶意的修改、插入,防止交换的数据丢失等。
3. 数据的不可否认性:对数据和信息的来源进行验证,以确保数据由合法的用户发出;防止数据发送方在发出数据后又加以否认;同时防止接收方在收到数据后又否认曾收到过此数据及篡改数据。
上述需求对应于防火墙、加密、数字签名、身份认证等技术,但其关键在于数字签名技术。
二、 数字签名的含义和功能
数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。
在传统的商业系统中,通常都利用书面文件的亲笔签名或印章来规定契约性的责任,在电子商务中,传送的文件是通过电子签名证明当事人身份与数据真实性的.数据加密是保护数据的最基本方法,但也只能防止第三者获得真实数据。电子签名则可以解决否认、伪造、篡改及冒充等问题,具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。
三、数字签名的实现方法
实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security 公司的PKCS( Public Key Cryptography Standards )、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy). 1994年美国标准与技术协会公布了数字签名标准(DSS)而使公钥加密技术广泛应用。&127;公钥加密系统采用的是非对称加密算法。
(一)用非对称加密算法进行数字签名
1、算法的含义
此算法使用两个密钥:公开密钥(public key)和私有密钥(private key),&127;分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。
2 签名和验证过程
(1)发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。
(2)接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。
(3)接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。
这种方法使任何拥有发送方公开密钥的人都可以验证数字签名的正确性。由于发送方私有密钥的保密性,使得接收方既可以根据验证结果来拒收该报文,也能使其无法伪造报文签名及对报文进行修改,原因是数字签名是对整个报文进行的,是一组代表报文特征的定长代码,同一个人对不同的报文将产生不同的数字签名。这就解决了银行通过网络传送一张支票,而接收方可能对支票数额进行改动的问题,也避免了发送方逃避责任的可能性。
(二)用对称加密算法进行数字签名
1 算法的含义
对称加密算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算速度快而广泛应用于对大量数据如文件的加密过程中,如RD4 和DES。
2 签名和验证过程
Lamport发明了称为Lamport-Diffie的对称加密算法:利用一组长度是报文的比特数(n)两倍的密钥A,来产生对签名的验证信息,即随机选择2n个数B,由签名密钥对这2n个数B进行一次加密变换,得到另一组2n个数C。
(1)发送方从报文分组M的第一位开始,依次检查M的第i位,若为0时,取密钥A的第i位,若为1则取密钥A的第i+1位;直至报文全部检查完毕。所选取的n个密钥位形成了最后的签名。
(2)接收方对签名进行验证时,也是首先从第一位开始依次检查报文M,如果M的第i位为0时,它就认为签名中的第I组信息是密钥A的第i位,若为1则为密钥A的第i+1位;直至报文全部验证完毕后,就得到了n个密钥,由于接收方具有发送方的验证信息C,所以可以利用得到的n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
这种方法由于它是逐位进行签名的,只要有一位被改动过,接收方就得不到正确的数字签名,因此其安全性较好,其缺点是:签名太长(对报文先进行压缩再签名,可以减少签名的长度。);签名密钥及相应的验证信息不能重复使用,否则极不安全。
(三)几个认证产品
认证产品可分两大类:一是用户认证,主要是通过单独签名访问网络资源;二是对象认证,即判定传递信息和文件的认证及其真实性。数字签名技术就主要用于信息、文件以及其他存储在网上的传输对象的认证。AT&T Government Market的Secret Agent 便通过将数字签发的文档作为E-mail消息的文件附件来发表的形式,将现有客户机运行的环境 E-mail系统 、Web浏览器等应用密切地结合在一起;Regnoc Software 的Signature 使用OLE 2.0可对Windows 下的任何文本作数字签名;ViaCrypt 的ViaCrypt PGP可从传递信息的应用中切割文本至Windows 或Macintosh裁剪板,在那里对它进行数字签名后将它粘贴到传递信息中,其面对电子商务的一个功能是,无论雇员发送或接收的所有密文都能破译,可设置成在公司密钥下去自动破译所有外发信息,且要求雇员须使用职权范围允许的解密密钥。
四 数字签名的算法及数字签名的保密性
数字签名的算法很多,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。
1.Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。很多少量现金付款系统,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash签名。使用较快的算法,可以降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。
2.DSS和RSA签名
DSS和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库,早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
数字签名的保密性很大程度上依赖于公开密钥。数字认证是基于安全标准、协议和密码技术的电子证书,用以确立一个人或服务器的身份,它把一对用于信息加密和签名的电子密钥捆绑在一起,保证了这对密钥真正属于指定的个人和机构。数字认证由验证机构CA进行电子化发布或撤消公钥验证,信息接收方可以从CA Web站点上下载发送方的验证信息。Verisign是第一家X.509公开密钥的商业化发布机构,在它的Digital ID 下可以生成、管理应用于其它厂商的数字签名的公开密钥验证。
五 数字签名的发展前景展望
生成和验证数字签名的工具需要完善,只有广泛使用SSL(安全套接层)建立安全链接的Web浏览器,才可能频繁用到数字签名技术。比如一个公司要对其雇员在网络上的行为进行规范,就要建立广泛协作机制来支持数字签名的实现。支持数字签名是Web发展的目标,确保数据保密性、数据完整性和不可否认性才能保证在线商业的安全交易。
和数字签名有关的复杂认证能力就像现在操作、应用环境中的口令保护一样直接做进操作系统环境、应用、远程访问产品、信息传递系统及Internet防火墙中,像Netscape 支持X.509标准的Communicator 4.0 Web客户机软件;Microsoft支持X.509的Internet Explorer 4.0客户机软件及支持对象签名检查的Java虚拟机等。
安全问题是阻碍电子商务广泛应用的最大问题,改进数字签名在内的安全技术措施、确定CA认证权的归属问题是解决电子商务安全问题的关键。