认证包括消息认证和身份认证。
概念
- 消息认证:消息的完整性认证,检验收到的文件是否遭到第三方篡改。
- 身份认证:使验证者相信对方就是声称的实体。
消息认证
基于对称密码的消息认证

利用分组密码也是一样,验证共享密钥一致。
基于 CBC 工作模式时,共享算法、密钥和校验码生成算法。由明文 生成校验码 ,将 拼接在 后,则 就是由 加密得到的认证码。
基于杂凑函数的消息认证
就是用(有密钥)杂凑函数产生的消息摘要代替共享密钥作为认证码。
基于公钥密码的消息认证
但是上述的消息认证方式,只能指定人检验,无法多人检验;文件认证码的生成者和检验者不能相互抵赖或伪造;第三方无法裁决争议。

使用公钥密码进行消息签名,既可以认证消息完整性,还可以证明消息确实来自于 A。
PGP
结合加密、认证。同时实现消息的完整性、机密性和认证性。
发送方流程
- 压缩明文
- 生成随机会话密钥
- 用会话密钥 对称加密压缩的明文 得到
- 生成摘要 ,并签名
- 封装

身份认证
基本途径:
- 已知信息:口令、密钥等
- 已有事物:身份证、信用卡、钥匙等
- 个体特征:指纹、笔迹、视网膜等
基于口令的身份认证
- 固定口令方案
无法防御重放攻击、泄漏等。
- 一次性口令方案
系统和用户共享口令列表,每次选择一个未使用口令。还是可能泄漏。
若使用单向函数生成,可防御泄漏,如 Lamport 方案。
基于挑战响应的身份认证
- 基于分组密码
都以共享密钥 为根。

时间戳 防止重放。

随机数 防止重放。
三遍也是类似,验证 A,B 双方身份。
- 基于公钥技术
公钥密码体制密钥与用户身份一一对应,直接可以作为根。




Kerberos 协议
包括三个要素:
- 鉴别
- 簿记
- 审计

主体为 用户©、认证服务器(AS)、票据许可服务器(TGS)、服务器(V)。

(图上 AS,C 间的 实际为 )

核心是为解决口令明文传送、票据有效时限、重放攻击,以及多个实体互相身份认证不断进行对称密钥的套娃。
V5 将对称密钥改为公钥密码,本质上还是解决身份认证问题。

- 第一步 C-AS

- 第二步 C-TGS

- 第三步 C-V

例如,WOO92b协议: