Abstract

Current research in Internet of Things (IoT) is focused on the security enhancements to every communicated message in the network. Keeping this thought in mind, researcher in this work emphasizes on a security oriented cryptographic solution. Commonly used security cryptographic solutions are heavy in nature considering their key size, operations, and mechanism they follow to secure a message. This work first determines the benefit of applying lightweight security cryptographic solutions in IoT. The existing lightweight counterparts are still vulnerable to attacks and also consume calculative more power. Therefore, this research work proposes a new hybrid lightweight logical security framework for offering security in IoT (LLSFIoT). The operations, key size, and mechanism used in the proposed framework make its lightweight. The proposed framework is divided into three phases: registration, authentication, and light data security (LDS). LDS offers security by using unique keys at each round bearing small size. Key generation mechanism used is comparatively fast making the compromise of keys as a difficult task. These steps followed in the proposed algorithm design make it lightweight and a better solution for IoT-based networks as compared to the existing solutions that are relatively heavy weight in nature.

1. Introduction

A fresh primitive cryptography known as lightweight cryptography is specifically being put on the market for use as integrated systems in resource-restricted settings like radio frequency identification (RFID) IoT [1]. Lightweight will not be soft in nature, but will not be enforced on many apps. The attacker is restricted by lightweight algorithms with the exposure of only restricted information per key [2]. Lightweight alternatives are used to marinate the necessary trade between efficiency, safety, and assets [3]. The major challenges in IoT are restricted instruments such as RFID and battery-operated detectors. Particular consideration should therefore be paid to limiting the use of its funds and at the same moment to provide safety [4]. Solutions for lightweight cryptography deliver both safety and efficiency [5]. The easiest approach seems to be of IoT resource restrictions. Lightweight alternatives provide safety only through the exposure of restricted operational information [6]. The limitations in existing network are the use of large key size, block size, complex round structure, and the implementation requirements [7]. Being a resource constrained network, security in IoT should be using a security mechanism using less key size, block size, simple round structures, and simple implementation requirements [8, 9].

For Lightweight solutions, the National Institute of Standards and Technology (NIST) sets a minimum key size requirement of 112 bits. Even smaller key sizes are more vulnerable to brute force attack [10]. The following requirement is for a small block size. The lightweight cipher’s block size should be smaller than that of conventional cyphers. For instance, if the block size is 64 bits rather than the 128 bits used by AES, a greater number of plaintext blocks can be encrypted [11]. Additionally, memory requirements will decrease. Following that, a simple round structure should be used: The rounds used in lightweight cyphers should be simpler than those used in conventional cryptography [12]. For instance, a round can be simplified by substituting a 4-bit S-Box for an 8-bit S-Box. This also reduces the amount of memory required. Increasing the total number of rounds to be fired may lower the amount of security that can be improvised [13]. The requirements take into account the fact that the device should be capable of either encryption or decryption. Rather than implementing the entire cypher, only required operations should be implemented [14, 15]. This comes out with an issue while implementing lightweight solutions in IoT but once it is implemented, the overall resources and life of network can be improved [16].

The contribution of this research work is to overcome the limitations of existing solutions by making changes in design of the security algorithm. In comparison to conventional block cyphers, the requirements of lightweight security solutions are lower for key size. Existing security solutions like AES, SIMON, and SPECK, they have more key size requirements as compared to the proposed algorithm.

The remaining paper is arranged accordingly. In Section II, work related to IoT security is reviewed. Existing solutions for providing security and authentication are covered. Section III propose the hybrid lightweight security solution for IoT comprising three phases, i.e, registration, authentication, and data security. Later, in Section IV, round key generation schedule of data security mechanism is discussed. Section V discusses the complete one round structure for Data security. Section VI analyzes the proposed algorithm by evaluating the mean and standard deviation. Finally, conclusion states the currents state of art and the benefit of the proposed security framework.

Light weight means the algorithms that require fewer and optimal performance funds. The lightweight term does not refer to the weakness of the algorithm [17]. As the trend for future appliances with restricted systems has changed, a great deal of effort was produced to optimize AES for these apps. However, adaptation to the requirements of these systems in the AES was not suitable [18]. Although AES has been implemented quickly, however, it is still very complicated and has big codes that do not comply with the needs [19]. In [20], it is mentioned that AES is utilized as validation component in RFID-based frameworks. The AES is used in the application layer as an integrated COAP system. Advanced encryption standards (AES) is an institutionalized symmetrical square figure by NIST. It uses a replacement phase scheme and deals with a 128-bit square-length network [21]. Each byte is influenced by the effects of subbytes, row shifting, MIXED COLUMNS, and ADD ROUND KEY. The key size that can be used is 128 bits, 192 bits, or 256 bits. AES is as yet defenseless against man-in-center assault [22, 23].

The author suggested in [24], PRESENT which is SPN based and used as an ultra-light safety calculation. It uses 4-bit info and S-box rates to advance devices at the replacement layer. It has 80 or 128 parts of main size and operates on 64 pieces. PRESENT is listed as a lightweight cryptography scheme in ISO/IEC 29192-2 : 2012 “Lightweight cryptography.” On 26 out of 31 rounds [25], PRESENT is indefensible from differential attack. In [26], author referred SIMON 2 an -bit word cipher forming a 2-bit block. can have 16, 24, 32, 48, and 64 values. SIMON 2 using key as -word key (-bit) is referred as SIMON 2/kn. Therefore, SIMON 96/144 will be working on a block of 96-bit plaintext and using key of 144 bits. SIMON is a member of the block cypher family with varying block sizes. It can support 32, 48, 64, 96, and 128 bits of block size that further can work on varying key sizes.

In [27], author referred SPECK highlighted that SPECK requirements are like SIMON. SPECK 128/128 therefore means the 128 bit file length SPECK block code that sucks the 128-bit button. The SPECK supporting block and key size is identical to that of SIMON. SPECK uses Feistel structure performing bitwise XOR, circular shits, and modular addition in each round at both directions [28]. In [29], TWINE is described as a 64 bit block cipher forming a basic Feistel structure. Feistel functions consist of 16 4-bit subblocks using key addition. Two key sizes 80 and 128 bits are supported by TWINE. TWINE operates on total 36 rounds with same round function. In [30], author mentioned FANTOMAS as an LS-design example (LS consists of -boxes using bit-sliced looking tables and -boxes). The block cipher FANTOMAS can be displayed with the bit array. The parts are permutation for each matrix row, whereas the permutation for each matrix row is . Consider, for instance, a 128-bit FANTOMAS key and block length. The -bits are 8, and the -bits are 16.

3. Proposed Lightweight Logical Security Framework for IoT (LLSFIoT)

The proposed LLSFIoT is divided into three phases: registration, authentication, and LDS. When a new device enters the network, the credentials are first registered with the server using the key sharing mechanism. Once the device has the credentials, mutual authentication between the device and the server will take place before initiating any communication. Using the LDS algorithm, the data transmitted by and from the device is secured. The notations used in the process of registration, authenticationn and data security are shown in Table 1.

3.1. Phase 1: Registration

Steps corresponding to registration phase are detailed below:

Step 1. Device will initiate a connection that has been established with IS by submitting its IDD to the IS making use of a secure medium.

Step 2. IS following receipt of the connection request from computes a nonce value . This is used to compute a shared key , where .

Step 3. Additionally to this, IS generates a collection of unique IDs, , and set of alternate keys in relation to one another uidi∈UID.

Step 4. Additionally, IS, a sequence number, is a generated randomly SN. As a result, for each request submitted by the , IS generates , unique IDs, alternate keys, and SN. If makes an additional request to IS, a new SN is generated. The onus of IS is to maintain one copy of SN in database and forward same copy to the . The benefit of using SN is to avoid any replay that the intruder may inject.

Step 5. Before the authentication process actually begins, IS checks to see if the SN sent by matches one already stored in the database. Authentication phase 2 will be active when this match occurs. whereas IS ends connection with and requires to use one UID and Ka couple if match does not occur in SN.

The pair will be used once, and the entry will be removed in both the IS and database. I will send a message at the end encrypted using public key of having a set of values: , {idi, }, SN, and in its own database keeps the same values as the ID, i.e. IDD.

3.2. Phase 2: Authentication

In the authentication phase, two way mutual authentication is performed between and IS. Steps corresponding to authentication phase are detailed below:

Step 6. by taking a nonce value N1 generates a variable .

Step 2. Now, creates a message of request having to the IS.

Step 3. On the off chance that SN is not accessible with , will use one of the {idi, kai} pair where can be used in replacement of .

Step 4. On receiving request from , The IS verifies the message’s SN or checks that additional parameters are legitimate or not if they match the matching SN of the stored in the database. The value of N1 is later calculated by IS.

Step 5. If all the parameters are validated, then IS after taking a nonce value will generate a new random sequence number and computes a temporary variable and computing variable .

Step 6. on receiving message containing {, SNNew, } from the IS computes the value and compares it with . If match occurs, computes nonce N using

3.3. Phase 3: Lightweight Data Security (LDS) Algorithm

Once mutual authentication is performed between and IS, the next step is to offer data security using the encryption method. Data is taken in blocks of 64 bits each, and the size of shared between and IS that is 128 bits. To offer security, a lightweight data security (LDS) algorithm is proposed. This algorithm takes of the secure data communication and offers the services for security such as confidentiality of data and integrity of data.

Proposed LDS works on 20 rounds using addition, rotation, and XOR (ARX) operations. This flexibility of choosing the number of rounds lies with the user depending upon the execution time required and also on full diffusion. The three operations ARX are chosen for offering optimum security trading off with lightweight solution considering the IoT application scenario. The reason for choosing only these operations for a round is discussed later in Section 4. The structure of LDS consisting of 20 rounds using ARX operations and a key generation function is represented through Figure 1.

4. Generation of Subkeys for Each Round

For each round, two -bit subkey bocks are required, considering as the number of bits in a word. Block size that can be taken as input will be 2. Here, block size of 64 bits is assumed; so, value of is 32. Key size is taken as 128 bits. Therefore, for 20 rounds, 40 key subblocks have each of 32 bit out of 128 bit long key. A key generation mechanism is required for getting the key subblocks for each round of operation.

Subkey generation is done in such a manner that key generator gives a unique and random subkey every time it is run. For a good key generator mechanism, if the generated subkey is compromised by cryptanalysis, other subkeys should not be identified. The subkeys are generated from the main key of 128 bits. As stated earlier, each round requires two subkey blocks. The mechanism of key generation function consists of a key generation that divides the keys into subblocks. Key generator generates subkeys for two rounds at a time. Therefore, for 20 rounds, key generator will work for 10 times and generate 4 subkey blocks each time, making a total of 40 subkey blocks. The whole mechanism of key generator is explained through following steps:

Step 1. The original key () of 128 bits is given as input to subkey generator.

Step 2. Sub key generator generates 4 sub key blocks of 32 bit each. Two key sub blocks of 32 bits are passed as input to first round and next two key sub blocks of 32 bits are passed as input to second round.

Step 3. Bits in original are processed using a mixing function to generate input for the running the key generator for the next time. From there again, 4 key subblocks are generated for next two rounds.

Step 4. Mixing function takes as input the output of the previous key generator function. For the first time, after the execution of key generator, original consists of 4 key subblocks, let us say, SK1, SK2, SK3, SK4, each of 32 bits. Mixing function performs the XOR operation in circular rotation. All the bits of SK1 are XORed with random bits of SK2, SK2 is XORed with random bits of SK3, SK3 is XORed with random bits of SK4, and SK4 is XORed with random bits of SK1. SK1(0) represents the first bit of key subblock SK1. Figure 2 shows the block diagram for operation of key generator. The sample equations to generate subkey can be represented mathematically in Table 2.

Step 5. Step 3 and step 4 are repeated till all the 40 subkey blocks are generated for all the 20 rounds.

5. Round Function of LDS

LDS framework works on the Feistel-like structure. Operations used during the encryption process of LDS are (i)Addition modulo 2n, considering as the number of bits in a word. If is 16, block size will be 32 and for taken as 32, block size will be 64 bits. Addition modulo is preferred over multiplication modulo. There may be multiple reasons for choosing addition over multiplication. First, multiplication require more cycles as compared to addition even with the fastest CPUs. Second, operation of multiplication may lead to timing attacks(ii)Bitwise XOR, ⊕: most block ciphers work using XOR as the basic operation as compared to other operations like AND and OR. Numbers of factors supporting XOR over other operations are first, XOR operation works on reversible procedure. When encryption is performed on original text XOR with key to generate cipher text, same key when operated using XOR with cipher text the resultant will be same original text. Second, XOR can be realized using the NAND gate requiring few transistors as compared to other operations, making its hardware implementation quite easier. Third, in XOR, the output is dependent on both the operands as compared to AND and OR. In AND, if one of the operand is false, second is not evaluated at all. In OR, if one of the operand is true and second is not evaluated at all, whereas, in XOR, if first operand is true or false, second needs to be evaluated for getting the expected output(iii) and are left and right rotations respectively, where is the number of bits to rotate. Rotations are preferred over shift as rotation when used with the XOR operation that creates maximum diffusion in the resultant output with alteration in a single input bit. On the other hand, when shift is used with the XOR, then diffusion created is less in output with alteration in a single input bit

The input block of bits is divided into two equal halves. For example, if input text is 64 bits long, it will be divided into 32 bits each represented as and . represents the left subblock, and represents the right subblock. The left and the right subblock in a particular round is evaluated as

Therefore, the round function of LDS is denoted as

where and are the rotation constants. For block size of 64 bits and key size of 128 bits, the value of is taken as 7, and the value of is taken as 3. This composition of round function is represented through Figure 3.

6. Evaluating Diffusion Property for LDS Round

Diffusion property of the cryptographic algorithm is focused on incorporating the avalanche effect. It refers to observe the change in number of bits of the output cipher text with a single bit modification in the input original text. With more number of bits affected by diffusion, the cryptographic solution proves to be stronger.

The input original text of 64 bits is divided into 2 subdata blocks of 32 bits each and referred as and . The values of rotation constant for creating the diffusion matrix may vary from 0 to 31. Therefore, the total possible combinations of rotation constants and each carrying value from 0 to 31 may lead to combinations. 1024 combinations can generate 1024 diffusion matrices based on respective designs. A sample diffusion matrix is shown in Table 3 below:

In Table 3, refers to the count of number of bits modified in by modifying the single bit of . As there are 32 bits in , the mean value and the standard deviation are calculated after changing every bit of and noticing its effect on and . Similar effect can be noticed in , , and .

In order to generate the diffusion matrix, certain steps are taken that require the input and rotation constants assumed as and here.

Step 1. Input block of 64 bits is divided into two subblocks referred as and each of 32 bits.

Step 2. Considering the different combinations of and where each can take values from 0 to 31, thus, the overall possible combinations are 1024. Here, the value of and is assumed to be fixed; that is, is taken as 7, and is taken as 3, while executing the LDS algorithm.

Step 3. Round function of LDS is executed over the data blocks and to generate output as 1 and 1.

Step 4. Start by modifying one bit of , then execute LDS over modified bits and the original to get output as and . Compare bits of with bits of and calculate the number of bits which have been altered, that will become value of . Similarly, compare bits of with bits of and calculate the number of bits which have been altered, that will become value of .

Step 5. Repeat step 3 but this time by modifying one bit of . Execute LDS over modified bits and the original to get output as and . Compare bits of with bits of and calculate the number of bits which have been altered, that will become the value of . Similarly, compare bits of with bits of and calculate the number of bits which have been altered, that will become the value of .

Step 6. Repeat steps 3 and 4 at least 64 times using rotation constant 7 and to find the average of each value of matrix to get diffusion table as shown in Table 4 below.

The possible combinations for and can be 1024, but the same steps for creating diffusion table are repeated by considering the most common used rotation constants and and second time by considering and . The diffusion table generated by repeating the steps 64 times for the rotation constants and is shown through Table 5 below.

The diffusion table generated by repeating the steps 64 times for the rotation constants and is shown through Table 6.

Mean value in all the combinations shows the average number of bits that are affected by changing the individual bits as shown in equation (3)

Standard deviation is calculated by finding the variance after subtracting each data value from the mean and then finding their sum and finally performing square root as shown in equation (4).

Rotation constants chosen for creating diffusion matrix and hence calculating mean and standard deviation show the extent of output change by changing input bits. These constants are used to calculate transition probability. For block size of 64 bit block and key size of 128 bits, the mean and standard deviation for three sets of rotation constants are shown in Table 7 and are represented through Figure 4.

Figure 4 clarifies that when same LDS is executed with different combinations of rotation constants, the maximum value and the least standard deviation are observed with rotation constants and . Therefore, the proposed LDS algorithm chooses the rotation constants and .

7. Conclusion

Once the data is collected through devices using sensors, the next concern is to offer security to data or devices that play active role in communication. Therefore, this research work proposes a LLSFIoT model consisting of three phases. Phase 1 registers the new devices with the central server and handover the essential credentials to the device. Phase 2 performs mutual authentication between server and the device. Phase 3 proposed a LDS algorithm that offers confidentiality and integrity to data in transit. LDS works as a Feistel structure on 20 rounds of operation using ARX operations: addition, rotation, and XOR. The LDS is evaluated by performing cryptanalysis using diffusion property. Different sets of rotation constants are used to find mean and standard deviation. This research work concludes that LDS works well with constant value as and with maximum mean and minimum standard deviation assuring that single change in input will affect more bits in output.

Data Availability

There is no dataset involved in this research paper.

Conflicts of Interest

The authors declare no conflict of interest.

Acknowledgments

This research was supported by the Taif University Research Supporting Project number (TURSP-2020/239), Taif University, Taif, Saudi Arabia.