Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Одна з основних причин успіху віддалених атак на розподілені обчислювальні мережі полягає у використанні мережних протоколів обміну, які не можуть надійно ідентифікувати віддалені обєкти, захистити зєднання та дані, що передаються по ньому. Тому цілком природньо, що в процесі функціонування Internet були створені різні захищені мережні протоколи, що використовують криптографію як з закритим, так і з відкритим ключем. Класична криптографія з симетричними криптоалгоритмами передбачає наявність у передавальної та приймаючої сторін симетричних (однакових) ключів для шифрування та дешифрування повідомлень. Ці ключі заздалегідь мають бути розподілені між скінченною кількістю абонентів, що в криптографії називається стандартною проблемою статичного розподілу ключів. Очевидно, що застосування класичної криптографії з симетричними ключами є можливим лише на обмеженій множині обєктів. У мережі Internet для всіх її користувачів вирішити проблему статичного розподілу ключів не є можливим. Однак, одним з перших захищених протоколів обміну в Internet був протокол Kerberos, заснований саме на статичному розподілі ключів для скінченної кількості абонентів. Для того, щоб дати можливість захиститися усій множині користувачів мережі Internet, а не обмеженій її підмножині, необхідно використовувати ключі, що динамічно виробляються в процесі створення віртуального зєднання, застосовуючи криптографію з відкритим ключем. Розглянемо основні на сьогоднішній день підходи і протоколи, що забезпечують захист зєднання.
SKIP-технологією (Secure Key Internet Protocol - Internet-протокол з захищеним ключем) називається стандарт інкапсуляції IP-пакетів, що дозволяє в існуючому стандарті IPv4 на мережному рівні забезпечити захист зєднання і даних, що передаються по ньому. Це досягається наступним чином: SKIP-пакет це звичайний IP-пакет, його поле даних представляє собою SKIP-заголовок формату, визначеного специфікацією і криптограму (зашифровані дані). Така структура SKIP-пакета дозволяє безперешкодно направляти його будь-якому хосту в Internet (міжмережна адресація відбувається по звичайному IP-заголовку в SKIP-пакеті). Кінцевий отримувач SKIP-пакета за заздалегідь визначеним розробниками алгоритмом розшифровує криптограму і формує звичайний TCP- або UDP-пакет, який і передає відповідному звичайному модулю (TCP або UDP) ядра операційної системи. В принципі ніщо не заважає розробнику формувати за заданою схемою свій оригінальний заголовок, відмінний від SKIP-заголовка.
S-HTTP ( Secure HTTP - захищений HTTP) це зхищений HTTP-протокол, розроблений компанією Enterprise Integration Technologies (EIT) спеціально для Web. Протокол S-HTTP дозволяє забезпечити надійний криптозахист тільки HTTP-документів Web-сервера і функціонує на прикладному рівні моделі OSI. Така особливість протокола робить його абсолютно спеціалізованим засобом захисту зєднання, отже, його застосування для захисту всіх інших прикладних протоколів (FTP, TELNET, SMTP та ін.) є неможливим. Крім того, ні один з існуючих на сьогоднішній день основних Web-браузерів (ні Netscape Navigator, ні Microsoft Explorer) не підтримують цей протокол.
SSL (Secure Socket Layer - захищені скриті гнізда) розробка компанії Netscape універсальний протокол захисту зєднання, що функціонує на сеансовому рівні OSI. Він використовує криптографію з відкритим ключем і на сьогоднішній день є єдиним універсальним засобом, що дозволяє динамічно захистити будь-яке зєднання з застосуванням будь-якого прикладного протокола (DNS, FTP, TELNET, SMTP та ін.). Це повязано з тим, що SSL, на відміну від S-HTTP, функціонує на проміжному сеансовому рівні OSI між транспортним (TCP, UDP) і прикладним (FTP, TELNET). При цьому процес створення віртуального SSL-зєднання відбувається за схемою Діффі та Гелмана, яка дозволяє виробити криптостійкий сеансовий ключ, що використовується в подальшому абонентами SSL-зєднання для шифрування повідомлень, які передаються.
Протокол SSL вже практично оформився в якості офіційного стандарта захисту для HTTP-зєднань, тобто для захисту Web-серверів. Його підтримують Netscape Navigator та Microsoft Explorer. Звичайно для встановлення SSL-зєднання з Web-сервером, необхідною є наявність ще й Web-сервера, що підтримує SSL (наприклад, SSL-Apache).
Алгоритм роботи SSL побудований на принципі публічних ключів. Цей принцип базується на використанні пари асиметричних ключів (публічному і приватному) для кодування/декодування інформації. Публічний ключ роздається всім бажаючим. І з його допомогою шифруються необхідні дані, які можна дешифрувати тільки з допомогою приватного ключа.
Припустимо, що дві особи спілкуються через Internet і відповідно не бачать один одного, тобто не мають можливості взнати хто є його абонентом. Їх імена Аліса і Боб. Нехай Алісі необхідно дізнатися, чи дійсно вона спілкується з Бобом. У цьому випадку діалог може виглядати наступним чином:
Але на справді з боку Боба ідея шифрувати повідомлення від Аліси з допомогою свого приватного ключа не є дуже вдалою. Це є аналогічним до пілпису документа, про який Боб мало що знає. З такої позиції Боб має сам придумати повідомлення і послати його Алісі у двох екземплярах. У першому повідомлення передається відкритим текстом, а друге повідомлення є зашифрованим з допомогою приватного ключа Боба. Таке повідомлення називається message digest, а спосіб шифрування з допомогою свого приватного ключа цифровим підписом (digital signature) .
Тепер закономірно повстає запитання, яким чином поширювати свої публічні ключі. Для цього була придумана спеціальна форма сертифікат (certificate). Сертифікат складається з наступних частин:
Сертифікат “підписується” приватним ключем особи (або організації), яка випускає сертифікати. Організації, які здійснюють подібні операції називаються “Certificate authority (CA)”. Якщо в стандартному Web-клієнті (Web-browser), який підтримує SSL, зайти в розділ security, то там можна побачити список відомих організацій, які “підписують” сертифікати.
Тепер обидві особи можуть використовувати симетричний шифрувальний алгоритм (де в якості секретного ключа виступає повідомлення Аліси) і безбоязно обмінюватися шифрованими повідомленнями. А для контролю над пересиланням повідомлень (від випадкової/навмисної зміни) використовується спеціальний алгоритм Message Authentification Code (MAC). Тоді достовірність повідомлень зростає в декілька раз. І внести зміни в процес обміну практично неможливо.
Найбільш поширеним пакетом програм для підтримки SSL є SSLeay. Остання версія (SSLeay v.0.8.0) підтримує SSLv3. Ця версія є доступною у вихідних текстах і без особливих проблем встановлюється під UNIX. Цей пакет призначений для створення і управління різного роду сертифікатами. Також до його складу входить і бібліотека для підтримки SSL різними програмами. Ця бібліотека є необхідною, наприклад, для модуля SSL в поширеному HTTP сервері - Apache.
Очевидно, що широке застосування захищених протоколів обміну, особливо SSL, поставить надійний барєр на шляху можливих віддалених атак і серйозно ускладнить життя кракерів усього світу. Однак весь трагізм сьогоднішньої ситуації з забезпеченням безпеки в Internet полягає в тому, що поки ні один з існуючих криптопротоколів не оформився в якості єдиного стандарту захисту зєднання, який би підтримувався усіма виробниками мережних ОС. Протокол SSL підходить на цю роль найкращим чином, але його не підтримують всі мережні ОС. Тому були створені спеціальні прикладні SSL-сумісні сервери (DNS, FTP, TELNET, WWW та ін.). Якщо не домовитися про прийняття єдиного стандарту на захищений протокол сеансового рівня, тоді неохідно буде приймати багато стандартів на захист кожної окремої прикладної служби.
Підводячи підсумки, можна сказати, що SSL є просто необхідним у сфері комерційного Інтернету, особливо там, де необхідно забезпечити конфіденційність даних.