6. 安全考虑事项 (Security Considerations)
6. 安全考虑事项 (Security Considerations)
如本文档所述, 传输 raw public keys 可通过降低 over-the-air transmission overhead 带来收益, 因为 raw public keys 天然小于完整 certificate. 从解析和处理这些 keys 的 code-size 角度看, 也有优势. 将 public key 与 private key 持有关系关联起来的 cryptographic procedures 也遵循标准流程.
不过, 主要安全挑战是如何将 public key 与特定 entity 关联. 如果 identifier 和 key 之间没有 secure binding, 该协议将易受 man-in-the-middle attacks. 本文档假定这种 binding 可以 out-of-band 完成, 并在 Section 1 中列出若干示例. DANE [RFC6698] 提供了这样一种方法. 为处理这些 vulnerabilities, 使用该 extension 的 specifications 需要规定 identifier 和 public key 如何绑定. 除确保 binding 以 out-of-band 方式完成外, implementation 还需要检查该 binding 的状态.
如果 public keys 通过 DANE 获得, 这些 public keys 会通过 DNSSEC authenticated. 使用 pre-configured keys 是另一种用于 authenticating raw public keys 的 out-of-band 方法. 虽然 pre-configured keys 不适合通用 Web-based e-commerce environment, 但对于许多 smart object deployments, 其中设备上运行的软件与 server-side communication endpoint 之间关系紧密, 这类 keys 是合理方法. 无论选择哪种 out-of-band public key validation 机制, 都必须在 deployment 开始前评估最合适的方法, 以确保系统安全.
attacker 可能试图影响 handshake exchange, 使各方选择不同于通常选择的 certificate types.
对于这种攻击, attacker 必须主动更改一个或多个 handshake messages. 如果发生这种情况, client 和 server 将为 handshake message hashes 计算出不同值. 结果, 双方不会接受彼此的 Finished messages. 没有 master_secret, attacker 无法修复 Finished messages, 因此攻击会被发现.