身份认证讲义课件_第1页
身份认证讲义课件_第2页
身份认证讲义课件_第3页
身份认证讲义课件_第4页
身份认证讲义课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

认证的实际应用中山大学信息科学与技术学院王常吉

副教授2006年11月认证的实际应用中山大学信息科学与技术学院目录身份认证技术概述基于口令的身份认证简单的口令认证一次性口令认证(OTP)Kerberos身份认证协议基于X.509的身份认证2|2/22/2019目录身份认证技术概述2|2/22/2019身份认证简介身份认证是网络安全中最前沿的一道防线,是最基本的安全服务,其他的安全服务都要依赖于它。一旦身份认证系统被攻破,那么系统的所有安全措施将形同虚设。身份认证指的是对实体身份的证实,用以识别合法或者非法的实体,阻止非法实体假冒合法实体窃取或者访问网络资源3|2/22/2019身份认证简介身份认证是网络安全中最前沿的一道防线,是最基本的身份认证与消息认证的差别身份认证一般要求实时性,消息认证通常不提供实时性;身份认证只证实实体的身份,消息认证除了要证实报文的合法性和完整性外,还需要知道消息的含义。4|2/22/2019身份认证与消息认证的差别身份认证一般要求实时性,消息认证通常身份认证简介身份认证通常是通过某种复杂的身份认证协议来实现,身份认证协议是一种特殊的通信协议,它定义参与认证服务的所有通信方在身份认证过程中需要交换的所有消息的格式、消息的次序以及消息的语义等。通常采用密码学技术来实现认证信息的存储与传输的安全典型的身份认证协议涉及示证者(Prover)验证者(Verifier)攻击者(Attacker)在某些情况下,还涉及可信赖的第三方TTP5|2/22/2019身份认证简介身份认证通常是通过某种复杂的身份认证协议来实现,身份认证简介身份认证模型Ausercanidentifyhimselftowardsasystemby

provingknowledgeofauthenticationcredentials6|2/22/2019身份认证简介身份认证模型6|2/22/2019身份认证简介典型的身份认证机密(authenticationcredentials)实体所知道的或掌握的知识(somethingyouknow,知识证明),如口令实体所持有的物件(somethingyouhave,持有证明),如令牌,智能卡实体的生物特征(somethingyouare,属性证明),如指纹、视网膜、DNA双因素或多因素认证7|2/22/2019身份认证简介典型的身份认证机密(authentication身份认证简介身份认证协议的要求验证者正确识别合法的示证者的概率极大攻击者欺骗示证者(验证者)骗取信任的成功率极小计算有效性,为实现身份认证所需计算量尽可能小通信有效性,为实现身份认证所需通信次数和交互的数据量尽可能小秘密参数能安全地存储双向认证,通信双方能互相认证对方的身份通信双方(多方)发生争执时,可由TTP解决争执可证明安全性8|2/22/2019身份认证简介身份认证协议的要求8|2/22/201身份认证简介事实上,每一个身份认证协议都具有自己的应用范围,并非每个身份认证协议都必须满足以上要求。在不同的应用环境,有不同的安全风险,我们可针对具体环境设计不同特征的认证协议,以较小的代价将安全风险的某一方面降低到可接受的范围9|2/22/2019身份认证简介事实上,每一个身份认证协议都具有自己的应用范围,身份认证简介在网络环境下,由于认证信息需通过在网上传输,攻击者可能对身份认证系统发起以下的攻击窃听(Eavesdropping)猜测攻击(Guessing)中间人攻击(Man-in-the-Middle)重放攻击(Replay)攻击认证服务器(Compromisedserver)密码分析攻击(Cryptanalysis)社交工程(Socialengineering)……10|2/22/2019身份认证简介在网络环境下,由于认证信息需通过在网上传输,攻击身份认证简介随着信息安全技术的不断发展,身份认证技术也经历了从简单到复杂的发展过程。单机环境下的身份认证

网络环境下的身份认证静态口令的身份认证

动态(一次性)口令的身份认证只有通信双方参与的身份认证

引入可信第三方的身份认证基于对称密码体制的身份认证(Kerberos)

基于公钥密码体制(PKI)的身份认证单纯的身份认证

身份认证和密钥建立(Keyestablishment)的结合[P1363工作组于2000年开始制定IEEEP1363.2标准,即基于口令的公钥密码技术,重点讨论Password-authenticatedKeyAgreementProtocol]11|2/22/2019身份认证简介随着信息安全技术的不断发展,身份认证技术也经历了基于口令的身份认证最简单的身份认证方式是采用用户名/静态口令方式,它是最基本也是最经济实用的认证方式目前各类计算资源主要靠静态口令的方式来保护,客户方直接把口令以明文的形式传给服务器,服务器直接保存用户的口令或者保存口令的哈希值以进行验证,例如大多数Unix系统和FTP,Telnet等协议采用在服务器上保存口令的哈希值为解决静态口令的诸多问题,安全专家提出了一次性口令(OneTimePassword)技术。基本思想是在网上传送的口令只使用一次。一次性口令系统主要是为抵制重放攻击而设计的。12|2/22/2019基于口令的身份认证最简单的身份认证方式是采用用户名/静态口令基于口令的身份认证自从L.Lamport于1981年最早提出利用哈希函数设计OTP以来,各种OTP协议纷纷被提出,如CHAP,EAP等目前OTP的实现机制主要有挑战/应答(Challenge/Response):用户要求登录时,系统产生一个随机数(挑战)发送给用户,用户将该随机数和口令按约定的算法做运算,结果作为应答发给服务器,服务器运用约定的算法对口令和随机数做运算以验证用户身份。由于服务器发出的每次挑战不同,因此用户给出的应答也不同,从而避免了重放攻击,也避免了口令的明文传输,但此机制仍然存在口令猜测攻击,且对于用户来说,操作繁复,容易造成输入错误13|2/22/2019基于口令的身份认证自从L.Lamport于1981年最早提基于口令的身份认证ChallengeandResponseHandshakeProtocolClient和Server共享一个密钥KLogin,IDcIDc,RIDc,MACClientMAC=H(R,K)MAC’=H(R,K)比较MAC’和MACOK/DisconnectServer14|2/22/2019基于口令的身份认证ChallengeandRespons基于口令的身份认证口令序列(S/Key):是挑战/应答机制的改进。在S/Key中,口令为一个单向的前后相关的序列,系统只需记录第N个口令。用户用第N-1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列,且存在口令猜测攻击,内部人员攻击和小数攻击等时间同步(TimeSynchronization):以用户登录时间而不是以服务器的挑战作为随机因素,同步是指用户密码卡和认证服务器所产生的口令在时间上必须同步。RSA信息安全公司最先成功地研制出基于时间同步的动态口令认证系统RSASecureID,也由此获得了时间同步口令认证的专利。15|2/22/2019基于口令的身份认证口令序列(S/Key):是挑战/应答机制的基于口令的身份认证S/Key/rfcs/rfc1760.html/rfc/rfc2289.txtTokenServerchallengeOTPPassphrase+

challengeOTPOTPf(f(f(f(x)))))16|2/22/2019基于口令的身份认证S/KeyTokenServerchal基于口令的身份认证口令管理

口令属于“somethingyouknow”这种方式,容易被窃取口令的错误使用:选择一些很容易猜到的口令;把口令告诉别人;把口令写在一个贴条上并把它贴在键盘旁边。口令管理的作用:生成了合适的口令口令更新口令保密

17|2/22/2019基于口令的身份认证口令管理17|2/22/201基于口令的身份认证口令的要求:包含一定的字符数;和ID无关;包含特殊的字符和大小写;不容易被猜测到;跟踪用户所产生的所有口令,确保这些口令不相同;定期更改其口令;使用字典式攻击的工具找出比较脆弱的口令,许多安全工具都具有这种双重身份:网络管理员使用的工具:口令检验器攻击者破获口令使用的工具:口令破译器

18|2/22/2019基于口令的身份认证口令的要求:18|2/22/20基于口令的身份认证口令产生器

不是让用户自己选择口令,口令产生器用于产生随机的和可拼写口令

口令的时效

强迫用户经过一段时间后就更改口令系统还记录至少5到10个口令,使用户不能使用刚刚使用的口令限制登录次数

免受字典式攻击或穷举法攻击

19|2/22/2019基于口令的身份认证口令产生器19|2/22/20Kerberos身份认证协议Needham和Schroeder最先提出在身份认证协议中引入可信任的第三方,Kerberos基于N-S认证协议AliceBobTrent(KDC)12345A

T:A||B||NAT

A:{NA||B||K||{K||A}KB,T}KA,TA

B:{K||A}KB,TB

A:{NB}KA

B:{NB-1}K20|2/22/2019Kerberos身份认证协议Needham和SchroedeKerberos身份认证协议Kerberos是80年代中期,麻省理工学院为Athena项目开发的一个认证服务系统Kerberos是希腊神话故事中一种三个头的狗,还有一个蛇形尾巴,是地狱之门的守卫Kerberos系统的目标是把认证(Authentication)、记帐(Accounting)、审计(Audit)的功能扩展到网络环境版本前三个版本仅用于内部第四版得到了广泛的应用第五版于1989年开始设计RFC1510(1993年)21|2/22/2019Kerberos身份认证协议Kerberos是80年代中期,Kerberos身份认证协议MIT提供了完整的Kerberos实现/kerberos/www/源码开放目前的最新版本为1.4.1(2005年4月22)支持各种平台(Windows/Macintosh)同时提供了各种工具(k系列)22|2/22/2019Kerberos身份认证协议MIT提供了完整的KerberoKerberos要解决的问题在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。服务器应能够限制非授权用户的访问并能够鉴别对服务的请求。工作站无法可信地向网络服务证实用户的身份,即工作站存在三种威胁。一个工作站上一个用户可能冒充另一个用户操作;一个用户可能改变一个工作站的网络地址,从而冒充另一台工作站工作;一个用户可能窃听他人的信息交换,并用回放攻击获得对一个服务器的访问权或中断服务器的运行。23|2/22/2019Kerberos要解决的问题在一个开放的分布式网络环境中,用Kerberos要解决的问题所有上述问题可以归结为一个非授权用户能够获得其无权访问的服务或数据。不是为每一个服务器构造一个身份鉴别协议,Kerberos提供一个中心鉴别服务器,提供用户到服务器和服务器到用户的鉴别服务。24|2/22/2019Kerberos要解决的问题所有上述问题可以归结为一个非授权Kerberos系统应满足的要求安全:网络窃听者不能获得必要信息以假冒其它用户;Kerberos应足够强壮以至于潜在的敌人无法找到它的弱点连接。可靠:Kerberos应高度可靠,并且应借助于一个分布式服务器体系结构,使得一个系统能够备份另一个系统。透明:理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。可伸缩:系统应能够支持大数量的客户和服务器。25|2/22/2019Kerberos系统应满足的要求安全:网络窃听者不能获得必要一个简单的认证对话1)CAS:IDc||Pc||IDv2)ASC:Ticket3)CV:IDc||Ticket

Ticket=EKv(IDc||ADc||IDv)ASVC(1)(2)(3)C=Client

AS=AuthenticationServer

V=Server

IDc=identifierofUseronC

IDv=identifierofV

Pc=passwordofuseronC

ADc=networkaddressofC

Kv=secretkeysharedbyeASandV

||=concatention

问题一:明文传输口令问题二:每次访问都要输入口令26|2/22/2019一个简单的认证对话1)CAS:IDc||Pc一个更加安全的认证对话CAS:IDC||IDtgsASC:EKc[Tickettgs]CTGS:IDC||IDv||TickettgsTGSC:TicketvCV:IDc||TicketvTickettgs=EKtgs[IDC||ADC||IDtgs||TS1||Lifetime1]Ticketv=EKv[IDC||ADC||IDV||TS2||Lifetime2]口令没有在网络上传输Tickettgs

可重用,用一个Tickettgs

可以请求多个服务ASVC(1)(2)(3)TGS(4)(5)27|2/22/2019一个更加安全的认证对话CAS:IDC||IDt一个更加安全的认证对话问题一:票据许可票据tickettgs的生存期如果太大,则容易造成重放攻击如果太短,则用户总是要输入口令问题二:如何向用户认证服务器解决方法增加一个会话密钥(SessionKey)28|2/22/2019一个更加安全的认证对话问题一:票据许可票据tickettgsKerberos基本概念Principal(安全个体)被鉴别的个体,有一个名字(name)和口令(password)KDC(Keydistributioncenter)是一个网络服务,提供ticket和临时的会话密钥Ticket一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket中的大多数信息都被加密,密钥为服务器的密钥Authenticator一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥29|2/22/2019Kerberos基本概念Principal(安全个体)29Kerberos基本概念AuthenticationServer(AS)–mutualauthenticationwithclientatloginbasedonlong-termkey,givesclientticket

grantingticketandshort-termkey.ASprovidesanauthenticationserviceTicketGrantingServer(TGS)–mutualauthenticationwithclientbasedonshort-termkeyandticketgrantingticket.TGSthenissuesticketsgivingclientsaccesstofurtherservers.TGSprovidesanaccesscontrolservice.30|2/22/2019Kerberos基本概念AuthenticationSerKerberos工作原理Insteadofclientsendingpasswordtoapplicationserver:RequestTicketfromauthenticationserverTicketandencryptedrequestsenttoapplicationserverHowtorequestticketswithoutrepeatedlysendingcredentials?Ticketgrantingticket(TGT)31|2/22/2019Kerberos工作原理InsteadofclientKerberos工作原理32|2/22/2019Kerberos工作原理32|2/22/2019KerberosV4ASTGS请求tickettgsTickettgs+会话密钥请求ticketvTicketv+会话密钥请求服务提供服务器认证符(1)(2)(3)(4)(5)(6)33|2/22/2019KerberosV4ASTGS请求tickettgsTicKerberosV4的报文交换AS交换,获得Tickettgs用户登录工作站,请求主机服务

C→AS:IDc||IDtgs||TS1AS在数据库中验证用户的访问权限,生成Tickettgs

和会话密钥,用由用户口令导出的密钥加密

AS→C:EKc[Kc,tgs||IDtgs||TS2||Lifetime2||Tickettgs]其中

Tickettgs=EKtgs[Kc,tgs||IDc||ADc||IDtgs||TS2||Lifetime2]34|2/22/2019KerberosV4的报文交换AS交换,获得TickettKerberosV4的报文交换TGS服务交换,获得服务票据Ticketv工作站提示用户输入口令来对收到的报文进行解密,然后将Tickettgs

以及包含用户名称、网络地址和事件的认证符发给TGSC→TGS:IDV||Tickettgs||AuthenticatorcTGS对票据和认证符进行解密,验证请求,然后生成服务许可票据TicketvTGS→C:EKc,tgs[Kc,v||IDV||TS4||Ticketv]

其中Tickettgs=EKtgs[Kc,tgs||IDC||ADC||IDtgs||TS2||Lifetime2]Ticketv=EKv[Kc,v||IDC||ADC||IDv||TS4||Lifetime4]Authenticatorc=EKc,tgs[IDc||ADc||TS3]35|2/22/2019KerberosV4的报文交换TGS服务交换,获得服务票据KerberosV4的报文交换客户户/服务器认证交换:获得服务工作站将票据和认证符发给服务器

C→V:Ticketv||Authenticatorc服务器验证票据Ticketv和认证符中的匹配,然后许可访问服务。如果需要双向认证,服务器返回一个认证符

V→C:EKc,v[TS5+1]其中Ticketv=EKv[Kc,v||IDc||ADc||IDv||TS4||Lifetime4]Authenticatorc=EKc,v[IDc||ADc||TS5]36|2/22/2019KerberosV4的报文交换客户户/服务器认证交换:获得KerberosV5改进version4的环境缺陷加密系统依赖性:DESInternet协议依赖性:IP消息字节次序Ticket的时效性AuthenticationforwardingInter-realmauthentication弥补了KerberosV4的不足取消了双重加密CBC-DES替换非标准的PCBC加密模式每次会话更新一次会话密钥增强了抵抗口令攻击的能力37|2/22/2019KerberosV5改进version4的环境缺陷37Kerberos缺陷对时钟同步的要求较高猜测口令攻击基于对称密钥的设计,不适合于大规模的应用环境38|2/22/2019Kerberos缺陷对时钟同步的要求较高38|2/基于X.509公钥证书的认证基于哈希函数和对称密码技术的身份认证系统最大的缺陷是不能提供信息的不可否认性,公钥密码技术的出现为身份认证协议带来了强有力的方法和手段。目前以X.509公钥证书(PublicKeyCertificate)为基础的PKI体制正逐渐取代对称密钥认证而成为网络身份认证和授权体系的主流在X.509认证体系中,一个可信任的第三方(CertificateAuthority)为实体颁发的PKC,PKC是经由CA采用公钥密码技术将用户的公钥和身份信息捆绑后进行数字签名的一种权威的电子文档,用于证明实体的身份和公钥的合法性。通信双方通过获取对方的公钥证书,使用CA的公钥检验PKC的正确性,从而获知PKC中的公钥对应到一个特定的实体对象,然后就可以运用挑战/应答机制,判断对方是否持有PKC中公钥对应的私钥,从而完成实体身份认证,最典型的实例就是SSL(SecureSocketLayer)协议39|2/22/2019基于X.509公钥证书的认证基于哈希函数和对称密码技术的身份基于X.509公钥证书的认证X.509认证框架X.509证书基于公钥证书的认证过程不同管理域的问题40|2/22/2019基于X.509公钥证书的认证X.509认证框架40|X.509认证框架CertificateAuthority签发证书RegistryAuthority验证用户信息的真实性Directory用户信息、证书数据库没有保密性要求证书获取从目录服务中得到在通信过程中交换DirectoryCARA用户用户注册签发证书、证书回收列表申请签发查询身份认证41|2/22/2019X.509认证框架CertificateAuthority基于X.509公钥证书的认证X509证书的层次管理结构Root-CACACACACACA教育部中山大学XX系...42|2/22/2019基于X.509公钥证书的认证X509证书的层次管理结构RoX.509证书与CRLIssueruniquenameSubjectNameextensionsversionSerialnumberIssuernamesubjectuniquename签名算法标识NotBefore

Not

温馨提示

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

评论

0/150

提交评论