四、认证技术
1、认证系统的两个主要目的
信源识别;
检验发送信息的完整性。
2、网络通信的攻击威胁
- 暴露:把消息内容发布给无合法密钥的任何人或进程;
- 流量分析:发现团体之间信息流的结构模式。在一个面向连接的应用中,可以用来确定连接的频率和持续时间长度;在面向连接或无连接环境中,确定双方消息的数量和长度。
- 化装:从一个假冒信息源向网络中插入消息。
- 内容修改:消息内容被插入、删除、变换、修改。
- 顺序修改:插入、删除或重组消息序列。
- 时间修改:一条消息或整个消息序列的延迟或重放。
- 否认:发送者否认发送过消息;接受者否认收到消息。
1,2 confidentiality; 3-6 MA(消息认证);7 DS(数字签名)
3、产生认证标识的三种函数:
1、Message encryption:整个消息的密文作为认证标识;
2、MAC:公开函数+密钥产生一个固定长度的值作为认证标识;
3、Hash function:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识。
4、消息认证码
MAC:使用一个保密密钥生成一个固定大小的小数据块,并附加在消息之后,称MAC
MAC函数为多对一映射。包含所有可能的MAC和所有可能的密钥。
n-bit MAC: 有2n个可能的MAC;
k-bit 密钥: 有2k个可能的密钥;
5、使用CBC的基于DES的数据认证码(DAC)
初始向量为0。
6、Hash哈数
单向哈希函数:输入为任意长度的消息M;输出为一个固定长度的哈希码,也称为消息摘要(Message Digest)或Hash值。
单向哈希函数是消息认证码(MAC)的一种变形。但Hash码并不使用密钥。
单向性,抗弱碰撞性(对任意给定的数据块x,找到满足H(y)=H(x)的y≠x具有计算不可行性),抗碰撞性(找到任意数据对(x,y),满足H(x) = H(y)是计算不可行的)。
7、几种常用的HASH算法
8、HASH函数小结
hash函数把变长信息映射到定长信息
hash函数不具备可逆性
hash函数速度较快
hash函数与对称密钥加密算法有某种相似性
对hash函数的密码分析比对称密钥密码更困难
hash函数可用于消息摘要
hash函数可用于数字签名
9、HMAC
MAC for IP security
TLS/SSL(传输层安全/安全套接字层)
SET(安全电子交易)
10、数字签名
签名同消息是分开的
数字签名功能包含了认证的功能。
签名提供真实性(authentication)
加密提供保密性(confidentiality)
“签名+加密”提供“真实性+保密性”
两类数字签名函数:直接数字签名、仲裁数字签名
11、认证协议
双方认证、单向认证
基于认证的密钥交换核心问题有两个:保密性、时效性