Design Vocabulary设计词汇 · 样本集 01

VOCABULARY / 词条

安全问题

Security Questions

加入比较 +

把"母亲的姓氏""第一只宠物的名字"这类关于个人生平的问题当作认证凭据:用户注册时作答,日后凭答案登录或找回账户。它被当作密码的补充,实际上是一个更弱的密码。

示意图 · 编辑插画,尚无可操作示例
一张示意图:一个虚构的注册表单列出三行下拉选择的安全问题与对应的答案输入框,右侧一个放大镜图标指向一部社交动态,表示同样的答案在公开信息中即可查到;表单下方一条灰色占位说明条被打上叉号。
一张示意图:一个虚构的注册表单列出三行下拉选择的安全问题与对应的答案输入框,右侧一个放大镜图标指向一部社交动态,表示同样的答案在公开信息中即可查到;表单下方一条灰色占位说明条被打上叉号。

识别特征

  • 注册时要求从固定清单中选择问题并作答
  • 答案是关于个人生平的事实,而不是用户自己生成的秘密
  • 答案被用来绕过密码,成为账户的另一条入口

概念边界

本词条针对的是把知识型问题当作认证或账户恢复凭据的做法,不针对客服在电话中用来辅助核对身份的一般提问。它之所以是反模式,不在于"问题选得不好"——换一批问题解决不了根本矛盾:答案越容易记住就越容易被别人查到,越难查到就越容易被本人忘记。因此本词条不给出"更好的问题清单",那只是把同一个问题挪个位置。这是一条警示条目,不作为设计选用建议。

什么时候考虑它

  • 审查现有登录与账户恢复流程中还残留哪些知识型问题
  • 评估某个供应商提供的身份验证方案是否仍依赖这一机制

什么时候慎用

  • 作为新建产品的认证或账户恢复手段
  • 用"换一批更难猜的问题"来解决,问题的结构并未改变

取舍

修复的方向是把恢复路径换成基于持有物的方式——发送到已验证邮箱或手机号的一次性验证码、恢复码、通行密钥或身份提供方;仍需保留人工恢复时,把它交给有记录、可审计的人工流程,而不是交给一道任何人都能在社交媒体上查到答案的问题。

条件规则 · 编辑建议

当现有产品仍在用安全问题作为认证或恢复手段必须把它从认证路径中移除,改用基于持有物的恢复方式,并一并删除已保存的答案。
当合规或供应商要求短期内无法移除它建议不要把它当作独立因素使用,并明确告知用户这些答案会被保存以及保存多久。

相关词条

单点登录 ↗条件替代 · 产品需要一条账户恢复或再次认证的路径

把认证与恢复交回身份提供方,比让每个产品各自维护一组可猜测的问题更可靠,也更容易集中撤销。

错误预防 ↗可能误用为 · 安全问题被当作"多一道保险"来推销

它看起来像是增加了一层防护,实际上多开了一条更弱的入口——账户的安全性由最弱的那条路径决定。

隐私保护设计 ↗条件冲突 · 产品为此长期保存用户的生平事实

这些答案本身就是敏感个人数据,一旦泄露无法更换——用户换不了自己的出生地或母亲的姓氏。

来源与支持范围

NIST SP 800-63B-4 · Digital Identity Guidelines: Authentication and Authenticator Management ↗

该指南明确规定:"验证方与凭据服务提供方在用户选择密码时不得(SHALL NOT)要求其使用知识型验证(KBA,例如“你的第一只宠物叫什么名字?”)或安全问题。"此外,该文件为 AAL1 列出的可用认证方式包括密码、查找式秘密、带外设备、单因素与多因素一次性密码、单因素与多因素密码学认证,其中并不包含知识型验证。本词条据此说明现行指南对这一做法的态度,其中"不得"一条的适用范围按原文限定在选择密码的情形。

检索日期:2026-09-16 · 快照待确认
Wikipedia · Security question ↗

该条目把安全问题描述为一种被用作认证器的共享秘密,并记录了对它的批评:把问题放到线上使用后,它们暴露于击键记录、暴力猜测与钓鱼;计算机不像人工客服那样能容忍不精确的答案,用户必须记住确切的拼写甚至大小写,因而更可能把答案写下来;文中还引用 Bruce Schneier 的观点——由于这些是关于个人的公开事实,对攻击者而言比密码更容易猜到,而知道这一点的用户会编造假答案,随后又把假答案忘记,从而使这一机制失去意义并徒增不便。本词条的"两难"表述据此转述。

检索日期:2026-09-16 · 存档于 2026-09-22

定义参考以上来源;数字界面示例、选择建议、条件关系及配方由本样例编辑,尚未经用户研究验证。

类型扩展与实现说明

本词条是警示条目,不作为设计选用建议;插画为编辑示意,其中的问题与答案均为虚构,不代表任何真实产品的界面。审查现有产品时,须同时检查客服人工流程是否仍以同一组答案作为核身依据。

{
  "harm": "用一条更容易被查到或被遗忘的路径绕过密码,使账户实际安全性下降,同时长期保存无法更换的个人事实",
  "repair": "改用发送到已验证渠道的一次性验证码、恢复码、通行密钥或身份提供方;确需人工恢复时走有记录、可审计的流程,并删除已保存的问答。"
}
完整 Agent 条目 JSON
{
  "id": "security-questions",
  "type": "anti",
  "name": {
    "zh": "安全问题",
    "en": "Security Questions"
  },
  "aliases": [
    "Knowledge-Based Authentication",
    "KBA",
    "密保问题",
    "知识型验证"
  ],
  "granularity": "flow",
  "intents": [
    "audit-choice",
    "prevent-error"
  ],
  "tags": [
    "反模式",
    "身份验证",
    "账户恢复",
    "共享秘密",
    "可猜测"
  ],
  "definition": "把\"母亲的姓氏\"\"第一只宠物的名字\"这类关于个人生平的问题当作认证凭据:用户注册时作答,日后凭答案登录或找回账户。它被当作密码的补充,实际上是一个更弱的密码。",
  "boundary": "本词条针对的是把知识型问题当作认证或账户恢复凭据的做法,不针对客服在电话中用来辅助核对身份的一般提问。它之所以是反模式,不在于\"问题选得不好\"——换一批问题解决不了根本矛盾:答案越容易记住就越容易被别人查到,越难查到就越容易被本人忘记。因此本词条不给出\"更好的问题清单\",那只是把同一个问题挪个位置。这是一条警示条目,不作为设计选用建议。",
  "signature": [
    "注册时要求从固定清单中选择问题并作答",
    "答案是关于个人生平的事实,而不是用户自己生成的秘密",
    "答案被用来绕过密码,成为账户的另一条入口"
  ],
  "when": [
    "审查现有登录与账户恢复流程中还残留哪些知识型问题",
    "评估某个供应商提供的身份验证方案是否仍依赖这一机制"
  ],
  "when_not": [
    "作为新建产品的认证或账户恢复手段",
    "用\"换一批更难猜的问题\"来解决,问题的结构并未改变"
  ],
  "tradeoff": "修复的方向是把恢复路径换成基于持有物的方式——发送到已验证邮箱或手机号的一次性验证码、恢复码、通行密钥或身份提供方;仍需保留人工恢复时,把它交给有记录、可审计的人工流程,而不是交给一道任何人都能在社交媒体上查到答案的问题。",
  "comparison": {
    "focus": "用个人生平事实充当认证凭据",
    "mechanism": "注册时作答,日后凭答案绕过密码",
    "cost": "易记的答案可被查到,难查的答案本人会忘"
  },
  "sources": [
    {
      "id": "securityq-nist-63b",
      "title": "NIST SP 800-63B-4 · Digital Identity Guidelines: Authentication and Authenticator Management",
      "url": "https://pages.nist.gov/800-63-4/sp800-63b.html",
      "claim": "该指南明确规定:\"验证方与凭据服务提供方在用户选择密码时不得(SHALL NOT)要求其使用知识型验证(KBA,例如“你的第一只宠物叫什么名字?”)或安全问题。\"此外,该文件为 AAL1 列出的可用认证方式包括密码、查找式秘密、带外设备、单因素与多因素一次性密码、单因素与多因素密码学认证,其中并不包含知识型验证。本词条据此说明现行指南对这一做法的态度,其中\"不得\"一条的适用范围按原文限定在选择密码的情形。",
      "checkedAt": "2026-09-16",
      "archive": {
        "lookupUrl": "https://web.archive.org/web/20260916*/https://pages.nist.gov/800-63-4/sp800-63b.html",
        "status": "pending",
        "checkedAt": "2026-09-16T17:41:39.282Z",
        "error": "status-request-failed",
        "jobId": "spn2-ccdd5ba23b7cae0e10267de60c13f2fb412e4dab"
      }
    },
    {
      "id": "securityq-wikipedia",
      "title": "Wikipedia · Security question",
      "url": "https://en.wikipedia.org/wiki/Security_question",
      "claim": "该条目把安全问题描述为一种被用作认证器的共享秘密,并记录了对它的批评:把问题放到线上使用后,它们暴露于击键记录、暴力猜测与钓鱼;计算机不像人工客服那样能容忍不精确的答案,用户必须记住确切的拼写甚至大小写,因而更可能把答案写下来;文中还引用 Bruce Schneier 的观点——由于这些是关于个人的公开事实,对攻击者而言比密码更容易猜到,而知道这一点的用户会编造假答案,随后又把假答案忘记,从而使这一机制失去意义并徒增不便。本词条的\"两难\"表述据此转述。",
      "checkedAt": "2026-09-16",
      "archive": {
        "lookupUrl": "https://web.archive.org/web/20260916*/https://en.wikipedia.org/wiki/Security_question",
        "status": "available",
        "checkedAt": "2026-09-22T11:58:11.418Z",
        "jobId": "spn2-24d73cacfa84a72e78abdfaa2bcd6273376b01e2",
        "url": "https://web.archive.org/web/20260922115835/https://en.wikipedia.org/wiki/Security_question",
        "timestamp": "20260922115835"
      }
    }
  ],
  "relations": [
    {
      "target": "single-sign-on",
      "kind": "alternative",
      "condition": "产品需要一条账户恢复或再次认证的路径",
      "reason": "把认证与恢复交回身份提供方,比让每个产品各自维护一组可猜测的问题更可靠,也更容易集中撤销。",
      "basis": "editorial"
    },
    {
      "target": "error-prevention",
      "kind": "misused_as",
      "condition": "安全问题被当作\"多一道保险\"来推销",
      "reason": "它看起来像是增加了一层防护,实际上多开了一条更弱的入口——账户的安全性由最弱的那条路径决定。",
      "basis": "editorial"
    },
    {
      "target": "privacy-by-design",
      "kind": "conflicts_when",
      "condition": "产品为此长期保存用户的生平事实",
      "reason": "这些答案本身就是敏感个人数据,一旦泄露无法更换——用户换不了自己的出生地或母亲的姓氏。",
      "basis": "editorial"
    }
  ],
  "rules": [
    {
      "when": "现有产品仍在用安全问题作为认证或恢复手段",
      "instruction": "把它从认证路径中移除,改用基于持有物的恢复方式,并一并删除已保存的答案。",
      "strength": "must",
      "basis": "editorial"
    },
    {
      "when": "合规或供应商要求短期内无法移除它",
      "instruction": "不要把它当作独立因素使用,并明确告知用户这些答案会被保存以及保存多久。",
      "strength": "recommend",
      "basis": "editorial"
    }
  ],
  "anti": {
    "harm": "用一条更容易被查到或被遗忘的路径绕过密码,使账户实际安全性下降,同时长期保存无法更换的个人事实",
    "repair": "改用发送到已验证渠道的一次性验证码、恢复码、通行密钥或身份提供方;确需人工恢复时走有记录、可审计的流程,并删除已保存的问答。"
  },
  "demo": null,
  "version": "0.1.0",
  "editorialStatus": "drafted",
  "requirements": [],
  "demoCapabilities": [],
  "implementationNote": "本词条是警示条目,不作为设计选用建议;插画为编辑示意,其中的问题与答案均为虚构,不代表任何真实产品的界面。审查现有产品时,须同时检查客服人工流程是否仍以同一组答案作为核身依据。",
  "image": {
    "src": "/images/security-questions.webp",
    "alt": "一张示意图:一个虚构的注册表单列出三行下拉选择的安全问题与对应的答案输入框,右侧一个放大镜图标指向一部社交动态,表示同样的答案在公开信息中即可查到;表单下方一条灰色占位说明条被打上叉号。"
  },
  "searchTerms": [
    "anti-pattern",
    "authentication",
    "account recovery",
    "shared secret",
    "guessable"
  ]
}