下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、口令认证协议的分析与设计 摘要 本文在分析常见的口令机制及其安全性的基础上介绍了一种非对称环境下的口令认证机制以及公共口令的概念。结合应用的具体要求,设计出安全的口令身份认证协议,并提出可行的实现方案。 关键词 身份认证公共口令公钥技术 1引言 开放式网络上不断增长的重要应用对网络安全提出了迫切的需要,身份认证系统作为网络安全的第一道防线,其安全性对整个网络的安全具有十分重要的作用。实现身份认证的方式有多种,如基于IC
2、卡方式的身份认证系统(即每台用户终端上安装一个IC卡读解器),但这种系统费用较大,难以实现。另外一种更常见的方式是运用用户名/口令机制,但就目前来看,这种机制由于没有足够的安全保护而容易受到窃听、重放、口令猜测等攻击。本文介绍了非对称的环境下使用口令来实现身份认证的机制1,以防止上述各种攻击。非对称环境是指认证服务器能够存储一个强秘密信息(如公钥体制中的私钥),但用户只用一个弱的人为记忆的口令作为唯一的认证密钥。在一些应用中这种非对称的情况很地出现了,如远程用户认证,这时用户并不携带任何能够存储一个强秘密信息的设备(如便携式电脑或智能卡)。还有一些协议的应用如SSL和SET也会出现这种情况,其
3、中客户端并不拥有认证服务器的公钥。因此,本文利用公共口令的概念,设计了基于激励响应的加密口令身份认证协议。 2口令机制及其安全性2.1常见的口令机制 (1)口令传递 最简单的口令机制是以明文的形式把口令从用户传送到服务器。为了验证口令,服务器中存储了一个文件,其中包含了口令的明文形式(附于用户名)或口令在单向函数下的映射。后者是Unix系统的经典方法,而且还用于ftp和telnet的远程认证。在远程认证的情况下,这种机制的缺陷很明显,因为口令会很容易地被窃听者从网络上读取下来。
4、60; (2)激励响应 更为安全的口令认证形式使用的是激励响应机制。在这种情况下,口令从不以明文的形式传送,而是用来对每一次认证时认证服务器所选取的激励进行秘密的函数计算。这提供了认证的新鲜性,但也使口令容易受到口令猜测攻击。这种攻击是指:假设入侵者拥有一个相对较小的口令字典,其中包含了许多普通的口令。入侵者首先记录包含了激励和响应的认证会话,然后用一些可能的口令对激励进行计算,看能否得到同样的响应。如果能的话,就说明这是一个合法的用户口令。不幸的是,在现实生活中,很多口令都可以在这样的口令字典中找到,因此这
5、种攻击是非常有效的。 (3)一次性口令 激励响应机制的一种变型称为一次性口令机制,在这种机制下,用户每次验证自己的身份时使用不同的口令。如果这些一次性口令是从一个用户记忆的口令推导而来的,那么这个用户记忆的口令仍然容易受到口令猜测的攻击。另外一种方法是把这些一次性口令全部写在纸上让用户保存,这样就可以防止上述攻击,且这样做有一个优势,即口令不会被重用。但是,对于用户来说,需要携带一大批的口令,保证这些口令的安全和保密,并且每次都要输入相对复杂的字符串,这是非常不方便的。另
6、外,这种机制也容易受到几种攻击,如口令被偷走(从记录口令的纸片上复制),中间人攻击等。 (4)简单的认证之外的其它认证方式 (a)双向认证 双向认证不但要求用户向服务器证明自己的身份,而且要求服务器向用户证明自己的身份。这对于避免中间人攻击和服务器假冒攻击是很重要的。在完全不可信的网络如Internet上的远程认证中,双向认证是非常重要的。 (b)认证的密钥交换
7、 运用这种机制,在协议运行完成时,用户和服务器就可以共享一个秘密的会话密钥,这个会话密钥可用来验证或加密当前会话中的后继信息。这防止了入侵者拦截会话以及数据伪造和数据暴露。 (c)用户身份保护 运用这种机制,窃听认证协议的人就不能得知用户的身份,这对于移动用户的远程认证来说尤为重要。 2.2 对口令协议的基本攻击(1)窃听 入侵者搭线窃听,试图从正在进行的通信中获得有用的信息。 (2)重放 入侵者记录过去通信中的消息并在以后的通信中重放它们。 (3)中间人攻击
8、 入侵拦截各主体之间的消息,并用自己的消息来取代它们。在向服务器发送的消息中他假冒用户的身份,同样,在向用户发送的消息中他假冒服务器的身份。 (4)口令猜测攻击 假设入侵者拥有一个相对较小的口令字典,其中包含了许多普通的口令。利用该口令字典,入侵者主要用以下两种方法进行攻击,它们是: (a)离线攻击 入侵者记录过去的通信,然后遍历口令字典,查找与所记录的通信相一致的口令。如果发现了这样的口令,那么入侵者就能够断定这是某个用户的口令。 (b)在线攻击 入侵者重复地从口令字典中选取口令并用它来假冒合法用户。如果假冒失败了,入侵者就把这个口令从口令字典中删除,再用其它的口令进行尝试。在实践中,防止这
9、种在线攻击的标准方法是限制口令到期之前允许用户登录失败的次数,或降低允许用户登录的频率。 (5)内部人员辅助攻击 很多时候入侵者可能得到内部人员的帮助进行攻击。实际上,入侵者往往就是系统中的一个用户,因此我们应该考虑到这种可能性,即入侵者拥有自己的账户及相应的合法口令。我们应该确保在这种情况下,协议能够防止入侵者用合法的账户来攻击别人的账户。 (6)秘密揭露 入侵者可能会偶尔得到应该被参与协议的主体保持为秘密的敏感数据(如当服务器或用户被损害时)。在这种情况下,协议的目标就是使得密钥或文件的泄露对整个系统的影响最小化。特别是,在口令机制的环境中,我们需要考虑泄露的密钥对导出的会话密钥(反之亦然
10、)的影响以及损害口令文件或服务器密钥所产生的影响。 2.3 口令协议的安全性 设计安全口令机制的困难之处起因于口令空间通常较小,比随机的密钥更容易受到攻击。特别是离线口令猜测攻击之类的穷尽搜索攻击非常有效。而且,当使用口令作为加密密钥时,我们总是假设即使口令是从一个很小的口令集中选取,加密函数仍然是安全的。这些假设非同寻常,以至要想形式化地定义这些可以证明现有协议安全性的加密函数的需求是非常困难的。 本文使用另外一种机制来避免这些问题,即在激励响应中,不是用口令作为加密密钥,而是用服务器的公钥来对响应进行加密(服务器上存储了公钥及其相
11、应的私钥),以抵抗传统的激励响应机制中的口令猜测攻击。 3公钥技术与公共口令3.1 采用公钥技术的必要性 1 所有已公布的能够抵抗口令猜测攻击的口令认证协议使用的都是公钥技术,这一现象并不是偶然的的,文1中证明了只用简单的对称密码技术来设计安全的口令认证协议即使有可能,也是非常困难的。 3.2 公钥加密的安全性 在本文中我们用公钥加密来设计口令认证协议。尽管协议本身非常简单直观,但是证明它们的
12、安全性却不是简单直接的。特别是,加密算法的基本安全概念对于确保这些协议的安全性是不够的,因此必须利用一个更强的安全概念。这里,我们先简要地讨论一下这些概念。 公钥加密的基本安全概念是指:从本质上说,在给定其密文的情况下,推导出任何有关经加密的明文的部分信息是不可能的。特别是,给定公钥pk、密文c和可能的明文x1、x2,确定c是不是x1或x2的加密结果是不可能的(暗指这样的安全公钥加密算法必须是随机的,这样就使得简单的加密x1、x2再将结果与c相比较是不起作用的)。尽管这一概念极大地确保了秘密性保护,但并不足以确保我们所设计的协议的安全性,因此需要更强的加密算法的安全概念423,它可以抵抗选择密
13、文攻击。根据这一概念的定义,即使我们能够得到选择密文的相应明文(而不是c本身对应的明文),确定c是不是x1或x2的加密结果也是不可能的。如果使用了满足这一安全属性的加密算法,我们所描述的协议就是真正安全的。 3.2 公共口令 在用认证服务器的公钥作为加密密钥来设计口令认证协议时,要求用户知道这个公钥的正确值。在某些情况下,通过可信第三方对服务器公钥进行验证或向用其它形式和用户进行可信的公钥分配,上述要求可能会得到满足。但是,如果用户需要从远程机器上实现认证,而该远程机却没有办法验证认证服务器公钥的正确性,那么这些协议的安全性就无法保证
14、了。在这种情况下,我们建议向用户提供服务器公钥的摘要。这个摘要的长度一般为6080个比特,不需要用户记忆(可以安全地记在纸上或卡上),甚至不需要用户输入,只要在显示出来时用户能够识别就可以了。我们称这个摘要为公共口令(Public passwords),这一概念具有重大的实用价值。 4口令身份认证协议的设计与实现 对于保密单位的园区网来说,如果用口令来实现身份认证,那么所设计的协议不但需要能够实现正确的身份认证,而且需要在用户进行了非法操作时,管理员可以是查出是何人何时在何台机器上进行了非法操作。针对这一具体要求,我们采用上文中介绍的
15、机制,设计了单向的基于激励响应的加密口令身份认证协议。 4.1 协议设计 协议描述: U®S: Tu, IPDress S®U: Tu, n, PKs U®S: U, n, Tu, IPDress, ENC PKs (f(spwd, U, S, n, Tu, IPDress)
16、 其中,Tu是U发起认证要求时的时间;S是认证服务器名,n是由S选择的用于保证新鲜性的一次性随机数,PKs是S的公钥;U、spwd分别是用户的用户名和口令,IPDress是用户所在机器的IP地址。 协议的执行过程: U发出消息1通知S对其进行身份认证,并记下当时的时间Tu。 S验证消息1并非重放的消息后,记下Tu与IPDress,然后生成一个一次性随机数n,连同公钥PKs和Tu一起生成消息2发送给U。
17、0; U收到消息2后,在终端机器上MD(PKs),检验ppwd?=MD(PKs)(MD是防冲突的散列函数,如SHA-1)。ppwd即为公用口令,由于ppwd是公钥PKs的散列值,因此容易记忆。具体实现时可以要求用户输入ppwd,或者将ppwd值显示出来由用户选择,以此验证PKs的正确性。然后再验证Tu是否与发起认证时的时间相同。通过验证后,U用函数f对(spwd, U, S, n, Tu, IPDress)进行处理,再用PKs加密,生成消息3发送给S。S收到消息3后,首先检查收到的n与自己在本次协议执行中生成的n是否相同,Tu、IPDress是否与在消息1中收到的Tu、
18、IPDress相同。如果相同,就用PKs对应的私钥解密消息中的密文部分,然后根据以明文传送的用户名U,查询用户的口令文件,通过计算验证f(spwd, U, S, n, Tu, IPDress)的正确性。 4.2 协议实现 利用文1中的形式化方法可以证明:在保证函数f和加密算法ENC为安全的前提下,该协议是安全的。因此函数f的结构和加密算法ENC的选择就尤为重要。对于公钥加密算法ENC来说,Bellare和Rogaway在文2中提出一种简单的数据编码(称为OAEP),它与RSA算法一起使用可以满足3.2节中的安全性要求。这里我们重点讨论函数f的结构(f必须是一对一的函数)。为了抵抗因认证服务器安全受到损害而产生的攻击,我们将函数f定义如下: p1 = H1 (spwd, U, S) p2 = H2 (spwd, U, S) p3 = H3 (p2, salt) f (spwd, U, S, n, Tu, IPDress) á MACp1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招投标法规在电商行业的应用
- 城市更新项目报价模板
- 城市绿化养护招投标守则
- 数字化与绿色技术促进可持续发展专题政策研究报告2024
- 水上乐园建设项目预审表
- 本溪市燃气管道维修质量
- 培训机构参观管理规定
- 智能家居招投标合同样本模板
- 建筑工程烟囱施工合同样本
- 城市商业综合体书店门面租赁合同
- 2024年西南铝业集团招聘笔试参考题库含答案解析
- 《翻译工作坊》教案
- 山东省潍坊市2023-2024学年高二上学期期中考试数学试题(解析版)
- 关怀与照顾-医务社会工作在中国的探索与实践
- 小学教育中的全人教育理念探讨
- 《文化安全》课件
- 技术通知单(新模版-0516)
- 《东北经济振兴》课件
- 小学男女生如何正常交往主题班会课件
- 必修二2.1充分发挥市场在资源配置中起决定性作用课件
- 英语听力技巧与应用(山东联盟)智慧树知到课后章节答案2023年下滨州学院
评论
0/150
提交评论