《{安全生产管理}网络安全身份认证及其应用》由会员分享,可在线阅读,更多相关《{安全生产管理}网络安全身份认证及其应用(32页珍藏版)》请在金锄头文库上搜索。
1、8.1 引 言,身份认证(身份识别与验证,Identification and Authentication) 安全防御的第一道防线,用户获得访问权限的第一步 访问控制的基础(第9章) 访问控制:识别和区分用户,然后赋予访问权限 最小特权原理(Least Privilege Theorem),系统中的每个主体执行授权任务时,仅被授予完成任务所必需的最小访问权限 用户审计的基础(第9章) 用户审计:计算机系统活动与用户的关联(记录、分析和报告),8.2 身份认证的方法,识别 Identification :身份声明; 验证 Authentication :检验身份声明的有效性 目前用来验证用户身
2、份的方法有: 用户知道什么(如口令、个人身份号码(PIN)、密钥等) 用户拥有什么(令牌,如ATM卡或智能卡等) 用户是谁(生物特征,如声音、手写识别或指纹识别等),8.2.1 基于用户知道什么的身份认证 口令 用户输入用户标识和口令(或PIN码)系统对输入的口令与此前为该用户标识存储的口令进行比较如果匹配,该用户就可得到授权并获得访问权 优点:简单、普及、有效 问题:容易被猜出;一用户,多服务器,多口令,不方便,8.2.2 基于用户拥有什么的身份认证 令牌 记忆令牌(磁卡、ATM卡) 只存储信息,和身份识别码一起使用 智能卡 采用内置微处理器,支持多种接口和协议,8.2.3 基于用户是谁的身
3、份认证 生物特征识别 生理属性(如指纹、视网膜识别等) 行为属性(如声音识别、手写签名识别等) 高安全性 不成熟,欠稳定,费用高,8.3 第三方认证,所谓第三方认证就是在相互不认识的实体之间提供安全通信。为互不认识的实体提供安全通信的保证。 Kerberos认证系统:最早提出的第三方认证机制,依靠密钥技术(对称密码系统) X.509认证系统:由ISO开发,基于公开密钥(非对称密码系统),安全性更高,在分布式IA系统中更方便,8.3.1 Kerberos概述 由麻省理工学院(MIT) 开发 提供安全、可靠、透明、可伸缩的认证服务 基于对称密码学(DES或其它算法):服务器与每个实体分别共享一个不
4、同的秘密密钥(对称的含义);是否知道该秘密密钥便是实体身份的证明。,Kerberos模型组成(图8-3箭头有误,正确的参见图8-4): 客户机(第一方) 应用提供服务器(第二方) 认证服务器(Authentication Server) :可信仲裁者(第三方) 依据密钥的身份认证(秘密密钥数据库(KDC)) 会话密钥的产生和分发(用于客户机和Ticket-Granting Server的一次性通信) 票据授予服务器(Ticket-Granting Server) 向已通过认证的用户发放用于获取服务的票据(向第二方,即应用提供服务器证明第一方的身份),图8-3 Kerberos组成,图8-4 K
5、erberos认证消息交换过程,8.3.3 Kerberos基础结构和交叉领域认证 认证服务器:管理用户有限需要多个认证服务器 领域(Realm):某个特定认证服务器和在该服务器上注册的用户 交叉领域认证:允许一个委托人(Principal)C向注册在另外一个域的应用服务器V证明C的身份 支持交叉领域认证的条件: 用户必须是在Kerberos系统注册的 应用服务器接受Kerberos系统的认证权威 不同领域的Kerberos服务器之间能够互相认证:互相注册,互相共享密钥。,图8-5 交叉领域认证,8.4 X.509,ITU(国际电信联盟,标准制定组织) “开放性系统互连目录服务:认证体系X.5
6、09” 目录:维护用户信息数据库的服务器或分布式服务器集合,用户信息包括用户名到网络地址的映射和用户的其它属性(如用户的公钥证书) 。 X.509: 定义了X.500目录向用户提供认证的业务框架(不同等级的认证方法、证书的格式和管理、密钥的产生) 定义了基于公钥证书的认证协议 定义了基于公钥密码体制的数字签名机制,X.509主要内容: 简单认证(Simple Authentication)程序:使用最常见的口令(Password)认证,安全度较低 强认证(Strong Authentication)程序:使用公开密钥密码技术,高安全度 密钥及证书管理:公开密钥管理以及证明密钥正确性的证书管理
7、证书扩充及证书吊销列表扩充(Certificate and CRL Extensions),8.4.1 认证协议简单认证过程 基于口令(用户与服务器共享口令,存在安全隐患) 三种运行方式: 将用户ID及其口令以明文方式传送给接收端 将口令、ID、一个随机数和/或时间戳(防重放)在经过一单向函数保护(口令被hash)后,传送至接收瑞 方法(2)的数据连同另一组随机数和/或时间戳,再经过第二次的单向函数保护后,传送至接收端,8.4.2 认证协议强认证程序 使用公钥技术实现认证,用户的私钥只用于签名,不需对外发送 前提:为防止假冒,公钥必须可以辨别、验证且无法伪造,同时又与个人的身份相结合 实现:
8、机制:引入认证中心(Certificate Authority,CA,可信第三方) ,为每位网络用户签发电子证书(将每用户公钥与个人身份结合的数据,使用CA的私钥签名;公钥、身份和CA签名绑定,合称电子证书或数字证书)。用户间认证时使用电子证书。 好处:将用户必须认证网络上每一个用户公钥的问题,缩减到只需认证用户所信任的公正第三方的公钥正确性的问题。,证书必须符合下列两个特点: (1) 所有可取得认证中心公钥的用户,可以认证任何由该认证中心签发的证书。 (2) 除认证中心本身以外,其它任何人修改证书的动作都会被察觉、检测出来。,8.5 数 字 证 书,用户的数字证书是X.509的核心 建立:可
9、信的证书发放机构CA 保存:CA或用户自己将其放入公开的目录服务器 访问:目录服务器,X.509数字证书的一般格式(图8-11): 版本号 序列号 签名算法识别符 发行者名称:CA名称 有效期:包括证书有效期的起始时间和终止时间 主体名称:证书所属用户的名称 主体的公开密钥信息:包括主体的公开密钥、密钥算法的标识符及相应的参数,发行者惟一识别符:惟一地标识发行者,v2 主体惟一识别符:惟一地标识主体,v2 扩充域:扩充,v3 签名:CA用自己的秘密密钥对上述域的哈希值进行数字签名的结果;签名算法标识符及相应的参数 X.509中使用以下表示法来定义证书: CAA= CA V, SN, AI, C
10、A, TA, A, AP A, AP :主体名称,主体的公开密钥信息 YX:证书发放机构Y向用户X发放的证书 YI: I & Y对I的哈希值的签名,8.5.1 证书的获取 因为CA的签名无法伪造,所以证书是不可伪造的,因此无需对存放证书的目录施加特别的保护。 在同一CA注册的用户:访问目录服务器;对方发送,在不同CA注册的用户:设用户A在CA:X1处注册,B在X2处注册,X1和X2彼此向对方注册,则: 1)A从目录中获取X1X2,用PKX1验证,信任其中的PKX2 2)A从目录中获取X2B,用PKX2验证,信任其中的PKB 证书链:X1X2X2B 推广:N个证书的证书链 X1X2X2X3.XN
11、B(条件:任意两个相邻的CA Xi和Xi+1已彼此间为对方建立了证书) X.509建议:所有CA以层次结构组织起来,用户循证书链(证书路径)获取相应的证书,A通过证书链: XWWVVUUYYZZB 获取B的公开密钥。,8.5.2 证书的吊销(未到期就被取消) 证书吊销列表CRL(Certificate Revocation List) CA签名算法 CA的名称、建立CRL的日期、下一CRL的公布日期 每一被吊销的证书的序列号和被吊销的日期 CA签名,8.6 验 证 证 书(强认证详介),X.509中的强认证: 基于公钥密码系统,基于用户是否拥有私钥 三种不同信赖程度的强认证 “单向认证”(On
12、e-way Authentication) “双向认证”(Two-way Authentication) “三向认证”(Three-way Authentication),8.6.1 单向认证 发送方A先产生一不重复的数字rA用以抵御重放攻击、防止伪造;产生时间戳tA(数据产生/逾期的时间) A接收方B:B, AtA, rA, B(XI表示X(在此为A)对数据I(此即为tA, rA, B)的签名) 3)B收到后,执行下列动作: 从认证中心取得A的证书,获得A的公钥 验证签名,以确定数据的完整性,确定A是发送者,B是接收者(以A的公钥解密AtA, rA, B ,检查第三项是否是B,是则以上三点成
13、立) 检查时间戳tA是否在有效期限之内, 检查rA是否重复出现过,8.6.2 双向认证 前三步与“单向认证”相同 4)B产生rB 、 tB (防重放) 5)B A :BtB, rB, A, rA 6)A收到后,执行下列动作(与步骤3)类似): 以B的公钥验证签名,以确定数据的完整性。 检查此文件的识别数据,A是否此文件的收方。 检查时间戳tB是否在有效期限之内。 检查rB是否重复出现过,8.6.3 三向认证 发方还需要再发送一道应答信息给发方 不检查时间戳,只检查不重复随机数 工作方式: 前六个步骤与“双向认证”类似,但取消tB、tA相关操作; 7)A检查rA与步骤1)所产生的是否相同。 8)
14、A B:ArB, B 。 9)收方B收到后,检查rB与步骤4)所产生的是否相同,8.7 CA系统结构,PKIX:CA系统模型 由互联网工程任务组(IETF)开发设计 以X.509(关于认证方法、证书管理、签名方法等)为基础 适合于互联网环境 基于数字证书,PKIX的CA系统结构: 认证中心(Certification Authority, CA)(多个) PKIX的核心,信任的发源地 负责管理数字证书(产生、发布、撤销) 注册机构(Registration Authority, RA) 减轻CA的处理负担 实现用户的注册、申请以及部分其它管理功能 CA管理员平台 访问控制系统(面向用户) 目录服务器,8.7.4 CA操作步骤 证书申请:用户RA操作员RA服务器CA审核、签名 (RA服务器 )目录服务器 证书获取:用户目录服务器 8.7.5 证书链构造 证书链:在跨CA认证过程中,后续CA发行的证书序列(p22),8.7.6 证书(链)验证过程 检查证书的有效期 获取发行者的证书,取得其公钥 使用发行者的公钥,验证发行者签名的证书 如果发行者证书可信,验证成功;否则检查发行者证书,获得下一级CA指示,并以发行者证书作为新的验证对象,回到(1)继续验证(下一级CA :当前证书的发行者),