Главная страница
Навигация по странице:

  • ОБЕСПЕЧЕНИЕ БЕЗОПАСНОЙ ПЕРЕДАЧИ ДАННЫХ В SKYPE

  • АНАЛИЗ БЕЗОПАСНОСТИ ПЕРЕДАЧИ ГОЛОСОВОГО ТРАФИКА В VOIP И ОБЕСПЕЧЕНИЕ ЕГО ЗАЩИЩЕННОСТИ. Дипломная работа специалиста


    Скачать 1.45 Mb.
    НазваниеДипломная работа специалиста
    АнкорАНАЛИЗ БЕЗОПАСНОСТИ ПЕРЕДАЧИ ГОЛОСОВОГО ТРАФИКА В VOIP И ОБЕСПЕЧЕНИЕ ЕГО ЗАЩИЩЕННОСТИ
    Дата31.05.2022
    Размер1.45 Mb.
    Формат файлаdoc
    Имя файлаanaliz_bezopasnosti_peredachi_golosovogo_trafika_v_voip_i_ob.doc
    ТипДиплом
    #559017
    страница5 из 9
    1   2   3   4   5   6   7   8   9

    3.2. Шифрование звука
    Для зашифрования и расшифрования звукового потока в режиме реального времени к алгоритму шифрования предъявляются следующие требования:


    • высокое быстродействие;




    • высокая криптостойкость.


    Также в связи с тем, что в данной работе также рассматривается обеспечение безопасной передачи голоса при использовании в Правительстве Санкт-Петербурга, необходимо, чтобы это был отечественный стандарт шифрования.
    Приведенным выше требованиям соответствует российский стандарт симметричного шифрования ГОСТ 28147-89 [18].
    При этом необходимо, чтобы длина зашифрованного сигнала не была больше длины изначальной длины сигнала. Это требование обусловлено тем, что передача большего по размеру потока занимает соответственно большее количество времени, что повлечет за собой неприемлемую ресинхронизацию с видео.
    Поэтому будем использовать шифрование ГОСТ 28147-89 в режиме простой замены.


    3.3. Сеансовый ключ
    Для зашифрования и расшифрования данных по алгоритму ГОСТ 28147-89 необходимо, чтобы стороны договорились об использовании сеансового ключа длиной 256 бит.

    28
    Установка сеансового ключа по классическому протоколу Диффи-Хеллмана позволяет сторонам установить сеансовый ключ по незащищенному каналу связи.
    Данный протокол уязвим к атаке «человек посередине» в связи с тем, что общающиеся стороны не могут достоверно определить с кем они общаются. Однако использование данного протокола при обеспечении безопасного общения посредством IP-телефонии резко снижает вероятность реализации данной угрозы. Это можно объяснить тем, что стороны имеют возможность видеть и слышать друг друга после установления зашифрованного соединения, а при перехвате зашифрованных пакетов третьей стороной с последующей передаче собеседнику повлечет за собой неприемлемые задержки при передаче. Такая задержка будет свидетельствовать о возможной атаке «человек посередине».

    29


    1. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОЙ ПЕРЕДАЧИ ДАННЫХ В


    SKYPE

    Как уже было сказано, оптимальным средством достижения безопасной передачи данных является возможность шифрование информацией, поступающей в программный клиент Skype, и информацией, исходящей из него.
    Для этого на языке программирования C# было разработано программной средство со следующим функционалом:


    1. Установка сеансового ключа по классическому протоколу Диффи-Хеллмана с заданным абонентом.




    1. Отправка сообщений, зашифрованных по алгоритму симметричного шифрования ГОСТ 28147-89 заданному абоненту.




    1. Прием зашифрованных сообщений и их расшифрование.




    1. Установка сеансового ключа в момент совершения вызова.




    1. Зашифрования исходящего аудиосигнала.




    1. Расшифрование входящего аудиосигнала.




    1. Сохранение сгенерированного сеансового ключа.




    1. Открытие ранее сгенерированного сеансового ключа.


    На рисунке 4 изображен интерфейс разработанного программного средства.

    30



    Рисунок 4 Интерфейс программного средства

    Далее опишем разработанный функционал.

    4.1. Установка сеансового ключа
    Согласно классическому протоколу Диффи-Хеллмана стороны обмениваются параметрами p и g. В разработанной программе (приложение 1) данные параметры генерирует сторона, инициировавшая установку сеансового ключа. Это происходит следующим образом.

    p = BigInteger.GenPseudoPrime(512, 30, _strongRng);
    g = (BigInteger)2;
    skype.SendMessage(“имя_абонента”, "!#skey_init#!p"
    +p.ToString(36));
    skype.SendMessage(“имя_абонента”, "!#skey_init#!g"
    +g.ToString(36));

    31
    Далее стороны генерируют большие случайные числа и обмениваются результатом операции возведения в степень по модулю:

    ( )

    b = BigInteger.GenPseudoPrime(512, 30, _strongRng);
    skype.SendMessage(“имя_абонента”, "!#skey_init#!e" + g.ModPow(b,
    p).ToString(36));


    Приведем пример обмена сообщениями с целью установки сеансового ключа по протоколу Диффи-Хеллмана.
    На рисунке 5 показан обмен сообщениями для установки сеансового ключа. Далее абонент при помощи полученного значения gb и своего секретного

    показателя a формирует сеансовый ключ согласно формуле.

    ( )

    recv = new BigInteger(mesg, 36); //полученной сообщение key = new byte[recv.ModPow(a, p).GetBytes().Length]; key = recv.ModPow(a, p).GetBytes(); //сеансовый ключ

    На рисунке 6 показан результат установки сеансового ключа абонентами.

    32



    Рисунок 5 Процесс установки сеансового ключа




    33
    Для установки сеансового ключа между тремя и более абонентами необходимо перечислить их через точку с запятой в поле ввода (рисунок 7).




    Рисунок 7 — Установка сеансового ключа между тремя абонентами


    Установка сеансового ключа для трех абонентов происходит так, как показано на рисунке 8.


    Алиса Боб Кэрол





    a


































































    p,g

























    p,g













    c



















    b






























































































    ga(mod p)























































































































































    gb(mod p)














































































































































    gab(mod p)
















































































































    gc(mod p)






































































    gbc(mod p)

















































    gac(mod p)































































































































    abc

    g

    abc

    (mod p)

    gabc(mod p)

    g (mod p)








    Рисунок 8 — Установка сеансового ключа между тремя абонентами по классическому протоколу Диффи-Хеллмана

    1   2   3   4   5   6   7   8   9


    написать администратору сайта