口令认证协议的分析与设计
摘要本文在分析常见的口令机制及其安全性的基础上介绍了一种非对称环境下的口令认证机制以及公共口令的概念。结合网络应用的具体要求设计出安全的口令身份认证协议并提出可行的实现方案。关键词身份认证 公共口令 公钥技术1引言开放式网络上不断增长的重要应用对网络安全提出了迫切的需要身份认证系统作为网络安全的第一道防线其安全性对整个网络的安全具有十分重要的作用。实现身份认证的方式有多种如基于IC卡方式的身份认证系统即每台用户终端上安装一个IC卡读解器但这种系统费用较大难以实现。另外一种更常见的方式是运用用户名/口令机制但就目前来看这种机制由于没有足够的安全保护而容易受到窃听、重放、 口令猜测等攻击。本文介绍了非对称的环境下使用口令来实现身份认证的机制[1] 以防止上述各种攻击。非对称环境是指认证服务器能够存储一个强秘密信息如公钥体制中的私钥但用户只用一个弱的人为记忆的口令作为唯一的认证密钥。在一些应用中这种非对称的情况很自然地出现了如远程用户认证这时用户并不携带任何能够存储一个强秘密信息的计算设备如便携式电脑或智能卡。还有一些协议的应用如SSL和SET也会出现这种情况其中客户端并不拥有认证服务器的公钥。因此本文利用公共口令的概念设计了基于激励响应的加密口令身份认证协议。 2口令机制及其安全性2.1常见的口令机制 1 口令传递最简单的口令机制是以明文的形式把口令从用户传送到服务器。为了验证口令服务器中存储了一个文件其中包含了口令的明文形式附于用户名或口令在单向函数下的映射。后者是Unix系统的经典方法而且还用于ftp和telnet的远程认证。在远程认证的情况下这种机制的缺陷很明显因为口令会很容易地被窃听者从网络上读取下来。 2激励响应更为安全的口令认证形式使用的是激励响应机制。在这种情况下 口令从不以明文的形式传送而是用来对每一次认证时认证服务器所选取的激励进行秘密的函数计算。这提供了认证的新鲜性但也使口令容易受到口令猜测攻击。这种攻击是指假设入侵者拥有一个相对较小的口令字典其中包含了许多普通的口令。入侵者首先记录包含了激励和响应的认证会话然后用一些可能的口令对激励进行计算看能否得到同样的响应。如果能的话就说明这是一个合法的用户口令。不幸的是在现实生活中很多口令都可以在这样的口令字典中找到因此这种攻击是非常有效的。 3一次性口令激励响应机制的一种变型称为一次性口令机制在这种机制下用户每次验证自己的身份时使用不同的口令。如果这些一次性口令是从一个用户记忆的口令推导而来的那么这个用户记忆的口令仍然容易受到口令猜测的攻击。另外一种方法是把这些一次性口令全部写在纸上让用户保存这样就可以防止上述攻击且这样做有一个优势即口令不会被重用。但是对于用户来说需要携带一大批的口令保证这些口令的安全和保密并且每次都要输入相对复杂的字符串这是非常不方便的。另外这种机制也容易受到几种攻击如口令被偷走从记录口令的纸片上复制 中间人攻击等。 4简单的认证之外的其它认证方式a双向认证双向认证不但要求用户向服务器证明自己的身份而且要求服务器向用户证明自己的身份。这对于避免中间人攻击和服务器假冒攻击是很重要的。在完全不可信的网络如Internet上的远程认证中双向认证是非常重要的。 b认证的密钥交换运用这种机制在协议运行完成时用户和服务器就可以共享一个秘密的会话密钥这个会话密钥可用来验证或加密当前会话中的后继信息。这防止了入侵者拦截会话以及数据伪造和数据暴露。 c用户身份保护运用这种机制窃听认证协议的人就不能得知用户的身份这对于移动用户的远程认证来说尤为重要。 2.2对口令协议的基本攻击1窃听入侵者搭线窃听试图从正在进行的通信中获得有用的信息。 2重放入侵者记录过去通信中的消息
并在以后的通信中重放它们。 3中间人攻击入侵拦截各主体之间的消息并用自己的消息来取代它们。在向服务器发送的消息中他假冒用户的身份同样在向用户发送的消息中他假冒服务器的身份。 4口令猜测攻击假设入侵者拥有一个相对较小的口令字典其中包含了许多普通的口令。利用该口令字典入侵者主要用以下两种方法进行攻击它们是 a离线攻击入侵者记录过去的通信然后遍历口令字典查找与所记录的通信相一致的口令。如果发现了这样的口令那么入侵者就能够断定这是某个用户的口令。 b在线攻击入侵者重复地从口令字典中选取口令并用它来假冒合法用户。如果假冒失败了入侵者就把这个口令从口令字典中删除再用其它的口令进行尝试。在实践中防止这种在线攻击的标准方法是限制口令到期之前允许用户登录失败的次数或降低允许用户登录的频率。 5内部人员辅助攻击很多时候入侵者可能得到内部人员的帮助进行攻击。实际上入侵者往往就是系统中的一个用户因此我们应该考虑到这种可能性即入侵者拥有自己的账户及相应的合法口令。我们应该确保在这种情况下协议能够防止入侵者用合法的账户来攻击别人的账户。6秘密揭露入侵者可能会偶尔得到应该被参与协议的主体保持为秘密的敏感数据如当服务器或用户被损害时。在这种情况下协议的目标就是使得密钥或文件的泄露对整个系统的影响最小化。特别是在口令机制的环境中我们需要考虑泄露的密钥对导出的会话密钥反之亦然的影响以及损害口令文件或服务器密钥所产生的影响。 2.3 口令协议的安全性设计安全口令机制的困难之处起因于口令空间通常较小比随机的密钥更容易受到攻击。特别是离线口令猜测攻击之类的穷尽搜索攻击非常有效。而且当使用口令作为加密密钥时我们总是假设即使口令是从一个很小的口令集中选取加密函数仍然是安全的。这些假设非同寻常以至要想形式化地定义这些可以证明现有协议安全性的加密函数的需求是非常困难的。本文使用另外一种机制来避免这些问题即在激励响应中不是用口令作为加密密钥而是用服务器的公钥来对响应进行加密服务器上存储了公钥及其相应的私钥 以抵抗传统的激励响应机制中的口令猜测攻击。 3公钥技术与公共口令3.1采用公钥技术的必要性所有已公布的能够抵抗口令猜测攻击的口令认证协议使用的都是公钥技术这一现象并不是偶然的的文[1]中证明了只用简单的对称密码技术来设计安全的口令认证协议即使有可能也是非常困难的。 3.2公钥加密的安全性在本文中我们用公钥加密来设计口令认证协议。尽管协议本身非常简单直观但是证明它们的安全性却不是简单直接的。特别是加密算法的基本安全概念对于确保这些协议的安全性是不够的 因此必须利用一个更强的安全概念。这里我们先简要地讨论一下这些概念。公钥加密的基本安全概念是指从本质上说在给定其密文的情况下推导出任何有关经加密的明文的部分信息是不可能的。特别是给定公钥pk、密文c和可能的明文x1、 x2确定c是不是x1或x2的加密结果是不可能的暗指这样的安全公钥加密算法必须是随机的这样就使得简单的加密x1、 x2再将结果与c相比较是不起作用的。尽管这一概念极大地确保了秘密性保护但并不足以确保我们所设计的协议的安全性 因此需要更强的加密算法的安全概念[4][2] [3] 它可以抵抗选择密文攻击。根据这一概念的定义即使我们能够得到选择密文的相应明文而不是c本身对应的明文确定c是不是x1或x2的加密结果也是不可能的。如果使用了满足这一安全属性的加密算法我们所描述的协议就是真正安全的。 3.2公共口令在用认证服务器的公钥作为加密密钥来设计口令认证协议时要求用户知道这个公钥的正确值。在某些情况下通过可信第三方对服务器公钥进行验证或向用其它形式和用户进行可信的公钥分配上述要求可能会得到满足。但是如果用户需要从远程机器上实现认证而该远程机却没有办法验证认证服务器公钥的正确性那么这些协议的安全性就无法保证了。在这种情况下我们建议向用户提供服务器公钥的摘要。这个摘要的长度一般为6080个比特不需要用户记忆可以安全地记在纸上或卡上甚至不需要用户输入只要在显示出来时用户能够识别就可以了。我们称这个摘要为公共口令Publ ic passwords这一概念具有重大的实用价值。 4口令身份认证协议
的设计与实现对于保密单位的园区网来说如果用口令来实现身份认证那么所设计的协议不但需要能够实现正确的身份认证而且需要在用户进行了非法操作时管理员可以是查出是何人何时在何台机器上进行了非法操作。针对这一具体要求我们采用上文中介绍的机制设计了单向的基于激励响应的加密口令身份认证协议。 4.1协议设计协议描述U®S:Tu, I PDress S®U:Tu, n, PKsU®S:U, n,Tu, I PDress, ENC PKs (f(spwd,U, S, n,Tu,I PDress))其中 Tu是U发起认证要求时的时间 S是认证服务器名 n是由S选择的用于保证新鲜性的一次性随机数 PKs是S的公钥 U、 spwd分别是用户的用户名和口令 I PDress是用户所在机器的IP地址。 协议的执行过程 U发出消息1通知S对其进行身份认证并记下当时的时间Tu。 S验证消息1并非重放的消息后记下Tu与IPDress然后生成一个一次性随机数n连同公钥P Ks和Tu一起生成消息2发送给U。 U收到消息2后在终端机器上计算MD(PKs) 检验ppwd?=MD(PKs) MD是防冲突的散列函数如SHA-1。 ppwd即为公用口令 由于ppwd是公钥PKs的散列值因此容易记忆。具体实现时可以要求用户输入ppwd或者将ppwd值显示出来由用户选择 以此验证P Ks的正确性。然后再验证Tu是否与发起认证时的时间相同。通过验证后 U用函数f对(spwd,U,S, n,Tu, IPDress)进行处理再用PKs加密生成消息3发送给S。 S收到消息3后首先检查收到的n与自己在本次协议执行中生成的n是否相同 Tu、 IPDress是否与在消息1中收到的Tu、 IPDress相同。如果相同就用PKs对应的私钥解密消息中的密文部分然后根据以明文传送的用户名U查询用户的口令文件通过计算验证f(spwd,U,S, n,Tu, IPDress)的正确性。 4.2协议实现利用文[1]中的形式化方法可以证明在保证函数f和加密算法ENC为安全的前提下该协议是安全的。因此函数f的结构和加密算法ENC的选择就尤为重要。对于公钥加密算法ENC来说 Bel lare和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)a MACp1(U,S, n,Tu, IPDress), p2, n&nti lde;服务器存储salt、 p3和p1作为口令文件这里H1 H2 H3是单向函数 MAC是消息验证码 salt是一个随机串。 该机制可以抵抗对口令文件或服务器私钥的损害但不能抵抗两者同时发生。如果口令文件被泄露但服务器私钥保持秘密那么攻击者仍然需要进行口令猜测攻击以得到p2。另一方面如果攻击者得到服务器的私钥但无法获得口令文件那么他仍然无法实现用户认证 因为他必须计算MACp1 (n, U, S) 即需要进行口令猜测攻击以得到p1。 5结束语本文所提供的口令认证机制具有安全、可靠的特点但协议的具体实现还有很多细节问题需要考虑如单向函数和加密算法的计算速度问题认证服务器上用户口令文件的管理问题等。另外对于上述协议来说稍作扩展便可实现双向认证但其安全性的形式化分析还有待进一步研究。参考文献1 Shai Halevi, HugoKrawczyk. Publ ic-Key Cryptography and Password Protocols.ACM Transactions on Informationand System Security, Vol . 2, No. 3, August 1999, Pages 230-268.2 M.Bel lare, A.Desal,
D.Pointcheva l, and P.Rogaway. Relations among notions of security for publ ic-key encryptionschemes. In Advances in Cryptology—CRYPTO’98, H Krawczyk, Ed. Springer-Verlag, New York,
26–45.3 D.Dolev, C.Dwork, and M.Naor. Non-mal leable cryptography (extended abstract). InProceedings of the 23rd Annual ACM Symposium on Authentication and Authenticated KeyExchanges (New Orleans, LA,May).ACM Press,New York,NY, 542–552.4 C.Rackoff and D.Simon.Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack. InAdvances inCryptology—CRYPTO’91.Springer-Verlag,New York,NY,433–444.
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...
近日快云科技发布了最新的夏季优惠促销活动,主要针对旗下的香港CN2 GIA系列的VPS云服务器产品推送的最新的75折优惠码,国内回程三网CN2 GIA,平均延迟50ms以下,硬件配置方面采用E5 2696v2、E5 2696V4 铂金Platinum等,基于KVM虚拟架构,采用SSD硬盘存储,RAID10阵列保障数据安全,有需要香港免备案CN2服务器的朋友可以关注一下。快云科技怎么样?快云科技好不...
小欢互联成立于2019年10月,主打海外高性价比云服务器、CDN和虚拟主机服务。近期上线了自营美国CERA机房高速VPS,进行促销活动,为客户奉上美国/香港八折优惠码:Xxc1mtLB优惠码适用于美国CERA一区/二区以及香港一区/二区优惠时间:即日起至10月底优惠码可无限次使用,且续费同价!官网:https://idc.xh-ws.com购买地址:美国CERA一区:https://idc.xh-...