资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第18章 网络安全III身份认证和公钥基础设施,身份认证的概念,基于公钥的认证协议,公钥基础设施 PKI,-,X.509证书,-,PKI组成及框架,-,PKI系统,第18章 网络安全III身份认证和公钥基础设施身份认证,1,身份认证的概念,身份认证是网络安全的核心,其目的是防止未授权用户访问网络资源。,合法用户被给予进入系统的“钥匙”,使未授权用户被“关在门外”。但未授权用户可能窃取了别人的“钥匙”,冒充合法用户。身份认证系统就是要识别对方真实身份,防止这种情况发生。,现实生活中,人们通过面貌、声音、字迹来确认对方。许多场合用贴有照片的证件鉴别对方。还有通过指纹等生物特征来鉴别。,身份认证的概念身份认证是网络安全的核心,其目的是防止未授权用,2,身份认证的概念(续),计算机系统一般采用三种类型的身份认证方法:,信息钥匙,:最常用的是口令,只有口令与用户名匹配,系统才允许用户访问。口令的选择必须既容易记忆又难以猜测。,.,物理钥匙,:如磁卡,但计算机(或门上)要配有读卡机。卡可能丢失,一般可与用户的数字口令,PIN,(,P,ersonal,I,dentification,N,umber)一起使用增加安全性。,生物钥匙,:如声纹、指纹、掌纹、虹膜等等。处理、存储信息量较大。但远程访问?,身份认证的概念(续)计算机系统一般采用三种类型的身份认证方法,3,身份认证的概念(续),网络环境下进行身份认证,更困难,身份信息通过网络传输,真伪辨别更复杂。对网上交易、电子商务、电子金融等身份认证必不可少。,网络应用一般是用户通过客户进程访问远程服务器进程实现。,网上身份认证,是指用户通过客户进程与服务器进程互相证实身份,服务器进行访问控制,网上认证是,计算机之间认证,。,人只能记忆短口令,计算机能记忆高质量密钥、进行加/解密运算。,网上计算机之间认证是采用密码学技术验证对方身份的协议,。,身份认证的概念(续)网络环境下进行身份认证更困难,身份信息通,4,身份认证的概念(续),身份认证协议,一般在,两个通信方,之间进行,一方按照协议向另一方发出认证请求,对方按照协议规定作出响应,协议执行成功后,双方应能确信对方身份。,身份认证也可以依靠,双方都信任的第三方,,如密钥分发中心,或证书签发权威来执行。,身份认证协议中验证身份所用密钥称为认证密钥,可以使用对称密钥,也可使用公钥。,身份认证协议分为基于对称密钥和基于公钥两类,。,身份认证的概念(续)身份认证协议一般在两个通信方之间进行,一,5,身份认证的概念(续),基于对称密钥的认证协议需要通信双方,事先商定共享的密钥,,也称共享密钥认证协议。密钥的安全分发,.。,基于公钥的认证协议需要,事先知道对方的公钥,,公钥的分发,.,。,很多身份认证协议中,不仅要验证双方身份,还要建立后续通信使用的加密密钥,一般称为,会话密钥,(session key)。会话密钥往往在一段时间内有效。会话密钥都采用对称密钥。,身份认证的概念(续)基于对称密钥的认证协议需要通信双方事先商,6,基于公钥的认证协议,1.c,s:c,N,c,E,s,客户将自己名字和一次性随机数 N,c,作为,挑战,,用服务器的公钥 E,s,加密后发给服务器。,2.s c:N,c,N,s,K,c,s,E,c,服务器返回客户随机数和会话密钥作为,响应,,还有自己的一次性随机数 N,s,(,挑战,),都用客户的公钥加密后发给客户。,3.c s:N,s,K,c,s,客户用会话密钥加密服务器的随机数作为,响应,。,基于公钥的认证协议1.c s:c,NcEs,7,公钥安全分发问题,利用公钥密码系统可以构造基本的,挑战,/,响应,认证协议,但其前提是双方必须事先知道对方的公钥。,公钥不保密,通信双方是否可以在网上交换公钥呢?,在开放的网络环境,如Internet中,如何确保A获得的B的公钥真正属于B呢?,公钥安全分发问题利用公钥密码系统可以构造基本的挑战/响应认证,8,中间人攻击,A,B,攻,击,者,H,攻击者H的公钥,B的公钥,H的公钥加密数据,B的公钥加密数据,攻击者,对A发往B的信息的截获,另一方向类似。,中间人攻击AB攻攻击者H的公钥B的公钥H的公钥加密数据B的公,9,公钥基础设施 PKI,公钥安全分发的一个方法是建立大家都信任的第三方,由它来参与公钥的分发。公钥基础设施,PKI,(,P,ublic,K,ey,I,nfrastructure)就是基于这种思想。,Internet标准组织中正在制订PKI标准的工作组是,PKIX,(Internet,X,.509,P,ublic,K,ey,I,nfrastructure)。PKIX 使用,X.509v3公钥证书,。,公钥基础设施 PKI公钥安全分发的一个方法是建立大家都信任的,10,X.509协议,ITU-T,的X.509协议是1988年发布,1993年修订,,1995,年起草了第3版,即,X.509v3,。,X.509定义了由X.500目录服务向用户提供身份认证服务的框架,目录作为公钥的存储库。.,X.509中定义的公钥证书结构和认证协议已得到广泛应用,X.509是一个重要标准。,X.509基于,公钥加密和数字签名,,没有专门指定公钥加密算法,,推荐使用RSA,。数字签名要求使用散列函数,没有专门指定散列算法。,X.509协议ITU-T的X.509协议是1988年发布,1,11,X.509证书,X.509中最重要的部分是,公钥证书结构,。每个用户有一个各不相同的名字。大家都信任的第三方:,证书权威机构 CA,(,C,ertification,A,uthority)给每个用户分配一个唯一名字,生成并签发一张包含用户名和用户公钥的证书。,公钥证书放在公共目录服务器中,用户从它获取其它人的公钥。,X.509证书X.509中最重要的部分是公钥证书结构。每个用,12,X.509证书结构,版本,证书序列号,签名算法标识,签发者名,有效(起、止)期,主体名,主体的公钥信息,签发者唯一标识,主体唯一标识,版本3扩展域,CA签名,第1版,第2版,第3版,X.509证书结构版本证书序列号签名算法标识签发者名有效(,13,X.509证书结构(续),版本:默认是版本1,有扩展部分必是版本3。,证书序列号:一个CA签发的每个证书有唯一整数值。,签名算法标识:CA对证书签名所用算法及参数。算法标识是通过国际标准化组织注册的。,签发者名:生成和签名此证书的CA的名。,有效(起、止)期:证书的生效和失效日期。,主体名:持有此证书的用户名。,X.509证书结构(续)版本:默认是版本1,有扩展部分必是,14,X.509证书结构(续),主体的公钥信息,:主体的公钥、公钥算法标识、算法的相关参数。,签发者唯一标识:若签发者名已被不同的实体重用,用此可选位串唯一标识签发者CA。,主体唯一标识:若主体名已被不同实体重用(本单位有两个张三),用此可选位串唯一标识主体。,版本3扩展字段:在版本3中引入可选扩展信息。,CA签名,:证书其它所有字段的散列码,用CA的私钥加密,即CA签名。,X.509证书结构(续)主体的公钥信息:主体的公钥、公钥算,15,X.509证书说明,签发者名或用户名,是指它们的X.500 格式的唯一名,DN,(,D,istinguished,N,ame),DN通常包括,C,(国家,C,ountry)、,O,(机构,O,rganization)、,OU,(机构部门,O,rganizational,U,nits)、,CN,(通用名,C,ommon,N,ame)和,E,(,E,mail地址)。,例如:清华的 CA 给用户签发证书时,用户的唯一名DN中的C=cn,O=tsinghua。,X.509证书说明签发者名或用户名,是指它们的X.500,16,X.509证书说明(续),X.509v3证书的扩展字段为用户、公钥、证书管理提供附加的属性。主要的扩展字段有:,私钥用途(key usage):指明主体私钥使用目的,包括(密钥)加密,(抗抵赖)数字签名,证书签名等。,证书类型:限制证书应用范围。,证书策略(certificate policies):,基本约束(basic constraints):是否CA证书,.,名字约束(name constraints),策略约束(policy constraints),X.509证书说明(续)X.509v3证书的扩展字段为用户,17,X.509证书用户证书例,版本:3,证书序列号:19,签名算法标识:md5WithRSAEncryption,签发者名:CN=TUNET Root CA,O=,有效期:Not Before:Apr 17 09:44:30 2001 GMT Not After:Apr 17 09:44:30 2002 GMT,主体名:Email=,CN=Zhang San,OU=Computer Science Dep,,X.509证书用户证书例版本:3,18,X.509证书用户证书例(续),O=,主体的公钥信息:,X.509v3 扩展域:,基本约束:CA:FALSE(不是CA证书),证书类型:SSL Client,S/MIME,私钥用途:数字签名,抗抵赖,密钥加密,策略注释:TUNET User Certificate,.,18:80:b7:81:1c:ea:f0:42:0b:98:5c:13:ca:9a:d8:c5:,.,X.509证书用户证书例(续)O=tsinghua.ed,19,PKI组成及框架,PKIX标准包括PKI的框架,实现及管理。PKI框架:,证书和CRL发布系统,端实体,RA,CA,发布证书,发布证书/CRL,获取证书/CRL,证书申请/撤销,PKI用户,PKI管理,PKI组成及框架PKIX标准包括PKI的框架,实现及管理。,20,PKI组成及框架(续),PKI包括下列部件:,证书权威,CA,(,C,ertification,A,uthority),证书注册权威,RA,(,R,egistration,A,uthority),(,证书撤销列表,CRL,(,C,ertificate,R,evocation,L,ist),证书及CRL发布系统,(PKI管理实体),端实体:客户(Web浏览器,邮件系统客户等),服务器。证书主体,以及证书的使用者。,PKI组成及框架(续)PKI包括下列部件:,21,证书权威CA,在网络环境中公钥以电子证书的形式签发,由所谓的证书权威机构 CA 生成和签发。,CA 是大家都信任的第三方。,通信双方通过对CA的共同信任来建立信任关系:A和B都信任CA,因为CA信任B,于是A也信任B;同样因为CA信任A,于是B也信任A。,这是一种,信任传递关系,。在现实社会中,人与人的信任关系。,证书权威CA在网络环境中公钥以电子证书的形式签发,由所谓的证,22,A与B通过CA建立信任关系,CA,A,B,基于第三方的信任关系,A与B通过CA建立信任关系CAAB基于第三方的信任关系,23,证书权威CA主要功能,接受(端实体通过)RA的签发、撤销和更新证书请求。,为端实体生成密钥对,密钥托管和恢复。,用户可自己生成密钥对,私钥自己保存,向CA提交公钥。也可由CA生成,并保存在秘密存储库,称密钥托管(数字签名的私钥不能托管)。,签发,、,撤销,和,更新证书,。,发布证书和证书撤销列表CRL。,制订证书策略。,证书权威CA主要功能接受(端实体通过)RA的签发、撤销,24,证书权威CA(续),证书中最主要的是,主体的公钥,和,CA的签名,。除了CA,没有任何人能不被察觉地更改证书。,用户如何验证证书的有效性?,用户用CA证书中CA的公钥验证其它用户证书中CA的签名,来验证证书的有效性。,一个,CA首先要为自己签发一个证书,。,.,用户如何验证CA证书的正确性呢?,一般采用离线发布CA证书的散列码,用户以此验证CA证书的正确性。,证书权威CA(续)证书中最主要的是主体的公钥 和CA
展开阅读全文