数字证书与数字签名
数字证书
电子商务安全系统的需求:
- 信息的保密性
- 交易者身份的确定性
- 不可否认性
- 不可修改性
目前,国际上使用建立数字安全证书体系结构,数字安全证书提供了一种在网上验证身份的方式。
数字证书运用对称和非对称密码体制建立起一套严密的身份认证系统,从而保证信息除发送方和接收方外不被其他人窃取,信息在传输过程中不被篡改,发送方能够通过数字证书来确认接收方身份,发送方对于自己的信息不能抵赖。
什么是数字证书
数字证书是网络通信中标志通信各方身份信息的一系列数据,是各类实体在网上进行信息交流及商务活动的身份证明。在电子交易的各个环节,交易双方都需要验证对方证书的有效性,从而解决信任问题。
数字证书由一个权威机构CA(Certificate Authority,证书认证中心)发行。CA作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任,负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。
证书用途分为签名证书和加密证书。签名证书主要用于对用户信息进行签名,保证信息的不可否认性;加密证书主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。
最简单的数字证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况证书中还包括密钥的有效时间、发证机关(证书认证中心)的名称、该证书的序列号等。
证书格式遵循ITUT X.509国际标准:||证书的版本信息||证书的序列号,每个证书都有一个唯一的序列号||证书所使用的签名算法||证书的发行机构名称,命名一般采用X.500格式||证书的有效期,一般采用UTC时间格式,计时范围1950~2049||证书所有人的名称,一般采用X.500格式||证书所有人的公开密钥||证书发行者对证书的签名
数字证书原理
数字证书采用公钥加密体制,利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私钥,用私钥进行解密和签名;同时设定一把公钥并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地。通过数字的手段保证加密过程是一个不可逆过程,即只有用私钥才能解密。
公开密钥技术解决了密钥发布的管理问题。商户可以公开公钥,而保留私钥。购物者可以用人人皆知的公钥对发送的信息进行加密,安全地传送给商户,然后商户用自己的私钥对信息进行解密。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了其他人无法生成的文件,形成了数字签名。
数字签名
金融和商业等系统中,许多业务都要求文件和单据上加以签名或加盖印章,证实其真实性,以备日后查验。
签名的体现:
- 签名是可信的
- 签名是不可伪造的
- 签名不可重用
- 签名后的文件是不可变的
- 签名是不可抵赖的
利用网络传输数据时采用数字签名需确认两点:||保证信息是由签名者自己签名发送的,签名者不可否认或难以否认||保证信息自签发后到收到为止未曾做过任何修改,签发的文件是真实文件。
Hash函数
单向散列函数又称Hash函数,主要用于消息认证(身份认证)以及数字签名。当前最有名的是MD5(Message Digest Algorithm 5)和美国国家标准和技术协会开发的SHA(Secure Hash Algorithm)
向散列函数输入任意大小的信息,输出的都是固定长度的信息摘要。其中,MD5生成128位信息摘要,SHA生成160位信息摘要。这些摘要可以看做输入信息的数字指纹。
数字签名的原理
用户甲向用户乙传送消息,为保证消息传送的保密性、真实性、完整性和不可否认性,需要对要传送的消息进行数字加密和数字签名。
1.将消息按甲乙双方约定的单向散列函数计算得到一个固定信息摘要。数学上保证,只要改动任何一位,重新计算出的信息摘要就会与原先不同。
2.甲用自己的私钥对信息摘要进行加密,得到自己的数字签名,并将其附在原消息上一起发送给乙。
3.乙收到甲的数字签名后,用同样的单向散列函数再次计算,得到新的摘要信息,然后对甲用公钥解密得到原摘要,进行比较,相等则没有修改。
数字签名和数字加密的区别
数字签名和加密都是用公开密钥体系,但实现过程正好相反,使用密钥对也不同。
数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。
数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用对称加密算法,能保证发送信息的完整性、身份的确定性和信息的不可否认性。而数字加密采用了对称加密算法和非对称加密算法相结合的方法,能保证发送信息的保密性。