An Implementation of An Optical Data Diode
An Implementation of An Optical Data Diode
Malcolm W. Stevens
ABSTRACT
A data diode is a computer security device that restricts the communication along
a network connection between two computers so that data can only be transmitted
in one direction. This enables a more sensitive or highly classified computer
network to receive data directly from a less secure source while prohibiting the
transmission of data in the opposite direction. This paper shows that it is quite
simple to construct both the hardware for an optical data diode and also the
software to communicate through the device. Data diodes are generally designed
to protect the confidentiality of data on the higher classified system. Integrity,
availability and reliability issues are also discussed.
An alternate use for data diodes is also explored, where in certain circumstances
the data diode can provide strong integrity protection to data on the system which
transmits the data through a data diode. The data diode also provides availability
protection to this system from the systems on the receiving end of the data diode.
RELEASE LIMITATION
Approved for public release.
D EPARTMENT OF D EFENCE
Published by
© Commonwealth of Australia
AR-010-857
May 1999
ii
DSTO-TR-0785
Executive Summary
Data diode technology is now at the stage where a data diode can be implemented
between networks where there is a requirement for data to be sent from the less classified
or sensitive computer network to the more classified network and there is a need to
protect the confidentiality of data on the more classified network. In terms of the Defence
environment, accreditation for use should be possible at high levels of trust.
This paper shows that it is quite simple to construct the hardware part of the optical data
diode from commercial “off the shelf” products. It is also quite simple to implement
software which communicates through the data diode and provides electronic mail and
file transfer capability. The software model is at the application level and is extensible so
that other services such as database replication could be added to the available services
through the data diode.
If two networks are at the same classification level but one system is more controlled,
with possibly stronger security restrictions, then the data diode can allow data to be
transmitted from the more controlled network to the less controlled network while
strongly protecting the integrity and availability of the more controlled system. The
integrity protection includes protection of the data on the system which sends the data,
and also protects against unauthorised system reconfiguration by users or system
administrators on the less protected computer system.
If a standard network connection was used the security strength of protection for the
more controlled network would be reduced to that of the less controlled network. A
firewall could be configured to provide a similar service but it would not have the same
strength of protection that the data diode provides.
iii
DSTO-TR-0785
iv
DSTO-TR-0785
Author
Malcolm W. Stevens
Information Technology Division
v
DSTO-TR-0785
vi
DSTO-TR-0785
Contents
1. INTRODUCTION 1
8. SUMMARY 15
9. REFERENCES 17
vii
DSTO-TR-0785
Figures
Figure 1 Depiction of a Data Diode that supplies confidentiality
protection to the higher classified network 1
Figure 2 A simple design for an Optical Data Diode 2
Figure 3 The Essential part of a Data Diode 4
Figure 4 Prototype Data Diode software configuration 6
Figure 5 Other Components that could be used with a Data Diode 9
Figure 6 Depiction of a Data Diode that supplies integrity protection
to the more controlled computer system. 10
Figure 7 Data Diode Providing Integrity Protection 12
Figure 8 Integrity protection for a Database 13
Figure 9 Data Transfer from Foreign System 13
Most of the
information that
explicitly describes
particular aspects
of C3I systems has
been
captured on paper,
or in an electronic
form. However,
there is a great deal
of C3I systems,
and organisational,
knowledge that
people are aware of
that has not been
explicitly
recorded. Also,
there is a great deal
of information that
describes systems
of systems that
needs to be
captured.
There are several
issues that relate to
the management
and use of C3I
systems
information
within Defence.
The C3I systems
viii
information
requirements of
users need to be
more fully
DSTO-TR-0785
1. Introduction
A data diode is a computer security device that restricts the communication along a
network connection between two points so that data can only be transmitted in one
direction. The data diode is configured to guarantee that no data can be passed, either
explicitly or covertly, in the opposite direction.
A typical situation where a data diode is useful has a connection between two systems
of different classification levels, where data from the lower classified system is to be sent
to the higher classified system. This is depicted in Figure 1. Under security restrictions,
these networks cannot normally be connected due to the threat of highly classified data
being observed by users on the lower classified network.
Data Flow
Higher Lower
Classified Classified
Network Network
No Data Flow
1
DSTO-TR-0785
described in [4], the upward channel of their prototype system also uses a UDP transport
mechanism.
The NRL work on data pumps focuses on the packet level in the delivery of data from
the low to the high side whereas the work done at DSTO and described in the next
section has been demonstrated at the application level. The main idea behind working at
the application level was that if human intervention was required to supply information
to the low side network about what data was not received properly, then this would be
more efficiently achieved at the application level.
HIGH Tr Tr LOW
DATA
TRANSFER
Figure 2 A simple design for an Optical Data Diode
If both the high side and the low side networks already each have a workstation that can
be used as a gateway to the other network, then the additional hardware required to
implement this design is as listed as follows.
• Three fibre optic transceivers, which each have separate fibre optic lines for
transmitting and receiving. This enables the data paths to be separated. The third
fibre optic transceiver is required simply to supply a carrier signal to the lower side
transceiver which will not work if it does not see the appropriate carrier signal.
(This was seen as a cheaper option to modifying the transceiver so that it did not
need to see the carrier signal. Using the third transceiver to supply a carrier signal
2
DSTO-TR-0785
has the advantage of still being able to purchase “commercial off the shelf”
products.)
• Two ethernet cards. One ethernet card is put in each of the gateway workstations
so that the two workstations are linked by a dedicated sub-network in order to
avoid the possibility of packet collision with other network traffic.
• A power supply for the third fibre optic transceiver. The power for this could be
tapped from the cable that connects the other fibre optic transceiver to the low side
ethernet card, if this card can supply enough power for two cards.
• Appropriate fibre optic and copper cable to make connections as in Figure 2.
3
DSTO-TR-0785
Note: in some fibre optic devices the transmitting device and the receiving device use the
same electronic to optical interface thus allowing only one fibre to be used for both
directions of data exchange. Such devices are not suitable for use in an optical data diode.
The essential part of the optical data diode is actually the missing optical cable from the
transmit port (Xmt) on the left to the receive port (Rcv) on the right in Figure 3. The other
optical cable allows communication in the permitted direction. All other hardware
components, such as shown in Figure 2, are complementary to the optical cable that
allows the low to high communication.
Data Flow
Fibre Rcv Xmt Fibre
Optic Optic
Device Xmt Rcv Device
No Data Flow
Key
Xmt light emitting diode Rcv optical sensor
4
DSTO-TR-0785
5
DSTO-TR-0785
Human P
P F
sendmail
CheckLog Report File System
P
Child DiodeReceive
P
DiodeReceive
Log
Child P
DiodeReceive
High Side
Low Side
F
LockFile
UDP UDP UDP Spooling
port x port x+1 port x+2 Directory
Serial Number
Counter
P P P
DiodeMailSend DiodeFileSend Resend
P
sendmail Command Line Human
(using .forward) or Script
Key P F
Program File
7. Spooling Directory
Stores the details and possibly contents of data sent through the data diode. Can be
cleared when delivery has been confirmed.
8. CheckLog Program
This program scans the log directory and checks for missing or corrupted
messages. It compiles a report listing serial numbers to be resent.
9. Resend Program
Given a list of serial numbers this program obtains details from the spooling
directory and resends the appropriate data. This program could also clear some of
6
DSTO-TR-0785
the contents of the spooling directory if it were told a serial number below which
everything has been successfully received.
7
DSTO-TR-0785
the high side replication. A process on the high side network would then need to process
the received changes by making the same changes to the replicated copy.
Mechanisms to handle possible transmission loss would need to be considered.
8
DSTO-TR-0785
possibly destroy or manipulate the system or data or overload the system to create a
denial of service attack. A computer virus is an example of such malicious code. There is
a smaller class of threats, that is becoming increasingly common, which could be realised
through the importing of data files which contain a virus, such as Word 6.0 files which
contain viral data which affects the operation the Word 6.0 program through the macro
facility (commonly known as macro viruses).
While not strictly part of the data diode, measures can be incorporated in conjunction
with the data diode configuration which can help reduce the risk of availability and
integrity attacks.
Two components that could be used with data diodes are listed below and depicted in
Figure 5.
1. Packet Filters
2. Integrity and Virus Checkers
These are discussed in more detail in the following section. Configuration of these
components is not all that security critical and could depend on the resources that are
available. Packet filtering can be done by many commercially available routers and
integrity and virus checking could be done on the high side computer if it had enough
processing power so that reliability of data transfer was not affected. Some commercially
available “firewalls” could supply the required functionality.
Data Flow
Higher Integrity Packet Lower
Classified /Virus Filter Classified
Network Checker Network
No Data Flow
9
DSTO-TR-0785
• Using some sort of forward error correction mechanism so that missing data can
be reconstructed. (A simple form of error correction is the duplication of data sent
from the low side. This of course halves the available bandwidth.)
• Software assisted detection of missing data. If the low side sending process
sequentially numbers the data sent then software on the high side, on receipt of a
subsequent message, can detect that there was a missing message. This enables a
list of missing data to be compiled on the high side. If this is communicated to the
low side (not electronically as that would provide a possible covert channel) then
the data could be resent.
10
DSTO-TR-0785
receiving computer system. The protection is not provided for any other network
connections to the system that sends the data that do not use a data diode.)
Consider the situation where a data diode connects two computer networks which are at
different security classifications, such as the situation depicted in Figure 1. The data
diode provides integrity and availability protection to the less classified system from the
more classified system. This is usually of little importance as one is usually more
interested in maintaining the availability and integrity of the higher classified system.
Integrity and availability issues of the higher classified system (or receiving system) have
been discussed in Section 5.2.
Data diodes are usually not connected to allow data to be transferred from high to low
because there is a large risk that sensitive data on the high network, which is not allowed
or desired on the low network, will be sent through the data diode, either accidentally or
maliciously, possibly by some hostile code executing without human consent.
The situation that is of interest is where the two networks handle data which is at the
same classification level. This is of interest when the two networks are not normally
connected because one of the networks is more controlled than the other. Figure 6 depicts
such a situation. Examples of network architectures where such a connection may be
useful are given in Section 6.3
The mechanism that transports data through the data diode is a “push” mechanism. So
it is totally at the discretion of the sending system as to what data is sent to the less
protected system.
Due to the one way flow of data it would be impossible for anyone, even system
administrators, on the less controlled network to “hack” into the more controlled
network through the data diode.
Users on the less controlled network could have access to data from the more controlled
network, if someone on the more controlled network initiated a data transfer. Users on
the less controlled network then have access to a copy of the original data. Thus the users
on the less controlled network can not affect the integrity of any data on the more
controlled network, even if they have uncontrolled access to a copy of the data.
A firewall could be configured to provide a similar service to the data diode but it would
not have the same strength of protection as the data diode. The number of bugs in
firewall implementations, as can be seen in bug lists, such as that distributed by
[email protected], indicate the generally level of protection provided by
most firewalls. Firewall protection is generally recognised as being better than using a
direct connection with no firewall but the protection that they provide will probably
never be assured to a high level of trust and may never be completely invulnerable.
11
DSTO-TR-0785
If a standard network connection was used to pass data from the more controlled
network to the less controlled network then the security mechanisms for the combined
system are reduced to the lowest common denominator. This would not be in the best
interest of the more controlled network.
Commercial enterprises may have computer systems that fall into this category, for
example companies in the banking sector. Selected information from a highly controlled
enterprise system could be transmitted to a more accessible system. This information
could then be made available to management, regulatory officials, staff and even
customers without jeopardising the integrity of the data on the highly protected
enterprise system.
Access control policies, which distinguish between who can read data and who can write
data, could even be implemented in this way.
A data diode connection as shown in Figure 7 allows the transfer of data and maintains
the stricter network policy control in the more controlled network.
Data Flow
12
DSTO-TR-0785
Copy Integrity
of Protected
Database Database
Data Flow
Receiving Sending
Network Network
Foreign
Network
Local Remote
System Node
Data Flow
13
DSTO-TR-0785
14
DSTO-TR-0785
8. Summary
This paper shows that data diodes are easily constructed and software to communicate
through them is relatively simple to write.
The data diode is designed to protect the confidentiality of data on the high side network.
It achieves this with a high level of assurance. Measures can also be taken to reduce the
risk of loss of integrity and availability to the receiving network.
The paper [6] shows that the UDP communication through a data diode can be both high
throughput and high reliability if adequate resources and priorities are met.
Data diodes also provide integrity and availability protection to the network which
transmits through a data diode. This is normally not required but in certain
circumstances it can be used as an important part of a security implementation.
Data diode technology is now at a stage where there are no technical issues preventing
their implementation. If anyone has a need to construct such a service between two
networks, then it is quite simple to achieve and should achieve accreditable operation.
15
DSTO-TR-0785
16
DSTO-TR-0785
9. REFERENCES
[1] Stevens M. and Pope M. Data Diodes. Electronics and Surveillance Research
Laboratory (DSTO), Technical Report - DSTO-TR-0209, July 1995.
[2] Cohen F. Designing Provably Correct Information Networks with Digital Diodes.
Computers & Security, Volume 7, pages 279-286, 1988.
[3] Froscher J. N., Goldschlag D. M., Kang M. H., Landwehr C. E., Moore A.,
Moskowitz I. S. and Payne C. N. Improving Inter-Enclave Information Flow for a secure
Strike Planning Application. Proceedings of the 11th Annual Computer Security
Applications Conference, New Orleans, Louisiana, December 1995.
[4] Goldschlag D. M. Several Secure Store and Forward Devices. Proceedings of the Third
ACM Conference on Computer and Communications Security, New Delhi, India,
March 1996.
[5] European Communities - Commission. Information Technology Security Evaluation
Criteria (ITSEC) Provisional Harmonised Criteria, Version 1.2, ISBN 92-826-3004-8,
Catalogue number CD-71-91-502-EN-C, June 1991.
[6] Yesberg J. D. and Klink M. W. An Investigation into the Reliability of User Datagram
Protocol Reception for a Data Diode. Electronics and Surveillance Research
Laboratory (DSTO), Technical Report - DSTO-TR-0649, April 1998.
17
DSTO-TR-0785
18
DSTO-TR-0785
DEFENCE ORGANISATION
Task sponsor:
Director General, Command, Control, Communication and
Intelligence Development 1
S&T Program
Chief Defence Scientist )
FAS Science Policy ) 1 shared copy
AS Science Corporate Management )
Director General Science Policy Development 1
Counsellor, Defence Science, London Doc Control Sheet
Counsellor, Defence Science, Washington Doc Control Sheet
Scientific Adviser - Policy and Command 1
Navy Scientific Adviser 1 copy of Doc Control Sheet
and 1 distribution list
Scientific Adviser - Army Doc Control Sheet
and 1 distribution list
Air Force Scientific Adviser 1
Director Trials 1
19
DSTO-TR-0785
Navy
SO (Science), Director of Naval Warfare, Maritime Headquarters Annex, 1
Garden Island, NSW 2000.
Army
ABCA Office, G-1-34, Russell Offices, Canberra 4
SO (Science), DJFHQ(L), MILPO, Enoggera, Qld 4051 Doc Control Sheet
NAPOC QWG Engineer NBCD c/- DENGRS-A, HQ Engineer Centre
Liverpool Military Area, NSW 2174 Doc Control Sheet
Intelligence Program
DGSTA Defence Intelligence Organisation 1
20
DSTO-TR-0785
Other Organisations
NASA (Canberra) 1
AGPS 1
State Library of South Australia 1
Parliamentary Library, South Australia 1
OUTSIDE AUSTRALIA
SPARES 5
21
DSTO-TR-0785
22