Data Diode
Scripts for verifying TCP passthrough functionality.
Development Instructions
[!TIP]
This project utilizes go for module management.
You can find installation instructions via relevant operating system documentation.
- Clone repository:
gh repo clone acep-uaf/data-diode
- Source navigation:
cd data-diode
- Build binary:
make
- CLI:
./diode [options...]
Branch Management
main → production ready environment.
dev → testing changes to be merged into main.
Directory Structure
.
├── config
├── docker-compose.yaml
├── Dockerfile
├── docs
├── go.mod
├── go.sum
├── insights
├── main.go
├── Makefile
├── README.md
├── sample
└── utility
5 directories, 7 files
Architecture Diagram
graph LR
A("Subscribe (MQTT)") -->|TCP Client|B(Data Diode) -->|TCP Server|C("Publish (MQTT)")
[!NOTE]
Operational Technology (OT) vs. Information Technology (IT) system boundaries.
User Stories
Scenario Planning
- Power Plant Operator
- Information Security Auditor
- Energy Awareness Application Developer
- Community Member
Threat Model^1
- Tactics
- Techniques
- Procedures
System Benchmarking
Experimental Design
Research Question: Can you replicate an OT (private) system state published via the MQTT protocol to an IT (public) environment through a data diode?