数字签名
数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。
注意:图中
加密过程 有别于
公钥加密,更多
介绍戳这里。
签名 最根本的用途是要能够唯一
证明发送方的身份,防止
中间人攻击、
CSRF
跨域身份伪造。基于这一点在诸如
设备认证、
用户认证、
第三方认证 等认证体系中都会使用到
签名算法 (彼此的实现方式可能会有差异)。