| Literature DB >> 34825054 |
Eko Hadiyono Riyadi1,2, Agfianto Eko Putra1, Tri Kuntoro Priyambodo1.
Abstract
BACKGROUND: Data transmissions using the DNP3 protocol over the internet in SCADA systems are vulnerable to interruption, interception, fabrication, and modification through man-in-the-middle (MITM) attacks. This research aims to improve the security of DNP3 data transmissions and protect them from MITM attacks.Entities:
Keywords: Accelerating key generation; Beaufort; DNP3 Security; Poly-alphabetic substitution; RC4; Super encryption
Year: 2021 PMID: 34825054 PMCID: PMC8594588 DOI: 10.7717/peerj-cs.727
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Hybrid security approach to data transmission.
| Study | Securing data transmission | Methods | Performance measuring | Provides layered security | Provide security analysis |
|---|---|---|---|---|---|
| N. Hong ( | ✓ | Handshake agreement (SM2) and ECC. | No performance evaluation. | – | – |
| Altigani ( | ✓ | AES and steganography Word Shift Coding. | Encryption time and extraction time. | ✓ | – |
| Xin ( | ✓ | MD5, AES and ECDH. | Key exchange time, number of time; key length, time of signature, number of signature, verification time. | ✓ | – |
| Singh ( | ✓ | Symmetric encipherment and middle value algorithm. | Encryption and decryption test | ✓ | – |
| Purevjav ( | ✓ | Symmetric cipher Ping Pong-128, RSA and hash function MD5. | Encryption and decryption test. | ✓ | – |
| Z. Hong ( | ✓ | DES and RC4. | No evaluation. | ✓ | – |
| Harba ( | ✓ | AES, RSA and HMAC. | Ciphertext size, encryption time | ✓ | – |
| D’souza ( | ✓ | AES and Dynamic Key Generation and Dynamic S-box Generation. | Encryption and decryption test. | ✓ | – |
| Proposed Method | ✓ | Super Encryption BRC4, Dynamic Symmetric Four-key-generation. | Keyspace analysis, Correlation coefficient analysis, Information Entropy analysis, Visual analysis, Time complexity analysis, Encryption and decryption test. | ✓ | ✓ |
Figure 1The proposed research method.
Figure 2Encryption model.
Figure 3Decryption model.
Figure 4Initial key generation.
Figure 5Beaufort key generation.
Figure 6The Beaufort encryption process.
Figure 7RC4 key generation.
Figure 8The RC4 encryption process.
Figure 9Initial key separation.
Figure 10The RC4 decryption process.
Figure 11The Beaufort decryption process.
Figure 12The final model process.
Keyspace value (bits).
| The key length | Keyspace value | Summary |
|---|---|---|
| 64 bits | (2)64 | Not secure |
| 128 bits | (2)128 | Secure |
| 256 bits | (2)256 | Secure |
| 512 bits | (2)512 | Secure |
| 1,024 bits | (2)1024 | Secure |
| 2,048 bits | (2)2048 | Secure |
Pearson correlation coefficient.
|
| ||||||||
|---|---|---|---|---|---|---|---|---|
| Perfect | High | Moderate | Low |
| Low | Moderate | High | Perfect |
| −1 | ≤ −0.90 | ≤ −0.50 | ≤ −0.30 |
| ≥ +0.30 | ≥ +0.50 | ≥ +0.90 | 1 |
Correlation coefficient value.
|
|
|
|
|
|---|---|---|---|
| Beaufort only | −0.046 | 0.013 | 0.008 |
| RC4 only | −0.093 | −0.126 | 0.437 |
| Proposed method (BRC4) | −0.010 | 0.006 | 0.001 |
Information entropy value.
|
|
|
|
|
|---|---|---|---|
| Beaufort only | 7.77 | 7.91 | 7.94 |
| RC4 only | 7.69 | 7.39 | 5.49 |
| Proposed method (BRC4) | 7.84 | 7.98 | 7.99 |
Figure 13Histogram of plaintext and ciphertext IL data for the first 500 characters.
Cryptanalysis solutions for the weaknesses of the Vigenere (Beaufort) cipher.
| Weaknesses of the Vigenere (Beaufort) and Vernam ciphers | Proposed method (BRC4) |
|---|---|
| - The key must be the same length as plaintext, so the key will be repeated until it is the same length as the plaintext. | ✓ The system generates a key using the keystream generation equation until it has the same length as the plaintext, and thus the key is random and not easily solved. |
| - The keys have to be random. | ✓ The system generates a random initial key for each session, which is always different. |
| - The key must not be reused. | ✓ The system generates a random initial key for each session, which is always different. |
| - The equations used are based on the standard alphabet (modulo 26). | ✓ The system uses modulo 256, resulting in increasingly random values of 256 bytes. |
| - Possible keys are combinations of lowercase letters, with a maximum length of 676 bytes. | ✓ Possible key variations are derived from ASCII code, with a maximum length of 65,536 bytes. |
Cryptanalysis solutions for the weaknesses of the RC4 cipher.
| The weaknesses of the RC4 cipher | Proposed method (BRC4) |
|---|---|
| - The same key tends to be used for all blocks in the same data package. | ✓ The system generates a random initial key (K1), which is different every session, then generates further keys (K2, K3, K4) using a keystream generation equation until it fills up the array (K). There is thus no repetition of keys. |
| - The original RC4 key is limited to 40 bits, and the Initialization Vector (IV) is limited to 24 bits. | ✓ The system generates a random initial key of up to 2,048 bits (256 bytes), or even larger. |
| - RC4 is effective with large keys, and thus attacking a PRGA appears ineffective, even when the most well-known attacks take over 2700 seconds. It is weak for short keys, as the key is repeated until it fills the array (K) to a full 256 bytes. | ✓ The system generates a random initial key (K1), which is different every session, then generates further keys (K2, K3, K4) using a keystream generation equation until it fills up the array (K). There is thus no repetition of keys. |
| - For each PRGA permutation, the value of the array (S) changes at two locations (at the most). | ✓ The system performs different permutations for every block array, resulting in more varied random values for array blocks. |
| - Permutation is performed only once for all blocks formed, forming a pattern that can be learned by attackers. | ✓ The system performs different permutations for every block array to achieve a random value of 256 bytes. As such, the system performs permutations in the first array block, continues the permutation in the second array block, third, and so on until the last block, and as such it generates a random value that varies for every block array. |
| - It is possible for the same S-Box to be used. The same pseudorandom value may be generated repeatedly, as the user key is repeated to fill the 256-byte array. If a key is used to encrypt 8 bytes, it will thus be repeated 32 times to fill the array. | ✓ If the key used for permutation is only 8 bytes in length, the system uses the keystream generator to generate fill the key byte array without repeating the initial key. |
| - An attacker who manages to obtain multiple ciphertext packets can obtain several bytes of the original message by performing XOR operations on two ciphertext packets. For example, if an attacker successfully intercepts two different encrypted messages that use the same key, the attacker may perform an XOR operation to remove the key sequence’s effect. If the attacker manages to uncover the plaintext of one encrypted message, the attacker will easily find other plaintext messages without knowing the correct key sequence. | ✓ To perform encryption, the system generates a random initial key (K1), generates a keystream (K2), generates a key-scheduling algorithm (K3), and generates a pseudo-random key (K4). As such, even if an attacker can obtain the first and the second ciphertext, XOR operations still cannot be used to eliminate the effects of the key sequence, as the initial keys used for the first (K1.1) and second (K1.2) ciphertexts are different. Likewise, K1.1 and K1.2 experience further generation to produce K4.1 and K4.2, which are increasingly different. |