39985

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

Контрольная

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

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

Русский

2013-10-13

24.56 KB

9 чел.

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 - учетные записи домена.


 

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

61124. Давньоєврейське царство. Халдейське царство 68 KB
  Мета: розглянути історію переселення євреїв виникнення Ізраїлю періоди правління Давида й Соломона розпад Давньоєврейського царства; ознайомити учнів з історією утворення Халдейського царства його розвитком у період економічного і культурного розквіту...
61125. ТЕМАТИЧНА КОНТРОЛЬНА РОБОТА № 2 (ТЕСТОВІ ЗАВДАННЯ). ВИВЧАЛЬНЕ ЧИТАННЯ МОВЧКИ 74.5 KB
  Мета: оцінити рівень навчальних досягнень учнів з теми «Головні члени двоскладного речення»; перевірити знання й уміння щодо ролі підмета і присудка в мовленні; з’ясувати можливі недоліки в знаннях учнів з метою усунення їх; ознайомити восьмикласників з вивчальним різновидом читання текстів мовчки...
61126. Перська держава 56 KB
  Мета: ознайомити учнів із природою і населенням Іранського нагіря історією створення Перської держави; дати уявлення про розвиток Перської держави в період царювання Дарія І розкрити причини загибелі Перської держави.
61127. ОЗНАЧЕННЯ УЗГОДЖЕНЕ Й НЕУЗГОДЖЕНЕ 391.76 KB
  Поглибити знання учнів про означення як другорядний член речення; сформувати поняття про узгоджене й неузгоджене означення; розвивати вміння визначати вид означень у реченнях, трансформувати узгоджені означення в неузгоджені та навпаки, удосконалити навички доречно використовувати означення як в усному
61128. Кіммерійці та скіфи на території сучасної України 68 KB
  Мета: ознайомити учнів із господарським життям, культурною спадщиною та релігійними віруваннями кіммерійців і скіфів; розглянути причини, хід та наслідки скіфо-перських війн; розширити знання школярів про давню історію нашої держави.
61129. ПРИКЛАДКА ЯК РІЗНОВИД ОЗНАЧЕННЯ. НАПИСАННЯ НЕПОШИРЕНИХ ПРИКЛАДОК ЧЕРЕЗ ДЕФІС. ПРИКЛАДКИ, ЩО БЕРУТЬСЯ В ЛАПКИ 27.09 KB
  Мета: сформувати в учнів поняття про прикладку як різновид означення, його функцію в реченні; розвивати правописні вміння написання прикладок з означуваними словами окремо, через дефіс та в лапках...
61130. ДОДАТОК ЯК ДРУГОРЯДНИЙ ЧЛЕН РЕЧЕННЯ 388.1 KB
  Поглибити знання учнів про додаток як другорядний член речення; сформувати поняття про прямий і непрямий додаток; розвивати вміння визначати вид додатків у реченнях, розрізняти додаток і неузгоджене означення, удосконалити навички доречно використовувати додатки у власному мовленні
61131. Давня Індія 67.5 KB
  Мета: розповісти про природно-кліматичні умови і географічне положення Індії; ознайомитися з найдавнішими цивілізаціями долин річок Інд і Ґанґ; удосконалити навички встановлення взаємозвязку між географічним положенням і господарським розвитком країни...
61132. УСНИЙ ТВІР-ОПИС ПАМ’ЯТКИ ІСТОРІЇ ТА КУЛЬТУРИ ЗА КАРТИНОЮ В ПУБЛІЦИСТИЧНОМУ СТИЛІ 44.58 KB
  Ознайомити восьмикласників з вимогами до написання твору-опису за картиною в публіцистичному стилі; закріпити знання про опис як тип мовлення, його особливості та структуру; удосконалити вміння учнів усно складати твір-опис за картиною..