第九章身份认证技术2提纲9.1身份认证技术概述9.2基于口令的身份认证9.3基于X509的身份认证9.4基于生物特征的身份认证39.1身份认证简介9.1.1身份认证的需求9.1.2身份认证的基本模型9.1.3身份认证的途径9.1.4常用的身份认证技术4身份认证的基本要素基于你所知道的(Whatyouknow)知识、口令、密码基于你所拥有的(Whatyouhave)身份证、信用卡、钥匙、智能卡、令牌等基于你的个人特征(Whatyouare)指纹,笔迹,声音,手型,脸型,视网膜,虹膜等5每一种要素都有各自的局限性“用户拥有的物品”可能被偷窃或者丢失。“用户已知的事”可能会被猜测出来、或者大家都知道、或者被忘记;“用户的个人特征”尽管是最强的认证方法,但成本也最高。6身份认证的形式单向认证:当某个客户A需要服务器S的服务时,客户A必须被服务器认证,这就是单向认证。双向认证:双向认证是一种相互认证,其过程是在单向认证的基础上增加反方向的认证,即服务器身份被用户认证。第三方认证:第三方存储全部用户的口令,并且仅仅负责存储和验证口令。每个用户或者服务器都向可靠的第三方发送ID和口令,用于认证。公钥识别:随着公钥密码体制的出现,利用密码技术进行用户认证得以实现。由于私钥、私钥成对出现且不可互推,因此私钥的持有者证实了自己的身份。7常用的身份认证技术/协议简单口令认证质询/响应认证一次性口令认证(OTP)Kerberos认证基于公钥证书的身份认证基于生物特征的身份认证89.1身份认证技术概述9.2基于口令的身份认证9.3基于X509的身份认证9.4基于生物特征的身份认证9简单口令认证当被认证对象要求访问提供服务的系统时,提供服务的认证方要求被认证对象提交该对象的口令,认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。10存在的不足明文方式输入口令,这时很容易泄密。口令在传输过程中可能被截获。系统中所有用户的口令以文件形式存储在认证方,攻击者可以利用系统中存在的漏洞获取系统的口令文件。用户在访问多个不同安全级别的系统时,都要求用户提供口令。只能进行单向认证,即系统可以认证用户,而用户无法对系统进行认证。攻击者可能伪装成系统骗取用户的口令。许多用户再选择口令时,都选择便于记忆的口令,这类口令很容易被猜到或被破解,称为弱口令11质询/握手认证协议(CHAP)ChallengeandResponseHandshakeProtocolClient和Server共享一个密钥Login,IDcIDc,RIDc,MACcMAC=H(R,K)sMAC’=H(R,K)比较MAC’和MACOK/DisconnectMAC的计算可以基于Hash算,对称密钥算法,公开密钥算法12一次性口令一次性口令是变化的密码,其变化的来源产生于密码的运算因子是变化的。一次性口令的产生因子一般都采用双运算因子(TwoFactor):其一是用户的私有密钥。它代表用户身份的识别码,是固定不变的。其二是变动因子。正是因为变动因子的不断变化,才产生了不断变动的一次性口令。采用不同的变动因子,形成了不同的一次性口令认证技术:基于时间同步的认证技术、基于事件同步的认证技术、挑战/应答方式的非同步认证技术。13S/Key用户服务器连接请求,初始化应答(seed,seq)把(密钥+seed)进行seq次Hash计算,产生一次性口令把收到的口令进行一次Hash计算,与前次存储的口令进行比较,进而对用户身份进行确认14S/KEY的优点:用户通过网络传给服务器的口令是利用秘密口令和seed经过MD4或者MD5散列算法生成的密文,用户本身的秘密口令并没有在网络上传播。在服务器端,因为每一次成功的身份认证之后,seq就自动减1。这样,下一次用户连接时生成的口令同上一次生成的口令是不一样的,从而有效地保证了用户口令的安全;实现原理简单。Hash函数的实现可以用硬件实现。S/KEY的缺点:会给使用带来一点麻烦(如口令使用一定次数后就需要重新初始化,因为每次seq都要减1)S/KEY依赖于某种算法(MD4或者MD5)的不可逆性,当有关这种算法可逆计算研究有了新进展时,系统将被迫重新选用其它更安全的算法。系统不使用任何形式的会话加密,因此没有保密性。15双因素认证把前两种要素结合起来的身份认证方法称为“双因素认证”,是目前具有较高安全性的认证方法。双因素静态身份认证:每次登录时用户提供的口令和物理设备都是不变的;双因素动态认证:在静态口令的基础上,增加一个令牌访问设备,令牌设备提供动态口令,从而构成一个他人无法复制和识破的安全密码。16双因素动态身份认证系统令牌:令牌的作用是产生动态口令,动态口令的产生可以使用口令序列、质询/响应方式、一次性口令技术等。认证代理:认证代理是实现认证功能的中间组件,当一个用户想要访问某个资源时,认证代理会将请求发送到身份管理服务器进行身份认证,认证通过后放行。身份管理服务器:身份管理服务器将一个性能卓越的认证引擎和集中式管理能力结合在一起。当管理服务器收到一个请求时,它使用与用户令牌一样的方法来验证用户身份。17RADIUS简介RADIUS(RemoteAuthenticationDial-inUserService)是一个在拨号网络中提供注册、验证功能的工业标准。由朗讯公司提出的客户/服务器形式的安全协议,现在已经成为Internet的正式协议标准,为众多网络设备制造商所支持,是当前流行的AAA(认证Authentication、授权Authorization、计费Accounting)协议。RADIUS是网络接入服务器(NAS)和后台服务器(RADIUS服务器)之间的一个常见协议,它使得拨号和认证这两种功能放在两个分离的网络设备上,在RADIUS服务器上存放有用户名和他们相应的认证信息的一个大型数据库,能提供认证(认证用户名和密码)和向用户发送配置、服务类别的详细信息。18RADIUS结构图网络接入服务器NAS认证服务器用户数据库计费数据库PCModemPSTNModemPCInternetHub19RADIUS认证过程步骤一:接入服务器从用户那里获取用户名口令,将其同用户的其它信息,如主叫号码、接入号码、占用的端口等,打成RADIUS数据包向RADIUS服务器发送,通常称为认证请求包;步骤二:RADIUS服务器收到认证请求包后,首先查看接入服务器是否已经登记,然后根据包中的用户名、口令等信息验证用户是否合法。如果用户非法,则向接入服务器发送访问拒绝包;如果用户合法,那么RADIUS服务器会将用户的配置信息如用户类型、IP地址等,打包发送到接入服务器,该包称为访问接受包。步骤三:接入服务器收到访问接受/拒绝包时,首先要判断包中的签名是否正确,如果不正确将认为收到一个非法包。如果签名正确,那么,若收到了访问接受包,则接入服务器会接受用户的上网请求,并用收到的信息对用户进行配置、授权;若收到了访问拒绝包,则拒绝该用户的上网请求。20口令管理口令管理口令属于“他知道什么”这种方式,容易被窃取。口令的错误使用:选择一些很容易猜到的口令;把口令告诉别人;把口令写在一个贴条上并把它贴在键盘旁边。口令管理的作用:生成了合适的口令口令更新能够完全保密21口令管理口令的要求:包含一定的字符数;和ID无关;包含特殊的字符;大小写;不容易被猜测到。跟踪用户所产生的所有口令,确保这些口令不相同定期更改口令使用字典式攻击的工具找出比较脆弱的口令。许多安全工具都具有这种双重身份:网络管理员使用的工具:口令检验器攻击者破获口令使用的工具:口令破译器22口令管理口令产生器不是让用户自己选择口令,口令产生器用于产生随机的和可拼写口令。口令的时效强迫用户经过一段时间后就更改口令。系统还记录至少5到10个口令,使用户不能使用刚刚使用的口令。限制登录次数免受字典式攻击或穷举法攻击23提纲9.1身份认证技术概述9.2基于口令的身份认证9.3基于X509的身份认证9.4基于生物特征的身份认证249.3基于X509公钥证书的认证9.3.1X509认证框架9.3.2X509证书9.3.3基于公钥证书的认证过程9.3.4不同管理域的问题25PKI体系结构PAAPCA1PCAnCA1CAnCA1CAnEE1ORAEE1ORA26PKI各实体的功能政策批准机构PAA:创建整个PKI系统的方针、政策,批准本PAA下属的PCA的政策,为下属PCA签发公钥证书,建立整个PKI体系的安全策略,并具有监控各PCA行为的责任。政策CA机构(PCA):制定本PCA的具体政策,包括本PCA范围内密钥的产生、密钥的长度、证书的有效期规定及证书撤销列表的处理等,并为下属CA签发公钥证书。CA是认证机构,也称认证中心,具备有限的政策制定功能,按照上级PCA制定的政策,担任具体的用户公钥证书的签发、生成和发布及证书撤销列表生成及发布职能。在线证书申请机构(ORA或者RA):进行证书申请者的身份认证,向CA提交证书申请,验证、接收CA签发的证书,并将证书放发给申请者,必要时还协助证书制作的处理过程。27PKI的操作功能产生、验证和分发密钥用户自己产生密钥对CA为用户产生密钥对CA自己产生自己的密钥对签名和验证证书的获取验证证书保存证书本地保存证书的获取证书的废止密钥的恢复CRL的获取密钥更新28PKI体系的互操作性根CA1一级CA1一级CA2二级CA1二级CA2二级CA3二级CA4User1User2根CA2一级CA1一级CA2二级CA1二级CA2User1User2域间CA交叉认证域内交叉认证29X509认证框架CertificateAuthority签发证书RegistryAuthority验证用户信息的真实性Directory用户信息、证书数据库没有保密性要求证书获取从目录服务中得到在通信过程中交换DirectoryCARA用户用户注册签发证书、证书回收列表申请签发查询身份认证30证书的结构algorithmIssueruniquenameAlgorithmsSubjectNameextensionsversionSerialnumberparametersIssuernameNotBeforeNotAfterparametersKeysubjectuniquenameAlgorithmsparametersEncrypted签名算法有效期主体的公钥信息V2扩展V3扩展31提纲9.1身份认证技术概述9.2基于口令的身份认证9.3基于X509的身份认证9.4基于生物特征的身份认证329.4.1生理特征介绍每个人所具有的唯一生理特征指纹,视网膜,声音,视网膜、虹膜、语音、面部、签名等指纹一些曲线和分叉以及一些非常微小的特征;提取指纹中的一些特征并且存储这些特征信息:节省资源,快速查询;手掌、手型手掌有折痕,起皱,还有凹槽;还包括每个手指的指纹;人手的形状(手的长度,宽度和手指)表示了手的几何特征33生理特征介绍(续)视网膜扫描扫描眼球后方的视网膜上面的血管的图案;虹膜扫描虹膜是眼睛中位于瞳孔周围的一圈彩色的部分;虹膜有其独有的图案,分叉,颜色,环状,光环以及皱褶;语音识别记录时说几个不同的单词,然后识别系统将这些单词混杂在一起,让他再次读出给出的一系列单词。面部扫描人都有不同的骨骼结构,鼻梁,眼眶,额头和下颚形状。34生理特征介绍(续)动态签名通过签名产生的电信号来进行识别;动态键盘输入359.4.2基于生物特征的认证系统的误判第一类错误:错误拒绝率(FRR)。第二类错误:错误接受率(FAR)。交叉错判率(CER):FRR=FAR的交叉点CER用来反映系统的准确度。%安全性FAR(II)FRR(I)CER36小结身份认证的途径质询/响应认证