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

  • 5.5.2. Оценка нагрузки

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


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

    5.3. Разработка драйвера Windows
    Программистам предоставляется ряд средств для разработки драйверов Windows, например, Windows Driver Kit (WDK) [16].
    В состав средств WDK входит, в том числе, ряд примеров драйверов.

    48
    Для решения поставленной задачи воспользуемся одним из них, а именно Microsoft Virtual Audio Device Driver Sample – simple [5].
    При этом существует ряд открытых проектов разработки и модификации драйверов с открытым исходным кодом. Реализовывать виртуальное аудиоустройство для решения поставленной задачи будем на основе одного из них,


    • именно LoopbackAudioDriver [4].


    Для обмена потоками между интерфейсами будем использовать функции CopyFrom и CopyTo.

    STDMETHODIMP_(void) CMiniportWaveCyclicStream::CopyFrom(
    IN PVOID Destination, IN ULONG ByteCount
    )
    {
    ULONG i = 0;
    ULONG FrameCount = ByteCount/2;
    if (!m_pMiniport->myBufferLocked)
    {
    while (i < FrameCount)
    {
    ((PWORD)Destination)[i]=((PWORD)m_pMiniport->myBuffer)[m_pMiniport->myBufferReadPos];
    i++;
    m_pMiniport->myBufferReadPos++;
    }
    Encrypt(Destination,key,FrameCount);
    }
    }


    • функции CopyFrom для виртуального устройства ввода мы получаем поток данных с виртуального микрофона и производим его зашифрования. Для виртуального устройства вывода, соответственно производится расшифрование.

    49
    STDMETHODIMP_(void) CMiniportWaveCyclicStream::CopyTo(
    IN PVOID Source, IN ULONG ByteCount

    )
    {
    ULONG i = 0;
    ULONG FrameCount = ByteCount/2;
    if (!m_pMiniport->myBufferLocked)
    {
    while (i < FrameCount)
    {
    ((PWORD)m_pMiniport->myBuffer)[m_pMiniport->myBufferWritePos]=((PWORD)Source)[i];
    i++;
    m_pMiniport->myBufferWritePos++;
    }
    }
    }


    • функции CopyTo поток с виртуального микрофона передается на виртуальные динамики.


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

    50


    UNICODE_STRING uniName;
    OBJECT_ATTRIBUTES objAttr;
    RtlInitUnicodeString(&uniName,
    L"\\DosDevices\\C:\\WINDOWS\\audio"); InitializeObjectAttributes(&objAttr, &uniName,
    OBJ_CASE_INSENSITIVE |
    OBJ_KERNEL_HANDLE,
    NULL, NULL);
    LARGE_INTEGER byteOffset;
    CHAR buffer[KEY_SIZE];
    size_t cb;
    HANDLE handle;
    NTSTATUS ntstatus;
    IO_STATUS_BLOCK ioStatusBlock;
    ntstatus = ZwCreateFile(&handle,
    GENERIC_READ,
    &objAttr, &ioStatusBlock,
    NULL,
    FILE_ATTRIBUTE_NORMAL,
    0,
    FILE_OPEN,
    FILE_SYNCHRONOUS_IO_NONALERT,
    NULL, 0);
    if(NT_SUCCESS(ntstatus))
    {
    byteOffset.LowPart = byteOffset.HighPart = 0;
    ntstatus = ZwReadFile(handle, NULL, NULL, NULL, &ioStatusBlock, buffer, KEY_SIZE, &byteOffset,
    NULL);
    if(NT_SUCCESS(ntstatus))
    {
    buffer[KEY_SIZE-1] = '\0';
    for (int i = 0; i < KEY_SIZE; i++)
    {

    51
    key[i] = (INT)buffer[i];
    }
    }
    ZwClose(handle);
    }

    5.5. Результаты
    Скомпилировав виртуальный драйвер при помощи Windows Build Utility (Build.exe), получаем cryptoaudio.sys файл.
    Для его установки используем cryptoaudio.inf файл (приложение 2) и утилиту
    DevCon:


    devcon install cryptoaudio.inf *cryptoInput devcon install cryptoaudio.inf *cryptoOutput

    После установки в диспетчере устройств появляются устройства «CRYPTO INPUT» и «CRYPTO OUTPUT» (рисунок 24).

    52



    Рисунок 24 Виртуальные аудиоустройства в диспетчере задача Windows


    Теперь данные аудиоустройства доступны для выбора в VoIP-клиенте, например, Skype (рисунок 25) или Cisco Jabber Video for TelePresence (рисунок 26).

    53



    Рисунок 25 Виртуальные аудиоустройства в Skype



    Рисунок 26 Виртуальные аудиоустройства в Cisco Jabber Video for TelePresence

    54
    Для того, чтобы подать на виртуальный микрофон поток с реального микрофона и с виртуальных динамиков на реальные – воспользуемся сторонним приложением Audio Repeater 1.51.
    С его помощью перенаправим поток с микрофона на виртуальное устройство CRYPTO INPUT (рисунок 27).



    Рисунок 27 Перенаправление потока с микрофона на виртуальное аудиоустройство


    Также необходимо перенаправить поток с виртуального устройства CRYPTO OUTPUT на динамики (рисунок 28).






    Рисунок 28 Перенаправление потока с виртуального аудиоустройства на динамики

    55
    В результате VoIP-клиенты оперируют зашифрованным голосовым трафиком.
    Это повлекло за собой некоторые проблемы.
    Дело в том, что Skype перед шифрованием проводит ряд манипуляций с голосовым потоком, направленных, скорее всего, на его сжатие, т.е. фактически передается видоизмененный начальный сигнал. Это объясняет тот факт, что голос при общении посредством Skype всегда несколько отличается от оригинального.
    Поэтому при расшифровании переданного сигнала на принимающей стороне получается сигнал отличный от переданного, который нельзя воспринимать комфортно.


    • то же время при общении посредством Cisco Jabber Video for TelePresence


    голос передается в очень высоком качестве, благодаря этому при использовании предложенного подхода безопасной передачи голоса достигается комфортное восприятие расшифрованной информации.

    5.5.1. Оценка временных задержек
    Проведем оценку временных задержек при использовании шифрования для различных конфигураций компьютера, описанных в п. 4.4.1.


    • таблице 4 представлена средняя временная задержка, выраженная в остывании звука от видео, для различных конфигураций.






    Таблица 4 Оценка временных задержек













    Временная




    Конфигурация

    задержка, с




    Низкая мощность

    0,8




    Средняя мощность

    0,4




    Высокая мощность

    10-1






    Из приведенной таблицы 4 видно, что некомфортное общение при использовании шифрование может возникать при использовании компьютера низкой мощности. Также некоторые неудобства могут возникать в случае

    56
    среднемощного компьютера. При использовании компьютера высокой мощности задержки сводятся к минимуму.

    5.5.2. Оценка нагрузки
    Проведем оценку нагрузки с использованием шифрования и без него для конфигураций из п. 4.4.1.
    На рисунке 29 показана общая нагрузка на компьютер низкой мощности при использовании шифрования и без него.








    Низкая мощность

    80




    70




    60




    50




    40

    Общая нагрузка на

    30

    CPU





    20
    10
    0
    Без шифрования С шифрованием
    Рисунок 29 Оценка нагрузки на компьютер низкой мощности


    На рисунке 30 показана общая нагрузка на компьютер средней мощности при использовании шифрования и без него.

    57







    Средняя мощность

    25

























    20

























    15










    Общая нагрузка на


































    10










    CPU





    5
    0
    Без шифрования С шифрованием
    Рисунок 30 Оценка нагрузки на компьютер средней мощности

    На рисунке 31 показана общая нагрузка на компьютер высокой мощности при использовании шифрования и без него.



    Высокая мощность


    14































    12































    10































    8













    Общая нагрузка на













    6





































    CPU




























    4































    2































    0
















    Без шифрования

    С шифрованием





    Рисунок 31 Оценка нагрузки на компьютер высокой мощности

    Таким образом, нагрузку на компьютер можно считать критичной только для компьютера низкой мощности, а для конфигураций средней и высокой мощности она невелика.

    58
    1   2   3   4   5   6   7   8   9


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