1、鲍勃有两把密钥,一把公钥,一把为私钥
2、鲍勃把公钥给了3 个同事:帕特、道格、苏珊
3、鲍勃的公钥需要的人都能获取,但是他将私钥自己保留。这样用一把钥匙加密的数据,用另一把钥匙可以解密。
4、苏珊可以用鲍勃的公钥进行消息加密,而其他的人或许能得到这个加密的消息,但是如果没有鲍勃的私钥,是无法对这个消息进行解密。
5、鲍勃决定用数字签名的方式给帕特写信
6、他先用Hash函数获取到消息的摘要,然后用自己的私钥对这个摘要进行加密,这样就生成了“数字签名”
7、鲍勃将这个签名和信息一起发送给帕特
8、帕特首先用鲍勃给的公钥对签名进行解密,得到消息摘要。如果能用鲍勃的公钥解密,说明这消息是来自鲍勃,因为只有用鲍勃的公钥才能解密鲍勃用私钥加密的消息摘要。
9、然后,帕特用同样的Hash 函数获取鲍勃发送的消息摘要,如果这个摘要跟之前解密签名获取到的摘要相同,那说明这个消息没有被修改过。
10、道格想要欺骗帕特。他偷偷的用鲍勃的名字创建了一个公钥给帕特,然后给道格发消息,道格如何才能知道“鲍勃”(实际是道格)的公钥是真实的呢?
11、正好,苏珊在CA(certificate authority)中心工作,苏珊可以用鲍勃的公钥和鲍勃的相关身份信息创建一个“数字证书”(Digtal certificate)。
12、这样,鲍勃的同事就可以通过该“数字证书”确定“鲍勃”的公钥是否是鲍勃的。
13、如果鲍勃再发信息给帕特,帕特需要用CA的公钥解密“鲍勃”的数字证书,如果成功解密,帕特能够确认鲍勃在CA的信誉以及鲍勃的身份信息是否被修改。
14、帕特也可以通过CA给的公钥对数字证书解密获取“鲍勃”的公钥,并且通过公钥解密签名,如果解密成功,说明信息是通过鲍勃的私钥加密生成的,说明苏珊已经对鲍勃的公钥进行了认证。当然,这样也知道道格没有对信息的内容做改动。
注意:
1、CA机构,又称证书授权(certificate authority)中心
作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。由此可见,建设证书授权(CA)中心,是开拓和规范电子商务市场必不可少的一步。为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构,负责向电子商务的各个主体颁发并管理符合国内、国际安全电子交易协议标准的电子商务安全证书。
2、证书分类
基于数字证书的应用角度分类,数字证书可以分为以下几种:
- 服务器证书
- 电子邮件证书
- 个人证书
数字证书在广义上可分为:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN证书、WAP证书、代码签名证书和表单签名证书。
3、证书格式
数字证书的格式普遍采用的是X.509V3国际标准,一个标准的X.509数字证书包含以下一些内容:
- 证书的版本信息;
- 证书的序列号,每个证书都有一个唯一的证书序列号;
- 证书所使用的签名算法;
- 证书的发行机构名称,命名规则一般采用X.500格式;
- 证书的有效期,通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
- 证书所有人的名称,命名规则一般采用X.500格式;
- 证书所有人的公开密钥;
- 证书发行者对证书的签名。
参考:
http://www.youdzone.com/signature.html
http://www.blogjava.net/yxhxj2006/archive/2012/10/15/389547.html