(十二)认证基础作者:山石1.散列函数也称杂凑函数或杂凑算法。一个散列函数以一个变长的报文作为输入,并产生一个定长的散列码,有时也称报文摘要或该消息的杂凑值,作为输出。安全的散列函数至少应该满足以下条件:1)输入长度是任意的2)输出长度是固定的3)对每一个给定的输入,计算输出即杂凑值是很容易的4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的。2.硬件与软件加密特点硬件加密特点:1)应用:商业或军事上的主流2)速度:针对位的操作,不占用计算机的主处理器3)安全性:可进行物理保护4)易于安全:不需要使用计算机的电话、传真、数据线路;计算机环境下,使用硬件加密可对用户透明。软件加密特点:1)缺点:速度慢、造价高、安全性差2)优点:使用灵活、修改方便、可移植性好3)注意:密钥管理手段必须可靠,密钥和明文应在加密后删除。3.认证基础认证技术与密码技术应用对比:1)密码技术——机密性2)认证技术——完整性、防抵赖、防篡改基本认证技术1)数字签名2)消息认证3)数字摘要(杂凑函数)14)身份认证4.消息认证消息认证(MAC,MessageAuthenticationCode),用来保护通信双方免受第三方的攻击,验证消息的完整性。接收方能够验证收到的报文是真实的未被篡改的。(1)认证方案如下:发方将消息和认证密钥输入认证算法,得到消息的认证标签,一起发送消息和认证标签收方将同样的认证密钥和收到的消息输入认证算法。检验计算结果是否与收到的认证标签相同,若相同,则认为消息未经篡改,否则认为消息被入侵者篡改。(2)对安全认证方案的要求:通信双方能有效(容易)地产生任意消息的认证标签通信双方能有效(容易)地验证一给定的数字串是否是一给定消息的认证标签入侵者不能有效(容易)地产生通信双方没发送消息的认证标签。5.数字签名(1)概念消息认证用以保护双方之间的数据交换不被第三方侵犯;但它无法防止通信双方的相互攻击(欺骗、抵赖等)。假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪造一个不同的消息,但声称是从A收到的。A可以否认发过该消息,B无法证明A确实发了该消息。数字签名的基本功能,就是将消息与发起实体相关联,由签名算法和相应验证算法组成。数字签名过程:发送方用其私钥对报文进行加密验证签名过程:利用发送方公钥解密签名,再与发送方出示的明文或明文摘要进行比较。签名算法:RSA、E1Gamal、DSS签名方案:一次签名、群签名、盲签名等。(2)数字签名的性质:用户能有效(容易)地在他选择的文件上产生自己的签名。用户能有效(容易)地验证一给定的数字是否是另一特定用户在某特定文件上的签名。没人能在其他用户没签名的文件上有效(容易)地产生他们的签名。(3)数字签名算法的分类:无仲裁数字签名:仅涉及通信方,假定接受方知道发送方的公钥优点:无仲裁,不需要与第三方通信,比较方便。2缺点:方案的有效性依赖于发送方私钥的安全性。如果私钥被窃取,他人就会冒充发送方进行签名。有仲裁数字签名:前提:通信双方充分信任起监督作用的仲裁机构每个从签名者X发往验证者Y的签名报文首先要送给仲裁者A,仲裁者A对该报文和它的签名进行验证以检验签名的有效性。然后对报文注明日期,附上已经经过仲裁证实属实的说明后发给Y。解决了签名者X可能否认发送过该报文的问题。(4)消息认证与数字签名的区别:前者能验证消息来源及完整性,防范第三者;后者在收发双方产生利害冲突时,解决纠纷。消息认证不要求通信双方以外的任何人能有效地验证认证标签的真实性。数字签名方案是消息认证的一种方式,但消息认证方案不必构成数字签名方案。6.身份认证(1)身份认证概述定义:证实客户的真实身份与其所声称的身份是否相符的过程。认证依据:客户所知:密码、口令等客户所有:身份证、护照、信用卡、密钥盘等客户个人特征:指纹、虹膜、声音、笔记、DNA等。(2)身份认证的形式单向认证:当某个客户A需要服务器S的服务时,客户A必须被服务器认证,这就是单向认证。双向认证:是一种互相认证,其过程是在单向认证的基础上...