数字签名技术简介 陈丽 2001年 7期 电子商务的发展正从专有的、封闭的网络走向公用的、开放的Internet。但是,随着计算机技术、网络技术以及其它高科技技术的发展,使得社会生活中传统的犯罪和不道德行为更加隐蔽和难以控制。人们从面对面的交易和作业,变成网上互不见面的操作、没有国界、没有时间限制,就产生了更大的安全隐患。在电子商务的发展热潮中,电子商务的安全性已成为制约电子商务发展的重要瓶颈。如何保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性,现在大多采用数字签名、签名认证的方式加以解决。   本文要给大家介绍一下数字签名技术在电子商务中应用的两种主要方式:SSL(Secure Sockets Layer,安全链路层)协议和SET(Secure Electronic Transaction,安全电子交易)协议。为了使大家更好地理解,在介绍这两个协议前我先要给大家介绍一下数字签名技术的基础──非对称密码算法。   以往的数据加密通常都使用对称密钥。即加密和解密都使用同一密钥。例如:将“I am a boy”按英文字母表顺序循环后移10位加密就变成“S kw k lyi”,收到密文的人只要按相同的方法逆推就能够得到原文,因此这样的密钥安全性较低。后来人们为了更安全地传送数据,发明了一种非对称密钥算法,这种算法每次会生成一对密钥,分别称为公钥和私钥。每一对公钥和私钥具有以下的特点:   (1)这两个密钥完全不相同且不能相互推导。   (2)用私钥加密的数据只有用对应的公钥才能解开。   (3)用公钥加密的数据只有用对应的私钥才能解开。   公钥是可以在网络上公开或被他人知道的,所以称为“公钥”,私钥是只有用户私人持有且无法读出(包括用户自己),所以称为“私钥”。   这个技术解决了电子商务中的安全瓶颈,并在这个技术上面,人们制定了SSL协议和SET协议。SSL协议又称为“端对端协议”,SET协议又称为“三方协议”。接下来,我就以网上购物为例,给大家介绍这两个协议。在这个例子中,会出现三个“端”:用户、网站、银行。对应的就有用户公钥、用户私钥;网站公钥、网站私钥;银行公钥、银行私钥。   第一种比较简单的方式是“端对端”方式,即使用SSL协议,适用于“货到付款”方式。用户通过Internet在一个网站购物,当完成购物清单后得到清单原文,用户先用网站公钥对清单原文加密生成清单密文,再对清单密文进行数字签名(即用户私钥加密),完成后将整个数据包通过Internet传送给网站。网站在收到数据包后对数据包进行签名认证(即用用户公钥对数据包解密),得到清单密文后再用网站私钥对其解密得到清单原文。这样交易有两个特点:   1.保证了交易安全。即便网络黑客截获数据包,并知道是哪一个用户发送的数据,用用户公钥对其解密,得到的也只是清单密文,由于没有网站私钥,所以也无法得到清单原文;同样,由于没有用户私钥,即使网络黑客对清单密文进行修改,再加密送给网站,该数据包也无法通过签名认证。   2.保证了交易的不可抵赖性。只要签名认证通过,即等同于用户对此购物清单作了手工签名,因为只有用户拥有对应私钥。   第二种方式比较复杂,适用于“银行转账”方式,因为有了银行的介入,所以此方式可以称为“三端方式”,使用SET协议。用户通过Internet在一个网站购物,当完成购物清单后,用户用网站公钥对清单原文加密生成清单密文;然后用户再填写自己的银行账号和密码生成用户账号原文,再用银行公钥对账号原文加密生成用户账号密文。用户最后将清单密文和用户账号密文合并在一起签名后通过Internet传送给网站。网站在收到数据包后对数据包进行签名认证,得到清单密文和用户账号密文后用网站私钥对清单密文解密得到清单原文,将清单款项统计,将网站账号和用户需付金额合并生成网站申请原文,用银行公钥加密后得到网站申请密文。网站最后将网站申请密文和用户账号密文合并在一起签名(用网站私钥)后,通过Internet传送给银行,银行在收到数据包后对数据包先进行签名认证(用网站公钥),得到网站申请密文和用户账号密文后用银行私钥对其解密得到相应原文。这样交易除具有一种方式的两个特点以外还具有两个特点:   1.网站无法得知用户的银行账号和密码。   2.银行不通过网站也无法得到用户账号密文。   以上两种方式已基本解决电子商务中各种情况的安全交易要求,即便有“四方”、“五方”交易也可以按SET协议类推完成。在国外该技术已开始应用,我国电子商务起步较晚,但发展迅速,现在也有了自主版权的该类技术和产品,有兴趣的读者可以访问www.watchdata.com.cn网站。