Современная компьютерная лингвистика может взломать шифрование вызовов VOIP достаточно хорошо, чтобы реконструировать то, что говорится. Несмотря на то, что они зашифрованы, кадры, составляющие вызов Skype, содержат подсказки о том, какие фонемы произносятся.
Взлом кода обычно является сложным математическим делом и не более чем математикой. Однако, если зашифрованные данные содержат какую-либо статистическую связь с исходными данными, тогда могут быть быстрые способы дешифрования, которые делают все это намного менее безопасным. Это хорошо известно, и все же вы можете быть удивлены, обнаружив, что Skype и многие другие формы телефонных систем VOIP уязвимы для такого рода атак.
Причина в том, что лучшая форма сжатия голосовых данных использует структуру речи — фильтр с линейным предсказанием. Основная идея заключается в том, что данные сжимаются с помощью входного кодового слова, которое представляет звук, издаваемый голосовыми связками в горле. Затем в фильтре задается набор параметров, который представляет форму рта и резонансных полостей. Параметры настроены так, чтобы выходной сигнал соответствовал звуку, насколько это возможно — это пример анализа путем синтеза, то есть вы анализируете сигнал, настраивая систему, которая создает его точно.
Skype использует линейное прогнозирование с кодовым возбуждением, в котором данные в кадре состоят из кодового слова, коэффициента усиления и набора коэффициентов линейного прогнозирования. Следующим шагом в обработке данных является сжатие кадра с использованием схемы с переменной скоростью передачи данных, в результате чего получается кадр, размер которого зависит от типа кодированной фонемы. Следующий этап шифрования не изменяет размер кадра, поэтому передаваемые зашифрованные данные имеют корреляцию между размером кадра и произносимой фонемой.
Теоретически выработать то, что говорится, исходя из слабой корреляции между размером кадра и фонемой, должно быть очень сложно. Однако компьютерные ученые и лингвисты из Университета Северной Каролины использовали грамматику фонем, чтобы ограничить возможности для пар и более крупных групп фонем в потоке данных. Это позволяет им сопоставлять образцы размеров фреймов данных с наиболее вероятными образцами фонем. Эти паттерны фонем затем сопоставляются с наиболее вероятными словами — метод, который они называют «фонотаксической реконструкцией».
На практике это оказалось на удивление эффективным — хотя, вероятно, недостаточно, чтобы подслушивать любой разговор в любое время. Иногда метод работает намного лучше, чем ожидалось, а иногда он не может взломать поток данных. Исследователи заявляют, что с улучшенной компьютерной лингвистикой они могли бы добиться гораздо большего успеха.
Что бы ни ожидало будущее, ясно, что метод сжатия оставляет слишком много информации в открытом виде после шифрования. Решением может быть разбиение данных на кадры фиксированного размера, но это затруднит восстановление данных в случае потери пакетов.