ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Виявлення шкідливих закладок
         

     

    Інформатика, програмування

    ЗМІСТ

    Введення ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 2 < p> 1 Підтвердження автентичності користувачів і розмежування їх доступу докомп'ютерних ресурсів ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3

    2 Типові рішення в організації ключових систем ... ... ... ... ... ... ... ... ... ... ... ... .. 10

    3. Опис програми ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .13

    Висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17

    Додаток А (інтерфейс програми) ... ... ... ... ... ... .... ... ... ... ... ... ... ... ... ... ... ... 18

    Додаток В (лістинг програми) ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
    Література ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 29

    ВСТУП

    Збільшення числа користувачів ЕОМ призвело до необхідності створеннясистем розмежування доступу користувачів до ресурсів як окремо стоїтькомп'ютера, так і до мережевих ресурсів в цілому. Процедури ідентифікації тааутентифікації здійснюються на початковому етапі роботи користувача ідозволяють надати можливість доступу до ресурсів тим, кому цедозволено і, по можливості, запобігти несанкціонований доступ.

    Аутентифікація може виконуватися як процедура введення якої-небудьінформації (пароль), відомої тільки користувачеві, якому належитьідентифікатор. Інший спосіб перевірки автентичності це аутентифікація побіометричних параметрів людини (відбиток пальця, лінії долоні, малюноксітківки ока тощо).

    У ході виконання курсової роботи була створена програма,що дозволяє дозволяти роботу з додатком лише обмеженому колукористувачів. Розмежування доступу проводиться шляхом пропозиції особі,запустивши програму ввести свій особистий код і підтвердитисправжність введенням пароля.

    1. ПІДТВЕРДЖЕННЯ особу користувача і розмежування ЇХ ДОСТУПУ ДО
    Комп'ютерних ресурсів


    1.1. Основні етапи допуску в комп'ютерну систему

    Системою захисту по відношенню до будь-якому користувачеві з метою забезпеченнябезпеки обробки та зберігання інформації повинні бути передбаченінаступні етапи допуску в обчислювальну систему [2]:

    1) ідентифікація;

    2) встановлення автентичності (аутентифікація);

    3) визначення повноважень для подальшого контролю і розмежування доступу до комп'ютерних ресурсів.

    Дані етапи повинні виконуватися і при підключенні до обчислювальної системі (НД) таких пристроїв, як віддалені робочі станції і термінали [2].

    Ідентифікація необхідна для вказівки комп'ютерній системі унікальногоідентифікатора що звертається до неї користувача з метою виконаннянаступних захисних функцій [2]:

    - встановлення автентичності та визначення повноважень користувача при його допуск в комп'ютерну систему;

    - контроль встановлених повноважень та реєстрація заданих дій користувача в процесі його сеансу роботи після допуску даного користувача в НД;

    - облік звернень до комп'ютерної системи.
    Сам ідентифікатор може являти собою послідовність будь-якихсимволів і повинен бути заздалегідь зареєстрований в системі адміністраторомслужби безпеки. У процесі реєстрації адміністратором в базуеталонних даних системи захисту для кожного користувача заносятьсянаступні елементи даних [2]:

    - прізвище, ім'я, по батькові і, при необхідності, інші характеристики користувача;

    - унікальний ідентифікатор користувача;

    - ім'я процедури встановлення автентичності;

    - використовується для підтвердження автентичності еталонна інформація, наприклад, пароль;

    -обмеження на використовувану еталонну інформацію, наприклад, мінімальний і максимальний час, протягом якого вказаний пароль буде вважатися дійсним;

    -повноваження користувача з доступу до комп'ютерних ресурсів.

    Процес встановлення автентичності, званий ще автентифікацією,полягає у перевірці, чи є користувач, який намагається здійснитидоступ у ЗС, тим, за кого себе видає [2].

    Загальна схема ідентифікації та встановлення автентичності користувача прийого доступі в комп'ютерну систему представлена на Рис. 1.1.

    Якщо в процесі аутентифікації справжність користувача встановлена, тосистема захисту повинна визначити його повноваження щодо використання ресурсів
    НД для подальшого контролю встановлених повноважень.

    Основними і найбільш часто вживаними методами встановленняавтентичності користувачів є методи, засновані на використанніпаролів. Під паролем при цьому розуміється деяка послідовністьсимволів, що зберігається в секреті і пред'являється при зверненні докомп'ютерній системі. Введення пароля, як правило, виконують з клавіатурипісля відповідного запиту системи.

    Рис. 1.1. Схема ідентифікації і аутентифікації користувача при його доступі в НД

    Ефективність пральних методів може бути значно підвищена шляхомзаписи в зашифрованому вигляді довгих і нетривіальних паролів наінформаційні носії, наприклад, дискети, магнітні картки, носіїданих у мікросхемах і т.д. У цьому випадку комп'ютерна система повиннавключати спеціальні пристрої і обслуговують їх драйвери для зчитуванняпаролів з цих інформаційних носіїв, а служба безпеки повиннау своєму розпорядженні засоби для формування носіїв з парольним даними.

    Для особливо надійного впізнання можуть застосовуватися і методи, заснованіна використанні технічних засобів визначення суто індивідуальниххарактеристик людини (голоси, відбитків пальців, структури зіниці іт.д.). Проте такі засоби вимагають значних витрат і томувикористовуються рідко.

    Існуючі парольний методи перевірки автентичності користувачів привході у ВС можна розділити на дві групи [2]:

    - методи перевірки автентичності на основі простого пароля;

    - методи перевірки автентичності на основі динамічно змінюється пароля. < p> Пароль підтвердження автентичності користувача при використанні простогопароля не змінюється від сеансу до сеансу протягом встановленогоадміністратором служби безпеки часу його існування
    (дійсності).

    При використанні динамічно змінюється пароля пароль користувачадля кожного нового сеансу роботи або нового переда дії одного паролязмінюється за правилами, що залежать від використовуваного методу.

    1.2. Використання простого пароль

    Процедура впізнання з використанням простого пароля може бутипредставлена у вигляді такої послідовності дій [2]:

    1) користувач надсилає запит на доступ до комп'ютерної системи і вводить свій ідентифікатор;

    2) система запитує пароль; < p> 3) користувач вводить пароль;

    4) система порівнює отриманий пароль з паролем користувача,що зберігаються в базі еталонних даних системи захисту, і дозволяє доступ, якщопаролі збігаються; в іншому випадку користувач до ресурсів комп'ютерноїсистеми не допускається.

    Оскільки користувач може допустити помилку при введенні пароля тосистемою повинно бути передбачено допустиму кількість повторень длявведення пароля.

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

    Згідно методу оборотного шифрування еталонний пароль при занесення добазу еталонних даних зашифрована по ключу, збігається з циметалонним паролем. А введений після ідентифікації пароль користувача дляпорівняння з еталонним також зашифрована, але по ключу, збігається зцим введеним паролем. Таким чином, при порівнянні еталонний і введенийпаролі знаходяться в зашифрованому вигляді і будуть збігатися тільки в томувипадку, якщо вихідний введений пароль співпаде з вихідним еталонним. Прирозбіжності вихідного введеного пароля з вихідним еталонним вихіднийвведений пароль буде зашифровано по іншому, так як ключ шифруваннявідрізняється від ключа, яким зашифрований еталонний пароль, і післязашіфровиванія не співпаде з зашифрованих еталонним паролем

    Для забезпечення можливості контролю правильності введення пароля під часвикористанні необоротного шифрування на вінчестер записується таблицяперетворених паролів. Для їх перетворення використовується однобічнакриптографічний функція y = F (x), що має наступну властивість: дляцього аргументу x значення F (x) обчислюється легко, а за даним yобчислювально складно знайти значення аргументу х, що відповідає даниму. У таблиці паролів зберігаються значення односторонніх функцій, для якихпаролі беруться як аргументи. При введенні пароля система захисту легкообчислює значення функції від пароля поточного користувача і порівнює ззначенням, наведеним у таблиці для користувача з обранимідентифікатором. Порушник, який захопив комп'ютер, може прочитати таблицюзначень функцій паролів, однак обчислення пароля практично нереалізоване.

    Під час роботи з паролями має передбачатися і такий захід, якнеприпустимість їх роздрукування або виведення на екрани моніторів. Томусистема захисту повинна забезпечувати введення користувачами запитаних у нихпаролів без відображення цих паролів на моніторах.

    Можна виділити наступні основні способи підвищення стійкості системизахисту на етапі аутентифікації:

    - підвищення ступеня не тривіальності пароля;

    - збільшення довжини послідовності символів пароля;

    -збільшення часу затримки між дозволеними спробами повторного введення неправильно введеного пароля;

    - підвищення обмежень на мінімальний та максимальний час дійсності пароля.

    Чим не тривіальні пароль, тим складніше його запам'ятати. Погано запам'ятовуєпароль може бути записаний на аркуші паперу, що підвищує ризик його розкриття.
    Виходом тут є використання певного числа не записуваних напапері пробілів або інших символів на початку, всередині, а також в кінціпослідовності основних символів пароля. Крім того, окремі символипароля можуть набиратися на іншому регістрі (наприклад, замість рядкових бутипрописними або навпаки) що також не повинно відображатися на аркуші паперу. Уцьому випадку незаконно одержаний лист паперу з основними символами пароляне буде достатньою умовою розкриття пароля цілком.

    Імовірність підбору пароля зменшується також при збільшенні його довжини ічасу затримки між дозволеними спробами повторного введення неправильновведеного пароля. Очікуваний час розкриття пароля Т, можна обчислити наоснові наступної отриманої експериментально наближеної формули [2]:

    Т> (As * Ty)/2.

    Тут:

    А - кількість символів в алфавіті, використовується для набору символів пароля;

    S - довжина пароля в символах, включаючи пробіли та інші службові символи;

    Ту - час введення пароля з урахуванням часу затримки між дозволенимиспробами повторного введення неправильно введеного пароля.

    Наприклад, якщо А = 26 символів (враховано лише літери англійськоїалфавіту), Ty = 2 секунди, a S = б символів, то очікуваний час розкриття
    Тy приблизно дорівнює одному року. Якщо в даному прикладі після кожноїневдалої спроби введення пароля передбачити тимчасову затримку в 10секунд, то очікуваний час розкриття збільшиться в 5 разів.

    З наведеної вище формули стає зрозуміло, що підвищення стійкостісистеми захисту на етапі аутентифікації можна досягти і збільшенням числасимволів алфавіту, який використовується для набору символів пароля. Такезбільшення можна забезпечити шляхом використання декількох регістрів
    (режимів вводу) клавіатуру для набору символів пароля, наприклад, шляхомвикористання малих і великих латинських символів, а також малі тапрописних символів кирилиці.

    Для виключення необхідності запам'ятовування користувачами довгих інетривіальних паролів в системі захисту може бути передбачена можливістьзапису паролів в зашифрованому вигляді на інформаційні носії, наприклад,дискети, магнітні картки, носії даних у мікросхемах і т.д., а такожзчитування паролів з цих інформаційних носіїв. Така можливістьдозволяє підвищити безпеку за рахунок значного збільшення довжинипаролів, записуваних на носії інформації. Однак при цьому адміністраціїслужби безпеки слід докласти максимум зусиль для роз'ясненнякористувачам НД про необхідність ретельної збереження носіївінформації з їх паролями.

    На ступінь інформаційної безпеки при використанні простогопарольного методу перевірки автентичності користувачів великий впливнадають обмеження на мінімальний та максимальний час дійсностікожного пароля. Чим частіше змінюється пароль, тим забезпечується великабезпеку.

    Мінімальний час дійсності пароля задає час, на протязіякого пароль міняти не можна, а максимальне - час, після закінченняякого пароль буде недійсним. Відповідно, пароль повинен бутизамінений в проміжку між мінімальним і максимальним часом йогоіснування. Тому зрозуміло, що більш часта

    зміна пароля забезпечується за зменшення мінімального і максимальногочасу його дійсності.

    Мінімальна і максимальна час дійсності пароля задаються длякожного користувача адміністратором служби безпеки, який повиненпостійно контролювати своєчасність зміни паролів користувачів.

    1.3. Використання динамічно змінюється пароля
    Методи перевірки автентичності на основі динамічно змінюється паролязабезпечують більшу безпеку, так як частота зміни паролів до нихмаксимальна - пароль для кожного користувача змінюється щодня або черезкілька днів. При цьому кожний наступний па роль по відношенню допопереднього змінюється за правилами, що залежать від використовуваного методуперевірки автентичності.

    Існують наступні методи парольного захисту, засновані навикористанні динамічно змінюється пароля [2]:

    - методи модифікації схеми простих паролів;

    - метод «запит-відповідь»;

    - функціональні методи.

    Найбільш ефективними з даних методів, як стане зрозуміло далі,є функціональні методи.

    1.3.1. Методи модифікації схеми простих паролів.

    До методів модифікації схеми простих паролів відносять випадкову вибіркусимволів пароля і одноразове використання паролів.

    При використанні першого методу кожному користувачеві виділяєтьсядосить довгий пароль, причому кожного разу для впізнання використовуєтьсяне весь пароль, а тільки його деяка частина. У процесі перевіркиавтентичності система запрошує у користувача групу символів за заданиминомером. Кількість символів і їх порядкові номери для запитувизначаються за допомогою датчика псевдовипадкових чисел.

    При одноразовому використанні паролів кожному користувачеві виділяєтьсясписок паролів. У процесі запиту номер пароля, який необхідно ввести,вибирається послідовно по списку чи по схемі випадкової вибірки.

    Недоліком методів модифікації схеми простих паролів єнеобхідність запам'ятовування користувачами довгих паролів або їх списків.
    Запис ж паролів на папір або в записні книжки призводить до появиризику втрати або розкрадання носіїв інформації з записаними на нихпаролями.

    1.3.2. Метод «запит-відповідь»

    При використанні методу «запит-відповідь» у ЗС завчасно створюється іособливо захищається масив питань, що включає в себе як питання загальногохарактеру, так і персональні питання, що відносяться до конкретногокористувачеві, наприклад, питання, що стосуються відомих тільки користувачувипадків з його життя.

    Для підтвердження автентичності користувача система послідовноставить йому низку випадково обраних питань, на які він повинен дативідповідь. Упізнання вважається позитивним, якщо користувач правильновідповів на всі запитання.

    Основною вимогою до питань в даному методі аутентифікації єунікальність, має на увазі, що правильні відповіді на запитання знаютьтільки користувачі, для яких ці питання призначені.

    1.3.3. Функціональні методи

    Серед функціональних методів найбільш поширеними є методфункціонального перетворення пароля, а також метод «рукостискання».

    Метод функціонального перетворення заснований на використанні деякоїфункції F, яка повинна відповідати таким вимогам [2]:

    - для заданого числа або слова X легко вирахувати Y = F (X);

    - знаючи X і Y складно або неможливо визначити функцію Y = F (X).

    Необхідною умовою виконання даних вимогє наявність у функції F (X) динамічно змінюються параметрів, наприклад, поточних дати, часу, номера дня тижня, або віку користувача.

    Користувачеві повідомляється:

    -початковий пароль - слово або число X, наприклад число 31:

    -функція F (X), наприклад, Y = (X mod 100) * D + WJ, де (X mod 100)

    -операція взяття залишку від цілочисельного поділу X на 100, D-поточний номер дня тижня, a W - поточний номер тижня в поточному місяці;

    - періодичність зміни пароля, наприклад, кожен день, кожні три дні або щотижня.

    Паролі користувача для послідовності встановлених періодівдії одного пароля будуть відповідно X, F (X), F (F (X)), F (F (F (X))) іт.д., тобто для 1-го періоду дії одного пароля паролем користувачабуде F ' "1 (X). Тому для того, щоб обчислити черговий парользакінчення періоду дії використовуваного пароля користувачеві не потрібнопам'ятати початковий (вихідний) пароль, важливо лише не забути функціюпарольного перетворення та пароль, який використовується до теперішнього моментучасу.

    З метою досягнення високого рівня безпеки функція перетворенняпароля, що задається для кожного користувача, повинна періодично змінюватися,наприклад, кожен місяць. При заміні функції доцільно встановлювати тановий початковий пароль.

    Згідно з методом «рукостискання» існує функція F, відома тількикористувачеві і нд Ця функція повинна задовольняти тим же вимогам,які визначені для функції, яка використовується у методі функціональногоперетворення.

    При вході користувача в НД системою захисту генерується випадкове числоабо випадкова послідовність символів X і обчислюється функція F (X),визначена для даного користувача (див. Рис. 1.2). Далі X виводитьсякористувачеві, який повинен обчислити F (X) і ввести отримане значення всистему. Значення F (X) і F (X) порівнюються системою і якщо вони співпадають,то користувач отримує доступ в НД

    Рис. 1.2. Схема аутентифікації за методом «рукостискання»

    Наприклад, у ЗС генерується і видається користувачеві випадкове число,що складається із семи цифр. Для омани зловмисника в будь-яке місце числаможе вставлятися десяткова крапка. Як функції F приймається Y =
    () 2 - +.

    Для високої безпеки функцію «рукостискання» доцільно циклічнозмінювати через певні проміжки часу, наприклад, встановлювати різніфункції для парних і непарних чисел місяця.
    Перевагою методу «рукостискання» є те, що ніякої конфіденційноїінформації між користувачем і ПС не передається. З цієї причиниефективність цього методу особливо велика при його застосуванні аобчислювальних мережах для підтвердження автентичності користувачів,намагаються здійснити доступ до серверів або центральним ЕОМ.

    У деяких випадках може виявитися необхідним користувачеві перевіритисправжність тієї НД, до якої він хоче здійснити доступ. Необхідність увзаємної перевірки може знадобитися і коли два користувачі нд хочутьзв'язатися один з одним по лінії зв'язку. Методи простих паролів, а такожметоди модифікації схем простих паролів в цьому випадку не підходять. Найбільшпідходящим тут є метод «рукостискання». При його використанні ніодин з учасників сеансу зв'язку не буде отримувати ніякої секретноїінформації.

    2 ТИПОВІ РІШЕННЯ У ОРГАНІЗАЦІЇ КЛЮЧОВИХ СИСТЕМ

    Розглянемо структури даних та алгоритми ідентифікації і аутентифікаціїна основі ключової інформації, а також ієрархію зберігання ключів.

    Оскільки передбачається виконання процедур як ідентифікації, так іаутентифікації, припустимо, що i-й аутентифікує об'єкт (i-й ключовийносій) містить два інформаційні поля: IDi - незміннийідентифікатор i-го користувача який є аналогом імені івикористовується для ідентифікації користувача, і К, - аутентифікуєінформація користувача, яка може змінюватися і служить дляаутентифікації [1].

    Насправді IDi може відповідати різним користувачам, наприклад носій сенсорної пам'яті Touch Memory містить 8 байт незмінного ідентифікатора носія, але при цьому ТМ може бути передано різним користувачам.

    сукупну інформацію у ключовому носії будемо називати первинної аутентифікує інформацією i-ro користувача. Описана структура відповідає практично будь-якому ключовому носію, що служить для впізнання користувача. Наприклад, ТМ має 8 байт, не перезаписуються неповторним серійного номера, який однозначно характеризує конкретне ТМ, та певний обсяг перезаписуваної пам'яті, відповідний аутентифікує інформації Kj. Аналогічно для носіїв типу пластикових карт виділяється незмінна інформація IDi первинної персоналізації користувачів та об'єкт у файловій структурі карти, що містить Ki.

    Очевидно, що внутрішній аутентифікує об'єкт не повинен

    існувати в комп'ютерній системі тривалий час (більше часу роботи конкретного користувача). Далі, для постійного зберігання

    необхідно використовувати якусь інформацію, перетворену з первинної.
    Розглянемо типові схеми аутентифікації [1].
    Схема 1. У комп'ютерній системі виділяється об'єкт-еталон для ідентифікаціїі аутентифікації (припустимо, що в системі зареєстровано n користувачів).
    Структура об'єкта-еталона для схеми Т показана в таблиці 2.1:

    Таблиця 2.1
    | Номер користувача | Інформація для | Інформація для |
    | | Ідентифікації | аутентифікації |
    | 1 | ID1 | E1 |
    | 2 | ID2 | E2 |
    | ... | ... | ... |
    | n | IDn | En |

    У табл. 2.1. Ei = F (IDi, Кi), де F - функція, для якої можна якісно описати властивість "невідновні" Ki по Еi і IDi.

    "невідновні" Ki описується деякою порогової трудомісткістю ТO рішення задачі відновлення аутентифікує інформації по Ei і IDi, нижче якої не повинна опускатися ні одна оцінка трудомісткості знаходження
    Ki для всіх відомих алгоритмів вирішення даного завдання.

    Крім того, для пари Ki та Kj можливо збіг відповідних значень Е. У зв'язку з цим вводиться ймовірність помилкової аутентифікації користувача РЛА, що обчислюється як умовна ймовірність події
    "відповідність Еi і Ej за умови нетотожності К: і Kj". Ця ймовірність не повинна бути більше деякого граничного значення Р0. На практиці задають Те = 1020 ... 1030, Р0 = 10-7 ... 10-9

    Алгоритм ідентифікації і аутентифікації (схема 1)

    1. Користувач пред'являє свій ідентифікатор (ім'я) ID.

    2. Якщо ID не збігається з жодним IDi, зареєстрованим в комп'ютерній системі, то ідентифікація відкидається - користувач не допущений до роботи, інакше (існує IDi = ID) встановлюється факт
    "користувач, який назвався користувачем i, пройшов ідентифікацію".

    3. Суб'єкт аутентифікації запрошує у користувача аутентіфікатор К.

    4. Суб'єкт аутентифікації обчислює Y = F (IDi, К).

    5. Суб'єкт аутентифікації виробляє порівняння Ei і Y. При збігуфіксується подія "користувач успішно аутентифікований в системі",Інформація користувача для передається в програмні модулі, що використовуютьключі користувачів (система шифрування, розмежування доступу і т.д.), уІнакше аутентифікація відкидається - користувач не допущений дороботі.

    Дана схема може бути модифікована.

    Схема 2. У комп'ютерній системі виділяється об'єкт-еталон, структура якого показана в табл. 2.2 (скажімо, як і в схемі 1, що в системі зареєстровано n користувачів). У таблиці Е, = F (Si, Ki), де Si
    -випадковий вектор, заданий при створенні користувача (тобто при створенні рядки, необхідної для ідентифікації і аутентифікації користувача); F - функція, для якої можна якісно описати властивість "невідновні"
    До по Ei і Si. "Невідновні" Кi, розуміється в тому ж сенсі, як і для схеми 1.

    Таблиця 2.2
    | Номер користувача | Інформація для | Інформація для |
    | | Ідентифікації | аутентифікації |
    | 1 | ID1, S1 | E1 |
    | 2 | ID2, S2 | E2 |
    | ... | ... | ... |
    | n | IDn, Sn | En |

    Алгоритм ідентифікації і аутентифікації (схема 2)

    1. Користувач пред'являє свій ідентифікатор (ім'я) ID.

    2. Якщо ID не збігається з жодним IDi, зареєстрованим вкомп'ютерній системі, то ідентифікація відкидається - користувач недопущений до роботи, інакше (існує IDi = ID) встановлюється факт
    "користувач, який назвався користувачем i, пройшов ідентифікацію".

    3. За IDi виділяється Si.

    4. Суб'єкт аутентифікації запрошує у користувача аутентіфікатор К.

    5. Суб'єкт аутентифікації обчислює Y = F (Si, К).

    6. Суб'єкт аутентифікації виробляє порівняння Ei і Y. При збігуфіксується подія "користувач успішно аутентифікований в КС", вІнакше аутентифікація відкидається - користувач не допущений дороботі.

    Друга схема аутентифікації застосовується в ОС Unix. В якостіідентифікатора ID використовується ім'я користувача (ви запросили по Login), вяк Ki-пароль користувача (запитаний по Password), функція Fявляє собою алгоритм шифрування DES. Еталони для ідентифікації тааутентифікації містяться у файлі Etc/passwd.

    Затвердження (про підміну еталона). Якщо користувач має можливістьзапису об'єкта зберігання еталона, то користувач може бути ідентифікованийі аутентифікований (в рамках розглянутих схем), як будь-якийкористувач [1].

    Доказ. Нехай є користувач i. Покажемо, що він можевидати себе за будь-якого користувача j. Можливість запису в об'єкт,що містить еталони, означає можливість заміни будь-якому записі надовільну. Користувач i змінює j-ю запис на свої параметри IDi і Ei
    (або додатково і Si). При наступної процедури ідентифікації він будепізнаний як користувач j (з побудови та опису схем). Затвердженнядоведено.

    Сенс цього твердження полягає в тому, що можливість запису об'єкта зберігання еталонів повинні мати тільки суб'єкти спеціально виділеного користувача комп'ютерної системи, що відповідає за управління безпекою.

    Зауважимо, що необхідною вимогою стійкості схем аутентифікації до відновлення інформації Ki є вимога випадкового рівноймовірно вибору Кi з безлічі можливих значень. Ця вимога, як вже було зазначено, автоматично знижує цінність систем парольного аутентифікації, оскільки в них вибір аутентифікує інформації відбувається з невеликого безлічі осмислених слів, потужність якого визначається ентропією відповідної мови.
    Розглянемо тепер ієрархію зберігання і використання ключів за умови наявності в комп'ютерній системі криптографічного підсистеми, що включає алгоритм шифрування Е, алгоритм розшифрування D і вихідні об'єкти O1, ...,< br> Оn, зашифровані на ключах ki, ..., kn. Результатом зашифрування вихідних об'єктів є об'єкти доступу в системі: Y1, .... Yn. При цьому Yj =
    E (0j, kj), Oj = D (Yj, kj). Нехай власнику ключа Kj необхідно забезпечити доступ до об'єкта Yj (доступ на увазі можливість розшифрування Yj).
    Для цього він повинен знати ключ kj. Очевидно, що потрібні додаткові об'єкти зберігання зашифрованих ключів (табл. 2.3). З урахуванням того, що до об'єкта Yj можуть мати доступ декілька користувачів, об'єкт уj може містити кілька подоб'ектов виду E (kj, Km), де Km - ключ m-ro користувача.

    Таблиця 2.3
    | Об'єкт доступу | Додатковий |
    | | Об'єкт |
    | Y1 | Y1 = E (k1, Кj) |
    | Y2 | Y2 = E (k2, Кj) |
    | ... | ... |
    | Yn | Yn = Е (kn, Кn) |

    Алгоритм доступу

    1. Користувач i ідентифікується і аутентифікує в комп'ютернійсистемі. При позитивному результаті ключ користувача Кj доступний суб'єктам
    (програм) системи, що регулює доступ до об'єктів.

    2. Користувач здійснює доступ до зашифрованого об'єкту Yj.
    Виконується пошук додаткового об'єкта уj. В об'єкті уj перевіряєтьсянаявність E (kj, Ki), тобто ключа доступу до об'єкта, зашифрованого на ключікористувача. Якщо E (kj, Кi) не знайдено, то доступ користувача відкидається.
    Інакше виконуються наступні дії.

    3. Проводиться розшифрування ключа kj = D (yj, Ki), а потім --розшифрування об'єкта Oj = D (Yj, ki).

    Під об'єктами доступу можуть розумітися абоненти розподіленої системи
    (мережі зв'язку). У цьому випадку ключ kj є ключем взаємодії міжкористувачем i і абонентом j (це може бути також користувач, термінал,принтер і т.д.). При розгляді мережі зв'язку зазвичай оперують матрицеюключів, яка в явному вигляді відображає топологію зв'язків у системі.

    3. ПРОГРАМА

    3.1.ОПІСАНІЕ ПРОГРАМИ.

    3.1.1 використовується процедура впізнання.

    У програмі закладена процедура впізнання з використанням простогопароля. Системою передбачено обмежену кількість повторень для введенняпароля. При третьому поспіль неправильному введенні ідентифікаційних абоаутентифікаційні даних програма припиняє роботу.

    У базі еталонних даних системи захисту паролі зберігаються взашифрованою формі. При цьому використовується шифрування методом гамування.
    Як ключ шифрування використовується псевдовипадкових послідовністьбітів, отримана за допомогою лінійного конгуертного генератора [3].

    Цей генератор виробляє послідовність псевдовипадкових чисел Y1,
    Y2, ... Yi-1, Yi, ..., використовуючи співвідношення:

    Yi = (a * Yi-1 + b) mod m,де Yi-iе (поточний) число послідовності; a-множник (коефіцієнт); b -приріст; m-модуль; Y 0-породжує число (початкове значення).

    Дане рівняння генерує псевдовипадкові числа з періодомповторення, який залежить від обираних значень параметрів a, b, m і можедосягати значення m.

    3.1.2 Розподіл ключів.

    Програма дозволяє встановлювати до десяти різних ідентифікаторівкористувачів і паролів до них. Довжини ідентифікатора і пароля збігаються іскладають по десять символів кожний. Що дозволяє забезпечити достатнюступінь захисту, тому що при спробі проникнути до програми, не знаючи паролянавіть при відомому ідентифікаторі використовуючи метод простого перебору ключів,потребує близько 18010 повторень введення пароля. Це досягається тим, що привиборі ключів допускається використання будь-яких символів обох регістрівклавіатури за винятком клавіші 'пробіл'.

    Пароль адміністратора є постійним і не може бути зміненийжодними способами крім внесення змін в код програми з подальшоюперекомпіляції вихідних модулів.

    3.1.3 Можливості адміністратора.

    Адміністратор може переглядати та редагувати список користувачівпрограми, а також змінювати їх ідентифікатори та паролі. Він також маєможливість переглядати і періодично очищати автоматично ведетьсяжурнал аудиту, в який заноситься інформація які ідентифікатори і паролівикористовуються при спробах входу в програму і результат роботи процедуривстановлення автентичності (дозволено/не дозволено вхід).

    3.2 АЛГОРИТМ ПРОГРАМИ.

    Укрупнений алгоритм основного модуля програми ( 'UNITKURS1.PAS')наведено на малюнку 3.1

    3.2.1 Перевірка паролів.

    Перевірка паролів здійснюється в такий спосіб: з файлу
    'password.txt' проводиться читання таблиці ідентифікаторів і паролів, потімвідбувається звірка введеного ідентифікатора з ідентифікаторамивизначеними для різних користувачів. У разі позитивногорезультату претенденту дозволяється допуск до додатка.

    Файл 'password.txt' має постійний розмір 350 байт, по 35 байт накожного користувача. Його відсутність в одній директорії з виконуваниммодулем програмиабо інший розмір призведе до помилки під час роботи програми.

    3.2.2 Запис у журнал аудиту.

    При кожній спробі входу в автоматично ведеться журнал аудитуробиться запис, що складається з 30 байт:

    -перше десять байт це ідентифікатор, що ввів користувач;

    -наступні десять байт це пароль;

    -в останні десять байт заноситься інформація про результат перевіркисправжності.

    3.2.3 Адміністрування доступу (рис 3.2).

    При введенні ідентифікатора і пароля адміністратора з'являється вікно (див.додаток А) в якому відображаються:

    -інформація про користувача (наприклад, прізвище);

    -код користувача;

    -пароль користувача.

    Адміністратор може вносити зміни в таблицю змінюючи інформацію вокремих елементах таблиці або стерти всю таблицю цілком.

    Рис 3.1

    так

    немає

    так

    немає

    Рис 3.2

    ВИСНОВОК

    У курсовій роботі були розглянуті існуючі процедури впізнанняі наведені типові рішення в організації ключових систем. На підставірозглянутого матеріалу можна зробити висновок про те, що:

    -паролі в системі повинні обов'язково зберігатися в зашифрованому вигляді;

    -рядові користувачі не повинні мати доступ до еталонної інформації;

    -повинна бути знайдена 'золота середина' між легкістю запам'ятовуванняпароля і його не тривіальний.

    На підставі розглянутих процедур була створена програма,дозволяє розмежовувати доступдо якого-небудь окремо взятомудодатком, що працює в операційному середовищі Windows.

    У додатку В представлений лістинг вихідного модуля програми. Так якпрограма носить ознайомчий характер, то запуск програми імітуєтьсявикликом повідомлення, що говорить про те, що процедура встановлення автентичностіпройдено успішно.

    ДОДАТОК A (ІНТЕРФЕЙС ПРОГРАМИ)

    5. ДОДАТОК B (Лістинг ПРОГРАМИ).

    unit Unitkurs1; (головний) interface uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
    Dialogs,

    StdCtrls, Mask; type

    TForm1 = class (TForm)

    Label1: TLabel;

    EditID: TEdit;

    Label2: TLabel;

    EditPSW: TMaskEdit;

    Button1: TButton;

    Button2: TButton;

    Label3: TLabel; procedure Button2Click (Sender: TObject); procedure Button1Click (Sender: TObject); private

    (Private declarations) public

    (Public declarations) procedure Generator; end; var

    Form1: TForm1;

    F_Mag,

    F_PSW: file of char; (змінна, пов'язана з файлом 'password.txt') i, j, l , flag, i1, f (Yo): integer; y: integer; (псевдовипадкове число)

    UserMatrix: array [1 .. 10,1 .. 3] of string; (масив прізвищ,ідентифікаторів і паролів користувачів)

    Surname: array [1 .. 150] of char; (масив прізвищ користувачів)

    IDs: array [1 .. 100] of char; (масив ідентифікаторів користувачів)

    PSWs: array [1 .. 100] of char; (масив паролів користувачів) stroca, Ident, Psword: string; xxx: char; const

    Yo: integer = 14; implementation uses Unitkurs, Unitkurs3;

    ($ R *. DFM)

    (процедура реалізує ЛІНІЙНИЙ КОНГУЕНТНИЙ ГЕНЕРАТОР) procedure Tform1.Generator; begin y: = (31 * y 17) mod (257); end; procedure TForm1.Button2Click (Sender: TObject); begin close end;

    (натиснення кнопки 'взяти') procedure TForm1.Button1Click (Sender: TObject); begin

    if (EditID.Text = 'admin') and (EditPSW.Text = 'password') then Form2.Visible: = true else (якщо не адміністратор) begin

    Ident: = EditId.Text;

    Psword: = EditPSW.Text; i: = 1; repeat if i> length (Ident) then Ident: = Ident + ''; if i> length (Psword) then Psword: = Psword + ''; i: = i +1; until i> = 11;

    (запис у журнал аудиту)

    ($ I-)

    AssignFile (F_Mag, 'audit');

    Reset (F_Mag);

    ($ I +) if IOResult0 then begin Rewrite (F_Mag); y: = Yo end else begin if FileSize ( F_Mag) = 0 then y: = Yo else begin y: = yo;

    f: = 20 * round (FileSize (F_Mag)/30); i: = 1; repeat generator; i: = i +1 until i> = f +1; end; end;

    Seek (F_Mag, FileSize (F_Mag)); i: = 1; repeat generator; xxx: = Chr ((ord (Ident [i ])) xor (y ));

    Write (F_Mag, xxx); i: = i +1; until i> = 11; i: = 1; repeat generator; xxx: = Chr (( ord (PSWord [i])) xor (y ));

    Write (F_Mag, xxx); i: = i +1; until i> = 11;

    (читання інформації з файлу)

    Y: = 14;

    AssignFile (F_PSW, 'password.txt');

    Reset (F_PSW);

    (прізвища) j: = 1; repeat

    Read (F_PSW, Surname [j]); j: = j +1 until j> = 151;

    (ідентифікатори ) j: = 1; repeat

    Read (F_PSW, IDs [j]); generator; ids [j]: = chr ((ord (ids [j])) xor (y)); j : = j +1 until j> = 101;

    (паролі) j: = 1; repeat

    Read (F_PSW, PSWs [j]); generator;

    PSWs [j]: = chr ((ord (PSWs [j])) xor (y)); j: = j +1 until j> = 101;

    CloseFile (F_PSW);

    (збір в масив UserMatrix) i: = 1; repeat stroca :=''; j: = 1; repeat if Surname [(i-1) * 15 + j] '' then stroca: = stroca + Surname [(i-
    1) * 15 + j]; j: = j +1 until j> = 16;

    UserMatrix [i, 1]: = stroca; i: = i +1 until i> = 11; i : = 1; repeat stroca :=''; j: = 1; repeat if IDs [(i-1) * 10 + j] '' then stroca: = stroca + IDs [(i-1) * 10 + j] ; j: = j +1 until j> = 11;

    UserMatrix [i, 2]: = stroca; i: = i +1 until i> = 11; i: = 1; repeat stroca: =''; j: = 1; repeat if PSWs [(i-1) * 10 + j] '' then stroca: = stroca + PSWs [(i-1) * 10 + j]; j: = j +1 until j> = 11;

    UserMatrix [i, 3]: = stroca; i: = i +1 until i> = 11;

    (ідентифікація і автентифікація) flag: = 0; i: = 1; repeat if (EditID.Text = UserMatrix [i, 2]) and (EditPSW.Text = UserMatrix [i, 3]) and

    (EditID.Text'') then begin

    Flag: = 1; i1: = i end; i: = i +1 until i> = 11; if flag = 1 then begin xxx: = 'y'; i: = 1; repeat

    Write (F_Mag, xxx); i: = i +1 until i> = 11;

    CloseFile (F_Mag);

    Form3.Visible: = true; end else begin xxx: = 'n'; i: = 1; repeat

    Write (F_Mag, xxx); i: = i +1 until i> = 11;

    CloseFile (F_Mag) end; end; end; end.

    unit Unitkurs; (адміністрування)interfaceuses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, Grids, ComCtrls;type
    TForm2 = class (TForm)

    ButtonAdd: TButton;

    ButtonDel: TButton;

    Button3: TButton;

    Button1: TButton;

    StringGrid1: TStringGrid; procedure FormActivate (Sender: TObject); procedure ButtonAddClick (Sender: TObject); procedure ButtonDelClick (Sender: TObject); procedure Button3Click (Sender: TObject); procedure Button1Click ( Sender: TObject); private

    (Priv

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status