Главная страница
Навигация по странице:

  • Наименование и цель работы

  • Описание порядка выполнения работы

  • Выводы по работе

  • Программный код

  • Лабораторная работа Информационная безопасность. лр2, Аминев. Лабораторная работа 2 Реализация генератора паролей с заданными требованиями


    Скачать 80.17 Kb.
    НазваниеЛабораторная работа 2 Реализация генератора паролей с заданными требованиями
    АнкорЛабораторная работа Информационная безопасность
    Дата20.11.2021
    Размер80.17 Kb.
    Формат файлаdocx
    Имя файлалр2, Аминев.docx
    ТипЛабораторная работа
    #277296


    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение
    высшего образования
    «Уфимский государственный нефтяной технический университет»

    Кафедра «Вычислительная техника и инженерная кибернетика»
    информационнАЯ безопасность
    Лабораторная работа №2

    Реализация генератора паролей с заданными требованиями
    Вариант №_2_


    Выполнил: студент группы №_БПО-19-01_

    очного отделения

    Аминев А.А.________

    (Ф.И.О. студента)

    Проверил: доцент

    кафедры ВТИК

    Филиппова А,Г.

    (Ф.И.О. преподавателя)

    Уфа, 2021 г.


    СОДЕРЖАНИЕ



    ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 2

    ПРАКТИЧЕСКАЯ ЧАСТЬ 3

    Наименование и цель работы 4

    Описание порядка выполнения работы 4

    Выводы по работе 5

    СПИСОК ЛИТЕРАТУРЫ 6

    ПРИЛОЖЕНИЯ 7

    Программный код 8

    Результаты выполнения программы 8


    ТЕОРЕТИЧЕСКАЯ ЧАСТЬ


    Большое значение при реализации СЗИ имеют подсистемы идентификации и аутентификации пользователей. Как правило, на переднем крае обороны используются парольные подсистемы аутентификации пользователей. В данных подсистемах пользователь аутентифицируется по паролю, известному только ему и ни кому более.

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

    Ниже перечислены основные требования, которые должны быть учтены при выборе пароля пользователя.

    Минимальная длина пароля должна быть не менее 6 символов. Сокращение длины пароля во многом повышает вероятность успешной атаки полным их перебором.

    Пароль должен состоять из различных групп символов (малые и большие латинские буквы, цифры, специальные символы ‘(’, ‘)’, ‘#’ и т.д.). Использование одной конкретной группы символов при формировании пароля в значительной степени повышает вероятность успешной атаки по маске.

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

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

    Иногда, генераторы паролей могут использовать при данном генерировании элементы, входящие в идентификатор пользователя (отдельные его символы, количество символов и т.д.). В отдельных вариантах, пароль может формироваться даже целиком из идентификатора на основе некоторого алгоритма. В последнем случае, заданному идентификатору пользователя ставится в соответствие единственный пароль, который формируется на основе идентификатора. Данный вариант формирования пароля используется во многих коммерческих программах, требующих регистрации пользователя (например, WinZip).

    ПРАКТИЧЕСКАЯ ЧАСТЬ



    Наименование и цель работы



    ЗАДАНИЕ. Реализация программы – генератор паролей.

    Цель работы: реализация простейшего генератора паролей, обладающего

    требуемой стойкостью к взлому.

    Описание порядка выполнения работы


    1. Выбран язык программирования Python.

    2. Изучен материал в разделе 1.2 – 1.3.

    3. В таблице 1 найти требования, которым должен удовлетворять

    генератор паролей, соответствующий 2 варианту.

    Количество символов пароля – 7.

    1. b1b2b3 - случайные малые буквы английского алфавита.

    2. b4b5 - случайные заглавные буквы английского алфавита.

    3. b6b7 - двузначное число, равное N^4mod100 . (Если остаток – однозначное число, то b6=0)

    4. Написать программу-генератор паролей, в соответствие с требованиями

    2 варианта. Программа должна выполнять следующие действия:

    4.1 Ввод идентификатора пользователя с клавиатуры. Данный идентификатор представляет собой последовательность символов , где N – количество символов идентификатора (может быть любым), - i – ый символ идентификатора пользователя.

    4.2 Формирование пароля пользователя для данного идентификатора, где M – количество символов пароля, соответствующее Вашему варианту, и вывод его на экран. Алгоритм получения символов пароля указан в перечне требований Таблицы 1 для 2 варианта.
    Текст программного кода на Python:
    import string #AminevArsen, BPO-19-01

    import random
    print('Идентификатор пользователя: ')

    id=input()

    def password_generator():

    upper_english_letters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "M", "N", "L", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]

    lower_english_letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "l", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]

    N = len(id)

    b1 = random.choice(lower_english_letters)

    b2 = random.choice(lower_english_letters)

    b3 = random.choice(lower_english_letters)

    b4 = random.choice(upper_english_letters)

    b5 = random.choice(upper_english_letters)

    b6 = N ** 4 % 100

    if b6 > 9: b6 = 0

    b7 = N ** 4 % 100

    if b7 > 9: b7=int(str(b7)[0])

    return str(b1)+str(b2)+str(b3)+str(b4)+str(b5)+str(b6)+str(b7)
    print('Пароль: ')

    print(password_generator())
    (Результаты реализации в приложении)


    Выводы по работе
    В данной лабораторной работе я реализовал простейший генератор паролей, обладающий требуемой стойкости к взлому.
































    СПИСОК ЛИТЕРАТУРЫ



    1. Ковалевский В., Криптографические методы. — СПб.: Компьютер Пресс.

    2. Баричев С. Г., Гончаров В. В., Серов Р. Е. Основы современной криптографии. — М.: Горячая линия — Телеком, 2002.

    3. Баричев С. Введение в криптографию. Электронный сборник. Вече1998.


    ПРИЛОЖЕНИЯ



    Программный код




    Результаты выполнения программы






    написать администратору сайта