密码学期中作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码学期中作业

班级:

姓名:

学号:

Kerberos 认证系统

一、Kerberos 认证原理

Kerberos 是实现网络安全认证的一种关键技术.其认证的基本原理就是Kerberos 作为可信任的第三方.任何主体必须向所期望的任何应用服务证明自己的身份.身份的证明是通过门 票、会话密钥等来完成的。Kerberos 认证的原理模型如图所示

其中A S 为认证服务器,可在用户登录时确认用户的身份;T G S 为发票服务器,主要用于发放通信用的门票:t 表示时间戳记;客户c 代表用户来提出某种服务请求;应用服务器s 用于提供特定的服务;K 用来表示密钥,Kc 表示客户C 的秘密密钥Ktgs 表示T G S 服务器的秘密密钥,l(s 表示服务器s 的秘密密钥,Kct 表示客户C 和发票服务器T G S 之间的共享密钥,Kcs 表示客户c 和应用服务器s 之间的共享密钥;形如Ka(I))的数据表示用密钥a 将 信息b 加密后所得到的数据,故Ktgs(C ,Kct)表示用T G S 的秘密密钥Ktgs 将信息C 和Kct 加密后所得到的数据,K cs(t)表示用客户c 和服务器s 的共享密钥Kcs 将时间戳记t 加密后的到的数据。

认证原理如下:

①当一个用户登录时,其客户机c 便向认证服务器AS 发出请求信息{c }(此信息是客户 的ID ),要求得到访问发票服务器的证书(包括访问发票服务器的门票和一个暂时的会话加密钥)。

②作为响应,AS 回送给客户一个用Kc 加密的证书信息{Kc(Kct ,Ktgs(C ,Kct))}。该证书包括一会话密钥Kct 和与TGS 通信的门票Ktgs(c ,Kct),门票包括客户的ID 和会话密钥的一个拷贝。用户收到AS 的响应后在本地输入口令,客户机便获得了密钥Kc ,从而将该信息解密,得到了与TGS 通信的会话密钥Kct 和访问TGS 的门票。

③客户c 想跟Kerberos 化的应用服务器s 通信时,向TGS 发送请求信息{Ktgs(C ,Kct),S ,K t(t)},该信息包括门票Ktgs(C ,Kct)、应用服务器s 的ID

C

{C } AS {Kc(Kct,Ktgs(C,Kct))} {Ktgs(C,Kct),S,Kct(t)} {Kct(S,Kcs),Ks(C,Kcs)}

{Ks(C,Kcs),Kcs(t)} {Kcs(t+1)}

TG S

服务器

和一个认证符Kct(t)。

④作为响应,TGS通过验证认证符来确认客户请求的合法性,为c与s之间的通信生成一会话密钥Kcs。然后TGS把Kcs和服务器的ID用Kct加密,把Kcs和客户的ID用Ks加密,并把上述两种加密信息{Kct(S,Kcs),Ks(C,Kcs)}回送给客户。这样客户就获得了与应用服务器通信的会话密钥Kcs和访问应用服务器的门票Ks(C,Kcs)。

⑤客户将门票Ks(C,Kcs)和认证符Kcs(t)(用会话密钥Kcs加密的时间戳记)信息{Ks(C,Kcs)Kcs(t)}传送给应用服务器。因为该会话密钥现在由客户和服务器共享,所以客户就可以用它来向服务器认证自己。这也正是Kerberos基于秘密密钥加密技术进行安全认证的原理所在。

⑥若此通信要求双向认证的话,服务器可以用Kcs加密的时间戳记信息{Kcs(t+ 1)}来向客户认证自己。通过以上的认证步骤,客户获得了访问应用务器的门票和会话密钥,双方可以信任对方所声明的身份。在证书的有效时间范围内,用户可以随时向s申请服务,并可用会话密钥Kcs加密双方间进一步的通信或者交换另外的子密钥来加密进一步的通信。

加密方式

Kerberos认证技术是建立在秘密密钥加密技术的基础上,利用了最流行的DES加密算法来实现加密的。

二、基于Kerberos认证的应用服务系统的实现

Kerberos作为可信任的第三方认证系统,必须和其它应用服务系统相结合才能发挥作用。但由于原有的应用系统并不能直接适用于Kerberos环境,其客户端和服务器端的软件都要做一定的修改,使之可以在成功建立TCP连接后能够交换加密的认证信息。在这里以telnet为例,说明如何将应用服务系统加入到Kerberos环境中。具体实现是通过以几个步骤:

(1)重新修改telnet客户端与服务器端程序加入发送、接收和处理Kerberos认证信息及后续信息处理的代码。

(2 )在Kerberos服务器上定义应用服务的主体标识,分配密钥并加入到密钥库中。

(3 )在应用服务器运行的主机上保留一份密钥文件,此密钥文件应该为root 只读。

(4 )将应用服务添加到超级服务器INETD里,取代原来不安全的应用服务。

上述步骤中后三步实现较为简单,以下主要介绍在实现第一步骤中Kerberized telnet系统的客户端和服务器端口如何实现的。

Kerberized telnet系统中服务器端的实现

Telnet服务器端程序为了加入Kerberos认证必须调用有关的代码信息,从而去处理来自客户端的认证信息,向客户回送认证响应信息,并返回一个是否认证成功的状态代码。若状态代码表明认证未成功的话,服务器将向telnet客户发送认证失败的信息;若状态代码表明认证成功的话,服务器将从Kerberos认证符里抽取主体用户名并将其存储。

x.509证书的认证系统

一、数字证书简介

数字证书,是一个经证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的数据文件。数字证书相当于电子化的身份证明。

CA (Certification Authority )是一个可靠的第三方机构,又称为证书授证中心,是为了解决电子商务活动中交易参与的各方身份、资信的认定,维护交易活动中的安全,从根本上保障电子商务交易活动顺利进行而设立的,是受一个或多个用户信任,提供用户身份验证的第三方机构,承担公钥体系中公钥的合法性检验的责任。在SET 交易中,CA 不仅对持卡人、商户发放证书,还要对收款的银行、网关发放证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。CA 由RA(Registration Authority -- 注册审批)和CP (Certification Processor—证书操作)两部分组成。

二、X.509证书及认证框架

X.509是由国际电信联盟(ITU-T)制定的数字证书标准。最初版本公布于1988年,在公开讨论后,于1993 年作了一些安全问题的修正。X.509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息它定义了包含扩展信息的数字证书。该版数字证书提供了一个扩展信息字段,用来提供更多的灵活性及特殊应用环境下所需的信息传送。目前,采用X.509数字证书的安全应用系统已被广泛应用于开发事务处理、工作流等业务。在WWW系统中,采用Borwser/Server模式工作。

三、X.509数字证书内容

域含义

相关文档
最新文档