Appearance
认证(Authentication)
验证**“你是谁”**,确认用户、设备或系统的身份是否真实。核心目标是确保身份的真实性
常见的身份认证基本方式
- 静态密码认证
- 原理:用户预设用户名和密码,系统比对输入的密码与存储的密码(通常加密存储)。
- 优点:简单易用,成本低。
- 缺点:易被暴力破解、钓鱼攻击或密码泄露;依赖用户设置强密码。
- 适用场景:普通网站、内部系统等低安全需求场景。
- 增强措施:密码复杂度要求、定期更换、加盐哈希存储。
- 多因素认证(MFA)
- 原理:结合两种或以上独立验证因素:知识因素(如密码、PIN码)、拥有因素(如手机验证码、硬件令牌、智能卡)、生物因素(如指纹、人脸识别)、
- 优点:显著提升安全性,降低单点失效风险。 -缺点:用户操作稍复杂,需额外设备(如手机、硬件令牌)。
- 适用场景:银行、企业系统、高安全需求的在线服务。
- 数字证书认证
- 原理:基于公钥基础设施(PKI),用户持有私钥,系统验证其数字证书(由CA颁发)。
- 优点:安全性高,防篡改,支持双向认证。
- 缺点:部署和维护成本高,需管理证书生命周期。
- 适用场景:企业VPN、政府系统、HTTPS网站(SSL/TLS)。
- 生物识别认证
- 原理:通过生物特征验证身份,如指纹、虹膜、人脸、声纹等。
- 优点:用户体验便捷,难以伪造。
- 缺点:可能受环境干扰(如光线、噪音);隐私泄露风险高。
- 适用场景:移动设备解锁、机场安检、支付系统。
- 行为特征认证
- 原理:分析用户行为模式(如打字节奏、鼠标移动、地理位置)。可视为认证方式的演进形态,尤其在无密码化和AI驱动场景中逐步成为独立因素
- 优点:无感认证,增强持续验证能力。
- 缺点:需机器学习模型支持,存在误判可能。
- 适用场景:反欺诈系统、高风险操作二次验证。
- 硬件令牌认证
- 原理:用户持有物理设备(如YubiKey、智能卡),生成动态验证码或通过USB/NFC通信。
- 优点:防钓鱼攻击,脱离网络仍可使用。
- 缺点:丢失或损坏导致访问中断,需备份方案。
- 适用场景:企业安全准入、加密货币钱包。
- 风险自适应认证
- 原理:根据登录环境(IP地址、设备指纹、时间)、行为模式动态调整认证强度。
- 优点:平衡安全与体验,高危操作触发额外验证。
- 缺点:依赖大数据分析和实时风控系统。
- 适用场景:金融交易、敏感数据访问。
身份认证协议
身份认证协议是确保用户、设备或服务安全验证身份的技术标准
协议对比表
协议 | 主要用途 | 传输格式 | 典型场景 | 安全特性 |
---|---|---|---|---|
OpenID Connect(OIDC) | 身份认证 | JSON/JWT | 社会化登录、企业SSO | ID Token签名验证 |
Kerberos | 局域网服务认证 | 二进制 | Windows域环境、Hadoop集群 | 票据加密、防重放 |
RADIUS | 网络接入认证 | 二进制 | 企业Wi-Fi、VPN准入 | 支持EAP-TLS强认证 |
FIDO2/WebAuthn | 无密码认证 | 二进制/JSON | 高安全Web应用、移动设备 | 公钥加密、抗钓鱼 |
需要说明的是,OAuth2.0 SAML,LDAP 等都不是认证协议。只是这些协议中可能支持非常简单的认证能力,比如用户名密码验证。但是它们的主要目标不是做认证。使用时可以结合认证协议一起使用
协议类型 | 示例 | 核心功能 | 是否直接认证用户 |
---|---|---|---|
认证协议 | OpenID Connect, Kerberos | 直接验证用户身份(如密码、令牌) | ✅ |
联合身份协议 | SAML,CAS | 传递已认证的身份信息 | ❌ |
授权协议 | OAuth 2.0 | 授权第三方访问资源 | ❌ |
认证方案(Authentication Schemes)
把认证“要产生身份凭证”的目的与“具体如何产生凭证”的实现分离开来,无论客户端通过生物信息(指纹、人脸)、用户密码、数字证书抑或其他方式来生成凭证,都属于是如何生成凭证的具体实现,都可以包容在HTTP协议预设的框架之内
IETF定义的额认证方案
- Basic:RFC 7617,HTTP 基本认证。客户端通过用户名和密码的 Base64 编码字符串发送凭证给服务器端,服务器端解码后进行验证。这种方式是最简单的认证方式,但是安全性很低。
- Digest:RFC 7616,HTTP 摘要认证,可视为 Basic 认证的改良版本,针对 Base64 明文发送的风险,Digest 认证把用户名和密码加盐(一个被称为 Nonce 的变化值作为盐值)后再通过 MD5/SHA 等哈希算法取摘要发送出去。但是这种认证方式依然是不安全的,无论客户端使用何种加密算法加密,无论是否采用了 Nonce 这样的动态盐值去抵御重放和冒认,遇到中间人攻击时依然存在显著的安全风险。关于加解密的问题,将在“保密”小节中详细讨论。
- Bearer:RFC 6750,基于 OAuth 2 规范来完成认证,OAuth2 是一个同时涉及认证与授权的协议,在“授权”小节将详细介绍 OAuth 2。
- HOBA:RFC 7486 ,HOBA(HTTP Origin-Bound Authentication)是一种基于自签名证书的认证方案。基于数字证书的信任关系主要有两类模型:一类是采用 CA(Certification Authority)层次结构的模型,由 CA 中心签发证书;另一种是以 IETF 的 Token Binding 协议为基础的 OBC(Origin Bound Certificate)自签名证书模型。在“传输”小节将详细介绍数字证书。
现代身份认证标准
- U2F:提供基于硬件的第二因素认证,常见的设备如 USB 密钥。
- UAF:提供无密码认证,基于生物识别或其他设备进行身份验证。
- CTAP:支持客户端和身份验证器之间的通信,是 FIDO2 的协议基础。
- WebAuthn:提供浏览器端无密码身份验证,通过公钥加密实现与硬件或生物识别认证方式的结合。
这些技术一起构成了无密码、硬件支持的现代身份验证体系,旨在提高安全性,减少依赖传统密码带来的风险。
授权
OAuth2.0 授权
未来趋势
- 无密码化:FIDO2逐步替代传统密码。
- 去中心化身份:基于区块链的DID(Decentralized Identifier)与现有协议融合。
- AI增强风控:协议层集成实时行为分析(如登录地理位置异常检测)。