- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
kerberos安全协议解析与编程实现
Kerberos安全协议解析与编程实现
1.引言
看了好几期的黑防,发现谈论安全协议的文章很少,基本上都是一些HOOK各种API或者底层驱动方面的技术文章。下面我向大家介绍一种安全认证协议—kerberos安全协议的基本原理,并通过编程实现向大家展示如何借助编码设计,简单实现此协议。本文的读者可以是信息安全科班出身的学生但又未涉及到kerberos或者对安全协议感兴趣的任何读者,只要具有一定的安全编程知识即可。
其实安全协议的研究很早就存在,只是以前国内的研究者比较少,国内也没有开设信息安全专业的相关课程,如密码学等课程。直到网络信息高速发展的今天,大量的信息非法盗取、恶意篡改、木马、病毒像幽灵般穿梭在网络中时,大家才开始紧密的关注网络安全技术领域,各大高校也都开始纷纷设立信息安全专业。伟大的信息通信专家Shannon发表《保密系统的信息理论Kerberos安全认证协议基本框架
Kerberos安全认证协议是由MIT的Athena计划的认证服务而开发的,并广泛的应用于开放式的网络环境中,为通信的双方提供很好的双向认证服务,在客户与服务器之间构筑了一个安全桥梁,要求用户对每个向服务器提交的服务请求及其权限,必须预先经过第三方认证中心服务器的认证后,才被允许执行。换句话说,kerberos的整体设计方案是完全基于协议的可信任第三方认证服务的,客户和服务器均信任Kerberos认证服务器的认证。好了,现在我们来揭开它的基本原理:
一个Kerberos环境包含一个Kerberos服务器、若个客户端以及一些应用服务器。Kerberos服务器将客户端用户的用户名及口令均存放在它的数据库中。应用服务器和所有的客户都必须在初始化阶段到Kerberos服务器中注册。基本框架如图1所示:
图 1 kerberos安全认证协议基本结构
3.Kerberos双向认证过程与逆向推理分析
(1)Client → AS:客户端向认证服务器发送认证请求KRB_AS_REQ,其内容是:{ c,Tgs,TS1} 。其中,c表示客户标识,告诉AS 客户端身份,便于AS到数据库中查询c的密钥; Tgs是TGS 服务器标识,告诉AS用户请求访问的TGS;TS1用于使AS能验证客户端时钟是否与AS时钟同步,其实也就是一个时间戳的概念,给AS作参考判断来自Client端的消息是否已经过期。
(2)AS → Client:向客户端发送认证回应KRB_AS_REP,其内容为{K(c,Tgs),TS2,lifetime,Tickets_Tgs}Kc。K(c,Tgs)是由AS随机产生的一个密钥,用于Client与TGS共享的一个会话私钥。TS2是票据发放的时间戳;Tickets_Tgs是AS 发给Client的用于访问TGS的票据授权票据;有了此票据后,用户就可以向TGS申请任一的应用服务器,而不需要每次重复的输入Client端的登录密钥。它定义为:Tickets_Tgs = { K(c, tgs), c, c_mac, Tgs, TS2, lifetime2 } Ktgs。其中Tickets_Tgs已经采用TGS的私钥加密。这部分其实在Kerberos V5的版本已经作了修改,因为Tickets_Tgs已经采用TGS的私钥加密,故没有必要采用客户端的私钥再次加密。
(3)C→TGS:Client在第2步中获得AS认证,并取得票据授权票据后,Client即可向服务授权服务器(TGS)申请服务票据。发送的消息定义为KRB_TGS_REQ = {AppServ, Tickets_Tgs, Authen_info},其中AppServ是用户期望访问的服务器;Authen_info 是发送的一条认证消息,用于确认发送票据Tickets_Tgs 的用户合法。定义为:Authen_info = { c , c_mac , TS3 } K(c, tgs)。
这里我们可以假设,若不发送Authen_info 消息,则当cracker截获了Tickets_Tgs票据,同时向TGS发送此票据,那么TGS只针对此Tickets_Tgs票据是无法判断此票据是否真正来自合法客户端,而验证器消息Authen_info则正好解决了此问题,当TGS收到Client发来的Req请求服务授权票据时,TGS首先会采用自己的私钥Ktgs解密Tickets_Tgs,获取AS为Client和TGS双方随机产生的共享密钥K(c, tgs),然后利用此密钥解密Authen_info消息,提取出客户端用户名及其MAC地址,然后将这些同Tickets_Tgs包含的C和c_mac进行比较,若一致,则断定此次Req来自合法客户端。
(4)TGS → C: 当TGS验证Req来自合法Client时,则构造下面这条消息KRB_TG
您可能关注的文档
- (DCR2626)常用功能及其配置.doc
- (哈工程机械考研机械设计题库)第7章 齿轮传动.doc
- (摄像头的工作原理(获取视频数据))摄像头视频采集压缩及传输.doc
- 0000基于层次分析法的南通出口主导产业选择.doc
- 000000a0急诊感染的现状与对策.doc
- -开题报告 注水肉”快速检测系统研究.doc
- 000000b2HIV感染者围手术期脓毒症相关危险因素分析.doc
- 004-3种不锈钢多辊冷轧机的使用比较.doc
- 013-2009中国联通基于UICC平台的Java卡互操作性技术规范v10.doc
- (宋明玉)迈氏干涉仪教案.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)