Secure intercalate modular message solution (SIMMS)
The present disclosure is directed to systems, methods, and non-transitory computer-readable media for generating, by a first node, an encrypted protected message. Generating the encrypted protected message includes generating an obfuscated message by intercalating a second message into the first message, generating a protected message by applying a plurality of data protection mechanisms to the obfuscated message, and generating the encrypted protected message by applying a plurality of confidentiality techniques to the protected message. The first node transmits to a second node the encrypted protected message using a plurality of communication channels.
1 . A method for transmitting a first message, comprising:
generating, by a first node, an encrypted protected message, wherein generating the encrypted protected message comprises:
generating an obfuscated message by intercalating a second message into the first message, wherein intercalating the second message into the first message comprises:
dividing the first message into a plurality of first modular fragments;
dividing the second message into a plurality of second modular fragments; and
inserting one of the plurality of second modular fragments between two of the plurality of first modular fragments;
generating a protected message by applying a plurality of data protection mechanisms to the obfuscated message; and
generating the encrypted protected message by applying a plurality of confidentiality techniques to the protected message; and
transmitting, by the first node to a second node, the encrypted protected message using a plurality of communication channels.
2 . The method of claim 1 , wherein
the first message comprises data to be transmitted to the second node; and
the second message comprises a null message.
3 . The method of claim 1 , wherein intercalating the second message into the first message comprises:
intermingling the first and second modular fragments.
4 . The method of claim 1 , wherein intercalating the second message into the first message comprises:
inserting each of the plurality of second modular fragments after a respective one of the plurality of first modular fragments.
5 . The method of claim 3 , wherein generating the encrypted protected message further comprises applying the plurality of data protection mechanisms to the plurality of second modular fragments intercalated into the plurality of first modular fragments.
6 . The method of claim 1 , wherein the plurality of protection mechanisms comprises one or more of a Message Authentication Code (MAC), a Hash-based Message Authentication Code (HMAC), or a digital signature.
7 . The method of claim 1 , wherein the plurality of confidentiality techniques comprises one or more of Cryptographic Message Syntax (CMS) Enveloped Data, Named Key Encrypted Data, encryption algorithm, Advanced Encryption Standard (AES), Rivest-Shamir-Adleman (RSA), Data Encryption Standard (DES), or ChaCha20.
8 . The method of claim 1 , wherein transmitting the encrypted protected message comprises transmitting elements of the encrypted protected message using the plurality of communication channels.
9 . A method for recovering a first message originated from a first node, comprising:
receiving, by a second node from the first node, an encrypted protected message using a plurality of communication channels;
determining, by the second node, elements of a protected message by decrypting elements of the encrypted protected message;
determining, by the second node, a plurality of first modular fragments by verifying the elements of the protected message; and
determining, by the second node, the first message by assembling the plurality of first modular fragments, wherein the encrypted protected message is generated by intercalating the first message and a second message, wherein the first message and the second message are intercalated by:
dividing the first message into the plurality of first modular fragments;
dividing the second message into a plurality of second modular fragments; and
inserting one of the plurality of second modular fragments between two of the plurality of first modular fragments.
10 . The method of claim 9 , wherein
each of the elements of the encrypted protected message comprises a confidentiality technique identifier that identifies a confidentiality technique of a plurality of confidentiality techniques applied to each of the elements of the encrypted protected message; and
each of the elements of the encrypted protected message is decrypted based on the confidentiality technique to obtain each of the elements of the protected message.
11 . The method of claim 9 , wherein
each of the elements of the protected message comprises a protection mechanism identifier that identifies a protection mechanism of a plurality of protection mechanisms applied to each of the elements of the protected message; and
each of the elements of the protected message is verified based on the protection mechanism identifier to obtain each of the plurality of first modular fragments.
12 . The method of claim 9 , wherein
each of the plurality of first modular fragments is identified by a sequence identifier; and
the plurality of first modular fragments are assembled to form the first message according to the sequence identifier of each of the plurality of first modular fragments.
13 . The method of claim 9 , wherein
the second message comprises the plurality of second modular fragments; and
intercalating the first message and the second message comprises intercalating the plurality of first modular fragments and the plurality of second modular fragments.
14 . The method of claim 9 , further comprising determining, by the second node, that an element of the protected message corresponds to a second modular fragment of the second message in response to determining that the element of the protected message is invalid.
15 . The method of claim 9 , further comprising determining, by the second node, that an element of the protected message corresponds to a second modular fragment of the second message in response to determining at least one of:
the element of the protected message is verified using a cryptography key that is different from a cryptography key used to verify an element of the protected message that corresponds to a first modular fragment of the plurality of first modular fragments; or
the element of the protected message fails to be verified using a cryptography key used to verify an element of the protected message that corresponds to a first modular fragment of the plurality of first modular fragments.
16 . The method of claim 9 , further comprising identifying the plurality of second modular fragments of the second message based on the elements of the protected message, wherein the plurality of second modular fragments are disregarded in assembling the plurality of first modular fragments.
17 . At least one non-transitory computer-readable medium comprising processor-readable instructions such that, when executed causes at least one processor to:
generate an encrypted protected message, wherein generating the encrypted protected message comprises:
generate an obfuscated message by intercalating a second message into the first message, wherein intercalating the second message into the first message comprises:
dividing the first message into a plurality of first modular fragments;
dividing the second message into a plurality of second modular fragments; and
inserting one of the plurality of second modular fragments between two of the plurality of first modular fragments;
generate a protected message applying a plurality of data protection mechanisms to the obfuscated message; and
generating the encrypted protected message by applying a plurality of confidentiality techniques to the protected message; and
transmit, to a second node, the encrypted protected message using a plurality of communication channels.
18 . The at least one non-transitory computer-readable medium of claim 17 , wherein
the first message comprises data to be transmitted to the second node; and
the second message comprises a null message.
19 . The at least one non-transitory computer-readable medium of claim 17 , wherein intercalating the second message into the first message comprises:
intermingling the first and second modular fragments.