39985

Функции шифрования пароля в Unix и Windows

Контрольная

Информатика, кибернетика и программирование

Поле пароль x будет содержать либо реальный зашифрованный пароль либо его обозначение как в данном примере. При регистрации в системе UNIX программа getty требует ввести имя пользователя и запускает программу входа в систему а та в свою очередь запрашивает пароль но не декодирует его. Фактически программа bin login шифрует пароль введенный пользователем а затем сравнивает полученное значение с тем которое хранится в etc psswd. Если данные совпадают то пароль был введен правильно.

Русский

2013-10-13

24.56 KB

7 чел.

5. Функции шифрования пароля в Unix и Windows

Шифрование пароля в Unix

  1.  Из исходного пароля берутся первые восемь байт. Также выбирается 12-битная случайная привязка (salt). Затем к этим двум параметрам применяется специальная функция шифрования, состоящая из 25 повторений чуть измененного алгоритма DES, которая дает на выходе 64-битное значение.
  2.  Привязка преобразуется в два читабельных ASCII-символа, а хэш - в 11 символов.
  3.  При входе пользователя в систему вызывается та же функция с введенным паролем и привязкой, полученной из /etc/passwd. Если результат оказывается равным значению, хранящемуся в файле, то аутентификация считается состоявшейся.

ХРАНЕНИЕ ПАРОЛЕЙ

Каждая запись в файле паролей /etc/passwd имеет формат

userid:password:UID:GID:Comment:Home

directory:shell

и выглядит, к примеру, следующим образом:

chare:x:500:500:Chris Hare:/home/chare:/bin/bash

Поле «идентификатор пользователя» (chare) содержит реальное название бюджета пользователя. Поле пароль (x) будет содержать либо реальный зашифрованный пароль, либо его обозначение (как в данном примере). Наличие последнего свидетельствует об использовании скрытого файла. Поле «номер пользователя» (500) представляет собой уникальный идентификатор, с помощью которого система различает пользователей. Номер группы (500) позволяет определить, к какой группе принадлежит пользователь и какая ему соответствует запись в файле /etc/group. Комментарии или поле GECOS (Chris Hare) могут содержать любую текстовую информацию, необходимую для идентификации. Как правило, здесь записывается имя пользователя и другие данные, например номер телефона или название отдела. Домашний каталог (/home/chare) указывает, куда помещается пользователь в момент первоначальной регистрации в системе, а исходный командный процессор (/bin/bash) определяет, какой интерпретатор команд применяется.

МЕТОДЫ ШИФРОВАНИЯ ПАРОЛЕЙ

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

При регистрации в системе UNIX программа getty требует ввести имя пользователя и запускает программу входа в систему, а та, в свою очередь, запрашивает пароль, но не декодирует его. Фактически, программа /bin/login шифрует пароль, введенный пользователем, а затем сравнивает полученное значение с тем, которое хранится в /etc/passwd. Если данные совпадают, то пароль был введен правильно.

Самым популярным методом шифрования стало применение улучшенного стандарта на шифрование данных (Data Encryption Standard, DES). Сам стандарт DES представляет собой систему с симметричным ключом, т. е. один и тот же ключ служит и для шифрования, и для дешифровки. Если бы алгоритм не был усовершенствован, то два пользователя с одним и тем же паролем могли получить одно и то же зашифрованное значение. 

ШИФРОВАНИЕ ПАРОЛЕЙ В UNIX С ПОМОЩЬЮ DES

Обращение к методу шифрования паролей в UNIX выполняется с помощью системного вызова crypt(3).

Истинное значение, которое хранится в /etc/passwd, получается путем использования пароля пользователя для шифрования 64-разрядного блока нулей с помощью вызова crypt(3). «Чистый текст» — это пароль пользователя, который является ключом данной операции. Итоговый «закодированный текст» представляет собой зашифрованный пароль. «Чистый текст» (также называемый незакодированным текстом) — исходное незашифрованное сообщение. Закодированный текст — сообщение после шифрования.

Алгоритм crypt(3) базируется на стандарте DES, разработанном в Национальном институте стандартов и технологий (National Institute of Standards and Technology, NIST). В обычном случае для шифрования исходного текста, в DES часто называемого «чистым текстом», применяется 56-разрядный ключ, состоящий, например, из восьми 7-разрядных символов. Этот «чистый текст», как правило, имеет в длину 64 бита. Вот почему UNIX распознает только первые восемь символов пароля, введенного пользователем. Полученный в итоге закодированный текст невозможно расшифровать, не зная значения исходного ключа.

При вызове crypt(3) в UNIX используется модифицированная версия указанного метода, при этом декларируется, что «чистый текст» преобразуется в блок нулей. Новое шифрование закодированного текста с помощью пароля пользователя в качестве ключа еще больше усложняет этот процесс. Так повторяется 25 раз, а затем полученные в итоге 64 разряда разделяются на 11 печатных символов и сохраняются в файле паролей.

Роберт Моррис и Кен Томсон, первыми реализовавшие технологию crypt(3) в UNIX, опасались, что с появлением микросхем с поддержкой DES на аппаратном уровне защиту системы UNIX можно будет легко преодолеть. Чтобы ликвидировать эту угрозу, они предложили использовать «крупинку соли» — 12-разрядное число, применяемое для модификации результата работы DES. Это число может принимать значения от 0 до 4095. В итоге каждый возможный пароль можно представить в файле паролей одним из 4096 способов. Разные пользователи на одной и той же машине могут использовать один и тот же пароль, и никто, даже системный администратор, не будет об этом знать.

Когда запускается программа /bin/passwd для создания нового пароля, она выбирает значение «крупинки соли» в зависимости от времени дня, которое затем применяется для модификации пароля пользователя. Чтобы предотвратить маловероятную возможность задания другого значения «крупинки соли» при следующей регистрации пользователя, UNIX хранит эту величину в /etc/passwd. Фактически, данное значение представлено в виде первых двух символов зашифрованного пароля. Такой механизм гарантирует, что пароль может быть зашифрован снова и ему будет найдено соответствие.


Шифрование пароля в Windows

Алгоритмы шифрования. 
Формирование NT-хэша
1. Пароль пользователя преобразуется в Unicode-строку. 
2. Генерируется MD4-хэш на основе данной строки. 
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя. 

LM-хеш или LAN Manager хеш один из форматов используемых для хранения пользовательских паролей меньше 15 символов длиной.
Формирование LM-хэша
1. Пароль пользователя преобразуется в верхний регистр и дополняется нулями до длины 14 байт. 
2. Полученная строка делится на две половинки по 7 байт и каждая из них по отдельности шифруется алгоритмом DES. В итоге получаем хэш длиной 16 байт (состоящий из двух независимых половинок длиной по 8 байт). 
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.

4. В windows 2000 и выше оба полученых хэша дополнительно шифруются алоритмом RC4 с помощью ключа, известного как «системный ключ» или bootkey, сгенерированого утилитой syskey, и шифруются довольно хитрым образом. 

Существуют специальные криптографические алгоритмы свертки паролей, которые работают только в одну сторону. Поэтому их еще называют OWF - функции одностороннего преобразования. Грубо говоря, можно получить хэш от пароля, но пароль из хэша не получится.

При создании учетной записи, пользователь вводит начальный пароль, который, однако, не хранится в открытом виде, а хэшируется с помощью OWF функции. Получаемый хэш пароля сохраняется в системе. В дальнейшем, при попытке входа, система запрашивает пользователя пароль, также хэширует его и полученный хэш сравнивает с оригинальным хэшем, сохраненным ранее. Если эти значения совпадают, то пароль, естественно, тоже. Таким образом, оригинальный текстовый пароль не хранится в системе

Windows NT для хэширования паролей пользователей использует 2 алгоритма: LM, доставшийся нам в наследство от сетей Lan Manager, в основе которого лежит простейшее преобразование DES, и NT, на основе функции хэширования MD4.
LM, как более слабый и уязвимый, по умолчанию не поддерживается новейшими системами Windows Vista и Windows 7, однако его можно включить. Более того, прослеживается тенденция его полного исключения или замещения. Важно знать, что при установленной опции хэширования LM (а она по умолчанию включена в Windows XP), все пароли пользователей считаются достаточно уязвимыми. Как правило, для взлома большинства таких паролей требуется несколько минут.
NT-хэш лишен недостатков, присущих LM-хэшу. Следовательно, подобрать правильный пароль к известному NT-хэшу значительно сложнее, чем к многострадальному LM. Но имеющаяся тенденция увеличения вычислительных возможностей современных компьютеров, особенно при использовании графических карт, возможно, в скором будущем сделают и этот стандарт уязвимым для потенциальных злоумышленников.

LM и NT хэши имеют фиксированный размер - 16 байт и могут хранится в двух хранилищах: SAM - для обычных учетных записей и Active Directory - учетные записи домена.


 

А также другие работы, которые могут Вас заинтересовать

72230. Цепи поставок как интегрированные образования 173.5 KB
  Цепи поставок как интегрированные образования Ускорение темпов экономического развития в значительной степени объясняемое развитием информационных маркетинговых и логистических технологий обусловило смену субъекта конкуренции в рамках большинства видов экономической деятельности.
72231. Методи і прийоми навчання співу 38 KB
  Аналіз жанру змісту форми характеру темпу динаміки пісні. Повторне прослуховування пісні з попереднім запитанням На етапі розучування застосовується: Коротка вступна бесіда з використанням наочності. Виразне виконання першого куплету пісні.
72232. ИСТОРИЯ ЗООПСИХОЛОГИИ И СРАВНИТЕЛЬНОЙ ПСИХОЛОГИИ 254.5 KB
  История развития знаний о психике животных и происхождении психики человека неразрывно связана с историей всей психологической науки поскольку зоопсихология и сравнительная психология решают фундаментальные психологические проблемы: определение психики ее возникновение и развитие в эволюции...
72233. Избирательная система Республики Казахстан 96 KB
  Цель лекции: ознакомить студентов с отношениями, возникающими при подготовке и проведении выборов Президента, депутатов Сената и Мажилиса Парламента, маслихатов и членов органов местного самоуправления Республики Казахстан, а также с гарантиями, обеспечивающими свободу волеизъявления граждан Республики.
72234. Административное право Республики Казахстан 159 KB
  Административное право являясь профилирующей фундаментальной отраслью составным эвеном системы права Республики Казахстан выступает гораздо большим явлением чем обычная форма реализации воли исполнительной власти. Административное право безусловно должно ограничить свои действия сферой...
72235. Государственное управление Республики Казахстан 44 KB
  Государственное управление, как один из видов государственной деятельности, заключается в исполнительно-распорядительной деятельности специальных государственных органов в целях руководства различными областями общественной жизни.
72236. Основные понятия конституционного права Республики Казахстан 71.5 KB
  Конституционное право регулирует общественные отношения возникающие в процессе осуществления государственной власти Предмет конституционного права общественные отношения связанные с осуществлением государственной власти и ее организации устройством государства а также между человеком и государством.
72237. Основы конституционного строя Республики Казахстан 90.5 KB
  Устройство государства характеризуется определенными отношениями экономическим политическими социальными которые лежат в основе этого строя. Светский характер государства верховенство права социальный характер государства унитарность политический и идеологический плюрализм.
72238. Нелинейные регрессионные модели 443 KB
  Во-первых зависимость между x и y во всех уравнениях нелинейная. Как всё сказанное влияет на методы отыскания неизвестных коэффициентов β0 β1 Если оба коэффициента входят в уравнение линейно а случайная составляющая e аддитивно то исходная нелинейная функция путем замены переменных...