消息认证(鉴别)与数字签名信息系统安全理论与技术知识(第2版)课件_第1页
消息认证(鉴别)与数字签名信息系统安全理论与技术知识(第2版)课件_第2页
消息认证(鉴别)与数字签名信息系统安全理论与技术知识(第2版)课件_第3页
消息认证(鉴别)与数字签名信息系统安全理论与技术知识(第2版)课件_第4页
消息认证(鉴别)与数字签名信息系统安全理论与技术知识(第2版)课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

消息认证(鉴别)与数字签名

Message

AuthenticationandDigital

signature网络通信的攻击威胁·

泄露:把消息内容发布给任何人或没有合法密钥的进程流量分析:发现通信双方之间信息流的结构模式,可以用确定连接的频率、持续时间长度;还可以发现报文数量和长度等伪装:从一个假冒信息源向网络中插入消息内容篡改:消息内容被插入、删除、变换、修改顺序修改:插入、删除或重组消息序列时间修改:消息延迟或重放否认:接受者否认收到消息;发送者否认发送过消息消息认证就是验证消息的完整性和真实性

一个是验证信息的发送者是真正的而不是冒充的,即数据起源认证;

二是验证信息在传送过程中未被篡改、重放或延迟等。数据完整性机制有两种类型一种用来保护单个数据单元的完整性

一种既保护单个数据单元的完整性,也保护一个连接上整个数据单元流序列的完整性(对消息流的篡改检测)鉴别编码器和鉴别译码器可抽象为鉴别函数一个安全的鉴别系统,需满足指定的接收者能够检验和证实消息的合法性、真实性和完整性消息的发送者和接收者不能抵赖除了合法的消息发送者,其它人不能伪造合法的消息公钥加密-鉴别和签名AB消息认证码(MAC

Message

Authentication

Code)

使用一个密钥生成一个固定大小的小数据块,并加入到消息中,称MAC。接收者可以确信消息M未被改变。接收者可以确信消息来自所声称的发送者。BA||加密和认证||消息加密保密性和消息认证真实性

加密代价大(公钥算法代价更大)

MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少

鉴别函数与保密函数的分离能提供功能上的灵活性

某些信息只需要真实性,不需要保密性广播的信息难以使用加密(信息量大)网络管理信息等只需要真实性政府/权威部门的公告散列函数Hash

FunctionH(M):

输入为任意长度的消息M; 输出为一个固定长度为m的散列值,称为消息摘要(MessageDigest)H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化·

H(M)又称为:哈希函数、数字指纹(Digital

fingerprint)、压缩(Compression)函数、数据鉴别码(Dataauthentication

code)等

消息摘要采用一种单向散列算法将一个消息进行换算。在消息摘要算法中,文件数据作为单向散列运算的输入,这个输入通过HASH函数产生一个散列值。如果改动了文件,散列值就会相应地改变,接收者即能检测到这种改动过的痕迹。散列函数是安全的是指它具有一致性:相同的输入产生相同的输出。

随机性:消息摘要外观是随机的,以防被猜出源消息。

唯一性:几乎不可能找到两个消息产生相同的消息摘要。

单向性:即如果给出输出,则很难确定出输入消息。Hash函数H一般满足:输入x可以为任意长度;输出数据串长度固定

正向计算容易,即给定任何x,容易算出H(x);反向计算困难,即给出一Hash值h,很难找出

一特定输入x,使h=H(x)抗冲突性(抗碰撞性)

一是给出一消息x,找出一消息y,使H(x)=H(y)是计算上不可行的(弱抗冲突)

二是找出任意两条消息x、y,使H(x)=H(y)也是计算上不可行的(强抗冲突)。Hash函数的两种穷举攻击生日问题

一是给定消息的Hash函数H(x),破译者逐个生成其他文件y,以使H(x)=H(y)二是攻击者寻找两个随机的消息:x,y,并使H(x)=H(y)

在一个教室中最少应有多少学生才使得找一个学生与某人生日(该人也在教室)相同的概率不小于

1/2?

在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率不小于1/2?在一个教室中最少应有多少学生才使得找一个学生与某学生生日(该学生也在教室)相同的概率不小于

1/2?教室中有t人:一同学(给定)生日为某天;其他某个同学不是和他同一天生的概率是364/365其余的人与某人都不同生日的概率是(364/365)t-1所以至少有一个人与此人同生日的概率是1-(364/365)t-1254在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率不小于1/2?第一个人的生日为一个特定生日第二个人不在该日生的概率是(1-1/365)第三个人与前两位不同生日的概率是(1-2/365)第t个人与前t-1个人不同生日的概率是(1-(t-1)/365)

所以t个人都不同生日的概率是(1-1/365)(1-2/365)•••(1-(t-1)/365)至少有两个人生日相同的概率是1-(1-1/365)(1-2/365)••(1-(t-1)/365)利用1-x

e-x(当x很小),概率约为1-e-t(t-1)/(2365)3651/2t

1.17 22.3,即随机选择23人,至少有2人生日相同的概率至少为1/2。m位的消息摘要

寻找特定生日的一个人类似于第一有种效攻级击仅为;而寻找两个随机的具有相同生日的两个人2m/则2是第二种攻击。第二种方法通常被称为生日攻击(Birthday

Attack)。

生日攻击意味着HASH值的长度有一个下界,128位的消息摘要,在1.17

264个随机HASH值中至少有1/2的概率发生一个碰撞。所以,通常建议用160位或更长的消息摘要。

州立大学的计算机系有一个教员的位置和两个候选人TOM和JACK,TOM比JACK

雇用两年,因此他优先被考察。如果他被通过了,JACK就没有机会了。TOM知道系主任

MARILYN对自己工作评价很高,因此他请

求她给院长写封推荐信,院长将决定TOM

能否获得此职位。一旦发出,所有的信件都变成秘密的。

MARILYN让她的秘书ELLEN给院长写封信,并简要地叙述了信的内容。当信完成后,

MANRILYN检查一下,计算并签署64比特的摘要,然后把它发给院长。ELLEN随后用电子邮件把信发走。ELLEN以具有32个括号选项的形式写这封信

The

[letter|

message]

is

to

give

my

[honest|frank]opinion

of

Prof.

Tom

Wilson,who

is

[a

candidate|up]

fortenure

[now|this

year],I

[have

known|worked

with]

Tomfor

[about|almost]

six

years.

He

is

[outstanding

|excelleresearcher

not

well

known

in

his

[field|

area].

He

is

a[highly

|

greatly]

[respected|

admired]

teacher……..232变种第一封TOM很不幸,ELLEN正迷恋着JACK, 所以想陷害TOM。她以如下的具有32个括号选项的形式写这封信:

The

[letter|

message]

is

to

give

my

[honest|frank]opinion

of

Prof.

Tom

Wilson,who

is

[a

candidate|up]for

tenure

[now|this

year],I

[have

known|worked

with]Tom

for

[about|almost]

six

years.

He

is

[poor|weak]researcher

not

well

known

in

his

[field|

area].

He

isnot

a

[respected|

admired]

teacher……..232变种第二封

现在ELLEN让她的计算机整夜地计算每封信的232变种的报文摘要

第一封信的某个变种的摘要和第二封信的某个变种摘一样

如果不一样,她可以增加一些选项,在周末再试一遍

假定她找到了一个匹配。我们把“好”的信叫做

A(有利于tom),“坏”的信叫做B。

ELLEN现在把信A给MARILYN以征询她的同意。MARILYN当然同意,计算自己的64比特报文摘要,签署该摘要ELLEN把该摘要附加在信B寄给院长

收到信和签名的报文摘要后,院长对信B运行报文摘要算法,看见确实是MAEILYN发

送给自己的,就解雇了TomHash函数的用法1、提供认证和保密使用对称加密方法对附加消息摘要的报文进行加密,A

B

:Ek(M

||

H(M))2、提供认证使用对称加密方法对消息摘要进行加密A

B

M

||

Ek(H(M))3、提供认证和数字签名使用发方的私有密钥对消息摘要进行加密A

B

M

||

EKRa(H(M))4、提供加密、认证和数字签名使用对称加密方法进行加密非对称加密A

B

Ek[M

||

EKRa(H(M))]5、利用共享消息S提供认证

假定双方共享一个秘密值S,使用散列函数提供认证,A

B

:M

||

H(M||S)6、利用共享消息S和共享密钥K提供认证、加密功能

假定双方共享一个秘密值S,使用散列函数、对称加密方法提供认证、保密A

B

:Ek[M

||

H(M

||S

)]MD5算法Merkle于1989年提出hash

function模型Ron Rivest于1990年提出MD41992年,

Ron

Rivest 完成MD5

(RFC

1321)在最近数年之前,MD5是最主要的hash算法现行美国标准SHA-1以MD5的前身MD4为基础MD5算法输入:任意长度的报文输入分组长度:512

bit填充消息使得其长度恰为比512的倍数小64位的数。填充方法是附加一个1在消息后面,然后是满足要求的多个0,最后是64位的消息长度(填充前)输出:128

bit报文密码学领域重大发现:山东大学王小云教授成功破解MD5

MD5就是这样一个在国内外有着广泛的应用的杂凑函数算法,它曾一度被认为是非常安全的。然而,王小云教授发现,可以很快的找到MD5的“碰撞”,就是两个文件可以产生相同的“指纹”。这意味着,当你在网络上使用电子签名签署一份合同后,还可能找到另外一份具有相同签名但内容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论