- 鉴别是指确定一个人的身份,即确定一个人是否是他所宣称的身份
基于口令的鉴别协议
- 口令是最常用和最常见的鉴别协议。当登录一台重要的计算机时,它会要求输入用户 名和密码,用户名代表你的身份,口令起鉴别作用,如果你是该用户名所代表的人,你就 应该能够输入正确的密码。最简单的口令鉴别系统是在服务器上或者验证者本身存有你的口令,然后将你输入的口令跟数据库或文件中的口令对比,如果一致,那么就通过鉴别。
- 目前来说,有两 种基本的方法:一种是将口令采用对称加密算法进行加密后在数据库保存,然后在鉴别的 时候对用户输入的口令作相同的运算,如果得出的值跟数据库保存的值一致,那么鉴别就 通过;一种是使用单向散列函数替代对称加密函数,其他过程都基本一样。
缺点
- 容易受到字典攻击。因为一般用户为了口令方便易记,会采用有意义或常用的字 符串作为口令,这样,即便服务器存放的是口令的加密值 (或散列值)而不是明文,攻击 者也可以通过常用口令列表的字典式攻击有效获取大部分用户的口令。
- 容易遭受网络窃听的攻击。在上述的口令鉴别协议中,口令是以明文的形式在网 络中传输的,这样非常容易被有意的攻击者获取。
- 口令容易泄漏。一般用户为了使用方便,会选取简单而且长度短的口令,这样非 常容易泄漏。一个有意的攻击者可能只要偷偷在你身后观测几分钟就能得到你的口令。
- 口令持有人的身份容易冒充。攻击者只要取得某个用户的口令,就可以完全欺骗 基于口令的鉴别系统,冒充用户的身份。
基于公开密钥算法的鉴别协议
- 主机只保存各个用户的公开密钥,每个用户保 存自己的私人密钥。这里使用的公开密钥算法是用于签名的,公开密钥用来解密信息,可 以对任何人公开,也不能推算出用来加密的私人密钥,所以这不会带来安全性问题。基本 的协议步骤如下。
- 例子:验证码登录,服务器向客户端发送一个随机数,客户端使用个人的私钥对随机数进行加密,服务器对客户端传来的密文进行解密,(服务器先前预留了客户端的公钥),将解密得到的随机数和先前发送出去的随机数进行比对,如果一致则验证了用户的身份。
实际应用的混合协议
Yahalom协议
Kerberos协议
Neuman-Stubblebine 协议
分布式鉴别安全协议