Магистрант
ВИННИЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Студент
Гарнага Владимир Анатольевич,кандидат технических наук, доцент, Винницкий национальный технический университет
УДК 004
Развитие криптографии в наше время, в основном, связано с широким использованием компьютерных сетей и в частности глобальной сети Интернет, по которой передают очень большие объемы информации военного, государственного, коммерческого и частного содержания, не допускает возможности доступа к ней посторонних лиц, а с другой, появление новых мощных вычислительных ресурсов сделала возможной дискредитации ряда криптографических систем. Несмотря на широчайшее внедрение автоматизированных и компьютеризированных систем обработки информации, человеческая речь остается одним из важнейших путей информационного взаимодействия. Более того, при децентрализации политической и экономической систем и соответствующем увеличении доли оперативной информации, непосредственно связывает самостоятельных в принятии решений людей, значимость речевого обмена возрастает. Информационная безопасность цифрового аудио сигнала стала очень актуальной темой исследований благодаря популярности Интернет-общения и разных цифровых прикладных библиотек которые нуждаются в защите права интеллектуальной собственности и поэтому увеличивается потребность в обеспечении конфиденциальности речевого обмена.[1]<>
Одним из наиболее эффективных путей решения этой проблемы может быть шифрование или кодирование информации. Цифровые медиа шифруют данных перед распространением и только авторизованные пользователи, имеющие подходящий ключ для расшифровки, могут иметь доступ к понятному содержания. Для сокрытия аудио информации может использоваться скремблирование как вид шифрования. При скремблировании цифровые аудио сигналы представляются в виде случайной последовательности набора значений двоичной системы счисления, которая не позволяет узнать его настоящий смысл человеком или компьютерной системой.
Некоторые методы, которые скремблируют аудио сигнал или видеосигнал достаточно исследованными, известными и давно внедрены. Такие системы, однако, как правило, являются относительно дорогими и сложными. Много таких системы включают разбитие длинного звукового сигнала на несколько частотных поддиапазонов и только тогда их скремблируют. Этот подход является достаточно дорогим хотя и действительно обеспечивает достаточно высокий уровень защиты.
Актуальность проблемы защиты информации связана с большим ростом возможностей вычислительной техники в том числе и в целях преднамеренного взлома. Развитие методов, средств и форм автоматизации процессов обработки информации и массовое применение персональных компьютеров делают информацию очень уязвимой и доступной, особенно при ее передаче, и поэтому нет сомнений в необходимости серьезно заботиться об информационной безопасности. Для противодействия компьютерным преступлениям в сфере медиа или уменьшение ущерба от них, необходимо грамотно выбирать меры и средства обеспечения защиты информации от кражи и несанкционированного подслушивания.
Цель и задачи исследования. Целью исследований является повышение защиты передачи аудио сигналов на основании обоснования уровня защиты методов скремблирования и создание нового на основе кодов Фибоначчи, реализованного программным путем.
Данная работа представляет собой теоретический анализ и создание нового современного алгоритма скремблирования и обоснование уровня устойчивости алгоритма. Разработка алгоритмов скремблирования является одним из перспективных аспектов создания надежных алгоритмов кодирования информации в компьютерных сетях.
Для успешного достижения поставленной цели необходимо эффективно решить следующие взаимосвязанные задачи:
1) выбор, анализ и рационализация методов скремблирования для обоснования уровня устойчивости системы;
2) дальнейшее развитие алгоритма оценки уровня устойчивости систем шифрования на основе использования алгоритма генерирования псевдослучайной последовательности двоичных значений чисел Фибоначчи;
3) исследование и дальнейшее развитие методов генерирования псевдослучайной последовательности чисел создание средств их практической реализации;
5) формирование правил создания параметров кодируемого алгоритма;
6) исследования в компьютерных системах полученной оценки устойчивости разрабатываемого метода скремблирования.
Объект исследования - алгоритмы шифрования аудио сигналов на базе аппаратной и программной реализации.
Предмет исследования - анализ методов скремблирования, выявление их уязвимостей для предотвращения последних в разрабатываемом скремблере.
Методы исследования. Для проведения поставленных в данной работе исследований, используются результаты из таких областей знаний: компьютерные системы и сети и теория информации для обоснования уровня защиты речевой информации; при исследовании методов криптоанализа - кодирование на основе чисел Фибоначчи, скремблирования сигналов на основе аппаратных и программных реализаций. Научная новизна полученных результатов. Впервые разработан метод, который отличается от существующих учетом базы на которой разрабатывается и использованных подходов, позволяет повысить качество процесса скремблирования аудио сигналов.
Большой опыт применения систем защиты информации (ЗИ) показывает, что эффективной может быть только хорошая комплексная система защиты, которая может объединять следующие мероприятия: законодательные, морально-этические, физические, административные, технические, криптографические, программные.[2]
Выбор системы ЗИ всегда зависит от предполагаемого способа возможного нападения. Решение этой задачи зависит от формы представления информации (электромагнитный сигнал, аудио -, видео -, цифровая информация), а способ защиты - от предполагаемой формы воздействия на информацию, используемого носителя информации, состояния информационного носителя, от того, производится защита информации непрерывно или в мере выявления факта нападения.
Одним из наиболее уязвимых каналов утечки информации являются телефонные линии общего пользования и интернет соединения, с помощью которых осуществляется большое количество конфиденциальных и секретных переговоров. Современная аппаратура съема информации позволяет легко прослушивать эти каналы. Наиболее простой способ получения информации - непосредственное подключение к линии в любой точке от абонентского окончания (телефонного аппарата) до входа в АТС, включая распределительные щиты и шкафы и коммуникационные колодцы. При использовании аппаратуры съема высокого класса практически невозможно определить есть ли несанкционированное подключение к линии. В таком случае единственным способом защиты информации является превращение ее к такому виду, с которого злоумышленник не сможет понять ее содержание в течение какого-то определенного времени или не понять сообщение вообще.[3]
В системах речевой связи известны два основных метода закрытия речевых сигналов: дискретизации языка с последующим шифрованием и аналоговое скремблирования . Под скремблированием понимается изменение ключевых характеристик речевого сигнала таким образом, что полученный модулированный сигнал, имея свойства неузнаваемости и неразборчивости, занимает такую же полосу частот спектра, как и начальный что был открыт. Какой бы сложной ни была процедура скремблирования, наименьший элемент, с которым она оперирует, - это преобразованный фрагмент речевого сигнала, который нельзя сделать короче какого-то определенного интервала из-за интерференционных явлений при передаче в канале.
Основными свойствами скремблера являются:
1) низкая сложность реализации;
2) высокое качество восстановленной речи;
3) наличие остаточной информации в закрытом сигнале, которая может быть использована конкурирующей стороной.
Цифровые системы закрытия речи не передают какой-либо части первоначального речевого сигнала как ето делают аналоговые. Языковые компоненты кодируются в цифровой поток данных, который в дальнейшем смешивается с псевдослучайной последовательностью по одному из криптографических алгоритмов, полученное таким образом закрытое речевое сообщение передается с помощью модема в канал связи, на другом конце которого производятся обратные преобразования с целью получения открытого речевого сигнала. Такие системы называют кодерами - это процедуры, представляющие речевой сигнал моделью; параметры модели, изменяющихся во времени, шифруют как поток данных и передают с помощью модемов.[3]
Основными свойствами кодеров являются:
1) большая сложность реализации, как правило, на основе цифровых сигнальных процессоров (DSP);
2) качество восстановленной речи определяется скоростью передачи данных в канале и сложностью модели;
3) принципиальное отсутствие остаточной какой-либо информации в закрытом сигнале, любой алгоритм шифрования данных создает некоррелированный поток данных, исключает статистические зависимости между закрытым и открытым представлениями сигнала.
Криптографические алгоритмы делятся на два класса: асимметричные (двух ключевые) и симметричные (одно ключевые).
К алгоритмам первого классу относятся все методы шифрования (перестановка, подстановка, сдерживания) с использованием одного ключа, который хранится в тайне и передается по защищенным каналам связи. Среди стандартных алгоритмов наиболее известны: стандарт шифрования данных (DES), ГОСТ 28147-89.
Наиболее распространенной системой шифрования с открытым ключом является система RSA, криптостойкость этого алгоритма основана на тяжести решение задач разложения больших чисел на простые сомножители. Все эти алгоритмы обеспечивают очень высокое качество шифрования, но ни один из них не подходит для шифрования речевых сигналов так как это вызовет большую задержку при передаче данных в связи с длительностью обработки входных сигналов.
Основными характеристиками любой криптосистемы является ее максимальная безопасность и производительность. Так, система RSA работает примерно в тысячи раз медленнее чем скремблирование и требует, чтобы ключи были очень долгие. Хотя очевидно, что использование систем с открытым ключом может быть ограничено задачей обмена ключами с последующим их применением в классической криптографии, то есть использование так называемых гибридных систем.[3]
В скремблере алгоритм защиты не является изолированным, а заложенный в сам алгоритм преобразования речевого сигнала. Шифрование здесь заключается в формировании генератором псевдослучайной последовательности битов, определяющих значения индексов в алгоритме преобразования речевого сигнала.
В вокодерах и кодерах, в отличие от шифрования данных (текста), шифрование параметрической информации, содержащей непредсказуемые компоненты, является очень специфической задачей. По мнению многих специалистов, операции гаммирования с обратной связью и замены не являются необходимыми для шифрования параметрической информации. Предполагается, что единственной операцией должно быть получение без обратной связи цифрового потока параметрической информации. При получении цифрового потока выполняется операция сложения по модулю 2 поразрядно, то есть каждый бит последовательности гаммы состоит из соответствующих битом последовательности данных.
Алгоритм генерации кодирующих битов должен удовлетворять ряду условий для "хорошего" генератора случайных чисел (бит). Длина цикла генератора должна быть такой, чтобы исключить повторение последовательности на некотором достаточно большом интервале времени при условии непрерывной работы генератора. При построении генератора применяются алгоритмы формирования m - последовательностей (в простых реализациях), линейных конгруэнтных последовательностей или комбинированные алгоритмы с двумя разнородными генераторами, один из которых формирует псевдослучайные коды, а другой выполняет их перестановки или же возможны другие, менее употребляемые, варианты.
Скремблирование обеспечивает преобразование выходного двоичного сигнала в сигнал, по своим свойствам близок к случайному с одинаковым шансом появления символов «0» и «1» и отсутствием корреляционных связей между ними. В результате вероятность образования последовательности из нулей равна Рk = 0,5^k. Например, вероятность появления последовательностей с 5, 10, 15, 20 нулей равна соответственно 3*10^-2; 9*10^-4;3*10^-5 ;9*10^-7. [4].Таким образом, скремблирования уменьшает вероятность появления длинных последовательностей нулей и это увеличивает зашумленность исходящего сигнала.
Скремблирование осуществляется путем поразрядного суммирования по mod2(⊕) информационной последовательности символов Х вх (t) с псевдослучайной последовательностью (ПСП) Y (t), который формируется генератором ПВП который в нашем случае будет работать на основе чисел Фибоначчи. В результате суммирования по mod2 формируется скремблируемый цифровой сигнал Z (t) = Х вх (t) ⊕ Y (t).
На приемной стороне скремблирования сигнала осуществляется путем повторного добавления по mod2 принятые сигналы Z с ПВП, то есть при отсутствии препятствий Х вх (t) = Z (t) ⊕ Y (t) = Х вх (t) ⊕ Y (t) ⊕ Y (t) = Х вх (t), то есть выходной сигнал в результате скремблирования восстанавливается .
Структурная схема описания работы скремблера-дескремблера приведена на рисунке 1.1
Рисунок 1.1 - Структурная схема скремблера-дескремблера
Синхронизация генераторов ПСП на передающей и приемной сторонах осуществляется управляющими сигналами от генераторного оборудования ЦСП.
Развитие криптографии в наше время связан с использованием компьютерных сетей, в частности глобальной сети Интернет, по которой передают большие объемы информации военного, государственного, коммерческого и частного содержания, не допускает возможности доступа к ней посторонних лиц, а с другой, появление новых мощных вычислительных средств сделала возможной дискредитации ряда криптографических систем. [4]
Критерии оценки систем сокрытия языка
Существует четыре основных критерия, оценки характеристик устройств сокрытия речевых сигналов, а именно: узнаваемость говорящего; степень посвящения; разборчивость речи; основные технические характеристики системы. Приемлемым коммерческим качеством, восстановленной на приемном конце, языка считается такая речь, когда слушатель может без колебаний точно определить голос говорящего и смысл произнесенного сообщения. Кроме этого, под хорошим качеством передаваемого речевого сигнала имеется в виду и возможность воспроизведения каких либо эмоциональных оттенков и других специфических эффектов которые могут появится в процессе разговора. При использовании радиоканалов трудности с разборчивости и узнаваемости еще более возрастают из-за неопределенности, разных условий распространения радиоволн, и достичь повторяемости результатов невозможно без применения каких либо моделей радиоканалов. Для дуплексных систем дополнительное воздействие на качество делает задержка сигнала по времени. Поскольку основным показателем секретности передаваемых речевых сообщений является его полная неразборчивость в случае перехвата злоумышленником, сравнение по степеням защиты является определяющим моментом при выборе пользователем конкретной системе закрытия языка.[2]
Как правило, аналоговые скремблеры используются там, где применение цифровых способов сокрытия языка затруднено из-за наличия возможных ошибок передачи. Если же нужно сохранить конфиденциальность информации от возможных атак конкурентов, обладающих достаточным техническим и специальным оборудованием, то нужно применять не только аналоговые, но и цифровые скремблеры среднего уровня закрытия с динамически изменяемым в процессе разговора ключом. Естественно, что эти системы будут дороже, чем системы засекречивания с фиксированным ключом, однако они настолько усложняют работу злоумышленников по разработке дешифрующие алгоритма, время, затраченное на это, значительно обесценит полученную информацию с перехваченного сообщения. Поскольку в современных алгоритмах скремблирования, как правило, перед началом сообщение передается синхропоследовательности, в которой содержится некая часть дополнительной информации о ключе текущего передаваемого сообщения у злоумышленника есть только всего шанс попробовать его раскрыть, взяв множество ключевых установок. Если ключи меняются каждый день, то даже в случае известного алгоритма преобразования речи злоумышленнику придется перебрать много тысяч вариантов в поисках настоящей ключевой последовательности и даже не факт что он сможет его найти в кратчайшие сроки.
Описание алгоритмов и их работы
В разрабатываемом алгоритме ключом можно считать число, используется для получения кодирующих битов и так как это число можно менять каждый раз при установлении соединения, то можно быть уверенным, что это придаст больше трудности злоумышленникам при попытке получения доступа. Также можно утверждать, что в нашем случае при цифровом скремблировании не возникает таких проблем передачи что возникают при аналоговом скремблировании потому, что за передачу данных и их синхронизацию отвечать стандартные протоколы передачи данных по сети.
Cкремблирование будет проводиться по следующей формуле:
A [i] = A [i-3] ⊕ Р2 [j],
где А - cкремблированый бит;
Р2 - кодирующие биты.
Как видно из формулы, нам нужно кодирующие биту ну и собственно само сообщение для шифрования. Кодирующие биты нам обеспечивать пользователь который будет вводить какое-то произвольное число, в свою очередь превращаться по соответствующему алгоритму, на основе чисел Фибоначчи, в двоичную последовательность. На самом деле можно выбрать любой способ преобразования числа в кодирующие биты или даже и есть проводить вообще никаких операций с числом Р, кроме как самого перевода в двоичную систему, но тогда алгоритм будет ниже уровень защиты чем ожидается и чтобы этого не произошло, нужно каким-то образом изменять входное число Р. Метод Фибоначчи был избран в связи с тем, что при относительно малом нагружении на аппаратную систему он дает большое отличие входного Р от исходящего, проанализировав большинство доступных методов, по моему мнению этот способ является одним из наиболее эффективных методов. Алгоритм формирования кодирующих битов показано на рисунке 1.2.
Рисунок 1.2 - Алгоритм формирования кодирующих битов
На вход алгоритма входит какое-то число Р введенное пользователем которое мы переводим в систему счисления с основанием два. Полученный набор нулей и единиц заносится в массив Р2. В цикле проверяем массив Р2 на наличие единицы и если такую найдено то в перемену sum записываем сумму sum и соответствующего числа из массива F в котором содержатся числа ряда Фибоначчи. Цикл продолжает свою работу пока все числа из массива Р2 не будут перебраны. На выход массива подаем число Р2 которое содержит двоичный код десятичного числа sum. Рассмотрим работу алгоритма на примере. Пусть пользователь вводит числа Р10 = 25, что в двоичной системе счисления равно 11001. Массив с числами Фибоначчи будет следующим - F [1,2,3,5,8,13,21 ..., n]. Длина массива Р2 равна 5, а это значит, что цикл 5 раз проверять массив на наличие числа 1 и в каждом случае обнаружения этого числа он будет увеличивать число sum на соответствующее число из массива F. Наглядно это можно отобразить следующим образом -, сверху записано двоичное число Р2, а снизу числа Фибоначчи. В нашем случае sum будет равен 1 + 2 + 8 = 13 и это полученное число переводим в двоичную систему Р2 = 1101, что в дальнейшем обеспечит наш алгоритм скремблирования кодирующих битами.
После того как было проведено вычисления кодирующих битов можно приступать и к самому процессу скремблирования алгоритм которого изображено на рисунке 2.3.
Разберем работу алгоритма. На вход приходит аудио поток в двоичной системе и кодирующие биты которые были получены в результате работы предыдущего алгоритма. Первые три бита выходного скремблированого кода будут равными первым трем кодирующим битам такой подход сделан с целью сделать возможным использование предыдущих скремблированых битов. Далее делаем проверки закончились у нас кодирующие биты или нет и хотя биты у нас не закончились, но проверку мы должны сделать именно в этом месте так как это позволит сократить в дальнейшем алгоритм скремблирования на один дополнительный цикл. После проверки, если цикл с кодирующими битами не дошел до конца, скремблирование производится по формуле A [i] = A [i-3] ⊕ Р2 [j] и снова идет проверка массива кодирующих битов, но в этом случае есть вероятность того что цикл взял кодирующие биты до конца и в таком случае его индекс обнуляется, и перебор осуществляется с начала. Этот процесс обнуления будет происходить пока не закончится скремблирование каждого входного бита аудио сигнала после чего скремблированый сигнал будет передаваться собеседнику.
Реализация алгоритма
Полученный во втором разделе алгоритм для скремблирования речевых сигналов будет реализован программным путем с помощью такого языка программирования как Java, а средой разработки избран GUI IntelliJ IDEA версии 14.1.5
Для реализации задачи на выбранном языке нужно воспользоваться некоторыми стандартными библиотеками которые будут использованы в создаваемых модулях.
Для работы модулей были использованы следующие библиотеки java: sound.sampled, java.io.DataInputStream, io.DataOutputStream, io.IOException, net.Socket, util.ArrayList, util.Collection, util.Iterator, swing, awt.event. ActionEvent, awt.event.ActionListener, net.InetAddress.
В общем интерфейс будет выглядеть как показано на рисунке 1.4.
Рисунок 1.4 - Интерфейс программы
Как видно из рисунка, интерфейс имеет четыре кнопки и два текстовых поля. Текстовое поле p_text предназначенное для ввода пользователем числа Р которое будет использоваться программой для генерирования кодирующих битов скремблера по умолчанию это число равно 25. Для создания соединения между двумя пользователями используется соединение через порт 3000 за помощью стека протоколов TCP / IP. IP-адрес пользователя с которым должен состояться соединения указывается в поле ip_text и по умолчанию ему заданное значение 192.168.0.104. Кнопки интерфейса имеют названия в соответствии с их функциональных возможностей. Для каждой кнопки приставлен слушатель событий который в дальнейшем необходимо разработать для каждой кнопки отдельно. Каждый слушатель событий будет обрабатываться в соответствующем классе и содержать в себе определенный функционал который в основном будет вызывать функции из соответствующих модулей для обработки события.
Реализация алгоритма с рисунка 1.2 будет выглядеть следующим образом
for(int i=0;i<str2.length();i++) {
String str4 = str3.substring(i,i+1);
if (str4.equals("1")) {
GlobalVars.fibsum = GlobalVars.mas2[i] + GlobalVars.fibsum;
}
}
После проведения всех операций у нас есть все данные необходимы, непосредственно, для самого скремблирования. Скремблирование проводится с помощью метода scrembler (int c). Метод принимает число над которыми выполняется операция скремблирования, то есть на вход подаем число которое хотим скремблювать, а на выходе получаем уже готовое, скремблированое число которое можно отправлять на воспроизведение через буфер.
Реализация алгоритма с рисунка 1.3 то есть функции scrembler (int c) будет выглядеть следующим образом
public void scrembler(int c) {
GlobalVars.str22="";
String str= Integer.toBinaryString(GlobalVars.fibsum);
String str26=Integer.toBinaryString(c);
int j=0;
for(int i=0;i<str26.length();i++) {
if(i==0 || i==1 || i==2) {
String str25 = str26.substring(i,i+1);
GlobalVars.str22 = GlobalVars.str22 + str25;
}
else {
if (j==str.length()){
j=0;
}
String str25 = str26.substring(i-3,i-2);
int a =Integer.parseInt(str.substring(j,j+1))^
Integer.parseInt(str25);
GlobalVars.str22 = GlobalVars.str22+a;
j++;
}
}
}
Как видно по реализации, охватить все в одно условие не удалось в связи с исключениями, возникающие в результате деятельности программы при длине кодирующих битов меньшей трем, так написано еще одну условия специально для этих случаев.
Основное преимущество такого скремблера заключается в том, что он является цифровым, что автоматически исключает ряд сложностей связанных с синхронизацией и разного рода помехами.
Вывод
В результате проведенного исследования был разработан метод скремблирования речевых сигналов и алгоритм его реализации на основе чисел Фибоначчи с целью защиты аудио данных от несанкционированного подслушивания. Проанализированы свойства и критерий оценки системы сокрытии языка. Приведенный пример работы алгоритмов и описан принцип действия и преведена програмная реализация алгоритма скремблирования.
Рецензии:
14.11.2015, 8:18 Борисевич Алексей Валерьевич
Рецензия: В целом, статья по постановке задачи и описанию разработанного алгоритма скремблирования статья производит позитивное впечателние. Но! Ужасно много грамматических и речевых ошибок. Рекомендую распечатать текст статьи на принтере и прочитать внимательно с красной ручкой, исправив все ошибки. Обязательно проверить также в Word. Также обязательно в технической статье необходимо провести с помощью каких программных (на каком языке программирования -- C++, Matlab и т.д.) и аппаратных средств (компьютер, DSP, FPGA) был реализован алгоритм. И самое главное -- чем отличается от других методов скремблирования (например, простого аддитивного скремблера) в примненению к данной задаче. Считаю, что после исправления всех недостатков, статью безусловно можно опубликовать.
20.11.2015, 9:34 Борисевич Алексей Валерьевич Отзыв: Спасибо большое за исправления. Считаю, что в таком виде статья может быть опубликована. Исправьте еще в списке литературы [4]: КР2лимчук => Климчук |
20.11.2015, 17:49 Яворский Александр Леонидович Отзыв: Исправлено. |
27.12.2015, 11:10 Редакция журнала SCI-ARTICLE.RU Отзыв: К сожалению, перестали отображаться рисунки. Прошу до 29 декабря исправить, в противном случае, мы не сможем опубликовать статью. После исправления, сообщите на электронный адрес sci@sci-article.ru |