Филенко Максим Сергеевич
Магистр ДонНТУ Филенко Максим Сергеевич

Факультет обчислювальної техніки та інформатики

Кафедра електронних обчислювальних машин

Спеціальність: «Комп’ютерні системи та мережі»

Тема випускної роботи: «Розробка механізму розподіленого зберігання та захисту інформації»

Науковий керівник: к.т.н. доц. Мальчева Раїса Вікторовна


Реферат з теми випускної роботи

§ Вступ

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

Зв'язок роботи з науковими програмами, планами, темами. Магістерська робота виконується протягом 2008-2009 рр/ відповідно до проекту «Цифрове місто». Донецький національний технічний університет займає передову позицію в даній програмі.

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

  1. Виконати аналіз: мережевих протоколів передачі інформації в однорангових комп'ютерних мережах; методів криптографічного захисту інформації, що зберігається.
  2. Розробити алгоритм розбиття даних на блоки рівного розміру.
  3. Розробити схему створення URI для запису/читання даних.
  4. Дослідити розроблену схему зберігання інформації з метою визначення області їх ефективного застосування.
Предмет розробки і досліджень: децентралізовані комп'ютерні мережі.
Об'єкт досліджень: протокол обміну інформацією в децентралізованій мережі.
Методологія та методи досліджень. В процесі досліджень використовується теорія обчислювальних мереж, теорія графів, теорія вірогідності, формальний апарат криптографії, інженерний аналіз, теорія моделювання.

Наукова новизна визначається наступними положеннями:

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

Огляд досліджень і розробок за темою. До локальних досліджень можна віднести роботи магістрів Ігоря Бабенко та Максима Дости, які займалися ідеями обчислювальних кластерів, побудованих на базі ЛВС. В рамках національних досліджень ведуться інтенсивні роботи по запуску всеукраїнської GRID-інфраструктури. Глобальні дослідження в даній області вже перейшли на якісно новий рівень і ідея розподілу ресурсів виражається в створенні нової парадигми — хмарна обробка даних (cloud computing), яка абсолютно прозоро надає свої ресурси відповідно до потреб додатків, приховуючи внутрішню архітектуру і особливості, створюючи відчуття роботи з єдиною системою. Розробки в даному напрямі активно ведуться на комп'ютерному факультеті Каліфорнійського університету.

§ Основний зміст роботи

У вступі обґрунтована актуальність теми магістерської роботи, формулюються мета і завдання досліджень, ідея роботи і та наукова новизна.

У першому розділі виконаний аналіз сучасних методів організації простору зберігання інформації, методів оптимізації накопичувачів, способів передачі інформації в одноранговій мережі, сформульовані основні завдання досліджень.
Сьогодні доступна достатня кількість методів формування єдиного сховища даних, принципово разних, відповідні різним вимогам до системи зберігання.
Менеджер логічних томів (Logical Volume Manager, LVM) — система керування томами, «прошарок» між ФС і фізичними розділами диска. Управління логічними томами — це спосіб абстрагувати фізичне управління томами в системі у високорівневу і, як правило, в простішу парадигму. В рамках LVM всі фізичні диски і розділи незалежно від їх розміру і розбиття можуть абстрагуватися і розглядатися як єдине сховище даних. Наприклад, в схемі відображення томів фізичного рівня на логічний, показаною на малюнку 1, існує можливість створити файлову систему розміром, скажімо, 150 ГБ, тоді як найбільший диск має об'єм всього 80 ГБ.

Отображение томов физического уровня на логический
Рисунок 1 — Відображення томів фізічного рівня на логічний.

Збираючи розділи і цілі диски у віртуальний диск, LVM може підсумовувати невеликі об'єми дискової пам'яті в більший об'єднаний диск. Цей віртуальний диск в термінах LVM називається логічною групою (volume group).
Можливість мати файлову систему, яка перевищує розмір найбільшого диска, не є єдиною «чарівною» особливістю цієї високорівневої парадигми управління ресурсами зберігання даних. LVM також дозволяє:

Ідея конкатенації фізичних дисків в єдині масиви для зберігання інформації вперше була озвучена і реалізована в каліфорнійському університеті Берклі. Загалом, сама технологія RAID (redundant array of independent/inexpensive disks)[1] має широке різноманіття реалізацій для вирішення різних завдань по зберіганню даних. Зі всіх рівнів RAID виберемо нульовий. RAID 0 — дисковий масив з двох або жорсткіших дисків. Даний рівень RAID підходить для вирішення поставленого завдання зберігання інформації. Схема запису блоків даних на пристрій приведена на рисунку 2.
Схема RAID 0
Рисунок 2 — Схема RAID 0.

Інформація розбивається на блоки Ai і записується на обидва/декілька дисків одночасно.
Переваги: Недоліки: Крім того, ми так і не отримуємо остаточного і повноцінного рішення поставленої задачі по організації сховища, адже обидва підходи (і LVM, і RAID) реалізуються в рамках локальної фізичної системи і непридатні в умовах ЛВС через неможливість монтування на такому рівні мережевих ресурсів.
Очевидна необхідність уніфікації всіх ресурсів інформаційної інфраструктури в якесь єдине середовище, що має прозорий інтерфейс для користувача. Прототипом можна прийняти кластерні системи — комп'ютери, об'єднані мережею і що прозоро надають свої обчислювальні потужності так, як ніби робота здійснюється з єдиною машиною. Зв'язком може служити як локальна (ЛВС), так і глобальна мережа. Кластер, в загальному випадку, надає процесорний час всіх вузлів для виконання математичних обчислень. Завдання полягає в пошуку і удосконаленні або створенні механізму зберігання файлів в якійсь подібності кластера.
У основу побудови такої схеми зберігання інформації покладена концепція розповсюдження інформації в P2P-сетях.
Однорангові, децентралізовані або пірінговиє (peer-to-peer, P2P) мережі — це комп'ютерні мережі, засновані на рівноправ'ї учасників. У таких мережах відсутні виділені сервери, а кожен вузол (peer) є як клієнтом, так і сервером. На відміну від архітектури клієнт-сервер, така організація дозволяє зберігати працездатність мережі при будь-якій кількості і будь-якому поєднанні доступних вузлів.
Вперше фраза «peer-to-peer» була використана в 1984 році Парбауеллом Йохнухуйтсманом (Parbawell Yohnuhuitsman) при розробці архітектури Advanced Peer to Peer Networking фірми IBM.
Наприклад, в мережі є 12 машин, при цьому будь-хто може зв'язатися з будь-якою. Як клієнт (споживача ресурсів) кожна з цих машин може посилати запити на надання яких-небудь ресурсів іншим машинам в межах цієї мережі і отримувати їх. Як сервер, кожна машина повинна обробляти запити від інших машин в мережі, посилати те, що було запитане, а також виконувати деякі допоміжні і адміністративні функції.
Будь-який член даної мережі не гарантує нікому своєї присутності на постійній основі. Він може з'являтися і зникати у будь-який момент часу. Але досягши певного критичного розміру мережі наступає такий момент, що в мережі одночасно існує безліч серверів з однаковими функціями.
Крім чистих P2P-сетей, існують так звані гібридні мережі, в яких існують сервера, використовувані для координації роботи, пошуку або надання інформації про існуючі машини мережі і їх статус (online, offline і т.д.). Гібридні мережі поєднують швидкість централізованих мереж і надійність децентралізованих завдяки гібридним схемам з незалежними серверами індексацій, що синхронізують інформацію між собою. При виході з ладу одного або декількох серверів, мережа продовжує функціонувати. До частково децентралізованих файлообменним мереж відносяться наприклад EDonkey, BitTorrent.
Одна з областей застосування технології пірінгових сетей — це обмін файлами, оскільки, очевидно, такий підхід розподіляє навантаження на канали передачі, підвищуючи швидкість і відмовостійкість. Виглядає це так: користувачі мережі викладають які-небудь файли в спеціальну теку, вміст якої доступно для викачування іншим клієнтам. Який-небудь інший користувач мережі посилає запит на пошук якого-небудь файлу. Програма шукає у клієнтів мережі файли, відповідні запиту, і показує результат. Після цього користувач може викачати файли у знайдених джерел. Сучасні файлообменниє мережі дозволяють викачувати один файл відразу з декількох джерел (так швидше і надійніше). Щоб переконатися, що цей файл у всіх джерел однаковий, проводиться порівняння не обов'язково по назві файлу, а і по контрольних сумах або хешам типа MD4, TTH, SHA-1. Під час викачування файлу користувачем (і після його закінчення) цей файл у нього можуть викачувати і інші клієнти мережі, внаслідок чого особливо популярні файли можуть у результаті бути доступними для викачування з багатьох джерел одночасно.
Технологія пірінгових мереж застосовується також для розподілених обчислень. Вони дозволяють в порівняно дуже короткі терміни виконувати справді величезний об'єм обчислень, який навіть на суперкомп'ютерах зажадав би, залежно від складності завдання багатьох років і навіть сторіч роботи. Така продуктивність досягається завдяки тому, що деяке глобальне завдання розбивається на велику кількість блоків, які одночасно виконуються сотнями тисяч комп'ютерів, що беруть участь в проекті.

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

  1. Розбиття початкового файлу на блоки.
  2. Обчислення хэш-функцій.
  3. Розподіл блоків, формування URL.
  4. Запис і збереження інформації.
Як правило, файли не можуть цілком ділитися на блоки вказаного розміру, тому останній блок буде неповний. Алгоритм припускає обробку масивів фіксованого розміру. У наслідок цього, остання послідовність доповнюватиметься спеціальним маркером кінця потоку і випадковими даними для досягнення заданого об'єму частини.
Сама по собі технологія не є і не повинна бути низькорівневою файловою системою в класичному розумінні цього поняття. Такий підхід навмисно застосований з метою зробити систему більш простій і гнучкою, а також легкою для впровадження. На комп'ютерах-учасниках не потрібно виділяти і форматувати спеціальним чином розділ(ы) жорсткого диска, що безумовно є величезною перевагою. Блоки, на які розбивається початковий файл, окремо з себе не представляють ніякої цінності, тому їх можна зберігати у файловій системі вузла в нормальній формі (двійковий файл). Отже, програмна реалізація зводиться до кросс-платформенному програмування призначеного для користувача ПО. Сучасна різноманітність засобів розробки універсальних додатків в плані ОС робить завдання тривіальної. Додаток успішно можна написати на наступних мовах програмування: Java, C/C++, Python. Як бібліотека для організації GUI для останніх двох мов слід вибрати GTK, Tkinter або wxWindows. Такий підхід дозволить додатку запускатися в будь-якому сучасному операційному середовищі: Microsoft Windows ®, Linux, Mac OS X, BSD-системи.
Принцип розподіленного зберігання файлу
Рисунок 3 — Принцип розподіленного зберігання файлу.
(Анімація. Кількість кадрів - 6, циклів повторення - 7, розмір - 38.263 байтів)

У третьому розділі вирішується питання шифрування блоків, які розміщуватимуться на вузлах мережевого сховища. Шифрування здійснюється по схемі одноразових блокнотів (шифр Вернама).
Шифр Вернама (схема одноразових блокнотів) — в криптографії система симетричного шифрування, винайдена в 1917 році співробітниками AT&T Мейджором Джозефом Моборном і Гильбертом Вернамом. Шифр Вернама є єдиною системою шифрування, для якої доведена абсолютна криптографічна стійкість.
Для твору шифртекста відкритий текст об'єднується операцією що «виключає АБО» з ключем (званим одноразовим блокнотом або шифроблокнотом). При цьому ключ повинен володіти трьома критично важливими властивостями:

Шифр названий на честь телеграфіста AT&T Гильберта Вернама, який в 1917 році побудував телеграфний апарат, який виконував цю операцію автоматично, — треба було тільки подати на нього стрічку з ключем. Не будучи шифрувальником, проте, Вернам вірно відмітив важливу властивість свого шифру — кожна стрічка повинна використовуватися тільки один раз і після цього знищуватися. Це труднопріменімо на практиці — тому апарат був перероблений на декілька закольцованних стрічок з взаємно простими періодами.
Для роботи шифру Вернама необхідна істинно випадкова послідовність нулів і одиниць (ключ). За визначенням, послідовність, отримана з використанням будь-якого алгоритму, є не істинно випадковою, а псевдовипадковою. Тобто, потрібно отримати випадкову послідовність неалгоритмічно (наприклад, використовуючи розпад ядер, що створюється електронним генератором білий шум або інші достатньо випадкові події). Щоб зробити розподіл гранично близьким до рівномірного, випадкова послідовність зазвичай проганяється через хэш-функцію на зразок MD5. У поєднанні з реалізацією мережевого розповсюдження інформації даний недолік не є критичним.
Прийнявши до уваги розподіл даних по мережі, можна стверджувати, що збірку збереженої інформації несанкціоновано практично здійснити неможливо, бо не можна «обійняти неосяжне». Додаткове застосування стійкого методу шифрування робить систему на практиці абсолютно захищеною.

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

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

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

§ Список корисних джерел

  1. David A. Patterson, Garth Gibson, Randy H. Katz, A Case for Redundant Arrays of Inexpensive Disks, University of California Berkley, 1988.
  2. Gupta, Meeta, Storage Area Network Fundamentals, Cisco Press. Appendix A.
  3. Advantages of peer-to-peer networks - http://www.solyrich.com/p2p-pros-cons.asp
  4. Lewis, LVM HOWTO, Linux Documentation Project - http://tldp.org/HOWTO/LVM-HOWTO
  5. Баранов Константин, Linux Logical Volume Manager - http://const.tltsu.ru/articles/lvm.pdf
  6. Javed I. Khan, Adam Wierzbicki, Foundation of Peer-to-Peer Computing, Elsevier Journal of Computer Communication, February 2008. Volume 31, Issue 2.
  7. Ross J. Anderson, The eternity service, Pragocrypt, 1996.
  8. Marling Engle, J. I. Khan, Vulnerabilities of P2P systems and a critical look at their solutions, May 2006 - http://www.medianet.kent.edu/techreports/TR2006-11-01-p2pvuln-EK.pdf
  9. Stephanos Androutsellis-Theotokis, Diomidis Spinellis, A survey of peer-to-peer content distribution technologies, ACM Computing Surveys, December 2004.
  10. John F. Buford, Heather Yu, Eng Keong Lua, P2P Networking and Applications, Morgan Kaufmann, December 2008.
  11. Ralf Steinmetz, Klaus Wehrle, Peer-to-Peer Systems and Applications, Lecture Notes in Computer Science, September 2005.
  12. Detlef Schoder, Kai Fischbach, Core Concepts in Peer-to-Peer Networking, Idea Group Inc, 2005 - http://www.idea-group.com/downloads/excerpts/Subramanian01.pdf
  13. Marcus J. Ranum, One-Time-Pad (Vernam's Cipher) Frequently Asked Questions, 1995 - http://www.ranum.com/security/computer_security/papers/otp-faq
  14. Savory, Stuart, One-Time-Pad, Chiffriergerätebau - http://home.egge.net/~savory/chiffre9.htm
  15. Kahn, David, The Codebreakers, Macmillan, 1967.