MFA

MFA 一、MFA 是什么 MFA(Multi-Factor Authentication,多因素认证) 是一种提高账户安全性的认证方式。 它要求用户在登录或进行敏感操作时提供 多种不同类别的验证因素,从而增强安全性。 通常 MFA 包含三类因素: 因素类型 描述 示例 知识因素(Something you know) 用户知道的信息 密码、PIN 持有因素(Something you have) 用户拥有的物品 手机验证码(OTP)、硬件密钥 固有因素(Something you are) 用户自身的特征 指纹、面部识别、虹膜识别 核心理念:仅凭密码不安全,增加第二甚至第三因素可以有效防止账号被盗。 二、常见应用场景 金融系统 登录网银或支付系统时,需要输入密码 + 手机短信验证码。 企业内部 SSO / VPN 登录 员工登录内部系统时,需要密码 + 动态令牌或硬件钥匙。 云服务 / SaaS 平台 如 GitHub、Google、AWS 等,用户可启用 MFA 提高账户安全。 敏感操作验证 修改密码、提现或支付等操作,需要额外的 MFA 验证。 三、MFA 的典型流程(以 TOTP 为例) 绑定 MFA 用户登录后扫描二维码绑定 MFA(生成密钥),服务器存储密钥。 生成动态验证码 用户通过 App(Google Authenticator、Authy)生成 6 位一次性验证码。 登录验证...

May 12, 2023 · 2 min · Leanku

OAuth 2.0

OAuth 2.0 一、OAuth2.0 是什么 OAuth 2.0 是一种开放标准的授权协议,用于在不暴露账号密码的情况下,让用户授权第三方应用访问其受保护的资源。 它主要解决的问题是:如何安全地委托访问权限。 核心概念: 角色 说明 资源所有者(Resource Owner) 用户或数据所有者 客户端(Client) 第三方应用,需要访问资源 授权服务器(Authorization Server) 颁发令牌的服务器,负责验证用户身份并授权 资源服务器(Resource Server) 存储用户受保护资源的服务器,验证令牌后提供数据 二、 常用场景 第三方登录(Social Login) 用户使用微信、GitHub、Google 登录你的站点,后端获取 Access Token 调用接口获取用户信息。 开放 API / 平台化 向合作伙伴提供 API,使用 OAuth 2.0 控制访问权限和作用域。 微服务内部接口调用 服务 A 调用服务 B 的接口,通过 Client Credentials 模式获取 Token,避免硬编码密码。 企业内部 SSO(单点登录) 多系统统一认证,用户在登录一次后,访问其他系统不需要重复登录。 前后端分离应用(SPA / Mobile App) 前端获取授权码,换取 Access Token,安全访问 API,密码不在前端传递。 三、OAuth 2.0 主要流程 以 授权码模式(Authorization Code Grant) 为例: 请求授权:客户端引导用户跳转到授权服务器,传入 client_id、redirect_uri、scope。...

May 12, 2023 · 2 min · Leanku