39985

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

Контрольная

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

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

Русский

2013-10-13

24.56 KB

8 чел.

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


 

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

43211. Разработка автоматизированной системы анализа финансового состояния предприятия в условиях неопределенности 1.47 MB
  Основной целью проведения анализа финансового состояния организаций является получение объективной оценки их платежеспособности, финансовой устойчивости, деловой и инвестиционной активности, эффективности деятельности. Для проведения анализа финансового состояния используются следующие группы показателей, характеризующих различные аспекты деятельности организации...
43212. Деталь типа тело вращения – вал-шестерня 2.4 MB
  Изделие – редуктор зубчатый цилиндрический двухступенчатый предназначен для увеличения передаваемого крутящего момента и может быть использован во многих механизмах – лебёдка, станция приводная транспортёров, станция натяжная и др.
43213. Автоматизация листовых штамповочных работ 5.59 MB
  Расчет зависимости частоты вращения ротора серводвигателя от шага подачи ленты валковой подачи от числа ходов ползуна пресса и от фазового угла подачи ленты в зону штампа 3 Экономическая часть 3. При полной автоматизации работы коэффициент использования числа ходов пресса достигает 100 хотя абсолютное число используемых ходов за рабочую смену несколько ниже предельно возможного изза потерь времени на перестановку штампов заправку ленты и т. Работа комплекса начинается с того что рулон ленты устанавливается...
43214. Электропривод цепного транспортера 1.73 MB
  Вращающий момент с вала электродвигателя передается через упругую муфту с вогнутым профилем торообразной оболочки на быстроходный вал двухступенчатого цилиндрического редуктора. ВЫБОР ЭЛЕКТРОДВИГАТЕЛЯ Основными исходными данными для выбора электродвигателя являются мощность на выходном валу привода и частота вращения его вала между которыми существует связь: где: мощность на выходном валу привода кВт; окружная сила тяговое усилие кН; скорость ленты м с; Требуемая мощность электродвигателя где: требуемая мощность...
43215. Інформаційне та комунікаційне забезпечення, зв’язки з громадськістю в системі управлінської діяльності органу державної влади 38.05 KB
  Усі громадяни України, юридичні особи та державні органи мають право на інформацію. Але реалізація права на інформацію громадянами, юридичними особами і державою не повинна порушувати громадські, політичні, економічні, соціальні, духовні, екологічні та інші права, свободи і законні інтереси інших громадян, права та інтереси юридичних осіб.
43216. Проектирование редуктора вертолёта 1.14 MB
  Определение геометрических размеров передачи. Напряжение изгиба четвёртого колеса Проверочный расчет цилиндрических колёс на статическую прочность при перегрузке Выбор оптимального варианта из расчитанных передач Предварительное определение диаметров валов Предварительный подбор подшипников. Определение усилий в зацеплениях. Определение усилий в зацеплениях на второй передаче. Определение реакций в опорах валов Расчёт долговечности подшипников качения. Определение крутящих моментов на всех валах...
43217. Створення ПЗ для віртуального лабораторного стенду засобами LabVIEW 147 KB
  LabVIEW – це універсальне середовище для розробки систем збору, обробки даних та управління експериментом. Дане середовище має велику бібліотеку функцій, методів аналізу (спектральний та кореляційний аналіз, вейвлетний аналіз, методи фільтрації, статистична обробка та ін.), бібліотеки драйверів пристроїв, що відповідають найпоширенішим стандартам. Основою роботи в середовищі LabVIEW є графічне програмування з використанням блок-діаграм, що складаються з функціональних вузлів та зв’язків між ними). Всі дії зводяться до побудови структурної схеми програми в інтерактивній графічній системі з набором всіх необхідних бібліотечних образів, з яких збираються об’єкти.
43218. Реконструкция здания исторической застройки 99.5 KB
  Введение Реконструкция и обновление городской застройки и зданий стали в последние десятилетия одним из основных направлений архитектурностроительной науки что потребовало приобретения студентами соответствующих знаний и навыков закрепляемых в ходе курсовой работы по дисциплине Реконструкция зданий и сооружений. Реконструкция актуальна как для зданий исторической застройки с традиционными конструкциями так и для зданий массового строительства 19501960 гг. В связи с этим программа дисциплины предусматривает выполнение студентами двух...
43219. Реализация интерпретатора для модифицированной грамматики учебного языка MILAN 1.68 MB
  Position текущая позиция в строке просматриваемая лексическим анализатором; Number_String текущая строка программы просматриваемая лексическим анализатором; при любом условии любой символ. Семантические функции к Rсхеме лексического анализатора: y0: подготовка инициализация таблиц и переменных Position=0 Number_String=1; y1: чтение следующего символа программы на языке МИЛАН; y2: увеличение счётчика текущей позиции Position; y3: переход на новую строку в программе увеличение счётчика текущей строки и...