Гомоморфные подписи для сетевого кодирования

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Сетевое кодирование предоставляет возможность увеличить пропускную способность и улучшить устойчивость сети без какого-либо централизованного управления. К сожалению, оно очень восприимчиво к атакам, в которых вредоносные узлы изменяют данные. Благодаря тому, как пакеты распространяются в сети, единственный неправильный пакет данных может сделать недействительными все дальнейшие данные.[1] Злоумышленник может повредить пакет, даже если он зашифрован: для этого ему нужно подделать подпись, либо найти коллизии используемой хеш-функции.[2] Денис Чарльз, Камал Джаин и Кристин Лаутер разработали новую схему гомоморфного шифрования, позволяющую предотвратить такие атаки.[3] Использование гомоморфной подписи позволяет узлам подписывать любую линейную комбинацию входящих пакетов. В этой схеме узел не может подписать линейную комбинацию пакетов,не раскрывая, какая линейная комбинация использовалась. Кроме того, схема подписи защищена в соответствии с предположениями о сложности вычисления дискретного логарифма и сложности решения задачи Диффи-Хеллмана.[4]

Сетевое кодирование[править | править код]

Пусть ориентированный граф, состоящий из множества , элементы которого называются вершинами, и множества упорядоченных пар вершин , именуемых направленными рёбрами или дугами. Задача источника – отправить файл множеству вершин . Выбирается векторное пространство (скажем, размерности ), где простое, и данные, являющиеся множеством векторов . Источник создаёт расширенные векторы ,определенные следующим образом , где -я координата вектора . Перед первой в векторе находится нулей. Без потери общности можно считать, что векторы линейно независимы. Обозначим линейное подпространство (из ), натянутое на эти векторы, буквой . Каждая исходящая дуга вычисляет линейную комбинацию векторов, входящих в начальную вершину дуги . То есть

где . Мы считаем, что источник является конечной вершиной дуг, передающих векторов . По индукции, пусть вектор какой-либо дуги является линейной комбинацией и является вектором в . Тогда k-мерный вектор это просто k первых координат вектора . Назовем матрицу, строками которой являются векторы , где рёбра, входящие в вершину , глобальной матрицей кодирования для и обозначим её . На практике векторы кодирования выбираются случайно, поэтому матрица с высокой вероятностью обратима. Таким образом, любой приёмник, получивший , может найти , решив

где векторы, образованные удалением первых координат вектора .[5]

Декодирование[править | править код]

Каждый приёмник , получает векторов , являющихся случайными линейными комбинациями векторов . В самом деле, если

тогда

Таким образом, мы можем с высокой вероятностью обратить линейной преобразование и найти .[5]

История[править | править код]

Крон, Фридман и Мэзиэс в 2004 году предложили теорию[6]: если у нас есть хеш-функция такая, что:

  • стойка к коллизиям – сложно найти и такие, что ;
  • является гомоморфизмом.

Тогда сервер может отправить каждому приёмнику. Если

мы можем проверить равенство

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

Преимущества гомоморфных подписей[править | править код]

  1. Реализуют аутентификацию в дополнение к выявлению подмены пакетов.
  2. Нет необходимости в передаче хеш-сумм по защищенному каналу.
  3. Открытая информация не изменяется для последующей передачи файлов.[4]

Схема подписи[править | править код]

Гомоморфное свойство подписей позволяет узлам подписывать какую-либо линейную комбинацию входящих пакетов, не используя схему подписи.[4]

Эллиптическая криптография над конечным полем[править | править код]

Эллиптическая криптография — раздел криптографии, который изучает асимметричные криптосистемы, основанные на эллиптических кривых над конечными полями.

Пусть конечное поле такое, что не является степенью 2 или 3. Тогда эллиптическая кривая над является кривой, задающейся уравнением вида

где такие, что

Пусть , тогда

образует абелеву группу.[7]

Вейль-спаривание[править | править код]

Вейль-спариванием является билинейное отображение, сопоставляющее двум точкам подгруппы -кручения точек эллиптической кривой корень степени в конечном поле.[8] Пусть эллиптическая кривая и пусть алгебраическое замыкание . Если целое и взаимно-простое с характеристикой поля , тогда группа элементов -кручения .

Вейль-спаривание обладает свойствами[5]:

  1. (Билинейность) .
  2. (Невырожденность) for all P implies that .
  3. (Тождественность) .

Гомоморфные подписи[править | править код]

Пусть простое число и степень другого простого числа: . Пусть векторное пространство размерности и эллиптическая кривая такая, что . Определим следующим образом: . Эта функция гомоморфизм в .

Сервер выбирает секретно в и публикует точку , являющуюся элементом -кручения, такую, что и публикует , где .[5] Подписью вектора является

Замечание: эта подпись гомоморфна,поскольку гомоморфизм.

Проверка подлинности подписи[править | править код]

Даны и подпись . Для проверки подлинности требуется проверить равенство[2]

Верификация использует билинейность Вейль-спаривания.[4]

Настройка системы[править | править код]

Сервер вычисляет[2] для каждого . Передаёт . На каждом ребре при вычислении также вычисляется на эллиптической кривой .

Подписью является точка на эллиптической кривой с координатами в . Таким образом, размер подписи[2] бит, и это дополнительные расходы на передачу.

Доказательство безопасности[править | править код]

Злоумышленник может найти коллизии хеш-функции.

Если даны точки в , найдём и

такие, что и

Если , тогда мы получаем . То есть . и . Допустим, что , тогда , но точка порядка (простое число), таким образом . Другими словами в . Это противоречит предположению о том, что и различные пары в . Таким образом , где обратный элемент берётся по модулю .

Если , мы можем взять и как раньше и установить для (в этом случае доказательство аналогично ), или мы можем взять и , где выбираются случайным образом из . Получаем одно уравнение с одним неизвестным (дискретный логарифм ). Вполне возможно, что полученное уравнение не будет содержать неизвестную величину. Тем не менее, это происходит с очень маленькой вероятностью. Предположим, что алгоритм поиска коллизий дал нам

До тех пор, пока , нужно решать дискретный логарифм . Рассмотрим , где , не равные нулю одновременно. Какова вероятность, что выбранные удовлетворяют условию ? Она равна . Таким образом, с большой долей вероятности придется решать дискретный логарифм .[9]

Мы показали, что сложно найти коллизии хеш-функции в данной схеме. Другой способ нарушить работу системы – подделать подпись. Эта схема подписи является версией схемы BLS (Boneh – Lynn - Shacham). Подделать подпись, по крайней мере так же сложно, как решить вычислительную проблему Диффи-Хелмана.[10] Единственный известный способ решить эту проблему на эллиптических кривых – вычислить дискретный логарифм. Таким образом, подделать подпись так же сложно, как вычислить дискретный логарифм.[11]

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

  • Joseph H. Silverman. The Arithmetic of Elliptic Curves. — N. Y.: Springer, 2009. — P. 51-52,92-94. — 408 p. — ISBN 978-0-387-09493-9.
  • R. Gennaro, J. Katz, H. Krawczyk,T. Rabin. Secure Network Coding Over the Integers. — 2011. — P. 19.
  • D. Charles, K. Jain,K. Lauter. SIGNATURES FOR NETWORK CODING. — 2006. — P. 7.
  • M. Krohn, M. Freedman,D. Mazieres. On-the-Fly Verification of Rateless Erasure Codes for Efficient Content Distribution. — 2004. — P. 15.
  • D. Boneh, B. Lynn,H. Shacham. Short Signatures from the Weil Pairing. — 2001. — P. 24.

Ссылки[править | править код]