中国移动规范学习——4A技术要求(集中认证)

身份认证是实现网络安全的重要机制之一,是安全系统中的第一道关卡,是赋予用户访问权限的依据。

用户在访问受保护的系统之前,首先经过身份认证系统识别身份,然后访问控制器根据用户的身份和授权,决定用户是否能够访问某个资源。在开始访问后,审计系统根据审计设置记录用户的请求和行为,同时入侵检测系统实时或非实时地检测是否有入侵行为。访问控制和审计系统都要依赖于身份认证系统的提供的信息――用户的身份。可见身份认证在安全系统中的地位极其重要,是最基本的安全服务,其它的安全服务都要依赖于它。一旦身份认证系统被攻破,那么系统的所有安全措施将形同虚设。

大致上来讲,身份认证可分为用户与主机间的认证、主机与主机之间的认证。本章主要涉及用户与主机间的身份认证,主机与主机之间的认证在某种程度上可以转换成用户与主机间的身份认证。

用户与主机之间的认证可以基于如下一个或几个因素:

  • 用户所知道的东西,如口令;
  • 用户所拥有的东西,如智能卡、动态口令发生器等;
  • 用户所具有的生物特征,如指纹、声纹、视网膜等。

在此基础上,衍生出了众多身份认证方式。在4A框架中,集中身份认证系统需要对目前已有的身份认证方式,及未来可能会有的身份认证方式均提供支持,方便管理员根据需要进行选择。

身份认证方式

基于用户名/口令的认证方式

基于用户名/口令的认证方式是最常用的一种技术,也是现在中国移动中普遍使用的认证方式,无论是数据网中的系统管理、业务管理、办公自动化系统还是远程登录,都是基于用户名和口令的方式认证。

基于用户名/口令的认证方式存在严重的安全问题,是攻击者最容易攻击的目标:

1. 它是一种单因素的认证,安全性仅依赖于口令,口令一旦泄露,用户即可被冒充。

2. 为记忆方便, 是用户往往选择简单、容易被猜测的口令,如:与用户名相同的口令、生日、单词等。这往往成为安全系统最薄弱的突破口。

3. 口令一般是经过加密后存放在口令文件中,如果口令文件被窃取,那么就可以进行离线的字典式攻击。这也是黑客最常用的手段之一。

关于网站安全的调查结果表明:超过80%的安全入侵是由于用户选用了拙劣的口令而导致的。由此可以推断,大部分的入侵可以通过选择好的口令来阻止。

基于动态口令的认证方式

为解决用户名/口令泄漏引起的安全问题,研究人员提出了一次性口令机制的动态身份认证系统。每次登录时的口令是随机变化的,每个口令只能使用一次,彻底防止了各种窃听、重放、假冒、猜测等攻击方式,从而能够保证用户的安全。

动态口令的实现,一般是由用户端的动态口令产生器和安全认证服务器两部分组成,用户端产生的口令与安全认证服务器保持一致,同步动态变化,而且口令无法预测和跟踪。这就使得用户口令既无法被窃取,而且又能解决常规口令频繁变换所带来的问题。

附录三给出了基于手机短消息的动态口令产生系统。

动态口令系统应该满足如下基本要求:

1. 必须是真正的双因素认证。

2. PIN码不能在网络上传输。

3.尽量减少口令不同步的可能性。

基于智能卡的认证方式

智能卡具有硬件加密功能,有较高的安全性。每个用户持有一张智能卡,智能卡存储用户个性化的秘密信息,同时在验证服务器中也存放该秘密信息。进行认证时,用户输入PIN(个人身份识别码),智能卡认证PIN,成功后,即可读出智能卡中的秘密信息,进而利用该秘密信息与主机之间进行认证。

基于智能卡的认证方式是一种双因素的认证方式(PIN+智能卡),即使PIN或智能卡被窃取,用户仍不会被冒充。智能卡提供硬件保护措施和加密算法,可以利用这些功能加强安全性能,例如:可以把智能卡设置成用户只能得到加密后的某个秘密信息,从而防止秘密信息的泄露。

基于智能卡的认证方式的缺点是:

1. 用户需要随时携带智能卡,如果智能卡丢失则无法登录系统,很不方便;

2.某些智能卡需要在各终端增加额外的读卡设备,增加了系统建设和维护的成本。新的智能卡改用USB接口,对此有所改善。

基于生物特征的认证方式

生物测定技术根据人体自身的生物特征来识别个人的身份。常见的生物特征包括指纹、掌纹、虹膜、脸像、声音、笔迹等。目前,有很多的生物测定技术可用于身份认证。这种认证方式以人体惟一的、可靠的、稳定的生物特征为依据,采用计算机的强大功能和网络技术进行图像处理和模式识别。

实际的应用还给基于生物特征的身份认证系统提出了更多的要求,如:

  • 性能要求,所选择的生物统计特征能够达到多高的识别率;
  • 对于资源的要求,识别的效率如何;
  • 可接受性,使用者在多大程度上愿意接受所选择的生物统计特征系统;
  • 安全性能,系统是否能够防止被攻击;是否具有相关的、可信的研究背景作为技术支持;
  • 提取的特征容量、模板是否占用较小的存储空间;
  • 价格是否为用户所接受;
  • 是否具有较高的注册和识别速度;
  • 是否具有非侵犯性。

遗憾的是,到目前为止,还没有任何一种单项生物特征可以满足上述全部要求。基于各种不同生物特征的身份认证系统各有优缺点,分别适用于不同的范围。

另外,每种生物特征都有自己的适用范围。比如,有些人的指纹无法提取特征,患白内障的人虹膜会发生变化等。在对安全有严格要求的应用领域中,人们往往需要融合多种生物特征来实现高精度的识别系统。数据融合是一种通过集成多知识源的信息和不同专家的意见以产生一个决策的方法,将数据融合方法用于身份认证,结合多种生理和行为特征进行身份认证,提高鉴别系统的精度和可靠性,这无疑是身份认证领域发展的必然趋势。

基于数字证书的认证体系

数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据:

1. 身份验证机构的数字签名可以确保证书信息的真实性;

2. 用户公钥信息可以保证数字信息传输的完整性;

3. 用户的数字签名可以保证数字信息的不可否认性。

目前在网上传输信息时,普遍使用X.509 V3格式的数字证书。X.509标准在编排公共密钥密码格式方面已被广为接受。X.509证书已应用于许多网络安全,其中包括IPSec(IP安全)、SSL、SET、S/MIME等。随着《电子签名法》的颁布实施,基于PKI数字证书的数字签名也将发挥越来越重要的作用。

数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题:

1. 在数字信息传输前,首先传输双方互相交换证书,验证彼此的身份;

2. 然后,发送方利用证书中的加密密钥和签名密钥对要传输的数字信息进行加密和签名,这就保证了只有合法的用户才能接收该信息,同时保证了传输信息的机密性、真实性、完整性和不可否认性,

数字证书可以存放在计算机的硬盘、随身软盘、IC卡或CUP卡中。

用户数字证书在计算机硬盘中存放时,使用方便,但存放证书的PC机必须受到安全保护,否则一旦被攻击,证书就有可能被盗用。

使用软盘保存证书,被窃取的可能性有所降低,但软盘容易损坏。一旦损坏,证书将无法使用。

IC卡中存放证书是一种较为广泛的使用方式。因为IC卡的成本较低,本身不易被损坏。但使用IC卡加密时,用户的密钥会出卡,造成安全隐患。

使用CUP卡存放证书时,用户的证书等安全信息被加密存放在CUP卡中,无法被盗用。在进行加密的过程中,密钥可以不出卡,安全级别最高,但相对来说,成本较高。

 

认证方式选择

在选择身份认证方式时,需要考虑如下原则:

i. 足够安全。即认证方式不容易被模仿(包括认证凭证的复制、认证过程的重放)或攻击(包括DOS攻击)。

ii. 成本适当。安全和成本常常成反比,但是对于企业来说,既不能为了降低成本而采用不安全的认证方式,也不能为了片面追求安全而不顾成本,而是要针对不同价值的系统以及其中账号权限的不同选择不同的认证手段。

iii. 使用方便。所有东西都是给人用的,如果因为使用不便而招致反感,则所有的安全措施都形同虚设。

iv. 提供开放的API接口,便于将认证方式集成到4A框架。

根据这些原则,本要求认为可以按照如下方式选择认证方式:

1. 在网络内部登录时,考虑到内部网络的安全性较强一些,初期可以采用用户名/口令的登录认证方式,基本满足安全性要求并且简单方便,结合单点登录系统可以大大提高工作效率。

2. 在网络外部登录时,应该采用动态口令、数字证书等强认证方式。

3. 如果需要数字签名、数据加密,数字证书认证方式具有天然的优势,建议采用。

有时将两种认证方式组合起来,可以起到互相弥补的作用。例如将指纹作为数字证书的PIN码,可以在保证证书安全的情况下免除用户记忆PIN码的烦恼,又可以获得数字证书认证方式带来的好处。

 

单点登录(Single Sign-On,SSO)

在4A框架下,集中身份认证一个很重要的应用是实现SSO。

SSO虽然字面上说的是单点“登录”,其实严格来说需要涵盖两个方面:

1. 一次登录,到处通行。即用户在SSO服务器上进行一次登录后,在从SSO服务器登出前,访问所有纳入SSO管理范围的应用系统、主机、网络设备时均不需要再次手工登录,而是由SSO系统带为登录。

2. 一次登出,全部登出。即用户如果从SSO服务器登出,则当前所有已经登录的、被纳入SSO管理范围的应用系统、主机、网络设备均同时登出。

就目前市场上的SSO产品来看,一般强调的都是“一次登录,到处通行”,而“一次登出,全部登出”则比较难实现,产品选购时应该根据需要进行测试、选择。

在中国移动的信息系统中,一个用户每天要登录到很多不同的系统和应用中。每个系统都有自己的认证过程,要求用户输入不同的用户名、口令。用户需要进入的系统越多,用户出错的概率和安全问题出现的可能性就越多。而SSO可以解决用户记忆多个口令,登录不同系统需要重复登录的问题,不仅提高工作效率,而且通过在主账号认证环节采用强认证技术、统一设置强从账号密码等措施增加安全性。

单点登录要求

除了覆盖上面说的登录、登出两个方面外,理想的SSO系统还应该能够:

l 从用户的视角看,虽然是在复杂的企业应用环境中,SSO不会影响到诸如业务过程,响应效率,网络吞吐量等性能,并将互操作性方面的问题减至最少,任何事情都在顺利工作。

l 当一个SSO系统被加入使用,迁移应该容易。所有的用户能够立即学会使用这个工具。

l 从管理员的角度看,计算和网络环境在各个方面必须能被管理,而管理应该不引起额外的工作或安全漏洞。管理过程应该适合组织的结构和政策。这意味着权利和控制需要有一定的层次结构。

l 认证方法应能在分布式的组织环境中得到全部的贯彻而不用付出额外的努力。所有的应用程序,无论新旧,可以不需要或只需很少的改动即可适应新的认证方式。

上面描述的其实是一个理想的状态,而在实际应用中,要想完全达到是很困难的,但是SSO解决方案应该尽可能多地满足上面的要求。

单点登录系统模型

SSO系统模型主要有:以服务器为中心的单点登录,以客户端为中心的单点登录和客户/服务器模式的单点登录。下面分别对这些模型进行分析比较。

<以服务器为中心的单点登录模型>

在以服务器为中心的SSO模型中,所有的认证信息存储在服务器上的*数据库中。当需要对用户进行认证时,这个中心服务器需要与每个网络设备,主机系统及应用服务器通信。这种通信需要中心SSO服务器与应用服务器集成,即在SSO服务器上开发应用系统的客户代理。这种模型的结构如图所示。

图 以服务器为中心的单点登录模型

这种模型的登录过程为:

1. 用户用主帐号登录SSO服务器,并保持与SSO服务器的连接。

2. 用户通过SSO服务器在客户端展现的登录界面,访问应用系统、主机、网络识别。

3. 访问请求被SSO客户端发送到SSO服务器,由SSO服务器将主帐号对应的从帐号,及访问请求一起转发给所请求的应用系统、主机、服务器。

4. 用户从SSO服务器登出时,SSO服务器中断所有通过SSO服务器中转的连接,实现“一处登出,处处登出”,当然在应用服务器中也必须能够对这种非正常退出进行处理,不能因此而造成资源不能正常释放。

这种模型在Portal系统中采用较多,它的优点是提供了单一的登录控制点,用户对网络资源的访问控制可以通过SSO服务器一点实现,因此权限比较容易和访问时间、访问者所处网段等结合进行控制。通过防火墙策略配置等手段,规定只有来自SSO服务器的访问才是合法的,则可以避免绕过SSO服务器的非法访问。

这种模型的缺点有:

1. 对外部主机上的应用支持比较困难,需要在外部主机上安装代理程序;

2. 从发起连接请求到断掉连接,用户需要一直保持与SSO服务器的连接;

3. 为防止出现单点故障,SSO服务器需要冗余,要考虑负载均衡和备份;

4. 技术上比较复杂,需要为端到端的集成进行定制开发。

<以客户端为中心的单点登录模型>

以客户端为中心的SSO模型,与以服务器为中心的SSO模型正好相反,认证信息不是存储在一个*数据库中,而是存放在用户端的工作终端上。这种单点登录模型如图7.2所示。

图7.2 以客户端为中心的单点登录模型

这种模型的登录过程为:

1. 在客户端部署专门的SSO客户端代理,支持所有应用。

2. 用户先启动SSO客户端代理,用主帐号登录SSO服务器。登录成功后,SSO客户端代理自动将主帐号对应的所有从帐号从SSO服务器下载到本地,然后断开与SSO服务器的连接,SSO客户端代理继续运行,对客户机进行监视。

3. 用户在需要的时候启动应用、主机、网络设备客户端,SSO客户端代理能检测到要求用户输入用户名和口令的窗口,从本地从帐号表中取出对应的从帐号/密码信息并自动填入认证窗口中,然后模拟用户点击,提交给服务器进行正常登录。

4. 用户从SSO客户端代理登出时,SSO客户端代理清除本地缓存的从账号/密码,但不中断已经建立的连接。

这种模型的优点是不需要后端集成。典型的单点登录代理应该支持大部分的应用。另外由于认证信息存放在本地终端上,用户可以在任何时候访问业务应用系统。

这种模型的缺点是:

1. 应用、主机、网络设备仍然使用从账号/密码登录,只不过由SSO客户端代理代替用户填写从账号/密码而已。如果登录过程没有采用传输加密方案,从账号/密码可能被窃听。解决的办法就是采用传输加密方案。

2. 这种模型没有集中的访问控制点,在知道从账号/密码的情况下,用户可以随时将SSO客户端停掉,直接用从账号登录。这样有可能造成某些非授权的访问。解决的办法一方面是采用传输加密的手段防止从账号被窃听,一方面是由SSO账号管理模块定期强制更改从账号密码,尽量减少被盗用的可能。

3. 由于没有集中的访问控制点,很难对用户进行细粒度的访问控制,包括将权限与访问时间、访问者所处网段等结合进行控制等都无法实现。

<客户/服务器模式的单点登录模型>

这种模型是前面两种模型的综合,具有单一的访问控制点并且由客户端侧的代理提供认证。模型如图7.3所示。

图7.3 客户/服务器单点登录模型

在技术上,这种模型实现和维护的复杂性差不多是最大的。

这种模型的登录过程为:

1. 在客户端部署专门的SSO客户端代理,支持所有应用。

2. 用户先启动SSO客户端代理,用主帐号登录SSO服务器,主帐号验证成功后SSO客户端代理获得一个一次性的登录标识。

3. 用户在需要的时候启动应用、主机、网络设备客户端,发出连接请求。

4. SSO客户端代理捕获到连接请求,加上登录标识一起加密发送给服务器。

5. 在服务器一侧有两种实现方法,一种是独立网关方式,即在服务器前面部署服务器端SSO代理,捕获到连接请求及登录标识后,解密,将登录标识转发给SSO服务器,查出登录标识对应的主帐号、从帐号,然后将从帐号及连接请求转发给服务器,完成正常登录;另一种是嵌入方式,即将服务器端SSO代理的功能以SSO API的形式集成到应用服务器中,实现上述通过登录标识完成登录的过程。网关方式比较适用于主机、网络设备,嵌入式方式适用于应用系统。

6. 用户从SSO服务器登出时,SSO服务器废除原先颁发给用户的登录标识,SSO客户端代理中断所有连接,实现“一处登出,处处登出”,当然在应用服务器中也必须能够对这种非正常退出进行处理,不能因此而造成资源不能正常释放。

从上面的流程中,可以看到这种单点登录方案具有单一的访问控制点,并且由客户端侧的代理提供用户认证信息。

与以服务器为中心的SSO模型比较,这种模型对SSO服务器的负载压力要小得多,也不需要开发众多的端到端代理,便于集成主机和网络设备。

与以客户端为中心的SSO模型相比较,这种模型因为在服务器一侧具有单一访问控制点(服务器端SSO代理),不仅难以绕过,而且便于实现集中、细粒度的权限管理,另外由于不需要在客户端/服务器之间传递从账号/密码,就安全性来说也比以客户端为中心的SSO模型高。

<模型选择>

三种模型的优缺点在前面已经叙述,从目前市场上的SSO产品来看:

1. 采用以服务器为中心的SSO模型的产品可能是最常见的,并且通常与Portal相结合,比较适用于集成B/S结构的应用,但是对C/S结构的应用比较难集成。如果只需要集成B/S结构的应用,可以选购。

2. 采用以客户端为中心的SSO模型的产品,在实施时基本上不需要对原有应用进行更改,对C/S结构的应用也能较好满足。但是这种产品基本上也就只提供SSO功能而已,集中权限管理、集中身份认证等功能都很难做到。

目前采用客户/服务器SSO模型的产品要比采用前两种模型的产品少一些,但是这种模型是对前两种模型的综合,虽然实现相对复杂一些,但是兼有前面两种模型的优点,因此应该在采购时应优先选择。

单点登录适用范围

单点登录在为用户带来方便的同时,也可能产生某些潜在的安全隐患,一旦主账号被攻破,将导致所有从账号的泄漏:

1. 如果主账号采用静态的用户名/密码方式认证,则面临窃听、猜测、窃取等威胁。解决的办法就是认证过程采用加密传输,并强制定期更换密码。

2. 如果采用动态密码,某些动态密码产品在传输过程中明文传输保护口令,会造成隐患。解决的办法就是在传输过程中不传保护口令,或者传输过程加密。

3. 如果采用智能卡,则存在智能卡被窃取、复制的风险。解决的办法一方面是采用防复制的智能卡产品,一方面采用真正双因素认证的智能卡,即使智能卡遗失或遭复制,也还受到PIN码的保护。

4. 如果采用生物认证,则需要考察产品的误识别率,并且最好与其它认证方式结合使用。

5. 如果采用PKI数字证书,则证书存储必须采用防复制的技术,否则无法保证安全。常见的防复制存储手段是将证书存储在加密的智能卡或USB Key里,并且采用保护密码防止因为意外遗失而造成损失。加密智能卡或USB Key要求获得国密办认证。

除了在单点登录中采用安全、可靠、难以仿冒的身份认证技术,还需要根据需要,适当限制单点登录的应用范围。并非所有应用系统、所有账号均需要纳入单点登录,以下应用、账号就不宜采用单点登录:

1. 某些关键性应用,用户虽然不多,但是一旦被攻破,将产生严重的安全问题。

2. 某些高权限账号,也不宜纳入单点登录。

单点登录与集中身份认证

实现安全登录一个系统的基础是身份的认证,对于目前存在的身份认证的方案来说,基本上每种解决方案都有一些利弊存在。如果在应用系统中普遍采用高强度认证技术,从投资、管理等角度来说显然不合适。

解决的办法就是在采用单点登录以后,在主账号认证阶段可以采用集中的、高强度的认证技术,这样既达到了提高安全性的目的,也降低了投资和管理成本。

在实施单点登录后,单点登录系统与授权系统紧密结合,用户在登录到信息系统时首先登录到单点登录系统,然后访问他所授权的各种系统。这样身份认集中在一点上:用户用自己的主账号登录单点登录服务器,在这一点上对用户进行认证;以后登录其它系统时,从账号由单点登录服务器自动向所登录的服务器传递。

单点登录的身份认证部分独立于目前各系统、设备自身的认证机制,因此可以根据需要,对不同安全级别的账号采用不同的认证方式,进行集中身份认证,然后将结果作用于实际的系统或设备。

上一篇:SSO单点登录


下一篇:三、部署被监控主机-Zabbix Agent