8. 安全与隐私考虑事项
命名空间安全
URN namespace 的定义需要考虑与该 URN namespace 内名称的分配, 使用和解析相关的潜在安全与隐私问题.
特殊字符处理
某些 URN resolver 可能会为 NSS 中的特定字符赋予特殊含义. Namespace 定义者必须考虑这些可能性并提供适当指导.
更多讨论见第 6.4.4 节.
公共信息声明
信息性质
在大多数情况下, URN namespace 提供一种声明公共信息的方式.
安全概况
通常, 这些声明具有相对较低的安全概况. 这意味着:
- URN 通常不包含敏感或机密信息
- URN 主要用于公开标识资源
- 安全性依赖外部机制, 而不是 URN 本身
欺骗与错误信息风险
主要威胁
始终存在 "spoofing" 和提供错误信息的风险.
风险场景
- 虚假 URN: 创建看似合法但实际为假的 URN
- 误导性解析: 将 URN 解析到错误或恶意资源
- Namespace 劫持: 试图控制或冒充合法 namespace
缓解措施
这些声明中的信息应视为 advisory:
- 不要盲目信任 URN 指向的资源
- 使用额外验证机制确认资源真实性
- 关键应用应实现额外安全层
隐私考虑
信息泄露
URN 本身可能无意中泄露:
- 组织结构信息
- 资源创建时间模式
- 内部 identifier scheme
最佳实践
Namespace 设计者应:
- 避免在 URN 中包含个人可识别信息 (PII)
- 考虑 URN 结构可能暴露的 metadata
- 在 namespace 定义中明确记录任何隐私影响
传输安全
虽然 URN 本身不定义传输机制, 但通过网络传输 URN 时应考虑:
- 使用安全信道 (例如 TLS) 保护传输
- 防止 URN 在传输过程中被篡改
- 确保 resolution service 的完整性和可用性