信息安全原理与技术之消息认证与数字签名
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 在这种方法中假定通信双方A和B共享密 钥K。若A向B发送消息M时,则A使用消
息M和密钥K,计算MAC=C(K,M)
消息认证码的使用
消息认证码的使用(续)
MAC的安全要求
• MAC中使用了密钥,这点和对称密钥加密 一样,如果密钥泄漏了或者被攻击了,则 MAC的安全性则无法保证。
• 在基于算法的加密函数中,攻击者可以尝 试所有可能的密钥以进行穷举攻击,一般 对k位的密钥,穷举攻击需要2(k-1)步。
MAC的性质
• 一个安全的MAC函数应具有下列性质:
– 若攻击者知道M和Ck(M),则他构造满足 Ck(M’)= Ck(M)的消息M’在计算上是不可行的 。
– Ck(M)应是均匀分布的,即对任何随机选择的 消息M和M’, Ck(M)=Ck(M’)的概率是2-n,其中n 是MAC的位数。
– 设M’是M 的某个已知的变换,即M’=f(M),则 Ck(M)= Ck(M’)的概率为2-n。
• 对每一个给定的输入m,计算H(m)是很容易的; • 给定Hash函数的描述,对于给定的散列值h,找到满足
H(m) = h的m在计算上是不可行的; • 给定Hash函数的描述,对于给定的消息m1,找到满足
m2m1且H(m2)=H(m1)的m2在计算上是不可行的; • 找到任何满足H(m1)=H(m2)且m1 m2的消息对(m1, m2)
k=an,则需a次循环
针对MAC算法的攻击
• 攻击者针对下面的MAC算法,则不需要使用穷举攻击即可获 得密钥信息。
• 设消息M=(X1||X2||…||Xm),即由64位分组Xi联结而成。定义
Δ(M)=X1X2… Xm Ck(M)=EK[Δ(M)] 攻击者可以用任何期望的Y1至Ym-1替代X1至Xm-1,用Ym替代 Xm来进行攻击,其中Ym如下计算的:
基于DES的消息认证码
Hash函数
• Hash函数(也称散列函数或杂凑函数)是将 任意长的输入消息作为输入生成一个固定 长的输出串的函数,即h=H(M)。这个输 出串h称为该消息的散列值(或消息摘要 ,或杂凑值)。
安全的Hash函数的要求
• H可以应用于任意长度的数据块,产生固定长度的散列 值;
m2m1且H(m2)=H(m1)的m2在计算上是不可行的; • 找到任何满足H(m1)=H(m2)且m1 m2的消息对(m1, m2)
在计算上是不可行的。
Hash的一般结构
Hash函数的安全要求
• 1.单向性:对任何给定的散列码h,找到 满足H(x)=h的x在计算上是不可行的。
• 2.抗弱碰撞性:对任何给定的消息x,找 到满足y≠x且H(x)=H(y)的y在计算上是不 可行的。
在计算上是不可行的。
安全的Hash函数的要求
• H可以应用于任意长度的数据块,产生固定长度的散列 值;
• 对每一个给定的输入m,计算H(m)是很容易的; • 给定Hash函数的描述,对于给定的散列值h,找到满足
H(m) = h的m在计算上是不可行的; • 给定Hash函数的描述,对于给定的消息m1,找到满足
Ym=Y1Y2…Ym-1Δ(M) 攻击者可以将Y1至Ym-1与原来的MAC连结成一个新的消息M’ ,接收方收到(M’, Ck(M))时,由于Δ(M’)= Y1 Y2… Ym =Δ(M),因此Ck(M)=EK[Δ(M’)],接受者会认为该消息是真实 。用这种办法,攻击者可以随意插入任意的长为64(m-1)位 的消息。
– 内容修改:对消息内容的修改,包括插入、删除、转 换和修改。
– 顺序修改:对通信双方消息顺序的修改,包括插入、 删除和重新排序。
– 计时修改:对消息的延迟和重放。在面向连接的应用 中,攻击者可能延迟或重放以前某合法会话中的消息 序列,也可能会延迟或重放是消息序列中的某一条消 息。
认证的目的
• 第一,验证消息的发送者是合法的,不是 冒充的,这称为实体认证,包括对信源、 信宿等的认证和识别;
• 对于上述问题换种说法:假设一个函数有n个函 数值,且已知一个函数值H(x)。任选k个任意数 作为函数的输入值,则k必须为多大才能保证至 少找到一个输入值y且H(x)=H(y)的概率大于0.5?
– 散列函数:它是将任意长的消息映射为定长 的hash值的函数,以该hash值作为认证符。
基本的认证系统模型
消息认证码
• 消息认证码,简称MAC (Message Authentication Code),是一种使用密钥 的认证技术,它利用密钥来生成一个固定 长度的短数据块,并将该数据块附加在消 息之后。
• 3.抗强碰撞性:找到任何满足H(x)=H(y) 的偶对(x,y)在计算上是不可行的。
生日攻击(Birthday Attack)
• 如果攻击者希望伪造消息M的签名来欺骗接收者 ,则他需要找到满足H(M’)=H(M)的M’来替代M 。对于生成64位散列值的散列函数,平均需要 尝试263次以找到M’。但是建立在生日悖论上的 生日攻击法,则会更有效。
对MAC的攻击
•第一轮
·给定M1, MAC1=CK(M1) ·对所有2k个密钥判断MACi=CKi(M1)
·匹配数2(k-n) 。 •第二轮
·给定M2, MAC2=CK(M2) ·对循环1中找到的2(k-n)个密钥判断MACi=CKi
(M2) ·匹配数2(k-2n) 。 • 攻击者可以按此方法不断对密钥进行测试,直到 将匹配数缩写到足够小的范围。平均来讲,若
• 第二,验证信息本身的完整性,这称为消 息认证,验证数据在传送或存储过程中没 有被篡改、重放或延迟等。
认证的目的
• 可提供认证功能的认证码的函数可分为三 类:
– 加密函数:使用消息发送方和消息接收方共 享的密钥对整个消息进行加密,则整个消息 的密文作为认证符。
– 消息认证码:它是消息和密钥的函数,产生 定长度值,该值作为消息的认证符。
信息安全原理与技术之 消息认证与数字签名
2020年4月25日星期六
源自文库5章 消息认证与数字签名
• 主要知识点:
-- 认证 -- 认证码 -- 散列函数 -- MD5 -- SHA-512 -- 数字签名
认证
• 认证则是防止主动攻击的重要技术,可以 防止如下一些攻击 :
– 伪装:攻击者生成一个消息并声称这条消息是来自某 合法实体,或者攻击者冒充消息接收方向消息发送方 发送的关于收到或未收到消息的欺诈应答。
息M和密钥K,计算MAC=C(K,M)
消息认证码的使用
消息认证码的使用(续)
MAC的安全要求
• MAC中使用了密钥,这点和对称密钥加密 一样,如果密钥泄漏了或者被攻击了,则 MAC的安全性则无法保证。
• 在基于算法的加密函数中,攻击者可以尝 试所有可能的密钥以进行穷举攻击,一般 对k位的密钥,穷举攻击需要2(k-1)步。
MAC的性质
• 一个安全的MAC函数应具有下列性质:
– 若攻击者知道M和Ck(M),则他构造满足 Ck(M’)= Ck(M)的消息M’在计算上是不可行的 。
– Ck(M)应是均匀分布的,即对任何随机选择的 消息M和M’, Ck(M)=Ck(M’)的概率是2-n,其中n 是MAC的位数。
– 设M’是M 的某个已知的变换,即M’=f(M),则 Ck(M)= Ck(M’)的概率为2-n。
• 对每一个给定的输入m,计算H(m)是很容易的; • 给定Hash函数的描述,对于给定的散列值h,找到满足
H(m) = h的m在计算上是不可行的; • 给定Hash函数的描述,对于给定的消息m1,找到满足
m2m1且H(m2)=H(m1)的m2在计算上是不可行的; • 找到任何满足H(m1)=H(m2)且m1 m2的消息对(m1, m2)
k=an,则需a次循环
针对MAC算法的攻击
• 攻击者针对下面的MAC算法,则不需要使用穷举攻击即可获 得密钥信息。
• 设消息M=(X1||X2||…||Xm),即由64位分组Xi联结而成。定义
Δ(M)=X1X2… Xm Ck(M)=EK[Δ(M)] 攻击者可以用任何期望的Y1至Ym-1替代X1至Xm-1,用Ym替代 Xm来进行攻击,其中Ym如下计算的:
基于DES的消息认证码
Hash函数
• Hash函数(也称散列函数或杂凑函数)是将 任意长的输入消息作为输入生成一个固定 长的输出串的函数,即h=H(M)。这个输 出串h称为该消息的散列值(或消息摘要 ,或杂凑值)。
安全的Hash函数的要求
• H可以应用于任意长度的数据块,产生固定长度的散列 值;
m2m1且H(m2)=H(m1)的m2在计算上是不可行的; • 找到任何满足H(m1)=H(m2)且m1 m2的消息对(m1, m2)
在计算上是不可行的。
Hash的一般结构
Hash函数的安全要求
• 1.单向性:对任何给定的散列码h,找到 满足H(x)=h的x在计算上是不可行的。
• 2.抗弱碰撞性:对任何给定的消息x,找 到满足y≠x且H(x)=H(y)的y在计算上是不 可行的。
在计算上是不可行的。
安全的Hash函数的要求
• H可以应用于任意长度的数据块,产生固定长度的散列 值;
• 对每一个给定的输入m,计算H(m)是很容易的; • 给定Hash函数的描述,对于给定的散列值h,找到满足
H(m) = h的m在计算上是不可行的; • 给定Hash函数的描述,对于给定的消息m1,找到满足
Ym=Y1Y2…Ym-1Δ(M) 攻击者可以将Y1至Ym-1与原来的MAC连结成一个新的消息M’ ,接收方收到(M’, Ck(M))时,由于Δ(M’)= Y1 Y2… Ym =Δ(M),因此Ck(M)=EK[Δ(M’)],接受者会认为该消息是真实 。用这种办法,攻击者可以随意插入任意的长为64(m-1)位 的消息。
– 内容修改:对消息内容的修改,包括插入、删除、转 换和修改。
– 顺序修改:对通信双方消息顺序的修改,包括插入、 删除和重新排序。
– 计时修改:对消息的延迟和重放。在面向连接的应用 中,攻击者可能延迟或重放以前某合法会话中的消息 序列,也可能会延迟或重放是消息序列中的某一条消 息。
认证的目的
• 第一,验证消息的发送者是合法的,不是 冒充的,这称为实体认证,包括对信源、 信宿等的认证和识别;
• 对于上述问题换种说法:假设一个函数有n个函 数值,且已知一个函数值H(x)。任选k个任意数 作为函数的输入值,则k必须为多大才能保证至 少找到一个输入值y且H(x)=H(y)的概率大于0.5?
– 散列函数:它是将任意长的消息映射为定长 的hash值的函数,以该hash值作为认证符。
基本的认证系统模型
消息认证码
• 消息认证码,简称MAC (Message Authentication Code),是一种使用密钥 的认证技术,它利用密钥来生成一个固定 长度的短数据块,并将该数据块附加在消 息之后。
• 3.抗强碰撞性:找到任何满足H(x)=H(y) 的偶对(x,y)在计算上是不可行的。
生日攻击(Birthday Attack)
• 如果攻击者希望伪造消息M的签名来欺骗接收者 ,则他需要找到满足H(M’)=H(M)的M’来替代M 。对于生成64位散列值的散列函数,平均需要 尝试263次以找到M’。但是建立在生日悖论上的 生日攻击法,则会更有效。
对MAC的攻击
•第一轮
·给定M1, MAC1=CK(M1) ·对所有2k个密钥判断MACi=CKi(M1)
·匹配数2(k-n) 。 •第二轮
·给定M2, MAC2=CK(M2) ·对循环1中找到的2(k-n)个密钥判断MACi=CKi
(M2) ·匹配数2(k-2n) 。 • 攻击者可以按此方法不断对密钥进行测试,直到 将匹配数缩写到足够小的范围。平均来讲,若
• 第二,验证信息本身的完整性,这称为消 息认证,验证数据在传送或存储过程中没 有被篡改、重放或延迟等。
认证的目的
• 可提供认证功能的认证码的函数可分为三 类:
– 加密函数:使用消息发送方和消息接收方共 享的密钥对整个消息进行加密,则整个消息 的密文作为认证符。
– 消息认证码:它是消息和密钥的函数,产生 定长度值,该值作为消息的认证符。
信息安全原理与技术之 消息认证与数字签名
2020年4月25日星期六
源自文库5章 消息认证与数字签名
• 主要知识点:
-- 认证 -- 认证码 -- 散列函数 -- MD5 -- SHA-512 -- 数字签名
认证
• 认证则是防止主动攻击的重要技术,可以 防止如下一些攻击 :
– 伪装:攻击者生成一个消息并声称这条消息是来自某 合法实体,或者攻击者冒充消息接收方向消息发送方 发送的关于收到或未收到消息的欺诈应答。