OpenC2 protocol negotiation details; optional trust on first use
jtcbrule opened this issue · 0 comments
jtcbrule commented
OpenC2 protocol negotiation details are incomplete, especially over untrusted networks.
A simple possibility is to require that the security orchestrator and actuator recognize/validate each other's certificates beforehand. Another possibility is to use an OpenC2 alert followed by an OpenC2 command to perform a handshake.
- Actuator sends an alert to an orchestrator via an HTTPS POST to signal that it wishes to join the orchestrator's network, trusting the orchestrator's public key on first use.
- Orchestrator issues a command to the actuator via an HTTPS POST, querying the actuator for its supported profiles, serializations and communications protocols. Orchestrator trusts the actuator's public key on first use.
- The HTTP response contains the actuator's supported profiles, serializations and communications protocols
- Orchestrator issues a command to specify how all subsequent communication is to be performed.