数字签名
什么是数字签名
数字签名采用非对称密码体制(公钥密码体制),即发送者 使用 私钥加密数据 ,接收者 使用 对应的公钥 解密数据,它具有以下功能:
数字签名的用途
① 报文鉴别 : 用于 证明来源 , 接收者 可以 通过签名 确定 是哪个发送者 进行的签名 ;
② 防止抵赖 : 防止 发送者 否认签名 , 发送者 一旦签名 , 标记就打上了 , 无法抵赖 ;
③ 防止伪造 : 防止 接收者 伪造 发送者 的签名 。
数字签名验证过程
上面过程中,用户A使用私钥对由文件生成的128位摘要进行加密的过程称为数字签名的过程,得到的”加密的摘要”,称为该文件的数据签名。
上面例子传输过程中,用户A使用数字签名时给用户B发送了一个数据包,数据包中包含了A的公钥、文件和加密的摘要。那么问题来了:用户B如何确定收到的公钥是用户A发送的,而不是他人冒充用户A发送的呢?这时就需要有一个双方都信任的第三方证书颁发机构来协调。
证书颁发机构,即认证中心CA (Certification Authority),将公钥与其对应的实体(人或机器)进行绑定(binding);即给公司或个人颁发证书。
认证中心一般由政府出资建立。每个实体都有CA 发来的证书(certificate),里面有公钥及其拥有者的标识信息。此证书被 CA 进行了数字签名。任何用户都可从可信的地方获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。