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

Ana's Comments on schc access control #10

Open
MarinoMtz opened this issue May 3, 2023 · 4 comments
Open

Ana's Comments on schc access control #10

MarinoMtz opened this issue May 3, 2023 · 4 comments
Assignees

Comments

@MarinoMtz
Copy link
Contributor

MarinoMtz commented May 3, 2023

Ana: Here you will find the list of comments, inputs and questions

  • Introduce a Terminology section and explain the following terms, at a first glance I was wondering if I was reading something I can understand
    SOR. Set of Rules. C'est le Context?
    RM. Rule Manager. Peut-on faire le lien avec le draft architecture?
    Core RM. Quelle est sa difference?
    Device RM. Quelle est sa difference?
    Compromised Core. C'est quoi compromised Core or Device??
    Compromised Device
    Destructive Rule. C'est quoi une règle destructive? Qui peut la introduire et comment les avoir?
    NACM ? Je n'ai pas trouvé
    DM. Data Model Faire lien avec le RFC9363?

  • Figure 1. If Terminology section is not in the document we need to explain SoR and RM?

  • I've noticed that you talk about rule database, but in HC terminology this is the Context or you are referring to something else? I will put the same question to Pascal for the draft architecture that mixes Context and Rule database in the draft.

  • In Threat Model
    What is peer of peers?

  • In Scenario 1.
    Why the impact of the attack depends on the original rule?
    What is an original rule?

  • In Scenario 1. Point 1
    What is the meaning of MA? Do you mean MO? (Matching Operator)

  • In Scenario 1. Point 2
    What do you mean by messages aiming at changing rules?
    How many kind of rules you have?

    • For the moment in the document, there are: original, changing, destructive
    • We need to define them to be clear, those rules are the same rule or different rules? is there a changing status for a rule?
      One solution here could be to limit the fields of the Rule that can be modified. I think that Port number is something fixed that cannot be changed, so if there is an attack in a fixed field, it could be detected.
      And also we can put modification degrees, depending on who you are?
      -You talk about a case where the residue can be reduced, how can the reduction takes place?
  • YANG Access Control
    NACM meaning?
    Which granularity? Explain
    I don't understand the case of Uri-path

In the Access Control levels,
I don't agree to add or remove FID's, in which case you need to add/remove a FID?
I think you need to add/remove Rules from the Context

  • YANG Data Model
    The leaf-ac-modify-set-of-rules is equivalent to say that in your context you will have fixed Rules and modifiable Rules?
    I think that not all the Rules may be modified. For example No-Compress Rule is a fixed Rule.

In the leaf-ac-modify-compression-rule
In no-change (0) Is it correct?: The rule cannot be modified or is it an element of the rule?
In modify-existing-element (1) and add-remove-element: only the FID can be changed or also MO, TV, CDA, any part of the Rule?

Which is the difference between modify-compression-rule and modify-field?

Ana

@MarinoMtz MarinoMtz self-assigned this May 3, 2023
@MarinoMtz
Copy link
Contributor Author

Hi Ana @minaburo, here you"ll find some answers to the questions you sent us.

Here you will find the list of comments, inputs and questions

  • Introduce a Terminology section and explain the following terms, at a first glance I was wondering if I was reading something I can understand

IM: I tried to use the same terminology as in the architecture draft?

SOR. Set of Rules. C'est le Context?

IM: SoR, is the Set of Rules as in: Figure 5: Summerized SCHC elements

IM: I don't know what is a context, but an instance is a session which is operation between a pair of peers (end-points).

RM. Rule Manager. Peut-on faire le lien avec le draft architecture?

IM: Yes

Core RM. Quelle est sa difference?

IM: Il est au niveau du end point qui a le role du core.

Device RM. Quelle est sa difference?

IM: Il est au niveau du end point qui a le role du device.

Compromised Core. C'est quoi compromised Core or Device??
Compromised Device

IM: Un end-point qui a le role du core ou device qui a été modifié par un attaquant

Destructive Rule. C'est quoi une règle destructive? Qui peut la introduire et comment les avoir?

IM: Une regle menant a une combinaison destructive, qui peut etre plus atractive car elle offre un taux de compression plus élévé

IM: L'idée c'est qu'avec le access control personne peut les introduire

NACM ? Je n'ai pas trouvé

[Figure 5](NETCONF Access Control Model (NACM)): NETCONF Access Control Model (NACM)

DM. Data Model Faire lien avec le RFC9363?

IM: Oui

  • Figure 1. If Terminology section is not in the document we need to explain SoR and RM?

IM: It may be benefical to include it indeed

  • I've noticed that you talk about rule database, but in HC terminology this is the Context or you are referring to something else? I will put the same question to Pascal for the draft architecture that mixes Context and Rule database in the draft.

IM: What is a context?? the Rule DB is the element to the left of the left of Figure 5: Summerized SCHC elements

  • In Threat Model
    What is peer of peers?

Same as in the archi draft

  • In Scenario 1.

Why the impact of the attack depends on the original rule?

IM: It depends on the compression rate, if the original rule does not compress, the impact will be more important

What is an original rule?

IM: In the scenario we are trying to describe, the idea is to have some management messages that will use CORECONF to change the Set Of Rules, this can go from the device to the core of vice versa. So the original rule is the one that the end point is trying to update.

  • In Scenario 1. Point 1
    What is the meaning of MA? Do you mean MO? (Matching Operator)

IM: yes, my bad

  • In Scenario 1. Point 2
    What do you mean by messages aiming at changing rules?

IM: Reffer to the answer to --> What is an original rule?

How many kind of rules you have?

  • For the moment in the document, there are: original, changing, destructive
  • We need to define them to be clear, those rules are the same rule or different rules? is there a changing status for a rule?

IM: I have also though about that, we might change this and add that notion of changing status, can be discussed

One solution here could be to limit the fields of the Rule that can be modified. I think that Port number is something fixed that cannot be changed, so if there is an attack in a fixed field,  it could be detected.

IM: Good idea, if yes, I think we should restric the MA:CDa combination to ports so that they are not compressed (meaning always need to be present in the residue)

And also we can put modification degrees, depending on who you are?
-You talk about a case where the residue can be reduced, how can the reduction takes place?

IM: By introducing destructive rules: The residue f the original Rule is larger than the residue of the rule once the modification has been done.

  • YANG Access Control
    NACM meaning?

Refer to rfc6536

Which granularity? Explain
I don't understand the case of Uri-path

IM: Where ?

In the Access Control levels, I don't agree to add or remove FID's, in which case you need to add/remove a FID? I think you need to add/remove Rules from the Context

IM: From the SoR you mean?
IM: There can be a management operation where the rule contains more or less FIDs than the original one

  • YANG Data Model
    The leaf-ac-modify-set-of-rules is equivalent to say that in your context you will have fixed Rules and modifiable Rules?

IM: Good question, I tend to believe yes there can be a case like that, but I'll let @ltn22 Laurent to iterate here

I think that not all the Rules may be modified. For example No-Compress Rule is a fixed Rule.

IM: Why?

In the leaf-ac-modify-compression-rule In no-change (0) Is it correct?: The rule cannot be modified or is it an element of the rule? In modify-existing-element (1) and add-remove-element: only the FID can be changed or also MO, TV, CDA, any part of the Rule?

IM: @ltn22 ?

Which is the difference between modify-compression-rule and modify-field?

IM: @ltn22 ?

Ana

@ltn22
Copy link
Contributor

ltn22 commented May 4, 2023

Hi Ana and Ivan;

I agree we have to define things more precisely. RFC 8724 gives some definitions regarding compression and fragmentation and sometime we don't use them correctly and here the AC opens to more architectural perspectives. I think it is good to work on it here and be aligned with the architecture draft.

Hi Ana @minaburo, here you"ll find some answers to the questions you sent us.

Here you will find the list of comments, inputs and questions

  • Introduce a Terminology section and explain the following terms, at a first glance I was wondering if I was reading something I can understand

IM: I tried to use the same terminology as in the architecture draft?

SOR. Set of Rules. C'est le Context?

LT: That's a good point, I will say that SoR is just the rules and context is the SoR + some elements to identify the owner. In some occasions, such as in the core, we can have several Set of Rules to handle several devices. In my view we have several Set of Rules and several contexts. (the context cannot be view globally but is dependant of a device).

IM: SoR, is the Set of Rules as in: Figure 5: Summerized SCHC elements

IM: I don't know what is a context, but an instance is a session which is operation between a pair of peers (end-points).

LT: I'm always confused by this two terms, I've no opinion, except that what is a session with more than 2 participants ?

RM. Rule Manager. Peut-on faire le lien avec le draft architecture?

IM: Yes

Core RM. Quelle est sa difference?

IM: Il est au niveau du end point qui a le role du core.

LT: Core SCHC manipulates rules for several devices, and is not the source or destination of the traffic. Device SCHC manipulates its own rules and is the source or destination of the traffic. We can have:

  • dev-dev is some very specific cases.
  • dev-core, the LPWAN case
  • core-core, the PPP case

Device RM. Quelle est sa difference?

LT: see above

IM: Il est au niveau du end point qui a le role du device.

Compromised Core. C'est quoi compromised Core or Device??
Compromised Device

IM: Un end-point qui a le role du core ou device qui a été modifié par un attaquant

Destructive Rule. C'est quoi une règle destructive? Qui peut la introduire et comment les avoir?

IM: Une regle menant a une combinaison destructive, qui peut etre plus atractive car elle offre un taux de compression plus élévé

LT: In SCHC equal/not-send, ignore/value-sent, ignore/compute-*, MSB/LSB, Match-mapping/mapping-sent do not destroy the information. the information is ever in the TV or in the residue. So the equilibrium is that a specific rule (more info in the TV) send less residue but as a smaller probability to be selected.

but destructive compression ignore/not-sent forces the decompression to take the TV regardless of the initial value. It is possible to create some very attractive rules (very small residue) and with a high probability. Therefore no valuable info is sent on the link.

One point, I didn't find it in RFC8724, is that if several rules apply, the compressor select the one with the smallest SCHC packet.

IM: L'idée c'est qu'avec le access control personne peut les introduire

NACM ? Je n'ai pas trouvé

[Figure 5](NETCONF Access Control Model (NACM)): NETCONF Access Control Model (NACM)

DM. Data Model Faire lien avec le RFC9363?

IM: Oui

  • Figure 1. If Terminology section is not in the document we need to explain SoR and RM?

IM: It may be benefical to include it indeed

  • I've noticed that you talk about rule database, but in HC terminology this is the Context or you are referring to something else? I will put the same question to Pascal for the draft architecture that mixes Context and Rule database in the draft.

IM: What is a context?? the Rule DB is the element to the left of the left of Figure 5: Summerized SCHC elements

  • In Threat Model
    What is peer of peers?

Same as in the archi draft

  • In Scenario 1.

Why the impact of the attack depends on the original rule?

IM: It depends on the compression rate, if the original rule does not compress, the impact will be more important

What is an original rule?

IM: In the scenario we are trying to describe, the idea is to have some management messages that will use CORECONF to change the Set Of Rules, this can go from the device to the core of vice versa. So the original rule is the one that the end point is trying to update.

  • In Scenario 1. Point 1
    What is the meaning of MA? Do you mean MO? (Matching Operator)

IM: yes, my bad

  • In Scenario 1. Point 2
    What do you mean by messages aiming at changing rules?

IM: Reffer to the answer to --> What is an original rule?

How many kind of rules you have?

  • For the moment in the document, there are: original, changing, destructive
  • We need to define them to be clear, those rules are the same rule or different rules? is there a changing status for a rule?

IM: I have also though about that, we might change this and add that notion of changing status, can be discussed

LT: yes, we need to understand better all the possible attacks.

One solution here could be to limit the fields of the Rule that can be modified. I think that Port number is something fixed that cannot be changed, so if there is an attack in a fixed field,  it could be detected.

IM: Good idea, if yes, I think we should restric the MA:CDa combination to ports so that they are not compressed (meaning always need to be present in the residue)

LT: Agree, in fact in the original draft we have the possibility just to change the TV, or to change MO-CDA-TV without any restrictions.

And also we can put modification degrees, depending on who you are?
-You talk about a case where the residue can be reduced, how can the reduction takes place?

IM: By introducing destructive rules: The residue f the original Rule is larger than the residue of the rule once the modification has been done.

  • YANG Access Control
    NACM meaning?

Refer to rfc6536

Which granularity? Explain
I don't understand the case of Uri-path

IM: Where ?

In the Access Control levels, I don't agree to add or remove FID's, in which case you need to add/remove a FID? I think you need to add/remove Rules from the Context

IM: From the SoR you mean? IM: There can be a management operation where the rule contains more or less FIDs than the original one

LT: don't know, may be we can avoid it, one scenario is that you d'ont know the structure of your URI path so you want to add an element, but does it worth the cost of introducing it in the current standard.

  • YANG Data Model
    The leaf-ac-modify-set-of-rules is equivalent to say that in your context you will have fixed Rules and modifiable Rules?

IM: Good question, I tend to believe yes there can be a case like that, but I'll let @ltn22 Laurent to iterate here

LT: this means, that you can add or remove some rules (may be we can have something more specific we can add frag rule but not compression,...)

I think that not all the Rules may be modified. For example No-Compress Rule is a fixed Rule.

IM: Why?

LT: good point see above.

In the leaf-ac-modify-compression-rule In no-change (0) Is it correct?: The rule cannot be modified or is it an element of the rule? In modify-existing-element (1) and add-remove-element: only the FID can be changed or also MO, TV, CDA, any part of the Rule?

IM: @ltn22 ?

LT: what may be not clear in the document, is that without any AC element, a rule cannot be read or write, with 0 it can be read but not modified. You have the possibility to add rules, then to add field descriptor and then modify elements.

Which is the difference between modify-compression-rule and modify-field?
LT:in the first you can add field descriptor, on the second just to change values.

IM: @ltn22 ?

Ana

@minaburo
Copy link
Contributor

minaburo commented May 4, 2023 via email

@MarinoMtz
Copy link
Contributor Author

MarinoMtz commented May 4, 2023

Thanks for the comments, so here I'll try to summarize:

I propose to go forward to add the first three points to the draft now, and to open a issue per discussion issue listed in point 4.

  1. Terminology section -- Define things more precisely:
    • Align with 8724
    • If possible align with architecture draft as it's an ongoing work
  2. Definitions that are already present in archi or 8724:
    • A Context is Set a of Rules [8724]
    • A Context does not contain additional information [8724].
    • A SCHC instance (or session) is a protocol operation between a pair of peers [Archi].
    • There is a context or Set of Rules per session [Archi].
    • There can be multiple sessions or instances on a SCHC Core [defined as Network Gateway in archi].
    • A Device typically has only one instance.
  3. Definitions to be added in the draft:
    • Rule Manipulation: The role of a Rule Manager:
      • A SCHC Core manipulates rules for several devices, and is not the source or destination of the traffic. Q SCHC Device manipulates its own rules and is the source or destination of the traffic. We can have:
        • dev-dev is some very specific cases.
        • dev-core, the LPWAN case
        • core-core, the PPP case
    • Destructive Rules: In SCHC equal/not-send, ignore/value-sent, ignore/compute-*, MSB/LSB, Match-mapping/mapping-sent do not destroy the information. the information is ever in the TV or in the residue. So the equilibrium is that a specific
      rule (more info in the TV) send less residue but as a smaller probability to be selected. Destructive compression ignore/not-sent forces the decompression to take the TV regardless of the initial value. It is possible to create some very attractive rules (very small residue) and with a high probability. Therefore no valuable info is sent on the link.
  4. Ongoing Discussion:
    • Rule selection:
      • Laurent: We shall say that the Rule offering the best compression shall be selected.
      • Ana: RFC8724 leaves to the implementation the freedom to choose the Rule it prefers. Your example should be avoided.
      • IM: Yes, but there is still a probability based on the implementation choice that the modified rule is chosen. Therefore, the attack vector still exists, so the example shall not be avoided.
    • Rule Database:
      • Ana: The concept is present in the archi draft but it is not cited anywhere in the RFC. Shall we say this is rather a Registry?
      • Ivan: Shall we ask in the ML to reach a consensus on this terminology?
    • Attack Impact:
      • Ana: I don't see what you mean? The attack depends on the optimisation of compression? or only on the modification of the Rule information?
        • IM: No, the attack does not depends on that, I'm talking about the impact of the attack. Hence, it depends on both. Let me explain: (a) The attack consist on trying to change a Rule that offers certain level of compression. (b) the possible rule that the compromised device is trying to push offers a grater level of compression, (c) if the new rule is effectively pushed and selected by the core, the impact of the attack is more important since there is a lost of information.
        • IM You can classify the impact of an attack based on the CIA (Confidentiality, Integrity, and Availability) triad, an attack that only impacts the Availability is less serious than an attack that impacts the integrity.
    • Rules types or status:
      • Either type: original, changing, destructive
      • Or Rules status.
    • Uri-path discussion
    • AC to Rules or part of Rules

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

No branches or pull requests

3 participants