Это не официальный сайт wikipedia.org 01.01.2023

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

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

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

Сетевое кодированиеПравить

Пусть G = ( V , E )   ориентированный граф, состоящий из множества V  , элементы которого называются вершинами, и множества E   упорядоченных пар вершин u , v V  , именуемых направленными рёбрами или дугами. Задача источника s V   – отправить файл D   множеству вершин T V  . Выбирается векторное пространство W / F p   (скажем, размерности d  ), где p   простое, и данные, являющиеся множеством векторов w 1 , , w k W  . Источник создаёт расширенные векторы v 1 , , v k  ,определенные следующим образом v i = ( 0 , , 0 , 1 , , 0 , w i 1 , , w i d )  , где w i j   j  -я координата вектора w i  . Перед первой 1   в векторе v i   находится ( i 1 )   нулей. Без потери общности можно считать, что векторы v i   линейно независимы. Обозначим линейное подпространство (из F p k + d   ), натянутое на эти векторы, буквой V  . Каждая исходящая дуга e E   вычисляет линейную комбинацию y ( e )   векторов, входящих в начальную вершину дуги v = i n ( e )  . То есть

y ( e ) = f : o u t ( f ) = v ( m e ( f ) y ( f ) )  

где m e ( f ) F p  . Мы считаем, что источник является конечной вершиной k   дуг, передающих k   векторов w i  . По индукции, пусть вектор y ( e )   какой-либо дуги является линейной комбинацией y ( e ) = 1 i k ( g i ( e ) v i )   и является вектором в V  . Тогда k-мерный вектор g ( e ) = ( g 1 ( e ) , , g k ( e ) )   это просто k первых координат вектора y ( e )  . Назовем матрицу, строками которой являются векторы g ( e 1 ) , , g ( e k )  , где e i   рёбра, входящие в вершину t T  , глобальной матрицей кодирования для t   и обозначим её G t  . На практике векторы кодирования выбираются случайно, поэтому матрица G t   с высокой вероятностью обратима. Таким образом, любой приёмник, получивший y 1 , , y k  , может найти w 1 , , w k  , решив

[ y y 2 y k ] = G t [ w 1 w 2 w k ]  

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

ДекодированиеПравить

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

y i = ( α i 1 , , α i k , a i 1 , , a i d )  

тогда

y i = 1 j k ( α i j v j ) .  

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

ИсторияПравить

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

  • H   стойка к коллизиям – сложно найти x   и y   такие, что H ( x ) = H ( y )  ;
  • H   является гомоморфизмом H ( x + y ) = H ( x ) + H ( y )  .

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

y = 1 i k ( α i v i )  

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

H ( y ) = 1 i k ( α i H ( v i ) )  

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

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

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

Схема подписиПравить

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

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

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

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

y 2 = x 3 + a x + b ,  

где a , b F q   такие, что 4 a 3 + 27 b 2 0  

Пусть K F q  , тогда

E ( K ) = { ( x , y ) | y 2 = x 3 + a x + b } { O }  

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

Вейль-спариваниеПравить

Вейль-спариванием является билинейное отображение, сопоставляющее двум точкам подгруппы m  -кручения точек эллиптической кривой E   корень степени m   в конечном поле.[8] Пусть E / F q   эллиптическая кривая и пусть F ¯ q   алгебраическое замыкание F q  . Если m   целое и взаимно-простое с характеристикой поля F q  , тогда группа элементов m  -кручения E [ m ] = P E ( F ¯ q ) : m P = O  .

Вейль-спаривание e m : E [ m ] E [ m ] μ m ( F q )   обладает свойствами[5]:

  1. (Билинейность) e m ( P + R , Q ) = e m ( P , Q ) e m ( R , Q )  and  e m ( P , Q + R ) = e m ( P , Q ) e m ( P , R )  .
  2. (Невырожденность) e m ( P , Q ) = 1   for all P implies that Q = O  .
  3. (Тождественность) e m ( P , P ) = 1  .

Гомоморфные подписиПравить

Пусть p   простое число и q   степень другого простого числа: p << q  . Пусть V / F p   векторное пространство размерности D   и E / F q   эллиптическая кривая такая, что P 1 , , P D E [ p ]  . Определим h : V E [ p ]   следующим образом: h ( u 1 , , u D ) = 1 i D ( u i P i )  . Эта функция h   гомоморфизм V   в E [ p ]  .

Сервер выбирает секретно s 1 , , s D   в F p   и публикует точку Q  , являющуюся элементом p  -кручения, такую, что e p ( P i , Q ) 1   и публикует ( P i , s i Q )  , где 1 i D  .[5] Подписью вектора v = u 1 , , u D   является σ ( v ) = 1 i D ( u i s i P i )  

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

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

Даны v = u 1 , , u D   и подпись σ  . Для проверки подлинности требуется проверить равенство[2]

e p ( σ , Q ) = e p ( 1 i D ( u i s i P i ) , Q ) = i e p ( u i s i P i , Q ) = i e p ( u i P i , s i Q )  

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

Настройка системыПравить

Сервер вычисляет[2] σ ( v i )   для каждого 1 i k  . Передаёт v i , σ ( v i )  . На каждом ребре e   при вычислении y ( e ) = f E : o u t ( f ) = i n ( e ) ( m e ( f ) y ( f ) )   также вычисляется σ ( y ( e ) ) = f E : o u t ( f ) = i n ( e ) ( m e ( f ) σ ( y ( f ) ) )   на эллиптической кривой E  .

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

Доказательство безопасностиПравить

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

Если даны ( P 1 , , P r )   точки в E [ p ]  , найдём a = ( a 1 , , a r ) F p r   и b = ( b 1 , , b r ) F p r  

такие, что a b   и

1 i r ( a i P i ) = 1 j r ( b j P j ) .  

Если r = 2  , тогда мы получаем x P + y Q = u P + v Q  . То есть ( x u ) P + ( y v ) Q = 0  . x u   и y v  . Допустим, что x = u  , тогда ( y v ) Q = 0  , но Q   точка порядка p   (простое число), таким образом y v 0 mod p  . Другими словами y = v   в F p  . Это противоречит предположению о том, что ( x , y )   и ( u , v )   различные пары в F 2  . Таким образом Q = ( x u ) ( y v ) 1 P  , где обратный элемент берётся по модулю p  .

Если r > 2  , мы можем взять P 1 = P   и P 2 = Q   как раньше и установить P i = O   для i > 2   (в этом случае доказательство аналогично r = 2  ), или мы можем взять P 1 = r 1 P   и P i = r i Q  , где r i   выбираются случайным образом из F p  . Получаем одно уравнение с одним неизвестным (дискретный логарифм Q  ). Вполне возможно, что полученное уравнение не будет содержать неизвестную величину. Тем не менее, это происходит с очень маленькой вероятностью. Предположим, что алгоритм поиска коллизий дал нам

a r 1 P + 2 i r ( b i r i Q ) = 0.  

До тех пор, пока 2 i r b i r i 0 mod p  , нужно решать дискретный логарифм Q  . Рассмотрим b i  , где 2 i r  , не равные нулю одновременно. Какова вероятность, что выбранные r i   удовлетворяют условию 2 i r ( b i r i ) = 0  ? Она равна 1 p   . Таким образом, с большой долей вероятности придется решать дискретный логарифм Q  .[9]

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

См. такжеПравить

ПримечанияПравить

ЛитератураПравить

СсылкиПравить