05 《信息系统安全》第五讲 身份认证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Password-Based Authentication
Using a password to authenticate a client to a server
认证技术的演变:一个简单的认证对话
C和S都必须在AS中注册,共享密钥 KC、KS (1) C AS : IDc || Pc ||IDS (2) ASC : Ticket Ticket=EKs (IDc|| ADc || IDs) (3) C S : IDc || Ticket (1) C (2) AS
挑战/回答(CRYPTOCard)用户要求登录时,系统产生一个随 机数发送给用户。用户用某种单向算法将自己的秘密口令和随 机数混合起来发送给系统,系统用同样的方法做验算即可验证 用户身份。
不确定因子选择方式:事件同步
事件同步(Safe Word)以挑战/回答方式为基础,将单向的前 后相关序列作为系统的挑战信息,以节省用户每次输入挑战信 息的麻烦。
对基于口令认证的思考
如果要频繁地登录多个服务器,怎么办?
如果用户要获得1000台服务器提供的服务,那 么要记住1000台服务器的口令,每访问一台服 务器都要输一次口令
如果要修改口令,要修改一千次
认证技术的演变: Kerberos认证
http://www.kerberos.org/
Kerberos 简介
Kerberos v4 的认证过程
(1) (2) (3) 请求Ticketv Ticketv+会话密钥 (5) (4)
AS
TGS
(6)
Kerberos报文交换第一轮:获取票据许可票据
Step (1) 用户请求票据许可票据
用户请求票据许可票据的工作在登录工作站时进行。 登录时用户被要求输入用户名,输入后系统会向认证服务器 AS以明文方式发送一条包含用户和TGS服务两者名字的请求。
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客 户机 / 服务器应用程序提供强大的认证服务。 该认证过程的实现不依赖于主机操作系统,无需基于主机地 址的信任,不要求网络上所有主机的物理安全,并假定网络 上传送的数据包可以被任意地读取、修改和插入数据。 Kerberos作为一种可信任的第三方认证服务,是通过传统的密 码技术(如共享密钥)执行认证服务的。
“人既然在此,却还要用人外之物来证明此人是谁,这从 逻辑上说有点问题。” 2004 年24期
常用的身份认证技术/协议
基于口令的认证 简单口令认证 质询/响应认证 一次性口令认证(OTP) Kerberos认证 基于公钥证书的身份认证 基于生物特征的身份认证
身份认证Baidu Nhomakorabea术 演变
一次性口令的生成方式:手机令牌
手机令牌是用来生成动态口令的手机 客户端软件 动态口令与手机绑定进行身份认证 不仅提供通用版本,还支持各种手机 操作系统(包括iPhone、Sybiam、 Windows Mobile、Andriod等) 目前成熟的手机令牌有RSA 手机令 牌、iKEY手机令牌
但当用户的挑战序列与服务器产生偏差后,需要重新同步。
一次性口令的生成方式:硬件卡
Token Card(硬件卡) 用类似计算器的小卡片计算一次性口令。 对于挑战/回答方式,该卡片配备有数字按键,便于输入挑 战值; 对于时间同步方式,该卡片每隔一段时间就会重新计算口 令; 有时还会将卡片作成钥匙链式的形状,某些卡片还带有PIN 保护装置。
需要解决的问题
在一个开放的网络环境中,提供服务的服务器必须能够识别 请求服务的实体的身份。 如果我去邮件服务器申请我的邮件,服务程序必须能够验证 我就是我所申明的那个人
身份认证是干什么的? Authentication is proving (to some reasonable degree) that users (or subjects) are who they claim to be.
http://www.faqs.org/rfcs/rfc1760.html http://www.ietf.org/rfc/rfc2289.txt
动态口令的缺点(perhaps)
(1)用户需要拥有动态令牌进行认证 (2)OTP需要一台额外的服务器接受来自认证服务器中继的请求 (3)使用OTP输入一个密码比输入一个用户需要记住的密码时间 花费更高 (4)在大型网络中OTP价格不菲 OTP显然是一种有价值的技术,只是不能到处使用。 大多数的机构选择将OTP用于他们安全策略中的关键系统, 或用在密码破解尝试较多的地方。 对于一个典型的机构,关键系统包括财务和人力资源系统, 也可以是拨号或虚拟专用网这样的远程系统。
不确定因子选择方式:口令序列
口令序列(S/KEY)口令为一个单向的前后相关的序列,系统 只需记录第 N个口令。用户用第N-1个口令登录时,系统用单 向算法算出第N个口令与自己保存的第N个口令匹配,以判断 用户的合法性。
由于N是有限的,用户登录N次后必须重新初始化口令序列。
不确定因子选择方式:挑战/回答
Internet中的难题:一幅漫画
网络环境
Web Server File server Email server
...
User 1
User 2
...
Attacker
Three threats exist User pretend to be another user. User alter the network address of a workstation User eavesdrop on exchange and use a replay attack
设置一台单独的认证服务器,通过认 证后,可访问所有的应用服务器,认 证服务器保存所有用户的口令和权限。
Kerberos基本思想
所有应用服务器和用户的口令都保存在认证服务器 用户需要访问某一台应用服务器时,需要向认证服务器提出 申请,应用服务器通过用户名和口令验证了用户的身份后, 将用户欲访问的某台应用服务器的“口令”传递给他,用户 就可以使用这个口令去访问应用服务器了
存在的问题
问题: AS不能直接给你邮件服务器的口令,因为你一旦知道它, 下次需要邮件服务的时候,你就会绕过AS使用邮件服务而不需 要认证。
一个更加安全的认证对话
Stage 1
Client向KDC(AS)发送自己的身份 信息,KDC从Ticket Granting Service 得到TGT(ticket-granting ticket), 并用协议开始前Client与KDC之间的 密钥将TGT加密回复给Client。
证实某主体的真实身份与其所声称的身份是否相符的过程。
身份认证的基本途径
基于你所知道的(What you know ) 知识、口令、密码
基于你所拥有的(What you have ) 身份证、信用卡、钥匙、智能卡、令牌等
身份认证的基本途径:身体就是身份证
基于你的个人特征(What you are) 指纹,笔迹,声音,手型,脸型,视网膜,虹膜
票据(Ticket)
所以不是直接给你邮件服务器的口令,AS给你一张邮件服务 的“票”。这张票含有你的ID、网络地址和邮件服务器的ID, 并把它们是用邮件服务器的口令加密。
拿到票,你不能解密从而知道邮件服务器的口令!
应用服务器验票的过程
你可以把票传送给邮件服务器,用来证明你的身份。 邮件服务器用它自己的口令把票解密,如果票能被正确的解 密,服务器将票里的用户ID取出。服务器把这个ID和随票一 起送上的用户ID进行比较。如果相符,服务器就认为你通过 了验证,就把你的邮件发给你
S
问题一:明文传输口令 C = Client AS= Authentication Server S = Server IDc = identifier of User on C IDs= identifier of V Pc = password of user on C ADc = network address of C Ks = secret key shared by AS and V || = concatenation 问题二:每次访问都要输 入口令
此时只有真正的Client才能利用它与 KDC之间的密钥将加密后的TGT解密, 从而获得TGT。 (此过程避免了Client直接向KDC发送 密码,以求通过验证的不安全方式)
一个更加安全的认证对话
Stage 2
Client利用之前获得的TGT向KDC请求 其他Service的Ticket,从而通过其他 Service的身份鉴别。
What is Kerberos?
Authentication Accounting Audit
Named after the guardian of the underworld in Ancient Greek mythology
频繁地登录多个服务器的解决方案
如果要频繁地登录多个服务器,怎么办?
《信息系统安全》第五讲
身份认证
(Authentication)
2013年4月11日 周亚建 zhouyajian@gmail.com
School of Computer Science, BUPT
Overview of Last Class
容错的定义
容错技术的发展
容错研究的主要内容 容错的应用
身份认证技术 概述
Soft Token
不确定因子 选择方式
OTP
一次性口令的 生成方式
Token Card
SecureID Safe Word IC卡
不确定因子选择方式:时间同步
时间同步(SecureID)以用户登录时间作为随机因素。这种方 式对双方的时间准确度要求较高,一般采取以分钟为时间单位 的折中办法。
在SecureID 产品中,对时间误差的容忍可达±1分钟。
Client和Server共享一个密钥K c s
Login, IDc IDc, R
MAC=H(R, K)
IDc, MAC
OK / Disconnect MAC=H(R, K) 比较MAC和MAC
MAC的计算可以基于现有的哈希算法
静态口令及其缺陷
静态密码主要是指用户的账户密码、查询密码等基本固定的数字 密码。
Username+Password any longer?
2011年末爆发了中国互联网史上最为严重的网站数据泄漏事件, 很多中招用户开始修改自己的密码,“今天你改密码了吗?”成 了最流行的网络问候语,很多用户都在抱怨改密码改到手软。
认证技术的演变:质询/握手认证协议(CHAP)
Challenge Handshake Authentication Protocol
认证技术的演变:一次性口令认证(OTP)
OTP的主要思路是: 在登录过程中加入不确定因素,使每次登录过程中传送的 口令信息都不相同,以提高登录过程安全性。
例如: 登录密码=MD5(用户名+密码 +时间) 系统接收到登录口令后做一个验算即可验证用户的合法性。
不确定因子选择与口令生成
S/key
CRYPTO Card
使用静态密码在使用过程中通常存在以下安全隐患: (1)为了便于记忆,用户多选择生日、电话号码等作为密码,不法分子 可以通过机器人程序不断尝试并且很容易破译密码; (2)一个密码多次使用,容易被不法分子采用截取/重放的方式,对经 过简单加密后传输的认证信息进行分辨,推算出用户的密码,造成无意 泄露; (3)由于当前通过网络传输的认证信息多数是未经加密的明文,不法分 子可以窃听网络数据流,分辨出认证信息,从网上或电话线上截获密码, 轻易获得用户的关键信息; (4)不法分子常常利用窥探、诱骗等手段获取用户的密码。
一次性口令的生成方式:软件令牌(Soft Token)
Soft Token(软件) 用软件代替硬件,某些软件还能够限定用 户登录的地点。
一次性口令的生成方式:IC卡
在IC卡上存储用户的秘密信息,这样用户在登录时就不用记忆 自己的秘密口令了。
一次性口令认证实例
ID challenge Pass phrase + challenge Token Server OTP OTP OTP