# US 7,675,867 B1 · One-way data transfer system with built-in data verification mechanism

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,675,867 B1
- Document ID: US7675867B1
- Status: Granted
- Kind: B1
- Application number: 11/787,801
- Filed: 2007-04-18
- Granted: 2010-03-09
- Earliest claimed: 2006-04-19
- Assignees: Owl Computing Technologies, Inc.
- Inventors: Ronald Mraz; James Hope; Jeffrey Menoher; Dennis P. Mirante
- Web page: https://patentgrep.com/patent/US7675867B1

## CPC

- H04L 63/123: {received data contents, e.g. message integrity}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of the present invention are directed to a one-way data transfer system with built-in data verification mechanism, comprising three nodes (Send Node, Receive Node, and Feedback Node) wherein (1) the three nodes are interconnected with each other by a one-way data link, and (2) the Feedback Node is designed solely for processing and relaying data verification information from the Receive Node to the Send Node. In these embodiments, the Send Node is capable of verifying the status of data it transferred to the Receive Node over a one-way data link without sacrificing the unidirectionality of data flow in the system and thereby compromising the level of security provided by use of one-way data links.

## Claims

### Claim 1

A one-way data transfer system comprising:
a send node;
a receive node connected to the send node by a first one-way link for unidirectional transfer from the send node to the receive node; and
a dedicated feedback node for generating data verification information based on data that the receive node received from the send node via the first one-way link,
wherein the dedicated feedback node is connected to the receive node by a second one-way link for unidirectional transfer from the receive node to the dedicated feedback node, and is also connected to the send node by a third one-way link for unidirectional transfer from the dedicated feedback node to the send node,
wherein the dedicated feedback node does not transfer message data back to the send node.

### Claim 2 (depends on 1)

The one-way data transfer system of claim 1, wherein the dedicated feedback node comprises a minimum capacity machine for transferring only the data verification information and no other data to the send node.

### Claim 3 (depends on 1)

The one-way data transfer system of claim 1, wherein the communication channel capacity of the dedicated feedback node is user-configurable.

### Claim 4 (depends on 1)

The one-way data transfer system of claim 1, wherein the dedicated feedback node is configurable to operate only for predefined time intervals.

### Claim 5 (depends on 1)

The one-way data transfer system of claim 1, wherein the send node comprises a processor for generating a data verification request to be sent to the receive node over the first one-way link.

### Claim 6 (depends on 5)

The one-way data transfer system of claim 5, wherein the data verification information is generated only after the data verification request is received by the receive node.

### Claim 7 (depends on 5)

The one-way data transfer system of claim 5, wherein the data verification request is generated at a predefined time interval.

### Claim 8 (depends on 5)

The one-way data transfer system of claim 5, wherein the data verification request is generated at a periodic time interval.

### Claim 9 (depends on 5)

The one-way data transfer system of claim 5, wherein the data verification request is generated at a random time interval.

### Claim 10 (depends on 1)

The one-way data transfer system of claim 1, wherein the data verification information comprises a hash number.

### Claim 11 (depends on 10)

The one-way data transfer system of claim 10, wherein the hash number is an MD5 digest or a SHA-1 digest.

### Claim 12 (depends on 1)

The one-way data transfer system of claim 1, wherein
the send node comprises a processor for applying a hash algorithm to data that the send node sends to the receive node via the first one-way link to generate a first hash number; and
the receive node comprises a processor for applying the hash algorithm to the data that the receive node receives from the send node via the first one-way link to generate a second hash number.

### Claim 13 (depends on 12)

The one-way data transfer system of claim 12, wherein the dedicated feedback node comprises a processor for generating the data verification information based on the second hash number received from the receive node via the second one-way link.

### Claim 14 (depends on 13)

The one-way data transfer system of claim 13, wherein the send node further comprises a processor for comparing the first hash number with the data verification information received from the dedicated feedback node via the third one-way link to verify the status of the data that the receive node received from the send node via the first one-way link.

### Claim 15 (depends on 12)

The one-way data transfer system of claim 12, wherein the receive node further comprises a processor for comparing the second hash number with the first hash number received from the send node.

### Claim 16 (depends on 15)

The one-way data transfer system of claim 15, wherein the receive node further comprises a processor for logging an error if the second hash number does not match the first hash number.

### Claim 17 (depends on 15)

The one-way data transfer system of claim 15, wherein the receive node is designed to drop the data received from the send node via the first one-way link if the second hash number does not match the first hash number.

### Claim 18 (depends on 12)

The one-way data transfer system of claim 12, wherein the dedicated feedback node comprises a processor for applying the hash algorithm to the second hash number received from the receive node to generate the data verification information.

### Claim 19 (depends on 18)

The one-way data transfer system of claim 18, wherein the send node further comprises
a processor for applying the hash algorithm to the first hash number to generate a first double hash number; and
a processor for comparing the first double hash number with the data verification information received from the dedicated feedback node via the third one-way link to verify the status of the data that the receive node received from the send node via the first one-way link.

### Claim 20 (depends on 19)

The one-way data transfer system of claim 19, wherein the send node further comprises
a processor for calculating expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the first one-way link, if the data verification information does not match the first double hash number.

### Claim 21 (depends on 19)

The one-way data transfer system of claim 19, wherein the send node further comprises
a table of expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the first one-way link, if the data verification information does not match the first double hash number.

### Claim 22 (depends on 1)

The one-way data transfer system of claim 1, wherein
the send node comprises a processor for determining status information of data that the send node sends to the receive node via the first one-way link; and
the receive node comprises a processor for determining status information of the data that the receive node receives from the send node via the first one-way link.

### Claim 23 (depends on 22)

The one-way data transfer system of claim 22, wherein the receive node further comprises a processor for applying a hash algorithm to the status information of the received data to generate a received data status hash number.

### Claim 24 (depends on 23)

The one-way data transfer system of claim 23, wherein the dedicated feedback node comprises a processor for applying the hash algorithm to the received data status hash number received from the receive node via the second one-way link to generate the data verification information.

### Claim 25 (depends on 24)

The one-way data transfer system of claim 24, wherein the send node further comprises:
a processor for applying the hash algorithm to the status information of the sent data to generate a sent data status hash number;
a processor for applying the hash algorithm to the sent data status hash number to generate a sent data status double hash number; and
a processor for comparing the sent data status double hash number with the data verification information received from the dedicated feedback node via the third one-way link to verify the status of the data that the receive node received from the send node via the first one-way link.

### Claim 26 (depends on 25)

The one-way data transfer system of claim 25, wherein the send node further comprises
a processor for calculating expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the first one-way link, if the data verification information does not match the sent data status double hash number.

### Claim 27 (depends on 25)

The one-way data transfer system of claim 25, wherein the send node further comprises
a table of expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the first one-way link, if the data verification information does not match the sent data status double hash number.

### Claim 28

A one-way data transfer system comprising:
a plurality of nodes comprising at least one send node and at least one receive node;
a dedicated feedback node for generating data verification information based on data that one of the at least one receive node received from one of the at least one send node; and
a central switch for controlling routing of data from any one of its inputs to any one of its outputs,
wherein each of the plurality of nodes and the dedicated feedback node is connected to a corresponding one of the inputs of the central switch by a first one-way link for unidirectional transfer to the corresponding input and also connected to a corresponding one of the outputs of the central switch by a second one-way link for unidirectional transfer from the corresponding output,
wherein the dedicated feedback node does not transfer message data back to the send node.

### Claim 29 (depends on 28)

The one-way data transfer system of claim 28, wherein the central switch is based on crossbar switch logic.

### Claim 30 (depends on 28)

The one-way data transfer system of claim 28, wherein the central switch comprises a matrix of switch junctions for interconnecting the inputs and the outputs, wherein each of the switch junctions controls routing from one of the inputs to the corresponding output of the central switch.

### Claim 31 (depends on 28)

The one-way data transfer system of claim 28, wherein the central switch comprises an ATM switch.

### Claim 32 (depends on 31)

The one-way data transfer system of claim 31, wherein the central switch further comprises an ATM switch operator domain to control the ATM switch.

### Claim 33 (depends on 28)

The one-way data transfer system of claim 28, wherein the number of the inputs of the central switch is at least the number of the plurality of nodes and the dedicated feedback node.

### Claim 34 (depends on 28)

The one-way data transfer system of claim 28, wherein the number of the outputs of the central switch is at least the number of the plurality of nodes and the dedicated feedback node.

### Claim 35 (depends on 28)

The one-way data transfer system of claim 28, wherein the dedicated feedback node comprises a minimum capacity machine for transferring only the data verification information and no other data to the send node.

### Claim 36 (depends on 28)

The one-way data transfer system of claim 28, wherein the communication channel capacity of the dedicated feedback node is user-configurable.

### Claim 37 (depends on 28)

The one-way data transfer system of claim 28, wherein the dedicated feedback node is configurable to operate only for predefined time intervals.

### Claim 38 (depends on 28)

The one-way data transfer system of claim 28, wherein each of the at least one send node comprises a processor for generating a data verification request to be sent to a selected one of the at least one receive node.

### Claim 39 (depends on 38)

The one-way data transfer system of claim 38, wherein the data verification information is generated only after the data verification request is received by the selected receive node.

### Claim 40 (depends on 38)

The one-way data transfer system of claim 38, wherein the data verification request is generated at a predefined time interval.

### Claim 41 (depends on 38)

The one-way data transfer system of claim 38, wherein the data verification request is generated at a periodic time interval.

### Claim 42 (depends on 38)

The one-way data transfer system of claim 38, wherein the data verification request is generated at a random time interval.

### Claim 43 (depends on 28)

The one-way data transfer system of claim 28, wherein the data verification information comprises a hash number.

### Claim 44 (depends on 43)

The one-way data transfer system of claim 43, wherein the hash number is an MD5 digest or a SHA-1 digest.

### Claim 45 (depends on 28)

The one-way data transfer system of claim 28, wherein
each of the at least one send node comprises a processor for applying a hash algorithm to data sent to the central switch to generate a first hash number; and
each of the at least one receive node comprises a processor for applying the hash algorithm to data received from the central switch to generate a second hash number.

### Claim 46 (depends on 45)

The one-way data transfer system of claim 45, wherein the dedicated feedback node comprises a processor for generating the data verification information based on the second hash number received from the receive node via the central switch.

### Claim 47 (depends on 46)

The one-way data transfer system of claim 46, wherein the send node further comprises a processor for comparing the first hash number with the data verification information received from the dedicated feedback node via the central switch to verify the status of the data that the receive node received from the send node via the central switch.

### Claim 48 (depends on 45)

The one-way data transfer system of claim 45, wherein the receive node further comprises a processor for comparing the second hash number with the first hash number received from the send node via the central switch.

### Claim 49 (depends on 48)

The one-way data transfer system of claim 48, wherein the receive node further comprises a processor for logging an error if the second hash number does not match the first hash number.

### Claim 50 (depends on 48)

The one-way data transfer system of claim 48, wherein the receive node is designed to drop the data received from the send node via the central switch if the second hash number does not match the first hash number.

### Claim 51 (depends on 45)

The one-way data transfer system of claim 45, wherein the dedicated feedback node comprises a processor for applying the hash algorithm to the second hash number received from the receive node via the central switch to generate the data verification information.

### Claim 52 (depends on 51)

The one-way data transfer system of claim 51, wherein the send node further comprises
a processor for applying the hash algorithm to the first hash number to generate a first double hash number; and
a processor for comparing the first double hash number with the data verification information received from the dedicated feedback node via the central switch to verify the status of the data that the receive node received from the send node via the central switch.

### Claim 53 (depends on 52)

The one-way data transfer system of claim 52, wherein the send node further comprises
a processor for calculating expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the central switch, if the data verification information does not match the first double hash number.

### Claim 54 (depends on 52)

The one-way data transfer system of claim 52, wherein the send node further comprises
a table of expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the central switch, if the data verification information does not match the first double hash number.

### Claim 55 (depends on 28)

The one-way data transfer system of claim 28, wherein
each of the at least one send node comprises a processor for determining status information of data sent to the central switch; and
each of the at least one receive node comprises a processor for determining status information of data received from the central switch.

### Claim 56 (depends on 55)

The one-way data transfer system of claim 55, wherein the receive node further comprises a processor for applying a hash algorithm to the status information of the received data to generate a received data status hash number.

### Claim 57 (depends on 56)

The one-way data transfer system of claim 56, wherein the dedicated feedback node comprises a processor for applying the hash algorithm to the received data status hash number received from the receive node via the central switch to generate the data verification information.

### Claim 58 (depends on 57)

The one-way data transfer system of claim 57, wherein the send node further comprises:
a processor for applying the hash algorithm to the status information of the sent data to generate a sent data status hash number;
a processor for applying the hash algorithm to the sent data status hash number to generate a sent data status double hash number; and
a processor for comparing the sent data status double hash number with the data verification information received from the dedicated feedback node via the central switch to verify the status of the data that the receive node received from the send node via the central switch.

### Claim 59 (depends on 58)

The one-way data transfer system of claim 58, wherein the send node further comprises
a processor for calculating expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the central switch, if the data verification information does not match the sent data status double hash number.

### Claim 60 (depends on 58)

The one-way data transfer system of claim 58, wherein the send node further comprises
a table of expected double hash numbers from known hypothetical error scenarios; and
a processor for comparing the expected double hash numbers with the data verification information to identify an error in the data that the receive node received from the send node via the central switch, if the data verification information does not match the sent data status double hash number.

### Claim 61

A method of verifying one-way data transfer from a send node to a receive node across a one-way link, comprising the steps of:
applying a data verification algorithm to data sent from the send node to the one-way link to generate a sent data verification information;
applying the data verification algorithm to data received by the receive node from the one-way link to generate a received data verification information;
sending the received data verification information to the send node over a dedicated feedback one-way link; and
wherein the dedicated feedback node does not transfer message data back to the send node; and
comparing the received data verification information with the sent data verification information to verify the status of the data that the receive node received from the send node via the one-way link.

### Claim 62 (depends on 61)

The method of claim 61, wherein
the first applying step comprises the steps of applying a hash algorithm to the data sent from the send node to the one-way link to generate a first hash number and applying the hash algorithm to the first hash number to generate the sent data verification information; and
the second applying step comprises the step of applying the hash algorithm to the data received by the receive node from the one-way link to generate a second hash number and applying the hash algorithm to the second hash number to generate the received data verification information.

### Claim 63 (depends on 62)

The method of claim 62, wherein the second applying step further comprises the step of sending the second hash number to a dedicated feedback node over an intermediate one-way link prior to the step of applying the hash algorithm to the second hash number.

### Claim 64 (depends on 63)

The method of claim 63, wherein the dedicated feedback node comprises a minimum capacity machine for transferring only the received data verification information and no other data to the send node.

### Claim 65 (depends on 63)

The method of claim 63, further comprising the step of configuring the communication channel capacity of the dedicated feedback node.

### Claim 66 (depends on 63)

The method of claim 63, further comprising the step of configuring the dedicated feedback node to operate only for predefined time intervals.

### Claim 67 (depends on 61)

The method of claim 61, further comprising the step of sending a data verification request to the receive node prior to the second applying step.

### Claim 68 (depends on 61)

The method of claim 61, wherein the data verification algorithm is a hash algorithm.

### Claim 69 (depends on 68)

The method of claim 68, wherein the hash algorithm is MD5 or SHA-1.

### Claim 70 (depends on 62)

The method of claim 62, further comprising the step of comparing the second hash number with the first hash number.

### Claim 71 (depends on 70)

The method of claim 70, further comprising the step of logging an error if the second hash number does not match the first hash number.

### Claim 72 (depends on 70)

The method of claim 70, further comprising the step of dropping the data received from the send node via the one-way link if the second hash number does not match the first hash number.

### Claim 73 (depends on 62)

The method of claim 62, further comprising the steps of:
calculating expected double hash numbers from known hypothetical error scenarios; and
comparing the expected double hash numbers with the received data verification information to identify an error in the data that the receive node received from the send node via the one-way link, if the received data verification information does not match the sent data verification information.

### Claim 74 (depends on 62)

The method of claim 62, further comprising the steps of:
generating a table of expected double hash numbers from known hypothetical error scenarios; and
comparing the expected double hash numbers with the received data verification information to identify an error in the data that the receive node received from the send node via the one-way link, if the received data verification information does not match the sent data verification information.

### Claim 75 (depends on 61)

The method of claim 61, wherein
the first applying step comprises the steps of determining status information of the sent data, applying a hash algorithm to the status information of the sent data to generate a sent data status hash number, and applying the hash algorithm to the sent data status hash number to generate the sent data verification information; and
the second applying step comprises the steps of determining status information of the received data, applying the hash algorithm to the status information of the received data to generate a received data status hash number, and applying the hash algorithm to the received data status hash number to generate the received data verification information.

### Claim 76 (depends on 75)

The method of claim 75, further comprising the steps of:
calculating expected double hash numbers from known hypothetical error scenarios; and
comparing the expected double hash numbers with the received data verification information to identify an error in the data that the receive node received from the send node via the one-way link, if the received data verification information does not match the sent data verification information.

### Claim 77 (depends on 75)

The method of claim 75, further comprising the steps of:
generating a table of expected double hash numbers from known hypothetical error scenarios; and
comparing the expected double hash numbers with the received data verification information to identify an error in the data that the receive node received from the send node via the one-way link, if the received data verification information does not match the sent data verification information.
