ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Деякі особливості реалізації алгоритму захисту програмного забезпечення від нелегального використання
         

     

    Інформатика, програмування

    Деякі особливості реалізації алгоритму захисту програмного забезпечення від нелегального використання

    (На прикладі програми "генератор тестів 2.0")

    асп. Волошин С. Б. [1]

    Кафедра теорії та автоматизації металургійних процесів та печей.

    Північно-Кавказький гірничо-металургійний інститут (державний технологічний університет)

    Розглянуто деякі особливості реалізації алгоритму захисту програмного забезпечення від нелегального використання. Наведено принципову схему алгоритму і частина вихідного коду мовою програмування Microsoft Visual Basic 2005.

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

    Застосування для написання програмного продукту платформи Microsoft. NET Framework [1] дозволяє досить просто реалізувати в програмі різні криптографічні алгоритми: як симетричні (DES, Triple-DES, RC2, Rijndael) і асиметричні (DSA/DSS, RSA) алгоритми шифрування, так і алгоритми хешування (HMACSHA-1, MACTripleDES, MD5, SHA-1, SHA-256, SHA-384, SHA-512) [2, 3].

    В . NET Framework за криптографію відповідає простір імен

    System.Security.Cryptography

    В цей простір входять три класи високого рівня:

    System.Security.Cryptography.SymmetricAlgorithm

    System.Security.Cryptography.AsymmetricAlgorithm

    System.Security.Cryptography.HashAlgorithm

    Найбільш перспективною для організації захисту представляється комбінація асиметричного алгоритму RSA, розробленого Р. Рівестом, А. Шамір і Л. Адлеманом, і алгоритму дайджесту повідомлення MD5 [3].

    Реалізація алгоритму RSA і алгоритму MD5 на мові високого рівня Microsoft Visual Basic 2005 виглядає таким чином:

    'підключаємо простір імен

    Imports System.Security.Cryptography

    Imports System.Text

    Imports System.Xml

    Public Class myCrypt

    'I. Генеруємо ключі RSA.

    Dim rsaProvider0 As New RSACryptoServiceProvider ()

    Dim EK As String = rsaProvider0.ToXmlString (False)

    Dim DK As String = rsaProvider0.ToXmlString (True)

    'II. Створюємо та налаштовуємо екземпляр класу

    'RSACryptoServiceProvider перед шифруванням.

             

    3 Праці молодих учених № 4, 2007        Dim cspParam As New CspParameters ()

    cspParam.KeyContainerName = "SecretKey"

    Dim rsaProvider1 As New RSACryptoServiceProvider (cspParam)

    'III. Шифруємо дані.

    rsaProvider1.FromXmlString (EK)

    Dim cipheredText As Byte () = rsaProvider1.Encrypt _

    (UTF8Encoding.UTF8.GetBytes ( "Дані користувача "), True)

    Dim EncodingText As String = Convert.ToBase64String (cipheredText)

    'IV. Дешіфруем дані.

    Dim rsaProvider2 As New RSACryptoServiceProvider ()

    rsaProvider2.FromXmlString (DK)

    Dim DecodingText As String = UTF8Encoding.UTF8.GetString _ (rsaProvider2.Decrypt (Convert.FromBase64String (EncodingText), True))

    'V. Отримуємо хеш-функцію розшифровує ключа.

    Dim md5Provider As New MD5CryptoServiceProvider

    Dim MD5Hash As String = Convert.ToBase64String _

    (md5Provider.ComputeHash (UTF8Encoding.UTF8.GetBytes (DK )))

    End Class.

    Використовуючи асиметричний алгоритм RSA і алгоритм обчислення хеш-функції MD5, автор статті розробив принципову схему алгоритму захисту програмного забезпечення від нелегального використання. Дана схема була успішно застосована при розробці програмного комплексу "Генератор тестів 2.0".

    Кожен легальний дистрибутив програми "Генератор тестів 2.0" забезпечується ключовим файлом. Ключовий файл підтверджує легальність встановленого програмного продукту і може служити для ідентифікації користувача, обмеження часу роботи програмного продукту і т.д.

    Ключовий файл складається з трьох блоків даних: інформації про користувача у відкритому вигляді, інформації про користувача в зашифрованому вигляді і розшифровує ключа асиметричного алгоритму шифрування RSA.

    Принципова схема роботи алгоритму захисту показана на малюнку.

    Принципова схема роботи алгоритму захисту.

    Порядок роботи алгоритму:

    В процесі створення програмного забезпечення:

    Інформація користувача у відкритому вигляді записується в ключовий файл (вона служить для швидкого отримання відомостей про користувача).

    Інформація користувача передається асиметричному алгоритму шифрування.

    зашифровуються ключ передається алгоритму шифрування.

    Зашифрована за допомогою зашифровують ключа інформація про користувача додається в ключовий файл.

    розшифровують ключ асиметричного алгоритму шифрування додається в ключовий файл.

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

    Хеш-функція розшифровує ключа поміщається перед компіляцією в захищається бінарний файл (*. exe, *. dll і т.д.).

    В процесі експлуатації програмного забезпечення:

    розшифровують ключ асиметричного алгоритму шифрування, записаний в ключовий файл, передається в алгоритм хешування.

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

    Висновки

    Розроблено принципова схема алгоритму захисту програмного забезпечення від нелегального використання.

    Реалізований алгоритм захисту на мові високого рівня Microsoft Visual Basic 2005. Даний алгоритм увійшов в програмний продукт "Генератор тестів 2.0", розроблений в 2007 р. для Міністерства освіти і науки Республіки Північна Осетія-Аланія.

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

    Кларк Д. Об'єктно-орієнтоване програмування в Visual Basic. NET. СПб.: Питер, 2003.

    Блек У. Інтернет: протоколи безпеки. СПб.: Питер, 2001.

    Кровчек Е., Кумар В. та ін. NET. Мережеве програмування для професіоналів. М.: Лорі, 2005.

    Для підготовки даної роботи були використані матеріали з сайту http://www.skgtu.ru/

    [1]  Науковий керівник к.т.н., доц. Мамонтов Д. В.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати !