Мета й застосування шифрування інформації. Класичні методи шифрування


Шифрування – це оборотне перетворення даних, з метою приховування інформації. Шифрування відбувається із застосуванням криптографічного ключа. Ключ – це певна кількість символів, сформованих вільним чином з символів, що доступні у системі шифрування.
Шифрування – це кодування даних з метою захисту від несанкціонованого доступу. Процес кодування називається шифруванням, а процес декодування – розшифруванням. Саме кодоване повідомлення називається шифрованим, а застосований метод називається шифром.
Основна вимога до шифру полягає в тому, щоб розшифрування було можливе тільки при наявності санкцій, тобто деякої додаткової інформації (або пристрою), які називаються ключем шифру. Процес декодування шифровки без ключа називається дешифруванням.
Галузь знань про шифри, методи їх побудови та розкриття називається криптографією. Властивість шифру протистояти розкриттю називається криптостійкістю або надійністю і звичайно визначається складністю алгоритму дешифровки
У практичній криптографії криптостійкість шифру оцінюється з економічних міркувань. Якщо розкриття шифру коштує більше, за саму зашифровану інформацію, то шифр вважається достатньо надійним.
Симетричні криптосистеми (симетричне шифрування) – спосіб шифрування, в якому для шифрування та дешифрування використовуються один й той самий криптографічний ключ.
Ключ шифрування має зберігатись у секреті обома сторонами та має бути обраним до початку обміну повідомленнями.
Процес розшифрування заключається в тому, щоби ще раз скласти шифровану послідовність з тією самою гамою шифру.
Описаний метод має суттєвий недолік. Якщо відома хоча б частина висхідного повідомлення, то все повідомлення може бути легко дешифроване.
Більшість симетричних шифрів використовують складну комбінацію великої кількості підстановок та перестановок. Багато таких шифрів виконуються у декілька (до 100) проходів, використовуючи на кожному проході ключ проходу. Множина «ключів проходів» для всіх проходів називається розкладом ключів. Зазвичай, він утворюється з ключа шляхом виконання над ним певних операцій, в тому числі перестановок та підстановок.
Найважливішими параметрами всіх алгоритмів симетричного шифрування є:
- стійкість;
- довжина ключа;
- кількість раундів;
- довжина блоку, якій оброблюється;
- складність апаратно/програмної реалізації;
- складність перетворень.

До переваг симетричної системи можна віднести:  
- порівняно високу швидкість (приблизно на 3 порядки вищу ніж у асиметричних систем);
- простота реалізації (за рахунок більш простих операцій);
- менша необхідна довжина ключа для відповідної стійкості;

Але є також суттєві недоліки, які практично призводять до того, що дана система майже не використовується на даний час.
- складність керування ключами у великій мережі. Це означає квадратичне збільшення кількості ключів, які необхідно генерувати, зберігати, передавати та знищувати у мережі. Для мережі з 10 абонентів потрібно 45 ключів, для 100 – вже 4950, для 1000 – 499500;
- складність обміну ключами. Для застосування симетричної системи необхідно вирішити проблему надійної передачі ключів до кожного абонента, тому що необхідний секретний канал для передачі кожного ключа обом сторонам.

Криптографічна система з відкритим ключем (або асиметрична криптосистема, асиметричне шифрування) – це система шифрування, при якій відкритий ключ передається по відкритому (тобто не захищеному) каналу зв'язку та використовується для шифрування повідомлень. Для розшифрування повідомлень використовується секретний (або приватний) ключ.
Наявність двох ключів – відкритого та закритого – й робить цю систему асиметричною. Відкритий ключ розсилається всім, хто бажає відправляти повідомлення адресату, а приватний ключ зберігається адресатом і не повинен нікому відправлятись. Навіть якщо знати відкритий ключ та все відправлене розшифроване повідомлення, неможливо знайти приватний ключ.
До переваг асиметричної криптосистеми можна віднести:
- не потрібно передавати закритий ключ будь-якими каналами зв’язку;
- на противагу симетричній криптосистемі, секретний ключ зберігається тільки у одній стороні;
- у симетричній криптосистемі варто змінювати ключ після кожного сеансу передачі даних, у асиметричній ключі можна тримати незміненими достатньо довгий час;
- у більшості мереж кількість ключів при асиметричному шифруванні набагато менша, ніж при симетричному.

Недоліки:
- хоча повідомлення шифруються надійно, але самі сторони «засвічуються» самим фактом передачі (на чому може бути побудована атака);
- асиметричні алгоритми використовують набагато довші ключі ніж симетричні;
- у чистому вигляді асиметричні системи вимагають значних обчислювальних ресурсів, тому на практиці вони частіше використовуються разом з іншими алгоритмами.

Також асиметрична система з відкритим ключем використовується у системах цифрових підписів. 


Класичні алгоритми шифрування даних
Під захистом інформації іноді розуміється тільки частина з можливих і необхідних заходів у цьому напрямку, зв'язаних із профілем роботи конкретного колективу виконавців. Вірніше розуміти під цим терміном комплекс заходів, проведених з метою запобігання витоку, розкрадання, утрати, несанкціонованого знищення, перекручування, модифікації (підробки), несанкціонованого копіювання, блокування інформації і т.д. Оскільки, наприклад, втрата інформації може відбуватися по чисто «технічним», об'єктивним і ненавмисним причинам, під це визначення попадають також і заходи, пов'язані з підвищенням надійності сервера через відмовлення або збої в роботі вінчестерів, недоліків у використовуваному програмному забезпеченні і т.д.
Узагалі, перехід від роботи на персональних комп'ютерах до роботи в мережі ускладнює захист інформації з наступних причин:
         велике число користувачів у мережі і їхній перемінний склад;
         захист на рівні імені і пароля користувача недостатній для запобігання входу в мережу сторонніх осіб;
         велика довжина мережі і наявність багатьох потенційних каналів проникнення в мережу;
         недоліки в апаратному і програмному забезпеченні;
         переваги організаційних засобів - можливість рішення багатьох різнорідних проблем, простота реалізації, можливість швидкого реагування на небажані дії в мережі, необмежені можливості модифікації і розвитку;
         недоліки — висока залежність від суб'єктивних факторів, у тому числі від загальної організації роботи в даному конкретному підрозділі;
         шифрування даних являє собою різновид програмних засобів захисту інформації і має особливе значення на практиці як єдиний надійний захист інформації, переданої по протяжних послідовних лініях, від витоку.
Поняття «шифрування» часто вживається в зв'язку з більш загальним поняттям криптографії. Криптографія включає шифрування і додатково розглядає способи рішення проблем, зв'язаних з можливою підміною цифрових даних: як перевірити вірогідність цифрових даних і як за аналогією з рукописним підписом на папері проставити візу на електронних документах, маючи в розпорядженні лише послідовності нулів і одиниць. Ці проблеми і способи їхнього рішення розглянуті далі.
Число використовуваних програм шифрування обмежено, причому частина з них є стандартами де-факто або де-юре. Однак навіть якщо алгоритм шифрування не являє собою секрету, зробити дешифрування (або розшифровку) без знання закритого ключа надзвичайно складно. Ця властивість у сучасних програмах шифрування забезпечується в процесі багатоступінчастого перетворення вихідної відкритої інформації («plain text» в англомовній літературі) з використанням ключа (або двох ключів — по одному для шифрування і дешифрування). У кінцевому рахунку кожний з використовуваних складних методів (алгоритмів) шифрування являє собою комбінацію простих методів.
Розрізняють наступні класичні алгоритми шифрування:
         підстановка (проста - одноалфавітна, багатоалфавітна однопетльова, багатоалфавітна багатопетльова);
         перестановка (проста, ускладнена);
         гамування (змішування з короткою, довгою або необмеженою маскою).
Стійкість кожного з перерахованих методів до дешифрування без знання ключа характеризується кількісно за допомогою показника S мінімального обсягу, що представляє собою обсяг зашифрованого тексту, який може бути дешифрований за допомогою статистичного аналізу.
Підстановка припускає використання альтернативного алфавіту (або декількох алфавітів), замість вихідного алфавіту. У випадку простої підстановки для символів англійського алфавіту можна запропонувати шифрування, наприклад, що використовує заміну.
Тоді слово «cache» у зашифрованому виді представляється як «usuxk»
Існує, однак, можливість дешифрування повідомлення за допомогою відомої статистичної частоти повторюваності символів у довільному, досить довгому тексті. Наприклад, символ Е зустрічається частіше за інші — у середньому 123 рази на кожні 1000 символів або в 12,3% випадків далі за частотою використання символи Т - 9,6%, А - 8,1%, Р - 7,9%, N - 1,2%, I - 7,2%, S - 6,6%, R — 6,0%, Н - 5,1%, L — 4,0% і т.д. Приведені цифри можуть, звичайно, трохи варіюватися в залежності від джерела информації. Тому показник стійкості до дешифрування SKB в даному випадку не перевищує 20...30.
При багатоалфавітній підстановці можна домогтися того, що в зашифрованому тексті всі символи будуть зустрічатися приблизно з однаковою частотою, що істотно утруднить дешифрування без знання альтернативних алфавітів і порядку, у якому вони використовувалися при шифруванні.
Цифровий ключ складається з неповторюваних цифр, а відповідне йому ключове слово - з неповторюваних символів. Вихідний текст (plain text) записується під ключем построчно. Зашифроване повідомлення (cipher text) виписується по стовпцях у тім порядку, як це передбачають цифри ключа (або в тім порядку, у якому розташовані окремі символи ключового слова в алфавіті).
Гамування (змішування з маскою) засновано на побітному додаванні по модулю 2 (відповідно до логіки ВИКЛЮЧАЮЧЕ АБО) вихідного повідомлення із заздалегідь обраною двійковою послідовністю (маскою).
Компактним представленням маски можуть служити числа в десятковій системі числення або деякий текст (у цьому випадку розглядаються внутрішні коди символів - для англійського тексту таблиця ASCІІ).
Операція підсумовування по модулі 2 (ВИКЛЮЧАЮЧЕ АБО) є оборотною, так що при додаванні з тією же маскою (ключем) зашифрованого повідомлення ми знову одержимо вихідний текст (відбудеться дешифрування).
Як маску (ключ) можуть використовуватися константи типу n або е, і тоді маска буде мати кінцеву довжину. Найбільшу стійкість до дешифрування може забезпечити використання маски з нескінченною довжиною, що утворена генератором випадкових (точніше, псевдовипадкових) послідовностей. Такий генератор легко реалізується апаратними або програмними засобами, наприклад, за допомогою зсуваючого регістра зі зворотними зв'язками, що використовується при обчисленні перешкодостійкого циклічного коду. Точне відтворення псевдовипадкової послідовності в генераторі на прийомному кінці лінії забезпечується при установці такого ж вихідного стану (вмісту зсуваючого регістра) і тієї ж структури зворотних зв'язків, що й у генераторі на передавальному кінці.
Перераховані класичні методи шифрування (підстановка, перестановка і гамування) є лінійними в тім змісті, що довжина зашифрованого повідомлення дорівнює довжині вихідного тексту. Можливо нелінійне перетворення типу підстановки замість вихідних символів (або цілих слів, фраз, речень) заздалегідь обраних комбінацій символів іншої довжини.
Стандартні методи шифрування (національний або міжнародні) для підвищення ступеню стійкості до дешифрування реалізують кілька етапів (кроків) шифрування, на кожнім з яких використовуються різні класичні методи шифрування відповідно до обраного ключа (або ключей). Існують дві принципово різні групи стандартних методів шифрування:
         шифрування з використанням тих самих ключів (шифрів) при шифруванні і дешифруванні (симетричне шифрування або системи з відкритими ключами - private-key systems);
         шифрування з використанням відкритих ключів для шифрування і закритих - для дешифрування (несиметричне шифрування).
Строгий математичний опис алгоритмів, використовуваних у стандартних методах шифрування, занадто складний. Для користувачів важливі в першу чергу споживчі властивості різних методів (ступінь стійкості до дешифрування, швидкість шифрування і дешифрування, порядок і зручність поширення ключів), що і розглядаються нижче.

Стандартні методи шифрування
Стандарт шифрування даних США DES (Data Encryption Standard — стандарт шифрування даних) відноситься до групи методів симетричного шифрування і прийнятий у 1976 р. Використовувані операції - перестановка, гамування і нелінійна підстановка. Число кроків — 16. Довжина ключа складає 56 біт, з яких 8 біт - це перевірочні розряди парності/непарності.
Довгий час ступінь стійкості до дешифрування цього методу вважалася достатньою, однак у 1998 р. з'явилося повідомлення про створення спеціалізованого комп'ютера (DES cracker), що дозволяє розкрити зашифрований текст максимум за 9 днів.
Аналогом DES є ДСТ28147-89, але з довжиною ключа 256 біт, так що його ступінь стійкості до дешифрування істотно вище. Важливо також і те, що в даному випадку передбачається ціла система захисту, що переборює «родовий» недолік симетричних методів шифрування - можливість підміни повідомлень. Такі удосконалення, як імітовставки, хэш-функції й електронні цифрові підписи дозволяють «авторизувати» передані повідомлення. Достоїнством симетричних методів шифрування є висока швидкість шифрування і дешифрування, недоліком — малий ступінь захисту у випадку, якщо ключ став доступний третій особі.
Досить популярні, особливо при використанні електронної пошти в мережі Internet, несиметричні методи шифрування або системи з відкритими ключами - public-key systems. Типовий представник цієї групи методів - PGP (Pretty Good Privacy - забезпечує досить високу таємність).
Кожен користувач у цьому випадку має пари ключів. Відкриті ключі призначені для шифрування і вільно розсилаються по мережі, але не дозволяють зробити дешифрування. Для цього потрібні секретні (закриті) ключі.
Принцип шифрування в даному випадку ґрунтується на використанні так званих однобічних функцій. Пряма функція х → f (х) легко обчислюється на підставі відкритого алгоритму (ключа). Зворотне перетворення f (x) → х без знання закритого ключа утруднене і повинне займати досить великий час, що і визначає ступінь труднощів при обчисленні однобічної функції.
Ідею системи з відкритими ключами можна пояснити в такий спосіб. Для шифрування повідомлень можна використовувати звичайну телефонну книгу, у якій імена абонентів розташовані за абеткою і передують телефонним номерам. Береться ім'я абонента, що починається на дану букву вихідного слова, і номер телефону використовується як шифроване повідомлення.
Зрозуміло, що в користувача є можливість вибору відповідності між символом у вихідному тексті й ім'ям абонента, тобто це багатоалфавітна система, що підвищує її ступінь стійкості до дешифрування. Легальний користувач має «зворотний» телефонний довідник, у якому в першому стовпці розташовуються телефонні номери по зростанню, і легко робить дешифрування. Якщо ж такого «зворотного» довідника немає, то користувач повинен багаторазово переглядати доступний прямий довідник у пошуках потрібних телефонних номерів, що є стомлюючою процедурою. Це і є практична реалізація функції труднощів обчислення. Сам по собі метод шифрування на основі телефонних довідників навряд чи перспективний хоча б через те, що ніхто не заважає потенційному зломщикові скласти «зворотний» телефонний довідник. Однак у використовуваних на практиці методах шифрування даної групи в аспекті надійності захисту все гаразд.
На відміну від симетричних методів шифрування, проблема розсилання ключів у несиметричних методах вирішується простіше — пари ключів (відкритий і закритий) генеруються «на місці» за допомогою спеціальних програм. Для розсилання відкритих ключів використовуються спеціальні технології типу LDAP (Lightweight Directory Access Protocol - протокол полегшеного доступу до довідника). Ключі, що розсилаються, можуть бути попередньо зашифровані за допомогою одного із симетричних методів шифрування.

Комментариев нет:

Отправить комментарий