- •Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)
- •1. Програмування, системне програмування
- •Системнепрограмування
- •1. Мови програмування та їх класифiкацiя.
- •2. Системнепрограмування
- •2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
- •3. Структуризація програм та даних. Підпрограми, функцiї.
- •4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.
- •5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.
- •6. Інструментальні засоби розробки інформаційних технологій, case-технології
- •2. Системнепрограмування
- •7. Cучасні технології програмування та тенденції їх розвитку.
- •2. Системнепрограмування
- •8. Об’єктно-орієнтоване програмування. Мова Java.
- •2. Системнепрограмування
- •9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системнепрограмування
- •10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системнепрограмування
- •11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.
- •2. Системнепрограмування
- •12. Ll(k)-граматики. Перевірка ll(1)-умови. Побудова ll(1)-таблиці для управління синтаксичним ll(1)-аналізатором.
- •2. Системнепрограмування
- •13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.
- •2. Системнепрограмування
- •14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •2. Інформаційні технології
- •1. Уніфікована мова моделювання uml. Діаграми прецедентів
- •2. Використання діаграм послідовностей та діаграм класів при проектуванні програмних систем.
- •3. Патерни проектування
- •Класифікації патернів:
- •4. Платформа .Net Framework.
- •5. Сервісно-орієнтована архітектура
- •6. Огляд технологій j2ee. Технологія Java rmi.
- •8. Патерн Model-View-Controller у Web-проектах.
- •9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
- •10. Проблема валідації даних у Web-проектах. Підтримка ajax.
- •3. Інформаційні мережі
- •1. Інформаційна глобальна мережа internet (написано много, выбрать главное)
- •Internet надає такі основні види послуг:
- •2. Система доменних імен глобальної мережі internet.
- •3. Система електронної пошти глобальної мережі internet.
- •4. Системи інтерактивних комунікацій глобальноїмережі internet (на прикладі Skype, icq).
- •5. Системи електронних спільнот глобальної мережі internet (на прикладі Facebook, Twiter).
- •6. Поняття універсального вказівника ресурсу. Основні типи ресурсів.
- •7. Мережі tcp/ip.Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •8. Поняття раутінгу в мережах tcp/ip. (аккуратно, перевод через гугл транслейт!!!)
- •9. Технології, що забезпечують відмовостійкість мереж tcp/ip. (ответ не очень)
- •10.Класифікація комп’ютерних мереж.
- •11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
- •4. Математична логіка та теорія алгоритмів, теорія програмування
- •9. Основні поняття програмування, відношення між ними. Основні програмні поняття Розвиток основних понять програмування
- •Композиції
- •11. Методи подання синтаксису мов програмування.
- •4.8.1. Нормальні форми Бекуса–Наура
- •4.8.2. Модифіковані нормальні форми Бекуса–Наура
- •4.8.3. Синтаксичні діаграми
- •Визначення основних понять формальних мов
- •4.3. Операції над формальними мовами
- •13. Неперервні відображення.Теореми про найменшу нерухому точку (Кнастер-Тарський-Кліні); теорема про неперервність оператора нерухомої точки.
- •14. Методи формальної семантики мов програмування (композиційна, натуральна, денотаційна, аксіоматична).
- •5. Штучний інтелект
11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
(аккуратно, перевод с русского)
PGP (англ. PrettyGoodPrivacy) — компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде, в том числе прозрачное шифрование данных на запоминающих устройствах, например, на жёстком диске.
Механізм роботи PGP
Шифрування PGP здійснюється послідовно хешуванням, стисненням даних, шифруванням з симетричним ключем, і, нарешті, шифруванням з відкритим ключем, причому кожен етап може здійснюватися одним з декількох підтримуваних алгоритмів. Симетричне шифрування здійснюється з використанням одного з семи симетричних алгоритмів (AES, CAST5, 3DES, IDEA, Twofish, Blowfish, Camellia) на сеансовом ключі. Сеансовий ключ генерується з використанням криптографічно стійкого генератора псевдовипадкових чисел. Сеансовий ключ зашифрована відкритим ключем одержувача з використанням алгоритмів RSA або Elgamal (залежно від типу ключа одержувача). Кожен відкритий ключ відповідає імені користувача або адресою електронної пошти. Перша версія системи називалася Мережа Довіри і протиставлялася системі X.509, що використала ієрархічний підхід, заснованої на засвідчують центрах, доданий в PGP пізніше. Сучасні версії PGP включають обидва способи.
Ключі
Користувач PGP створює ключову пару: відкритий і закритий ключ. При генерації ключів задаються їх власник (ім'я та адреса електронної пошти), тип ключа, довжина ключа і термін його дії. Відкритий ключ використовується для шифрування і перевірки цифрового підпису. Закритий ключ - для декодування і створення цифрового підпису.
PGP підтримує три типи ключів RSA v4, RSA legacy (v3) і Diffie-Hellman/DSS (Elgamal в термінології GnuPG).
Для ключів RSA legacy довжина ключа може становити від 1024 до 2048 біт, а для Diffie-Hellman/DSS і RSA - від 1024 до 4096. Ключі RSA legacy містять одну ключову пару, а ключі Diffie-Hellman/DSS і RSA можуть містити один головний ключ і додаткові ключі для шифрування. При цьому ключ електронного підпису в ключах Diffie-Hellman/DSS завжди має розмір 1024. Термін дії для кожного з типів ключів може бути визначений як необмежений або до конкретної дати. Для захисту ключового контейнера використовується секретна фраза.
Цифровий підпис
PGP підтримує аутентифікацію та перевірку цілісності допомогою цифрового підпису. За умовчанням вона використовується спільно з шифруванням, але також може бути застосована і до відкритого тексту. Відправник використовує PGP для створення підпису алгоритмом RSA або DSA. При цьому спочатку створюється хеш відкритого тексту (також відомий як дайджест), потім - цифровий підпис хешу за допомогою закритого ключа відправника. Для формування хешу можуть використовуватися алгоритми MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. У нових версіях PGP підтримка MD5 здійснюється для збереження сумісності з ранніми версіями. Для підпису використовуються алгоритми RSA або DSA (залежно від типу ключа).
Стиснення даних
З метою зменшення обсягу повідомлень і файлів і, можливо, для утруднення криптоанализа PGP виробляє стиснення даних перед шифруванням. Стиснення здійснюється по одному з алгоритмів ZIP, ZLIB, BZIP2. Для стиснених, коротких і слабосжімаемих файлів стиск не виконується.
Мережа довіри
Як при шифруванні повідомлень, так і при перевірці цифрового підпису, необхідно, щоб прийнятий одержувачем відкритий ключ дійсно належав відправнику. При простому скачуванні відкритого ключа він може бути підмінений. З перших версій PGP підтримує сертифікати відкритих ключів, за допомогою яких підміни (або випадкові помилки передачі) легко розпізнаються. Проте недостатньо просто створити сертифікат, захищений від модіфіцікаціі, так як при цьому гарантується лише цілісність сертифіката після його створення. Користувачі також повинні яким-небудь способом перевірити, що відкритий ключ у сертифікаті дійсно належить відправнику. З перших версій продукти PGP включають в себе внутрішню схему перевірки сертифікатів, названу мережу довіри (англ. web of trust). Задана пара «ім'я користувача - відкритий ключ» може бути підписана третьою особою, що засвідчує відповідність ключа і власника. У таких підписах може бути кілька вкладених рівнів довіри. Хоча багато програм читають і пишуть цю інформацію, дуже мало враховують цей рівень сертифіката, приймаючи рішення про прийняття або відхилення сертифіката.
Механізм мережі довіри має перевагами над централізованої інфраструктурою управління відкритими ключами, наприклад, використовуваної в S / MIME, але не отримав повсюдного застосування. Користувачі хотіли перевіряти коректність сертифікатів вручну або не перевіряти зовсім.
Сертифікати
В останніх специфікаціях OpenPGP довірені підписи можуть використовуватися для підтримки створення центрів сертифікації. Довіреність сертифіката означає, що ключ дійсно належить вказаному власнику і може використовуватися для підпису сертифікатів одним рівнем нижче. Сертифікат рівня 0 означає звичайну підпис. Рівень 1 означає, що за допомогою підписаного ключа можна створювати сертифікати рівня 0. За допомогою сертифіката рівня 2 можна створювати сертифікати рівня 1. Рівень 2 практично ідентичний ступеня довіри, з якою покладаються користувачі на списки довірених сертифікатів, вбудовані в браузери.
Всі версії PGP включають в себе спосіб скасування сертифіката. Це необхідно, якщо потрібно зберігати безпеку зв'язку при втраті або компрометації закритого ключа. Скасування сертифіката схожа на списки відкликання сертифікатів в централізованій інфраструктурі відкритих ключів. Сучасні версії PGP також підтримують терміни закінчення сертифікатів.
Проблема коректного визначення приналежності відкритого ключа власнику характерна для всіх криптографічних систем з асиметричним шифруванням. У неї не існує достатньо хороших рішень. Оригінальна схема PGP дозволяє вирішити користувачеві, чи використовувати схему перевірки сертифікатів, в той час як більшість інших інфраструктур відкритих ключів вимагають перевірки кожного сертифіката.
