第7章认证 认证( Authentication)就是对于证据的辨认、核 实、鉴别,以建立某种信任关系。在通信中,要 涉及两个方面:一方提供证据或标识,另一方面 对这些证据或标识的有效性加以辨认、核实、鉴 别。从认证的内容看,可以分为数据(报文)认 证和身份验证;从认证过程看,需要有证据符 (标识)、认证算法和认证协议三个要素
第7章 认证 认证(Authentication)就是对于证据的辨认、核 实、鉴别,以建立某种信任关系。在通信中,要 涉及两个方面:一方提供证据或标识,另一方面 对这些证据或标识的有效性加以辨认、核实、鉴 别。从认证的内容看,可以分为数据(报文)认 证和身份验证;从认证过程看,需要有证据符 (标识)、认证算法和认证协议三个要素
7.1数字签名 7.1.1数字签名概述 在网络中进行数据的传输,必须保证接收到的消息的真 实性(的确是由它所声称的实体发来的)、完整性(未 被篡改、插入、删除)、顺序性(未重排、重放)和时 间性,用来鉴别 否认:发送者事后不承认已发送过的文件: 伪造:接收者伪造一份来自发送者的文件; 篡改:接收者私自修改接收到的文件 冒充:网络中某一用户冒充发送者或接收者
7.1 数字签名 7.1.1 数字签名概述 在网络中进行数据的传输,必须保证接收到的消息的真 实性(的确是由它所声称的实体发来的)、完整性(未 被篡改、插入、删除)、顺序性(未重排、重放)和时 间性,用来鉴别: • 否认:发送者事后不承认已发送过的文件; • 伪造:接收者伪造一份来自发送者的文件; • 篡改:接收者私自修改接收到的文件。 • 冒充:网络中某一用户冒充发送者或接收者
在现实世界中,文件的真实性依靠签名或盖章进行证实。 数字签名( Digital Signature是数字世界中的一种信 息认证技术,它利用数据加密技术、数据变换技术,根 据某种协议来产生一个反映被签署文件的特征和签署人 特征,以保证文件的真实性和有效性的数字技术,同时 也可用来核实接收者是否有伪造、篡改行为。 简单地说,数字签名就是给报文一个可以核实或鉴别的 标识。它应当具有如下一些性质 能够签名者的身份、签名日期和时间; 能用于证实被签消息的内容; 可以由第三方验证,可以解决通信双方的争议。 目前已经有多种数字签名体制。这一节介绍几种主要技 术
在现实世界中,文件的真实性依靠签名或盖章进行证实。 数字签名(Digital Signature)是数字世界中的一种信 息认证技术,它利用数据加密技术、数据变换技术,根 据某种协议来产生一个反映被签署文件的特征和签署人 特征,以保证文件的真实性和有效性的数字技术,同时 也可用来核实接收者是否有伪造、篡改行为。 简单地说,数字签名就是给报文一个可以核实或鉴别的 标识。它应当具有如下一些性质: • 能够签名者的身份、签名日期和时间; • 能用于证实被签消息的内容; • 可以由第三方验证,可以解决通信双方的争议。 目前已经有多种数字签名体制。这一节介绍几种主要技 术
7.12基于消息认证码的数字签名 消息认证首先需要提供消息认证符。认证符是标 识消息的数据,按照它的产生,可以分为消息认 证码( Message Authentication,MAC)和杂凑 函数( Hash function)两大类 1.MAC及其基本使用方式 消息认证码也称密码校验和,是一个定长的n比特 数据。它的产生方法为 MAC=Cu (M) 其中:Ck是一个函数,它受通信双方共享的密钥 K的控制,并以A欲发向B的消息M(明文)作为 参数
7.1.2 基于消息认证码的数字签名 消息认证首先需要提供消息认证符。认证符是标 识消息的数据,按照它的产生,可以分为消息认 证码(Message Authentication,MAC)和杂凑 函数(Hash Function)两大类。 1. MAC及其基本使用方式 消息认证码也称密码校验和,是一个定长的n比特 数据。它的产生方法为 MAC=CK(M) 其中:CK是一个函数,它受通信双方共享的密钥 K的控制,并以A欲发向B的消息M(明文)作为 参数
MAC的基本使用方式如图7.1所示 MAK’ 传送 M M M C K 过钬 发送方AK 接收方B: 图71MC的基本使用方式 在实际应用时,消息及其认证码都要加密后进 传输,从而形成不同的认证方式
MAC的基本使用方式如图7.1所示 在实际应用时,消息及其认证码都要加密后进行 传输,从而形成不同的认证方式
2.数据认证算法 典型的鉴别码生成算法主要是基于DES的认证算法。 该算法采用CBC( Cipher Block chining )模式,使 MAC函数可以在较长的报文上操作,报文按64位分 组,最后一组不足时补0。其算法过程如图72所示。 Mdr F 0取左边n位 作为鉴阿 图72CBC的MAC算法
2. 数据认证算法 典型的鉴别码生成算法主要是基于DES的认证算法。 该算法采用CBC(Cipher Block chining)模式,使 MAC函数可以在较长的报文上操作,报文按64位分 组,最后一组不足时补0。其算法过程如图7.2所示
这个算法是n轮迭代过程,n为分组数。第i轮迭代对 第个明文分组Mi进行计算:首先将Mi与前一轮迭代 的输出进行异或,然后进入DES系统,用密钥K进 加密。最后一轮迭代结束后,取结果的左边n位作为 鉴别码。n的大小由通信双方约定,一般取16~64位 第一轮迭代是初始向量Ⅳ取一个常数,一般取0 3.MAC生成函数的限制 由于产生MAC的函数C是将较大的区域映射到较小的 范围,所以具有多对一的映射特点,因而不可避免 地会产生碰撞,即两个不同的报文产生相同的MAC 破坏MAC的唯一性。为此C的选择应满足如下条件
这个算法是n轮迭代过程,n为分组数。第i轮迭代对 第i个明文分组Mi进行计算:首先将Mi与前一轮迭代 的输出进行异或,然后进入DES系统,用密钥K进行 加密。最后一轮迭代结束后,取结果的左边n位作为 鉴别码。n的大小由通信双方约定,一般取16~64位。 第一轮迭代是初始向量IV取一个常数,一般取0。 3. MAC生成函数的限制 由于产生MAC的函数C是将较大的区域映射到较小的 范围,所以具有多对一的映射特点,因而不可避免 地会产生碰撞,即两个不同的报文产生相同的MAC, 破坏MAC的唯一性。为此C的选择应满足如下条件:
(1)如果攻击者得到M和相应的MAC,要构造 个满足CK(M)=MAC的新消息M在计算上是不 可行的。即不知道K,不可能伪造一个与截获的 MAC相匹配的新消息。 2)Cκ(M)应当是均匀分布的,即随机选取两 个消息M,M,则Ck(M)=CK(M)]的概率为 2n。其中n为MAC的长度。换句话说,攻击者截 获一个MAC,则伪造一个相匹配的消息的概率为 最小。 (3)如果M为M的某种变换,则Ck(M)=Ck (M)的概率为2n。即函数C不应当在消息的某 些地方或某些比特弱于其他部分或比特,否则攻 击者一旦获得M和MAC,就可能修改M中的弱的 部分,伪造出一个与原MAC相匹配的新消息
(1)如果攻击者得到M和相应的MAC,要构造一 个满足CK(M’)=MAC的新消息M’在计算上是不 可行的。即不知道K,不可能伪造一个与截获的 MAC相匹配的新消息。 (2)CK(M)应当是均匀分布的,即随机选取两 个消息M,M’,则[CK(M’)= CK(M)]的概率为 2 -n。其中n为MAC的长度。换句话说,攻击者截 获一个MAC,则伪造一个相匹配的消息的概率为 最小。 (3)如果M’为M的某种变换,则CK(M’)= CK (M)的概率为2 -n。即函数C不应当在消息的某 些地方或某些比特弱于其他部分或比特,否则攻 击者一旦获得M和MAC,就可能修改M中的弱的 部分,伪造出一个与原MAC相匹配的新消息
7.13基于杂凑函数的数字签名 1.杂凑函数与报文摘要 杂凑函数( Hash function,也称哈希函数或散列 函数,通常简写为H)是一个公开函数。它可以 将任意任意长的消息M映射为较短的、固定长度 的一个值H(M)作为消息M的认证符。H(M) 也称消息摘要MD( message digest)或杂凑码、 散列码
7.1.3 基于杂凑函数的数字签名 1. 杂凑函数与报文摘要 杂凑函数(Hash Function,也称哈希函数或散列 函数,通常简写为H)是一个公开函数。它可以 将任意任意长的消息M映射为较短的、固定长度 的一个值H(M)作为消息M的认证符。H(M) 也称消息摘要MD(message digest)或杂凑码、 散列码
图7.3为杂凑函数的功能示意图 Hash functions were introduced in cryptology in the late, seventies as a too to protect the authenticity of information. Soon it be came clear that they were a very us eful building block to solve other se curity problems in 930206151063 telecommunic ation and computer networks. This pap er shet ches the history of the concept, discusses the applic ations of hash functions, and preents, the approaches that hav e been followed to construct hash functions.. 图73杂凑函数的功能 消息摘要的使用方式与消息认证码基本相同
消息摘要的使用方式与消息认证码基本相同。 图7.3为杂凑函数的功能示意图