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

Review updated Lifecycle in Architecture #192

Open
mmccool opened this issue Sep 21, 2020 · 5 comments
Open

Review updated Lifecycle in Architecture #192

mmccool opened this issue Sep 21, 2020 · 5 comments
Assignees

Comments

@mmccool
Copy link
Contributor

mmccool commented Sep 21, 2020

See PR w3c/wot-architecture#539 when it is complete. This better aligns the lifecycle with the IETF/T2TRG document and modifies the diagram, pulling out detail into the main body text.

@mmccool
Copy link
Contributor Author

mmccool commented Nov 16, 2020

There is still some ongoing discussion based on feedback at TPAC. We probably should leave this open until the lifecycle is finalized and we have a chance to do a final security review. The PR above, however, has been merged.

@OliverPfaff has agreed to review the current status and provide input on whether any additional updates are needed from a security perspective.

@OliverPfaff
Copy link
Contributor

abc

@OliverPfaff
Copy link
Contributor

Review comments for https://w3c.github.io/wot-architecture/#lifecycle

  1. Organization: in a *-of-things document, start with Thing Lifecycle (reflecting the given starting point), then System Lifecycle (saying there is more than a/one thing that matters), then Information Lifecycle (to contrast against IT)

  2. Terminology: using "thing" and "device" as synonym terms (?) is unfortunate. Suggestion: use "thing", do not use "device" (the current usage of "device" creates confusion for people with an OT background)

  3. Thing lifecycle stage "Bootstrapped": the current text focusses on "establishing identity and ownership". This is just a small minority of what has to happen after "Manufactured" and before "Operational" (supply network address esp. IP address, supply naming information esp. application naming, supply configuration information [independent from security items])

  4. Ownership: is addressed in text but not covered in Figure (and the text section about state changes). This seems to be not well-balanced

  5. Multiplicity of identifier(s): in general the relationship between "thing" and "identifier" is 1:n (one thing typically has 1 MAC address, 1 IP address and 1 application name per application resulting in n+2 identifiers if it runs n applications). The term "identity" can cope with this. But it still creates misconceptions: it is not uncommon to read/comprehend "1 identity" as "1 identifier"

  6. System: consider to differentiate instances of "system" according "machine" (a "system" with a dedicated physical body such as an industrial robot) and others (a "system" without such body e.g. a home or office automation system)

  7. Simple System Lifecycle: I don't really understand the rationale behind this differentiation

  8. System Lifecycle with Registration: same comment as for Simple System Lifecycle

@mmccool
Copy link
Contributor Author

mmccool commented Nov 30, 2020

Notes from security meeting Nov 30:

  1. Contrasting IT and OT is interesting. In general, HW and SW are more closely coupled in OT. This is probably also true of information managed by the SW, which is our primary concern for privacy. For a discussion of OT, see: https://en.wikipedia.org/wiki/Operational_technology Another interesting reference: https://www.felser.ch/papers/2019-IEEE-OT-IT.pdf
    Related issue: Information lifecycle wot-architecture#553 and also Lifecycle simplification wot-architecture#561 (we should clearly define why we need an information lifecycle)
  2. Actually, "Thing" and "Device" should not be synonymous. My understanding is that "Thing" (note caps) is the software abstraction or representation of a physical Device. But these terms are often not used as carefully as they should be... probably the doc needs a close reading to sort out places where they are not used correctly. I definitely saw many places where "Thing" is used for a physical device. Maybe we should use "physical Thing" in place of "device"...
  3. I personally think that breaking the (complex) bootstrapping process into substeps in the main state machine is useful. However, we do need to capture all the substeps that are included in that state, perhaps in its description. What really matters is the state of the device when it leave that state (IP address assigned, security keys provisioned, etc). While identity is important, current text is incomplete and should be more inclusive.
  4. Needs some modification to text around ownership to balance it. Creating an issue to follow up: Lifecycle should have a balanced discussion of ownership wot-architecture#570
  5. Good point. Need to clearly define "Identity" and "Identifier" as defined terminology. Creating an issue to follow up: Identity and Identifier should be defined terminology wot-architecture#571
  6. I think the way the term is used here is "an entity with multiple interacting components". The components must also be somehow visible, e.g. Things, Directories, etc. Maybe this just needs a formal definition (e.g. the sentence above). But we still have places in the text where system is used less formally (eg a machine which is actually a device without visible internal components). There might also be "systems" also treated as "things" (e.g. there is a single management interface for a thing composed internally of microservices). The main usage here is however "System Lifecycle" as distinguished from other lifecycles, and we have to make clear here that we are talking about separate interacting entities (directories, devices, etc). Suggest at least making an issue to define "System" formally: System should be defined terminology wot-architecture#572
    7, 8: These need more text to explain them. These sections are new and related to some other issues currently under discussion: Simple system lifecycle wot-architecture#554

@mmccool
Copy link
Contributor Author

mmccool commented Jan 30, 2023

We still have a lifecycle in the S&P Guidelines but perhaps it should be removed and just reference the lifecycle in Arch 1.1.

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

2 participants