modified | Thursday 1 May 2025 |
---|
13.1 安 全 和 隐 私 概 述
信 任 的 概 念 在 安 全 领 域 一 再 出 现 。 目
前 考 虑 三 类 违 反 信 任 的 行 为 :
皿 _ 菊 意 “ 例 子 包 括 索 尼 BMC 在 客
户 计 算 机 上 安 装 的 2005 rootkit
( 绕 过 保 护 的 软 件 集 合 ) , 以 双 几
年 前 联 想 笔 记 本 电 脑 上 弹 出 的 广 告
传 递 恶 意 软 件 ( malware ) 。 这 些
不 是 用 户 意 外 安 装 的 程 序 , 而 是 由
计 算 机 供 应 商 安 装 的 。
皿 “ 不 合 格 “ 例 子 包 括 未 加 密 的 无
线 胎 压 传 感 器 , 它 使 你 的 汽 车 有 可
能 或 为 攻 击 目 标 , 新 版 美 国 护 照 中
的 未 加 密 RFID 标 签 可 以 很 宰 易 地 检
测 出 携 带 者 身 份 , 或 者 正 在 讨 论 的
拟 议 车 辆 对 车 辆 通 信 林 准 将 使 车 辆
成 为 不 良 信 息 的 目 标 。 攻 击 者 已 经
找 到 了 一 种 无 须 知 道 管 理 员 密 码 就
1064 11353
13.1 安 全 和 隐 私 概 述
可 以 访 问 和 更 改 大 量 Wi-Fi 路 由 器
中 的 设 置 的 方 法 。 在 极 其 危 险 的 类
别 中 , 西 门 子 在 其 一 些 工 业 控 制 系
统 中 加 入 了 一 个 硬 编 码 密 码 , 这 意
味 着 任 何 拥 有 该 密 码 的 人 都 可 以 访
问 被 认 为 安 全 的 设 备 。 在 思 科 的 一
些 产 品 中 也 发 现 了 一 个 硬 编 码 密
码 。 这 今 为 止 , 最 大 的 DDoS5 攻 击
( 稍 后 讨 论 ) 是 杭 州 雄 迈 公 司 的 物
联 网 设 备 的 默 认 密 码 。 这 些 可 悲 的
事 件 都 让 人 回 想 起 与 “ 模 糊 安 全 “
思 维 模 式 相 结 合 的 “ 什 么 可 能 出 问
题 “ 威 胁 模 型 ( 稍 后 将 详 细 介
绍 ) 。
皿 _ 不 真 诚 “ 就 是 人 们 直 截 了 当 地
撒 谎 。 我 将 在 13.1.7 节 中 更 多 地 讨
论 这 个 问 题 。 一 个 很 好 的 例 子 是
美 国 国 家 标 准 与 技 术 研 究 所 ( N15
106511353
13.1 安 全 和 隐 私 概 述
T ) 在 美 国 国 家 安 全 局 ( N5A )
“ 专 家 “ 的 协 助 下 制 定 加 密 标 准 。
事 实 证 明 ,NSA 的 专 家 故 意 削 弱 了
标 准 , 而 不 是 加 强 了 标 准 。 这 让 他
们 更 宰 易 暗 中 监 视 , 同 时 也 让 别 人
更 家 易 破 解 你 的 银 行 账 户 。 违 反 信
任 的 栾 例 是 如 此 普 道 , 以 至 于 盗 用
( kleptography ) 一 词 被 创 造 出 来
用 于 描 述 对 手 秘 密 而 安 全 地 窃 取 俘
息 这 类 侵 犯 。
短 语 security by “obscurity ( 隐 匿 的
安 全 ) 是 用 来 分 类 声 称 事 物 是 安 全
的 , 因 为 秘 密 武 器 就 是 秘 密 。 事 实 一
再 证 明 不 是 这 样 。 事 实 上 , 更 好 的 安
全 性 来 自 逢 明 性 (transparency) 和
开 放 性 (openness) 。 当 尽 可 能 多 的
人 了 解 所 使 用 的 安 全 方 法 时 , 就 会 促
进 对 缺 陷 的 讨 论 和 发 现 。 历 史 告 诉 我
1066 11353
13.1 安 全 和 隐 私 概 逊
合 理 给 出 定 义 , 可 能 是 因 为 当 时 理 智
的 人 理 解 巳 。 请 注 意 , 这 项 修 正 案 贿
予 人 民 安 全 , 而 不 是 整 个 民 治 、 民
享 的 国 家 。
问 题 的 核 心 是 , 政 府 保 护 人 民 的 责 任
是 否 比 这 些 人 的 权 利 更 强 大 。
大 多 数 人 在 知 道 有 人 保 护 自 己 安 全 的
情 况 下 都 会 放 松 下 来 。 我 们 可 以 把 巴
看 作 一 种 社 会 契 约 。 不 幸 的 是 , 这 种
社 会 契 约 已 经 被 违 反 信 任 的 行 为 破 坏
于 。
有 一 种 俯 见 , 完 全 没 有 事 实 根 据 , 即
执 政 者 比 其 他 人 更 好 或 更 诚 实 。
执 政 者 充 其 量 像 外 面 随 处 可 见 的 人 ,
有 的 是 好 人 , 有 的 是 坏 人 。 执 法 人 员
犯 罪 的 证 据 已 经 够 多 了 。 一 个 使 这 种
情 况 加 重 的 原 因 是 保 密 性 。 缺 乏 监 督
1085 1 1353
13.1 安 全 和 隐 私 概 述
和 问 责 的 职 位 往 往 会 坏 人 聚 集 , 这 就
是 为 什 么 透 明 和 开 放 的 理 念 是 艮 好 信
任 模 型 的 基 础 。 例 如 , 作 为 20 世 纪 60
年 代 精 神 控 制 实 验 的 一 部 分 , 美 国 中
情 局 非 法 给 一 些 男 子 服 用 LSD 并 观 察
他 们 的 反 应 。 这 个 被 称 为 MKUItra 的
项 目 没 有 受 到 任 何 监 督 , 导 致 至 少 一
名 不 知 情 的 受 试 者 死 人 。 MKUItra
被 关 停 后 , 特 工 George White 说 :
“ 除 了 这 里 , 还 有 什 么 地 方 能 让 一 个
热 血 沸 腾 的 美 国 男 孝 在 上 帝 的 准 许 和
祝 福 下 撒 谎 、 杀 人 、 欺 骗 、 偷 窃 、 强
奸 和 抢 劫 呢 ?“ 在 J、Edgar Hoover 领
导 下 的 联 邦 调 查 局 (FBlI) , 有 过 相 当
多 的 滥 用 政 治 职 权 的 历 史 一 一 不 仅 是
出 于 政 治 目 的 进 行 间 谍 活 动 , 还 积 极
破 坏 感 知 到 的 敌 方 活 动 。
最 近 曝 光 了 越 来 越 多 的 滥 用 信 任 行
1086 1 1353
13.1 安 全 和 隐 私 概 述
为 , 考 虑 到 保 密 和 缺 尹 监 督 , 被 曝 出
的 可 能 只 是 实 际 上 滥 用 信 任 事 件 的 一
小 部 分 。 与 本 章 最 相 关 的 是 爱 德 华 . 斯
诺 登 (Edward Snowden) 曾 揭 露 的
非 法 政 府 监 祈 。
没 有 监 督 , 很 难 判 断 政 府 的 保 密 到 底
是 在 掩 盖 非 法 活 动 , 还 是 仅 仅 是 无
能 。 早 在 1998 年 , 美 国 政 府 就 鼓 励 使
用 一 种 称 为 数 据 加 密 标 准 (DES) 的
加 密 方 案 。 电 子 前 沿 基 金 会 (Electro
nic Frontier Foundation, EFF) 花 了
大 约 25 万 美 元 ( 远 低 于 美 国 国 家 安 全
局 的 预 算 ) 建 造 了 一 台 名 为 深 裂 的
机 器 , 破 译 了 DES 代 码 。 他 们 这 样 做
的 部 分 原 因 是 为 了 指 出 要 么 机 构 专 家
不 称 职 , 要 么 这 些 专 家 在 算 法 的 安 全
性 上 撒 了 谎 。EFF 试 图 揭 露 为 方 便 美
国 间 谍 而 犯 下 的 违 反 信 任 的 行 为 。
1087 / 1353
13.1 安 全 和 隐 私 概 述
EFF 在 某 种 程 度 上 起 了 作 用 , 虫 然 平
没 有 改 变 那 些 机 构 专 家 的 行 为 , 但 它
确 实 促 进 了 取 代 DES 的 高 级 加 密 标 准
的 发 展 。
违 反 信 任 有 国 际 影 响 。 人 们 不 愿 购 买
会 使 安 全 性 受 损 的 产 品 。 外 包 这 一 商
业 模 式 也 带 来 了 威 胁 。 你 的 国 家 可 能
有 法 律 保 护 你 的 信 息 , 但 其 他 地 方 的
人 可 能 有 权 访 问 这 些 数 据 。 曾 经 有 过
出 售 外 包 数 据 的 栾 例 。 最 近 有 迹 象 表
明 , 外 界 获 取 的 个 人 数 据 已 被 用 于 干
预 政 治 进 程 , 这 可 能 意 味 着 威 斯 特
伐 利 亚 主 权 的 终 结 。
违 反 信 任 也 会 影 响 自 由 。 当 人 们 在 线
上 开 会 或 交 流 时 会 害 怕 被 跟 踪 , 或 进
行 自 我 审 查 时 , 就 会 产 生 寒 蝉 效
应 “ 。 有 大 量 的 历 史 证 据 表 明 , 寒 蝉
1088 1 1353
13.1 安 全 和 隐 私 概 述
途 ? 当 你 走 在 能 认 出 你 脸 的 商 店 前
时 , 你 会 不 会 开 始 收 到 有 针 对 性 的 广
告 ? 第 三 , 塑 料 指 纹 和 假 视 网 膜 , 这
些 是 在 科 幻 电 影 中 出 现 过 的 , 已 经 在
现 实 生 活 中 被 证 实 : 生 物 特 征 数 据 比
密 码 更 容 易 伪 造 。
13.1.8 身 份 验 证 与 授 权
我 已 经 提 到 了 身 份 验 证 和 授 权 。 身 份
验 证 是 证 明 某 人 或 标 物 是 人 所 声 称 的
那 样 。 授 权 是 限 制 对 某 些 东 西 的 访
问 , 除 非 提 供 了 适 当 的 凭 证 “。
授 权 可 以 说 是 两 者 中 比 较 容 易 实 现 的
一 种 功 能 ; 它 需 要 正 确 设 计 和 实 现 的
硬 件 与 软 件 。 身 份 验 证 要 复 杂 得 多 。
一 个 软 件 怎 么 能 分 辨 出 是 你 输 入 了 密
1090 11353
13.1 安 全 和 隐 私 概 述
码 还 是 别 人 输 入 的 ?
双 因 素 身 份 验 证 (2FA) 现 在 可 用 于
许 多 系 统 。 一 个 因 素 是 一 个 独 立 的 核
查 手 段 。 这 些 因 素 包 括 你 特 有 的 东 西
( 比 如 指 纹 ) 、 你 拥 有 的 东 西 ( 比 如
手 机 ) , 以 及 你 知 道 的 东 西 ( 比 如 密
码 或 个 人 识 别 码 ) 。 因 此 , 双 因 素 身
份 验 证 使 用 其 中 两 个 因 素 。 例 如 , 使
用 帝 有 PIN 码 的 银 行 卡 张 输 入 一 个 手
机 验 证 码 提 供 一 次 性 代 码 验 证 服 务 。
其 中 一 些 系 统 比 其 他 系 统 工 作 得 更
好 。 显 然 , 向 其 他 人 可 以 访 问 的 手 机
发 送 消 息 是 不 安 全 的 。 部 分 手 机 基 础
设 施 使 得 依 赖 2FA 很 危 险 。 攻 击 者 可
以 使 用 你 的 电 子 邮 件 地 址 和 其 他 容 易
获 得 的 信 息 将 你 的 电 话 号 码 移 植 到 他
们 控 制 的 手 机 SIM 卡 上 。 这 不 仅 让 他
们 可 以 访 问 你 的 数 据 , 而 且 还 让 你 不
109111353
13.1 安 全 和 隐 私 概 述
能 访 问 你 的 账 户 。
1092 1 1353
_13.2 密 码 学
正 如 我 前 面 提 到 的 , 密 码 学 允 许 发 送
者 对 通 信 进 行 加 密 , 以 便 只 有 指 定 的
接 收 者 才 能 解 密 乙 。 当 你 从 银 行 账 尸
取 钱 时 , 这 一 点 就 非 常 重 要 了 , 你 不
希 望 别 人 也 能 这 么 做 。
然 而 , 加 密 技 术 不 仅 仅 对 隐 私 和 安 全
很 重 要 。 加 密 签 名 允 讯 人 们 证 明 数 据
的 真 实 性 。 过 去 , 如 果 对 信 息 来 源 有
疑 问 , 可 以 查 阅 实 物 原 件 。 文 档 、 音
频 、 视 频 等 通 常 不 存 在 这 些 实 物 原
件 , 因 为 这 些 都 是 在 计 算 机 上 创 建
的 , 从 未 被 简 化 为 物 理 形 式 。 加 密 技
术 可 以 用 来 防 止 和 检 测 伪 造 。
1093 11353
13.2 密 码 学
不 过 , 光 靠 加 密 技 术 并 不 能 把 你 的 城
堡 变 成 一 座 强 大 的 堡 垒 。 密 码 只 是 安
全 系 统 的 一 部 分 , 所 有 部 分 都 很 重
要 。
13.2.1 隐 与 术
把 一 件 事 藏 在 另 一 件 事 里 的 技 术 叫 作
飒 写 术 。 隐 写 术 是 交 流 秘 密 的 好 方
法 , 因 为 发 送 者 和 接 收 者 之 间 没 有 可
追 踪 的 联 系 。 隐 写 术 以 前 是 通 过 报 纸
分 类 广 告 来 实 现 的 , 但 现 在 通 过 网 络
实 现 更 便 捷 , 因 为 几 乎 有 无 限 多 的 位
置 可 以 发 布 信 息 。
隐 写 术 在 技 术 上 不 是 密 码 学 , 但 它 对
我 们 的 目 的 来 说 已 经 足 够 了 。 请 看 图
13-1。 左 边 是 鸭 子 先 生 和 托 尼 猫 的 照
1094 1 1353
13.2 密 码 学
出 处 。 这 种 用 法 类 似 于 纸 张 上 的 水
印 。
几 乎 每 台 计 算 机 打 印 机 都 使 用 隐 写
术 。EFF 收 到 了 一 份 回 应 美 国 《 信 息
自 由 法 》 要 求 的 文 件 , 该 文 件 表 明 政
府 和 制 造 商 之 间 存 在 一 项 秘 密 协 议 ,
以 确 保 所 有 印 刷 文 件 都 是 可 追 踪 的 。
例 如 , 彩 色 打 印 机 会 在 每 一 页 上 添 加
一 些 黄 色 的 小 点 来 编 码 打 印 机 的 序 列
号 。EFF 分 发 了 特 殊 的 LED 手 电 简 ,
可 以 用 来 找 到 这 些 黄 色 的 小 点 。 以 上
的 行 为 可 能 被 认 为 是 对 隐 私 的 侵 犯 。
13.2.2 “ 替 代 密 码
如 果 你 有 一 个 秘 密 解 码 器 环 , 它 可 能
实 现 了 兼 代 密 码 。 秘 密 解 码 环 的 思 想
1098 1 1353
13.2 密 码 学
出 处 。 这 种 用 法 类 似 于 纸 张 上 的 水
印 。
几 乎 每 台 计 算 机 打 印 机 都 使 用 隐 写
术 。EFF 收 到 了 一 份 回 应 美 国 《 信 息
自 由 法 》 要 求 的 文 件 , 该 文 件 表 明 政
府 和 制 造 商 之 间 存 在 一 项 秘 密 协 议 ,
以 确 保 所 有 印 刷 文 件 都 是 可 追 踪 的 。
例 如 , 彩 色 打 印 机 会 在 每 一 页 上 添 加
一 些 黄 色 的 小 点 来 编 码 打 印 机 的 序 列
号 。EFF 分 发 了 特 殊 的 LED 手 电 简 ,
可 以 用 来 找 到 这 些 黄 色 的 小 点 。 以 上
的 行 为 可 能 被 认 为 是 对 隐 私 的 侵 犯 。
13.2.2 “ 替 代 密 码
如 果 你 有 一 个 秘 密 解 码 器 环 , 它 可 能
实 现 了 兼 代 密 码 。 秘 密 解 码 环 的 思 想
1098 1 1353
13.2 密 码 学
非 常 简 单 : 构 建 一 个 将 每 个 字 符 映 射
到 另 一 个 字 符 的 表 , 如 图 13-2 所 示 。
通 过 将 每 个 原 始 字 符 替 换 为 表 中 的 对
应 字 符 来 加 密 消 息 , 并 通 过 相 反 的 操
作 进 行 解 密 。 原 始 消 息 称 为 明 文 , 加
密 版 本 称 为 密 文 。
]
回 固 四 四 团 网 团 回 团 凶 团 囡 四 团 囚 回 四 四 团 回 皿 团 四 固 面 西
图 13-2 “ 曾 代 密 码
这 些 密 码 将 c 映 射 到 a,r 映 射 到 t,y 映
射 到 j , 以 此 类 推 , 因 此 单 词
cr y pto gra p h y 将 被 加 密 为
atjgvketqgnj。 反 向 映 射 (a 到 c,t 到
r, 等 等 ) 解 密 密 文 。 这 些 密 码 被 称 为
对 称 码 , 因 为 使 用 同 一 个 密 码 用 于 对
消 息 进 行 编 码 和 解 码 。
1099 1 1353
13.2 密 码 学
为 什 么 使 用 对 称 码 不 是 个 好 主 意 ? 因
为 利 用 统 计 学 的 知 识 就 很 容 易 破 解 替
代 密 码 。 人 们 分 析 了 字 母 在 语 言 中 的
使 用 频 率 。 例 如 , 在 英 语 中 , 最 常 见
的 五 个 字 母 是 e、t、a、o、n。 破 解
一 个 替 代 密 码 需 要 找 到 密 文 中 最 常 见
的 字 母 , 并 且 猜 测 这 个 字 母 为 e。 一
旦 猜 对 了 几 个 字 母 , 就 很 容 易 破 译 出
一 些 单 词 。 让 我 们 以 列 表 13-1 中 的 明
文 段 落 为 例 , 我 们 将 使 其 全 部 小 与 ,
并 删 除 标 点 符 号 以 保 持 筒 洁 。
列 表 13-1 “ 明 文 示 例
刀 e 一 标 0 e 国 I
下 面 是 使 用 图 13-2 的 密 码 表 加 密 后 的
密 文 :
1100 11353
13.2 密 码 学
| 口 工 3 二 | _
列 表 13-2 显 示 了 经 过 加 密 后 的 段 落 中
字 母 的 分 布 情 况 。 列 表 13-2 按 孙 母 频
率 排 序 , 最 常 出 现 的 字 母 在 最 上 面 。
列 表 13-~-2 词 频 分 析
密 码 破 译 者 可 以 利 用 如 上 分 析 猜 测 出
密 文 中 的 字 母 z 对 应 于 明 文 中 的 字 母
e, 因 为 密 文 中 的 字 母 z 比 任 何 其 他 字
母 出 现 频 率 都 多 。 继 续 沿 着 这 个 思
路 , 我 们 还 可 以 猜 测 v 代 表 t,q 代 表
11011 1353
13.2 密 码 学
a, k 代 表 o6,x 代 表 n。 让 我 们 用 大 与
字 母 来 替 换 猜 测 出 的 字 母 , 这 样 就 可
以 把 已 们 分 开 了 。
__〕`藿′宣趸薯扇e…薯菖蓄菖 技 明 怀 余 e 余 e 国 l
我 们 可 以 根 据 英 语 常 识 做 一 些 简 单 的
猜 测 。 很 少 有 三 个 字 母 的 单 词 以 t 开 头
以 e 结 尾 ,the 是 符 合 这 个 条 件 的 单 词
里 最 常 见 的 , 所 以 让 我 们 猜 测 n 代 表
h。Linux 系 统 很 容 易 查 找 出 这 样 条 件
的 单 词 , 因 为 linux 有 一 个 单 词 字 典 和
一 个 模 式 匹 配 工 具 ; grep“^t.e$,/usry/
share/dict/words 查 找 所 有 以 t 开 头 、
以 e 结 尾 的 三 个 字 母 的 单 词 。 而 且 ,
cEET cE 中 的 c 只 有 一 个 能 使 语 法 正 确
的 选 择 , 即 m。
| n 仪 余 e _ _
1102 1 1353
13.2 密 码 学
只 有 四 个 单 词 与 o 口 en 相 匹 配 :
omen、open、oven 和 oxen; 只 有
open 在 上 下 文 中 有 意 义 , 所 以 g 必 须
是 p。 同 样 , 使 open 口 ate 唯 一 有 意 义
的 单 词 是 gate, 所 以 e 必 须 是 g。 以 o
开 头 的 两 字 母 的 单 词 只 有 of 一 个 , 所
以 w 必 须 是 f。j 必 须 是 y, 因 为 and 和
ant 放 到 文 中 无 意 义 ,any 才 有 意 义 。
| n Dneppofott 传 吴 倩 应 M 0 E fT 目 _
我 们 不 需 要 解 码 全 部 信 息 , 统 计 学 和
语 言 知 识 就 可 以 帮 我 们 轻 松 解 码 。 到
目 前 为 止 , 我 们 只 使 用 了 简 单 的 方
法 。 我 们 也 可 以 使 用 普 通 字 母 对 的 知
识 , 如 th、er、on 和 an, 称 为 有 向
图 。 有 针 对 ss 这 种 最 常 见 的 双 字 母 的
统 计 学 方 法 , 还 有 很 多 技 巧 。
1103 / 1353
13.2 密 码 学
如 你 所 见 , 简 单 的 替 代 密 码 很 有 趣 ,
但 忆 并 不 十 分 安 全 。
13.2.3 换 位 密 码
另 一 种 加 密 的 方 法 是 对 字 符 的 位 置 进
行 编 码 。 据 说 希 腊 人 使 用 过 一 种 古 老
的 换 位 密 码 系 统 是 scytale。 挨 位 密 码
系 统 听 起 来 高 大 上 , 但 其 实 人 只 利 用
了 一 根 缠 着 丝 带 的 木 棍 。 信 息 沿 着 木
棍 不 在 缠 绕 在 木 棍 的 丝 带 上 。 额 外 增
加 的 虚 拟 消 息 另 起 一 行 与 在 丝 带 上 。
于 是 这 根 木 棍 包 含 了 一 组 随 机 出 现 的
字 符 。 解 码 信 息 需 要 收 件 人 将 丝 帝 缠
绕 在 一 根 直 径 与 编 码 棍 相 同 的 棍 子
上 。
我 们 可 以 通 过 在 一 个 特 定 大 小 的 网 格
1104 1 1353
13.2 密 码 学
中 写 一 条 消 息 来 轻 松 生 成 一 个 换 位 密
码 , 网 格 的 大 小 就 是 密 码 。 例 如 , 让
我 们 把 列 表 13-1 中 的 明 文 去 掉 空 格 写
在 11 列 的 网 格 上 , 如 图 13-3 所 示 。 我
们 将 用 斜 体 孙 填 充 在 下 面 的 空 白 处 。
为 了 生 成 底 部 显 示 的 密 文 , 我 们 向 下
读 取 列 而 不 是 跨 行 读 取 。
E E e e
| 吊 刑 | 吊 吴 | 吊 吴 | 吊 吴 | 吉 吴 | 命 吴 | 吴 吾 | 吊 吴 | 吊 刑 | 呆 创 | 耿
| l z | 一 | | 1 | | | 1
L | s | | 。 | a 1 | 。 | | e | | 1
| 吊 | 国 | 医 刹 | 医 玲 肖 园 肖 班 酒 刑 医 刹 医 国 医 刹 | 匹 刀
| 命 刃 | 吊 吊 | 吊 吊 | 吴 口 | 吊 刃 | 吊 吊 | 口 | 吴 咤 | 口 l
| 团 吊 | 医 刹 团 刹 医 刹 | 刑 | 不 刹 | 团 四 | 医 刹 匹 切 区 刻 医 四
图 13-3 换 位 密 码 格
换 位 密 码 中 的 字 母 出 现 的 频 率 与 明 文
中 字 母 出 现 的 频 率 相 同 , 但 这 点 在 这
里 并 没 有 多 大 帮 助 , 因 为 单 词 中 孙 母
的 顺 序 也 是 乱 序 的 。 然 而 , 像 这 样 的
1105 11353
13.2 密 码 学
密 码 仍 然 很 容 易 被 破 译 , 特 别 是 现 在
计 算 机 可 以 尝 试 不 同 的 网 格 大 小 。
13.2.4 “ 更 复 权 的 密 码
有 无 数 种 更 复 杂 的 密 码 , 它 们 是 替 代
密 码 、 换 位 密 码 或 两 者 的 组 合 。 常 见
的 做 法 是 将 字 母 转 换 成 数 字 值 , 然 后
在 对 数 字 执 行 一 些 数 学 运 算 后 将 数 字
转 换 回 字 母 。 添 加 了 一 些 代 码 包 括 额
外 的 数 字 表 , 以 使 字 母 频 率 分 析 失 去
效 果 。
在 第 二 次 世 界 大 战 期 间 与 破 译 密 码 有
关 的 历 史 令 人 着 迷 。 当 时 破 译 密 码 的
方 法 之 一 是 监 听 无 线 电 传 送 的 信 息 。
这 些 截 获 的 情 报 在 被 详 尽 地 统 计 分 析
后 , 最 终 被 破 译 。 人 类 识 别 模 式 的 能
1106 11353
13.2 密 码 学
力 是 能 否 破 译 密 码 的 一 个 关 键 因 素 ,
一 些 巧 妙 的 诡 计 也 是 一 个 关 键 因 素 。
从 已 知 事 件 的 信 息 中 也 能 找 到 线 索 。
美 国 在 中 途 岛 海 战 中 取 得 了 重 大 胜
利 , 因 为 他 们 知 道 日 本 人 将 要 发 动 进
攻 , 只 是 不 知 道 日 本 人 将 对 哪 里 进
攻 。 美 国 人 破 译 了 密 码 , 但 日 本 人 使
用 代 号 AF 作 为 进 攻 目 标 。 美 国 人 安 排
了 从 中 途 岛 发 出 一 条 信 息 , 他 们 知 道
会 被 日 本 人 拦 截 , 信 息 说 岛 上 缺 乏 淡
水 。 很 快 , 日 本 人 用 他 们 的 密 码 重 新
发 送 了 这 条 信 息 , 于 是 美 方 确 认 了 AF
代 表 中 途 岛 。
密 码 的 复 杂 性 受 限 于 人 类 速 度 。 虽 然
在 美 国 有 一 些 穿 孔 卡 片 制 表 机 来 帮 助
破 译 代 码 , 但 这 是 在 计 算 机 时 代 之 前
的 情 况 。 那 时 代 码 必 须 是 简 单 的 , 以
1107/1353
13.2 密 码 学
便 消 息 能 很 快 被 编 码 和 解 码 。
13.2.5 “ 一 次 一 密
最 安 全 的 加 密 方 法 被 称 为 一 次 一 密 ,
可 以 追 溯 到 美 国 密 码 学 家 Frank Miller
(1842 一 1925) 在 1882 年 的 研 究 成
果 。 一 次 一 密 是 一 组 唯 一 的 替 代 密
码 , 每 个 密 码 只 使 用 一 次 。 一 次 一 密
这 个 名 字 来 源 于 密 码 印 在 纸 上 的 方
式 , 一 旦 上 面 的 密 码 用 完 就 可 以 被 移
除 。
假 设 我 们 想 对 之 前 的 消 息 进 行 编 码 。
我 们 从 笔 记 本 上 获 取 一 个 类 似 于 列 表
13-3 的 页 面 。
列 表 13-3 “ 一 次 一 密
1108 1 1353
13.2 密 码 学
一 ss 一
它 的 工 作 原 理 是 将 原 始 消 息 中 的 每 个
字 母 转 换 为 1 到 26 之 间 的 一 个 数 字 ,
就 像 一 次 一 密 中 每 个 对 应 的 字 母 一
样 。 这 些 值 是 用 26 进 制 算 术 相 加 的 。
例 如 , 消 息 中 的 第 一 个 字 母 是 T, 它
的 值 为 20。 它 与 一 次 一 密 中 的 第 一 个
字 母 配 对 , 即 与 F 配 对 , 值 为 6。T 和 F
加 在 一 起 , 值 为 26, 因 此 编 码 字 母 为
Z。 同 样 , 第 二 个 字 母 H 的 值 为 8, 与
G 配 对 ,G 的 值 为 7, 因 此 编 码 字 母 为
O 〇 。 消 息 中 的 第 四 个 字 母 为 Y, 值 为
24, 与 值 为 4 的 D 配 对 , 结 果 为 28。
然 后 , 减 去 26, 余 2, 得 到 编 码 孙 母
B。 解 密 使 用 的 是 减 法 而 不 是 加 法 。
一 次 一 密 是 完 全 安 全 的 , 只 要 使 用 得
1109 11353
13.2 密 码 学
当 , 但 存 在 几 个 问 题 。 首 先 , 通 信 双
方 必 须 有 相 同 的 pad。 其 次 , 双 方 的
pad 必 须 是 同 步 的 , 乙 们 都 需 要 使 用
相 同 的 密 码 。 如 果 有 人 忘 记 掘 下 一 页
或 不 小 心 撕 下 不 止 一 页 , 通 信 就 变 得
不 可 能 了 。 最 后 ,pad 的 长 度 必 须 至
少 与 信 息 一 样 长 , 以 防 出 现 任 何 重
复 。
一 次 一 密 的 一 个 有 趣 的 应 用 是 二 战 时
期 SIGSALY 语 音 加 密 系 统 , 该 系 统 于
1943 年 投 入 使 用 。 它 使 用 存 储 在 留 声
机 记 录 上 的 一 次 一 密 来 紧 急 处 理 和 解
密 音 频 。 这 些 都 不 是 便 携 式 设 备 , 每
个 都 有 50 多 吨 重 !
13.2.6 密 钥 交 换 问 题
1110 1 1353
13.2 密 码 学
对 称 加 密 系 统 存 在 一 个 问 题 , 通 信 的
两 端 都 需 要 使 用 相 同 的 密 钥 。 你 可 以
把 一 个 一 次 一 密 寄 给 标 人 , 或 者 通 过
一 个 值 得 信 赖 的 通 讯 员 , 但 你 不 知 道
巳 是 否 在 途 中 被 截 获 并 被 复 制 了 一
份 。 如 果 丢 了 或 损 坏 了 , 密 码 也 会 失
去 作 用 。 就 像 把 房 子 的 钥 匙 寄 给 朋 友
一 样 , 无 法 知 道 是 否 有 人 在 这 一 过 程
中 又 配 了 一 把 钥 匙 。 换 句 话 说 , 密 码
很 容 易 受 到 中 间 人 的 攻 击 。
13.2.7 “ 公 钥 密 码
公 钥 密 码 解 决 了 我 们 还 今 加 止 讨 论 过
的 许 多 问 题 。 它 使 用 一 对 相 关 的 密
钥 。 已 就 像 一 座 前 门 有 邮 筒 的 房 子 。
第 一 个 蝈 钥 称 为 公 钥 , 可 以 给 任 何
1111/ 1353
13.2 密 码 学
人 , 任 何 人 都 可 以 使 用 公 钥 将 邮 件 放
入 邮 筒 中 。 但 是 只 有 你 能 用 第 二 把 钢
匙 或 称 为 私 钥 的 钥 匙 打 开 前 门 , 读 到
那 封 信 。
公 钢 密 码 体 制 是 一 种 编 码 和 解 码 密 钢
不 同 的 非 对 称 系 统 。 公 钥 密 码 体 制 解
决 了 密 钥 交 换 问 题 , 因 为 人 们 是 否 拥
有 公 钥 井 不 重 要 了 , 它 不 能 用 于 解 码
涓 息 。
公 钥 密 码 依 赖 于 陷 门 函 数 , 这 种 数 学
国 数 在 一 个 方 向 上 很 容 易 计 算 , 但 在
另 一 个 方 向 上 如 果 没 有 一 些 秘 密 信 息
的 话 就 不 容 易 计 算 。 这 个 词 源 于 这 样
一 个 事 实 : 从 活 板 门 上 捧 下 来 很 容
易 , 不 过 在 没 有 梯 子 的 情 况 下 爬 出 来
是 很 困 难 的 。 以 下 是 一 个 非 常 简 单 的
例 子 , 假 设 我 们 有 一 个 函 数 /x 。 用 x
1112 / 1353
13.2 密 码 学
计 算 y 相 当 容 易 , 但 是 通 过 x - / 用 y
计 算 x 就 比 较 困 难 了 。 并 不 是 非 常 难
因 为 这 是 一 个 简 单 的 例 子 , 但 你 可 能
已 经 发 现 乘 法 比 求 平 方 根 容 易 。 这 个
函 数 在 数 学 上 没 有 计 算 的 捷 径 , 但 是
你 可 以 考 虑 使 用 计 算 器 , 因 为 这 使 得
求 解 x 别 求 解 y 一 样 容 易 。
公 钥 密 码 的 思 想 是 将 公 钥 和 私 钥 通 过
苡 种 复 杂 的 数 学 函 数 联 系 起 来 , 以 公
钥 为 陷 门 , 私 钥 为 梯 子 , 使 得 消 息 易
于 加 密 , 但 又 难 以 解 密 。 从 较 高 层 次
看 , 这 是 使 得 密 钥 成 为 一 个 真 正 大 的
随 机 数 的 因 子 。
非 对 称 加 密 在 计 算 上 很 昂 贵 。 因 此 ,
它 通 常 只 用 于 秘 密 地 生 成 用 于 实 际 消
息 内 容 的 对 称 会 话 密 钥 。 一 种 常 见 的
方 法 是 使 用 Diffhe-HelIman 密 钥 交
1113 / 1353
13.2 密 码 学
换 , 它 以 美 国 密 码 学 家 Whitneld
Diffhe 和 Martin Hellman 的 名 字 命 名 。
Difhe 和 Hellman 在 1976 年 发 表 了 一 篇
关 于 公 钥 密 码 的 论 文 。 但 直 到 1977
年 , 非 对 称 加 密 才 实 现 , 尽 管 陷 门 出
数 的 概 念 相 对 简 单 , 但 真 正 发 明 出 一
个 这 样 的 函 数 却 非 常 困 难 。1977 年 ,
宿 码 学 家 Ron a1d _Riv e s t 在
Manischewitz 的 一 次 豪 饮 之 后 解 开 了
这 个 谜 , 这 点 倒 是 证 明 了 数 学 能 力 与
味 蕾 无 关 。Rivest 与 以 色 列 密 码 学 家
Adi Shamir 和 美 国 科 学 家 Leonard
Adleman 一 起 发 明 了 RSA 算 法 , 其 名
称 来 源 于 每 位 发 明 人 姓 氏 的 第 一 个 字
母 。 不 幸 的 是 , 在 爱 德 华 . 斯 诺 登 揭 露
的 违 反 信 任 行 为 中 ,RSA _Security 公
司 从 美 国 国 家 安 全 局 那 里 攫 取 利 益 ,
在 默 认 的 随 机 数 生 成 器 中 安 装 了 一 个
1114 / 1353
13.2 密 码 学
盗 贼 后 门 。 这 使 得 国 家 安 全 局 和 任 何
知 道 它 的 人 更 容 易 破 解 RSA 编 码 的 信
怡 :
13.2.8 “ 削 向 加 密
在 实 际 通 信 中 使 用 对 称 密 码 会 话 密 钢
存 在 一 个 问 题 , 如 果 该 密 钢 被 发 现 ,
就 可 以 读 取 所 有 信 息 。 许 多 国 家 的 政
府 都 有 记 录 和 储 存 来 往 通 信 的 技 术 能
力 。 例 如 , 如 果 你 是 一 个 人 权 活 动
家 , 那 么 你 的 安 全 取 决 于 你 的 通 信 安
全 , 你 不 想 冒 着 密 钥 匙 被 发 现 和 你 所
有 的 密 码 被 解 码 的 风 险 。
避 免 发 生 所 有 信 息 都 被 读 取 的 情 况 的
方 法 是 使 用 前 向 加 密 , 这 种 方 法 为 每
个 信 息 创 建 一 个 新 的 会 话 密 钻 。 这
1115 / 1353
13.2 密 码 学
样 , 就 算 密 钥 被 发 现 了 , 也 只 能 解 码
出 单 个 消 息 。
13.2.9 加 密 哈 希 园 数
我 们 在 第 7 章 中 讨 论 了 哈 希 团 数 , 一
种 用 于 快 速 搜 索 的 技 术 。 哈 希 闻 数 也
应 用 于 密 码 学 中 , 但 只 有 具 有 树 些 属
性 的 函 数 才 适 合 运 用 到 密 码 学 中 。 与
常 规 哈 希 闻 数 一 样 , 加 密 哈 希 囡 数 将
任 意 输 入 映 射 为 固 定 的 数 字 。 用 于 搜
索 的 哈 希 团 数 将 其 输 入 映 射 到 比 其 密
码 同 族 小 得 多 的 输 出 沱 围 , 因 为 前 者
用 作 内 存 位 置 , 后 者 仅 用 作 数 孙 。
加 密 哈 希 团 数 的 一 个 关 键 特 性 是 巳 为
单 向 函 数 。 这 意 味 着 尽 管 从 输 入 生 成
哈 希 很 容 易 , 但 是 从 哈 希 生 成 输 入 是
1116 / 1353
13.2 密 码 学
不 实 际 的 。
另 一 个 关 键 的 特 性 是 , 对 输 入 数 据 的
做 小 更 改 会 生 成 不 相 关 的 哈 希 值 。 回
到 第 7 章 , 我 们 使 用 了 一 个 对 某 个 素
数 模 的 字 符 值 求 和 的 哈 希 出 数 。 使 用
这 样 的 团 数 , 字 符 串 b 的 哈 希 值 将 比
字 符 串 a 的 哈 希 值 大 1。 加 密 的 目 的 很
容 易 被 预 测 到 。 表 13-1 显 示 了 三 个 字
余 串 ( 只 有 一 个 字 母 不 同 ) 的 SHA-1
( 安 全 哈 希 算 法 1) 哈 希 。 如 你 所
见 , 输 入 和 哈 希 值 之 间 没 有 明 显 的 关
系 。
表 13-1 腌 制 牛 肉 哈 希 码
= 一 Iocoeeoeeioeaooe 一 国
加 密 哈 希 团 数 一 定 很 难 被 欺 骝 , 给 定
1117/1 1353
13.2 密 码 学
一 个 哈 希 值 , 应 该 很 难 得 到 生 成 它 的
输 入 。 换 言 之 , 很 难 产 生 碰 撞 。 使 用
第 7 章 中 的 哈 希 算 法 ( 质 数 为 13) ,
我 们 可 以 得 到 一 个 值 为 4 的 哈 希 值 ,
作 为 Corned Beef 的 输 入 。 但 是 对 于
Tofu Jerky Tastes Weird 的 输 入 我 们
也 会 得 到 相 同 的 哈 希 值 。
长 期 以 来 ,MD5 哈 希 团 数 是 应 用 最 广
泛 的 算 法 。 但 是 在 20 世 纪 90 年 代 未 ,
人 们 发 现 了 一 种 产 生 碰 撞 的 方 法 , 你
可 以 在 7.19 节 中 看 到 这 一 点 。 不 幸 的
是 , 该 算 法 的 SHA-0 和 SHA-1 变 体 是
由 NSA 开 发 的 , 这 使 人 们 觉 得 人 们 不
可 信 。
13.2.10 “ 数 字 签 名
1118 / 1353
13.2 密 码 学
密 码 学 可 以 通 过 数 孙 签 名 来 验 证 数 据
的 真 实 性 , 乙 提 供 了 完 整 性 、 不 可 白
认 性 和 身 份 验 证 。
完 整 性 验 证 意 味 着 我 们 可 以 确 定 消 息
是 否 被 更 改 过 。 例 如 , 成 绩 单 是 列 有
班 级 和 成 绩 的 纸 质 卡 厂 , 学 子 们 需 要
把 成 绩 单 交 给 父 母 。 我 记 得 四 年 级 时
一 个 成 绩 不 好 的 同 学 给 成 绩 单 上 的
右 边 加 了 竖 线 , 变 成 了 4。 他 的 父 母
没 办 法 判 断 成 绩 信 息 是 否 被 篡 改 了 。
完 整 性 验 证 是 通 过 附 加 数 据 的 加 宥 哈
希 来 完 成 的 。 但 是 , 当 然 , 任 何 人 都
可 以 将 哈 希 值 附 加 到 消 息 中 。 为 了 防
止 这 种 情 况 发 生 , 发 送 方 使 用 其 私 钢
加 密 哈 希 , 接 收 方 可 以 使 用 相 应 的 公
钥 对 其 进 行 解 密 。 请 注 意 , 对 于 签
名 , 公 钢 和 私 钥 的 角 色 是 相 反 的 。
1119 / 1353
13.2 密 码 学
私 钥 的 使 用 提 供 了 不 可 否 认 性 和 身 份
验 证 。 不 可 否 认 性 意 味 着 发 送 方 很 难
对 用 其 私 钥 签 名 的 消 息 否 认 他 们 的 签
名 。 身 份 验 证 意 味 着 收 件 人 知 道 谁 签
署 了 消 息 , 因 为 他 们 的 公 钥 会 与 签 名
者 的 私 钥 成 对 出 现 。
13.2.11 “ 公 钥 基 础 设 施
公 钥 加 密 存 在 一 个 大 漏 洞 。 假 设 你 使
用 安 全 (HTTPS) 连 接 将 Web 浏 览 器
与 银 行 账 户 相 连 接 。 银 行 将 其 公 钥 发
到 你 的 浏 览 器 , 这 样 你 的 浏 览 器 就 可
以 加 密 你 的 数 据 , 使 得 银 行 可 以 用 私
钥 进 行 解 密 。 但 是 你 怎 么 知 道 这 个 公
钥 是 来 自 银 行 , 而 不 是 来 自 某 个 窃 听
你 通 信 的 第 三 方 ? 你 的 浏 览 器 如 何 验
1120 1 1353
13.2 密 码 学
证 该 密 钥 ? 如 果 浏 览 器 不 能 信 任 钢
匙 , 它 还 能 相 信 谁 ?
不 幸 的 是 , 这 并 没 有 一 个 很 好 的 解 决
方 案 , 但 今 天 使 用 的 是 公 钥 基 础 设 施
(PK|) 。 这 种 基 础 设 施 的 一 部 分 是
一 个 可 信 的 第 三 方 , 称 为 证 书 顾 发 机
构 (CA) , 保 证 密 钥 的 真 实 性 。 从 理
论 上 讲 ,CA 确 保 一 方 是 他 们 所 说 的 ,
并 发 布 一 个 加 密 签 名 的 文 档 , 称 为 证
书 , 可 以 用 来 验 证 他 们 的 密 钥 。 这 些
证 书 的 格 式 称 为 X.509, 这 是 由 国 际
电 信 联 盟 (ITU) 定 义 的 标 准 。
虹 然 PKI 通 常 是 有 效 的 , 但 又 回 到 了
信 任 问 题 。CA 曾 被 黑 客 入 侵 过 。CA
中 的 错 误 导 致 了 它 们 的 私 钥 被 意 外 发
布 , 使 得 任 何 人 都 有 可 能 签 署 伪 造 的
证 书 ( 幸 运 的 是 , 有 一 种 机 制 可 以 撩
112111353
13.2 密 码 学
销 证 书 ) 。 一 些 CA 被 发 现 是 不 安 全
的 , 因 为 它 们 没 有 对 请 求 证 书 的 各 方
进 行 身 份 验 证 。 人 们 可 以 合 理 地 假
设 , 政 府 相 信 他 们 有 权 强 迫 CA 生 成 伪
造 的 证 书 。
13.2.12 区 块 链
区 块 链 是 密 码 学 的 另 一 个 应 用 。 区 块
链 的 思 想 非 常 简 单 , 但 背 后 有 很 多 复
杂 的 数 学 支 持 。 与 比 特 币 和 其 他 加 密
货 币 有 关 的 区 块 链 讨 论 大 多 讨 论 的 是
区 块 链 的 应 用 , 而 不 是 它 的 工 作 原
理 。
你 可 以 把 区 块 链 看 作 一 种 管 理 分 类 账
的 机 制 , 就 像 银 行 账 户 对 账 单 一 样 。
账 单 存 在 的 一 个 问 题 是 , 它 们 很 容 易
1122 11353
13.2 密 码 学
被 修 改 , 甚 全 通 过 电 子 的 方 式 更 容 易
被 修 改 , 因 为 计 算 机 不 会 留 下 橡 皮 擦
过 的 痕 选 。
分 类 账 通 常 由 一 组 记 录 组 成 , 每 一 条
记 录 都 在 随 后 的 几 行 上 。 分 类 账 行 的
等 价 区 块 链 是 一 个 区 块 。 区 块 链 将 上
一 区 块 ( 行 ) 的 加 密 哈 希 和 块 创 建 时
间 戳 添 加 到 下 一 个 区 块 。 这 就 形 成 了
一 个 由 哈 希 和 时 间 戬 链 接 的 块 链 ( 因
此 而 得 名 ) , 如 图 13-4 所 示 。
图 13-4 “ 简 化 的 区 块 链
如 你 所 见 , 如 果 块 p 的 内 容 被 修 改 ,
将 改 变 它 的 哈 希 值 , 使 其 与 块 0+1 中
1123 1 1353
13.2 密 码 学
存 储 的 内 容 不 匹 配 。 加 密 哈 希 的 特 性
使 得 块 不 可 能 被 修 改 后 仍 然 具 有 与 之
前 相 同 的 哈 希 值 。 每 个 块 有 效 包 含 前
一 块 的 数 字 签 名 。
攻 击 区 块 链 的 唯 一 有 效 方 法 是 破 坏 管
理 区 块 链 的 软 件 , 一 种 缓 解 方 法 是 将
区 块 链 数 据 公 开 井 且 在 多 个 系 统 上 复
制 。 攻 击 这 样 一 个 分 布 式 系 统 需 要 许
多 人 合 作 。
13.2.13 “ 密 码 管 理
密 码 学 的 另 一 个 应 用 是 密 码 管 理 。 在
过 去 的 日 子 里 , 计 算 机 以 明 文 形 式 保
存 密 码 文 件 。 当 有 人 登 录 时 , 他 们 输
入 的 密 码 将 与 存 储 在 文 件 中 的 密 码 进
行 比 较 。
1124 1 1353
13.2 密 码 学
以 明 文 形 式 保 存 密 码 不 是 好 方 法 , 主
要 是 因 为 任 何 有 权 访 问 该 文 件 的 人 都
可 以 知 道 每 个 人 的 密 码 。 请 记 住 , 这
井 不 一 定 是 计 算 机 受 到 攻 击 的 结 果 。
正 如 你 所 看 到 的 , 许 多 组 织 将 他 们 的
备 份 发 送 给 第 三 方 存 储 ( 至 少 有 三 个
异 地 备 份 是 一 个 好 主 意 , 最 好 是 在 不
同 的 构 造 板 块 上 ) 。 我 们 再 次 回 到 信
任 , 因 为 有 人 可 以 访 问 密 码 文 件 或 这
些 备 份 的 任 何 其 他 数 据 。 你 可 以 加 密
备 份 , 但 加 密 备 份 很 脆 弱 , 因 为 小 的
存 储 介 质 缺 陷 ( 例 如 坏 的 磁 盘 驱 动 器
块 ) 就 会 使 整 个 备 份 无 法 恢 复 。 在 保
护 数 据 和 恢 复 数 据 之 间 需 要 权 衡 。
这 个 问 题 的 一 个 简 单 解 决 方 案 是 以 加
密 格 式 ( 如 加 密 哈 希 ) 存 储 密 码 。 当
用 户 登 录 时 , 他 们 的 密 码 被 转 换 成 加
密 哈 希 , 然 后 与 文 件 中 的 密 码 进 行 比
1125 / 1353
13.2 密 码 学
较 。 加 密 哈 希 的 属 性 使 得 密 码 不 太 可
能 被 猜 到 。 作 为 额 外 的 预 防 措 施 , 大
多 数 系 统 都 会 阻 止 普 通 用 户 访 问 密 码
文 件 。
尽 管 应 用 了 这 些 方 法 , 密 码 还 是 有 问
题 。 在 共 享 计 算 的 早 期 , 可 能 只 需 要
几 个 系 统 的 密 码 。 但 现 在 , 银 行 账
户 、 学 校 网 站 、 许 多 不 同 的 网 店 等 都
需 要 无 数 的 密 码 。 许 多 人 在 各 种 系 统
使 用 相 同 的 密 码 , 结 果 发 现 最 常 见 的
密 码 是 p a s s w 0 r d , 其 次 是
password123, 因 为 密 码 中 需 要 有 数
字 。 重 复 使 用 密 码 等 同 于 不 使 用 前 向
加 密 , 如 果 一 个 网 站 或 应 用 的 密 码 安
全 受 到 威 胁 , 可 能 就 是 有 人 在 其 他 站
点 上 使 用 你 的 密 码 。 你 可 以 为 每 个 站
点 设 置 不 同 的 密 码 , 但 是 必 须 得 讨 住
它 们 。 可 以 使 用 一 个 密 码 管 理 器 , 该
1126 11353
13.2 密 码 学
管 理 器 将 所 有 不 同 的 密 码 存 储 在 一 个
受 单 个 密 码 保 护 的 位 置 , 但 如 果 该 密
码 或 密 码 管 理 器 本 身 受 到 危 害 , 其 他
所 有 密 码 也 会 受 到 影 响 。 最 有 效 但 仍
存 在 问 题 的 方 法 是 前 面 提 到 的 双 因 素
身 份 验 证 。 但 这 通 常 依 赖 于 手 机 之 类
的 东 西 , 当 你 在 某 个 没 有 手 机 服 务 的
地 方 时 , 它 会 阻 止 你 访 问 你 的 账 户 。
而 且 , 它 很 麻 烦 , 会 导 致 人 们 在 许 多
网 站 一 直 保 持 登 录 状 态 。
1127/1 1353
13.3 软 件 卫 生
大 型 项 目 通 常 包 括 第 三 方 代 码 , 这 些
代 码 不 是 由 项 目 团 队 成 员 编 不 的 。 在
许 多 情 况 下 , 你 的 团 队 甚 至 无 法 访 问
源 代 码 , 你 必 须 接 受 供 应 商 的 说 法 ,
即 他 们 的 代 码 可 以 正 常 工 作 并 且 是 安
全 的 。 这 可 能 会 导 致 出 现 什 么 问 题
吱 ?
首 先 , 你 怎 么 知 道 这 些 代 码 是 真 的 能
发 挥 作 用 井 且 是 安 全 的 ? 你 怎 么 知 道
有 人 在 写 那 个 代 码 的 时 候 没 有 安 装 秘
密 后 门 ? 这 不 是 一 个 假 设 性 的 问 题 。
2015 年 , 人 们 在 一 家 主 要 网 络 供 应 商
的 产 品 中 发 现 了 一 个 秘 密 后 门 。2016
年 , 人 们 在 另 一 家 供 应 商 的 产 品 中 发
现 了 一 个 带 有 硬 编 码 密 码 的 额 外 账
户 。 名 单 还 在 继 续 增 加 , 只 要 人 们 持
续 容 忍 这 种 行 为 , 名 单 就 会 继 续 增
加 。
1143 / 1353
13.3 软 件 卫 生
Ken Thompson 1984 年 图 灵 奖 的 演 讲
题 目 为 “ Reflections on Trusting
Trust“*“ , 给 出 了 关 于 一 个 恶 意 行 为 者
能 造 成 多 大 破 坏 的 观 点 。
使 用 第 三 方 代 码 会 导 致 另 一 个 更 微 妙
的 问 题 , 它 在 物 理 基 础 设 施 软 件 中 出
现 的 频 率 非 常 高 , 而 这 些 软 件 正 是 发
电 厂 和 此 类 工 作 的 原 材 料 。 你 可 能 会
认 为 像 这 样 的 关 键 软 件 是 由 工 程 师 设
计 的 , 但 这 种 情 况 很 少 见 。 工 程 师 可
能 会 指 定 软 件 , 但 软 件 通 常 是 由 系
统 集 成 商 “ 建 造 的 。 这 些 人 的 训 练 与
你 在 学 习 代 码 “ 的 指 导 下 得 到 的 训 练
相 似 , 系 统 集 成 基 本 上 可 以 归 结 为 导
入 别 人 编 写 的 代 码 并 将 团 数 调 用 粘 在
一 起 。 产 品 代 码 最 终 如 图 13-6 所 示 。
1144 | 1353
13.3 软 件 卫 生
吴 二 史
X ˇ
供 应 商 #1 代 码
罡 命 5 吴 一 国 |
人 - 墨口 ’ _
一 P 一
L tB
供 应 商 #2 _ 供 应 商 3
一 代 码 _ | 代 码 一
一 一 园 一 国 吴 园 吊 园 吴
图 13-6 未 使 用 的 供 应 商 代 码 和 产 品 代 码
图 13-6 意 味 着 产 品 中 包 含 了 大 量 未 使
用 的 代 码 , 在 图 中 , 非 产 品 代 码 多 于
产 品 代 码 。 我 曾 经 做 过 一 系 列 关 于 这
种 情 况 的 演 讲 , 我 把 已 称 为 数 字 疱
疹 , 因 为 产 品 的 中 枢 神 经 系 统 都 感
染 了 这 些 代 码 , 等 待 合 适 的 机 会 爆
1145 / 1353
13.3 软 件 卫 生
发 , 就 像 人 感 染 了 病 毒 一 样 。
这 使 程 序 员 陷 入 困 境 。 如 何 决 定 哪 些
第 三 方 代 码 是 可 以 安 全 使 用 的 ? 并 非
所 有 在 发 电 厂 工 作 的 人 都 是 密 码 学 或
网 络 协 议 方 面 的 专 家 。
首 先 , 这 是 一 个 开 放 源 代 码 具 有 优 势
的 领 域 。 你 可 以 看 看 开 源 代 码 , 其 他
人 很 有 可 能 也 在 看 。 这 个 更 多 的 眼
球 原 则 意 味 着 , 比 起 只 有 少 数 人 看
到 的 封 闭 源 代 码 , 至 少 有 更 好 的 机 会
发 现 bug 。 当 然 , 这 不 是 万 能 药 。
2014 年 , 在 流 行 的 OpenSSL 加 密 库 中
发 现 了 一 个 主 要 缺 陷 。 好 的 一 面 是 ,
这 个 bug 的 发 现 让 很 多 人 都 把 代 码 和
其 他 安 全 关 键 包 放 在 了 一 起 。
另 一 个 好 的 做 法 是 蝈 切 关 注 你 在 第 三
方 软 件 包 中 实 际 使 用 的 代 码 占 整 个 包
1146 1 1353
13.3 软 件 卫 生
大 小 的 比 例 。 我 曾 经 参 与 过 一 个 医 疗
器 械 项 目 , 管 理 层 说 : “ 让 我 们 用 这
个 很 酷 的 操 作 系 统 , 我 们 可 以 花 个 好
价 钱 买 到 它 。 但 是 这 个 操 作 系 统 包
含 了 我 们 不 打 算 使 用 的 各 种 功 能 。 我
驳 回 了 这 个 建 议 , 我 们 只 是 为 我 们 需
要 的 东 西 编 写 了 自 己 的 代 码 。 这 是 几
十 年 前 的 事 了 , 只 在 这 个 操 作 系 统 的
部 署 中 发 现 了 一 些 bug。
另 一 个 需 要 注 意 的 方 面 是 调 试 代 码 。
通 常 在 产 品 开 发 过 程 中 包 含 额 外 的 调
试 代 码 , 确 保 它 在 装 运 前 被 移 除 ! 包
括 宥 码 。 如 果 包 含 默 认 宥 码 或 其 他 快
捷 方 式 使 你 的 代 码 更 易 于 调 试 , 请 确
保 匕 们 已 消 失 。
13.3.8 “ 极 端 聪 明 是 你 的 敌 人
1147/ 1353
13.3 软 件 卫 生
如 果 你 使 用 的 是 第 三 方 代 码 , 请 避 免
使 用 方 便 但 小 众 的 工 具 。 因 为 供 应 商
经 常 停 止 支 持 没 有 被 客 户 广 泛 使 用 的
功 能 。 当 这 种 情 况 发 生 时 , 你 的 代 码
通 常 被 排 除 在 升 级 路 径 之 外 。 供 应 商
通 常 只 为 其 产 品 的 最 新 版 本 提 供 修 复
程 序 , 因 此 , 如 果 代 码 依 赖 于 不 再 受
支 持 的 功 能 , 则 可 能 无 法 安 装 关 键 的
安 全 修 复 程 序 。
13.3.9 明 白 什 么 是 可 见 的
想 一 想 除 你 的 程 序 以 外 的 程 序 访 问 敏
感 数 据 的 方 式 , 不 仅 仅 是 数 据 , 还 有
元 数 据 。 还 有 谁 能 看 到 你 的 程 序 数
据 ? 这 个 问 题 是 定 义 威 胁 模 式 的 一 个
重 要 部 分 。 如 果 有 人 带 着 你 原 本 完 全
1148 / 1353
13.3 软 件 卫 生
安 全 的 系 统 潜 逃 , 会 有 什 么 危 害 ? 攻
击 者 是 否 可 以 通 过 从 设 备 中 取 出 内 存
怔 片 从 而 直 接 访 问 它 们 来 绕 过 防 御 ?
除 了 使 代 码 安 全 外 , 你 还 需 要 注 意 旁
道 攻 击 一 一 基 于 元 数 据 的 利 用 。 例
如 , 假 设 你 有 检 查 密 码 的 代 码 , 如 果
在 接 近 正 确 的 密 码 上 运 行 的 时 间 比 在
不 正 确 的 密 码 上 运 行 的 时 间 长 , 则 会
给 攻 击 者 提 供 线 索 。 这 叫 作 定 时 攻
击 。
指 向 ATM 机 键 盘 的 摄 像 头 是 一 种 旁 道
攻 击 。
基 于 电 磁 辑 射 的 攻 击 已 经 被 记 录 在
案 。 一 个 很 酷 的 方 法 叫 作 屏 幕 辐 射 穷
密 。 这 种 方 法 使 用 一 个 天 线 从 监 视 器
接 收 辐 射 , 生 成 显 示 图 像 的 远 程 副
本 。 事 实 证 昂 , 某 些 电 子 投 票 系 统 中
1149 1 1353
13.3 软 件 卫 生
的 选 票 保 密 性 会 受 到 屏 幕 辐 射 窃 密 的
破 坏 。
旁 道 攻 击 是 非 常 隐 蔽 的 , 需 要 认 真 的
系 统 思 考 来 改 进 , 仅 仁 知 道 如 何 编 与
代 码 是 不 够 的 。 这 样 的 例 子 比 比 皆
是 , 尤 其 是 在 二 战 时 期 , 现 代 密 码 学
开 始 的 时 期 。 德 国 人 之 所 以 能 够 确 定
洛 斯 阿 拉 莫 斯 国 家 实 验 室 的 存 在 , 是
因 为 几 百 份 西 尔 斯 记 录 都 被 邮 寄 到 同
一 个 邮 箱 。 并 且 德 国 人 根 据 当 地 报 纸
上 刊 登 的 工 厂 足 球 队 比 赛 的 分 数 确 定
了 英 国 化 工 厂 的 位 置 。
一 般 来 说 , 请 确 保 关 键 安 全 代 码 的 外
部 可 见 行 为 独 立 于 它 的 实 际 操 作 。 避
免 通 过 旁 道 泄 露 信 息 。
13.3.10 “ 不 要 过 度 收 集
1150 1 1353
15.1 价 值 主 张
能 可 能 比 你 第 一 眼 看 到 的 更 强 大 。
破 坏 发 布 代 码 的 生 态 系 统 并 不 会 增 加
价 值 。 许 多 开 发 者 表 现 得 好 像 他 们 是
在 另 一 个 国 家 度 假 的 典 型 美 国 人 , 或
是 我 岳 父 来 我 家 探 望 时 的 那 种 我 是
你 家 客 人 , 按 我 的 方 式 做 事 的 态
度 。
例 如 ,UNIX 系 统 有 一 个 命 令 , 用 于 显
示 程 序 的 手 册 页 。 你 可 以 输 入 man
foo, 它 会 显 示 foo 命 令 的 页 面 。 还 有
一 个 约 定 , 真 正 复 杂 的 命 令 , 比 如
yacc, 既 有 程 序 手 册 页 面 , 也 有 更
长 、 更 深 入 的 文 档 , 详 细 描 述 了 程 序
的 细 节 。 当 GNU 项 目 ( 稍 后 我 将 讨
论 ) 向 UNIX 添 加 命 令 时 , 它 使 用 自 己
的 texinfo 系 统 来 编 不 手 册 , 这 个 手 册
与 man 系 统 不 兼 容 。 结 果 是 用 户 必 须
12511 1357
15.1 价 值 主 张
同 时 试 着 使 用 man 和 info 命 令 来 查 找
文 档 。 即 使 像 一 些 人 所 相 信 的 那 样 ,
GNU 方 法 更 优 越 , 但 是 任 何 可 能 的 好
处 都 被 UNIX 社 区 支 离 破 碎 的 生 态 系 统
造 成 的 巨 大 生 产 力 损 失 所 抵 消 了 。
还 有 许 多 其 他 示 例 , 例 如 用 systemd
替 换 init 系 统 。 正 如 本 章 后 面 讨 论 的 ,
UNIX 哲 学 的 一 个 重 要 部 分 是 模 块 化 设
计 , 但 是 systemd 用 一 个 巨 大 的 单 体
怪 物 取 代 了 模 块 化 init 系 统 。 没 有 人 试
图 在 现 有 系 统 中 加 装 新 功 能 。 整 个 用
广 群 都 失 去 了 生 产 力 , 因 为 他 们 不 得
不 学 习 一 个 新 系 统 , 而 这 个 系 统 基 本
上 就 是 老 系 统 所 做 的 。 如 果 在 现 有 系
统 中 添 加 多 线 程 和 其 他 新 功 能 , 则 会
增 加 更 多 价 值 。
另 一 个 例 子 是 jar 程 序 工 具 包 , 它 是
125211357