《第7章证书系统与身份认证课件》由会员分享,可在线阅读,更多相关《第7章证书系统与身份认证课件(26页珍藏版)》请在金锄头文库上搜索。
1、第7章 证书系统与身份确认,2,第7章 证书系统与身份确认,7.1 认证与身份证明 7.2 Kerberos,3,7.1 认证与身份证明,通信和数据系统的安全性取决于确认用户或终端的身份 传统的身份证明:通过检验“物”和“人” 电子的身份证明:个人识别号 (PIN, Personal Identification Number),4,7.1 认证与身份证明,身份证明系统的组成 示证者(申请者),出示证件的人,提出某种要求 验证者,检验示证者的证件的正确性和合法性,决定是否满足其要求 可信赖者,调解示证者和验证者之间可能发生的纠纷 攻击者,通过窃听等手段,伪装示证者骗取验证者的信任 身份证明与消
2、息认证的差别: 消息认证不提供时间性;身份证明具有实时性 消息认证除证实消息的合法性、完整性外,还需要知道消息内容;身份证明通常证实身份本身,5,7.1 认证与身份证明,身份证明系统的要求 验证者正确识别合法示证者的概率极大化 不具可传递性,验证者B不可能重用示证者A提供给他的信息 攻击者伪装示证者欺骗验证者成功的概率小到可以忽略,特别是要能抗已知密文攻击 计算有效性,实现身份证明所需的计算量小 通信有效性,实现身份证明所需通信次数和数据量小 秘密参数安全存储,6,7.1 认证与身份证明,以下4条是某些身份识别系统提出的要求: 交互识别,有些应用中要求双方互相进行身份认证 第三方的实时参与,如
3、在线的公钥检索服务、个人身份证查询 第三方的可信赖性 可证明安全性,7,7.1 认证与身份证明,身份证明的基本分类 身份证实: 对个人身份进行肯定或否定。一般方法是将输入的个人信息与卡上或库存中的信息进行比较,得出结论。认证信息一般是经过公式和算法运算后所得的结果。 身份识别: 一般方法是输入个人信息,经处理提取成模板信息,试着在数据库中搜索找出一个与之匹配的模板,而后给出结论。例如,人的指纹、虹膜、相貌、DNA等,8,7.1 认证与身份证明,实现身份证明的基本途径 所知(Knowledge):个人所知道或掌握的知识,如密码、生日、数字、文字等 所有(Possesses):个人所具有的东西,如
4、身份证、护照、信用卡、钥匙等 个人特征(Characteristics):如指纹、笔迹、声音、手型、脸型、血型、视网膜、虹膜、DNA以及个人一些习惯性动作等特征,9,7.1 认证与身份证明,身份证明系统的质量指标 拒绝率(FRR, False Rejection Rate),合法用户遭拒绝的概率或虚报率,型错误率 漏报率(FAR, False Acceptance Rate),非法用户伪造身份成功的概率, 型错误率 为保证系统良好的服务质量,要求型错误率要足够小 为保证系统的安全性,要求要求型错误率要足够小 两个指标是矛盾的、此消彼长。要考虑性价比。,10,7.1 认证与身份证明,通行字(口令
5、)认证系统 通行字(Password,口令、护字符): 一种根据已知事物验证身份的方法,也是一种研究和使用最广的身份验证法 易记 难于被别人猜中或发现 抗分析能力强,11,7.1 认证与身份证明,通行字的控制措施 系统消息:显示系统信息的文字尽量减少 限制试探次数 通行字有效期 双通行字系统:对于敏感信息还需输入另外的口令 最小长度 封锁用户系统:对于长期不用的帐号封锁 根通行字的保护:root系统管理员用户 系统生成通行字 通行字的检验:保证口令不易被破解,12,7.1 认证与身份证明,通行字的安全存储 对于用户的通行字多以加密形式存储(Basic) 许多系统可以存储通行字的单向杂凑值(Di
6、gest) 个人特征的身份证明技术 生物统计学 终生不变的个人特征:DNA、视网膜、虹膜、指纹 目前已经商业化的技术:手书签字验证、指纹验证、语音验证、视网膜图样验证、虹膜图样验证、脸型验证等,13,7.2 Kerberos,Kerberos是一种典型的用于客户机和服务器认证的认证体系协议,是一种基于对称密码体制(单钥密码体制)的安全认证服务系统。 美国麻省理工学院MIT的Athena计划的一个部分。Kerberos分为认证(Authentication)、计账(Accounting)和审计(Audit)三个部分 本书只介绍认证部分 Kerberos的认证中心服务任务被分配到两个相对独立的“认
7、证服务器AS”和“票据授权服务器TGS”上,14,7.2 Kerberos,为了与其他服务的用户相区别,Kerberos用户统称为Principle(动因),动因可以是用户,也可以是某项服务。,15,7.2 Kerberos,Kerberos域内认证,16,7.2 Kerberos,第1个阶段:客户Client向AS申请得到注册许可证TTGS(ClientAS) (1)ClientAS IDClient, IDTGS, timea AS根据IDClient鉴定用户是否有效,如果有效,AS随机生成一个用于Client和TGS之间通信的会话密钥KTGS (2)ClientAS KCKTGS, ID
8、TGS, timeb, timeexp, TTGS KC=Hash(PasswordClient) TTGS=KTGSKTGS, IDClient, ADC, IDTGS , timeb, timeexp Client得到KTGS和TTGS,17,7.2 Kerberos,第2个阶段:客户Client从TGS得到所请求服务的服务许可证TS(ClientTGS) (1)ClientTGS IDServer, TTGS, Autha Autha =KTGSIDClient, ADC , timec TGS根据Autha鉴定客户身份是否有效,如果有效,TGS随机生成一个用于Client和Server
9、之间通信的会话密钥KS (2)ClientTGS KTGSKS, IDServer, timed, TS TS=KS KS, IDClient, ADC, IDServer , timeb , timeexp Client得到KS和TS,18,7.2 Kerberos,第3个阶段:客户Client利用许可证TS向服务器Server申请服务(ClientServer) (1)Client Server TS, Authb Authb =KS IDClient, ADC , timee Server根据Authb鉴定客户身份是否有效,如果有效,Sever向Client提供服务。为防范重放攻击,Cl
10、ient和Server之间的时钟必须同步在几分钟的时间段内,请请求的时间与系统当前时间相关太远时,认为Client的请求是无效的。 (2)Client Server KS timee+1 Client用KS解密得到timee+1,用来确定Server的身份。,19,7.2 Kerberos,Kerberos域内认证通过以上3个阶段共6个步骤后,Client和Server互相验证了彼此身份,并拥有会话密钥KS ,以后两者之间的通信都可以通过KS得到保护,20,7.2 Kerberos,Kerberos域间认证,21,7.2 Kerberos,第1个阶段:客户Client向AS申请得到注册许可证T
11、TGS(ClientAS) (1)ClientAS IDClient, IDTGS, timea AS根据IDClient鉴定用户是否有效,如果有效,AS随机生成一个用于Client和TGS之间通信的会话密钥KTGS (2)ClientAS KCKTGS, IDTGS, timeb, timeexp, TTGS KC=Hash(PasswordClient) TTGS=KTGSKTGS, IDClient, ADC, IDTGS , timeb, timeexp Client得到KTGS和TTGS,22,7.2 Kerberos,第2个阶段:客户Client从TGS得到注册许可证TTGS (C
12、lientTGS) (1)ClientTGS IDTGS, TTGS, Autha Autha =KTGSIDClient, ADC , timec TGS根据Autha鉴定客户身份是否有效,如果有效,TGS随机生成一个用于Client和TGS之间通信的会话密钥KTGS ,KTGS是认证域B和认证域A基于一定的信任关系,由TGS共享TGS的密钥 (2)ClientTGS KTGSKTGS, IDTGS, timed, TTGS TTGS= KTGSKTGS, IDClient, ADC, IDTGS , timeb, timeexp,23,7.2 Kerberos,第3个阶段:客户Client
13、从TGS得到所请求服务的服务许可证TS(ClientTGS) (1)ClientTGS IDServer, TTGS, Autha Autha = KTGSIDClient, ADC , timec TGS根据Autha鉴定客户身份是否有效,如果有效,TGS随机生成一个用于Client和Server之间通信的会话密钥KS (2)ClientTGS KTGSKS, IDServer, timed, TS TS=KS KS, IDClient, ADC, IDServer, timeb , timeexp Client得到KS和TS,24,7.2 Kerberos,第4个阶段:客户Client利用
14、许可证TS向服务器Server申请服务(ClientServer) (1)Client Server TS, Authb Authb =KS IDClient, ADC , timee Server根据Authb鉴定客户身份是否有效,如果有效,Sever向Client提供服务。为防范重放攻击,Client和Server之间的时钟必须同步在几分钟的时间段内。 (2)Client Server KS timee+1 Client用KS解密得到timee+1,用来确定Server的身份。,25,7.2 Kerberos,Kerberos域内认证通过以上4个阶段共8个步骤后,Client和Server互相验证了彼此身份,并拥有会话密钥KS ,以后两者之间的通信都可以通过KS得到保护,26,7.2 Kerberos,Kerberos的局限性 时间同步:需要提供时间转化和时间服务的联机物理时钟 重放攻击:需要引入序列号循环机制 认证域之间的信任:需要建立全球一体化的分层树状结构,形成良好的信任链条 系统程序的安全性和完整性:需要配备防火墙和日志分析机制 口令猜测攻击:需要较长的密钥 密钥的存储:保存大量的会话密钥,需要PKI,