网络和信息安全-PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络与信息安全 安全基础 (一)
潘爱民,北京大学计算机研究所
icst.pku.edu.cn/InfoSecCourse
内容
关于认证协议 Windows平台的认证协议 HTTP认证协议 与身份认证相关的研究工作介绍
安全层次
应用安全
系统安全
网络安全
安全协议 安全的密码算法
回顾:信息安全的需求
保密性Confidentiality 完整性Integrity
系统完整性 数据完整性
可用性Availability 真实性 authenticity
认证
消息认证 身份认证:验证真实身份和所声称身份相符的过程
……
认证协议
基于对称密码算法的认证方案
是否需要密钥分发中心(KDC)? 对于协议的攻击手法 认证的对象
Login:如何管理口令
远程用户认证
一次性
访问资源或者服务之前进行认证
多次访问资源或者服务
身份,获得credential 利用credential访问资源或者服务
认证例子:263的邮件登录
认证例子:sina的邮件登录
Client与Proxy-Server之间的认证
Client与Proxy-Server之间认证(续)
A
好的,我用它 试试,可我怎 么知道你是B呢
B
Kab
1 AB: (IDA||N1) 2 BA: EKab[Ks,IDB,f(N1),N2)] 3 AB: EKs[f(N2)] 这里的f函数为某个确定的运算,比如f(x)=x+1
如果你知道Kab, 那么你就知道Ks, 我就知道你是A
认证协议:设计一个协议(二)
基于口令
双向和单向认证 目的:分发密钥、签名有效性,……
通讯方式
两方通讯
一方发起通讯,另一方应答 双向和单向认证
有第三方介入的认证
第三方为可信任方,KDC
在线和离线 其他情形
多方认证 跨域认证 委托认证模型、信任模型 ……
为什么需要认证协议
本地多用户认证
对策
用户和管理员:选择好的口令 协议设计:对口令的使用过程中,不要泄露 口令的信息 在密文中增加口令以外的额外信息
常见攻击和对策(四)
已知明文攻击
在许多认证协议中,一方会选择一个随机数,并且明 文传输这个随机数,另一方加密这个随机数,并送回 来——Challenge/Response, 所以偷听者可以获得已知明文/密文对 对策:
A E B
偷听者可以记录下当前的通讯流量,以后在适当的时候 重发给通讯的某一方,达到欺骗的目的 对策: nonce 保证通讯的唯一性 增加时间戳
常见攻击和对策(三)
字典攻击
只要能够获得口令的密文形式,就可以实施 字典攻击 在线和离线 字典攻击的有效性
判断一个口令是有效的
消息发送方 消息本身
基于公钥密码算法的认证方案
公钥和身份的绑定
基于对称密码算法的认证
消息认证
MAC码或者HMAC码 前提:存在共享密钥
密钥管理中心 或者用一个密钥交换协议
身份认证
依据
所知:口令、密钥,等 所有:身份证、智能卡,等 物理标识:指纹、笔迹、DNA,等 证明是否知道口令 口令的强度
基于口令的认证+明文传输!!!
Telnet远程登录
逐个字母发送,明文方式
POP3邮件登录 Ftp服务 ……
认证协议:设计一个协议(一)
假设A和B要进行通讯,A和B有一个共享的密 钥Kab,如何利用这个密钥进行认证,并且商定 一个会话密钥Ks
我是A 告诉你Ks, 以后就用它, 别让别人知道
这种方法要求不同参与者之间的时钟需要同步
时间窗大小的选择应根据消息的时效性来确定
认证协议中的常见技术(二)
询问/应答方式(Challenge/Response)
A期望从B获得一个条件
首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,得到 response,并送回去 A收到这个response,可以验证B符合这个条件 可能明文传输,也可能密文传输
假设A和B要进行通讯,A和B与KDC各有一个共享密钥 Ka和Kb, 如何利用这两个密钥进行认证,并且商定一个 会话密钥Ks
我是A,我 想和B通讯 KDC 会话密钥Ks ,由A送给B 的认证信息
A
Ka
我把必要的 信息告诉你
Kb
B
我把消息给你,如果 你是B,你就可以解开
AKDC: (IDA||IDB||N1) KDCA: EKa[Ks||IDB||N1||EKb(Ks,IDA)] AB: EKb(Ks,IDA)||EKs(M)
针对认证协议的一些常见攻击手段 和相应对策
中间人攻击(MITM, man in the middle)
A E B
如果通讯双方没有任何先决条件,那么这种攻 击总是存在的 A和B的协商过程很容易受到这一类攻击 对策: 增加A和B之间的先决知识
常见攻击和对策(二)
重放攻击(replay attacks)
避免传输明文/密文对 增加已知明文攻击的难度
选择明文攻击
在认证协议中,如果随机数的选择没有任何规则,那 么中间人或者假冒方就有可能选择随机数,从而实施 选择明文攻击 对策
随机数的选择限制
认证协议中的常用技术(一)
时间戳
A收到一个消息,根据消息中的时间戳信息, 判断消息的有效性
Байду номын сангаас
如果消息的时间戳与A所知道的当前时间足够接近 在网络环境中,特别是在分布式网络环境中,时钟 同步并不容易做到 一旦时钟同步失败 要么协议不能正常服务,影响可用性 (availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会
在有的协议中,这个challenge也称为nonce
这个条件可以是知道某个口令,也可能是其 他的事情
变换例子:用密钥加密,说明B知道这个密钥; 简单运算,比如增一,说明B知道这个随机值
常用于交互式的认证协议中
分析一个协议: Kehn92
1A→B
IDA||Na IDB||Nb || EKb[IDA || Na || Tb] EKa[IDB||Na ||Ks|| Tb ] || EKb[IDA || Ks || Tb] || Nb EKb[IDA || Ks || Tb] || EKs[ Nb ]
潘爱民,北京大学计算机研究所
icst.pku.edu.cn/InfoSecCourse
内容
关于认证协议 Windows平台的认证协议 HTTP认证协议 与身份认证相关的研究工作介绍
安全层次
应用安全
系统安全
网络安全
安全协议 安全的密码算法
回顾:信息安全的需求
保密性Confidentiality 完整性Integrity
系统完整性 数据完整性
可用性Availability 真实性 authenticity
认证
消息认证 身份认证:验证真实身份和所声称身份相符的过程
……
认证协议
基于对称密码算法的认证方案
是否需要密钥分发中心(KDC)? 对于协议的攻击手法 认证的对象
Login:如何管理口令
远程用户认证
一次性
访问资源或者服务之前进行认证
多次访问资源或者服务
身份,获得credential 利用credential访问资源或者服务
认证例子:263的邮件登录
认证例子:sina的邮件登录
Client与Proxy-Server之间的认证
Client与Proxy-Server之间认证(续)
A
好的,我用它 试试,可我怎 么知道你是B呢
B
Kab
1 AB: (IDA||N1) 2 BA: EKab[Ks,IDB,f(N1),N2)] 3 AB: EKs[f(N2)] 这里的f函数为某个确定的运算,比如f(x)=x+1
如果你知道Kab, 那么你就知道Ks, 我就知道你是A
认证协议:设计一个协议(二)
基于口令
双向和单向认证 目的:分发密钥、签名有效性,……
通讯方式
两方通讯
一方发起通讯,另一方应答 双向和单向认证
有第三方介入的认证
第三方为可信任方,KDC
在线和离线 其他情形
多方认证 跨域认证 委托认证模型、信任模型 ……
为什么需要认证协议
本地多用户认证
对策
用户和管理员:选择好的口令 协议设计:对口令的使用过程中,不要泄露 口令的信息 在密文中增加口令以外的额外信息
常见攻击和对策(四)
已知明文攻击
在许多认证协议中,一方会选择一个随机数,并且明 文传输这个随机数,另一方加密这个随机数,并送回 来——Challenge/Response, 所以偷听者可以获得已知明文/密文对 对策:
A E B
偷听者可以记录下当前的通讯流量,以后在适当的时候 重发给通讯的某一方,达到欺骗的目的 对策: nonce 保证通讯的唯一性 增加时间戳
常见攻击和对策(三)
字典攻击
只要能够获得口令的密文形式,就可以实施 字典攻击 在线和离线 字典攻击的有效性
判断一个口令是有效的
消息发送方 消息本身
基于公钥密码算法的认证方案
公钥和身份的绑定
基于对称密码算法的认证
消息认证
MAC码或者HMAC码 前提:存在共享密钥
密钥管理中心 或者用一个密钥交换协议
身份认证
依据
所知:口令、密钥,等 所有:身份证、智能卡,等 物理标识:指纹、笔迹、DNA,等 证明是否知道口令 口令的强度
基于口令的认证+明文传输!!!
Telnet远程登录
逐个字母发送,明文方式
POP3邮件登录 Ftp服务 ……
认证协议:设计一个协议(一)
假设A和B要进行通讯,A和B有一个共享的密 钥Kab,如何利用这个密钥进行认证,并且商定 一个会话密钥Ks
我是A 告诉你Ks, 以后就用它, 别让别人知道
这种方法要求不同参与者之间的时钟需要同步
时间窗大小的选择应根据消息的时效性来确定
认证协议中的常见技术(二)
询问/应答方式(Challenge/Response)
A期望从B获得一个条件
首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,得到 response,并送回去 A收到这个response,可以验证B符合这个条件 可能明文传输,也可能密文传输
假设A和B要进行通讯,A和B与KDC各有一个共享密钥 Ka和Kb, 如何利用这两个密钥进行认证,并且商定一个 会话密钥Ks
我是A,我 想和B通讯 KDC 会话密钥Ks ,由A送给B 的认证信息
A
Ka
我把必要的 信息告诉你
Kb
B
我把消息给你,如果 你是B,你就可以解开
AKDC: (IDA||IDB||N1) KDCA: EKa[Ks||IDB||N1||EKb(Ks,IDA)] AB: EKb(Ks,IDA)||EKs(M)
针对认证协议的一些常见攻击手段 和相应对策
中间人攻击(MITM, man in the middle)
A E B
如果通讯双方没有任何先决条件,那么这种攻 击总是存在的 A和B的协商过程很容易受到这一类攻击 对策: 增加A和B之间的先决知识
常见攻击和对策(二)
重放攻击(replay attacks)
避免传输明文/密文对 增加已知明文攻击的难度
选择明文攻击
在认证协议中,如果随机数的选择没有任何规则,那 么中间人或者假冒方就有可能选择随机数,从而实施 选择明文攻击 对策
随机数的选择限制
认证协议中的常用技术(一)
时间戳
A收到一个消息,根据消息中的时间戳信息, 判断消息的有效性
Байду номын сангаас
如果消息的时间戳与A所知道的当前时间足够接近 在网络环境中,特别是在分布式网络环境中,时钟 同步并不容易做到 一旦时钟同步失败 要么协议不能正常服务,影响可用性 (availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会
在有的协议中,这个challenge也称为nonce
这个条件可以是知道某个口令,也可能是其 他的事情
变换例子:用密钥加密,说明B知道这个密钥; 简单运算,比如增一,说明B知道这个随机值
常用于交互式的认证协议中
分析一个协议: Kehn92
1A→B
IDA||Na IDB||Nb || EKb[IDA || Na || Tb] EKa[IDB||Na ||Ks|| Tb ] || EKb[IDA || Ks || Tb] || Nb EKb[IDA || Ks || Tb] || EKs[ Nb ]