信息安全导论课程-ch14-认证应用系统_第1页
信息安全导论课程-ch14-认证应用系统_第2页
信息安全导论课程-ch14-认证应用系统_第3页
信息安全导论课程-ch14-认证应用系统_第4页
信息安全导论课程-ch14-认证应用系统_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密码编码学与网络安全

电子工业出版社2006-2007第14章认证应用系统14.1Kerberos ↓14.2X.509/CA ↓14.3公钥基础设施PKI ↓* 14.aPKIinWindows ↓* 14.bEJBCA ↓* 14.cOpenCA ↓* 14.dCAwithOpenSSL ↓认证系统Kerberos主要是局域网上的认证系统,它早期基于对称算法,封装了加密、鉴别等安全服务,提供了统一的用户接口。后期Kerberos也开始支持公钥,使用证书。PKI/CA好像是解决电子商务安全的正确道路。CA是一个离线中心,因此适合互联网这种分布式又管理松散的环境。但是维护一个CA(不管是商用CA或自己独立的CA)给人的感觉是过于复杂。14.1KerberosLAN上的安全KerberosKerberosinWindowsKerberosinLinuxLAN上安全服务器、工作站、用户用户使用工作站访问服务器资源局域网上安全问题窃听导致泄密重放攻击假冒用户,用户盗用工作站假冒工作站,工作站地址被盗用对应的可能安全方法工作站核认用户身份 工作站向服务器证实自己的身份(信任用户身份)用户和服务器相互认证/鉴别Kerberos动机目标防窃听,防假冒透明,只要输入一个口令可靠,合法性的唯一标识依据就是获得KB访问可扩展伸缩性,适应模块化和分布式服务鉴别Authentication授权Authorization记帐AccountingKerberosTheNetworkAuthenticationProtocolKerberosisanetworkauthenticationprotocol.Itisdesignedtoprovidestrongauthenticationforclient/serverapplicationsbyusingsecret-keycryptography.AfreeimplementationofthisprotocolisavailablefromtheMIT.Kerberosisavailableinmanycommercialproductsaswell./kerberos/www/

/faqs/kerberos-faq/general/

阅读DesigninganAuthenticationSystem:

aDialogueinFourScenes/kerberos/www/dialogue.html

Kerberosv4的启发协议V4核心举例C是客户、V是服务器、AS是鉴别服务器C->AS:IDc+Pc+IDv,Pc是c的口令C<-AS:Ticket=Ekv(IDc+ADc+IDv)ADc是C的网络地址,kv是AS和V的共享密钥C->V:IDc+Ticket问题Pc的明文传输用户口令的一次输入,重复使用票据的生存周期对服务器的鉴别Kerberosv4Overview

Kerberosv4请求域间服务Kerberosv4Message

Kerberosv5改进不仅依赖于DES不仅使用IP协议使用ASN.1/BER数据编码规则扩展了票据有效期鉴别的转发(代理/转让)加强了领域间的鉴别能力省去了不必要的双重加密PCBC-CBC增强了抗口令攻击的能力增加了一票据对会话密钥的能力Kerberosv5MessageKerberos中的passwd、key、encpasswdkeyn个字符的串

7n个比特序列

往返56b折叠并xor56bitDESkey-PCBCCn=Ek(Cn-1XORPn-1XORPn)KerberosDistributionTheMITKerberosTeam/kerberos/www/

KerberosinLinux#rpm-qa|grepkrbConfiguringaKerberos5ServerConfiguringaKerberos5Client/docs/manuals/linux/RHL-9-Manual/ref-guide/ch-kerberos.html

KerberosinWindows密钥发行中心(KDC)一种网络服务,提供在Kerberos

V5身份验证协议中使用的会话票证和临时会话密钥。票证用于安全原则的标识数据集,是为了进行用户身份验证而由域控制器发行的。Windows中的两种票证形式是票证授予式票证(TGT)和服务票证。票证授予式票证(TGT)用户登录时,Kerberos密钥分发中心(KDC)颁发给用户的凭据。当服务要求会话票证时,用户必须向KDC递交TGT。因为TGT对于用户的登录会话活动通常是有效的,它有时称为“用户票证”。票证授予服务(TGS)由“KerberosV5密钥分发中心(KDC)”服务提供的一种KerberosV5服务,它在域中发行允许用户验证服务的服务票证。KerberosinWindows(2k3)KerberosV5身份验证KerberosV5是在域中进行身份验证的主要安全协议;同时要验证用户的身份和网络服务。KerberosV5工作原理概述KerberosV5身份验证机制颁发用于访问网络服务的票证。这些票证包含加密的数据,其中包括加密的密码,用于向请求的服务确定用户的身份。除了输入密码或智能卡凭据,整个身份验证过程对用户都是不可见的。KerberosV5中的一项重要服务是密钥发行中心(KDC)。KDC作为ActiveDirectory目录服务的一部分在每个域控制器上运行,它存储了所有客户端密码和其他帐户信息。-KerberosV5身份验证过程按如下方式工作:(1)客户端上的用户使用密码或智能卡向KDC进行身份验证。(2)KDC为此客户颁发一个特别的票证授予式票证。客户端系统使用TGT访问票证授予服务(TGS),这是域控制器上的KerberosV5身份验证机制的一部分。(3)TGS接着向客户颁发服务票证。(4)客户向请求的网络服务出示服务票证。服务票证向此服务证明用户的身份,同时也向该用户证明服务的身份。KerberosV5服务安装在每个域控制器上,每个域控制器作为KDC使用。域控制器在用户登录会话中作为该用户的首选KDC运行。Kerberos客户端安装在每个工作站和服务器上。客户端使用域名服务(DNS)定位最近的可用域控制器。如果首选KDC不可用,系统将定位备用的KDC来提供身份验证。Windows域了解以下概念WindowsServerDomain/ActiveDirectoryWorkstationjointheDomainLoginintoaDomainResourceinaDomain并练习验证相关概念使用虚拟机VmwareKerberosinLinuxKerberosInfrastructureHOWTO/HOWTO/Kerberos-Infrastructure-HOWTO/index.html

InFedoraCorebasedGNU/LinuxthepackagesrequiredtoprovideKerberosserviceare:“#rpm-qa>grepkrb” krb5-server krb5-libsAboutchoosingarealmnameKerberosinLinux/etc/krb5.confdefault_realm=GNUD.IE[realms]GNUD.IE={kdc=kerberos1.gnud.ie:88kdc=kerberos2.gnud.ie:88admin_server=kerberos1.gnud.ie:749default_domain=gnud.ie}[domain_realm].gnud.ie=GNUD.IEgnud.ie=GNUD.IEKerberosinLinuxToinitializeandcreatetheKerberosdatabase: #/usr/Kerberos/sbin/kdb5_utilcreate-sedittheaclfiletograntadministrativeaccess/etc/krb5.conf/var/Kerberos/krb5kdc/kdc.conf /var/Kerberos/krb5kdc/kadm5.aclanyaccountwhichendswitha/adminintheGNUD.IErealmisgrantedfullaccessprivileges: */admin@GNUD.IE*KerberosinLinuxCreateadministrativeuser #/usr/Kerberos/sbin/kadmin.local-q"addprincadmin/admin"Tostartautomatically #/sbin/chkconfigkrb5kdcon #/sbin/chkconfigkadminonStartupmanually #/etc/rc.d/init.d/krb5kdcstart #/etc/rc.d/init.d/kadminstartCreatetheuserprincipal #kadmin.localKerberosinLinuxTimeSynchronizationTheNetworkTimeProtocol(NTP)NTPpackage/etc/ntp.confserverKerberosinLinuxClientpackage krb5-workstation/etc/krb5.conf/var/Kerberos/krb5kdc/kdc.confTestKerberosauthenticationusingthekinit $kinit<username>theKDClog(serverside) /var/log/Kerberos/krb5kdc.logKerberosinLinuxPAM-PluggableAuthenticationModule/usr/share/doc/pam_krb5-1.55/pam.dauthrequired/lib/security/pam_krb5.souse_first_passApacheWebServer<Directory"/home/httpd/htdocs/content">AllowOverrideNoneAuthTypeKerberosV5AuthName"KerberosLogin"KrbAuthRealmGNUD.IErequirevalid-user</Directory>vs.wins/windows2000/techinfo/planning/security/kerbsteps.aspAdditionalResourcesRFC1510(2942/3244)/rfcsearch.htmlKerberosFAQ/faqs/kerberos-faq/general/index.html

FermilabKerberos/docs/strongauth/

/docs/strongauth/html/

/docs/manuals/linux/RHL-9-Manual/ref-guide/pt-security-reference.html14.2X.509/CAX509定义了公钥认证服务框架。Certificate证书印象PKI/X.509CAinWin2kEJBCACertificate证书印象证书是可靠发布公钥的载体公钥及其持有人信息其他信息(用途、有效期、)签发人及其签名(对上面信息)例子解析见备注行X.509分发公钥证书格式内容、格式和编码、签名鉴别协议X509中推荐的协议应用IPSec、SSL/TLS、SET、S/MIME、PGP、…RFC2459InternetX.509PublicKeyInfrastructureCertificateandCRLProfile从公钥到证书审核证书格式版本序列号签名算法标识 其参数签发者名字不早于,不迟于主题名(持有人名)算法标识 其参数 公钥签发人标识(重名)持有人标识扩展签名算法 参数 签名X509v3扩展V3以可选扩展项的形式体现(扩展名字,值,是否可忽略)密钥标识符密钥用途签名、加密、密钥交换、CA等组合私钥使用期限对应的公钥一般有更长的期限以用于验证策略信息等颁发者和持有人的更多信息证书路径的约束信息ASN.1编码解析#opensslasn1parse-inroot.pem-dump证书中心CACertificateAuthority权威的证书签发者接受请求、审核、(收费)、签发商业CA机构CertificateRequest申请人产生自己的公钥(私钥)提交PKCS#10格式的申请公钥、自己的身份信息,用户自己的签名审核颁发面对面的交涉;代理RA证书发布X500目录;在线交换证书的获得等问题证书是公开的,不需保密这很好信任对证书的信任基于对中心的信任CA是分层次的以减轻负载和压力(尤其是审核)对多个中心的信任分散了风险,也引入了风险证书的自证明前提:已经有CA的公钥CA公钥一般是自签名证书的形式必须可靠的获得,离线手工取得对方的证书证书是公开的,不需保密查目录;在线交换判断证书是否有效验证证书中的签名是否是CA的真实签名(只是说这个证书是有效的)信任关系信任信任CA信任CA的签名信任CA签发的证书信任该持有人拥有这个公钥<持有人,公钥>层次CA组织成为层次关系信任链信任某CA则信任其子CA及其子CA签发的证书CA之间的相互信任相互给对方的公钥签署一个证书CATreeA和B之间 如何达成相互信任证书的撤销证书中的有效期证书提前作废的原因私钥泄密用户自己的、CA的持有人身份变化CRL-certificaterevocationlist由CA定期公布的证书黑名单作废证书的序列号的表

(序列号,撤销时间)表的创建日期其他信息CRL位置、下次CRL更新时间签名OnlineCertificateStatusProtocolOCSP在线证书状态协议可以用在线方式查询指定证书的状态RFC2560–OCSP使用证书进行身份鉴别前提:已经有某人的真实证书(公钥)查目录或在线交换鉴别鉴别对方是否是真实的持有人(某人)看对方是否拥有证书中公钥对应的私钥使用挑战-应答机制举例SSL协议使用证书的鉴别过程鉴别- A要和B通信,A要弄清楚B是否是他所期望的真的BA->B:A向B请求证书A<-B:B的证书A:A检查B的证书是否是A所信任的中心签发的A->B:A给B一个随机报文,让B签个名来看看B:B签名,在签名之前可施加自己的影响成分A<-B:B的签名A:检验是否通过了B的证书里的公钥的验证TerminologyITU-InternationalTelecommunicationUnion/

X.500specInformationtechnology-OpenSystemsInterconnection-TheDirectory:Overviewofconcepts,modelsandservicesX.509specInformationtechnology-OpenSystemsInterconnection-TheDirectory:Public-keyandattributecertificateframeworksOnlineDoc($/CHF)/itudoc/itu-t/rec/x/x500up.html

术语:X.500目录服务DirectoryAdirectoryisadatabaseoptimizedforreadoperations.Directoriesoftensupportpowerfulsearchandbrowsingcapabilities.Adirectoryislikeaphonebook,andisnotlikeadirectory(folder)onyourcomputer.Likeaphonebook,thedirectoryholdsinformationaboutathing,likeadoctor:First,youfindthephonebook,thenyoufind"Doctors,"thenyoulookforthetypeofdoctor,thenyoudecidewhichdoctoryouwanttosee.Thedirectoryislikethat.X.500-distributedhierarchicaldatabase分布式层次数据库InterNIC发布人员信息(尤其是证书)术语:LDAPLightweightDirectoryAccessProtocolisanopen-standardprotocolforaccessingX.500directoryservices.LDAPisalightweightalternativetotheX.500DirectoryAccessProtocol(DAP)foruseontheInternet.TheprotocolrunsoverInternettransportprotocols,suchasTCP.LDAPwasdefinedbytheIETFinordertoencourageadoptionofX.500directories.ldapman/

OpenLDAP/

ActriveDirectoryinwin2k术语:DN-distinguishednameo="FooBar,Inc.",c=US以X.500格式表示的基准DNo=用公司的Internet地址表示的基准DNdc=foobar,dc=com用DNS域名的不同部分组成的基准DNcn=OatmealDeluxe,ou=recipes,dc=foobar,dc=com燕麦粥食谱…*dn:cn=OatmealDeluxe,ou=recipes,dc=foobar,dc=comcn:InstantOatmealDeluxerecipe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论