《应用密码学》课件第8章认证理论与技术-身份认证技术1_第1页
《应用密码学》课件第8章认证理论与技术-身份认证技术1_第2页
《应用密码学》课件第8章认证理论与技术-身份认证技术1_第3页
《应用密码学》课件第8章认证理论与技术-身份认证技术1_第4页
《应用密码学》课件第8章认证理论与技术-身份认证技术1_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

身份认证技术是当前网络信息系统最重要的应用技术之一。在当今的网络应用环境中,网络资源的安全性保障通常是采用基于用户身份的资源访问控制策略。身份认证的作用是对用户的身份进行鉴别,是网络安全管理的重要基础之一。身份认证技术作为网络信息安全中的一种重要技术手段,能保护网络信息系统中的数据和服务不被未授权的用户所访问。8/12/202518.1认证模型及认证协议(1)认证及认证模型

认证(Authentication)是指核实真实身份的过程,是防止主动攻击的重要技术之一,是一种用可靠的方法证实被认证对象(包括人和事)是否名副其实或是否有效的过程,因此也称为鉴别或验证。

认证不能自动地提供保密性,而保密性也不能自然地提供认证功能,一个纯认证系统的模型如下图所示。在信息安全领域中,一方面是保证信息的保密性,防止通信中的保密信息被窃取和破译(即防止对系统进行被动攻击);另一方面是保证信息的完整性、有效性,要搞清楚与之通信的对方的身份是否真实,以证实信息在传输过程中是否被篡改、伪装、窜扰和否认(即防止对系统进行主动攻击)。

8/12/20252(2)认证协议

所谓协议(Protocol),就是两个或两个以上的参与者为完成某项特定的任务而采取的一系列步骤,这个定义包含3层含义:第一,协议自始自终是有序的过程,每一步必须依次执行,在前一步没有完成之前,后面的步骤不可能被执行;第二,协议至少需要两个参与者,一个人可以通过执行一系列的步骤来完成某项任务,但它构不成协议;第三,通过执行协议必须能够完成某项任务,即使某些东西看似协议,但没有完成任何任务,也不能成为协议,只不过是浪费时间的空操作。8/12/20253

认证协议就是进行认证的双方而采取的一系列步骤,涉及两个实体:示证者P和验证者V,P要让V相信“他就是P”。安全的认证协议必须满足以下条件:(1)P能向V成功证明自己的确是P;(2)V不能使用与P认证过程中的信息伪装成P(即不能向第三方证明他就是P);(3)除了P以外的第三者W以P的身份执行该协议,能够让V相信他是P的概率可以忽略不计。认证协议就是进行认证的双方而采取的一系列步骤。认证协议主要有单向认证和双向认证协议。

①单向认证目前,电子邮件是最受欢迎的通信工具,其主要优点是发送方和接收方无需同时在线,只是电子邮件被发到接收方的邮箱中,被保存下来直到接收方来阅读。

通信双方只需要一方被认证,这样的认证过程就是一种单向认证,例如口令核对法实际上就是一种单向认证,这是这种简单的单向认证还没有与密钥分发相结合。与密钥分发相结合的单向认证有两类:

一类采用对称密码技术,需要一个可信赖的第三方——通常为密钥分发中心(KDC)或认证服务器(AS),又这个第三方来实现通信双方的身份认证和密钥分发;

另一类是采用非非对称密码技术,无需第三方的参与。①单向认证

需要第三方参与的单向认证协议执行过程如右图所示。

8/12/20256该方法保证只有合法的接收者才能阅读到消息内容;它还提供了发送方是

这个认证,但该协议无法防止重放攻击(可以在消息中加入时间戳,来进行防御。但由于电子邮件本身存在着潜在的延迟,因此这样的时间戳的作用也是有限的)。

无需第三方参与的单向认证协议执行过程如下图所示。

7②双向认证在双向认证过程中,通信双方需要互相认证各自的身份,然后交换会话密钥,双向认证的典型方案是Needham/Schroder协议,协议执行过程如下图所示。

8/12/20258

密钥Ka和Kb分别是A与KDC、B与KDC共享的密钥,这个协议的目的是将会话密钥KS安全的分发给A和B。步骤(2):A可安全地获取一个新的会话密钥;步骤(3):报文只能被B解密,因此只有B知道报文的内容;步骤(4):B已获取了会话密钥KS;步骤(5):B确信A已获得了会话密钥KS,同时也使得B确信这是一个新报文,因为使用了随机数N2

。此协议还是容易遭到一种重放攻击。假定x是攻击者,已获得了一个过时的会话密钥。X(应该为C)可以冒充A使用旧的会话密钥,通过简单的重放步骤(3)就能欺骗B,除非B始终牢记所有与A的会话密钥,否则B无法确定这是一个重放。C进一步截获步骤(4)中的报文,那么他就能够模仿步骤(5)中的响应。因此,C可以向B发送一个伪造的报文,让B以为报文是来自A(且使用的是认证过的会话密钥)。Denning提出了改进的Needham/Schroder协议,克服了上述介绍这种重放攻击,这个改进协议只是在步骤(2)和(3)中增加了时间戳,并假定密钥

是完全安全的。改进后的协议执行的步骤(如上图所示)所示。

T是时间戳,它能向A和B确保该会话密钥是刚产生的。这样A和B双方都知道这个密钥分配是一个最新的交换,而向A和B通过验证可以证实其实效性。8.2身份认证技术(略)(1)口令认证技术

在计算机网络系统中,通常采用3种方法来验证主体的身份:

一是使用只有该主体了解的秘密(如口令、密钥等),例如基于口令的身份人证技术;

二是使用主体携带的物品(如IC卡),例如IC卡认证技术;

三是使用只有该主体才具有的独一无二的特征或能力,如指纹、声音、视网膜、脸型等个人特征识别技术。

为防止攻击者猜测出口令,选择安全口令应满足以下要求。

①安全口令

口令长度适中

不回送显示

记录和报告

自动段开连接

口令存储的安全性8/12/202512②静态口令认证技术

静态口令认证一般分为两个阶段:

-第1阶段是身份识别阶段,确认认证对象是谁;

-第2阶段是身份验证阶段,获取身份信息进行验证。③动态口令认证技术

口令表认证技术是要求用户必须提供一张记录有一系列口令的表,并将表保存在系统中,系统为该表设置了一指针用于指示下次用户登录时所应使用的口令。这样,用户在每次登录时,登录程序便将用户输入口令与该指针所指示的口令相比较,若相同便允许用户进入系统,同时将指针指向表中的下一个口令。

因此,使用口令表认证技术,即使攻击者知道本次用户登录时所使用的口令,他也无法进入系统。

口令表认证技术8/12/202513一次性口令是变动的口令,其变化来源于产生密码的运算因子是变化的。一次性口令的产生因子一般采用双运算因子:

一个是用户的私有密钥;一个是变动的因子。变动因子可以是时间,也可以是事件,形成基于时间同步、事件同步、挑战/应答非同步等不同的一次性口令认证技术。

双因子认证技术

时间同步一般以1分钟作为变化单位;事件同步是把变化的数字序列(事件序列)作为密码产生器的一个运算因子,与用户的私有密钥共同产生动态密码;这时,同步是指每次认证时,认证服务器与密码卡保持相同的事件序列。

挑战/应答式的变动因子是由认证服务器产生的随机数序列,每个随机数都是唯一的,不会重复使用,并且由同一个地方产生,因而不存在同步的问题。8/12/202514

早在20世纪80年代,美国科学家LeslieLamport提出了利用散列函数产生动态(一次性)口令的思想,即每次用户登录时使用的口令是动态变化的。

1991年贝尔通信研究中心用DES加密算法研制了基于一次性口令思想的挑战/应答式(Challenge/Response)动态密码身份认证系统(S/KEY);之后,更安全的基于MD4、MD5和SHA的散列算法的动态密码身份认证系统也研制成功。为了克服挑战/应答式动态密码认证系统的使用过程繁琐、占用时间过多等缺点,美国RSA公司研制成功了基于时间同步的动态密码认证系统(RSASecureID)。下面介绍基于一次性口令的身份认证系统(S/KEY),目前S/KEY现已经作为标准的协议RFC1760。8/12/202515基于一次性口令的身份认证系统(S/KEY)的认证过程(如下图):

Ⅰ.用户向身份认证服务器提出连接请求;

Ⅱ.服务器返回应答,并附带两个参数(seed,seq);

Ⅲ.用户输入口令,系统将口令与seed连接,进行seq次Hash计算(Hash函数可以使用MD4或MD5),产生一次性口令,传给服务器;8/12/202516Ⅳ.服务器端必须存储有一个文件,它存储每一个用户上次登录的一次性口令。服务器收到用户传过来的一次性口令后,再进行一次Hash计算,与先前存储的口令进行比较,若匹配则通过身份认证,并用这次的一次性口令覆盖原先的口令;下次用户登录时,服务器将送出seq’=seq-1;这样,如果客户确实是原来的那个真实用户,那么他进行seq-1次Hsah计算的一次性口令应该与服务器上存储的口令一致。S/KEY认证的优点:

Ⅰ.用户通过网络传送给服务器的口令是利用秘密口令和seed经过MD4(或MD5)生成的密文,用户拥有的秘密口令并没有在网上传播,这样即使黑客得到了密文,由于散列算法固有的非可逆性,要想破解密文在计算上是不可行的;

Ⅱ.在服务器端,因为每一次成功的身份认证后,seq几自动减1,这样下次用户连接时产生的口令同上次生成的口令是不一样的,从而有效地保证了用户口令的安全。8/12/202517S/KEY认证的缺点:Ⅲ.实现原理简单,Hash函数的实现可以用硬件来实现,可以提高运算效率。Ⅰ.会给用户带来一些麻烦(如口令使用一定次数后就需要重新初始化,因为每次seq要减1)。

Ⅱ.S/KEY的安全性依赖于散列算法(MD4/MD5)的不可逆性,由于算法是公开的,当有关于这种算法可逆计算的研究有了突破或能够被破译时,系统将会被迫重新使用其他安全算法。Ⅲ.S/KEY系统不使用任何形式的会话加密,因而没有保密性。如果用户想要阅读他在远程系统的邮件或日志,这因此会在第1次会话中成为一个问题;而且由于有TCP会话的攻击,这也会对构成威胁。Ⅳ.所有一次性口令系统都会面临密钥的重复这个问题,这会给入侵者提供入侵机会。8/12/202518Ⅴ.S/KEY需要维护一个很大的一次性密钥列表,有的甚至让用户把所有使用的一次性密钥列在纸上,这对于用户来说是非常麻烦的事情;此外,有的提供硬件支持,这就要求使用产生密钥的硬件来提供一次性密钥,但这要求用户必须安装这样的硬件。①IC卡的原理

IC卡的硬件是一个微处理器系统,硬件主要由微处理器(目前多为8位MPU)、程序存储器(ROM)、临时工作存储器(RAM)、用户存储器(EEPROM)输入/输出接口、安全逻辑及运算处理器等组成;软件由操作系统、监控程序等组成。

如右图所示。(2)IC卡认证技术

IC卡可以用来认证用户身份,又称为有源卡(ActiveCard)、灵巧卡(SmartCard)或智能卡(IntelligentCard)。8/12/202519

软件由操作系统和监控程序组成。一个典型的IC卡操作系统可以按OSI模型分为物理层(第1层)、数据传输层(数据、链路层/第2层)、应用协议层(应用层/第7层)三层。每一层由一个或几个相应的功能模块予以实施(如下图所示)。

其中,IFD(IC-CardInterfaceDevice)为IC卡的接口设备,即IC卡的读写设备;ICC(IC-Card)为IC卡。8/12/202520一般情况下,以IFD或应用终端(计算机或工作站)作为宿主机,它将产生命令及执行顺序,而ICC则响应宿主机的不同命令,在IFD和ICC之间进行信息交换。其典型的传输结构如下图所示,这样在IFD和ICC之间传输信息的安全性得以保障,否则完全有被截取的可能。【ICC操作系统对此采取了加密或隐含传输的方法,就是将待传输的命令或响应回答序列进行加密处理后再进行传输。】

一个较完善的ICC操作系统必须能够管理一个或多个相互独立的应用程序,它应能够为有关应用提供相应的传输管理、安全管理、应用管理、文件管理等功能。不同功能之间的逻辑关系如下图所示。8/12/202521IFD向ICC发送一条命令,其工作过程是这样的:

-首先,传输管理模块对物理层上传输的信号进行解码并将其传递给安全管理模块;

-其次,若为加密传输则该模块对其进行解密并将解密后的命令传输给应用管理模块,若不是加密传输则该模块将其直接传输给应用管理模块;

-第三,应用管理模块根据预先的设计要求,检查此命令的合法性以及是否具备执行条件(与应用顺序控制有关),若检查成功,则启动执行此命令;

-最后,若此命令涉及到有关信息存取,则文件管理模块检查其是否满足预先设计的存取条件,若满足条件,则执行有关数据存取操作。8/12/202522②IC卡认证工作方式

在IC卡中,引入认证的概念,在IFD和ICC之间只有相互认证之后才能进行数据读、写等具体操作。认证是IC卡和应用终端之间通过相应的认证过程来相互确认合法性,其目的在于防止伪造应用终端及相应的IC卡。IC卡有以下3种工作方式:

-应用终端阅读卡中的固定数据,然后导算出认证密钥。

-终端产生随机数并送给IC卡,同时指定下一步应用的密钥。

-IC卡用指定密钥对该随机数进行加密,然后将经过加密的随机数送回终端;

-终端对随机数进行解密,比较是否一致,若一致则内部认证成功。其具体工作过程如上图。

内部认证(InternalAuthentication)

8/12/202523

-终端设备从ICC中读取数据并导算出认证密钥。

因为ICC本身不能发送此数据,这一认证方法由终端设备控制。

-终端设备从ICC中读取一个随机数(通常为8字节),用认证密钥对它进行加密并将它发送到ICC。

外部认证(ExternalAuthentication)

ICC对这个加密值进行检查并比较,如下图所示。8/12/202524

-终端设备从ICC中读取数据并导出认证密钥。

-终端设备从ICC中读取一个随机数(通常为8字节)并产生它自己的随机数(也通常为8字节)。这两个随机数和卡数据(连接成一个串)由认证密钥进行加密。

-终端设备将此加密值传送给ICC,ICC用终端设备指定的认证密钥对此加密值进行解密并比较。

相互认证(MutualAuthentication)

-成功比较之后,ICC用认证密钥加密终端设备的随机数和它自己的随机数,并将此加密值发送回终端设备。终端设备解密这个加密值并和它自己的随机数进行比较。

8/12/202525③IC卡认证系统实例

ICC身份认证系统是基于ICC技术的双因素身份认证系统,可以解决由于密码泄露导致的安全问题,实现了管理人员和操作员登录业务系统时的安全认证控制,系统拓扑结构如下图所示。

认证流程是:

-由用户持有的ICC产生挑战数,并用中心公钥加密、ICC私钥签名,然后上传给中心;

-中心验证签名、解密数据后,计算应答数,再下送客户端;

-主密钥和中心私钥存放于加密机中,其他密钥根据密钥分散原则,动态计算,ICC生成并保存ICC的公钥私钥对(该系统符合ISO7816标准)。8/12/202526本系统采用双因素人证,即“实物+信息”,可以满足一些应用系统更高层的安全性要求(而传统的单因素认证模式,即“用户名+口令”,已远远不能满足应用系统的要求,尤其是金融系统的安全性要求了)。注:-本系统中,客户端采用ICC进行密钥保存、数据加密/解密、数字签名和数字签名验证,保证了客户端密钥的安全性;

-在系统认证中心采用加密机进行密钥保存、数据加密/解密、数字签名和数字签名验证,加密/解密都在计算机内部完成,保证了认证中心密钥的安全性;

-在认证流程中采用RSA对上传数据包和下传数据包进行电子签名,并利用ICC的外部认证控制对ICC的访问使用,从而实现了客户端和认证中心之间的双向认证,解决了系统用户进行交易的抗否认要求。

8/12/202527①指纹认证

随着技术的发展,更高级的身份认证是根据授权用户的个人特征来进行认证,它是一种可信度高而又难以伪造的认证方法(该方法在在刑事侦破案件中早就在使用了)。

个人特征有静态的和动态的。比如容貌、肤色、发长、身材、姿势、手印、指纹、脚印、唇印、颅像、说话声音、脚步声、体味、视网膜、虹膜、血型、遗传因子、笔迹、习惯性签名、打字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论