=Paper= {{Paper |id=Vol-3200/paper17 |storemode=property |title=Technology of Secure Data Exchange in the IoT System |pdfUrl=https://ceur-ws.org/Vol-3200/paper17.pdf |volume=Vol-3200 |authors=Hassan Mohamed Muhi-Aldeen,Yurii Khlaponin,Ibtehal Shakir Mahmoud,Volodymyr Vyshniakov,Vadym Poltorak,Dmytro Khlaponin,Muwafaq Shyaa Alwan }} ==Technology of Secure Data Exchange in the IoT System == https://ceur-ws.org/Vol-3200/paper17.pdf
Technology of Secure Data Exchange in the IoT System
Hassan Mohamed Muhi-Aldeen1, Yurii Khlaponin2, Ibtehal Shakir Mahmoud3, Volodymyr
Vyshniakov4, Vadym Poltorak5, Dmytro Khlaponin6, Muwafaq Shyaa Alwan7
2, 4, 6Kyiv National University of Construction and Architecture, Kyiv, Ukraine
11,3,7 Al Iraqia University, Baghdad, Iraq
5NTUU “Igor Sikorsky Kyiv Polytechnic Institute”, Kyiv, Ukraine




                  Abstract. The use of public Internet channels for managing objects in the IoT system can lead
                  to the emergence of security threats not only for this IoT system, but also it can provide
                  cybercriminals with resources to carry out attacks on any other objects of the global network.
                  Therefore, you should use secure data exchange technologies that prevent unauthorized entry
                  into the system when building IoT systems. This technology is discussed in detail in this article.
                  The purpose of this work is to improve safety of IoT systems through the use of a perfectly
                  secure data exchange channel.

                  Keywords
                  IoT system, safety of IoT systems, secure data exchange technologies, secure data exchange
                  channel.


1. IoT security challenges                                                                    them to implement DDoS attacks due to
                                                                                              insufficient protection of IoT devices, the number
                                                                                              and power of which increases with the number of
    In 2020 the number of connected devices to the
                                                                                              IoT users. The overwhelming majority of users
IoT exceeded 30 billion, and their annual growth
                                                                                              believe that general security rules for the IoT
increased from 3 billion in 2017 to 5 billion in
                                                                                              should be developed at the state or interstate level.
2020 as shown by the published data of
                                                                                                  However, it is difficult to develop uniform
researchers [1].
                                                                                              recommendations or standards due to the
    Forecasts up to 2025 assume that this growth
                                                                                              difference in security requirements depending on
will not decrease, but tends to increase. This
                                                                                              the area of use of the IoT. The variety of areas of
testifies to the rapidly growing need for managing
                                                                                              use is shown in Table 1.
remote sites and ample opportunities for their
implementation using existing tools and
technologies. However, the rapid growth of needs                                              Table 1
and the broad possibilities of implementing IoT in                                            Gartner's analysis of the number of IoT devices in
a short time often leads to insufficiently thought                                            use globally, billion
out solutions from the point of view of security,                                                  Application area    2018    2019     2020
which is described in [2-4], where security at the                                                     Housing         0.98    1.17     1.37
network level is attributed to the most vulnerable                                               Building automation   0.23    0.31     0.44
area. Attackers are given the opportunity to use                                                  Security systems     0.83    0.95     1.09

III International Scientific And Practical Conference “Information
Security And Information Technologies”, September 13–19, 2021,
Odesa, Ukraine
EMAIL: muhialdeen.hassan@aliraqia.edu.iq (A. 1);
y.khlaponin@gmail.com(A. 2); ibtehal.shaker@aliraqia.edu.iq
(A. 3); volodymyr.vyshniakov@gmail.com (A. 4);
poltorak_vp@online.ua (A. 5); dmytro.khlaponin85@gmail.com
(A. 6); dr.muwafaqalwan@aliraqia.edu.iq (A. 7)
ORCID: 0000-0002-9287-0817 (A. 1); 0000-0002-9287-0817
(A. 2); 0000-0001-8333-461X (A. 3); 0000-0003-4668-712X
(A. 4); 0000-0001-9231-9411(A. 5); 0000-0002-7797-4319 (A. 6);
0000-0001-7980-2716 (A. 7)
              ©️ 2021 Copyright for this paper by its authors. Use permitted under Creative
              Commons License Attribution 4.0 International (CC BY 4.0).

              CEUR Workshop Proceedings (CEUR-WS.org)
       Extraction of     0.33       0.4        0.49        - Cybercriminals are more likely to install their
         minerals                                      botnets (malware) on your server to implement
       Automotive        0.27       0.36       0.47    DoS and DDoS attacks.
         Medicine        0.21       0.28       0.36        - This server requires a dedicated IP address on
           Trade         0.29       0.36       0.44    the Internet, which is associated with additional
         Transport       0.06       0.07       0.08    material costs.
    Government sector     0.4       0.53        0.7        - To ensure the information security of the
                                                       server, qualified service is required.
    Gemalto's survey of IoT users found that 90%           Disadvantages listed above are absent in the
were unsure about security. Thus, it seems to be       circuit shown in Fig. 2, where data flows between
relevant the analysis of IoT systems from the point    the terminal and management objects are filtered
of view of ensuring the secure exchange of data        by the proxy server. This server can
over the Internet channels, as well as the technical   simultaneously serve many users, protecting their
solutions in this area, given in the work.             data streams from malicious attacks. Internet
                                                       service providers (ISPs) can install such servers,
                                                       providing customers with cloud-based access to
2. Analysis of data exchange options                   resources. However, the user can install own
   in IoT systems                                      separate or corporate broker server in case of high
                                                       security requirements for information about
   To connect IoT devices to the Internet, one of      objects managed. In cases when the broker's
two schemes can be used, shown in Fig. 1 and Fig.      server is hit by a threat, the information about the
2 respectively.                                        managed objects will be kept intact. An increase
                                                       in signal latency should be noted as a
                                                       disadvantage of control through an intermediary
                                                       server in comparison with the first scheme. But
                                                       this disadvantage can be considered insignificant,
                                                       since the performance in control systems cannot
                                                       be high due to the presence of unpredictable
                                                       network access latency using Internet channels.
Figure 1: Direct management of objects through
the public network
                                                       3. Technical solutions to secure the
   The scheme shown in Fig. 1 is the simplest one         IoT
and can be successfully used in internal computer
networks. But such solution has a number of                Object management via the Internet does not
disadvantages in the conditions of the public          require the transfer of large amounts of data and
Internet:                                              high-speed messaging. This allows you to use the
   - Connecting the server directly to the Internet    most advanced methods of protecting data from
facilitates the intervention of unpredictable          threats of disclosure or spoofing during
external threats into management processes.            transmission over channels. The use of such
                                                       methods makes it possible to exclude the
                         Mediator
                                                       possibility of these threats being realized, which
                                           Router      is mathematically provable. It should be noted that
         Internet         server
                                                       no expensive technical solutions are needed for
                                                       absolute protection. This protection is
                                     Mini-computer
                                       for object      implemented using simple software methods. It is
  Terminal                            management       mathematically proven that the absolute
 for control                                           protection of information is provided by the
                                     Managed objects
                                                       Vernam cipher, which is called one-time pad [5].
                                                       The use of this cipher requires the fulfillment of
Figure 2: Object management using a mediation          the conditions, the list of which is presented in
server                                                 Table 2.

                                                       Table 2
Conditions for ensuring absolute data protection               The rest of the random bits will be formed in
during transmission                                         the cycle of filling the array MA with powers of
       Condition               Condition fulfillment        the primitive root of the Galois field.
 Generation of random       A method for random bits           The block for filling an array MA with powers
  bit sequences (not       generating is implemented,       of A looks like this:
   pseudo-random)         which allows you to generate
                            random sequences on any           // Elements of arrays with index 0
                          computer, as described in [3]       are not used
     Each random bit         For each communication           var A = [504]; // Sequence of 503
 sequence can be used           session, random bit           bits for exponentiation
   for encryption only       sequences are generated
           once           independently of each other         var B = [504]; // A sequence of
   For the exchange of     The exchange of random bit         503 bits of the exponent
 random bit sequences,   sequences occurs according to
                                                              // Arrays for multiplying the
  an absolutely secure    the Diffie-Hellman algorithm
                                                              elements of the Galois field GF (2
     communication           with such parameters for
                                                              ^ 503)
    channel should be    which there is no possibility of
           used             data disclosure in modern         var M1 = [504], M2 = [504], R =
                                     conditions               [504];
                                                              // M1 [], M2 [] - factors R [] -
    The work [7] substantiates the choice of the
                                                              the result of multiplication
Diffie-Hellman algorithm parameters. The
parameters of the algebraic group for the                     var MA = new Array (504); // Array
implementation of the algorithm are selected                  MA [] [] of degrees A []
based on two conditions. In first, it is needed to            for (var i = 0; i<504; i ++) MA
ensure the impossibility of disclosing data. From             [i] = new Array (504);
the other hand, it is needed that the time of                 for (var i = 1; i<= 503; i ++) MA
cryptographic transformations does not exceed                 [1] [i] = A [i];
the allowable value. In order to prevent data
disclosure, an algebraic group in the form of a               // The first line of the array was
                                                              filled with the value A []
Galois field with characteristic 2 was chosen and
a degree, which is a safe prime number from the               for (var I = 2; I <= 503; I ++)
series 503, 563, 587, 719, was chosen too. Since              {// Loop filling the array MA []
the solution to the discrete logarithm problem for            [] with powers of A []
such fields is unknown today, this protection
                                                              // In the next 3 lines, we
cannot be hacked in modern conditions. All                    continue filling the array N []
cryptographic transformations are implemented in
the form of several dozen lines in JavaScript and             T1 = new Date (); // Take the
can be copied and placed both in the client and               timestamp for transformations
server parts of the software of IoT systems. If the           TN = T1.getTime (); // TN - the
Node.js platform is used to write the server side,            number of milliseconds from
then the cryptographic transformations in the                 01/01/1970
server and client sides will be identical. All                N [I] = TN% 2; // Fill in the next
fragments of the data protection program for a                bit depending on the parity of TN
field of (2^503) elements are presented below.
                                                              for (var J = 1; J <= 503; J ++) M1
    The beginning of filling the array with N                 [J] = M2 [J] = MA [I-1] [J];
random bits looks like this:
                                                              MULT (); // Function for
  var N = [504]; // Array of 503                              multiplying the elements of the
  random bits (N [0] is not used)                             Galois field GF (2 ^ 503)
  var T1 = new Date (); // Take the                           for (var j = 1; j <= 503; j ++) MA
  timestamp for transformations                               [I] [j] = R [j];
  var TN = T1.getTime (); // TN -                             } // Put degree 2 in MA [2] , put
  the number of milliseconds from                             degree 4 in MA [3],
  01/01/1970
                                                              // put degree 8 in MA [4], put
  N [1] = TN% 2; // Fill the first                            degree 16 in MA [5], etc.
  bit depending on the parity of TN
    Our task is to get the same random bit              MULT(); // Function for
sequences C[] on both sides of the data exchange.       multiplying the elements of the
This allows to add modulo 2 (XOR operation) bits        Galois field GF(2^503)
of the C[] sequence to each bit of data being sent      for (var I=1; I<= 503; I++)
on the transmitting side. With such information         A[I]=R[I];
coding, absolute protection against disclosure          } // The elements MA[][] was
threats in the communication channel is provided.       Multiplied, where B[J]=1.
The recipient of the information must add modulo
2 bits of the C[] sequence to the received bits for      The function of multiplying the elements of the
decryption, which is exactly the same procedure       Galois field according to the rule of polynomials
as on the transmitting side.                          looks like this:
    The transformation process begins by                function MULT()
generating a sequence of 503 random bits on each        { // Multiplication using the
side. This is done simultaneously with filling the      polynomial X^503=X^3+1
array MA[][] with powers of the primitive root of
the Galois field. The number 2 is one of primitive      var i, j, r, r1, r2, r3;
roots, which should be entered into the array A[].      for (i = 1; i<= 503; i ++) R[i] =
In our example, the least significant bits              0;
correspond to the lower array indices. Therefore,       for (i = 1; i<= 503; i ++)
we get a primitive root like this:
                                                        if (M1[i] == 1) // Select units,
  for (var i = 1; i<= 503; i ++) A                      because multiplication by 0 gives
  [i] = 0; A [2] = 1; // Put the                        0
  number 2 in A []
                                                        {
   For raising to a power, a well-known method
                                                        for (j = 1; j <= 503; j ++)
of simplifying calculations was used, which
consists in replacing the operation of raising to a     if (M2[j] == 1)
power by a product of powers according to the           {
next expression:
                                                        r = i + j-1;
                                              (1)       if (r> 503)
                                                        {
              where                                     r = r-503;
                                                        if (r> = 501)
                                                        {
    Since any exponent B can be represented as a        r = r-501;
sum of values selected from a range of weights
                                                        r1 = 1 + r; r2 = 4 + r; r3 = 501 +
20, 21, 22, 23,…, 2502, to calculate AB it is           r;
enough to multiply no more than 503 elements
from the array MA.                                      if (R[r3] == 0) R[r3] = 1; else
                                                        R[r3] = 0;
    The block for raising A to power B looks like
this:                                                   }
  for (var i=1; i<=503; i++) A[i]=0;                    else {r1 = r; r2 = r + 3;}
  A[1]=1; // Put a unit in A[]
                                                        if (R[r1] == 0) R[r1] = 1; else
  for (var J=1; J<=503; J++)                            R[r1] = 0;
  if (B[J]==1) // Select the bits                       if (R[r2] == 0) R[r2] = 1; else
  equal to 1 from the binary form of                    R[r2] = 0;
  exponent
                                                        }
  {
                                                        else {if (R[r] == 0) R[r] = 1;
  for (var I=1; I<= 503;                                else R[r] = 0;}
  I++){M1[I]=MA[J][I]; M2[I]=A[I];}
                                                        }
  }                                                     described in the previous section. A well-known
  } // End of function MULT ()                          minicomputer of the Raspberry Pi 3 type, which
                                                        has a 40-pin GPIO interface with wide
    Let's imagine an algorithm for obtaining bit        possibilities for connecting objects for monitoring
sequences that will be the same on both sides of        and control, was chosen as hardware. Linux
the data exchange.                                      version Ubuntu 20.10 was selected as the
    Step 1. The client enters a random bit into the     operating system, and the Node.js platform
first element of the array N, and enters the value      version v12.18.2 with the onoff package was used
of the primitive root of the Galois field into array    as a programming tool, which allows objects to be
A.                                                      controlled via the GPIO interface.
    Step 2. The client executes the block of filling        The initial snippet of the CONPIN.js program
the array MA with powers of A with the                  installed on this computer in the / home / ubuntu /
simultaneous completion of filling the array with       directory looks like this:
N random bits.
                                                          const HOST = '91 .198.50.144 ';
    Step 3. The client copies array N to array B and
executes the exponentiation block of A.                   const PORT = 3000;
    Step 4. The client sends to the server the result     const Gpio = require ('onoff').
of raising A to the power of B as a sequence of           Gpio;
503 bits
                                                          const fs = require ('fs');
    Step 5. The server stores the sequence of bits
received from the client in array C and performs          const net = require ('net');
actions similar to steps 1-3 of the client.               let SYM; // String.fromCharCode
    Step 6. The server sends to the client its result
of raising A to power B.                                  let STREB = '////////';
    Step 7. The client stores the sequence of 503         let i = 0;
bits received from the server in array A.
                                                          let TR = '';
    Step 8. The client executes the block of filling
the array MA with powers of A without filling the         const Gp4 = new Gpio (4, 'out');
array with N random bits.                                 // Pin 7 Gpio_4 # 0
    Step 9. The client executes the block for             const Gp17 = new Gpio (17, 'out');
raising A to the power B and enters the result into       // Pin 11 Gpio_17 # 1
array C.
                                                            This client program regularly contacts the
    Step 10. The server copies array C to array A
                                                        server (Mediator server) (see Fig. 2) with a period
and performs the steps similar to steps 8 and 9 of
                                                        of 20 seconds to transmit information about the
the client.
                                                        state of objects and receive control signals. The
    The result of performing the above actions is
                                                        duration of the period of 20 seconds is chosen
to obtain the same random sequences of bits in the
                                                        from the condition of proportionality with the
arrays C of the same name on the client and server
                                                        time of entering the Internet. The operation of this
sides, which was required for encryption using the
                                                        program must be protected against possible power
one-time pad method.
                                                        outages. To automatically start the program after
                                                        power-up, add the following three lines to the
4. Full-scale model of a secure IoT                     /etc/rc.local file:
   system                                                 #! / bin / sh
                                                          echo "#################### CONPIN
   The main element of the IoT system that needs          ######################"
to be protected from false control commands and
                                                          / usr / bin / node / home / ubuntu
from intrusion by attackers who can create threats        / CONPIN &
such as DDoS attacks is computer for object
management (see Fig. 2). Connecting this                   The SOCKET.js program must be running on
computer through the Router without providing a         the Mediator server (see Fig. 2) located at the ISP
real IP address does not provide the ability to         (Internet Service Provider) site that provides
control this computer other than through the            services in SaaS (Software as a Service) mode.
console used to install the software or an              The initial snippet of this program looks like this:
application program that provides the protection          // server / SOCKET.js //
  const HOST = '91 .198.50.144 ';                       var querystring = require
                                                        ('querystring');
  const PORT = 3000;
                                                        var file = new static.Server
  const net = require ('net');
                                                        ('.');
  const fs = require ('fs');
                                                        http.createServer (function (req,
  net.createServer (function (sock)                     res)
  {                                                     {
    With a single intermediary computer with a           In the vybir.js program, a separate TCP port
single real IP address, the provider can serve        number is allocated for each user. The
multiple IoT client systems. The number of            CONPIN.html file with images of object state
supported systems depends only on the technical       indicators and control buttons is also located in the
data of the computer. The operation of the            user directory. The user can download this file
SOCKET.js program must be protected from              through the link given to him like
failures that can lead to an emergency shutdown.      http://91.198.50.144:8000/CONPIN.html.            All
To do this, use the process manager pm2               communication       processes,     including      the
automatic program restart tool, which must be         authorization procedure, are protected using the
downloaded using the npm install pm2 –g               means described in the previous section. The
command. After that, the SOCKET.js program            above link is unprotected as it is only intended to
should be launched with the pm2 start                 demonstrate the control process using eight binary
SOCKET.js command. In this case, in case of any       objects as an example. Authorization data is
failures, the program will automatically restart      stored in the same directory in an encrypted file.
[8,13].
    The main task of the Mediator server is to        5. Conclusions
protect the resources of IoT systems from the
penetration of intruders who have as their goal the
                                                          The reasons for the emergence of security
implementation of DoS and DDoS attacks. This
                                                      problems in IoT systems are described. Potential
requires unauthorized entry into the Mediator
                                                      security threats have been identified, both for the
server, which is unlikely, provided the provider
                                                      IoT itself and for the use of its resources by
follows standard instructions. Usually this
                                                      intruders in the implementation of attacks on other
situation arises due to the fault of the provider's
                                                      objects of the Internet.
staff. In any case of failures on this server, the
                                                          Variants of data exchange schemes in IoT
provider always has the ability to switch to a
                                                      systems have been analyzed and the choice of the
backup server or restore the operation of the same
                                                      most secure scheme has been substantiated.
server using copies, which is the norm in the work
                                                          The technical solutions that make it possible to
of providers [9,12].
                                                      secure data exchange in IoT systems by building
    The exchange of data between users of the IoT
                                                      an ideally secure data exchange channel are
system and their objects is carried out via a web
                                                      considered in detail. These solutions are presented
interface through intermediate data files. These
                                                      in the form of text programs in the JavaScript
files are created anew at each data exchange
                                                      language and can be embedded in any user
session. Each individual user on the Mediator
                                                      software.
server is allocated his own directory, where, in
                                                          Using the example of the current model of the
addition to the SOCKET.js program with a unique
                                                      IoT system, it is shown that it is possible to
value for the PORT parameter, the vybir.js
                                                      eliminate problems with emergencies in IoT
program is located, the initial fragment of which
                                                      systems that arise for various reasons, including
looks like this:
                                                      malfunctions of programs, temporary power
  // vybir.js - HTTP Server Ver. 18                   outages or attempts to unauthorized entry into the
  February 2021                                       system. A link to a resource on the Internet is
  var http = require ('http');                        provided to demonstrate the process of managing
                                                      objects.
  var url = require ('url');
                                                          The technical solutions proposed in this work
  var fs = require ('fs');                            make it possible to fully secure IoT systems from
  var static = require ('node-                        information threats.
  static');
6. References                                         [10] Oleksandr Laptiev, Savchenko Vitalii, Serhii
                                                           Yevseiev, Halyna Haidur, Sergii Gakhov,
                                                           Spartak Hohoniants. The new method for
[1] Orlov S. (2020) Pochemu problem
                                                           detecting signals of means of covert
    bezopasnosti interneta veshhej okazalos' tak
                                                           obtaining information. 2020 IEEE 2nd
    trudno                                 reshit'?
                                                           International Conference on Advanced
    https://safe.cnews.ru/articles/2020-05-
                                                           Trends in Information Theory (IEEE ATIT
    1_pochemu_problemu_bezopasnosti_intern
                                                           2020) Conference Proceedings Kyiv,
    eta
                                                           Ukraine, November 25-27. pp.176 –181.
[2] Frustaci, M., Pace, P., Aloi, G., & Fortino, G.
                                                      [11] O.Svynchuk, O. Barabash, J.Nikodem, R.
    (2018). Evaluating critical security issues of
                                                           Kochan, O. Laptiev. Image compression
    the iot world: Present and future challenges.
                                                           using     fractal    functions.Fractal   and
    IEEE Internet of Things Journal, 5(4), 2483-
                                                           Fractional,     2021,    5(2),    31.pp.1-14.
    2495.
                                                           DOI:10.3390/fractalfract5020031 - 14 Apr
[3] Conti, M., Dehghantanha, A., Franke, K., &
                                                           2021.
    Watson, S. (2018). Internet of Things
                                                      [12] Androshchuk, А., Yevseiev, S., Melenchuk,
    security and forensics: Challenges and
                                                           V., Lemeshko, O., Lemeshko, V.
    opportunities. Future Generation Computer
                                                           Improvement of project risk assessment
    Systems, 78(2), 544-546.
                                                           methods of implementation of automated
[4] Giray, G., Tekinerdogan, B., & Tüzün, E.
                                                           information components of non-commercial
    (2018). IoT system development methods. In
                                                           organizational and technical systems.
    Internet of Things (pp. 141-159). CRC
                                                           EUREKA, Physics and Engineeringthis link
    Press/Taylor & Francis.
                                                           is disabled, 2020, 2020(1), pp. 48–55
[5] Shannon C. Communication Theory of
                                                      [13] V. Khoroshko, Y. Khokhlacheva, Y.
    Secrecy Systems. Bell System Technical
                                                           Khlaponin, E. Gavrilko. Parametric
    Journal. 1949. 28 (4). Pp. 656–715.
                                                           monitoring of computing processes in
[6] Chupryn V.M. Generuvannja vypadkovyh
                                                           information and computing systems.
    chisel shtatnymy zasobamy hostiv merezhi
                                                           Workshop Proceedings (http://ceurws.org)
    Internet./ V.M. Chupryn, V.M.Vyshnjakov,
                                                           Vol-2067 urn:nbn:de:0074-2067-8-0 P. 45 –
    M.P. Prygara // Zahyst informacii'. – 2016. –
                                                           53. – ISSN 1613-0073
    Т. 18, №4. – С. 323-335.
[7] Chupryn V.M., Vyshnjakov V.M., Prygara
    M.P. Metod protydii' nezakonnomu vplyvu
    na vyborciv u systemi Internet golosuvannja.
    Bezpeka informacii'. – 2017. – Tom 23, №1.
    – С. 7–14.
[8] V.M. Chupryn, V.M.Vyshnjakov, O.O.
    Komarnyc'kyj, Metod protydii' atakam
    poserednyka u transparentnij systemi
    internet golosuvannja, Zahyst informacii',
    Ukrainian Information Security Research
    Journal. - K.: NAU, 2018. – Т.20. -№3. –
    С.180-187.
    http://jrnl.nau.edu.ua/index.php/ZI/article/vi
    ew/13079
[9] Valentyn Sobchuk, Volodymyr Pichkur,
    Oleg      Barabash,     Oleksandr     Laptiev,
    Kovalchuk Igor, Amina Zidan. Algorithm of
    control of functionally stable manufacturing
    processes of enterprises. 2020 IEEE 2nd
    International Conference on Advanced
    Trends in Information Theory (IEEE ATIT
    2020) Conference Proceedings Kyiv,
    Ukraine, November 25-27. pp.206 –211.