认证应用.docx
《认证应用.docx》由会员分享,可在线阅读,更多相关《认证应用.docx(29页珍藏版)》请在冰豆网上搜索。
认证应用
数字签名
【教学目的要求】熟悉各名词、术语的含义,掌握基本概念,数字签名技术、CA的作用、数字证书等方面知识。
【重点】公钥加密体制的原理和方法、Diffie-Hellman、RSA算法。
【难点】Diffie-Hellman、RSA算法。
【教学方法】多媒体教学和传统教学相结合。
【课时安排】2课时
【教学过程】
【导入】
数字签名技术是公开密钥加密技术和报文分解函数相结合的产物。
与加密不同,数字签名的目的是为了保证信息的完整性和真实性。
【讲解】
1.1数字签名技术
数字签名必须保证以下三点:
(1)接受者能够核实发送者对消息的签名。
(2)发送者事后不能抵赖对消息的签名。
(3)接受者不能伪造对消息的签名。
假定A发送一个签了名的信息M给B,则A的数字签名应该满足下述条件:
(1)B能够证实A对信息M的签名。
(2)任何人,包括B在内,都不能伪造A的签名。
(3)如果A否认对信息M的签名,可以通过仲裁解决A和B之间的争议。
假定A向B发送一条消息M,则其过程如下:
(1)A计算出C=DA(M),对M签名。
(2)B通过检查EA(C)是否恢复M,验证A的签名。
(3)如果A和B之间发生争端,仲裁者可以用
(2)中的方法鉴定A的签名。
1.2带加密的数字签名
在公钥数字签名系统中还要求保密性,必须对上述方案进行如下修改。
发送者A先将要传送的消息M用自己的秘密变换DA签名。
MA=DA(M)
再用接收者B的公开变换EB进行加密。
C=EB(MA)=EB(DA(M))
最后,将签名后的加密消息C发送给B。
B收到C后,先用自己的秘密变换DB解密C。
DB(C)=DB(EB(MA))=MA
然后用A的公开变换EA恢复M。
EA(MA)=EA(DA(M))=M
使用公开密钥算法的带加密的数字签名的基本过程如图3-1所示。
以上就是数字签名的基本原理。
它的现实意义在于彻底解决了收发双方就传送内容可能发生的争端,为在商业上广泛应用创造了条件。
现在被广泛应用的基于公钥密码体制的数字签名技术主要有:
(1)RSA体制,它是基于求解一个大整数分解为两个大素数问题的困难性。
(2)E1Gamal体制,它是基于求解有限域上的乘法群的离散对数问题的困难性。
椭圆曲线密码体制是一种基于代数曲线的公钥密码机制,以其良好的安全性,曲线选取范围广,在同等长度的密钥下具有比RSA体制更快的加、解密速度及更高的密码强度而备受青睐。
1.3RSA公钥签名技术
RSA方法的加密和解密算法互为逆变换,所以可以用于数字签名系统。
假定用户的公钥是(nA,eA),秘密钥是dA,加密和解密变换分别为EA和DA,则A发送的签名后的消息是:
收到C后的B,可以用A的公开变换EA恢复M:
因为只有A知道DA,所以签名不可能伪造,并且A与B之间的任何争议都可以通过仲裁加以解决。
1.4数字签名的应用
1.文件签名和时间标记
2.电子商务中的应用
2电子商务安全交易的关键环节——身份认证
2.1CA的定义
2.2CA的作用
2.1CA的定义
CA机构,又称为证书授权中心,作为电子商务交易中受信任和具有权威性的第三方,承担公钥体系中公钥的合法性检验的责任。
CA机构应包括两大部门:
一是审核授权部门(RegistryAuthority,RA),作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
另一个是证书操作部门(CertificateProcessor,CP),负责为已授权的申请者制作、发放和管理证书,并承担因操作运营所产生的一切后果,包括失密和为没有获得授权者发放证书等。
2.2CA的作用
认证中心在密码管理方面的作用如下:
(1)自身密钥的产生、存储、备份/恢复、归档和销毁。
(2)提供密钥生成和分发服务。
(3)确定客户密钥生存周期,实施密钥吊销和更新管理。
(4)为安全加密通信提供安全密钥管理服务。
(5)提供密钥托管和密钥恢复服务。
(6)其他密钥生成和管理,密码运算功能。
1.电子证书的用途
电子证书是进行安全通信的必备工具,它保证信息传输的保密性、数据完整性、不可抵赖性、交易者身份的确定性。
数字证书就是网络通信中标志通信各方身份的信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。
2.数字证书的内容
证书的版本信息。
证书的序列号,每个证书都有一个惟一的证书序列号。
证书所使用的签名算法。
证书的发行机构名称,命名规则一般采用X.500格式。
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950~2049。
证书所有人的名称,命名规则一般采用X.500格式。
证书所有人的公开密钥。
证书发行者对证书的签名。
3.3.2数字证书的标准
数字证书是一个经证书授权中心数字签名的包含公钥拥有者信息及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
一般情况下证书还包括密钥的有效时间、发证机关(证书授权中心)的名称、该证书的序列号等信息,证书的格式遵循ITUTX.509国际标准。
3.3数字证书的使用
1.获得一个用户证书
获得电子证书的步骤如下:
(1)下载根证书。
(2)申请账号认证。
(3)下载安装证书。
2.获得通信过程中验证签名和公钥的过程
步骤1:
A从目录获得由X1签名的X2的证书。
因为A能安全地知道X1的公开密钥,A从它的证书中能获得X2的公开密钥,并通过证书中X1的签名来证实它。
步骤2:
然后A能回到目录中得到由X2签名的B的证书。
因为现在A已经拥有一个可信的X2的公开密钥备份,因此A能验证这个签名并安全地获得B的公开密钥。
3.证书的撤销
4.证书的鉴别过程
(1)单向鉴别。
(2)双向鉴别。
(3)三向鉴别。
在三向鉴别中,包括一个最后从A到B的报文,它含有一个现时B的签名备份。
这样设计的目的是无须检查时间戳,因为两个现时均由另一端返回,每一端可以检查返回的现时来探测重放攻击。
当没有同步时钟时,需要使用这种方法。
图3-4显示了X.509的强鉴别过程。
3.4电子商务认证中心安全方案
1.物理与环境安全
2.网络安全
3.应用业务系统与数据安全
4.人员安全与日常操作管理
5.系统连续性管理
【例】个人数字证书申请。
本节以网证通NETCA电子认证系统(试用型)为例,说明试用型个人数字证书的申请过程。
5OutlookExpress的操作实例
1.数字标识的工作方式
2.获得数字标识
3.使用数字标识
4.备份数字标识
5.验证数字签名
6.安全电子邮件
THANKYOUVERYMUCH!
本章到此结束,
谢谢您的光临!
总结:
数字签名必须保证以下三点:
(1)接受者能够核实发送者对消息的签名。
(2)发送者事后不能抵赖对消息的签名。
(3)接者不能伪造对消息的签名。
【作业布置】思考题3.4、.35
【教学后记】感觉采用多媒体教学,知识量大,图像丰富,易于理解,有时候也将重要的知识点板书在黑板上,同学们反应很好。
第四章用户认证(Kerberos)
【教学目的要求】熟悉各名词、术语的含义,掌握基本概念,了解Kerberos、Kerberos域、Kerberos的实现等方面知识。
【重点】Kerberos。
【难点】Diffie-Hellman、RSA算法。
【教学方法】多媒体教学和传统教学相结合。
【课时安排】2课时
【教学过程】
【导入】
数字签名技术是公开密钥加密技术和报文分解函数相结合的产物。
与加密不同,数字签名的目的是为了保证信息的完整性和真实性。
【讲解】
4.0身份认证
为什么要进行身份认证?
身份认证
区分消息认证和身份认证
消息认证验证所接收到的数据,保证消息的来源和数据完整性
身份认证确认通信中声称的实体
你说“我是A”,就代表你真的是A吗?
网络中的一种基本服务
通常使用认证协议达到身份认证的目标
定义
身份认证:
确认实体在特定的时间内与其声称保持一致(但是在这个时间之后没有必要保证)
单向认证:
为通信的一方确认另一方的身份,但相反则不保证
双向认证:
为通信的双方确认相互的身份
身份认证的基础
身份认证协议需要建立在以下假设的基础上:
A和B共享了一个秘密消息
所知(whatdoyouknow):
密码、问题的答案
所有(whatdoyouown):
身份证、护照、钥匙、智能卡、USB卡等
个人生物特征(whatareyou):
指纹、掌纹、笔迹、声纹、虹膜、脸部轮廓、DNA等
A和B相互拥有对方的公钥的副本
认证和交换协议
如果用于连接完整性服务的密钥被在线建立,那么事实证明将认证和密钥交换功能组合在一个协议中是重要的(认证和密钥交换协议),还记得Diffie-Hellman密钥交换的中间人攻击吗?
认证和密钥交换协议是最常用的协议之一,该协议使得通信各方互相认证各自的身份,然后交换会话密钥
基于认证的密钥交换核心问题有两个
保密性--为了防止伪装,基本认证信息必须以保密形式通信,这就要求预先存在保密或公开密钥以供加密使用
时效性--解决重放攻击问题
对认证协议的重放攻击
重放(Replay)攻击
简单重放:
攻击者简单复制一条消息,以后再重新发送它;
可被日志记录的复制品:
攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息;
不能被检测到的复制品:
原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。
对付重放攻击的策略
序列号:
计数的策略。
对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息报文编号。
仅当收到的消息序数顺序合法时才接受之。
但这种方法的困难是要求双方必须保持上次消息的序号。
时间戳:
A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步
验证者发送随机值(如询问):
若A要接收B发来的消息,则A首先给B发送一个随机数(不可预测、不重复),并要求B发来的消息包含经过加密处理后的该随机数
时间戳
在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到
一旦时钟同步失败
要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS)
要么放大时钟窗口,造成攻击的机会
时间窗大小的选择应根据消息的时效性来确定
4.1Kerberos
希腊神话里看护地狱之门的三头狗
希望现代Kerberos能够守卫网络的入口:
认证、清算和审计
Kerberos的作用
解决的问题是:
在一个分布式环境中,用户希望获取分布在网络各处的服务器上的服务。
服务器能将访问权限限制在授权用户范围内,并能对服务请求进行认证
处理三种威胁:
用户伪装成另一个用户访问服务器
用户更改工作站的网络地址,在该机上发送伪造的请求
用户窃听报文交换过程,利用重放攻击进入服务器
4.1.1Kerberos动机
Kerberos的目标
安全:
敌对方无法获得必要的信息来伪装成另一个用户
可靠:
由于无法获得Kerberos服务就意味着无法获得所请求的服务,因此必须具备高可靠性,分布式服务器结构,备份系统
透明:
除了需要输入口令,用户不需要意识到认证服务的发生
可扩展:
系统拥有支持大量客户和服务器的能力,模块化
Kerberos的实现
提供一个集中的认证服务器,实现服务器与用户间的互相认证
基于常规加密实现,没有采用公开密钥加密
存在两个版本:
4和5
版本4利用了DES算法
4.1.2Kerberos版本4
术语:
1.C:
客户端
2.AS:
认证服务器(存放着所有用户及用户口令信息)
3.TGS:
票据授权服务器
4.V:
服务器
5.IDc:
客户端上用户的身份标识
6.IDv:
服务器的身份标识
7.Pc:
客户端上用户的口令
8.ADc:
客户端的网络地址
9.Kv:
认证服务器AS和服务器V共享的加密密钥
10.||:
连接
一个简单的认证会话
认证服务器(AS)知道所有用户的口令并存储在一个中央数据库中,AS与每一个服务器V共有一个唯一的保密密钥。
AS检查用户口令及其对于V的访问权限
(1)CAS:
IDc||Pc||IDv
(2)ASC:
Ticket
(3)CV:
IDc||Ticket
Ticket=EKv[IDc||ADc||IDv]
加密:
预防更改和伪造
IDc:
证明票据是发给C的
IDv:
使得服务器能验证票据被正确解密
ADc:
保证只有发出最初请求的工作站的票据为有效票据
存在的问题
要求用户频繁地输入口令
不同时间申请同一服务需要新的票据
申请不同的服务,用户需要新的票据
口令是明文传送的(消息1),敌对方可能窃听到口令
敌对方窃听到Ticket,摹仿C进行重放攻击
将自己的地址配置为C的地址ADc
一个改进的认证会话
增加一个票据授权服务器TGS
用户每次登录系统,请求使用TGS服务,获取票据授权票据:
(1)CAS:
IDc||IDtgs
(2)ASC:
EKc[Tickettgs]
用户每次登录系统,请求使用TGS服务,获取票据授权票据:
(1)CAS:
IDc||IDtgs
(2)ASC:
EKc[Tickettgs]
每次服务会话:
(5)CV:
获得的进步
网络上不再需要明文传输用户口令
输入口令的频率大大减少
票据授权票据可以重用
服务授权票据可以重用
通过设置时间戳TS和生存期Lifetime降低遭受重放攻击的危险
存在的问题
每一张ticket的有效期限设置
1.如果太短,要求用户频繁地输入口令
2.如果太长,更多的机会遭受到重放攻击
敌对方可能偷窃ticket,在它过期之前进行使用,但仍未解决重放攻击。
必须找到能够证明使用票据的人就是申请票据的人的方法
服务器应向用户认证自己
3.否则攻击者可能会伪造服务器
解决方案:
会话密钥+authenticator(认证符)
Kerberos总览
Kerberos域
一个完整的Kerberos环境包含一个Kerberos服务器、许多客户和许多服务器。
满足以下需求:
1.所有用户都向Kerberos服务器注册
2.所有服务器都向Kerberos服务器注册
上述这样的一个环境称为一个域(realm)
用户的跨域访问如何处理?
3.跨域的认证机制(Kerberos的第三个需求):
两个Kerberos服务器间必须相互注册,相互信任
请求另一个域中的服务
1.CAS:
IDc||IDtgs||TS1
2.ASC:
EKc[Kc,tgs||IDtgs||TS2||Lifetime2||Tickettgs]
3.CTGS:
IDtgsrem||Tickettgs||Authenticatorc
4.TGSC:
EKc,tgs[Kc,tgsrem||IDtgsrem||TS4||Tickettgsrem]
5.CTGSrem:
IDvrem||Tickettgsrem||Authenticatorc
6.TGSremC:
EKc,tgsrem[Kc,vrem||IDvrem||TS6||Ticketvrem]
7.CVrem:
Ticketvrem||Authenticatorc
Kerberos第5版
版本4和版本5之间的区别
加密系统的依赖性。
第4版依赖于DES,第5版则允许选择使用其它加密技术
Internet协议的依赖性。
第4版只对IP协议起作用,第5版则允许使用其它类型的网络地址
消息字节序的依赖性。
版本4与规范方法不一致,版本5采用规范方法
票据有效期。
第4版最长有效期为1280分钟,第5版则允许任意长度
认证转发。
第5版允许认证转发,使得客户机将自己的证书转给其他主机使用,这将允许客户机访问服务器,并让服务器代表客户机访问其他主机
域间认证。
版本4中N个域的互操作需要建立N2个关系,版本5则采用代理机制,建立较少的关系,以减少安全密钥交换的个数
【作业布置】思考题4.4、4.5
【教学后记】感觉采用多媒体教学,知识量大,图像丰富,易于理解,有时候也将重要的知识点板书在黑板上,同学们反应很好。
但这部分的内容很多同学不能很好地理解,以后教学化抽象为具体地教学。
【教学目的要求】熟悉各名词、术语的含义,掌握基本概念,X.509认证服务、证书、KDC、相互认证、公钥基础设施等方面知识。
【重点】X.509认证服务、证书、KDC、相互认证。
【难点】X.509认证服务、公钥基础设施。
【教学方法】多媒体教学和传统教学相结合。
【课时安排】2课时
【教学过程】
【导入】
认证服务作为网络安全的一个重要应用,认证的方法还有X.509等在认证中应用。
【讲解】
4.2X.509认证服务
OSI目录检索服务标准X.500首先公布于1988年,该标准中包括了一部分陈述认证的标准,即ITU-TX.509建议。
根据分析的结果,1993年和1995年分别对X.509建议作了微小修改
目录服务:
用于维护用户信息数据库的一个服务器或一组分布式服务器
可用于公钥证书存储库,每个证书包含用户的公开密钥和用可信证书权威机构的私钥的签名
用于IPSec、SSL/TLS、SET和S/MIME等应用
基于公钥加密和数字签名技术实现,推荐用RSA
4.2.1证书
版本号
证书序列号,保证在发放证书CA中唯一
签名算法标识符,与尾部签名字段内容重复
发放者名称:
创建和签发这个证书的CA的X.509名字
有效期:
保护证书的有效起始时间和结束时间
主体名:
持有该证书的用户名
主体的公钥信息:
主体的公钥+算法+算法的相关参数
发放者的唯一标识符(第2版加入)
主体唯一标识符(第2版加入)
扩展(第3版加入)
签名:
用CA私钥加密的其它域的散列码+加密算法+算法的相关参数
X.509证书示例
获取一个用户证书
由CA产生的用户证书具有以下特点:
任何有CA公钥的用户都可以验证已认证了的用户公钥
除了CA,没有任何一方能不被察觉地更改该证书
数字证书的验证
用CA的公钥解密签名字段,得到其他字段的消息摘要
计算其他字段的消息摘要
进行比较
问题1:
所有的用户都从一个CA获得数字证书吗?
问题2:
其他CA的公钥怎么被验证?
证书链
前向证书
其他CA产生的该CA的证书
反向证书
该CA产生的其他CA的证书
A得到B的认证路径:
X<>W<>V<<
B得到A的认证路径:
Z<>Y<>V<>W<>X<>
4.2.2认证过程
假定通信双方都获得了彼此的数字证书,也就知道了对方的公钥
单向认证
双向认证
三向认证
单向认证过程
A向B传递以下信息(所有信息均用A的私钥加密)
时间戳tA,防止报文延时传送
临时值rA,在有效时间内保证唯一,防止重放攻击
B的身份标识IDB
要传递的信息sgnData
一个会话密钥Kab,用B的公开密钥PUb加密
不能验证响应实体B
双向认证过程
A向B传递信息同上,B向A传递以下信息(所有信息均用B的私钥加密)
时间戳tB,防止报文延时传送
临时值rB,在有效时间内保证唯一,防止重放攻击
A的身份标识IDA
临时值rA:
验证应答
要传递的信息sgnData
一个会话密钥Kba,用A的公开密钥PUa加密
三向认证过程
前两个阶段的传递信息相同,最后A向B返回临时值rB的签名备份
可以不用比较时间
总结
与Kerberos协议相比,X.509认证交换协议有一个很大的优点
X.509不需要物理上安全的在线服务器,因为一个证书包含了一个认证授权机构的签名。
公钥证书可通过使用一个可信的目录服务被离线地分配。
X.509双向认证拥有Kerberos的缺陷,即依赖于时间戳,而X.509三向认证克服了这一缺陷。
4.3公钥基础设施(PKI)
数字签名依赖公钥的可信性
如果A想与B通信,恶意的第三方C向A发出C的公钥并谎称这是B的公钥,那会发生什么事?
所以:
必须由可信的第三方对公钥进行认证
可信的第三方--CA中心
经过认证的公钥--数字证书
数字证书的验证和管理机制--PKI
数字证书与PKI
数字证书包含用户的公开密钥及其有效时间,和用可信证书权威机构(CA)的私有密钥的签名
数字证书的注册、签发、验证、吊销的整个管理过程保证了公钥的可信性
公钥基础设施(PKI)
公钥基础设施(PKI)
PKI是一个用公钥概念与技术来实施和提供安全服务的普适性基础设施
PKI是一种标准的密钥管理平台,它能够为所有网络应用透明地提供采用加密和数据签名等密码服务所必须的密钥和证书管理
基础设施的含义:
有效的服务+信任+对用户的透明性
密钥生命周期
PKIX架构模型
端实体
认证中心CA
注册中心RA
CRL(撤销证书列表)发放者
存储库
CA层次
证书的注销机制
由于各种原因,证书需要被注销,如私钥泄漏、密钥更换、用户变化等
PKI中注销的方法:
CA维护一个注销证书列表CRL(CertificateRevocationList)
数字证书生成过程
(1)
密钥生成
用户生成公钥/私钥对
或者由注册中心RA生成公钥/私钥对,将私钥发给用户
注册请求
用户将公钥和其他注册信息和身份证明材料发给RA
验证
RA验证用户材料
RA保证请求注册证书的用户持有注册请求中发送的公钥对应的私钥
数字证书生成过程
(2)
证书生成
RA把通过验证的用户的所有数据传给CA
CA生成证书,并用CA的私钥对证书进行签名
CA把证书发给用户,并在证书库中保留一份证书记录
【作业布置】X.509有三种认证方式,三者的过程