1. 概述
- 身份认证:系统审查用户身份,确定该用户是否具有对某种资源的访问、使用权限
- AAA/3A:Authentication(认证)、Authorization(授权)、Accounting(审计)
- 认证:指确定一个用户(实体)是否被允许访问特定的资源
- 授权:指当用户(实体)的身份被确定为合法后,赋予该用户的系统访问或资源使用权限
- 审计:指所有的试图通过身份认证获得授权的尝试的记录
2. 口令(密码)认证
- 一次性口令OTP(One Time Password)在登录过程中加入不确定因素,使每次登录时计算的密码都不相同。(避免重放攻击)
- 动态口令:种子-认证服务器为用户分配的一个非密文的字符串、序号-指单向散列函数的迭代次数、通行短语-仅用户知道的值
2.1 动态认证-时间同步
- 用户的登录时间作为随机数+用户的通行短语=生成一个口令
- 对客户端和认证服务器时间准确度的要求高,在分式环境下对不同设备的时间同步难度较大
2.2 动态认证-事件同步
- 用户触发登录事件同时系统根据登录事件产生口令,相比时间同步更适用于复杂的网络环境
2.3 动态认证-挑战/应答
- C端发起登录请求——认证服务器验证身份,生成挑战信息给C端——C端加入通行短语生成应答——认证服务器计算比较,通知认证结果
- 不用考虑同步的问题,使用者输入额外信息,操作复杂。
2.4 一次性口令-S/Key认证系统
- 一次一密,用户每次登录系统所用的密码不一样
3. 生物特征认证
-
计算机利用人体固有的物理、行为特征鉴别个人身份
-
与传统认证相比的优势:依附于人体、不易伪造、不易模仿
3.1 指纹识别
-
技术实现:指纹采集-图像预处理(增强)-特征提取-特征值模板入库-匹配
3.2 虹膜认证
-
图像采集-图像的预处理(虹膜定位-图像归一化)-特征提取入库-匹配
-
特点:准确率高。
3.3 人脸识别
-
人脸图像采集及检测-图像预处理(补偿、过滤)-特征提取入库-匹配
* 零知识证明身份认证
- 指证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。
4. 身份认证协议
4.1 Kerberos协议
4.1.1 特点
- 基于TCP/IP、C/S模式下执行、依赖可信赖的第三方KDC(密钥分配中心、双方都信任的)实现用户身份认证、对称加密
4.1.2 组成
- 用户端(用户账户、设备地址)
- 资源服务器(访问前需要认证)
- 密钥分配中心KDC(Key Distribution Center):为用户提供对称密钥(密钥只有User和KDC保存),实现身份