Azure ACS — следует ли шифровать информацию ClaimTypes.NameIdentifier?

В настоящее время я работаю над проектом, реализующим Azure ACS. У меня заработали основы, и я заметил, что Azure ACS отправляет мне информацию SAML, которая включает в себя identityProvider и NameIdentifier. С помощью 2 я могу установить уникальность для всех пользователей.

В настоящее время эти 2 данных хранятся в центральной базе данных в текстовом формате. Для identityProvider это не имеет большого значения, но я думаю, что Nameidentifier отличается. Должен ли я шифровать NameIdentifier в базе данных / журналах по соображениям безопасности, или это излишне? Могу ли я, чтобы хакер использовал информацию NameIdentifier, чтобы выдать себя за законного пользователя?


person Echiban    schedule 19.06.2012    source источник


Ответы (2)


Нет, одного NameIdentifier недостаточно, чтобы выдать себя за пользователя; злоумышленнику также потребуется подделать цифровую подпись, используя закрытый ключ поставщика удостоверений.

NameIdentifier иногда представляет собой личную личную информацию, что означает, что злоумышленник может отследить NameIdentifier, чтобы идентифицировать конкретного пользователя. Вот почему некоторые (но не все) поставщики удостоверений хэшируют NameIdentifier для каждого RP. Но я не думаю, что вам нужно будет шифровать его, если у вас нет чрезвычайно жесткой политики конфиденциальности. То есть, если вы собираетесь зашифровать другую личную информацию, такую ​​как имя и адрес электронной почты, из соображений конфиденциальности, вы также должны зашифровать NameIdentifier.

person Andrew Lavers    schedule 20.06.2012

Исходя из моего личного опыта, я не видел, чтобы кто-то шифровал IP-адрес и/или идентификатор имени при хранении по разным причинам. Идентификатор имени уже представляет собой хешированное значение токена для каждого уникального запроса ACS, выдаваемого по IP-адресу.

person AvkashChauhan    schedule 20.06.2012