第02章认证技术.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图2 双向认证过程
第一步,客户向服务器发出访问请求; 第二步,服务器要求客户输入ID;
第三步,客户向服务器输入ID;
第四步,服务器要求客户输入密码; 第五步,客户向服务器输入密码; 第六步,服务器验证ID和密码,如果匹配,允许客户进行访问; 第七步,客户提示服务器输入密码; 第八步,服务器按客户要求输入密码; 第九步,客户验证服务器。
· 用 户 名 · 用 户 密 码
· 用 户 名 · 客 户 认 证 请 求 ( T G T ) · 当 前 时 间
· 所 有 用 户 及 服 务 名 称 · 所 有 的 密 码
K e r b e r o s客 户
认 证 服 务 器 A S
图5 Kerberos工作流程
第一步,Kerberos客户向认证服务器AS申请票据TGT,如 图6所示。
中血管分布模式的不同来进行身份鉴别的。语音认证则是依靠
人的声音的频率来判断不同人的身份。
2.5.4
Kerberos
Kerberos的基本原理是利用对称密码技术,通过可信第三方 来认证用户身份,并在用户和服务器之间建立安全信道。
例如,Alice和Bob分别与可信第三方共享密钥,如果用户 Alice要访问Bob提供的服务,那么Alice首先向第三方申请一个用 于访问Bob服务的票据TGT(Ticket Granting Ticket),然后第三方向 Alice提供一个Bob的服务票据TGS(Ticket Granting Server)及用于 Alice和Bob之间安全会话的密钥,最后Alice利用第三方提供的服 务票据和会话密钥,访问Bob服务并进行安全通信。 Kerberos由美国麻省理工学院(MIT)研制实现。
4. 提 示 客 户 输 入 密 码
5. 客 户 输 入 密 码 客 户 6. 客 户 进 入 系 统
服 务 器
7. 提 示 服 务 器 输 入 密 码
8. 服 务 器 输 入 9. 客 户 验 证 服 务 器
图1 单向认证过程
第一步,客户向服务器发出访问请求;
第二步,服务器要求客户输入ID; 第三步,客户向服务器输入ID; 第四步,服务器要求客户输入密码;
例如,通过IP地址的识别,网络管理员可以确定Web访问
是内部用户访问还是外部用户访问。
2.2 认证信息类型
常用的鉴别信息主要有四种:
(1) 所知,如用户口令、 PIN (Personal Identification
Number)。 (2) 所有,一般是不可伪造的设备,如智能卡、磁卡等。 (3) 生物特征信息,如指纹、声音、视网膜等。 (4) 上下文信息,就是认证实体所处的环境信息、地理位置、 时间等,例如IP地址等。
都要修改自己的密码表。由此可见,双向认证需要的代价证过程中,服务方和客户方 的身份鉴别通过第三方来实现。第三方不仅负责维护认证信息, 而且还负责验证双方的身份。 每个用户都把自己的ID和密码发送给可信第三方,由第三 方负责认证过程。 此方法兼顾了安全性和密码存储的简单易行性。
钥,同时使用Kerberos客户的秘密密钥对会话密钥进行加密,
然后生成一个票据TGT。TGT由Kerberos客户名、地址、时间 戳、有效期及会话密钥组成。AS生成TGT后,把TGT发送给 Kerberos客户。第二步认证会话过程如图7所示。
· 用 户 名 · 用 户 密 码 · T G 密 钥
· 用 户 名 使 用 T G 密 · 服 务 请 求 钥 加 密 · 当 前 时 间
构造认证请求单,向TGS发送请求,申请访问应用服务器AP
所需要的票据(Ticket)。第三步认证会话过程如图8所示。
· 用户名 · 用户密码 · T G 密钥 使用T G 密钥 会话密钥 加密 客户端 使用A S 密钥 加密 用于请求服 务的票据 票据 准予 服务
· T G T 接受者 · T G T 限制 时间 · T G 密钥 · A S 密钥
第2章认证技术的原理与应用
2.1 认证相关概念 2.2 认证信息类型 2.3 认证的作用和意义
2.4 认证方法分类
2.5 认证实现技术 2.6 认证技术应用案例 2.7 本章小结 本章思考与练习
1. 访 问 请 求 2. 提 示 客 户 输 入 ID 3. 客 户 输 入 ID 客户 4. 提 示 客 户 输 入 密 码 5. 客 户 输 入 密 码 6. 客 户 进 入 系 统 服务器
· 用户名 · 用户密码 · 所有的用户 和服务名称 · 所 有 的 密 码 认证服务器A S K e r be r os客 户 使用用户 密码加密 票据T G T( 包含 T G 密钥) 时限最好是 8个 小 时
图6 Kerberos客户向AS申请票据TGT
第二步,当认证服务器AS收到Kerberos客户发来的消息后, AS在认证数据库检查、确认Kerberos客户,并产生一个会话密
在Kerberos系统中,票据(Ticket)是用于安全传递用户身份 的信息集合。它不仅包含该用户的身份,而且还包含其他一些 相关的信息。一般来说,它主要包括客户方Principal、目的服务
方Principal、客户方IP地址、时间戳(分发该Ticket的时间)、
Ticket的生存期以及会话密钥等内容。通常将AS和TGS统称为 KDC(Key Distribution Center)。 Kerberos的工作流程主要由六步构成,如图5所示。
行单方面的鉴别,而客户方不需要识别服务方的身份。
例如,假设一个客户需要访问某台服务器,单向认证只是
由客户向服务器发送自己的ID和密码,然后服务器根据收到的 密码和ID,进行比对检验,鉴别客户方的身份真实性。 单向认证过程如图1所示,由六步构成:
1. 访 问 请 求
2. 提 示 客 户 输 入 ID 3. 客 户 输 入 ID
图8 Kerberos客户认证请求票据
第四步, TGS使用其秘密密钥对TGT进行解密,同时使用 TGT中的会话密钥对Kerberos客户的请求认证单信息进行解密,
并将解密后的认证单信息与TGT中的信息进行比较。然后,
TGS生成新的会话密钥以供Kerberos客户和应用服务器使用, 并利用各自的秘密密钥加密会话密钥。最后,生成一个票据, 它由Kerberos客户实体名、地址、时间戳、限制时间、会话密 钥组成。TGS生成TGT完毕后,把TGT发送给Kerberos客户。 第四步认证会话过程如图9所示。
用户名 用户密码 T G 密钥 会话密钥 使用A S 密钥 用于请求服务的票 加密 据 (包含会话密钥) 使用会话密 认证者 钥加密 应用服务器
· 自己的 A S 密钥
K e rb e ro s客户
图9 TGS响应Kerberos客户的请求
同时,在口令认证管理上,应采取以下防范措施:
(1) 限制帐号登录次数,建议为3次。 (2) 禁止共享帐号和口令。 (3) 口令文件应加密存放,只有超级用户能读取。 (4) 禁止以明文形式在网络上传递口令。 (5) 口令应有时效机制,经常更改,至少两周更新一次, 并且禁止重用口令。
(6) 对所有帐号运行口令破解工具,以寻找弱口令或没有 口令的帐号。
图3 Linux的口令认证
但是,口令认证的不足之处是容易受到攻击,主要的攻击 方式有窃听、重放、口令猜测等。因此,要实现口令认证的安
全,应至少做到以下几点:
* 口令信息要安全加密存储;
* 口令信息要安全传输;
* 口令选择要求做到避免弱口令。
针对口令猜测攻击,一般要求用户选择复杂的口令,即
至少符合下列要求: * 口令长度至少为8个字符以上; * 口令应由大小写英文字母、数字、特殊字符组合而成; * 口令不能与帐号名称相同; * 不能用生日、电话号码、门牌号等作为口令; * 所选口令不能包含在黑客攻击的字典库中。
(7) 必须更换系统默认口令,避免使用默认口令。
2.5.2
智能卡技术
智能卡是一种带有存储器和微处理器的集成电路卡,能够 安全存储认证信息,并具有一定的计算能力。
2.5.3
基于生物特征认证
口令认证的缺陷是口令信息容易泄露,而智能卡又可能丢
失或被伪造。在安全性要求高的环境中,这两种技术都难以满
足安全需求。 基于生物特征认证就是指利用人类的生物特征来进行验证。 目前,指纹、视网膜、语音等生物信息都可以被用来进行认证。 人的指纹与生俱来,一生不变。视网膜认证是根据人眼视网膜
在实际应用中,双向认证的代价要比单向认证高。 例如,一个拥有50个用户的网络,每个用户都可以和其 他任何用户通信,所以每个用户都必须有能力对其他任一用 户进行认证。另外,出于保密角度考虑,我们希望每个用户
都有自己的个人密码。在这种情况下,每个用户必须存储所
有其他用户的密码,也就是说每个工作站需要存储49个密码。 如果新添加了一个用户,或者有用户被删除了,于是每个人
· T G T 接 受 者 · T G T 期 限 时 · T G 密 钥 · A S 密 钥
票 据 服 务 器 K e r b e r o s 客 户
图7 AS响应Kerberos客户的TGT请求
第三步,Kerberos客户收到AS 发来的TGT后,使用自己的 秘密密钥进行解密,得到会话密钥,然后利用解密的信息重新
2.5 认证实现技术
2.5.1 口令认证技术 口令认证是根据用户所知道的私有信息进行的身份鉴别, 它不仅应用在网络系统中,也应用在日常生活中。 口令俗称“密码”,在计算机网络中,当需要访问网络设 备、操作系统和网络服务时,系统常常要求用户输入“用户名” 和“密码”。 口令认证的优点就是简单,易于实现。例如,当用户以超 级管理员身份访问Linux系统时,系统要求用户输入“root”用 户名和root的口令信息,如图3所示。
Kerberos认证系统可以用来对网络上通信的实体进行相互身 份认证,并且能够防止止旁听和重放等攻击。
一个Kerberos系统涉及到四个基本实体: * Kerberos客户机:用户用来访问服务器的设备。
* AS(Authentication Server) :为用户分发 TGT(Ticket
Granting Ticket) 的服务器。用户使用 TGT(Ticket Granting Ticket)向TGS(Ticket Granting Server)证明自己的身份。 * TGS(Ticket Granting Server) :为用户分发到最终目 的票据的服务器,用户使用这个票据向自己要求提供服务的服 务器证明自己的身份。 * 应用服务器(Application Server):为用户提供特定服务。
2.1 认证相关概念
认证就是一个实体向另外一个实体证明其所具有的某种特
性的过程。在认证过程中,要用到两种基本安全技术,即标识 技术 (identification) 和鉴别技术 (authentication) 。下面分 别叙述。 (1) 标识。标识用来代表实体的身份,确保实体在系统中的
惟一性和可辨认性,一般用名称和标识符(ID)来表示。通过惟
第五步,客户向服务器输入密码;
第六步,服务器验证ID和密码,如果匹配,则允许客户进
行访问。
2.4.2
双向认证
双向认证是指在网络服务认证过程中,不仅服务方对客户 方要进行鉴别,而且客户方也要鉴别服务方的身份。 双向认证增加了客户方对服务方的认证,这样就可以解决 服务器的真假识别安全问题。
双向认证过程如图2所示,由九步构成:
2.3 认证的作用和意义
认证的主要用途有三方面:
(1) 验证网络资源访问者的身份,给网络系统访问授权提
供支持服务。
(2) 验证网络信息的发送者和接收者的真实性,防止假冒。
(3) 验证网络信息的完整性,防止篡改、重放或延迟。
2.4 认证方法分类
2.4.1 单向认证
单向认证是指在网络服务认证过程中,服务方对客户方进
一标识符,系统可以识别出访问系统的每个用户。例如,在网 络环境中,网络管理员常用IP地址、网卡地址作为计算机用户
的标识。
(2) 鉴别。鉴别是指对实体身份的真实性进行识别。鉴别 的依据是用户所拥有的特殊信息或实物,这些信息是秘密的, 其他用户都不能拥有。系统根据识别和鉴别的结果,来决定 用户访问资源的能力。