4.3.3身份认证
根据被认证方赖以证明身份的秘密不同,身份认证可以分为两大类:基于秘密信息的身份认证方法和基于物理安全性的身份认证方法。
1.基于秘密信息的身份认证方法
1)口令核对
鉴别用户身份最常见的,也是最简单的方法就是口令核对法:系统为每一个合法用户建立一个用户名和口令,系统通过对用户输入的用户名和口令与系统内已有的合法用户的用户名和口令进行匹配,如果能够正常匹配,则该用户的身份得到了认证。
这种方法有如下缺点:其安全性仅仅基于用户口令的保密性。而用户口令一般较短,且容易猜测,因此,这种方案不能抵御口令猜测攻击。另外,攻击者可能窃听通信信道和进行网络窥探,口令的明文传输,使得攻击者只要能在口令传输过程中获得用户口令,系统就会被攻破。
2)单向认证
如果通信的双方只需要一方被另一方鉴别身份,这样的认证过程就是一种单向认证。前面提到的口令核对实际上也算是一种单向认证,只是这种简单的单向认证还没有与密钥分发相结合。
与密钥分发相结合的单向认证主要有两类方案:一类采用对称密码加密体制,需要一个可信赖的第三方——通常称为“KDC(密钥分发中心)”或“AS(认证服务器)”,由这个第三方来实现通信双方的身份认证和密钥分发;另一类采用非对称密钥加密体制,无须第三方参与。
3)相互认证
在双方认证过程中,通信双方需要互相认证鉴别各自的身份,然后交换会话密钥。为了防止会话密钥被伪造和泄露,交换密钥应该用密文形式来传送。而且,实时性对防止信息重放被攻击很重要,实现实时性的一种方法是对交换的信息加上序列号,只有正确的序列号才表示接收的信息是没有重放的。但这增加了用户记录序号的麻烦。保证信息实时性的常用方法是时间戳和询问—应答。前者不是用在面向连接的环境,后者不是用在无连接的应用环境。相互认证密钥,会话可以采用单钥加密体制或者公钥加密体制。双向认证的典型方案就是Needham/Schroeder协议。
2.基于物理安全性的身份认证方法
这一类身份认证方案是依赖用户特有的某些生物学信息或用户特有的硬件。
(1)基于生物学信息的方案,包括基于指纹识别的身份认证、基于声音识别的身份认证以及基于虹膜识别的身份认证等。
(2)基于智能卡的身份认证机制在认证时要求认证方拥有一个硬件——智能卡。只有持卡人才能被认证,这样可以有效防止口令猜测,但又引入了一个严重的缺陷:系统只认卡不认人,而智能卡可能丢失,拾到和窃得智能卡的人很容易假冒原持卡人的身份。为解决丢卡的问题,可以综合前面提到的两类方法,即认证方既要求用户输入一个口令,又要求出示智能卡。这样既不担心卡的丢失,又不担心口令的泄露。