<!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>Encryption Method for Systems with Limited Computing Resources</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Roman Chernenko</string-name>
          <email>r.chernenko.asp@kubg.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andriy Anosov</string-name>
          <email>a.anosov@kubg.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roman Kyrychok</string-name>
          <email>r.kyrychok@kubg.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zoreslava Brzhevska</string-name>
          <email>z.brzhevska@kubg.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Svitlana Spasiteleva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Borys Grinchenko Kyiv University</institution>
          ,
          <addr-line>18/2 Bulvarno-Kudriavska str., Kyiv, 04053</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>142</fpage>
      <lpage>148</lpage>
      <abstract>
        <p>Due to the active development of the Internet of Things (IoT) technology, more and more systems of interconnected devices and sensors are appearing that collect various data and transmit them through gateways to remote servers. It goes without saying that this data must be protected at all stages. This is especially important for data on the functioning of potentially dangerous objects and devices. Because of the features of devices with limited computing resources, it is impossible to use standard methods of information protection in the gatewaybuilt-in sensor link. The article considers the algorithm of the Internet of Things system using limited devices, which consists of a gateway for receiving data from sensors and transmitting them to servers and limited devices used for data collection and encryption. The proposed algorithm describes the process of data packet generation, key generation, encryption, transmission, and decryption of data received from sensors. The reliability of data encryption transmitted in the gateway-built-in sensor link is ensured by the generation of a truly random sequence - the encryption key, based on the initial measured value on the unconnected and ungrounded analog input of the microcontroller, and a series of arithmetic operations.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Internet of Things</kwd>
        <kwd>IoT</kwd>
        <kwd>network security</kwd>
        <kwd>encryption</kwd>
        <kwd>Vernam cipher</kwd>
        <kwd>random number generation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The rapid development of the Internet of
Things has led to the creation of a large number of
heterogeneous systems of interconnected
computing devices, built-in sensors that collect
and measure environmental parameters and
transmit them through IoT gateways to a remote
server in the cloud [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It is clear that all data
transmission links of such a system must be
reliably protected. This is especially important for
systems that collect data on the operation of
potentially dangerous objects and devices [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Therefore, security is crucial for IoT protocols.
Computer systems on restricted devices operate
on the basis of standard or proprietary protocols,
in which data must be protected from interception,
modification and substitution. In the
gatewayremote server link, the required level of protection
can be provided based on standard protocols [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
In the gateway-built-in sensor (limited device)
link, there is an objective need to use algorithms
that employ a minimum of computing resources
to ensure the required level of information
protection.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Formulation of the Problem</title>
      <p>The application of encryption methods in
computer systems on limited devices creates a
limitation in the existing computing resources,
which makes it necessary to work out such a
method that will employ a minimum of such
resources.</p>
      <p>
        After analyzing the algorithms, namely the
required number of calculations and device
memory for organizing these calculations, it was
investigated that for the operation of the RSA
algorithms and the El-Gamal scheme it is
necessary to use an amount of memory that
exceeds the amount available in class 0 and 1
devices [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Accordingly, they cannot be
implemented on limited devices [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Thus, a problematic issue arises regarding the
development and use of the encryption method in
modern objects representing computer systems on
limited devices.</p>
      <p>The purpose of the article is to increase the
level of security of systems in the Internet of
Things network by developing a method of data
encryption on devices with limited computing
resources.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Analysis of Recent Research and Publications</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a prototype of the IoT system was
developed using limited devices, which provides
absolute cryptographic stability due to the use of
the Vernam cipher with disposable notebooks [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
During the development of the prototype, the
following security vulnerabilities were
eliminated, such as transmission of unencrypted
data over an unsecured channel.
      </p>
      <p>
        During the study of encryption methods, the
main operations that are used were highlighted:
addition, shuffling, bit shift and binary XOR
operation. Considering the concept of using the
XOR operation in existing encryption methods, it
can be noted that such a task remains a priority
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], a study and comparative analysis of the
bandwidth of low-power wireless IoT devices in
the role of wireless switches is presented. Such
switches can be used as gateways when
implementing a prototype of an IoT system using
limited devices.
      </p>
      <p>
        The complexity of the topological structures of
wireless sensor networks due to their variability
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] determines the need to create secure data
transmission channels and parameters in all links
of the functioning of computer systems with
limited computing resources.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Research Results</title>
      <p>The general model of the IoT system using
limited devices (Fig. 1) consists of:
 A gateway for receiving data from sensors and
transferring them to servers.
 Limited devices used to collect and encrypt
data for secure transmission over unsecured
channels to the gateway.</p>
      <p>The general algorithm of the system functions
as follows:</p>
      <p>1. Reading data from sensors with a limited
device.</p>
      <p>2. Generation of a random key, the length of
which is equal to the length of the message.</p>
      <p>3. Encrypting the message with the Vernam
cipher, using the bitwise “exclusive OR” operator.</p>
      <p>4. Random selection of one of the predefined
keys to encrypt the key itself.</p>
      <p>5. Encryption of the key.</p>
      <p>6. Sending the message and key to the
gateway.</p>
      <p>7. Receiving the message by the gateway and
sending the encrypted message via secure
channels to the company’s servers.</p>
      <p>8. Reception of the message by the server and
selection of the necessary key to decrypt the key
with which important data is encrypted.</p>
      <p>9. Data decoding and adding them to special
structures for data storage and processing. So, the
software implementation of the system consists of
three parts, the program running on the limited
device is responsible for generating data and
encrypting packets for sending. According to the
block scheme (Fig. 2), the first step is the
generation of the message “M” for further
encryption. The prototype uses a temperature and
humidity sensor to generate useful values.</p>
      <p>
        After the message generation is completed, the
random key sequence generation function is
called for data encryption. In general, the function
should generate a truly random sequence of
characters equal to the length of the message in
order to ensure absolute cryptoresistance [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Any random number generation function
performs mathematical operations with some
initial value, therefore, to obtain a truly random
sequence, the initial value must be random [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It
was decided to initialize the value measured at the
unconnected and ungrounded analog input of the
microcontroller, in other words the noise caused
by the stray current, and to perform some
arithmetic between this value and the sensor
readings to make the value even more random. It
is worth noting that the use of various “noises” of
the environment is a widespread method of
forming truly random sequences [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. So, the
random sequence generation function (Fig. 3)
performs the following actions:
• Accepts the value of the length of the data to
be sent.
• Initializes the initial value for the generation of
key symbols.
• In the loop, a key symbol is randomly
generated for each symbol of the message.
• The function returns a generated sequence of
characters, the length of which is equal to the
length of the message.
      </p>
      <p>After running these functions, the program has
two variables, the first one stores the value of the
message, the second, the value of the key to
encrypt this message.</p>
      <p>The message is as follows:</p>
      <p>The generated key looks like this:
%⸮9⸮g⸮⸮cV(1p'p9⸮C⸮⸮⸮lȖ⸮gtvgȋ'
(⸮⸮⸮n⸮;P=䌕=⸮⸮⸮B⸮r⸮W⸮⸮%⸮N⸮⸮z⸮⸮W;
⸮t⸮⸮3⸮⸮s&amp;Lf⸮⸮|⸮CKIW*/
⸮M⸮!Z1⸮%⸮l⸮⸮⸮ާ͋⸮⸮⸮⸮⸮⸮Us8⸮⸮⸮</p>
      <p>After generating the message and the key, the
encryption function is performed. For encryption,
a Vernam cipher is used, which uses a bitwise
“exclusive OR” operation to create an encrypted
message (Fig. 4). For each symbol of the message
in bitwise form, an XOR operation is applied with
the corresponding key symbol in bitwise form, for
example:
0 0 1 1 0 0 0 1 = 1
⊕ 0 0 1 0 0 1 0 1 = %
0 0 0 1 0 1 0 0 =  4</p>
      <p>According to the example, after the bitwise
operator XOR was applied to the message
character “1,” the character DC4 (Device
Control 4) was obtained with the corresponding
key character “%” at the output. This operation
takes place in a loop, for each pair of key and
message values. After the end of the loop, the
function returns an encrypted message in the form
of a text variable, which is ready for transmission
to the gateway.</p>
      <p>Upon completion of the encryption function,
one of the predefined keys is selected to encrypt
the key with which the message was ciphered. The
key is chosen randomly. Since two predefined
keys were used in the system prototype, the
selection algorithm works as follows. The current
value is read on the unconnected analog input:
• With the received value, the operation of the
remainder from division by 2 is performed.
• If a 1 is received, then the first key is used,
otherwise the second key is used.</p>
      <p>Keys for encryption of randomly generated
sequences have a fixed length, which is equal to
the length of the message and therefore to the
length of the key that was generated randomly.
Predefined keys must be loaded during flashing of
the limited device. The number of such keys may
be different depending on the memory of the
limited device or the possibility of using
additional energy-independent memory in which
the keys will be stored. Each limited device must
have its own unique keys, so that if one device is
compromised, the security of the entire system
will not be compromised.</p>
      <p>
        The corresponding keys will be stored on the
enterprise server, which will receive and decrypt
the received data from the gateway. After
choosing a predefined key, the encryption
function is called again, but only to encrypt a
randomly generated key. At the output, two text
variables are obtained, which are the encrypted
message and the encrypted key for decrypting the
message. After that, these variables can be
transferred through any unsecured data
transmission channel. As a prototype,
transmission through the UART interface is used.
In a real system, any standard protocols for
Internet of Things networks can be used: ZigBee,
Thread, Z-Wave, MQTT, LwM2M [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ]. After
sending the data, the next data packet is formed.
The function of encryption and random sequence
generation works very quickly even on limited
devices, because it has a linear algorithmic
complexity of the algorithm O(n). The data packet
sent to the gateway has the following form as in
Fig. 5.
      </p>
      <p>The gateway, in turn, can work according to
two scenarios depending on the needs of the
system. In the first option, the gateway acts as a
simple intermediary between the server and the
limited device, that is, it uses standard
communication protocols to transmit encrypted
data to the company’s servers without changing
packets.</p>
      <p>In the second option, if there is a need to
perform calculations with the received data and
adjust the operation of the system, the gateway
itself decrypts the data and saves them in a format
convenient for calculations. It is possible to allow
a mixed version of work, in which part of the data
will be decrypted at the gateway, and part will be
sent to the server without changes. In this case, it
is necessary to use different predefined encryption
keys to encrypt the randomly generated keys for
the server and for the gateway, so that in the event
of a breach of the gateway, the data to be
transmitted to the server remains protected.</p>
      <p>
        In any case, the software implementation of
decryption and data storage in a convenient
format will have approximately the same form
(Fig. 6). The algorithm will perform the following
steps:
• Receiving an encrypted message over an
unsecured channel.
• Receiving an encrypted key to decrypt a
message over an unsecured channel.
• Selection of one of the predefined keys for
decryption.
• Decryption of the key.
• Decoding the message.
• Data storage in a convenient form for
calculations option. The CSV format files are
used as a prototype to create a data frame from
the received data [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>The algorithm begins its work by receiving
data, to which two symbols have been added due
to the peculiarity of sending through the UART
interface. The data is sent to the server and stored
in the form of two arrays of the byte type (Fig. 7).</p>
      <p>After receiving the data, the function of
selecting a predefined key (Fig. 8) is called to
decrypt the key with which the message was
encrypted. The function takes three arguments—
the first character of the received encrypted
message, the first character of the encrypted key
and a list of predefined keys.</p>
      <p>According to the block diagram, the algorithm
iterates all the keys from the array of predefined
keys one by one. Two text variables are created to
store the first decrypted character. First, the first
character of the key is decrypted, but the key was
generated on the limited device randomly.
Accordingly, it is not possible to verify the
validity of the first character of the key, so with
the received key character, it is necessary to
perform an XOR operation on the first character
of the received message.</p>
      <p>Since the data is transmitted from the
transmitters, then we can expect a certain symbol
of the message, which will already be some kind
of information. But if the key was chosen
incorrectly, then there will be no useful
information in the message. So, you can check the
first character of the message: if after decryption
it represents the expected data, then the function
returns the index of the current operation,
accordingly, this is the index of the key in the
array that needs to decrypt the randomly
generated key. After returning the index, the
function completes its work so as not to perform
unnecessary operations.</p>
      <p>If, in the case of packet exchange, the value
could not be decrypted, then the function returns
a value that is not included in the array index
range, and further, the message will not be
decrypted, since the key was not matched, and
therefore the message did not come from the
expected limited device.</p>
      <p>After choosing a predefined key, the function
for decryption is called (Fig. 9), which accepts
two arguments, the text to be decrypted and the
key for decrypting the text. The received
encrypted key as text and one key from the array
of predefined keys whose index was found in the
previous step are passed as arguments to the
function.</p>
      <p>The first step initializes the variable in which
the decrypted text will be stored. In this case of
the call, the decrypted randomly generated key
will be stored in the variable to decrypt the
message. Next, in a loop that works for each
element in the array of text bytes, except for the
last two characters that do not carry information
and are the end characters of the string added
when sending, a bitwise exclusive OR operation
is applied to the corresponding element of the
selected key.</p>
      <p>After the loop is finished, the function returns
the value of the decrypted text, which in this case
is the key for the next call to the decryption
function. After finding the required key and
decrypting the encrypted key, the decryption
function is called again, but now as arguments, the
encrypted message and the key that was decrypted
in the previous step are passed. At the output, the
function returns a decrypted message that looks
like this:</p>
      <p>Thus, the initial values transmitted from the
limited device were obtained.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Analysis Results</title>
      <p>Using the initial measured value for the
initialization on the unconnected and ungrounded
analog input of the microcontroller and
performing several arithmetic operations
according to the proposed algorithm, it is possible
to generate a truly random sequence of characters,
as long as the length of the message, to ensure
absolute cryptoresistance.</p>
      <p>If there is a need to perform calculations with
the received data and adjust the system operation
on the gateway of the Internet of Things system
model, it is necessary to use different predefined
encryption keys to encrypt the randomly
generated keys, for the server and for the gateway,
so that in the event of a breach of the gateway, the
data to be transmitted to server, remained
protected.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>The developed method makes it possible to
eliminate the threat of unauthorized access to data
in the gateway-built-in sensor link by encrypting
data packets.</p>
      <p>Since these algorithms can be used on devices
with limited computing resources due to the
minimization of calculations, since elementary
operations are used for encryption. Encryption
reliability in this case is ensured by a unique
encryption key for each data packet. To generate
random key values, analog noises are used, read
from the unconnected input of the
microcontroller, so the resulting value is truly
random. Preset keys are used to encrypt the keys
with which the encrypted message is ciphered.
Since message encryption keys are random and
unique, encrypting them with preset keys makes it
impossible for an attacker to learn the preset key.</p>
      <p>In further research, it is necessary to evaluate
the reliability of the algorithm for generating
random numbers for key generation, in particular,
the ability to influence analog noise using
electromagnetic radiation and to analyze the
developed method of information encryption
using the criteria of various performance
indicators such as execution time, power
consumption, memory requirement for
performing calculations.</p>
    </sec>
    <sec id="sec-7">
      <title>7. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pandey</surname>
          </string-name>
          , Internet of Things (IoT): Applications, Trends, Issues and Challenges, Materials Today,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Yuan</surname>
          </string-name>
          , et al.,
          <article-title>Internet of People Enabled Framework for Evaluating Performance Loss and Resilience of Urban Critical Infrastructures, Safety Science</article-title>
          , vol.
          <volume>134</volume>
          ,
          <year>2021</year>
          ,
          <volume>105079</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Zeadally</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. K. Das</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Sklavos</surname>
          </string-name>
          ,
          <article-title>Cryptographic Technologies and Protocol Standards for Internet of Things, Internet of Things</article-title>
          , vol.
          <volume>14</volume>
          ,
          <year>2021</year>
          ,
          <volume>100075</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bormann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ersue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Keranen</surname>
          </string-name>
          .
          <article-title>Terminology for Constrained-Node Networks</article-title>
          , Internet Engineering Task Force,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Chernenko</surname>
          </string-name>
          , et al.,
          <article-title>Increasing the Security Level of Internet of Things Network Systems Due to Data Encryption on Devices with Limited Computing Resources</article-title>
          , Cybersecurity: Education, Science, Technology, vol.
          <volume>3</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>124</fpage>
          -
          <lpage>135</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Shannon</surname>
          </string-name>
          ,
          <source>Communication Theory of Secrecy Systems, Bell System Technical Journal</source>
          , vol.
          <volume>28</volume>
          , no.
          <issue>4</issue>
          ,
          <issue>1949</issue>
          , pp.
          <fpage>656</fpage>
          -
          <lpage>715</lpage>
          . doi:
          <volume>10</volume>
          .1002/j.1538-
          <fpage>7305</fpage>
          .
          <year>1949</year>
          .tb00928.x.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Rosen</surname>
          </string-name>
          ,
          <source>Discrete Mathematics and Its Applications</source>
          , 6th Ed.,
          <string-name>
            <surname>McGraw-Hill Edu</surname>
          </string-name>
          .,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V.</given-names>
            <surname>Sokolov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Vovkotrub</surname>
          </string-name>
          , E. Zotkin,
          <article-title>Comparative Analysis of Throughput of Low-Power Wireless IoT Switches</article-title>
          , Cybersecurity: Education, Science, Technology, vol.
          <volume>5</volume>
          ,
          <issue>2019</issue>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semko</surname>
          </string-name>
          , et al.,
          <source>Methodology of Intelligent Routing Management in Conflicting Sensor Networks of Variable Topology</source>
          , Modern Special Equipment, vol.
          <volume>55</volume>
          , no.
          <issue>4</issue>
          ,
          <issue>2019</issue>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Henk</surname>
          </string-name>
          , (
          <year>2005</year>
          ).
          <source>Encyclopedia of Cryptography and Security</source>
          , Springer Science and Business Media.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Petrie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Connelly</surname>
          </string-name>
          ,
          <article-title>A Noise-based IC Random Number Generator for Applications in Cryptography</article-title>
          ,
          <source>IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications</source>
          , vol.
          <volume>47</volume>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>N.G.</given-names>
            <surname>Bardis</surname>
          </string-name>
          , et al.,
          <source>True Random Number Generation Based on Environmental Noise Measurements for Military Applications, in 8th WSEAS International Conference on Signal Processing, Robotics and Automation</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Karpenko</surname>
          </string-name>
          , et al.,
          <source>Ensuring Information Security in Wireless Sensor Networks</source>
          , Cybersecurity: Education, Science, Technology, vol.
          <volume>2</volume>
          , no.
          <issue>10</issue>
          ,
          <year>2020</year>
          , pp.
          <fpage>54</fpage>
          -
          <lpage>66</lpage>
          . doi:
          <volume>10</volume>
          .28925/
          <fpage>2663</fpage>
          -
          <lpage>4023</lpage>
          .
          <year>2020</year>
          .
          <volume>10</volume>
          .5466.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>I.</given-names>
            <surname>Opirskyy</surname>
          </string-name>
          , et al.,
          <source>Problems and Security Threats of IoT Devices</source>
          , Cybersecurity: Education, Science, Technology, vol.
          <volume>3</volume>
          , no.
          <issue>11</issue>
          ,
          <year>2021</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .28925/
          <fpage>2663</fpage>
          -
          <lpage>4023</lpage>
          .
          <year>2021</year>
          .
          <volume>11</volume>
          .3142.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <source>[15] CSV-1203, CSV File Format Specification</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>