назад в библиотеку

Програмний захист електроної пошти

Колесник Андрій Вікторович, Україна

Донецький національний технічний університет

Факультет комп’ютерних наук і технологій

andreydonntu@gmail.com

Більшість проблем, з якими зіштовхуються користувачі електронної пошти (спам, віруси, різноманітні атаки на конфіденційність листів і т.д.), пов'язані з недостатнім захистом сучасних поштових систем.

Жоден зі стандартних поштових протоколів (SMTP, POP3, IMAP) не включає механізмів захисту, що гарантували б конфіденційність листування.

Відсутність надійного захисту протоколів дозволяє створювати листа з фальшивими адресами. Не можна бути впевненим на 100% в тому, що хтось є дійсним автором листа.

Електронні листи легко змінити. Стандартний лист не містить засобів перевірки власної цілісності і при передачі через безліч серверів, може бути прочитане і змінено; електронний лист схоже сьогодні на листівку.

Звичайно в роботі електронної пошти немає гарантій доставлення листа. Незважаючи на наявність можливості отримати повідомлення про доставку, часто це означає лише, що повідомлення дійшло до поштового сервера одержувача (але не обов'язково до самого адресата).

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

Розроблена програма захисту електронної пошти дозволяє обмінюватися шифрованими повідомленнями, використовуючи стандартні поштові протоколи SMTP і POP3. Для шифрування був вибраний відомий своєю крипостійкістю шифр AES 256, який працює в парі з асиметричним алгоритмом шифрування RSA.

Алгоритм захисту електронної пошти складається з наступних кроків:

а) одержувач генерує відкритий ключ RSA і повідомляє його відправникові;

б) відправник генерує ключ для шифрування AES і зашифровує за допомогою його на основі алгоритму AES своє повідомлення;

в) відправник шифрує згенерований ключ AES на основі алгоритму RSA з отриманим відкритим ключем;

г) відправник надсилає одержувачу зашифрований ключ і повідомлення;

д) одержувач за допомогою закритого ключа RSA розшифровує ключ AES, за допомогою якого розшифровує повідомлення.

Для програми, що працює з шифрування інформації, критичним показником є швидкість роботи. Тому був зроблений вибір на користь мови C# разом з Microsoft. NET Framework, як потужного засобу, що дозволяє ефективно використовувати системні ресурси і спростити процес розробки програмних продуктів тим, що не потрібно стежити за очищенням пам'яті, тому що працює «збирач сміття», який видаляє об'єкти, коли програма вже не має потреби в них.

Однією з основних ідей Microsoft. NET є сумісність служб, написаних на різних мовах. Наприклад, служба, написана на C++ для Microsoft. NET, може звернутися до методу класу з бібліотеки, написаної на Delphi; на C# можна написати клас, успадкований від класу, написаного на Visual Basic. NET, а виключення, створене методом, що написані на C # , може бути перехоплено і оброблено в Delphi. Кожна бібліотека (збірка) в. NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

Інтерфейс користувача розроблено за допомогою Windows Forms на мові програмування C#.

Як середовище розробки використовувалася Microsoft Visual Studio 2010 Beta 2, як один із найбільш надійних і підтримуваних інструментів розробки C# програм на платформі Windows.

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

Список літератури

[1] Википедия – свободная энциклопедия. Advanced Encryption Standard. [Электронный ресурс] / Википедия. – Режим доступа: http://ru.wikipedia.org/wiki/Advanced_Encryption_Standard

[2] Википедия – свободная энциклопедия. Алгоритм Rijndael. [Электронный ресурс] / Википедия. – Режим доступа: http://www.intuit.ru/department/security/networksec/6/2.html

[3] Методические указания и задания к лабораторным работам по курсу «Информационная безопасность» для студентов специальности «Программное обеспечение АС», часть 1 – «Криптографические и стеганографические методы защиты информации» / Сост.: Губенко Н.Е., Чернышова А.В. – Донецк, ДонНТУ, 2007 – 89 с.

[4] Столингс, Вильям. Криптография и защита сетей: принципы и практика, 2-е издание.: Пер. с английского – М.: Издательский дом «Вильямс», 2001.