身份认证概述
定义: 身份认证是证实主体的真实身份与其所声称的身份是否相符的过程,身份认证可分为用户(代表用户的进程)与主机间的认证和主机与主机之间的认证。
目的: 确保通信实体就是它所声称的那个实体
作用:
- 验证用户,对抗假冒
- 依据身份,实施控制
- 明确责任,便于审计
认证的方式:
- 基于口令
- 基于密码学
- 基于生物特征
认证的依据:
- 主体所知的秘密 What you know 如口令、密钥
- 主体所有的实物 What you have 如手机、智能卡
- 主体固有的特征 Who you are 如指纹、视网膜
认证的类型:
- 依据认证条件(凭据)的数量
- 单因子认证
- 双因子认证
- 多因子认证
- 依据认证条件(凭据)的状态
- 静态认证
- 动态认证
举例:
基于口令的身份认证
也就是平时生活中,最常见的输入账号密码的形式,通常用在操作系统或应用程序中。 优点:简单易用,缺点:安全性较低
口令认证的风险:
- 窃听 HTTP、SMTP、TELNET等应用层协议均采用明文方式传输口令
- 重放 用户发送认证信息(如加密口令),攻击者在口令发送的过程中,截取认证信息,然后重放信息给服务器。
- 破解 比如说:字典攻击,穷举攻击,窥探,社交工程,垃圾搜索
防范口令攻击的方法
- 安全口令
- 要求密码尽可能复杂,用于对抗字典攻击和穷举攻击
- 强化口令安全策略
- 在创建口令时执行检查功能,如检查口令的长度。
- 强制使口令周期性过期,也就是定期更换口令。
- 保持口令历史记录,使用户不能循环使用旧口令。
- 基于单向函数的口令认证
f()
是单向函数(如MD5),p
是口令,id
是身份,Alice提供p||id
,计算机计算f(p)
,计算机与存储的值f(p)||id
作比较。主要用于防范口令窃取。
基于对称密码的身份认证
基于公钥密码的身份认证
(待续)