UNIDIRECTIONAL GATEWAY MEDIATED MULTIPLEXING OF CONCURRENT DATA MESSAGE STREAMS
A method includes transmitting a data message by a first interface card in a trusted domain to a second interface card in an untrusted domain over a unidirectional, non-networked connection. The second interface card verifies integrity of the data message and stores a result of the verifying in a memory location in the untrusted domain. The first interface card retrieves the result from the memory location and determines whether the data message was successfully received based on the result.
1 . A method comprising:
transmitting, by a first interface card in a trusted domain, a data message to a second interface card in an untrusted domain over a unidirectional, non-networked connection;
verifying, by the second interface card, integrity of the data message;
storing, by the second interface card, a result of the verifying in a memory location in the untrusted domain;
retrieving, by the first interface card, the result from the memory location; and
determining, by the first interface card, whether the data message was successfully received based on the result.
2 . The method of claim 1 , further comprising storing a delivery status in a table or data structure associating the memory location with the data message.
3 . The method of claim 1 , wherein determining whether the data message was successfully received comprises comparing the result to a benchmark value.
4 . The method of claim 1 , wherein the result comprises a predetermined indicator that represents a GOOD result if the data message was received, and a BAD result if the data message was not received.
5 . The method of claim 1 , further comprising waiting a predetermined delay period after transmitting the data message before retrieving the result.
6 . The method of claim 1 , wherein the second interface card and the memory location are configured such that no data or signal can be transmitted from the untrusted domain to the trusted domain.
7 . The method of claim 1 , wherein the unidirectional, non-networked connection comprises a direct physical connection using a serial cable.
8 . The method of claim 1 , wherein:
the first interface card and the second interface card are Peripheral Component Interconnect Express (PCIe) interface cards; and
a communication protocol between the first interface card and the second interface card is a non-routable schema.
9 . A system comprising:
a first interface card in a trusted domain, the first interface card configured to:
transmit a data message over a unidirectional, non-networked connection;
retrieve a result from a memory location; and
determine whether the data message was successfully received based on the result; and
a second interface card in an untrusted domain, the second interface card configured to:
receive the data message;
verify integrity of the data message; and
store the result of the verifying in the memory location in the untrusted domain.
10 . The system of claim 9 , wherein the first interface card is further configured to compare the result to a benchmark value to determine whether the data message was successfully received.
11 . The system of claim 9 , wherein the result comprises an indicator representing whether the data message was successfully received or not.
12 . The system of claim 9 , wherein the first interface card is configured to retrieve the result after a predetermined delay following transmission of the data message.
13 . The system of claim 9 , wherein the second interface card and the memory location are configured to prevent any data transmission or signaling from the untrusted domain to the trusted domain.
14 . The system of claim 9 , wherein the first interface card and the second interface card are physically connected via a serial cable.
15 . The system of claim 9 , wherein:
the first interface card and the second interface card are Peripheral Component Interconnect Express (PCIe) interface cards; and
a communication protocol between the first interface card and the second interface card is a non-routable schema.
16 . A method comprising:
transmitting, by a first interface card in a trusted domain, a data message to a second interface card in an untrusted domain via a unidirectional, non-networked connection;
retrieving, by the first interface card, a result from a memory location in the untrusted domain; and
tracking, by the first interface card, a delivery status of the data message based on the result retrieved from the memory location.
17 . The method of claim 16 , further comprising storing the delivery status in a table or data structure associating the memory location with the data message.
18 . The method of claim 16 , wherein the result comprises a checksum generated in the untrusted domain.
19 . The method of claim 16 , wherein tracking the delivery status comprises comparing the result to a benchmark value.
20 . The method of claim 16 , wherein the result comprises a predetermined indicator that represents a GOOD result if the data message was received, and a BAD result if the data message was not received.