SID (Security Identifier)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:09, 18 июня 2016.
SID (Идентификатор защиты)
fraimed
Разработчики: Microsoft Windows
Написана на: C++
Операционная система: Windows
Тип ПО: Идентификатор защиты
Веб-сайт Официальная страница

SID (англ. Security IDentifier – Идентификатор защиты) — уникальный параметр переменной длины, определяющий учетную запись (account) и хранящийся в базе данных системы безопасности Windows NT. В начале каждого сеанса, как только пользователь идентифицирован в системе, его SID извлекается из базы данных и помещается в маркер доступа[1] Далее это значение используется операционной системой при всех действиях пользователя с защищенными объектами.

Использование Идентификаторов защиты

В безопасности Windows использует идентификаторы безопасности в следующих элементах безопасности:

  1. В дескрипторах безопасности для идентификации владельца объекта и основной группы [2]
  2. В записях контроля доступа, для идентификации доверенного лица, для которых доступ разрешен, запрещен или проверенную[3]
  3. В маркерах доступа, для идентификации пользователя и группы, к которым принадлежит пользователь[4]

Типы идентификаторов защиты

  1. NULL - S-1-0-0 - идентификатор защиты группы, в которую не входят пользователи. Используется лишь тогда, когда идентификатор защиты неизвестен;
  2. World - S-1-1-0 - группа, включающая в себя всех пользователей;
  3. Local - S-1-2-0 - пользователи, имеющие непосредственный, физический доступ к системе;
  4. Creator Owner ID - S-1-3-0 - идентификатор защиты, которым заменяется SID пользователя, создавшего объект. Этот SID используется для унаследованных записей ACE.
  5. Creator Group ID - S-1-3-1 - значение, заменяющее SID основной группы, к которой принадлежит пользователь, создавший объект. Этот SID, как и предыдущий, используется для унаследованных записей ACE.

Функции для работы с идентификаторами защиты

Очень тяжело работать непосредственно с SID. Вместо этого следует можно использовать следующие функции для работы с ним:

Функция Описание
AllocateAndInitializeSid
Выделяет и инициализирует SID с указанным количеством авторизаций.
ConvertSidToStringSid
Преобразует SID в формат строки, подходящей для отображения, хранения или передачи.
ConvertStringSidToSid
Преобразует строку формата SID к действительному, функциональному SID.
CopySid
Копирование источника SID в буфер.
EqualPrefixSid
Проверяет два значения префикса SID на равенство.
EqualSid
Проверяет два значения SID на равенство.
FreeSid
Удаляет ранее выделенный SID с помощью функции AllocateAndInitializeSid.
GetLengthSid
Получает длину SID.
GetSidIdentifierAuthority
Извлекает указатель на идентификатор авторизации SID.
GetSidLengthRequired
Извлекает размер буфера, необходимых для хранения SID с заданным числом идентификаторов авторизаций.
GetSidSubAuthority
Возвращает указатель на указанный идентификатор авторизации в SID.
GetSidSubAuthorityCount
Возвращает количество идентификаторов авторизации в SID.
InitializeSid
Инициализирует структуру SID.
IsValidSid
Проверяет на действительность SID, проверив, что номер ревизии в пределах известного диапазона и что число идентификаторов авторизации меньше, чем максимум.
LookupAccountName
Получает SID, который соответствует указанному имени учетной записи.
LookupAccountSid
Извлекает имя учетной записи, которая соответствует указанной SID.

Примечания

  1. http://ru.bmstu.wiki/Access_Token Подробнее о маркере доступа
  2. https://msdn.microsoft.com/en-us/library/windows/desktop/aa379563(v=vs.85).aspx Подробнее о применении в дескрипторах безопасности
  3. https://msdn.microsoft.com/en-us/library/windows/desktop/aa374868(v=vs.85).aspx Подробнее о применении в записях контроля доступа
  4. https://msdn.microsoft.com/en-us/library/windows/desktop/aa374909(v=vs.85).aspx Подробнее о применении в маркерах доступа

Ссылки