数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构--CA机构,又称为证书授权(Certificate Authority)中心发行的,CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。CA也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证CA的签字从而信任CA,任何人都可以得到CA的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,为之签字后便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循 ITUT X.509国际标准。
一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
签名的目的和验证
在现实生活中,签名的目的归纳起来有以下几个方面:
验证签名者身份
表明签名者确认被签名文件的内容
确保已签名文件的内容不被篡改
防止签名者的抵赖行为
若要在电子文档上实现签名,可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名,方法如下: 信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。
在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数) 生成的。对这些HASH函数的特殊要求是: 接受的输入报文数据没有长度限制; 对任何输入报文数据生成固定长度的摘要(数字指纹)输出;
从报文能方便地算出摘要; 难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要; 难以生成两个不同的报文具有相同的摘要。
收方在收到信息后按如下步骤验证签名:
使用自己的私钥将信息转为明文;
使用发信方的公钥从数字签名部分得到原摘要;
收方对您所发送的源信息进行hash运算,也产生一个摘要;
收方比较两个摘要,如果两者相同,则可以证明信息签名者的身份;如果两摘要内容不符,则可能对摘要进行签名所用的私钥不是签名者的私钥,这就表明信息的签名者不可信;也可能收到的信息根本就不是签名者发送的信息,信息在传输过程中已经遭到破坏或篡改。
签名的原理
公钥体系(即公开密钥密码体制)是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性,但这仅仅是当今密码学主题的一个方面;对信息发送人与接收人真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性正是现代密码学主题的另一个方面。公开密钥密码体制对这两方面的问题都给出了出色的回答,并继续产生许多新的思想和方案。
与公开密钥密码体制相对应的是传统密码体制,又称对称密钥密码体制。在对称密钥密码体制中,用于加密的密钥与用于解密的密钥完全相同。在对称密钥密码体制中,通常使用的加密算法比较简便、高效,密钥简短,破译极其困难。但是传送和保管密钥是一个严峻的问题。
一种密钥交换协议允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥。在这一新思想的基础上,很快出现了非对称密钥密码体制,即公钥密码体制。在公钥体制中,加密密钥不同于解密密钥,将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。它们分别称为PK公开密钥 (Public key) 和SK秘密密钥 (Secret key)。
迄今为止的所有公钥密码体系中,RSA系统是使用最广泛的一种。RSA公开密钥密码系统是由R. Rivest、A. Shamir和L. Adleman三位教授于1977年提出的。RSA的取名就是来自于这三位发明者的姓氏的第一个字母。
为什么要用数字证书
基于Internet网的电子商务系统技术使在网上购物的顾客能够极其方便轻松地获 得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须对于在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而因特网(Internet)电子商务 系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份 的确定性。
信息的保密性:交易中的商务信息均有保密的要求。如信用卡的帐号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。因此在电子商务的信息传播中一般均有加密的要求。
交易者身份的确定性:网上交易的双方很可能素昧平生,相隔千里。要使交易成功首先要能确认对方的 身份,对商家要考虑客户端不能是骗子,而客户也会担心网上的商店不是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展 服务的银行、信用卡公司和销售商店,为了做到安全、保密、可靠地开展服务活动, 都要进行身份认证的工作。对有关的销售商店来说,他们对顾客所用的信用卡的号码是不知道的,商店只能把信用卡的确认工作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别方法,确认顾客的身份是否合法,同时还要防止发生拒付款 问题以及确认订货和订货收据信息等。
不可否认性:由于商情的千变万化,交易一旦达成是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认 受到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的各个环节都必须是不可否认的。
不可修改性:交易的文件是不可被修改的,如上例所举的订购黄金。供货单位在收到订单后, 发现金价大幅上涨了,如其能改动文件内容,将订购数1吨改为1克,则可大幅受益, 那么订货单位可能就会因此而蒙受损失。因此电子交易文件也要能做到不可修改,以保障交易的严肃和公正。
人们在感叹电子商务的巨大潜力的同时,不得不冷静地思考,在人与人互不见面的计算机互联网上进行交易和作业时,怎么才能保证交易的公正性和安全性,保证交易双方身份的真实性。国际上已经有比较成熟的安全解决方案, 那就是建立安全证书体系结构。数字安全证书提供了一种在网上验证身份的方式。安全证书体制主要采用了公开密钥体制,其它还包括对称密钥加密、数字签名、数字信封等技术。
我们可以使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。
数字签名具体做法是:
将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名。
接收方收到数字签名后,用同样的HASH算法对报文计算摘要值,然后与用发送者的公开密钥进行解密解开的报文摘要值相比较。如相等则说明报文确实来自所称的发送者。
证书与证书授权中心
CA机构作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。
由此可见,建设证书授权(CA)中心,是开拓和规范电子商务市场必不可少的一步。为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构,负责向电子商务的各个主体颁发并管理符合国内、国际安全电子 交易协议标准的电子商务安全证书。