有很大风险,只要得到了存储口令的数据库,就可以得到全体人员的口令。比如攻击者可以设法得到一个低优先级的帐号和口令,进入系统后得到明文存储口令的文件,这样他就可以得到全体人员的口令。 2. Hash散列存储口令
散列函数的目的是为文件、报文或其他分组数据产生“指纹”。对于每一个用户,系统存储帐号和散列值对在一个口令文件中,当用户登录时,用户输入口令x,系统计算F(x),然后与口令文件中相应的散列值进行比对,成功即允许登录。
4. 了解散列函数的基本性质。
散列函数H必须具有性质: ? H能用于任何长度的数据分组; ? H产生定长的输出;
? 对任何给定的x,H(x)要相对容易计算;
? 对任何给定的码h,寻找x使得H(x)=h在计算上 是不可行的,称为单向性;
? 对任何给定的分组x,寻找不等于x的y,使得H(y)=H(x)在计算上是不可行的,称为弱抗冲突(Weak Collision Resistance);
? 寻找对任何的(x,y)对,使得H(y)=H(x)在计算上是不可行的,称为强抗冲突(Strong Collision Resistance)。
5. 使用口令进行身份认证的优缺点?
优点在于黑客即使得到了口令文件,通过散列值想要计算出原始口令在计算上也是不可能的,这就相对增加了安全性。 严重的安全问题(单因素的认证),安全性仅依赖于口令,而且用户往往选择容易记忆、 容易被猜测的口令(安全系统最薄弱的突破口),口令文件也可被进行离线的字典式攻击。
6. 利用智能卡进行的双因素的认证方式的原理是什么?
智能卡具有硬件加密功能,有较高的安全性。每个用户持有一张智能卡,智能卡存储用户个性化的秘密信息,同时在验证服务器中也存放该秘密信息。进行认证时,用户输入PIN(个人身份识别码),智能卡认证PIN,成功后,即可读出智能卡中的秘密信息,进而利用该秘密信息与主机之间进行认证。 双因素的认证方式(PIN+智能卡),即使PIN或智能卡被窃取,用户仍不会被冒充。智能卡提供硬件保护措施和加密算法,可以利用这些功能加强安全性能。
7. 有哪些生物特征可以作为身份认证的依据,这种认证的过程是怎样的?
以人体唯一的、可靠的、稳定的生物特征(如指纹、虹膜、脸部、掌纹等)为依据,采用计算机强大的计算功能和网络技术进行图象处理和模式识别。该技术具有很好的安全性、可靠性和有效性。
所有的工作有4个步骤:抓图、抽取特征、比较和匹配。生物捕捉系统捕捉到生物特征的样品,唯一的特征将会被提取并且被转化成数字符号,这些符号被存成那个人的特征摸板,人们同识别系统交互进行身份认证,以确定匹配或不匹配。
8. 了解什么是基于时间同步、基于事件同步、挑战/应答式的非同步的认
21
证技术?
1)基于时间同步认证技术是把流逝的时间作为变动因子(60秒作为变化单位,用“滑动窗口”技术)。用户密钥卡和认证服务器所产生的密码在时间上必须同步。
2) 基于事件同步认证技术是把变动的数字序列(事件序列)作为密码产生器的一个运算因子与用户的私钥共同产生动态密码。用户密钥卡和认证服务器保持相同的事件序列。 3) 挑战/应答方式的变动因子是由认证服务器产生的随机数字序列(Challenge),它也是密 码卡的密码生成的变动因子,由于每一个Challenge都是唯一的、不会重复使用,并且 Challenge是在同一个地方产生,不需要同步。
9. 掌握S/KEY协议的认证过程。
? 客户向需要身份认证的服务器提出连接请求; ? 服务器返回应答,带两个参数seed、seq;
? 客户输入口令,系统将口令与seed连接,做sed次Hash计算(MD4或MD5),产生一次 性口令,传给服务器;
? 服务器端必须存储有一个文件(UNIX系统中位于/etc/skeykeys),它存储每一个用户上次 登录的一次性口令,服务器收到用户传过来的一次性口令后,再进行一次Hash运算,与 先前存储的口令比较,匹配则通过身份认证,并用这次一次性口令覆盖原先的口令。下 次客户登录时,服务器将送出seq’=seq-1,这样,如果用户确实是原来的那个真实客户, 那 么口令的匹配应该没有问题。
10. 了解S/KEY协议的优缺点。
S/KEY的优点:
? 用户本身的秘密口令并没有在网上传播;
? 下一次用户连接时生成的口令与上一次生成的是不一样的,有效地保护了用户口令的安 全;
? 实现原理简单,Hash函数还可以用硬件实现。
S/KEY的缺点:
? 口令使用到一定次数后就需要重新初始化,因为每次seq要减1;
? 依赖于MD4/MD5的不可逆性,当这种算法的 可逆计算研究有了新进展时,系统将被 迫选用其他更安全的算法; ? 会话内容是没有保密性的;
? 重复使用以前使用的密钥,会给入侵者提供入侵的机会;
? 维护一个很大的一次性密钥列表也很麻烦,即使提供产生一次性密钥的硬件,所有用户 也必须都安装这样的硬件。
11. 了解RADIUS协议的基本概念、特点和认证过程。
(1)RADIUS(Remote Authentication Dial-in User Service)是一个在拨号网络中提供注册、
验证功能的工业标准。
(2)是由朗讯公司提出的C/S安全协议,已成为Internet的正式协议标准,是当前流行的
AAA(认证Authentication、授权Authorization、计费Accounting)协议。
(3)是网络接入服务器(NAS)和后台服务器(RADIUS服务器,有DB)之间的一个常
见协议,使得拨号和认证放在两个分离网络设备上。 RADIUS的特点
22
(1) RADIUS协议使用UDP作为传输协议。使用两个UDP端口分别用于认证(以及认
证通过后对用户的授权)和计费。1812号是认证端口,1813号是计费端口。
(2) RADIUS服务器能支持多种认证方法。当用户提交用户名和密码时,RADIUS服务
器能支持PPP PAP(口令认证协议)或者CHAP(质询握手协议)、UNIX Login和其他认证方法。
RADIUS的认证过程
(1)接入服务器从用户那里获取用户名和口令(PAP口令或CHAP加密口令),将其同用
户的一些其他信息(如主叫号码、接入号码、占用的端口等)打成RADIUS数据包向 RADIUS服务器发送,通常称为认证请求包。
(2)RADIUS服务器收到认证请求包后,首先查看接入服务器是否已经登记,然后根据包
中用户名、口令等信息验证用户是否合法。如果用户非法,则向接入服务器发送访问 拒绝包;如果用户合法,那么RADIUS服务器会将用户的配置信息(如用户类型、IP 地址等)打包发送到接入服务器,该包被称为访问接受包。
(3)接入服务器收到访问接受/拒绝包时,首先要判断包中的签名是否正确,如果不正确
将认为收到一个非法的包。如果签名正确,那么接入服务器会接受用户的上网请求, 并用收到的信息对用户进行配置、授权(收到了访问接受包);或者是拒绝该用户的上 网请求(收到了访问拒绝包)。
12. 了解Kerberos系统的优点。
(1) 安全:网络窃听者不能获得必要信息以假冒其他用户,Kerberos应足够强壮以致于潜在 的敌人无法找到它的弱点连接。 (2) 可靠:Kerberos应高度可靠并且应借助于—个分布式服务器体系结构,使得一个系统能
够备份另一个系统。
(3) 透明:理想情况下用户除了要求输入口令以外应感觉不到认证的发生。 (4) 可伸缩:系统应能够支持大数量的客户和服务器,这意味着需要一个模块化的分布式结
构。
13. 掌握一个简单的鉴别对话过程以及它所存在的问题。
在一个不受保护的网络环境中,最大的安全威胁是冒充。为了防止这种威胁,服务器必须能够证实请求服务的用户的身份。
在这里我们使用一个鉴别服务器(AS),它知道每个用户的口令并将这些口令存储在一个集中的数据库中。另外,AS与每个服务器共享一个惟一的密钥,这些密钥已经通过安全的方式进行分发。
认证过程如下:
(1) 一用户登录一个工作站,请求访问服务器V。客户模块C运行在用户的工作站中,它
要求用户输入口令,然后向AS服务器发送一个报文,里面有用户ID、服务器ID、用 户的口令。
(2) AS检查它的数据库、验证用户的口令是否与用户的ID匹配,以及该用户是否被允许访
问该数据库。若两项测试都通过,AS认为该用户是可信的,为了要让服务器V确信 该用户是可信的,AS生成一张加密过的票据,内含用户1D、用户网络地址、服务器 ID。因为是加密过的,它不会被C或对手更改。(3) C向V发送含有用户ID和票据的报文。V对票据进行解密,验证票据中的用户ID与未
加密的用户ID是否一致。如果匹配,则通过身份验证。 上面的对话没有解决两个问题:
23
(1) 希望用户输入的口令次数最少。 (2) 前而的对话涉及口令的明文传输。
14. 掌握一个更安全的鉴别对话过程。
为了解决这些问题,我们引入一个所谓的票据许可服务器(TGS)的新的服务器。 认证过程如下:
(1) 用户通过向AS发送用户ID、TGS ID来请求一张代表该用户的票据许可票据。
(2) AS发回一张加密过的票据,加密密钥是由用户的口令导出的。当响应抵达客户端时,
客户端提示用户输入口今,由此产生密钥,并试图对收到的报文解密。若口令正确, 票据就能正确恢复。因为只有合法的用户才能恢复该票据,这样,我们使用口令获得 Kerberos的信任而无需传递明文口令。
票据含有时间戳和生存期是防止对手的如下攻击:对手截获该票据,并等待用户退出 在工作站的登录。对手既可以访问那个工作站,也可以将他的工作站的网络地址设为 被攻击的工作站的网络地址。这样,对手就能重用截获的票据向TGS证明。有了时间 戳和生存期,就能说明票据的有效时间长度。 (3) 客户代表用户请求一张服务许可票据。 (4) TGS对收到的票据进行解密,通过检查TGS的1D是否存在来验证解密是否成功。然后
检查生存期,确保票据没有过期。然后比较用户的ID和网络地址与收到鉴别用户的信 息是否一致。如果允许用户访问V,TGS就返回一张访问请求服务的许可票据。
(5) 客户代表用户请求获得某项服务。客户向服务器传送一个包含用户ID和服务许可票据
的报文,服务器通过票据的内容进行鉴别。
15. 阐述Kerberos提供的在不同辖区间进行鉴别的机制。
一个完整的Kerberos环境包括一个Kerberos服务器,一组工作站和一组应用服务器,满足下列要求:
(1) Kerberos服务器必须在其数据库中拥有所有参与用户的ID(UID)和口令散列表,所有用 户均在Kerberos服务器上注册。
(2) Kerberos服务器必须与每一个服务器之间共享一个保密密钥,所有服务器均在Kerberos 服务器上注册。
这样的环境被视为一个辖区(Realm)。
Kerberos提供了一种支持不同辖区间鉴别的机制:每一个辖区的Kerberos服务器与其他辖区内的Kerberos服务器之间共享一个保密密钥,两个Kerberos服务器互相注册。
这个方法存在的—个问题是对于大量辖区之间的认证,可扩缩性不好。如果有N个辖区,那么需要N(N一1)/2个安全密钥交换,以便使每个Kerberos能够与其他所有的Kerberos辖区进行互操作。
16.阐述Single Sign on技术产生的背景和优点。
背景
? 随着用户需要登录系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性 也会增大,安全性就相应降低。
? 如果用户忘记口令,就需要管理员的帮助,并等待进入系统,造成了系统和安全管理资 源的开销,降低了生产效率。
? 如果用户因此简化密码,或多个系统中使用相同口令,都会危害公司信息的保密性。
24