版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、B密码编码学与网络平安密码编码学与网络平安 电子工业出版社2006 - 2007B第14章 认证应用系统 14.1 Kerberos 14.2 X.509/CA 14.3 公钥根底设施PKI *14.a PKI in Windows *14.b EJBCA *14.c OpenCA *14.d CA with OpenSSLB认证系统 Kerberos主要是局域网上的认证系统,它早期基于对称算法,封装了加密、鉴别等平安效劳,提供了统一的用户接口。后期Kerberos也开始支持公钥,使用证书。 PKI/CA好似是解决电子商务平安的正确道路。CA是一个离线中心,因此适合互联网这种分布式又管理松散的
2、环境。但是维护一个CA(不管是商用CA或自己独立的CA)给人的感觉是过于复杂。B14.1 Kerberos LAN上的平安 Kerberos Kerberos in Windows Kerberos in LinuxBLAN上平安 效劳器、工作站、用户 用户使用工作站访问效劳器资源 局域网上平安问题 窃听导致泄密 重放攻击 假冒用户,用户盗用工作站 假冒工作站,工作站地址被盗用 对应的可能平安方法 工作站核认用户身份工作站向效劳器证实自己的身份(信任用户身份) 用户和效劳器相互认证/鉴别BKerberos动机 目标 防窃听,防假冒 透明,只要输入一个口令 可靠,合法性的唯一标识依据就是获得KB
3、访问 可扩展伸缩性,适应模块化和分布式 效劳 鉴别 Authentication 授权 Authorization 记帐 AccountingBKerberos The Network Authentication Protocol Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. A free implementation o
4、f this protocol is available from the MIT. Kerberos is available in many commercial products as well. :/ B阅读 Designing an Authentication System: a Dialogue in Four Scenes BKerberos v4的启发协议 V4 核心举例 C是客户、V是效劳器、AS是鉴别效劳器 C AS:IDcPcIDv,Pc是c的口令 C V :IDcTicket 问题 Pc的明文传输 用户口令的一次输入,重复使用 票据的生存周期 对效劳器的鉴别BKerb
5、eros v4 Overview BKerberos v4 请求域间效劳BKerberos v4 Message BKerberos v5 改进 不仅依赖于DES 不仅使用IP协议 使用ASN.1/BER数据编码规那么 扩展了票据有效期 鉴别的转发(代理/转让) 加强了领域间的鉴别能力 省去了不必要的双重加密 PCBCCBC 增强了抗口令攻击的能力 增加了一票据对会话密钥的能力BKerberos v5 MessageBKerberos中的passwd、key、enc passwd keyn个字符的串7n个比特序列往返56b折叠并xor 56bit DES keyPCBC CnEk(Cn-1 X
6、OR Pn-1 XOR Pn) BKerberos Distribution The MIT Kerberos Team :/ Kerberos in Linux #rpm -qa | grep krb Configuring a Kerberos 5 Server Configuring a Kerberos 5 Client BKerberos in Windows 密钥发行中心 (KDC) 一种网络效劳,提供在 Kerberos V5 身份验证协议中使用的会话票证和临时会话密钥。 票证 用于平安原那么的标识数据集,是为了进行用户身份验证而由域控制器发行的。Windows 中的两种票证形式
7、是票证授予式票证 (TGT) 和效劳票证。 票证授予式票证 (TGT) 用户登录时,Kerberos 密钥分发中心 (KDC) 颁发给用户的凭据。当效劳要求会话票证时,用户必须向 KDC 递交 TGT。因为 TGT 对于用户的登录会话活动通常是有效的,它有时称为“用户票证。 票证授予效劳 (TGS) 由“Kerberos V5 密钥分发中心 (KDC)效劳提供的一种 Kerberos V5 效劳,它在域中发行允许用户验证效劳的效劳票证。BKerberos in Windows (2k3) Kerberos V5 身份验证 Kerberos V5 是在域中进行身份验证的主要平安协议;同时要验证用
8、户的身份和网络效劳。 Kerberos V5 工作原理概述 Kerberos V5 身份验证机制颁发用于访问网络效劳的票证。这些票证包含加密的数据,其中包括加密的密码,用于向请求的效劳确定用户的身份。 除了输入密码或智能卡凭据,整个身份验证过程对用户都是不可见的。 Kerberos V5 中的一项重要效劳是密钥发行中心 (KDC)。KDC 作为 Active Directory 目录效劳的一局部在每个域控制器上运行,它存储了所有客户端密码和其他帐户信息。B- Kerberos V5 身份验证过程按如下方式工作: (1)客户端上的用户使用密码或智能卡向 KDC 进行身份验证。 (2)KDC 为此
9、客户颁发一个特别的票证授予式票证。客户端系统使用 TGT 访问票证授予效劳 (TGS),这是域控制器上的 Kerberos V5 身份验证机制的一局部。 (3)TGS 接着向客户颁发效劳票证。 (4)客户向请求的网络效劳出示效劳票证。效劳票证向此效劳证明用户的身份,同时也向该用户证明效劳的身份。 Kerberos V5 效劳安装在每个域控制器上,每个域控制器作为 KDC 使用。域控制器在用户登录会话中作为该用户的首选 KDC 运行。 Kerberos 客户端安装在每个工作站和效劳器上。客户端使用域名效劳 (DNS) 定位最近的可用域控制器。如果首选 KDC 不可用,系统将定位备用的 KDC 来
10、提供身份验证。BWindows域 了解以下概念 Windows Server Domain / Active Directory Workstation join the Domain Login into a Domain Resource in a Domain 并练习验证相关概念 使用虚拟机VmwareBKerberos in Linux Kerberos Infrastructure HOWTO In Fedora Core based GNU/Linux the packages required to provide Kerberos service are: “#rpm -qa
11、grep krbkrb5-serverkrb5-libs About choosing a realm nameBKerberos in Linux /etc/krb5.conf default_realm = GNUD.IE realms GNUD.IE = kdc = kerberos1.gnud.ie:88 kdc = kerberos2.gnud.ie:88 admin_server = kerberos1.gnud.ie:749 default_domain = gnud.ie domain_realm .gnud.ie = GNUD.IE gnud.ie = GNUD.IEBKer
12、beros in Linux To initialize and create the Kerberos database: # /usr/Kerberos/sbin/kdb5_util create -s edit the acl file to grant administrative access /etc/krb5.conf /var/Kerberos/krb5kdc/kdc.conf /var/Kerberos/krb5kdc/kadm5.acl any account which ends with a /admin in the GNUD.IE realm is granted
13、full access privileges: */ *BKerberos in Linux Create administrative user# /usr/Kerberos/sbin/kadmin.local -q addprinc admin/admin To start automatically # /sbin/chkconfig krb5kdc on# /sbin/chkconfig kadmin on Start up manually # /etc/rc.d/init.d/krb5kdc start# /etc/rc.d/init.d/kadmin start Create t
14、he user principal # kadmin.local BKerberos in Linux Time Synchronization The Network Time Protocol (NTP) NTP package /etc/ntp.conf server BKerberos in Linux Client package krb5-workstation /etc/krb5.conf /var/Kerberos/krb5kdc/kdc.conf Test Kerberos authentication using the kinit$ kinit the KDC log (
15、server side) /var/log/Kerberos/krb5kdc.log BKerberos in Linux PAM - Pluggable Authentication Module /usr/share/doc/pam_krb5-1.55/pam.d auth required /lib/security/pam_krb5.so use_first_pass Apache Web Server AllowOverride None AuthType KerberosV5 AuthName Kerberos Login KrbAuthRealm GNUD.IE require
16、valid-user vs. winsBAdditional Resources RFC 1510 (2942/3244) Kerberos FAQ Fermilab Kerberos :/ :/ B14.2 X.509/CAX509定义了公钥认证效劳框架。Certificate 证书印象PKI/X.509CA in Win2kEJBCABCertificate 证书印象 证书是可靠发布公钥的载体 公钥及其持有人信息 其他信息(用途、有效期、) 签发人及其签名(对上面信息) 例子解析见备注行msroot证书.cerBX.509 分发公钥 证书格式 内容、格式和编码、签名 鉴别协议 X509中推
17、荐的协议 应用 IPSec、SSL/TLS、SET、S/MIME、PGP、 RFC 2459 Internet X.509 Public Key Infrastructure Certificate and CRL ProfileB从公钥到证书 审核 B证书格式 版本 序列号 签名算法标识其参数 签发者名字 不早于,不迟于 主题名(持有人名) 算法标识其参数公钥 签发人标识(重名) 持有人标识 扩展 签名算法参数签名BX509v3 扩展 V3以可选扩展项的形式表达 (扩展名字,值,是否可忽略) 密钥标识符 密钥用途 签名、加密、密钥交换、CA等组合 私钥使用期限 对应的公钥一般有更长的期限以用
18、于验证 策略信息等 颁发者和持有人的更多信息 证书路径的约束信息 ASN.1 编码解析 #openssl asn1parse -in root.pem -dumpB证书中心 CA Certificate Authority 权威的证书签发者 接受请求、审核、(收费)、签发 商业CA机构 Certificate Request 申请人产生自己的公钥(私钥) 提交PKCS#10格式的申请 公钥、自己的身份信息,用户自己的签名 审核颁发 面对面的交涉; 代理RA 证书发布 X500目录; 在线交换B证书的获得等问题 证书是公开的,不需保密 这很好 信任 对证书的信任基于对中心的信任 CA是分层次的
19、以减轻负载和压力(尤其是审核) 对多个中心的信任 分散了风险,也引入了风险B证书的自证明 前提: 已经有CA的公钥 CA公钥一般是自签名证书的形式 必须可靠的获得,离线手工 取得对方的证书 证书是公开的,不需保密 查目录;在线交换 判断证书是否有效 验证证书中的签名是否是CA的真实签名 (只是说这个证书是有效的)B信任关系 信任 信任CA 信任CA的签名 信任CA签发的证书 信任该持有人拥有这个公钥 层次 CA组织成为层次关系 信任链 信任某CA那么信任其子CA及其子CA签发的证书 CA之间的相互信任 相互给对方的公钥签署一个证书BCA Tree A和B之间如何达成相互信任B证书的撤销 证书中
20、的有效期 证书提前作废的原因 私钥泄密 用户自己的、CA的 持有人身份变化 CRL - certificate revocation list 由CA定期公布的证书黑名单 作废证书的序列号的表(序列号,撤销时间) 表的创立日期 其他信息 CRL位置、下次CRL更新时间 签名BOnline Certificate Status Protocol OCSP 在线证书状态协议 可以用在线方式查询指定证书的状态 RFC 2560 OCSPB使用证书进行身份鉴别 前提: 已经有某人的真实证书(公钥) 查目录或在线交换 鉴别 鉴别对方是否是真实的持有人(某人) 看对方是否拥有证书中公钥对应的私钥 使用挑战
21、应答机制 举例 SSL协议B使用证书的鉴别过程鉴别鉴别A要和B通信,A要弄清楚B是否是他所期望的真的B AB:A向B请求证书 AB:A给B一个随机报文,让B签个名来看看 B :B签名,在签名之前可施加自己的影响成分 A ./demoCA/serial openssl genrsa -out ./demoCA/private/cakey.pem 1024 openssl req -new -days 10000 -key ./demoCA/private/cakey.pem -out careq.pem openssl ca -selfsign -in careq.pem -out ./demoCA/cacert.pem #CA readyB # user1 openssl genrsa -out userkey.pem 1024 openssl req -new -days 3650 -key userkey.pem -out userreq.pem openssl ca -in userreq.pem -out usercert.pem mv *.pem ./demoCA/newcerts/.B证书解析 手工演示 in windows use openssl.exe openssl x509 -in cert.pem -text 编程 参考 .appsx509.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年山东垦利职业学院高职单招职业适应性测试考试题库完整答案详解
- 2026年广东省肇庆市单招职业技能考试模拟试卷附答案详解(典型题)
- 2024年四川天府职业学院高职单招职业技能考试模拟试卷含答案详解【达标题】
- 2026年捞刀河职业学院高职单招职业技能考试题库带答案详解(A卷)
- 2026年商丘幼儿师范高专高职单招职业适应性测试考试模拟试卷附参考答案详解【能力提升】
- 2027年运城盐湖职业学院高职单招职业适应性测试考试题库附答案详解【基础题】
- 2027年云南省昆明市高职单招职业技能考试题库(基础题)附答案详解
- 2026年教育机构师资队伍建设六月方案
- 2027年湖南娄底娄星职业学院高职单招职业技能考试模拟试卷含答案详解【达标题】
- 2026年吉林工程职业学院单招职业技能考试题库附答案详解(培优A卷)
- 海阔天空混声四部合唱谱
- 川大拔尖计划试题及答案
- 人力资源共享服务中心操作手册
- 加油站防雷培训
- 关于会计培训
- 燃气储罐安全拆除应急预案
- 带教老师遴选制度
- 保险学(第五版)课件全套 魏华林 第0-18章 绪论、风险与保险- 保险市场监管、附章:社会保险
- 《淬火应力变形开裂》课件
- 水泥砂浆砌石体单元工程施工质量评定表填表说明
- 中国籍贯的集合数据库(身份证号前六位籍贯对照表)
评论
0/150
提交评论