1

我目前正在开发一个实现 Azure ACS 的项目。我掌握了基础知识,我注意到 Azure ACS 向我发送了 SAML 信息,其中包括 identityProvider 和 NameIdentifier。使用 2 我可以为所有用户建立唯一性。

目前,这两个数据以纯文本格式存储在中央数据库中。对于 identityProvider 来说没什么大不了的,但我认为 Nameidentifier 是不同的。出于安全原因,我应该在数据库/日志中加密 NameIdentifier 吗,还是太过分了?我可以黑客使用 NameIdentifier 信息来冒充合法用户吗?

4

2 回答 2

1

不,仅 NameIdentifier 不足以模拟用户;攻击者还需要使用身份提供者的私钥伪造数字签名。

NameIdentifier 有时确实构成私人的个人身份信息,这意味着攻击者可能能够追踪 NameIdentifier 以识别特定用户。这就是为什么一些(但不是全部)身份提供者基于每个 RP 对 NameIdentifier 进行哈希处理。但我认为除非您有极其严格的隐私政策,否则您不需要对其进行加密。也就是说,如果您出于隐私原因要加密其他私人信息(例如姓名和电子邮件),那么您还将加密 NameIdentifier。

于 2012-06-20T13:31:39.910 回答
0

根据我的个人经验,我没有看到有人出于各种原因在存储时加密 IP 和/或 Nameidentifier。Nameidentifier 已经是每个由 IP 发出的唯一 ACS 请求的哈希令牌值。

于 2012-06-20T00:30:49.993 回答