您好,欢迎访问三七文档
网络与信息安全身份认证沈超刘烃自动化科学与技术系西安交通大学电子与信息工程院chaoshen@mail.xjtu.edu.cntingliu@mail.xjtu.edu.cn1/30/20201身份认证的必要性?重要性?•身份认证的作用是判别用户的身份:–由计算机的访问监视器根据用户的身份和授权决定用户能够访问的资源–保障信息系统安全的第一道关卡•身份认证系统一旦被攻破:–系统的所有安全措施将形同虚设–黑客攻击的首要目标往往就是身份认证系统1/30/20202提纲1.身份认证技术概述2.基于口令的身份认证3.Kerberos身份认证协议4.基于X.509的身份认证5.基于生物特征的身份认证6.Windows系统身份认证设计1/30/20203身份认证的概念•身份认证是计算机及网络系统识别操作者身份的过程。–计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权–现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份保证操作者的物理身份与数字身份相对应1/30/20204身份认证的分类•用户与主机之间的认证–认证人的身份–单机/网络环境下的身份认证–计算机验证人的身份:你是否是你声称的那个人?•主机与主机之间的认证–通信的初始认证握手–网络环境下的身份认证–计算机验证计算机1/30/20205当前计算环境中的什么场景会用到身份认证?•操作系统登录–Windows–Unix–Linux•远程服务登录–Telnet–FTP–Email–VPN•网络接入服务–Internet–校园网–企业内部网•在线交易–网上银行–电子证券–电子商务1/30/20206身份认证的需求(1/2)•唯一的身份标识(ID):–uid,uid@domain–E.g.,Email=dhx@cernet.edu.cn•抵抗被动的威胁(窃听),口令不在网上明文传输源目的sniffer进行下列网络服务的身份认证时,口令传输哪些是明文传输,哪些是加密传输:Telnet,FTP,SMTP,SSH1/30/20207Wireshark抓包验证telnet明文传输密码1/30/20208身份认证的需求(2/2)•抵抗主动的威胁,比如阻断、伪造、重放,网络上传输的认证信息不可重用加密解密passwd$%@&)*=-~`^,{1/30/20209身份认证的方式(1/2)•单向认证–只有通信的一方认证另一方的身份,而没有反向的认证过程•双向认证–用于通信双方的相互认证–认证的同时可以协商会话密钥•单点认证(SingleSign-On)–用户只需要一次认证操作就可以访问多种服务•本地多用户认证–Login:如何管理口令•远程用户认证–一次性•访问资源或者服务之前进行认证–多次访问资源或者服务•身份,获得credential•利用credential访问资源或者服务身份认证的方式(2/2)身份认证基本途径•基于你所知道的(Whatyouknow)–知识、口令、密码•基于你所拥有的(Whatyouhave)–身份证、信用卡、钥匙、智能卡、令牌、私钥等•基于你的个人特征(Whatyouare)–指纹,笔迹,声音,手型,脸型,视网膜,虹膜•双因素、多因素认证1/30/202012身份认证的基本模型•申请者(Claimant)•验证者(Verifier)•认证信息AI(AuthenticationInformation)•可信第三方(TrustedThirdParty)申请AI验证AI申请AI验证AI交换AI1/30/202013身份认证的基本模型•假设A和B要进行通讯,A和B有一个共享的密钥Kab,如何利用这个密钥进行认证,并且商定一个会话密钥Ks1.AB:(IDA||N1)2.BA:EKab[Ks,IDB,f(N1),N2)]3.AB:EKs[f(N2)]这里的f函数为某个确定的运算,比如f(x)=x+1AKabB我是A告诉你Ks,以后就用它,别让别人知道好的,我用它试试,可我怎么知道你是B呢如果你知道Kab,那么你就知道Ks,我就知道你是A1/30/202014身份认证的基本模型•假设A和B要进行通讯,A和B与KDC各有一个共享密钥Ka和Kb,如何利用这两个密钥进行认证,并且商定一个会话密钥Ks1.AKDC:(IDA||IDB||N1)2.KDCA:EKa[Ks||IDB||N1||EKb(Ks,IDA)]3.AB:EKb(Ks,IDA)||EKs(M)AKbB我是A,我想和B通讯KDCKa我把必要的信息告诉你我把消息给你,如果你是B,你就可以解开会话密钥Ks,由A送给B的认证信息1/30/202015常用的身份认证技术/协议•口令认证技术–简单口令认证–质询/响应认证–一次性口令认证(OTP)•Kerberos认证技术•基于公钥证书的身份认证•基于生物特征的身份认证1/30/202016回顾•网络安全中的“身份认证”–网络安全服务:数字身份–场景–方式(单向、双向、单点)–本地与远程–模型–基本途径KnowHaveBe1/30/202017提纲1.身份认证技术概述2.基于口令的身份认证3.Kerberos身份认证协议4.基于X.509的身份认证5.基于生物特征的身份认证6.Windows系统身份认证设计1/30/202018安全口令认证系统设计内容•口令传输•口令验证1/30/202019基于口令的身份认证1本地简单口令认证2简单口令认证协议(PAP)3一次性口令(OTP)4质询/响应认证协议(CHAP)5口令的管理1/30/202020简单口令认证•本地简单口令认证口令帐户查询帐户/口令信息表系统已知合法帐户的密码口令是否正确?比较认证通过认证没通过是否简单口令认证•Windows本地登录认证WinlogonGINAmsv1_0LSASAM简单口令认证•Linux本地登录认证密码帐户查询/etc/passwd密码正确?认证通过退出是否合法帐户?加密算法(Hash)查询/etc/shadow否简单口令认证协议•PAP(PasswordAuthenticationProtocol):–口令认证协议–两次握手验证过程–用户名和密码以明文(不加密的)形式发送到远程访问服务器客户端(Client)请求信息(用户名,密码)服务器端(Server)验证结果(Ack/Nak)简单口令认证•Code–1Authenticate-Request–2Authenticate-Ack–3Authenticate-NakCodeIdentifierLengthPeer-IDLengthPeer-IDPasswordLengthPasswordPAP请求包格式CodeIdentifierLengthMsg-LengthMessagePAP应答包格式简单口令认证•PAP简单且易于实现。•PAP存在很大的安全问题,用户的用户名和密码是以明码的方式进行传送的,数据在从用户端发出到认证方接收到的整个过程中毫无遮拦的暴露在线路上面。CodeIdentifierLengthPeer-IDLengthPeer-IDPasswordLengthPasswordPAP请求包格式CodeIdentifierLengthMsg-LengthMessagePAP应答包格式一次性口令认证(OTP)•OTP:OneTimePassword–系统在用户登录时给用户提供一个随机数,用户将这个随机数送入口令发生器,口令发生器以用户的密钥对随机数加密,然后用户再将口令发生器输出的加密口令送入认证系统。认证系统再进行同样方法计算出一个结果,比较两个结果决定是否该身份有效。–动态口令•口令序列(S/Key)•时间同步(SecurID)•挑战/应答(异步)一次性口令认证(OTP)•口令序列(S/Key)–Lamport,L.,PasswordAuthenticationwithInsecureCommunication,CommunicationsoftheACM24.11,November1981,770-772.–Haller,N.,TheS/KEYOne-TimePasswordSystem,ProceedingsoftheISOCSymposiumonNetworkandDistributedSystemSecurity,February1994,SanDiego,CA–RFC1760:TheS/KEYOne-TimePasswordSystem.1995–口令为一个单向的前后相关的序列。系统只用记录第N个口令。用户第i(1iN)个口令登录时,系统用单向算法算出第i+1个口令与自己保存的第i+1个口令匹配,以判断用户的合法性。一次性口令认证(OTP)•时间同步(RSASecurID)–以用户登录时间作为随机因子–登录密码=HASH(用户名+密码+时间)–要求通信双方的时间准确度高一次性口令认证(OTP)一次性口令认证(OTP)•挑战/应答(异步):–用户要求登录–系统产生一个随机数(Challenge)发送给用户–用户通过口令卡(用某种单向算法)将自己的口令和随机混合起来产生一个新的一次性口令发给系统–系统用同样的方法来做验算,即可验证用户身份TokenServerchallengeOTPPassphrase+challengeOTPOTPID质询/握手认证协议(CHAP)•ChallengeandResponseHandshakeProtocol:RFC1994•三次握手认证Login,IDcIDc,RIDc,MACcMAC=H(R,K)sMAC’=H(R,K)比较MAC’和MACOK/DisconnectMAC的计算可以基于Hash算,对称密钥算法,公开密钥算法1/30/202032质询/握手认证协议(CHAP)•Code–1Challenge–2Response–3Success–4FailureCodeIdentifierLengthValue-SizeValueNameCHAP口令请求和应答包格式CodeIdentifierLengthMessageCHAP认证结果响应包格式1/30/202033质询/握手认证协议(CHAP)•CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密,安全性比PAP高。CodeIdentifierLengthValue-SizeValueNameCHAP口令请求和应答包格式CodeIdentifierLengthMessageCHAP认证结果响应包格式1/30/202034口令管理•口令管理–口令属于“他知道什么”这种方式,容易被窃取。–口令的错误使用:•选择一些很容易猜到的口令;•把口令告诉别人;•把口令写在一个贴条上并把它贴在键盘旁边。–口令管理的作用:•生成了合适的口令•口令更新•能够完全保密1/30/202035上讲回顾•基于口令的身份认证–用户与系统–静态口令•本地口令•网络口令(PAP)–动态口令•CHAP•S/KEY•时间同步(SecurID)提纲1.身份认证技术概述2.基于口令的身份认证3.Kerberos身份认证协议4.基于X.509的身份认证5.基于生物特征的身份认证6.Windows系统身份认证设计1/30/202037Kerberos简介•Kerberos麻省理工学院开发的一个认证服务系统•目标:通过密钥系统为客户机/服务器应用程序提供强大的认证服务•把UNIX认证、记帐、审计的功能扩展到网络环境:–是为TCP/IP网络设计的可信第三方认证协议。–基于对称密钥密码算法,实现集中的身份认证和密钥分配,通信保密性、完整性。1/30/202038Kerberos协议中一些概念•Principal(安全个体)–Client–被认证的个体,有一个name和password。•Kerberos数据库:–记载了每个Kerberos用户的名字,私有密钥,截止信息(记录的有效时间,通常为几年)等信息。•KDC密钥分配中心(KeyDistributionCenter)–一个网络服务,提供Ti
本文标题:身份认证
链接地址:https://www.777doc.com/doc-3389823 .html