我目前正在开发一个实现Azure ACS的项目。我得到了基础知识,我注意到Azure ACS向我发送了SAML信息,其中包括identityProvider和NameIdentifier。使用2我可以为所有用户建立唯一性。
目前,这2个数据以纯文本格式存储在中央数据库中。对于identityProvider来说,这没什么大不了的,但我认为Nameidentifier是不同的。我是否应该出于安全原因加密数据库/日志中的NameIdentifier,或者这是否过度?我可以黑客使用NameIdentifier信息冒充合法用户吗?
答案 0 :(得分:1)
不,仅凭NameIdentifier不足以冒充用户;攻击者还需要使用身份提供者的私钥伪造数字签名。
NameIdentifier有时会构成私人个人身份信息,这意味着攻击者可能能够跟踪NameIdentifier以识别特定用户。这就是为什么一些(但不是全部)身份提供者基于每个RP散列NameIdentifier的原因。但我不认为你需要加密它,除非你有一个非常严格的隐私政策。也就是说,如果您出于隐私原因要加密其他私人信息(如姓名和电子邮件),那么您也会加密NameIdentifier。
答案 1 :(得分:0)
根据我的个人经验,我没有看到有人在存储时出于各种原因加密IP和/或Nameidentifier。 Nameidentifier已经是IP发出的每个唯一ACS请求的哈希标记值。