




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络与信息安全 安全基础 (二),潘爱民,北京大学计算机研究所 /InfoSecCourse,内容,Kerberos协议 Kerberos中ticket的flag Kerberos实现 MIT Release Win2k Kerberos IPSec简介,Kerberos认证协议,历史 80年代中期 是MIT的Athena工程的产物 版本 前三个版本仅用于内部 第四版得到了广泛的应用 第五版于1989年开始设计 RFC 1510, 1993年确定 标准Kerberos 解决的问题 认证、数据完整性、保密性,作为一种认证协议,特点 基于口令的认证协议 利用对称密码技术建立起来的认证协议 可伸缩性可适用于分布式网络环境 环境特点 User-to-server authentication 密钥存储方案,Kerberos协议中一些概念,Principal(安全个体) 被认证的个体,有一个名字(name)和口令(password) KDC(Key distribution center) 是一个网络服务,提供ticket和临时的会话密钥 Ticket 一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket 中的大多数信息都被加密,密钥为服务器的密钥 Authenticator 一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥 Credentials 一个ticket加上一个秘密的会话密钥,Kerberos Model,基本的ticket交换 Client - KDC c(客户的id), s(服务器的id), n(nonce) KDC - Client Kc,s, nKc, Tc,sKs Client - Server AcKc,s, Tc,sKs,基本的ticket交换的问题,客户个体密钥Kc的频繁使用 Kc的使用对于用户尽可能透明 可伸缩性 方案 引入TGS(Ticket-granting server),附加的ticket交换,引入TGS(Ticket-granting service) 两种ticket TGT: Tc,tgsKtgs Service ticket: Tc,sKs,支持可伸缩性的两个概念,TGS Ticket-granting service Realm(域) 与domain的区别? 每一个安全个体都与一个realm相联系 从安全性意义上来,是指信任边界,Kerberos中ticket示意图,Kerberos消息(1),Client - Authentication Server(KDC) Options: KDCOptions IDc: principals name Realmc: clients realm IDtgs: TGSs name Times(from, till, rtime) Nonce1 可选的扩展信息,Kerberos消息(2),Authentication Server(KDC) - Client Realmc IDc Tickettgs EncryptedData(with Kc) Kc,tgs Times(LastReq, Key-expiration*, Authtime, Starttime*, Endtime, Renew-till*) Nonce1 Realmtgs IDtgs,Tickettgs信息,Encrypted with Ktgs Flags Kc,tgs Realmc IDc ADc Times,Kerberos消息(3),C - TGS Options: KDCOptions IDv: Servers name Times(from*, till, rtime*) Nonce2 Tickettgs Authenticatorc,Authenticator,Encrypted with Kc,tgs IDc Realmc TS1 用途是 服务器可用来认证Ticket的有效性 TS可告诉服务器客户机当前的时间,Kerberos消息(4),TGS - C Realmc IDc Ticketv EncryptedData(with Kc,tgs) Kc,v Times Nonce2 Realmv IDv,Ticketv信息,Encrypted with Kv Flags Kc,v Realmc IDc ADc Times,Kerberos消息(5),C - Server Options Ticketv Authenticatorc Authenticaor: Encrypted with Kc,v Realmc IDc TS2 Subkey Seq#,Server - C(optional) 仅用于双向认证 EncryptedData(with Kc,v) TS2 Subkey Seq#,Ticket交换中的flags,INITIAL 是由AS发出的ticket RENEWABLE 告诉TGS,当这个ticket过期之后,它可以用来获得一个新的ticket MAY-POSTDATE 告诉TGS,以后可以根据这个ticket(TGT),发出一个postdate的ticket POSTDATED 表示这个ticket已经被postdated,ticket中的flags(续),INVALID Ticket已经无效,用之前必须先使它有效 PROXIABLE 告诉TGS, 根据所出示的ticket,发出一个地址不同的新ticket PROXY 表示这是一个proxy ticket FORWARDABLE 告诉TGS,根据这个TGT,发出一个地址不同的新ticket FORWARDED 表明这个ticket是一个forwarded ticket,INITIAL,表明一个ticket是由AS发出的 有的应用服务要求客户必须知道password,那么它可以要求只接受包含INITIAL标记的ticket 例如,修改口令的应用服务,PRE-AUTHENT & HW-AUTHENT,AS可以要求在发出ticket之前,先认证客户,因 此,客户必须提供一个预认证数据块,比如,包含随机数、时间戳,等,然后用客户的私钥加密 如果客户没有提供AS所要求的预认证数据,则AS返回一个KDC_ERR_PREAUTH_FAILE消息 如果AS在认证的时候,要求硬件认证支持,则可以指定HW-AUTHEN标记,RENEWABLE,如果一个ticket设置了RENEWABLE,则它包含两个过期时间 一个是当前ticket的过期时间 另一个是最终的过期时间 客户可以请求一个新的ticket,只要在最终的过期时间之内,TGS都可以发出新的ticket,其中过期时间往后延长 好处 如果一个ticket被偷,TGS可以拒绝发出新的ticket,POSTDATED和INVALID,客户可以先用MAY-POSTDATE向AS请求一个TGT 然后,客户利用这个TGT,可以申请一些同时包含POSTDATED和INVALID的tickets,用于以后的会话过程 客户在使用之前,通过VALIDATE option,先请求TGS使INVALID ticket有效 用处: 比如在一个处理时间很长的任务中,PROXIABLE和PROXY,PROXIABLE告诉TGS, 根据所出示的ticket,发出一个地址不同的新ticket PROXY表示这是一个proxy ticket 用处 允许客户把一个proxy传递给server, 让这个proxy代替自己完成特定的任务 原理 通过网络地址来认证客户,FORWARDABLE &FORWARDED,告诉TGS,根据这个TGT,发出一个地址不同的新ticket FORWARDED表明这个ticket是一个forwarded ticket 其实也是proxy的一种情形 可以完全代替客户的身份 一个用途 在跨域认证的时候,客户可以把这样的ticket出示给其他域的TGS,这使得客户可以访问其他域的服务器,Cross-realm认证,Kerberos 4支持跨realm认证,Cross-realm认证(续),Kerberos 5支持跨realm认证 提供了可伸缩能力,Kerberos数据库,KDC必需一个数据库,保存以下基本信息 Name: principals identifier Key: principals secret key P_kvno: principals key version Max_life: maximum lifetime for tickets Max_renewable_life: 其他的扩展fields 数据库的实现取决于具体的Kerberos实现 ,它可以与KDC位于不同的服务器,但是要保证安全性,Kerberos: 数据完整性和私有性,完整性 对每一个包计算检验和,并加密 HMAC算法 私有性 既然客户和服务器已经有了共享随机密钥,那么私有性就很容易保证,Kerberos中加密算法规范,具体的算法可以在参数中指定 NULL Encryption system DES in CBC mode with a CRC-32 checksum DES in CBC mode with a MD4 checksum DES in CBC mode with a MD5 checksum ,关于Kerberos的一些讨论,重放攻击 Caching authenticators 时间服务 口令猜测攻击 数据加密算法的分离 ,参考:Bel90. S. M. Bellovin and M. Merritt, Limitations of the Kerberos Authentication System, Computer Communications Review 20(5), pp. 119-132 (October 1990).,Kerberos的实现MIT release,MIT提供了完整的Kerberos实现 目前的最新版本为1.2 源码开放 是其他厂商的重要参考 支持各种平台(包括Windows) 同时提供了各种工具(k系列),kadmin,管理Kerberos数据库,功能有 显示principal的属性 获得principal列表 增加、删除或者修改principal 修改口令 策略管理,Kadmin举例,shell% kadmin kadmin: getprinc jennifer/root Principal: jennifer/rootATHENA.MIT.EDU Key version: 3 Maximum life: 1 day 00:00:00 Maximum renewable life: 7 days 00:00:00 Master key version: 1 Expires: Mon Jan 18 22:14:07 EDT 2038 Password expires: Mon Sep 19 14:40:00 EDT 1996 Password last changed: Mon Jan 31 02:06:40 EDT 1996 Last modified: by joeadmin/adminATHENA.MIT.EDU on Wed Jul 13 18:27:08 EDT 1996 Attributes: DISALLOW_FORWARDABLE, DISALLOW_PROXIABLE, REQUIRES_HW_AUTH Salt type: DEFAULT kadmin:,kdb5_util,功能 把kerberos数据库dump出来 恢复kerberos数据库 创建或者删除一个kerberos数据库,kinit,kinit 获得一个ticket 例如,shell% kinit Password for jenniferATHENA.MIT.EDU: - Type jennifers password here. shell% 如果口令不正确,则: shell% kinit Password for jenniferATHENA.MIT.EDU: - Type the wrong password here. kinit: Password incorrect shell%,klist,列出所有的tickets,shell% klist Ticket cache: /tmp/krb5cc_ttypa Default principal: jenniferATHENA.MIT.EDU Valid starting Expires Service principal 06/07/96 19:49:21 06/08/96 05:49:19 krbtgt/ATHENA.MIT.EDUATHENA.MIT.EDU 06/07/96 20:22:30 06/08/96 05:49:19 host/ATHENA.MIT.EDU 06/07/96 20:24:18 06/08/96 05:49:19 krbtgt/FUBAR.ORGATHENA.MIT.EDU 06/07/96 20:24:18 06/08/96 05:49:19 host/ATHENA.MIT.EDU shell%,kpasswd,修改口令,shell% kpasswd Old password for david: - Type your old password. New Password for david: - Type your new password. Verifying, please re-enter New Password for david: - Type the new password again. Password changed. shell%,Kerberos应用: telnet,shell% telnet Trying . Connected to . Escape character is . NetBSD/i386 (daffodil) (ttyp3) login: david Password: - david types his password here Last login: Fri Jun 21 17:13:11 from Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. NetBSD 1.1: Tue May 21 00:31:42 EDT 1996 Welcome to NetBSD! shell%,Kerberos应用: rlogin,shell% rlogin -l david Password: - david types his password here Last login: Fri Jun 21 10:36:32 from :0.0 Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. NetBSD 1.1: Tue May 21 00:31:42 EDT 1996 Welcome to NetBSD! shell%,Kerberos应用: ftp,shell% ftp Connected to . 220 FTP server (Version 5.60) ready. 334 Using authentication type GSSAPI; ADAT must follow GSSAPI accepted as authentication type GSSAPI authentication succeeded Name (:jennifer): 232 GSSAPI user jenniferATHENA.MIT.EDU is authorized as jennifer 230 User jennifer logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp protect private 200 Protection level set to Private. ftp cd jennifer/MAIL 250 CWD command successful. ftp get RMAIL 227 Entering Passive Mode (128,0,0,5,16,49) 150 Opening BINARY mode data connection for RMAIL (361662 bytes). 226 Transfer complete. 361662 bytes received in 2.5 seconds (1.4e+02 Kbytes/s) ftp quit shell%,其他Kerberos命令,kdestroy rsh ksu rcp,Kerberos配置文件,krb5.conf, Kerberos配置信息,例如,libdefaults ticket_lifetime = 600 default_realm = ATHENA.MIT.EDU default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc realms ATHENA.MIT.EDU = kdc = kdc = kdc = admin_server = default_domain = FUBAR.ORG = kdc = kdc = admin_server = domain_realm . = ATHENA.MIT.EDU = ATHENA.MIT.EDU,Kerberos配置文件,kdc.conf, KDC的配置,例如,kdcdefaults kdc_ports = 88 realms ATHENA.MIT.EDU = kadmind_port = 749 max_life = 10h 0m 0s max_renewable_life = 7d 0h 0m 0s master_key_type = des3-hmac-sha1 supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal des-cbc-crc:v4 kdc_supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal des-cbc-crc:v4 logging kdc = FILE:/usr/local/var/krb5kdc/kdc.log admin_server = FILE:/usr/local/var/krb5kdc/kadmin.log,Kerberos缺省端口配置,ftp 21/tcp # Kerberos ftp and telnet use the telnet 23/tcp # default ports kerberos 88/udp kdc # Kerberos V5 KDC kerberos 88/tcp kdc # Kerberos V5 KDC klogin 543/tcp # Kerberos authenticated rlogin kshell 544/tcp cmd # and remote shell kerberos-adm 749/tcp # Kerberos 5 admin/changepw kerberos-adm 749/udp # Kerberos 5 admin/changepw krb5_prop 754/tcp # Kerberos slave propagation eklogin 2105/tcp # Kerberos auth. & encrypted rlogin krb524 4444/tcp # Kerberos 5 to 4 ticket translator,Kerberos协议的实现MS版本,Kerberos代替Windows NT的NT LM认证协议,是Win2000的默认认证协议,也是Windows 2000分布式安全服务的一部分 与Windows 2000的目录服务集成在一起 Kerberos数据库是AD的一部分 与系统的授权数据信息结合在一起 对MIT Kerberos作了扩展,也不完全兼容,Win2k Kerberos的实现形式,形式: Security Service Provider (SSP) Security Support Provider Interface (SSPI) 对上层应用透明,Win2k Kerberos的Ticket结构,Ticket交换,登录,访问远程服务,Win2k Kerberos Delegation,Server S代表客户申请一个新的ticket 利用ticket的FORWARD标志特性,Win2k Kerberos跨域认证,关于Win2k Kerberos,功能 实现了可传递的域信任关系 实现了服务的delegation 与其他的系统服务之间的集成 兼容性问题 与MIT采用的默认算法不同, 不过,可以协商 MIT使用DES,MS使用RC4 口令的散列算法不同 MIT使用一个string-to-key算法,MS使用MD4 授权域信息不兼容 安全个体的映射关系,IPSec,网络层安全性 着眼:真实性(认证)、完整性和保密性 好处:对于应用层透明 可以针对链路,也可以针对最终用户 可以实现在防火墙或者路由器上 弥补IPv4在协议设计时缺乏安全性考虑的不足 IETF成立专门的WG标准化IPSec 目前已有一系列的RFC和Internet Draft 文档结构复杂,IP Security示意图,IPSec的应用,通过Internet建立分支机构 通过Internet远程访问企业内部网络 合作伙伴之间通过Internet建立信任关系 也可用于电子商务应用 IPSec最常见的应用VPN,IPSec的内容,协议包括两大部分 AH: Authentication Header ESP: Encapsulating Security Payload 密钥管理(Key Management) SA(Security Association) ISAKMP定义了密钥管理框架 IKE是目前正式确定的密钥交换协议,SA(Security Association),基本概念 是发送者和接收者两个IPSec系统之间的一个简单的单向逻辑连接,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合 因为SA是单个方向的,所以,对于一个双向通信,则需要两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市江浦高级中学2025届高三适应性练习(一)英语试题试卷含解析
- 江苏省淮安市南陈集中学2025届初三2月教学质量检测试题语文试题含解析
- 普洱学院《西方思想史》2023-2024学年第二学期期末试卷
- 江西省上饶市广丰区2025届初三化学试题周四测试试题含解析
- 商洛学院《社区预防》2023-2024学年第二学期期末试卷
- 部编版语文八年级上册第11课《短文二篇》教学课件
- 浙江东方职业技术学院《问题解决与数学实践》2023-2024学年第二学期期末试卷
- 上海民航职业技术学院《视频剪辑》2023-2024学年第二学期期末试卷
- 湖北省恩施州2025年初三教学质量检测试题试卷(二)生物试题含解析
- 华中科技大学《管理学理论教学》2023-2024学年第二学期期末试卷
- 每日消防巡查记录表
- 医院驾驶员培训
- 《汽车常见维护与修理项目实训教程》-教案
- 苏教版数学三年级下册期中考试试卷及答案
- 山东省自然科学基金申报书-青年基金、面上项目
- 手术室静脉输液课件
- 资金支付计划审批表
- 媒体行业社会责任现状研究
- 英语-第一册-第三版-Unit5
- 读书分享平凡的世界
- 2024年山东济南中考语文作文分析-为了这份繁华
评论
0/150
提交评论