导图社区 计算机考研 信息安全(五)——消息认证、数字签名及PGP
这是一篇关于计算机考研 信息安全(五)——消息认证、数字签名及PGP的思维导图。消息认证 (Message Authentication):是一个证实收到的消息来自可信的源点且未被篡改的过程。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的聚集。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
这是一篇关于计算机考研 信息安全(四)——公私钥密码体制的思维导图。密码体制也叫密码系统,是指能完整地解决信息安全中的机密性、数据完整性、认证、身份识别、可控性及不可抵赖性等问题中的一个或几个的一个系统。对一个密码体制的正确描述,需要用数学方法清楚地描述其中的各种对象、参数、解决问题所使用的算法等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
信息安全(五)——消息认证、数字签名及PGP
消息认证
消息认证 (Message Authentication):是一个证实收到的消息来自可信的源点且未被篡改的过程。
鉴别的目的
鉴别的主要目的有二: 第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别; 第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。
鉴别模型
一个单纯鉴别系统的模型
鉴别系统的组成
鉴别编码器和鉴别译码器可抽象为鉴别函数。一个安全的鉴别系统,需满足 1) 接收者能够检验和证实消息的合法性、真实性和完整性 2) 消息的发送者和接收者不能抵赖 3) 除了合法的消息发送者,其它人不能伪造合法的消息
首先要选好恰当的鉴别函数,该函数产生一个鉴别标识,然后在此基础上,给出合理的鉴别协议(Authentication Protocol),使接收者完成消息的鉴别。
鉴别函数
可用来做鉴别的函数分为三类: 1) 消息加密函数(Message encryption):用完整信息的密文作为对信息的鉴别。 2) 消息鉴别码MAC(Message Authentication Code):公开函数+密钥产生一个固定长度的值作为鉴别标识 3) 散列函数(Hash Function):是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。
加密认证
用完整信息的密文作为对信息的鉴别
对称密码体制加密认证
公钥密码体制加密认证
使用公开密钥加密信息的明文只能提供保密而不能提供认证。为了提供认证,发送者A用私钥对信息的明文进行加密,任意接收者都可以用A的公钥解密。
采用这样的结构既可提供了认证,也可提供数字签名。因为只有A 能够产生该密文,其它任何一方都不能产生该密文。
从效果上看A 已经用私钥对信息的明文进行了签名。
应当注意只用私钥加密不能提供保密性。因为,任何人只要有A的公开密钥就能够对该密文进行解密。
保密性与真实性是两个不同的概念。根本上,信息加密提供的是保密性而非真实性。
加密代价大(公钥算法代价更大)。
鉴别函数与保密函数的分离能提供功能上的灵活性。 广播的信息难以使用加密(信息量大) 某些信息只需要真实性,不需要保密性
消息认证码
带密钥的hash函数
适用于:通信双方基于共享的同一密钥来认证彼此之间交互的信息。
MAC 函数将密钥和数据块作为输入,产生hash值作为MAC码。
设M是变长的消息,K是仅由收发双方共享的密钥,则M的MAC由如下的函数C生成:MAC = C~k~(M ) 这里的C~k~(M )是定长的。发送者每次将MAC附加到消息中,接收者通过重新计算MAC来对消息进行认证。 如果收到的MAC与计算得出的MAC相同,则接收者可以认为:
消息未被更改过
消息来自与他共享密钥的发送者
MAC函数类似于加密函数,主要区别在于MAC 函数不需要可逆性,而加密函数必须是可逆的,因此认证函数比加密函数更不易破解。
因为收发双方共享相同的密钥,上述过程只提供认证而不提供保密,也不能提供数字签名
MAC的基本用法
HMAC简介
ash函数用来构造MAC:HMAC为其中之一
散列函数:
概念
散列函数 (Hash Functions):一个散列函数以一个变长的报文作为输入,并产生一个定长的散列码,有时也称报文摘要,作为输出。
散列函数(又称杂凑函数)是对不定长的输入产生定长输出的一种特殊函数:h = H(M) 其中M是变长的消息 h=H(M)是定长的散列值或称为消息摘要。
散列函数H是公开的,散列值在信源处被附加在消息上,接收方通过重新计算散列值来保证消息未被篡改。
由于函数本身公开,传送过程中对散列值需要另外的加密保护(如果没有对散列值的保护,篡改者可以在修改消息的同时修改散列值,从而使散列值的认证功能失效)。
散列函数的基本用法:消息认证
散列函数的基本用法:数字签名
散列函数的基本用法:其他应用
单向口令文件
入侵检测和病毒检测
构建随机函数或伪随机函数
两个简单的Hash函数
分组对应位异或 移位分组对应位异或
Hash函数的安全需求(重点)