<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Реализация симплексных каналов в распределенных системах на основе схемы предварительного распределения ключей Блома</article-title>
      </title-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <abstract>
        <p>В статье рассмотрена возможность использования схемы предварительного распределения ключей Блома для реализации симплексных каналов в распределенных системах. Модификация схемы Блома состоит в использовании асимметричной функции от трех переменных для формирования ключевых материалов. Предложенная схема не приводит к увеличению объема ключевых материалов. Трудоемкость вычисления парных ключей возрастает.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Следует также учесть критерии, которым должна удовлетворять криптосистема на основе атрибутов,
сформулированные в работе [5]:
К1: Конфиденциальность данных .</p>
      <p>Данные должны быть зашифрованы владельцем перед отправкой их в облако. Неавторизованный
участник, включая облако не могут узнать о данных, которые были зашифрованы.</p>
      <p>К2: Детальный контроля доступа .</p>
      <p>В группе пользователей система предоставляет различные правила доступа для каждого отдельного
участника группы. Таким образом, пользователи, которые находятся в одной группе могут иметь
различные правила доступа к данным.</p>
      <p>К3: Масштабируемость .
Число зарегистрированных пользователей не должно влиять на производительность системы.
К4: Контроль действий .
Недопустима передача атрибутов секретного ключа авторизованного пользователя другим лицам.
К5: Отзыв прав пользователя .</p>
      <p>Если пользователь выходит из системы, то система может отозвать права данного пользователя.
Пользователь, чьи права были отозваны, уже не сможет получить доступ к данным.</p>
      <p>К6: Невозможность сговора .</p>
      <p>Пользователи не могут объединять свои атрибуты, чтобы расшифровать данные, поскольку каждый
атрибут связан с многочленом или случайным числом. Таким образом, пользователи не могут вступать в
сговор друг с другом.</p>
      <p>Также распределение ключей с ограничением на взаимодействие может быть реализовано с помощью
хэш-функций [6].</p>
      <p>Другой подход основан на модификации схем предварительного распределения ключей. В работе [7]
предложена модификация схемы Блома, позволяющая реализовать запрет на отдельные каналы обмена
информацией между пользователями. В статьях [8, 9] аналогичная задача решена на основе KDP-схемы
предварительного распределения ключей. Однако в обоих случаях запрещен или разрешен полный обмен
информацией между двумя пользователями. Тогда как в реальных системах актуальна проблема
разграничения доступа к ресурсам исходя из его типа. Таким образом, актуальной является задача модификации
схем предварительного распределения ключей, учитывающая направление информационных потоков.</p>
      <p>Целью данной статьи является разработка схемы предварительного распределения ключей для системы
с учетом типов доступов.
1</p>
      <p>Постановка задачи
Рассмотрим систему с двумя базовыми типами доступа: чтения ( ) и записи (). При инициализации
канала обмена информацией необходимо следить в каком направлении будут передаваться данные. Таким
образом все каналы должны быть симплексными. Введем переменную , показывающую направление
передачи данных. Если пользователь  отправляет запрос на открытие канала по чтению, то есть получению
информации, то  = − 1. Если пользователь открывает канал по записи, то есть передаче информации, то
 = 1.</p>
      <p>В схеме предварительного распределения ключей каждому пользователю по защищенному каналу
выдаются некоторые ключевые материалы, на основании которых с использованием открытой информации
может быть сформирован общий ключ. В нашем случае симплексных каналов для пары пользователей 
и  должны формироваться два ключа:  – ключ для передачи информации от пользователя 
пользователю ,  – ключ для передачи информации от пользователя  пользователю . В случае обращения
пользователя  для чтения информации к пользователю  или обращения пользователя  к
пользователю  для записи используется ключ . В случае обращения пользователя  для чтения информации
к пользователю  или обращения пользователя  к пользователю  для записи используется ключ .
Потребуем, чтобы запрещенные каналы передачи информации имели нулевой парный ключ, а
разрешенные – ненулевой. Схему предварительного распределения ключей, удовлетворяющую данным условиям,
будем называть симплексной.
2</p>
      <p>Алгоритм предварительного распределения ключей
Реализуем мандатную схему предварительного распределения ключей на базе хорошо известной схемы
Блома, проведя ее модификацию.</p>
      <p>В схеме предварительного распределения ключей Блома на сервере генерируется симметрический
многочлен от двух переменных  (, ) над полем по модулю . Каждому пользователю  сопоставляется
некоторое число . Далее для каждого пользователя формируются многочлены от одного переменного
() =  (, ). Данные многочлены передаются по защищенным каналам пользователям и хранятся в
секрете. При необходимости выработать общий ключ с пользователем  пользователь  извлекает из
открытой базы элемент  и вычисляет значение  = (). Аналогичным образом поступает
пользователь , вычисляя  = (). Симметричность многочлена  (, ) обеспечивает выполнение равенства
 = .</p>
      <p>Для реализации симплексной схемы предварительного распределения ключей необходимо учесть
направления информационных потоков. Для учета направления потоков будем генерировать на сервере
многочлен от трех переменных  (, , ) над полем по модулю , в котором переменная  может
принимать два значения (+1 или -1) и определяет направление потока информации. Каждому пользователю
 как и в обычной схеме Блома сопоставим некоторое число , которое хранится в открытом виде и
защищено от изменений. Для каждого пользователя сервер распределения ключей формирует многочлен
(, ) =  (, , ) и передает его по защищенному каналу. Многочлен  (, , ) должен иметь такой
вид, чтобы на основе функции (, ) и чисел  для разрешенного обмена информации генерировался
ключ  ̸= 0, а для запрещенных каналов  = 0. При этом оба участника обмена должны вырабатывать
одинаковый ключ на основе собственных секретных ключевых материалов и открытой информации друг
о друге.</p>
      <p>Рассмотрим два вида взаимодействия пользователей при передаче информации. Во-первых,
остановимся на случае, в котором пользователь  инициирует получение информации от пользователя  , то есть
обращается к нему с запросом на чтение. Пользователь  отправляет информацию предварительно
зашифровав ее ключом</p>
      <p>= (, 1) =  (, , 1).
Параметр  = 1, так как для  информационный поток исходящий. Пользователь  получает сообщение
и расшифровывает его тем же ключом, вычисляемым на основе своих ключевых материалов:
 = (, − 1) =  (, , − 1).
Параметр  = − 1, так как для  информационный поток входящий.</p>
      <p>Второй случай состоит в том, что пользователь  инициирует отправку информации пользователю  ,
то есть обращается к нему с запросом на запись. Пользователь  отправляет информацию предварительно
зашифровав ее ключом</p>
      <p>= (, 1) =  (, , 1).
Параметр  = 1, так как для  информационный поток исходящий. Пользователь  получает сообщение
и расшифровывает его тем же ключом, вычисляемым на основе своих ключевых материалов:
Параметр  = − 1, так как для  информационный поток входящий.</p>
      <p>Из рассмотрения этих двух случаев вытекает три требования, накладываемых на функцию  (, , ):
 = (, − 1) =  (, , − 1).
1.
2.
3.</p>
      <p>(, , 1) ̸=  (, , 1),
 (, , − 1) ̸=  (, , − 1),
 (, , 1) =  (, , − 1).
Первые два требования сводятся к несимметричности функции  (, , ) к перестановке первых двух
аргументов при любом значении третьего аргумента. Для криптографической стойкости также необходимо
потребовать, чтобы вычисление  (, , ) было невозможно на основании известного значения  (, , ).
Будем задавать  (, , ) в следующем виде:
 (, , ) =
︂{ ℎ(),   = 1,</p>
      <p>ℎ(),   = − 1.
Здесь ℎ() некоторый многочлен от одной переменной. Очевидно, что данная функция удовлетворяет всем
трем требованиям, перечисленным выше. Криптографическая стойкость данной функции обеспечивается
трудоемкостью задач линейного логарифмирования и вычисления корня в конечных полях.
степени :
Тогда значение функции:
где () =  ( = 1, ..., ).</p>
      <p>каналу вектор:
ются ключевые материалы, необходимые для вычисления функции от двух переменных:
(, ) =  (, , ) =
︂{ ℎ(),   = 1,
ℎ(),   = − 1.
Для вычисления значений функции (, 1) пользователю  необходимо знать одно число ℎ = ℎ(),
которое сервер передает ему по защищенному каналу.</p>
      <p>Рассмотрим более сложный случай вычисления (, − 1). Пусть ℎ() представляет собой многочлен
ℎ() =  + − 1− 1 + ... + 1 + 0.
(, − 1) = 
+− 1− 1+...+1+0 =

= ( ) (︀ 

− 1 )︀ − 1</p>
      <p>... (1 ) (0 ) =
=
︁( ())︁  (︁
· ()− 1︁) − 1
· ... · (︁

())︁ 
1
· (0),
Таким образом сервер в качестве ключевых материалов высылает пользователю  по защищенному
 =
︁(
ℎ, 
(), ()− 1, ..., 
()
1
, 
())︁ .
0
Этих данных достаточно для вычисления значений функции. При этом, задача определения
коэффициентов многочлена ℎ() по координатам вектора  сводится к дискретному логарифмированию.</p>
      <p>Следует отметить, что данная схема незначительно увеличивает объем ключевых материалов,
хранящихся у пользователя в сравнении с традиционной схемой Блома – добавляется одно число. Однако
процедура нахождения парного ключа значительно более трудоемкая, так как требует возведения в степень
больших чисел.
Заключение
Таким образом, модификация схемы Блома позволяет организовать обмен сообщениями по симплексным
каналам. При этом приходится отказаться от идеи использования симметрических многочленов. Такой
отказ обусловлен тем, что сам обмен информацией становится несимметричным.
Список литературы
[1] A. Shamir. Identity-Based Cryptosystems and Signature Schemes. Advances in Cryptology: Proceedings of</p>
      <p>CRYPTO 84, Lecture Notes in Computer Science , 7:47–53, 1984.
[3] D. Boneh, M. Franklin. Identity-based encryption from the weil pairing. In CRYPTO ’01: Proceedings of the
21st Annual International Cryptology Conference on Advances in Cryptology , 213–229, 2001.
[4] C. Cocks. An identity based encryption scheme based on quadratic residues. Proceedings of the 8th IMA</p>
      <p>International Conference on Cryptography and Coding , 360–363, 2001.
[5] C.-C. Lee, P.-S. Chung, M.-S. Hwang. A Survey on Attribute-based Encryption Schemes of Access Control
in Cloud Environments. International Journal of Network Security , 15(4):231–240, 2013.
[6] S.V. Belim, N.F. Bogachenko. Distribution of Cryptographic Keys in Systems with a Hierarchy of Objects.</p>
      <p>Automatic Control and Computer Sciences , 50(8):773–776, 2016.
[7] S.V. Belim, S.Yu. Belim, S.Yu. Polyakov. The implementanion of discretionary access separation using a
modified Blom’s scheme of key distribution.</p>
    </sec>
    <sec id="sec-2">
      <title>Information Security Problems. Computer Systems , 3:72–76,</title>
      <p>2015.</p>
    </sec>
    <sec id="sec-3">
      <title>CEUR Workshop</title>
      <p>Realization of Simplex Channels in the Distributed Systems on the Basis of the
Blom’s Preliminary Distribution of Keys Scheme</p>
    </sec>
    <sec id="sec-4">
      <title>Sergey V. Belim, Svetlana Yu. Belim</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sahai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Waters</surname>
          </string-name>
          .
          <source>Fuzzy Identity-Based Encryption. Cryptology ePrint Archive, Report 2004/086</source>
          ,
          <year>2004</year>
          . [8]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.Yu. Belim. KDP</surname>
          </string-name>
          <article-title>Scheme of Preliminary Key Distribution in Discretionary Security Policy</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Automatic</given-names>
            <surname>Control</surname>
          </string-name>
          and
          <source>Computer Sciences</source>
          ,
          <volume>50</volume>
          (
          <issue>8</issue>
          ):
          <fpage>777</fpage>
          -
          <lpage>786</lpage>
          ,
          <year>2016</year>
          . [9]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.Yu. Belim.</surname>
          </string-name>
          <article-title>The VPN Implementation on Base of the KDP-Scheme.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Proceedings</surname>
          </string-name>
          ,
          <volume>1732</volume>
          ,
          <year>2016</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1732</volume>
          /paper3.pdf .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>