(1)一个数字签名需要使用私钥和公钥对。
数字签名与传统签字的区别:传统签名一对多,数字签名一条信息一个签名。
数字签名利用发送者的私钥加密信息摘要形成签名信息。
(2)保证机密性的密码系统接收者给出私钥和公钥;保证完整性的数字签名系统发送者给出私钥和公钥。
A给B发送信息,需要利用B的公钥进行加密,接收方B用自己的私钥进行解密。
A将某信息用自己的私钥加密信息摘要信息发给B。然后,B利用A的公钥解密摘要信息,然后利用相同信息及摘要生成算法生成摘要,然后比较两个摘要是否相同,相同表示没有篡改即可。
(3)数字证书
Ca(授权中心),第三方:
1、利用Ca的私钥对发送方的公钥和必要信息进行摘要信息签名并填入证书内,形成签发的数字证书。
2、发送方在发送信息时,发送信息、数字签名(被发送方私钥加密信息摘要)、数字证书(发送方公钥、CA信息、含有利用CA私钥对数字证书敏感信息的摘要信息进行签名的签名信息、主题、有效期)。
3、接收方利用Ca提供的公钥进行解密数字证书包含的签名信息,然后验证数字证书的有效性。如果有效,则读取数字证书存储的发送方公钥信息,再利用发送方的公钥进行对数字签名进行解密形成信息摘要。
4、 然后接收方对接受的信息进行散列函数形成信息摘要,进行对比确定信息的完整性。
(4)数字签名加数字证书:保证数据的不可否认性。
(5)每份数字证书存在不同的格式,一般采用统一的X.509标准,应用Asn.1格式,然后进行DER编码。 数字证书是一个由ASN.1定义的数据结构的编码结果。啊数字证书内容:包含权威数据,签名算法,签名结果。一般说数字证书内容指的是权威数据。
数字证书包含的内容:证书基本信息,用户个人的基本信息,用户的公钥。参考http://wenku.baidu.com/view/c458fa4ecf84b9d528ea7a40.html?qq-pf-to=pcqq.c2c
数字证书内容:
版本号:
序列号:
签名算法:数字证书的签名算法标示。
签发者:
有效日期:
主题:证书使用者
公钥:主题的公钥及算法标示
(6)证书的分类
加密证书:放在CA证书库内,对方想与我通信需要下载我的加密证书,解析出公钥,进行加密内容。
签名证书:放在自己KEY里面,对方可以用来验证我的签名信息用。
所谓证书都是给别人用的
(7)证书问题要活学活用
参考文献:
http://netsecurity.51cto.com/art/201108/287971.htm
http://blog.51cto.com/ilctc/2091271
http://www.youdzone.com/signature.html