Забезпечення захисту інформації від несанкціонованного доступу
Вибір засобів розробки програмного продукту. Методи, що забезпечують цілісність, конфіденційність і доступність інформації за умов впливу на неї загроз природного або штучного характеру. Декодування інформації. Організація інтерфейсу з користувачем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 22.01.2019 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Вступ
В наш час особливої актуальності набувають проблеми забезпечення захисту інформації від несанкціонованного доступу, від її витоку та використання іншими людьми. Одним з підходів до вирішення цих проблем є шифрування (кодування) інформації.
Для ефективного використання інформацію необхідно вдало, економічно та обґрунтовано підходити до питання захисту. Тому на даний момент сфера використання програмного продукту для безпеки інформації має великий попит.
Сьогодні все широко використовуються моделі кодування, побудовані за різними алгоритмами та принципами дії. Майже на всіх комп'ютерних системах існують файли які потрібно захистити від сторонніх очей або інтернет атак.
Проблема забезпечення необхідного рівня захисту інформації виявилася дуже складною, вимагаючою для свого вирішення не просто здійснення деякої сукупності наукових, науково-технічних і організаційних заходів і застосування специфічних засобів і методів, а створення цілісної системи організаційних заходів і застосування специфічних засобів і методів по захисту інформації.
Об'єм циркулюючої в суспільстві інформації стабільно зростає. Фактично, на порозі нового тисячоліття людство створило інформаційну цивілізацію, в якій від успішної роботи засобів обробки інформації залежить благополуччя і навіть виживання людства в його нинішній якості. Зміни, що сталися за цей період, можна охарактеризувати таким чином:
Криптографічними засобами захисту називаються спеціальні засоби і методи перетворення інформації, в результаті яких маскується її зміст. Основними видами криптографічного закриття є шифрування і кодування даних, що захищаються. При цьому шифрування є такий вид закриття, при якому самостійному перетворенню піддається кожен символ даних, що закриваються; при кодуванні дані, що захищаються, діляться на блоки, що мають смислове значення, і кожен такий блок замінюється цифровим, буквеним або комбінованим кодом. При цьому використовується декілька різних систем шифрування: заміною, перестановкою, гаммируванням, аналітичним перетворенням шифрованих даних. Широке поширення отримали комбіновані шифри, коли початковий текст послідовно перетворюється з використанням двох або навіть трьох різних шифрів.
Таким чином, створення програмного забезпечення спрямоване на простоту використання та надійного захисту файлів, своїм бездоганним поводженням показуючи нам, що його творці більше працювали над зручністю використання, ніж над привабливим зовнішнім виглядом свого продукту. програмний конфіденційність інформація декодування
Для користувачів важливіше всього зручність і результати. Але все, що вони бачать це інтерфейс. Інакше кажучи, з погляду споживача саме інтерфейс та захист є найважливішим.
Збхист інформації - сукупність методів і засобів, що забезпечують цілісність, конфіденційність і доступність інформації за умов впливу на неї загроз природного або штучного характеру, реалізація яких може призвести до завдання шкоди власникам і користувачам інформації.
Тому для захисту даних в системі використовується метод RSA. Також присутня функція декодування інформації. Розроблений програмний продукт працює на всіх ОС та дуже легким у використанні.
1. Загальний розділ
1.1 Аналіз предметної області
Java - об'єктно-орієнтована мова програмування, випущена компанією SunMicrosystems у 1995 році як основний компонент платформи Java. Зараз мовою займається компанія Oracle, яка придбала Sun Microsystems у 2009 році. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються убайткод, який при виконанні інтерпретується віртуальною машиною для конкретної платформи.
Oracle надає компілятор Java та віртуальну машину Java, які задовольняють специфікації Java Community Process, під ліцензією GNU General Public License.
Мова значно запозичила синтаксис із C і C++. Зокрема, взято за основу об'єктну модель С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім, Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій java дозволяє викликати підпрограми, написані іншими мовами програмування.
Java вплинула на розвиток J++, що розроблялась компанією Microsoft. Роботу над J++ було зупинено через судовий позов компанії Sun Microsystems, оскільки ця мова програмування була модифікацією Java. Пізніше в новій платформі Microsoft.NET випустило J#, щоб полегшити міграцію програмістів J++ або Java на нову платформу. З часом нова мова програмування С#, стала основною мовою платформи, перейнявши багато чого з Java. J# востаннє включався в версію Microsoft Visual Studio 2005. Мова сценаріїв JavaScript має схожу із Java назву і синтаксис, але не пов'язана із Java. На противагу C++, Java об'єктно-орієнтованіша. Всі дані і дії групуються в класи об'єктів. Виключенням з повної об'єктності (як скажімо в Smalltalk) є примітивні типи (int, float тощо). Це було свідомим рішенням проектувальників мови задля збільшення швидкості. Через це, Java не вважається повністю об'єктно-орієнтовною мовою.
У Java всі об'єкти є похідними від головного об'єкта (він називається просто Object), з якого вони успадковують базову поведінку і властивості.
Хоча у C++ вперше стало доступне множинне успадкування, але у Java можливе тільки одинарне успадкування, завдяки чому виключається можливість конфліктів між членами класу (методи і змінні), які успадковуються від базових класів.
У намірах проектувальників Java мала замінити C++ об'єктного наступника мови C. Проектувальники почали з аналізу властивостей C++, які є причиною найбільшого числа помилок, щоби створити просту, безпечну і безвідмовну мову програмування.
В Java існує система винятків або ситуацій, коли програма зустрічається з неочікуваними труднощами, наприклад:
· операції над елементом масиву поза його межами або над порожнім елементом
· читання з недоступного каталогу або неправильної адреси URL.
· ввід недопустимих даних користувачем.
Одна з особливостей концепції віртуальної машини полягає в тому, що помилки (виключення) не призводять до повного краху системи. Крім того, існують інструменти, які «приєднуються» до середовища періоду виконання і кожен раз, коли сталося певне виключення, записують інформацію з пам'яті для відлагодження програми. Ці інструменти автоматизованої обробки виключень надають основну інформацію щодо виключень в програмах на Java.
Проте, мову програмування Java не рекомендується використовувати в системах, збій в роботі яких може призвести до смерті, травм чи значних фізичних ушкоджень (наприклад, програмне забезпечення для керування атомними електростанціями, польотами, систем життєзабезпечення чи систем озброєння) через ненадійність програм.
Java є суворо типізованою мовою, кожна змінна та вираз має тип, відомий на етапі компіляції.
Типи данних Java належать до двох категорій: прості та вказівникові. До простих типів належить булевий(логічний) тип, числові типи та символьний тип.
Числові типи складаються із цілих типів byte, short, int, long та дійсних типів float, double. Символьний тип представлений типом char. Вказівникові типи складаються із класів, інтерфейсів, масивів. Значенням вказівникового типу є вказівник на об'єкт екземпляр класу чи масиву. Рядки є об'єктами класу String.
1.2 Постановка задачі
Темою даного дипломного проекту є «Система захисту інформації на основі закритих ключів».
Інформація в сучасному суспільстві ? одна з найцінніших речей в житті, що вимагає захисту від несанкціонованого проникнення осіб що не мають до неї доступу. Інформаційна безпека визначає захищеність інформації та інфраструктури від випадкових і умисних дій, які можуть завдати значного збитку власникам інформації. Центральне місце серед засобів захисту інформації займає криптографія. Без використання криптографічних методів і алгоритмів неможливо сьогодні представити здійснення таких завдань забезпечення безпеки інформації, як конфіденційність, цілісність і аутентифікація.
Шифрування ? спосіб перетворення відкритої інформації в закриту і назад. Застосовується для зберігання важливої інформації в ненадійних джерелах або передачі її по незахищених каналах зв'язку. Шифрування поділяється на процеси зашифровування і дешифрування.
Якщо безпека алгоритму базується на збереженні самого алгоритму в таємниці, то це обмежений алгоритм. Обмежені алгоритми представляють тільки історичний інтерес, тому що вони не відповідають сучасним вимогам стійкості. Велика або така, що змінюється група користувачів не може використати такі алгоритми, оскільки кожен раз, коли користувач залишає групу, її члени повинні переходити на інший алгоритм. Алгоритм має бути замінений тоді, коли хто-небудь ззовні випадково дізнається секрет.
Обмежені алгоритми не допускають якісного контролю або стандартизації. У кожної групи користувачів має бути свій унікальний алгоритм. Незважаючи на ці недоліки, обмежені алгоритми надзвичайно популярні нині для додатків з низьким рівнем безпеки, коли користувачі не розуміють проблем, пов'язаних з безпекою своїх систем.
Рис. 1 - Принцип роботи систем шифрування з ключем
Також має бути виконано проектування простого інтерфейсу. Необхідно створити діаграми для кращого розуміння предметної області й спрощення проектування всього додатка.
Завдання дослідження:
1. Дослідити методи захисту інформації.
2. Розробити систему захисту інформації на основі закритих ключів.
3. Розробити для системи захисту зрозумілій і зручний інтерфейс.
Відділ складу використовує великі обсяги інформації, формує велику кількість актів та звітності, постійно працює з численними показниками, які потрібно своєчасно та точно підраховувати та аналізувати.
На підприємствах часто застосовуються базові методи інформаційної безпеки. Антивірусна програма Eset Nod32 Antivirus 5, захист серверних систем Cisco Security Agent (CSA), забороняється передавати інформацію, дані через електрону пошту, переносити на флеш накопичувачі. У всіх комп'ютерах закриті входи для usb, для дисків. Тому вся розробка проходить тільки на підприємстві. Кожного дня комп'ютери санірують та перевіряють.
Програма захисту інформації повина містити:
· Алгоритм шифрування.
· Задавати шлях де зберігається файл.
· Задавати шлях збереження файлу.
· Меню вибору дії(Шифрування чи Розшифрування).
· Навігаційне меню.
· Поле відкритого ключа.
· Поле закритого ключа.
Але цього буде замало, нам було поставлене завдання розробити програму яка може зберегти інформацію навіть при проникненні стороннього на підприємство або у випадку проникнення у мережу стороннього.
Критерії вибору алгоритму шифрування:
· Алгоритм повинен забезпечувати високу ступінь безпеки.
· Алгоритм повинен бути повністю описаний і легко зрозумілий.
· Безпека алгоритму повинна базуватись на безпеці ключа і не повинна залежати від безпеки самого алгоритму.
· Алгоритм повинен бути доступним для всіх користувачів.
· Алгоритм повинен мати можливість адаптації, що робило б його доступним для реалізації в інших комп'ютерних системах.
· Алгоритм повинен давати можливість економічної, електронної реалізації.
· Алгоритм повинен бути ефективним у вжитку.
· Алгоритм повинен давати можливість переконатись в правильності роботи.
· Алгоритм повинен відповідати умовам експорту.
За допомогою шифрування забезпечуються три стану безпеки інформації:
· Конфіденційність.
Шифрування використовується для приховання інформації від неавторизованих користувачів при передачі або при зберіганні.
· Цілісність.
Шифрування використовується для запобігання зміни інформації при передачі або зберіганні.
· Ідентифікованість.
Шифрування використовується для аутентифікації джерела інформації та запобігання відмови відправника інформації від того факту, що дані були відправлені саме їм.
Для того, щоб прочитати зашифровану інформацію, приймаючій стороні необхідні ключ і дешифратор (пристрій, що реалізує алгоритм розшифрування). Ідея шифрування полягає в тому, що зловмисник, перехопивши зашифровані дані і не маючи до них ключа, не може ні прочитати, ні змінити передану інформацію. Крім того, в сучасних криптосистемах для шифрування, розшифрування даних можуть використовуватися різні ключі.
Шифрование применяется для хранения важной информации в ненадёжных источниках и передачи её по незащищенным каналам связи. Такая передача данных представляет из себя два взаимно обратных процесса:
· Перед отправлением данных по линии связи или перед помещением на хранение они подвергаются зашифрованию.
· Для восстановления исходных данных из зашифрованных к ним применяется процедура расшифрования.
Алгоритм складається з трьох етапів:
· Генерація ключів.
· Шифрування.
· Дешифрування.
· Процес створення пари ключів.
1.3 Аналіз існуючих способів рішення задачі
Захист інформації - сукупність методів і засобів, що забезпечують цілісність, конфіденційність і доступність інформації за умов впливу на неї загроз природного або штучного характеру, реалізація яких може призвести до завдання шкоди власникам і користувачам інформації.
Метод шифрування - це формальний алгоритм, що описує порядок перетворення вихідного повідомлення в результуюче. Ключ шифрування - набір параметрів (даних), необхідних для застосування методу. Є безліч методів (алгоритмів) шифрування.
Алгоритми шифрування діляться великих класу:
· симетричні (AES, ГОСТ, Blowfish, CAST, DES);
· асиметричні (RSA, El-Gamal).
Написання потужної системи захисту займає дуже багато часу, тому зосередемось на алгоритмі RSA. Цей алгоритм кодування важаться методом з використанням відкритого ключа, наш програмний продукт буде модифікований та використовуватиме також закритий ключ для шифрування інформації.
RSA - це алгоритм асиметричного шифрування який заснований на застосуванні односпрямованих функцій. Схема RSA базується на обчисленні виразів зі степенями. Відкритий текст шифрується блоками, довжина кожного із яких менша за деяке число. Алгоритм використовується у великій кількості криптографічних застосунків. Основні фактори, за допомогою яких можна оцінити або навіть виміряти зручність використання програми, що випливають.
Безпека алгоритму RSA побудована на принципі складності факторизації цілих чисел. Алгоритм використовує два ключі, відкритий і секретний,разом відкритий і відповідний йому секретний ключі утворюють пари ключів. Відкритий ключ не потрібно зберігати в таємниці, він використовується для шифрування даних. Якщо повідомлення було зашифровано відкритим ключем, то розшифрувати його можна тільки відповідним секретним ключем.
Першим кроком є генерація ключа. Треба знайти два простих числа q і p. Число називають простим, якщо воно має тільки два дільника 1, і саме число. Існують різноманітні тести простоти. AKS-тест простоти є детермінованим алгоритмом доведення простоти.
Існують експоненціальні формули, за допомогою яких можна вирахувати прості числа, M(n) = 2n ?1 - це формула Мерсена, або ( ) = 22 +1 n F n - формула Ферма. Числа із цих формул є простими.
Вибирають два досить великі прості числа p і q. Для їх добутку n=p*q значення функції Ойлера дорівнює (n)=(p-1)*(q-1)=n-p-q+1. (4.1) Далі випадковим чином вибирають елемент e, що не перевищує значення (n) і взаємно простий з ним. Іншими словами e є випадковим елементом із множини Z*(n). Для е за алгоритмом Евкліда знаходимо елемент d, обернений до е в Z*(n), тобто такий, що d<(n) і ed1(mod(n)).
Алгоритм шифрування E у системі RSA полягає у піднесенні M до степеня e. Записуємо це так E(M)=Memod(n).В результаті отримується блок криптотексту C=E(M), який також є цифровим записом якогось елемента кільця Zn. DX(EX(M))= EX(DX(M))=M.
В алгоритмі RSA кожен абонент X має пару ключів - загальновідомий відкритий (nX,eX) і таємний dX, який знає лише X і ніхто інший. Таким чином, будь хто може скористатись алгоритмом шифрування EX абонента X, але тільки він сам володіє алгоритмом дешифрування DX. Важливим є виконання таких співвідношень для довільного повідомлення M. Ці співвідношення зводяться до рівностей: (MeX)dX=(MdX)eX=M в ZnX. І виражають той факт, що шифруюче відображення EX та дешифруюче DX є взаємно оберненими.
Припустимо, що абонент А хоче переслати повідомлення M абонентові Б таким чином, щоб той був певен, що повідомлення справді послане абонентом А, а не опонентом. Для цього пропонується такий протокол, в якому (Ea,Da) та (Eb,Db) - алгоритми шифрування да дешифрування абонентів А та Б. Абонент А обчислює C=Eb(Da(M)) і посилає C абоненту Б Абонент Б отримавши C, обчислює M=Ea(Db(C)). Коректність протоколу зводиться до рівності: EA(DB(EB(DA(M))))=M, яка випливає із співвідношення.
Розподіл ключів. Традиційна симетрична система захисту конфіденційності інформації та листування грунтується на наявності надійного каналу для обміну таємними ключами. Цей канал може бути набагато повільнішим, ніж канал для обміну повідомленнями, але безумовно він повинен бути захищеним від посягань суперника(опонента). У типовому класичному випадку такий канал реалізується з допомогою кур'єра, який доставляє ключ від одного користувача до іншого.
В асиметричних криптосистемах проблеми пересилання ключа не існує, адже таємний ключ є особистою власністю кожного абонента мережі, а відкритий ключ перебуває у відкритому доступі. Зазначимо однак, що з появою асиметричних криптосистем симетричні системи не вийшли зі вжитку з тої причини, що останні є набагато швидшими. Фактор же швидкості криптування/декріптування стає визначальним при пересиланні великих обсягів інформації. Проте асиметричні криптосистеми відкривають нові можливості для обміну ключами при використанні симетричних криптосистем. Наприклад, практичним є пересилання ключа тим же каналом зв'язку, що і звичайних повідомлень, але зашифрованого за допомогою асиметричної криптосистеми. И хоча швидкодія криптосистеми з відкритим ключем нижча, для цієї мети вона достатня, адже ключ має невеликі розміри та буде пересилатися значно рідше, ніж звичайні повідомлення.
Характеристики безпеки RSA. Будь-яку асиметричну криптосистему можна зламати, вказавши ефективний спосіб визначення таємного ключа за відкритим. У нашому випадку це означає, розкриття RSA зводиться до задачі:
Знаходження таємного ключа для RSA
Задано: e, n, де n = p*q і НСД(e,(n))=1
Знайти: d таке, що xed x(mod n) для всх x.
Решето Ератосфена - один із відомих способів виписування простих чисел. На відміну від інших методів, тут не використовуються спеціальні функції. Принцип роботи Решета Ератосфена: виписуються всі непарні числа, що починаються з 3 і закінчуються n, де n - максимальне число до якого шукаються прості числа. Всі числа непарні, оскільки серед парних чисел немає простих, окрім числа 2. Отож перше число у списку 3, потім викреслюється кожне третє число, починаючи від наступного після 3, і так до кінця. Потім береться наступне число що не є закресленим, в даному випадку це буде число 5, і викреслюється кожне п'яте число, починаючи від наступного після 5, і так до кінця. Продовжуючи так викреслювати цифри, залишаться тільки прості числа.
Наступним етапом буде знаходження добутку двох простих чисел: n = p*q, де n називається модулем.
Знаходиться значення функції Ейлера ? (n) = ( p ?1)(q ?1), вибирається таке е, що задовольняє умові 1< e < ? (n) та е і ? (n) є взаємно простими. Якщо p - просте, а n - довільне ціле число, то вони взаємно прості тоді і тілько тоді, коли n не ділиться на p. При знаходженні найбільшого спільного дільника (НСД) слід використовувати алгоритм Евкліда:
· є два натуральні числа a та b, де a > b;
· якщо b = 0, то a є шуканим НСД, інакше обчислення повторюються для пари b та залишку від ділення a на b (a mod b);
· НСД(a, b) поки b ? 0 c:= залишок від ділення a на b a:= b b:= c.
Після знаходження НСД вираховується d, так щоб (e * d) ділилося на ? (n), це виглядає так: ed ? 1(mod? (n)) [3, 6] Числа e і d називаються відкритою і секретною експонентами, відповідно. Отже, n та e ? це відкрита частина ключа, а d - секретна. Обов'язковою умовою є знищення пари чисел p та q з метою утримання секретності ключів.
Тепер треба зробити саме шифрування. Для того щоб зашифрувати повідомлення m, яке обов'язково повинно бути менше за n, потрібно обрахувати формулу c = me modn, де с - зашифроване число, m - текст що потрібно зашифрувати, e - частина відкритого ключа та n-модуль [3]. Тобто потрібно цілочисельно поділити число m в степені e на модуль n.
Для розшифрування потрібно виконати операцію m = cd mod n. Таким чином, для зашифрувати текстове повідомлення, кожній букві алфавіту присвоюється двозначне число. Таким чином, будь-яке повідомлення можна зашифрувати числами.
Система захисту інформації на основі методу RSA використовується для захисту програмного забезпечення й у схемах цифрового підпису. Також вона використовується у відкритій системі шифрування PGP.
Проблемою симетричного шифрування є необхідність передачі ключа, для розшифрування інформації, таким чином ключ може бути перехоплений кимось іншим.
Будь хто, знаючи секретний ключ, може розшифрувати інформацію. Тоді як в асиметричному шифруванні є два пов'язаних ключа пара ключів. Відкритий ключ до нього повинні мати доступ всі ті, хто матиме потребу зашифрувати інформацію. Тоді як закритий ключ, повинен бути доступним лише тому хто має право розшифрувати інформацію, за своїм розміром він значно більший від секретного ключа симетричного шифрування.
Будь-яку інформацію, зашифровану за допомогою відкритого ключа можна розшифрувати лише застосовуючи той самий алгоритм, але з використанням відповідного приватного ключа. Також всю інформацію, зашифровану за допомогою приватного ключа, можна розшифрувати лише за допомогою відповідного відкритого ключа. Це означає, що немає необхідності хвилюватись за передачу ключа, відкритий ключ повинен бути публічним. Але асиметричне шифрування є значно повільнішим від симетричного.
При використанні алгоритму симетричного шифрування відправник і одержувач застосовують для шифрування й дешифрування даних один і той самий секретний ключ. Таким чином, алгоритми симетричного шифрування ґрунтуються на припущенні про те, що зашифроване повідомлення не зможе прочитати ніхто, крім того, хто має ключ для його дешифрування. При цьому якщо ключ не скомпрометований, то при дешифруванні автоматично виконується аутентифікація відправника, тому що тільки він має ключ, за допомогою якого можна зашифрувати повідомлення. Таким чином, для симетричних криптосистем актуальна проблема безпечного розподілу симетричних секретних ключів. У зв'язку із цим без ефективної організації захищеного розподілу ключів використання звичайної системи симетричного шифрування в обчислювальних мережах практично неможливо.
Рішенням даної проблеми є використання асиметричних алгоритмів шифрування, які називають криптосистемами з відкритим ключем.
У них для зашифрування даних використовується один ключ, який називають «відкритим» а для дешифрування - інший, який називають «закритим або секретним». Варто мати на увазі, що ключ дешифрування не може бути визначений із ключа зашифрування.
В асиметричних криптосистемах відритий ключ і криптограма можуть бути відправлені по незахищених каналах. Концепція таких систем заснована на застосуванні односпрямованих функцій.
Як приклад односпрямованої функції може служити цілочисленне множення. Пряме завдання - обчислення добутку двох більших цілих чисел p і q, n = p*q. Це відносно нескладне завдання для ЕОМ.
2. Технологічний розділ
2.1 Вибір засобів розробки програмного продукту
Система містить велику кількість інформації й виконує велику кількість функцій. Незалежно від її призначення, система повинна забезпечувати деяким засобом для того, щоб донести людям інформації, який вона володіє й дій, що вона робить. Це виконується при показі списків виборів або користувач має досить досвіду для взаємодії із системою.
Ці списки вибору називаються меню. Меню є головною формою для навігації в системі, і вони створені, для того щоб допомогти користувачеві розібратися в ментальній моделі системи.
Меню є потрібним елементом для користувача. Працюючи з меню користувач швидше орієнтується в програми і розуміє принцип її дії. Однак у меню є й свої проблеми. Недосвідченим користувачам великі системи можуть здатися складними для вивчення. Інформація в меню часто повинна запам'ятовуватися й бути інтегрована на серії вікон.
Якщо кожне меню відділений друг від друга, то взаємодія з ними може бути важко для сприйняття. Слова й фрази можуть бути не коректно сприйняті через користувальницьку недосвідченість побачити взаємини між меню.
Системи захисту інформації дуже швидко розвиваються і дуже складні у використанні. Вони змінюються за формою й застосовуються в різних завданнях. У системах вони використаються, щоб показувати команди й властивості, застосовувані до об'єктів, документам і вікнам. При виборі елемента графічного меню, може відкритися інше меню й показується яке-небудь вікно або виконується яка-небудь операція.
RSA - криптографічний алгоритм з відкритим ключем, що ґрунтується на обчислювальній складності задачі факторизації великих цілих чисел.
Безпека алгоритму RSA побудована на принципі складності факторизації цілих чисел. Алгоритм використовує два ключі відкритий і секретний, разом відкритий і відповідний йому секретний ключі утворюють пари ключів. Відкритий ключ не потрібно зберігати в таємниці, він використовується для шифрування даних. Якщо повідомлення було зашифровано відкритим ключем, то розшифрувати його можна тільки відповідним секретним ключем.
Тому всі велику важливість набуває проблема захисту від несанкціонованого доступу під час передачі та збереженні. Сутність проблеми стала боротьба фахівців із захисту інформації з своїми «опонентами».
Щоб ваша інформація, пройшовши шифрування, перетворилася на «інформаційний сміття», безглуздий набір символів для стороннього, використовуються спеціально розроблені методи алгоритми шифрування. Такі алгоритми розробляються вченими математиками чи цілими колективами співробітників компаній чи наукових центрів.
Алгоритми шифрування діляться великих класу:
· Симетричні.
· Асиметричні.
Симетричні алгоритми шифрування використовують і той ж ключ для зашифровування інформації та на її розшифровку, а асиметричні алгоритми використовують два ключа один для зашифровування, інший для розшифрування.
Якщо зашифровану інформацію необхідно передавати їх у іншому місці, то цьому слід передавати і ключ для розшифрування. Слабка місце тут - це канал передачі якщо він захищений або його прослуховують, то тут для розшифрованих може потрапити до зловмисників. Системи на асиметричних алгоритмах позбавлені цієї вади. Оскільки кожна учасник такої системи має парою ключів: відкритим і закритим. Алгоритм RSA відноситься до асиметричної криптографії.
Існує кілька способів злому RSA. Найбільш ефективна атака: знайти секретний ключ, відповідний необхідному відкритому ключу. Це дозволить нападаючому читати всі повідомлення, зашифровані відкритим ключем і підробляти підписи.
Обчисливши корінь, можна розкрити зашифровані повідомлення і підробляти підписи, навіть не знаючи приватний (private) ключ. Така атака не еквівалентна факторингу, але в даний час невідомі методи, які дозволяють зламати RSA таким чином. Однак, в особливих випадках, коли на основі одного і того ж показника відносно невеликий величини шифрується досить багато пов'язаних повідомлень, є можливість розкрити повідомлення. Згадані атаки - єдині способи розшифрувати всі повідомлення, зашифровані даними ключем RSA.
Існують і інші типи атак, що дозволяють, однак, розкрити тільки одне повідомлення і не дозволяють нападнику розкрити інші повідомлення, зашифровані тим же ключем.
Найпростіше напад на єдине повідомлення атака по передбачуваному відкритому тексту. Нападник, маючи зашифрований текст, припускає, що повідомлення містить якийсь певний текст, наприклад, "Напад на світанку", потім шифрує передбачуваний текст відкритим ключем одержувача і порівнює отриманий текст з наявним зашифрованим текстом.
Таку атаку можна запобігти, додавши в кінець повідомлення кілька випадкових бітів. Інша атака єдиного повідомлення застосовується в тому випадку якщо хтось посилає одне і те ж повідомлення. Таку атаку можна запобігти вводячи в повідомлення перед кожним шифруванням кілька випадкових біт.
Також існують кілька атак по зашифрованому тексту (або атаки окремих повідомлень з метою підробки підпису), при яких нападник створює деякий зашифрований текст і отримує відповідний відкритий текст, наприклад, змушуючи обманним шляхом зареєстрованого користувача розшифрувати підроблене повідомлення.
Зрозуміло, існують і атаки націлені не так на криптосистему безпосередньо, а на вразливі місця всієї системи комунікацій в цілому; такі атаки не можуть розглядатися як злом RSA, так як говорять не про слабкість алгоритму RSA, а скоріше про уразливість його конкретної реалізації.
Наприклад, нападаючий може заволодіти секретним (private) ключем, якщо той зберігається без належних пересторог. Необхідно підкреслити, що для повного захисту недостатньо захистити виконання алгоритму RSA і вжити заходів обчислювальної безпеки, тобто використовувати ключ достатньої довжини. На практиці ж найбільший успіх мають атаки на незахищені етапи управління ключами системи RSA.
За більш ніж десятирічну історію мови Java, змінилося не одне покоління інтегрованих середовищ розробки (Integrated Development Environment - IDE).
Для розробки програмного продукту був використаний IDE Eclipse (див. рис.2.)
Рис.2 - Інтерфейс Eclipse
Еволюція IDE засобів обумовлена безліччю факторів, сукупність яких називається відповідними інформаційними технологіями, які включають в себе математичну, інформаційну, програмну та апаратну складові.
Крім того інформаційні технології та їхнє використання в наш час потребують розвитку відповідних мов прграмування, конструювання та моделювання програмного забезпечення.
Такий розвиток повинен відбуватися не тільки в одному якомусь напрямку, а враховувати потреби різних предметних областей, розв'язання проблем яких потребує розвиток існуючих технологій та створення нових підходів та концепцій до процесів розробки відповідного програмного забезпечення, зокрема, програмного забезпечення для захисту інформаційних потоків, що використовуються сучасними інформаційними технолоргіями.
Зокрема, такий підхід передбачає оптимізацію існуючих можливостей інформаційних технологій, що яскраво демонструє поява та використання нових бібліотек Swing замість застарілих AWT, це поява технологій JSP, більша інтеграція серверами додатків, підтримка технологій Spring.
Eclipse - вільне модульне інтегроване середовище розробки програмного забезпечення різних класів та різного функціонального призначення.
Eclipse розробляється і підтримується Eclipse Foundation. Написаний в основному на Java, це середовище може бути використано для розробки застосунків на Java і, за допомогою різних плагінів, на інших мовах програмування.
Eclipse є, насамперед, повноцінною Java IDE, націленною на групову розробку програмного забезпечення, має засоби роботи з системами контролю версій (підтримка CVS входить у стандарту поставку Eclipse, активно розвиваються кілька варіантів SVN-модулів, існує підтримка VSS та інших).
Враховуючи безкоштовність, у багатьох організаціях Eclipse корпоративний стандарт для розробки програмного забезпечення на Java.
Eclipse являє собою фреймворк для розробки модульних крос-платформових застосунків із низкою особливостей, серед яких, зокрема, можна виділити:
· можливість розробки програмного забезпечення на багатьох мовах програмування (рідною є Java);
· модульність, призначена для подальшого розширення незалежним розробниками програмного забезпечення;
· відкритість відповідного програмног коду;
· розробка та підтримка фондом Eclipse, куди входять такі постачальники програмного забезпечення, як IBM, Oracle, Borland.
· крос-платформенність.
Основою Eclipse є платформа розширеного клієнта (RCP - від англ. rich client platform).
Основу Eclipse складають такі компоненти:
· ядро платформи (завантаження Eclipse, запуск модулів);
· OSGi (стандартне середовище постачання комплектів);
· SWT (стандартний інструментарій віджетів);
· JFace (файлові буфери, робота з текстом, текстові редактори);
· робоче середовище Eclipse (панелі, редактори, проекції, майстри).
Також при створенні програмного продукту дипломного проекту був використаний GNU Debugger.
GNU Debugger - переносимий зневаджувач проекту GNU, який працює на багатьох UNIX-подібних системах і вміє проводити зневадження для багатьох мов програмування, включаючи Ada, Сі, C++, Objective.C, Pascal, Фортран тощо.
GNU Debugger працює на різних апаратних платформах (i386, amd64, ARM, PowerPC, Sparc тощо) і програмних платформах (GNU/Linux, Unix, Windows).
GDB пропонує широкі засоби для спостереження і контролю за виконанням комп'ютерних програм. Користувач може змінювати внутрішні змінні програм і навіть викликати функції незалежно від звичайної поведінки програми.
Зневаджувач не містить власного графічного інтерфейсу і використовує стандартний текстовий інтерфейс консолі. Були створені декілька інтерфейсів, такі як DDD, cgdb, GDBtk / Insight і «GUD mode» в Emacs.
Деякі інші інструменти відлагодження були розроблені, щоб працювати з GDB, наприклад, датчики витоку пам'яті.
Особливості. GDB пропонує великі кошти для стеження і контролю за виконанням комп'ютерних програм. Користувач може змінювати внутрішні змінні програм і навіть викликати функції незалежно від звичайної поведінки програми.
GDB може налагоджувати виконувані файли у форматі a.out, COFF (у тому числі виконувані файли Windows), ECOFF, XCOFF, ELF, SOM, використовувати зневадження в форматах stabs, COFF, ECOFF, DWARF, DWARF2.
Найбільші можливості налагодження надає формат DWARF2. GDB активно розвивається. Для роботи з GDB були створені й інші інструменти налагодження наприклад, датчики витоку пам'яті.
Дистанційне налагодження. При віддаленої налагодженні GDB запускається на одній машині, а налагоджувати програму запускається на інший. Зв'язок здійснюється по спеціальному протоколу через послідовний порт або TCP / IP.
Протокол взаємодії з отладчиком специфічний для GDB, але вихідні коди необхідних підпрограм включені в архів відладчика.
Як альтернатива, на цільовій платформі може бути запущена використовує той же протокол програма gdbserver зі складу пакета GDB, виконуюча низькорівневі функції начебто установки точок зупину і доступу до регістрів і пам'яті.
Цей же режим використовується для взаємодії з вбудованим відладчик ядра Linux KGDB. За його допомогою розробник може налагоджувати ядро як звичайну програму:
· встановлювати точки зупину,
· робити покрокове виконання коду,
· переглядати змінні.
Вбудований відладчик вимагає наявності як мінімум двох персональних комп'ютерів, з'єднаних через мережу (Інтернет, ethernet тощо) або за допомогою послідовного дроту (кабелю).
На одному з двох персональних комп'ютерів повинен бути запущений GDB, на іншому - повинно бути запущене ядро, яке вже є налагодженним.
Мова Java зародилася як частина проекту створення передового програмного забезпечення для різних побутових приладів. Реалізація проекту була почата мовою С++, але незабаром виник ряд проблем. Стало очевидним, що необхідно створити платформо-незалежну мову програмування, що дозволяє створювати програми, що не приходилося б компілювати окремо для кожної архітектури і можна було б використовувати на різних процесорах під різними операційними системами.
Апплети Java. Кожен апплет - це невелика програма, завантажується динамічно по мережі - точно так само, як картинка, звуковий файл або елемент мультиплікації. Головна особливість апплетів полягає в тому, що вони програмами, а не черговим форматом файлів для збереження малюнків або якої-небудь іншої інформації. Апплет не просто виконує одні і ті ж самі дії, а реагує на дії користувача і може динамічно змінювати своєю поведінку.
Оскільки користувачі не відразу змогли цілком освоїти найбільш революційні аспекти Java, ця мова часто порівнювалася з іншими технологіями для завантаження динамічних зображень і простої взаємодії з Web-клієнтами. Компанії, що традиційно займаються розробкою мультимедиа-технологий, наприклад, Adobe або MacroMedia, затверджували, що їхні продукти надають ті ж можливості, що і Java. Можливість виконання завдання будь-яких рівнів взаємодії з користувачем існує лише в тому випадку, коли використовувана для розробки платформа надає полнофункціональне середовище програмування.
Безпека. Один із ключових принципів розробки мови Java полягав у забезпеченні захисту від несанкціонованого доступу. Програми на Java не можуть викликати глобальні функції й одержувати доступ до довільних системних ресурсів, що забезпечує в Java рівень безпеки, недоступний для інших мов. Даний рівень безпеки виконання Java-програм забезпечує віртуальна машина Java, котра вбудована в операційну систему. Об'єктна модель у Java проста і легко розширюється, у той же час, заради підвищення продуктивності прості типи даних Java не є об'єктами.
Надійність. Java обмежує вас у декількох ключових областях і в такий спосіб сприяє виявленню помилок на ранніх стадіях розробки програми. У той же час у ній відсутні багато джерел помилок, властивих іншим мовам програмування. Більшість використовуваних сьогодні програм “відмовляють” в одній із двох ситуацій: при виділенні пам'яті, або при виникненні виняткових ситуацій. У традиційних середовищах програмування при розподілі пам'яті програмісту приходиться самому стежити за усією використовуваною в програмі пам'яттю, не забуваючи звільняти її в міру того, коли вона стає лишньою. Найчастіше програмісти забувають звільняти захоплену ними пам'ять або, що ще гірше, звільняють ту пам'ять, що усе ще використовується якою-небудь частиною програми. Виняткові ситуації в традиційних середовищах програмування часто виникають у таких, наприклад, випадках, як ділення на нуль або спроба відкрити неіснуючий файл, і їх приходиться обробляти за допомогою складних конструкцій Java.
Інтерактивність. Java створювався як засіб, що повинний задовольнити насущну потребу в створенні інтерактивних мережних програм. У Java реалізовано кілька цікавих рішень, що дозволяють писати код, що виконує одночасно масу різних функцій і не забуває при цьому стежити за тим, що і коли повинно відбутися. У мові Java для рішення проблеми синхронізації процесів застосований найбільш елегантний із усіх коли-небудь, винайдених методів, що дозволяє конструювати прекрасні інтерактивні системи. Прості в звертанні витончені підпроцеси Java дають можливість реалізації в програмі конкретної поведінки, не відволікаючись при цьому на побудову глобальної циклічної обробки подій.
Інтерпретація плюс висока продуктивність. Надзвичайна здатність Java виконувати свій код на кожній з підтримуваних платформ досягається тим, що її програми транслюються в якесь проміжне представлення, називане байтом-кодом. Байт-код, у свою чергу, може інтерпретуватися в будь-якій системі, у якій є середовище виконання Java. Більшість ранніх систем, у яких намагалися забезпечити незалежність від платформи, мало величезний недолік -- утратою продуктивності (Basic, Perl). Незважаючи на те, що в Java використовується інтерпретатор, байт-код легко переводиться безпосередньо в “рідні” машинні коди (Just In Time compilers) “на летуі”. При цьому досягається дуже висока продуктивність.
Мова Java, хоч і складніша ніж мови командних інтерпретаторів, все ж таки простіша для вивчення, ніж інші мови програмування, наприклад C++. Характеристики мови є надзвичайно зручними (природними) для вирішення тих або інших завдань і сприяють набуванню хорошого стилю програмування. Оскільки об'єктна модель в Java одночасно проста і виразна, майбутній розробник достатньо швидко освоюється з об'єктно-орієнтованим стилем створення програм.
Простота і потужність. Освоєння основних понять об'єктно-орієнтованого програмування дає можливість достатньо легко освоїти Java. У наші дні існує багато систем програмування, які мають можливість досягнення однієї і тієї ж мети десятком різних способів. У мові Java такий набір рішень є дуже вузький для вирішення завдання у вас буде зовсім небагато варіантів. Прагнення до простоти часто призводить до створення неефективних і невиразних мов типу командних інтерпретаторів. Java до таких мов не належить до послуг розробника надається уся потужність ООП і бібліотПростота вивчення
2.2 Опис програмного продукту
Функціональне призначення
Програма повинна забезпечувати надійне зберігання інформації, повинна займати мінімальний обсяг на диску, мати зручний та зрозумілий інтерфейс. Навіть початковий користувач повинен інтуїтивно орієнтуватися у програмі.
Програма використовує метод шифрування RSA. Для забезпечення найбільшого захисту наших файлів передача ключів повинна відбуватися по закритому каналу зв'язку. Вибір шифрування чи розшифрування відбувається за допомогою ComboBox. В програмі є вибір шляху де лежить наш файл та шлях куди буде зберігатися файл.
Як і в кожній програмі шифрування є функція розшифровки нашого файлу. Для цього потрібно також вибрати метод розшифровки та шлях нашого зашифрованого файлу.
Вхідними даними при зашифруванні є символи вихідного текстового файлу. Вхідні дані передаються в програму при відкритті файлу з допомогою пункту Open File. Вхідними даними при расшифровании є символи зашифрованого файлу. Вхідні дані передаються в програму при відкритті файлу з допомогою пункту меню Open file та вибору методу дешифровки в ComboBox.
Вихідними даними при зашифруванні є символи отриманого текстового файлу. Вихідними даними при расшифровании є символи отриманого текстового файлу з розширенням txt. Символи вихідного файлу утворюються після проходження арифметичної частини алгоритму програми кодовими значеннями символів вихідного текстового файлу.
Зашифрування і розшифрування (одержання вихідних даних) здійснюється шляхом вибору пунктів меню. При зашифруванні або расшифровании необхідно в обов'язковому порядку вибрати пункт меню Open File and Save File для генерації відкритого та закритого ключів використовується текстове вікно куди ми вводимо наш закритий та відкритий ключ, на підставі яких і буде відбуватися перетворення символів вихідного файлу.
RSA відноситься до асиметричних шифрів. У асиметричних шифри використовуються два ключі - відкритий і закритий, які створюються одержувачем повідомлення. Відкриті ключі доступні всім бажаючим і передаються по незахищеному каналу зв'язку. Надсилайте повідомлення шифрується відкритим ключем одержувача.
Відкритий і закритий ключі математично пов'язані один з одним таким чином, що повідомлення, зашифроване одним ключем з пари, можна дешифрировать тільки другий ключем з цієї ж пари ключ.
Схему функціонування програмного продукту на основі шифрування RSA (див. рис. 3.).
Ще однією задачею при програмуванні даного алгоритму є представлення цілих чисел великого розміру в пам'яті, та виконання з ними різноманітних операцій, таких як піднесення до степеня та ділення.
Програма не має чітко виражених частин адміністративної і клієнтської. Тому розглянемо дії користувача і де потрібно розповімо про функціональні можливості адміністратора.
Рис. 3 ? Схема методу шифрування RSA.
Ця програма послідовно затребувана текстовим файлом з інформацією, після чого виробляє шифруваня чи розшифрування, зберігаю вихідний файл. Интерфейс-меню, на відміну консольного інтерфейсу, дозволяє користувачеві вибирати необхідні операції зі спеціального списку, виведеного йому програмою. У цьому вся типі інтерфейсів послідовність дій вибирається самим користувачем відкрити, зберігти, вибрати тощо.
Другі застосовуються при велику кількість варіантів чи його очевидних розбіжностях, наприклад, операції з файлами та постійні операції з цими,хранящимися у тих файлах.
Для реалізації даного проекту використовувалась апаратна платформа на базі Intel:
- процесор Intel® Core™ i7-4770k CPU @ 3.50 GHz
- ОЗУ 16.0 ГБ;
- відеоадаптер NVidia GTX 770.
2.3 Тестування і аналіз результатів
В результаті виконання даної роботи було отримано програмний продукт, який відмінно працює з файлами різних розмірів. Програма підтримує усі ОС с підтримкою Java.
Програма використовує мінімальні ресурси комп'ютера. При написанні проекту працездатність коду на кожному етапі перевірялась. Результати роботи можна перевірити за показниками ефективності та звітами з підприємства стосовно координатних змін, що сталися після оптимізації інтерфейсу.
2.4 Інструкція користувача
Для розробки програми “Система захисту інформації на основі закритих ключів” використовується візуальні засоби Java та служить для кодування інформації яка повинна підняти рівень безпеки та захистити від інтернет атаки. Програма містить три функціональні кнопки, два текстових вікна та ComboBox.
При відкриті програми перед нами з'являється стартова сторінка інтерфейсу програми (див. рис. 4.)
Рис. 4 ? Головне вікно системи захисту інформації
В першу чергу потрібно вибрати файл, інформацію якого треба буде зашифрувати або розшифровувати.
Для вибору файлу з потрібною інформацією слід натиснути кнопку “Open file” та вибрати з відповідного списку файлів наш текстовий файл.
Рис. 5 ? Меню вибору файлу
Після того як вибір зроблено, вибрати шифрування чи розшифрування у вікні ComboBox та вказати шлях де буде створено файл, для цього натискаємо кнопку “Save file” та вказуємо шлях збереження нашого зашифрованого файлу (див. рис. 5.).
В ComboBox можна обрати шифрування чи розшифрування (див. рис. 6.)
Рис. 6 ? Меню вибору методу
Метод шифрування RSA передбачає використання двух ключів (Open (216 символів) and Private (847 символів) ) тому ми повинні ввести відкритий та закритий ключ у відповідні поля (див.рис. 7.).
Рис. 7 ? Поля введення закритого та відкритого ключів
Напишемо повідомлення яке потрібно зашифрувати. Створимо текстовий файл та напишемо в ньому текст (див. рис. 8).
Рис. 8 - Повідомлення до шифрування
Запустимо програму та зашифруємо наше повідомлення. Після завершення ми отримаємо зашифроване повідомлення, яке потрібно буде розшифрувати іншому користувачу (див. рис. 9).
Рис. 9 - Зашифроване повідомлення
Тепер одержувач повинен розширувати наш шифр за допомогою програми і отримати повідомлення яке йому відправляли (див. рис. 10).
Рис. 10 - Розшифроване повідомлення
Розроблений програмний продукт - система захисту інформації на основі методу RSA Програма має простий інтерфейс який буде зрозумілий кожному користувачу на інтуїтивному рівні. Програма має делікатне оформлення та потребує мінімум сили з боку користувача та машини.
3. Організаційно-економічний розділ
3.1 Організація впровадження і супроводу програмного продукту
Програмний продукт масового призначення для захисту інформації, включаючи підготовку обов'язкової (регламентованої) звітності.
Це рішення для ведення захисту в організаціях та використання цих функцій:
· Захист Інформації у межах підприємства;
· Діалог зашифрованими повідомленнями;
· Надання послуг по захисту інформації;
На даний час всі підприємства використовують інформацію яка зберігається в електронному вигляді і потребує шифрування.
Услуги програмного продукту:
· Шифрування;
· Дешифровка;
· Забезпечення надійного спілкування;
Супровід програми:
· оновлення;
· нові звіти та версії;
· навчання.
Гнучкість платформи дозволяє застосовувати для вирішення завдань:
· автоматизація захисту виробництва, бюджетних і фінансових організацій, сфери обслуговування, тощо;
· підтримка оперативного управління та комплексна автоматизація підприємства;
Супровід, чи абонентське обслуговування може знадобитися Вам у випадку, якщо Ви:
· маєте труднощі з оновленнями програм;
· регулярно звертаєтесь з питаннями на Лінію консультацій;
Абонентське обслуговування - це надання комплексу послуг на основі договору, який укладається на тривалий період:
· надання послуг з оновлення та налаштування програмного забезпечення;
· надання вчасної допомоги у підготовці звітності;
· консультації з технології правильної роботи з програмним забезпеченням, яке використовується.
3.2 Організація робочого місця програміста
Науково-технічний прогрес вніс серйозні зміни у умови виробничої діяльності робітників розумової праці. Їхню працю став інтенсивнішим, напруженим, які вимагають значних витрат розумової, емоційної і зниження фізичної енергії. Це зажадало комплексного рішення проблем ергономіки, гігієни та молодіжні організації праці, регламентації режимів праці та відпочинку.
Нині комп'ютерна техніка широко застосовують у всіх областях діяльності. Працюючи з комп'ютером людина піддається впливу низки небезпечних і шкідливих виробничих чинників: електромагнітних полів (діапазон радіочастот: ВЧ, УВЧ і НВЧ), інфрачервоного і іонізуючого випромінювань, шуму й вібрації, статичного електрики і ін. Фундаментальна обізнаність із комп'ютером характеризується значним розумовою напругою і нервно-эмоциональной навантаженням операторів, високої напруженістю зорової праці та досить великий навантаженням на м'язи рук під час роботи з клавіатурою ЕОМ.
Важливе значення має раціональна конструкція і розташування елементів робочого місця, це важливо підтримки оптимальної робочої пози людини-оператора. У процесі роботи з комп'ютером необхідно дотримуватися правильний режим праці та відпочинку. Інакше у персоналу відзначаються значне напруга зорового апарату з її появою скарг на незадоволеність роботою, головний біль, дратівливість, порушення сну, почуття виснаження й болі у власних очах, в попереку, у сфері шиї і руках.
3.3 Характеристика економічного аспекту створення і впровадження програмного продукту
Особливий інтерес для економіста являє ціноутворення на ринку ПЗ, оскільки це питання, незважаючи на його виняткову актуальність, у теорії не вивчалося. У практиці ціноутворення на ПЗ стикаються економічні інтереси одного із самих динамічних та освічених соціальних прошарків, яким безумовно є професійні програмісти, і не прямі інтереси практично всіх інших представників нашого суспільства. Тоді як звичні поняття пропозиції і попиту мають тут не зовсім звичайне значення, а витратний метод, який дає задовільні результати при призначенні цін на програми, що розробляються за індивідуальними замовленнями, не може бути поширений на ПЗ.
Подобные документы
Принципи, цілі та завдання, напрямки робіт із захисту інформації. Суб'єкти системи захисту інформації у Російській Федерації. Основні організаційно-технічні заходи, об'єкти та засоби захисту інформації. Види загроз безпеки, матеріальні носії інформації.
реферат [23,6 K], добавлен 27.03.2010Акт категоріювання. Акт обстеження. Наказ на контрольовану зону. Модель загроз. Технічний захист інформації. Комплексна система захисту інформації. Перелік вимог з захисту інформації. Об'єкти, що підлягають категоріюванню.
курсовая работа [17,6 K], добавлен 19.07.2007Можливі канали витоку інформації. Джерела виникнення електромагнітних полів. Основні параметри можливого витоку інформації каналами ПЕМВН. Розроблення системи захисту інформації. Захист інформації блокуванням загроз без використання засобів ТЗІ.
дипломная работа [80,0 K], добавлен 13.03.2012Вразливість інформації в автоматизованих комплексах. Концепція захисту інформації. Комплекс основних задач при розробці політики безпеки. Стратегія та архітектура захисту інформації. Політика безпеки інформації. Види забезпечення безпеки інформації.
реферат [243,2 K], добавлен 19.12.2010Розгляд засобів конфіденційності інформації, яка міститься в документованому середовищі систем дистанційного навчання. Запропоновані способи поліпшення надійності та захищеності документованої інформації, які базуються на захисті доступу до інформації.
статья [197,4 K], добавлен 22.02.2018Мета і призначення комплексної системи захисту інформації. Загальна характеристика автоматизованої системи установи та умов її функціонування. Формування моделей загроз інформації та порушника об'єкта інформаційної діяльності. Розробка політики безпеки.
курсовая работа [166,9 K], добавлен 21.03.2013Основи безпеки даних в комп'ютерних системах. Розробка програми для забезпечення захисту інформації від несанкціонованого доступу: шифрування та дешифрування даних за допомогою криптографічних алгоритмів RSA та DES. Проблеми і перспективи криптографії.
дипломная работа [823,1 K], добавлен 11.01.2011Визначення функціонального профілю захищеності комп’ютеризованої системи від несанкціонованого доступу і вимог до захищеності інформації від витоку технічними каналами. Вибір та обґрунтування необхідних фізичних та організаційних засобів захисту.
курсовая работа [2,4 M], добавлен 22.11.2014Дослідження криптографічних методів захисту даних від небажаного доступу. Основи безпеки даних в комп'ютерних системах. Класифікаційні складові загроз безпеки інформації. Характеристика алгоритмів симетричного та асиметричного шифрування інформації.
курсовая работа [245,8 K], добавлен 01.06.2014Широке використання інформаційних технологій у всіх сферах життя суспільства. Інформація як об’єкт захисту. Основні види загроз безпеки інформації в комп’ютерних мережах. Несанкційований доступ до інформації і його мета. Порушники безпеки інформації.
реферат [253,2 K], добавлен 19.12.2010