一、概念
身份认证是指验证一个主体身份的真实性或证实某事件、某消息是否属实的过程,通过验证被验证者的一个或多个参数的真实性和有效性,来验证被验证者是否名符其实。
用户身份验证的方法有很多,如基于被验证者所知道的(知识证明),基于被验证者所拥有的(持有证明),基于被验证者的生物特征(属性证明)等等。
二、身份认证的基本途径
1、基于你所知道的知识、口令、密码。
2、基于你所拥有的身份证、信用卡、钥匙、智能卡、令牌等。
3、基于属性特征指纹、笔记、声音、手型、脸型、视网膜、虹膜等。
4、双因素、多因素认证。
三、基于口令的认证
基于口令的认证分为简单口令认证和一次性口令认证。简单口令认证是最常见的,但是也最不安全。
简单口令认证
口令是双方预先约定的秘密数据,用被验证者知道的信息进行验证。
基于口令的认证有一定的缺陷,主要的两个缺点是:
1、用户一般会选择容易记忆的口令,结果,这些口令不是随机分布的,很容易猜到。密码猜测是正确地猜出合法用户的口令过程。
2、一些简单的口令认证系统中,口令的传送常以明文的方式进行,很容易被窃听。
综上所述,基于简单口令的认证不适于日益复杂的计算机网络和分布式系统。
一次性口令认证
简单的口令认证太容易被黑客攻击,加入密码学技术(加密、数字签名)可以增加认证过程的安全性。密码学认证的基本思想是,要求被认证的一方A通过密码学的操作提供一个双方都知道的数值给认证方B,从而证明他的身份。最普遍的密码学认证手段是使用一次性口令。
“一次性口令”是只能使用一次的口令,在这之后,这个口令马上失效。使用一次性口令的思想是,动态产生无法预测的口令,而这个口令也只能用来访问系统一次。第二次使用这个口令时,会返回一个错误。