网络安全05-认证技术(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络环境下的身份认证 计算机验证计算机 计算机存储和计算能力强大
能存储高数量的密码和密钥 能够快速地进行密码运算
认证人的身份
认证人的身份
所知 (what you know)
密码、口令
所有 (what you have)
身份证、护照、智能卡等
所是 (who you are)
指纹、DNA等
客户端计算机,即可实现身份的确认
动态口令 2
优点
每次使用的密码必须由动态令牌来产生,只有合法 用户才持有该硬件
一次一密,每次登录过程中传送的信息都不相同, 以提高登录过程安全性
缺点
动态令牌与服务器端程序的时间或次数必须保持良 好的同步
使用不便
生物特征认证
采用每个人独一无二的生物特征来验证用户 身份
Kerberos认证协议
网络环境的认证需求
分布式网络环境
服务器+工作站 服务器向用户提供各种网络应用的服务 用户需要访问分布在网络上的、不同位置的服
务(或资源)
服务器的安全
服务器需要授权技术来限制用户对资源的访问 授权和访问控制建立在对用户身份认证的基础
之上
Kerberos认证服务
1、基于“挑战 – 响应”方式,使用时戳(timestamp)作为挑战 2、双方使用共享的秘密对挑战进行密码变换,实现对通信对方的认证 3、效率提高:消息减少为二条
Bob Alice
基于公钥技术的双向认证
I am Alice, {R2}Bob R2,{R1}Alice R1
1、基于“挑战 – 响应”方式 2、双方使用对方的公钥加密数据,要求对方加密,实现对通信对方的认证
生成密钥KAB
1、KDC是一个存储所有用户密钥的数据库。用户可以和KDC进行安全通信 2、Alice请求KDC分配一个会话密钥,以与Bob通信 3、KDC生成一个会话密钥KAB,并用Alice的密钥加密发给Alice。同时, KDC还用Bob的密钥加密KAB,交给Alice转发。 4、Alice解密得到KAB,并把用Bob的密钥加密的KAB发送给Bob 5、Alice和Bob可以基于KAB实现双向认证
Bob Alice
基于共享秘密的单向认证技术 - 3
I am Alice, KAlice-Bob{ timestamp}
1、timestamp是时戳(当前时间)。Bob解密结果,当结果在一定时差内, 则Alice通过认证 2、高效:只需要一条消息 3、要求Alice和Bob有同步的时钟 4、攻击者若能够调整Bob的时间,则可以重新使用以前侦听到的加密时戳 5、动作迅速的攻击者可以利用侦听的加密时戳在另一台机器上冒充Alice 6、攻取Bob的数据库,则可以冒充Alice
针对数字身份进行权限管理,解决数字身份能干 什么的问题
身份认证的分类
用户与主机之间的认证 – 认证人的身份
单机状态下的身份认证 计算机验证人的身份:你是否是你声称的那个人? 人的存储和计算能力有限
记忆高数量的密码密钥困难 执行密码运算能力有限
主机与主机之间的认证 – 通信的初始认证握手
原始的单向认证技术
发送方
用户名/密码
接收方
1、发送方的用户名和密码通过明文方式传送,易窃听 2、接收方检验用户名和密码,然后进行通信,通信中没有保密
基于密码技术的单向认证
不再发送明文的用户名和密码,而是基于“挑战 – 响应”方式
符号
f(KAlice-Bob, R):使用Alice和Bob的共享秘密、按照某种 规则对R做密码变换 KAlice-Bob{R}:使用KAlice-Bob作为共享密钥,基于秘 密密钥算法对R进行加密 h(KAlice-Bob, R):计算R和KAlice-Bob的哈希值
使用KDC的认证 - 1
问题:假设基于秘密密钥技术实现认证
如果网络上有n个节点,则每个节点都必须知道n-1个 密钥。
每增加一个节点,就必须生成n个新的密钥。密钥分发 非常困难
解决方法:使用密钥分发中心KDC
KDC是一个可靠的节点,知道每个节点的密钥,即 KDC和每一个节点都共享一个密钥。
安全性
能够有效防止攻击者假冒合法用户
可靠性
Kerberos服务自身可采用分布式结构,KDC之间互相备份
透明性
用户只需要提供用户名和口令,工作站代替用户实施认证的过 程
可伸缩性
能够支持大量用户和服务器
Kerberos背景
在MIT的Athena项目中开发的一种认证服务 试图解决如下问题
Bob Alice
基于共享秘密的单向认证技术 - 2
I am Alice
KAlice-Bob{ R}
R
1、侦听者可以看到R和f(KAlice-Bob, R),但是不能计算出KAlice-Bob 2、如果R是一个有格式的数据且具有有限时效,则Alice可以认证Bob,防止假冒 3、要求可逆的密码算法 4、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解 5、攻取Bob的数据库,则可以冒充Alice
f(KAlice-Bob, R1)
1、基于“挑战 – 响应”方式 2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证 3、效率提高:消息减少为三条
Bob Alice
基于共享秘密的双向认证 - 3
I am Alice, f(KAlice-Bob, timestamp) f(KAlice-Bob, timestamp+1)
动态口令 1
是一种让用户的密码按照时间或使用次数不断动 态变化,每个密码只使用一次的技术。
专用硬件:动态令牌
内置电源、密码生成芯片和显示屏 密码生成芯片运行专门的密码算法,根据当前时间或
使用次数生成当前密码并显示在显示屏上 认证服务器采用相同的算法计算当前的有效密码 用户使用时只需要将动态令牌上显示的当前密码输入
基于共享秘密的双向认证 - 1
I am Alice R1
f(KAlice-Bob, R1) R2
f(KAlice-Bob, R2)
1、基于“挑战 – 响应”方式 2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证 3、效率不高:消息过多
Bob Alice
基于共享秘密的双向认证 - 2
I am Alice, R2 R1, f(KAlice-Bob, R2)
IC卡是一种内置集成电路的卡片,卡片中存有 与用户身份相关的数据,可以认为是不可复制 的硬件
IC卡由合法用户随身携带,登录时必须将IC卡 插入专用的读卡器读取其中的信息,以验证用 户的身份
IC卡硬件的不可复制可以保证用户身份不会被 仿冒
IC卡中读取的数据还是静态的
通过内存扫描或网络监听等技术还是很容易截取到 用户的身份验证信息
Kerberos:一种基于对称密钥、在网络上 实施身份认证的服务
身份认证作为网络上一种标准的安全服务来提供 能够实现用户和服务器之间的双向认证 集中式的认证服务
通过运行在网络中某个安全节点的密钥分发中心 (KDC,又称为认证服务器)提供认证服务
用户能够用用户名和口令登录工作站,工作站使用用 户名和密码与KDC联系,代替用户获得使用远程资源 所需要的信息
I am Alice {R}Alice R
1、Bob用Alice的公钥加密数据R,并要求Alice解密 2、侦听者无法冒充Alice,即使他攻取了Bob的数据库 3、如果想知道其他人发送给Alice的加密信息,可以诱骗Alice解密
双向认证
用于通信双方的相互认证 认证的同时可以协商会话密钥
Bob Alice
服务器的安全
服务器需要通过授权来限制用户对资源的访问 授权和访问控制是建立在用户身份认证基础上
的
通信安全都要求有初始认证握手的要求
单向认证
只有通信的一方认证另一方的身份,而没 有反向的认证过程
电子邮件
不要求发送方和接收方同时在线 邮件接收方对发送方进行认证
单向认证不是完善的安全措施,可以非常 容易地冒充验证方,以欺骗被验证方
指纹识别、虹膜识别等
生物特征认证是最可靠的身份认证方式,因 为它直接使用人的物理特征来表示每一个人 的数字身份
受到现在的生物特征识别技术成熟度的影响
USB Key认证
近几年发展起来的一种方便、安全、经济的身 份认证技术
软硬件相结合 一次一密 USB Key是一种USB接口的硬件设备,它内置
用户名/密码方式
用户设定密码,计算机验证 易泄露
用户经常用有意义的字符串作为密码 用户经常把密码抄在一个自己认为安全的地方 密码是静态的数据,每次验证过程使用的验证信息
都是相同的,易被监听设备截获
用户名/密码方式一种是极不安全的身份认 证方式
可以说基本上没有任何安全性可言
IC卡认证
[R]Alice:Alice使用私钥对数据R签名 {R}Alice:使用Alice的公钥对数据R加密
Bob Alice
基于共享秘密的单向认证技术 - 1
I am Alice 挑战R
f(KAlice-Bob, R)
1、侦听者可以看到R和f(KAlice-Bob, R),但是不能计算出KAlice-Bob 2、不要求 f 可逆,因此 f 可以是一个哈希函数 3、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解 4、攻取Bob的数据库,则可以冒充Alice
保证操作者的物理身份与数字身份相对应
ຫໍສະໝຸດ Baidu份认证的功能
信息安全体系的目的是保证系统中的数据只 能被有权限的“人”访问,未经授权的“人” 无法访问
身份认证是整个信息安全体系的基础
用于解决访问者的物理身份和数字身份的一致 性问题,给其他安全技术提供权限管理的依据
防火墙、入侵检测、VPN、安全网关等安全 技术建立在身份认证之上
单片机或智能卡芯片,可以存储用户的密钥或 数字证书,利用USB Key内置的密码学算法实 现对用户身份的认证 可使用以上几种技术保护USB Key本身的安全
特点比较
特点
应用
主要产品
用户名/密码 方式
IC卡认证
动态口令
简单易行
简单易行
一次一密,较高安 全性
保护非关键性的系 统,不能保护敏感 信息
很容易被内存扫描 或网络监听等黑客 技术窃取
Bob Alice
基于公钥体制的单向认证技术 - 1
I am Alice R
[R]Alice
1、Alice对数据R用自己的私钥签名,Bob用Alice的公钥检验签名 2、侦听者无法冒充Alice,即使他攻取了Bob的数据库 3、可以诱骗Alice对特定数据的签名
Bob Alice
基于公钥体制的单向认证技术 - 2
使用烦琐,有可能 造成新的安全漏洞
嵌入在各种应用软 件中 IC加密卡等
动态令牌等
生物特征认证 USB Key认证
安全性最高
安全可靠,成本低 廉
技术不成熟,准确 性和稳定性有待提 高
依赖硬件的安全 性
指纹认证系统等 USB接口的设备
安全握手协议的基本思想
网络环境中的认证
分布式的网络环境
大量客户工作站和分布在网络中的服务器 服务器向用户提供各种网络应用和服务 用户需要访问分布在网络不同位置上的服务
网络安全
认证技术
身份认证的概念
身份认证是计算机及网络系统识别操作者身 份的过程
计算机网络是一个虚拟的数字世界,用户的身 份信息是用一组特定的数据来表示的,计算机 只能识别用户的数字身份,所有对用户的授权 也是针对用户数字身份的授权
现实世界是一个真实的物理世界,每个人都拥 有独一无二的物理身份
每个节点希望和其它节点通信,则首先和KDC联系, 由KDC分配一个临时的会话密钥。
Bob KDC
Alice
使用KDC的认证 - 2
Alice wants bob KAlice{use KAB for Bob}, Ticket to Bob=KBob{use KAB
for Alice}
f(KAlice-Bob, R2)
Kerberos v4 and Kerberos v5
相互竞争市场,v4用户量大
Kerberos特征
提供一种基于可信第三方的认证服务
KDC作为第三方,若用户与服务器都信任KDC,则Kerberos 就可以实现用户与服务器之间的双向鉴别。如果KDC是安全的, 并且协议没有漏洞,则认证是安全的。
在公用网络中,用户通过工作站访问网络服务,这些服务 是由分布在网络中的服务器提供的
服务器能够对用户的每一项服务请求进行认证 仅仅依赖工作站对用户的认证是不够的 用户访问每一种网络服务,都需要向服务器证明其身 份
能存储高数量的密码和密钥 能够快速地进行密码运算
认证人的身份
认证人的身份
所知 (what you know)
密码、口令
所有 (what you have)
身份证、护照、智能卡等
所是 (who you are)
指纹、DNA等
客户端计算机,即可实现身份的确认
动态口令 2
优点
每次使用的密码必须由动态令牌来产生,只有合法 用户才持有该硬件
一次一密,每次登录过程中传送的信息都不相同, 以提高登录过程安全性
缺点
动态令牌与服务器端程序的时间或次数必须保持良 好的同步
使用不便
生物特征认证
采用每个人独一无二的生物特征来验证用户 身份
Kerberos认证协议
网络环境的认证需求
分布式网络环境
服务器+工作站 服务器向用户提供各种网络应用的服务 用户需要访问分布在网络上的、不同位置的服
务(或资源)
服务器的安全
服务器需要授权技术来限制用户对资源的访问 授权和访问控制建立在对用户身份认证的基础
之上
Kerberos认证服务
1、基于“挑战 – 响应”方式,使用时戳(timestamp)作为挑战 2、双方使用共享的秘密对挑战进行密码变换,实现对通信对方的认证 3、效率提高:消息减少为二条
Bob Alice
基于公钥技术的双向认证
I am Alice, {R2}Bob R2,{R1}Alice R1
1、基于“挑战 – 响应”方式 2、双方使用对方的公钥加密数据,要求对方加密,实现对通信对方的认证
生成密钥KAB
1、KDC是一个存储所有用户密钥的数据库。用户可以和KDC进行安全通信 2、Alice请求KDC分配一个会话密钥,以与Bob通信 3、KDC生成一个会话密钥KAB,并用Alice的密钥加密发给Alice。同时, KDC还用Bob的密钥加密KAB,交给Alice转发。 4、Alice解密得到KAB,并把用Bob的密钥加密的KAB发送给Bob 5、Alice和Bob可以基于KAB实现双向认证
Bob Alice
基于共享秘密的单向认证技术 - 3
I am Alice, KAlice-Bob{ timestamp}
1、timestamp是时戳(当前时间)。Bob解密结果,当结果在一定时差内, 则Alice通过认证 2、高效:只需要一条消息 3、要求Alice和Bob有同步的时钟 4、攻击者若能够调整Bob的时间,则可以重新使用以前侦听到的加密时戳 5、动作迅速的攻击者可以利用侦听的加密时戳在另一台机器上冒充Alice 6、攻取Bob的数据库,则可以冒充Alice
针对数字身份进行权限管理,解决数字身份能干 什么的问题
身份认证的分类
用户与主机之间的认证 – 认证人的身份
单机状态下的身份认证 计算机验证人的身份:你是否是你声称的那个人? 人的存储和计算能力有限
记忆高数量的密码密钥困难 执行密码运算能力有限
主机与主机之间的认证 – 通信的初始认证握手
原始的单向认证技术
发送方
用户名/密码
接收方
1、发送方的用户名和密码通过明文方式传送,易窃听 2、接收方检验用户名和密码,然后进行通信,通信中没有保密
基于密码技术的单向认证
不再发送明文的用户名和密码,而是基于“挑战 – 响应”方式
符号
f(KAlice-Bob, R):使用Alice和Bob的共享秘密、按照某种 规则对R做密码变换 KAlice-Bob{R}:使用KAlice-Bob作为共享密钥,基于秘 密密钥算法对R进行加密 h(KAlice-Bob, R):计算R和KAlice-Bob的哈希值
使用KDC的认证 - 1
问题:假设基于秘密密钥技术实现认证
如果网络上有n个节点,则每个节点都必须知道n-1个 密钥。
每增加一个节点,就必须生成n个新的密钥。密钥分发 非常困难
解决方法:使用密钥分发中心KDC
KDC是一个可靠的节点,知道每个节点的密钥,即 KDC和每一个节点都共享一个密钥。
安全性
能够有效防止攻击者假冒合法用户
可靠性
Kerberos服务自身可采用分布式结构,KDC之间互相备份
透明性
用户只需要提供用户名和口令,工作站代替用户实施认证的过 程
可伸缩性
能够支持大量用户和服务器
Kerberos背景
在MIT的Athena项目中开发的一种认证服务 试图解决如下问题
Bob Alice
基于共享秘密的单向认证技术 - 2
I am Alice
KAlice-Bob{ R}
R
1、侦听者可以看到R和f(KAlice-Bob, R),但是不能计算出KAlice-Bob 2、如果R是一个有格式的数据且具有有限时效,则Alice可以认证Bob,防止假冒 3、要求可逆的密码算法 4、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解 5、攻取Bob的数据库,则可以冒充Alice
f(KAlice-Bob, R1)
1、基于“挑战 – 响应”方式 2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证 3、效率提高:消息减少为三条
Bob Alice
基于共享秘密的双向认证 - 3
I am Alice, f(KAlice-Bob, timestamp) f(KAlice-Bob, timestamp+1)
动态口令 1
是一种让用户的密码按照时间或使用次数不断动 态变化,每个密码只使用一次的技术。
专用硬件:动态令牌
内置电源、密码生成芯片和显示屏 密码生成芯片运行专门的密码算法,根据当前时间或
使用次数生成当前密码并显示在显示屏上 认证服务器采用相同的算法计算当前的有效密码 用户使用时只需要将动态令牌上显示的当前密码输入
基于共享秘密的双向认证 - 1
I am Alice R1
f(KAlice-Bob, R1) R2
f(KAlice-Bob, R2)
1、基于“挑战 – 响应”方式 2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证 3、效率不高:消息过多
Bob Alice
基于共享秘密的双向认证 - 2
I am Alice, R2 R1, f(KAlice-Bob, R2)
IC卡是一种内置集成电路的卡片,卡片中存有 与用户身份相关的数据,可以认为是不可复制 的硬件
IC卡由合法用户随身携带,登录时必须将IC卡 插入专用的读卡器读取其中的信息,以验证用 户的身份
IC卡硬件的不可复制可以保证用户身份不会被 仿冒
IC卡中读取的数据还是静态的
通过内存扫描或网络监听等技术还是很容易截取到 用户的身份验证信息
Kerberos:一种基于对称密钥、在网络上 实施身份认证的服务
身份认证作为网络上一种标准的安全服务来提供 能够实现用户和服务器之间的双向认证 集中式的认证服务
通过运行在网络中某个安全节点的密钥分发中心 (KDC,又称为认证服务器)提供认证服务
用户能够用用户名和口令登录工作站,工作站使用用 户名和密码与KDC联系,代替用户获得使用远程资源 所需要的信息
I am Alice {R}Alice R
1、Bob用Alice的公钥加密数据R,并要求Alice解密 2、侦听者无法冒充Alice,即使他攻取了Bob的数据库 3、如果想知道其他人发送给Alice的加密信息,可以诱骗Alice解密
双向认证
用于通信双方的相互认证 认证的同时可以协商会话密钥
Bob Alice
服务器的安全
服务器需要通过授权来限制用户对资源的访问 授权和访问控制是建立在用户身份认证基础上
的
通信安全都要求有初始认证握手的要求
单向认证
只有通信的一方认证另一方的身份,而没 有反向的认证过程
电子邮件
不要求发送方和接收方同时在线 邮件接收方对发送方进行认证
单向认证不是完善的安全措施,可以非常 容易地冒充验证方,以欺骗被验证方
指纹识别、虹膜识别等
生物特征认证是最可靠的身份认证方式,因 为它直接使用人的物理特征来表示每一个人 的数字身份
受到现在的生物特征识别技术成熟度的影响
USB Key认证
近几年发展起来的一种方便、安全、经济的身 份认证技术
软硬件相结合 一次一密 USB Key是一种USB接口的硬件设备,它内置
用户名/密码方式
用户设定密码,计算机验证 易泄露
用户经常用有意义的字符串作为密码 用户经常把密码抄在一个自己认为安全的地方 密码是静态的数据,每次验证过程使用的验证信息
都是相同的,易被监听设备截获
用户名/密码方式一种是极不安全的身份认 证方式
可以说基本上没有任何安全性可言
IC卡认证
[R]Alice:Alice使用私钥对数据R签名 {R}Alice:使用Alice的公钥对数据R加密
Bob Alice
基于共享秘密的单向认证技术 - 1
I am Alice 挑战R
f(KAlice-Bob, R)
1、侦听者可以看到R和f(KAlice-Bob, R),但是不能计算出KAlice-Bob 2、不要求 f 可逆,因此 f 可以是一个哈希函数 3、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解 4、攻取Bob的数据库,则可以冒充Alice
保证操作者的物理身份与数字身份相对应
ຫໍສະໝຸດ Baidu份认证的功能
信息安全体系的目的是保证系统中的数据只 能被有权限的“人”访问,未经授权的“人” 无法访问
身份认证是整个信息安全体系的基础
用于解决访问者的物理身份和数字身份的一致 性问题,给其他安全技术提供权限管理的依据
防火墙、入侵检测、VPN、安全网关等安全 技术建立在身份认证之上
单片机或智能卡芯片,可以存储用户的密钥或 数字证书,利用USB Key内置的密码学算法实 现对用户身份的认证 可使用以上几种技术保护USB Key本身的安全
特点比较
特点
应用
主要产品
用户名/密码 方式
IC卡认证
动态口令
简单易行
简单易行
一次一密,较高安 全性
保护非关键性的系 统,不能保护敏感 信息
很容易被内存扫描 或网络监听等黑客 技术窃取
Bob Alice
基于公钥体制的单向认证技术 - 1
I am Alice R
[R]Alice
1、Alice对数据R用自己的私钥签名,Bob用Alice的公钥检验签名 2、侦听者无法冒充Alice,即使他攻取了Bob的数据库 3、可以诱骗Alice对特定数据的签名
Bob Alice
基于公钥体制的单向认证技术 - 2
使用烦琐,有可能 造成新的安全漏洞
嵌入在各种应用软 件中 IC加密卡等
动态令牌等
生物特征认证 USB Key认证
安全性最高
安全可靠,成本低 廉
技术不成熟,准确 性和稳定性有待提 高
依赖硬件的安全 性
指纹认证系统等 USB接口的设备
安全握手协议的基本思想
网络环境中的认证
分布式的网络环境
大量客户工作站和分布在网络中的服务器 服务器向用户提供各种网络应用和服务 用户需要访问分布在网络不同位置上的服务
网络安全
认证技术
身份认证的概念
身份认证是计算机及网络系统识别操作者身 份的过程
计算机网络是一个虚拟的数字世界,用户的身 份信息是用一组特定的数据来表示的,计算机 只能识别用户的数字身份,所有对用户的授权 也是针对用户数字身份的授权
现实世界是一个真实的物理世界,每个人都拥 有独一无二的物理身份
每个节点希望和其它节点通信,则首先和KDC联系, 由KDC分配一个临时的会话密钥。
Bob KDC
Alice
使用KDC的认证 - 2
Alice wants bob KAlice{use KAB for Bob}, Ticket to Bob=KBob{use KAB
for Alice}
f(KAlice-Bob, R2)
Kerberos v4 and Kerberos v5
相互竞争市场,v4用户量大
Kerberos特征
提供一种基于可信第三方的认证服务
KDC作为第三方,若用户与服务器都信任KDC,则Kerberos 就可以实现用户与服务器之间的双向鉴别。如果KDC是安全的, 并且协议没有漏洞,则认证是安全的。
在公用网络中,用户通过工作站访问网络服务,这些服务 是由分布在网络中的服务器提供的
服务器能够对用户的每一项服务请求进行认证 仅仅依赖工作站对用户的认证是不够的 用户访问每一种网络服务,都需要向服务器证明其身 份