某接口请求使用 HMAC 进行签名,但安全测试发现攻击者如果截获一次合法请求,短时间内重复发送同一请求,服务器仍可能接受。团队决定在签名内容中加入时间戳和随机数 nonce,并在服务端检查时间窗口和 nonce 是否重复。这样做主要是为了防范()。
重放攻击的特点是攻击者不一定能伪造签名或破解密钥,但可以把截获到的合法请求再次发送,试图让服务器重复执行。时间戳用于限制请求有效时间,nonce 用于标识一次性请求并防止重复使用。把时间戳和 nonce 纳入签名内容,再由服务端检查窗口和去重,可以降低重放攻击风险。
选项分析
正确。时间戳和 nonce 的典型作用之一就是防止合法消息被截获后重复提交。
错误。磁盘碎片整理是存储维护操作,不属于接口安全攻击。
错误。第三范式传递依赖是数据库规范化问题。
错误。生成树根桥选举是二层网络防环机制,与接口请求重放无关。
本题为什么容易错
这题容易把 HMAC 当成万能防护。HMAC 可以校验参数完整性和请求来源,但如果签名内容里没有时间因素或一次性标识,攻击者可能不需要修改请求,只要复制一遍就能造成重复扣款、重复下单或重复提交。防重放要解决的是“这条合法消息是不是被第二次用”。
简短答案
时间戳和随机数为什么能降低重放攻击风险,正确答案是 A(重放攻击)。重放攻击的特点是攻击者不一定能伪造签名或破解密钥,但可以把截获到的合法请求再次发送,试图让服务器重复执行。时间戳用于限制请求有效时间,nonce 用于标识一次性请求并防止重复使用。把时间戳和 nonce 纳入签名内容,再由服务端检查窗口和去重,可以降低重放攻击风险。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 重放攻击 | 本题正确答案 | 正确。时间戳和 nonce 的典型作用之一就是防止合法消息被截获后重复提交。 | 看到题干核心场景时优先联想到它 |
| 磁盘碎片整理 | 本题干扰项 | 错误。磁盘碎片整理是存储维护操作,不属于接口安全攻击。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 第三范式传递依赖 | 本题干扰项 | 错误。第三范式传递依赖是数据库规范化问题。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 生成树根桥选举 | 本题干扰项 | 错误。生成树根桥选举是二层网络防环机制,与接口请求重放无关。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- 磁盘碎片整理:错误。磁盘碎片整理是存储维护操作,不属于接口安全攻击。
- 第三范式传递依赖:错误。第三范式传递依赖是数据库规范化问题。
- 生成树根桥选举:错误。生成树根桥选举是二层网络防环机制,与接口请求重放无关。
知识点详解
重放攻击和篡改攻击不是一回事。篡改攻击会改消息内容,完整性校验和签名能发现;重放攻击可能原封不动地复制合法消息,所以消息内容本身仍然通过校验。加入时间戳后,旧消息会过期;加入 nonce 后,同一消息只能使用一次。实际系统还要考虑时钟偏差、nonce 存储时间、幂等设计和风险操作二次确认。
备考速记
速记:重放攻击不是改作业,是把交过的作业再交一遍。时间戳管过期,nonce 管只用一次。
nonce 在接口签名场景中的作用
nonce在本题中的核心价值,是解决“某接口请求使用 HMAC 进行签名,但安全测试发现攻击者如果截获一次合法请求,短时间内重复发送同一请求,服务器仍可能接受。团队决定在签名内容中加入时间戳和随机数 nonce,并在服务端检查时间窗口和 nonce 是否重复。这样做主要是为了防范()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 给出接口签名场景,判断应该选择哪个概念、工具、协议或管理过程。
- 考查nonce的作用,要求从四个相近选项中找出最符合题干目标的一项。
- 把nonce和磁盘碎片整理、第三范式传递依赖、生成树根桥选举放在一起考,重点看适用场景是否一致。
- 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
nonce 在信息安全工程师软考中的考法
软考选择题通常不会只考概念定义,还会把nonce放到接口签名场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
这题已经说了 HMAC 能通过,但同一请求重复发还可能被接受。也就是说,攻击者没有改参数,只是在复用旧请求。老师讲接口安全时会提醒:签名能证明内容没被改,但不一定证明这次请求是新的。所以要加时间戳和 nonce,让旧请求过期或被识别为重复。
考点定位
重放攻击题的关键词是:截获合法消息、再次发送、重复执行。时间戳、序列号、nonce、挑战响应机制都常用于降低重放风险。
易错提醒
- 只做 HMAC 签名,不检查请求时间窗口。
- 加入 nonce 但服务端不保存已使用 nonce,导致仍可重复提交。
- 时间戳没有参与签名,攻击者可以篡改时间字段绕过校验。
备考提示
- 复习接口安全时,把 Hash、HMAC、数字签名、时间戳、nonce、HTTPS 分场景区分。
- 看到“截获合法请求后再次发送”,优先想到重放攻击。
- 防重放常见组合是时间窗口加 nonce 去重,关键字段还要纳入签名。
你可能还想了解
- 时间戳和随机数为什么能降低重放攻击风险?
- nonce是什么?
- nonce在信息安全工程师考试中怎么考?
- 信息安全工程师nonce题怎么理解?
- 重放攻击怎么防怎么考?
- nonce和时间戳防重放怎么考?
本文小结
本题核心考点是nonce在接口签名场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(重放攻击)。