/data-diode

Tool for interacting with data diode(s) via command-line interface (CLI).

Primary LanguageGoMIT LicenseMIT

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)")

Loading

Note

Operational Technology (OT) vs. Information Technology (IT) system boundaries.

User Stories

Scenario Planning

  1. Power Plant Operator
  2. Information Security Auditor
  3. Energy Awareness Application Developer
  4. Community Member

Threat Model1

  • Tactics
  • Techniques
  • Procedures

System Benchmarking

Experimental Design

Footnotes

  1. https://csrc.nist.gov/glossary/term/tactics_techniques_and_procedures