身份验证又称“验证”、“鉴权”,是指通过一定的手段,完成对用户身份的确认。身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证、基于生物学特征的身份验证和基于公开密钥加密算法的身份验证。
定义
身份验证又称“验证”、“鉴权”,是指通过一定的手段,完成对用户身份的确认。
身份验证的目的是确认当前所声称为某种身份的用户,确实是所声称的用户。在日常生活中,身份验证并不罕见;比如,通过检查对方的证件,我们一般可以确信对方的身份。虽然日常生活中的这种确认对方身份的做法也属于广义的“身份验证”,但“身份验证”一词更多地被用在计算机、通信等领域。
方法
身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证、基于生物学特征的身份验证和基于
公开密钥加密算法的身份验证。不同的身份验证方法,安全性也各有高低。
基于共享密钥
基于共享密钥的身份验证是指服务器端和用户共同拥有一个或一组密码。当用户需要进行身份验证时,用户通过输入或通过保管有密码的设备提交由用户和服务器共同拥有的密码。服务器在收到用户提交的密码后,检查用户所提交的密码是否与服务器端保存的密码一致,如果一致,就判断用户为合法用户。如果用户提交的密码与服务器端所保存的密码不一致时,则判定身份验证失败。
使用基于共享密钥的身份验证的服务有很多,如:绝大多数的网络接入服务、绝大多数的BBS以及维基百科等等。
基于生物学特征
基于生物学特征的身份验证是指基于每个人身体上独一无二的特征,如指纹、虹膜等。
例如Synaptics Natural ID
指纹传感器解决方案,对指纹模板数据进行AES256位加密,对于在
智能手机上快速部署生物识别身份验证技术,这种加密方法起到了关键作用。
基于公开密钥加密算法
基于
公开密钥加密算法的身份验证是指通信中的双方分别持有公开密钥和私有密钥,由其中的一方采用私有密钥对特定数据进行加密,而对方采用公开密钥对数据进行解密,如果解密成功,就认为用户是合法用户,否则就认为是身份验证失败。
使用基于公开密钥加密算法的身份验证的服务有:SSL、
数字签名等等。
身份验证
PAP 口令验证协议 是一种简单的明文验证方式。NAS(
网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。CHAP CHAP通过使用MD5(一种工业标准的散列方案)来协商一种加密身份验证的安全形式。CHAP 在响应时使用质询-响应机制和单向 MD5 散列。用这种方法,可以向服务器证明客户机知道密码,但不必实际地将密码发送到网络上。MS-CHAP 同CHAP相似,微软开发MS-CHAP 是为了对远程 Windows 工作站进行身份验证,它在响应时使用质询-响应机制和单向加密。而且 MS-CHAP 不要求使用原文或可逆加密密码。MS-CHAP v2 MS-CHAP v2是微软开发的第二版的质询握手身份验证协议,它提供了相互身份验证和更强大的初始数据密钥,而且发送和接收分别使用不同的密钥。如果将VPN连接配置为用 MS-CHAP v2 作为唯一的身份验证方法,那么客户端和服务器端都要证明其身份,如果所连接的服务器不提供对自己身份的验证,则连接将被断开。VPN服务端和VPN客户端之间一定要采用相同的身份验证,比如VPN服务端选择了MS-CHAP2,那么相应的VPN客户端也要选择MS-CHAP2,否则无法连接。PAP口令验证协议。由于是明文的。极为不安全,一般不采取这个方式!
扫描方式
事先知道身份验证进行扫描的系统
这可能包括所有Windows和基于Linux的系统,或者少数计算机部分(例如服务器或工作组)。此外,请务必考虑扫描Web应用、数据库以及允许或要求通过Telnet、FTP、SSH和SNMP等协议的身份验证的所有网络主机。很多商业漏洞扫描仪(例如Nexpose和LanGuard)提供了各种方法来进行扫描。如果你网络外部的黑客或者内部的恶意用户都开始使用身份验证扫描,那么你也需要这样做。
确定想要扫描何种用户角色水平
笔者建议至少使用管理员或根级登录凭证进行扫描;这样你将会发现大部分漏洞。然而,通过不同用户角色进行扫描(例如经理级别角色或基本用户角色),你可以更好地了解每个用户组可以看到和利用的资源。在一定程度上,你测试的用户角色越多,你得到的结果会越好(不过在某种情况下将会出现收效递减的规律)。当你看到你的结果不再根据权限而变化时,你会知道什么时候该适可而止。
为身份验证扫描设置用户账号
这样在首次登录时不会要求更改密码(这是Active Directory组策略和一些web应用的通用设置)。如果你忘记了这一点,你的扫描仪首次登录时将会提示你更改密码,当然这无法做到。你可能不知道这个情况,然后继续进行扫描。几分钟后(可能更长时间),你会意识到身份验证无法使用,你将需要重新开始进行扫描。通过web漏洞扫描仪,你可能需要创建一个登录宏以允许你测试。出于某种原因,大多数网络漏洞扫描仪不会提供选项以在你开始扫描前测试你的登录凭证。笔者所知道的唯一具有这种功能的两个扫描仪是老的Harris STAT扫描仪和Rapid7的Nexpose。这一点似乎是老生常谈,但从长期来看,这个功能可以为你节省大量时间和避免很多麻烦。
先确保对网络主机的身份验证漏洞扫描
这就是说,这可能会在生产环境产生问题,特别是当扫描web应用时。无论你在扫描什么,都会消耗CPU、磁盘和网络周期,日志文件和数据库可能会被填满,用户账号可能被锁定等。笔者建议首先在一个或两个系统上运行身份验证扫描,看看会带来什么副作用,再扩展到扫描成千上万个系统。
按照漏洞的排序方式来生成电子表格报告
在身份验证扫描期间发现的安全漏洞可能非常多,特别是当查看传统PDF报告中的结果时。笔者发现,按照漏洞的排序方式来生成HTML或电子表格报告是查看发现结果的最佳方法。当你整理漏洞结果时,你可以通过能够更简单更清楚地看清事物(例如每个漏洞所影响的主机或网页)而节省大量时间,并且可以更简单地生成最终报告或修复计划,而不是一次查看一台主机。
使用漏洞扫描仪来正确地执行漏洞扫描类似于使用
数码单反相机拍摄照片。任何人都可以使用这个工具,但这并不意味着你知道如何有效地利用它,而且也不能保证取得积极的效果。
相关消息
2021年11月14日,国家网信办公布《网络数据安全管理条例(征求意见稿)》,征求意见稿提出,数据处理者利用生物特征进行个人身份认证的,应当对必要性、安全性进行风险评估,不得将人脸、步态、指纹、虹膜、声纹等生物特征作为唯一的个人身份认证方式,以强制个人同意收集其个人生物特征信息。