🛡️ 第一章 信息安全的基本概念
📄 一句话概括

三要素之外还有四项——真实性、责任可追溯性、不可抵赖性、可靠性;这四项常常是"三要素都守住了、事情还是出了"的原因。

📝 本节和前面几节的关系

上一节(信息安全的三要素)讲了机密性、完整性、可用性。这一节问一个很实际的问题:三样都保住了,是不是就没事了?

答案是"不一定"。举两个例子就清楚了:一条转账指令,格式对、内容完整、系统可用(三要素都没破),但这道指令根本不是本人下的——这是真实性问题。再比如:所有数据都在、系统正常,但出了事查不出是谁做的——这是可追溯性问题。这一节把这四项补上。

一、补上的四项,各解决一个问题

特性 一句话 它回答的问题
真实性 确实是本人/本系统 这个人/这条消息是真的吗?
责任可追溯性 做过的事留有记录 谁、什么时候、做了什么?
不可抵赖性 事后不能否认 他能不能不认账?
可靠性 一致、稳定、可信赖 它每次都这么表现吗?

四项排在一起你会发现:前两项在"事前"起作用,后两项在"事后"起作用。真实性是入口处的把关,可追溯性是全程的留痕,不可抵赖性是事后追责的依据,可靠性是使用者的信心。

二、真实性:不只是"人是真的"

真实性(也叫可鉴别性)的意思比"登录的时候验身份"要宽。它至少包含三层:

  1. 人的真实性:操作的人确实是声称的那个人——这是认证要解决的。
  2. 消息的真实性:这条消息确实来自声称的来源,中途没被换过。
  3. 系统的真实性:你连上的确实是那台服务器,不是一个长得一样的假货。

第 3 条最容易被忽略。它的现实形态就是假冒的登录页面:域名差一个字母、页面一模一样,用户在那里输入了口令——此时系统可用、数据完整、也没泄露任何别人的东西,但真实性已经失守了。

这也是为什么钓鱼攻击这么难防:它不破坏三要素中的任何一个,它破坏的是真实性。而防御它最有效的手段(下一节之后会讲到的硬件密钥)恰恰不是"更复杂的口令",而是让凭据本身绑定到正确的站点上。

三、责任可追溯性:为"事后"留证据

可追溯性的定义很朴素:谁在什么时候做了什么,事后能查得出来。

它的价值不在于"抓坏人",而在于下面四件事:

一个常见的误解是"日志越多越好"。实际上可追溯性的关键是"能不能回答一个具体的问题":三个月前那个周六,谁导出过这张表?如果日志里只有"某账号在某时刻登录过",那它回答不了。有效日志的标准是:能定位到人、时间、动作、对象。

四、不可抵赖性:和三要素、和真实性的区别

不可抵赖性(也叫抗抵赖)最抽象,但它的一句话很明确:

他不能事后否认自己做过这件事。

它和真实性的区别在时间:真实性管"此刻这个人是不是他";不可抵赖性管"事后他能不能说自己没做过"。

它和完整性的区别在方向:完整性管"数据有没有被改";不可抵赖性管"改了的人能不能赖账"。

现实中它的形态你一定见过:

实现不可抵赖性依赖的技术主要是数字签名和可信时间戳——它们让"做过"这件事留下一个只有本人能做出来的证据。

五、可靠性:最容易被当成"运维指标"的一项

可靠性指的是:系统按预期、稳定、可重复地工作。

它看起来像可用性的同义词,其实侧重不同:

一个每天崩一次的系统和一个月崩一次的系统,如果崩的时候都在非高峰,"可用性"看起来差不多,但"可靠性"差很远——因为你不知道它什么时候会出问题,所以不敢把关键业务交给它。

而"不知道什么时候出问题"这件事,有一个更严重的后果:它会让数据不可信。一个读数偶尔跳一下的设备,它的所有数据都要打问号——这就是 Demo 里把"设备读数偶尔跳一下"归到完整性+可靠性两项的原因。

六、动手 Demo:六个特性的归类矩阵

下面这个 Demo 用多标签矩阵的方式看 10 个事件,并统计有多少事件踩到了三要素管不到的项。

FEATS = ["机密", "完整", "可用", "真实", "追溯", "抵赖", "可靠"]
# 每个事件标注它命中的特性集合(三要素+四项)

实跑输出:

========================================================================================
一、归类矩阵
========================================================================================
  编号  事件                              机密  完整  可用  真实  追溯  抵赖  可靠  
  ------------------------------------------------------------------------------------
  E01   订单被伪造,冒充客户下的单        ·     ●     ·     ●     ·     ·     ·     
  E02   员工否认自己发过那封批准邮件      ·     ·     ·     ·     ●     ●     ·     
  E03   转账指令被篡改金额                ·     ●     ·     ·     ·     ·     ·     
  E04   系统三天两头抽风,说不准什么时…   ·     ·     ●     ·     ·     ·     ●     
  E05   数据泄露后,查不出谁在什么时候…   ●     ·     ·     ·     ●     ·     ·     
  E06   假冒的登录页面骗走账号            ·     ·     ·     ●     ·     ·     ·     
  E07   对账时发现有人改了记录,但没人…   ·     ●     ·     ·     ●     ●     ·     
  E08   备份恢复到一半失败,数据凑不齐    ·     ·     ●     ·     ·     ·     ●     
  E09   客户名单被拷走,日志里只有一行…   ●     ·     ·     ·     ●     ·     ·     
  E10   设备读数偶尔跳一下,报表数字不…   ·     ●     ·     ·     ·     ·     ●     

========================================================================================
二、汇总
========================================================================================
  三要素之内:
    机密   2 次   ██
    完整   4 次   ████
    可用   2 次   ██
  三要素之外:
    真实   2 次   ██
    追溯   4 次   ████
    抵赖   2 次   ██
    可靠   3 次   ███

  10 个事件里,有 9 个踩到了三要素管不到的项。

  ④ 举一个最能说明问题的:E09。
     机密性被破坏(名单被拷走),需要靠加密和权限守;
     但【追溯性】也被破坏了——日志里只有一行匿名记录。
     加密只能让【他看到但读不懂】,追溯能回答【到底是谁碰过】。
     两件事要分开做,做一件补不了另一件。

  ⑤ 这里最抽象的是【不可抵赖性】:它跟真实性的区别在于时间。
     真实性管【现在这个人是不是他】;
     不可抵赖性管【事后他能不能说自己没做过】。
     数字签名之所以重要,就是因为它是为数不多能同时给【这两样】的技术。

读这个输出:最醒目的是那一句——10 个事件里有 9 个踩到了三要素管不到的项。这个比例说明了为什么这一节不能跳过:如果只盯 CIA,你会在九成事件的复盘里找不到着力点。

七、⚠️ 2026 现状

30 秒实验

回想你最近一次用手机银行或支付工具转账,做三件事:

  1. 真实性:你是怎么确认"对面那个 App 是真的"的?(提示:看域名、看应用来源、看有没有异常跳转)
  2. 可追溯:转账之后,你能查出"某天某笔"的记录吗?它记了哪些字段?
  3. 不可抵赖:如果对方说"我没收到",你手上有什么证据?

三个问题里只要有一个答不上来,就说明这套服务在那一项上对你的保护是缺的。这一节要带走的一句是:三要素管得住"东西",这四项管的是"关系"——谁和谁之间发生了什么。

常见误区

  1. 错误:三要素都保住了,就不会出事。——纠正:假冒登录页就是最好的反例——系统可用、数据没被改、别人的数据也没泄露,但账号被骗走了。它破坏的是真实性,这一项不在 CIA 里。

  2. 错误:有日志就等于可追溯。——纠正:有效日志的标准是能回答具体问题。记了"某人登录过"但没记"他导出了什么",事后依然查不清。可追溯性要按"你可能被问到的问题"来设计记录内容。

  3. 错误:可靠性是运维指标,跟安全无关。——纠正:不可靠的系统,它的数据也会被怀疑——一个偶尔出错的设备,所有读数都要打问号。可靠性直接支撑数据的可信度,属于安全目标的一部分。

  4. 错误:数字签名只是"电子化签字",形式而已。——纠正:数字签名是同时提供完整性、真实性和不可抵赖性的技术——改一个字签名就失效(完整性),签名只有本人能做(真实性),事后无法否认(不可抵赖性)。几项特性一次覆盖,这是它在电子合同里不可替代的原因。

自测三问(点开对答案) 1. 假冒的登录页面骗走了账号口令,破坏了六个特性里的哪几项? —— 主要是**真实性**。如果之后攻击者用这个账号去登录(那是真正的系统),还可能连带破坏**机密性和完整性**(看他的目的)。**关键在于第一道被突破的是真实性**——如果用户用的是绑定域名的硬件密钥,这个页面根本无法完成认证。 2. 一个组织的日志文件由系统管理员自己保管、自己可以删。可追溯性成立吗? - 形式上"有日志",实质上**不成立**。可追溯性的前提是**记录不能被被记录的人自己抹掉**。所以正确的做法是把日志送到**独立于被审计对象的**地方(集中日志、只写不改的存储)。 3. 数字签名为什么能同时解决完整性和不可抵赖性? —— 因为签名是对**内容**计算的:内容改一个字,签名就对不上(**完整性**);而签名所用的私钥只有本人持有,别人做不出同样的签名,所以事后无法否认(**不可抵赖性**)。**一个技术覆盖两个目标,这是它频繁出现在合同、审批、发布流程里的原因。**

相关笔记