Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenC2 support should be updated #6

Open
dlemire60 opened this issue Feb 21, 2024 · 9 comments
Open

OpenC2 support should be updated #6

dlemire60 opened this issue Feb 21, 2024 · 9 comments

Comments

@dlemire60
Copy link

The CACAO v2.0 spec includes a command type of openc2-http which provides a starting point for integrating the two standards. However, this support needs updating:

  • As written, the description appears to be applying the July 2019 v1.0 HTTPS Transfer Spec, however that spec isn't actually referenced and has been superseded by the November 2021 v1.1 Spec. CACAO should apply the newer version and add it as a reference document.
  • The OpenC2 community is emphasizing the use of pub/sub transfer mechanisms, with many advantages over HTTP for this application. We have a transfer specification for MQTT (also November 2021). CACAO should add an openc2-mqtt command type to use pub/sub message transfer and add our MQTT specification as a reference.
@jordan2175
Copy link
Contributor

That would be great. Can you please help us understand what needs to be changed? Also can you provide some examples here?

@dlemire60
Copy link
Author

References would be:

[OpenC2-HTTPS-v1.1]
Specification for Transfer of OpenC2 Messages via HTTPS Version 1.1. Edited by David Lemire. 30 November 2021. OASIS Committee Specification 01. https://docs.oasis-open.org/openc2/open-impl-https/v1.1/cs01/open-impl-https-v1.1-cs01.html. Latest stage: https://docs.oasis-open.org/openc2/open-impl-https/v1.1/open-impl-https-v1.1.html.

[OpenC2-MQTT-v1.0]
Specification for Transfer of OpenC2 Messages via MQTT Version 1.0. Edited by David Lemire. 19 November 2021. OASIS Committee Specification 01. https://docs.oasis-open.org/openc2/transf-mqtt/v1.0/cs01/transf-mqtt-v1.0-cs01.html. Latest stage: https://docs.oasis-open.org/openc2/transf-mqtt/v1.0/transf-mqtt-v1.0.html

for HTTPS
In current 5.2, the Command should be modified to POST /.well-known/openc2 (see Example 1 in the v1.1 HTTPS spec).

Additions for MQTT are a bit more complicated due to the need to select the proper publication topic; an answer to my emailed question about OpenC2 integration would be helpful, or I can add that as another issue here.

@allant0
Copy link

allant0 commented Feb 22, 2024 via email

@dlemire60
Copy link
Author

I suggest this addition should be submitted as an extension on cacao that will allow the definition to be well defined and reviewed prior to its adoption or review by the TC. It clearly is a non trivial addition deserves robust review. It would also allow Openc2 cacao implementers to validate the correct definition works for them in working code prior to the integration into some future revision of cacao. -- Allan

What does it take to do this, or have I done so by raising this issue?

@jordan2175
Copy link
Contributor

@dlemire60 We would need your help in understand what is need to make this work. @Vasileios-Mavroeidis and @mateusdz recently released a CACAO extension for doing layout, you may want to look at that as an example of what to do.

@dlemire60
Copy link
Author

The OpenC2 TC has opened a work item for this: OpenC2 Extension for CACAO

Current working draft document can be viewed here: https://github.com/oasis-tcs/openc2-cacao-ext/blob/working/openc2-cacao-ext-v1.0.md

Feedback and suggestions are welcome.

@dlemire60
Copy link
Author

an update: the draft specification I link in my previous comment is substantially complete and will be up for a CSD vote at this month's OpenC2 TC meeting. Feel free to follow the link above and take a look.

@jordan2175
Copy link
Contributor

These changes are being made to the spec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants