Closed boucadair closed 2 years ago
current proposed solution To Q1:
Section 3.2
A UA equipped for Broadcast RID SHOULD be provisioned not only with its HHIT but also with the HI public key from which the HHIT was derived and the corresponding private key, to enable message signature. A UAS equipped for Network RID SHOULD be provisioned likewise; the private key resides only in the ultimate source of Network RID messages (i.e., on the UA itself if the GCS is merely relaying rather than sourcing Network RID messages). Each Observer device SHOULD be provisioned either with public keys of the DRIP identifier root registries or certificates for subordinate registries.
Solution: change first SHOULD to MUST in section 3.2
To Q2:
- It is not clear for me how revocation is done in case the private key of UA is compromised. While the Security considerations section states that revocation procedures are yet to be determined, I think that some text about the directions in which they are planned to be determined should be present.
Bob: Since these are raw keys, revocation is not directly possible. The drip-registry draft may evolve various methodologies for providing revocation information. At this writing, we would be really speculating. Perhaps, black-holing in DNS; if a DET has been revoked, a DNSSEC protected response on looking up the DET would say so. We might be able to include this as an example for revocation, but only an example at this point.
Shuai/ Nothing to be updated.
To Q3:
Section 9.
The size of the public key hash in the HHIT is also of concern. It is well within current server array technology to compute another key pair that hashes to the same HHIT.
If I understand the draft correctly, the size of public key hash is 20 or 19 octets (Section 3.1).
Bob: The architecture document does not detail the format of an HHIT. It turns out that in draft-ietf-drip-rid, the hash size is 64 bits so this attack is real and details about it are in the Security Considerations of that draft. Perhaps say:
The size of the public key hash in the HHIT (64 bits) is also of concern
? Do we need to reference ietf-drip-rid? We really do not want to do that is it creates delaying dependencies.
Finding another key pair that hashes to the same hash requires second preimage attack, which must take in this case 2^160 or 2^152. In my understanding of the state-of-art, it's still beyond possibilities of current computers. Am I missing something?
Unfortunately you have to see:
draft-ietf-drip-rid-17 sec 10.
[Med] The initial point was to record the potential security consideration that should be further examined in the solution spec. I'm not convinced we need to call out solution-specific details (e.g., 64 bits) here or call out ietf-drip-rid.
To Q4:
- The Security Considerations section is silent about possible impact of Cryptographically Relevant Quantum Computers. While it's not clear whether such computers will be ever build, the proposed architecture looks fragile with respect to them. First, from my understanding the architecture, private/public key pairs in UA are relatively long-lived and difficult to update. This gives an attacker plenty of time to break them and once they are broken, enough time to exploit. Second, the impact of breaking can be substantial due to the nature of UA (a potentially dangerous object). Third, while many protocols involved in this architecture can be upgraded with quantum safe cryptographic primitives, it seems to me that for some pieces it will be really challenging (e.g. the draft discusses limitations on payload size for Bluetooth, which will be more severe with PQ cryptography with much larger keys and signatures). I think this issue must be addressed somehow, at least mentioned.
Bob: Intentionally so. We could get lost in the weeds. We are extremely
size and computing constrained and current QSC is just not providing
solutions. IF such a crypto suite is invented, it can be slotted in, as
we have designed for crypto-agility. Also, we do not spell it out, but
we do say that a DET may be used for only a single 'operation' (flight
to us non-UAS operators). Thus a concerned implementor could use a
fresh DET, making the exposure for only the duration of the operation.
We do not spell this out, as there are other operational reasons for a
UAS operator to constantly change DETs.
Bob suggests adding the following text to Section 8 Security Considerations
8.1 Post Quantum Computing out of scope There has been no effort, at this time, to address post quantum computing cryptography. UAs and Broadcast Remote ID communications are so constrained that current post quantum computing cryptography is not applicable. Plus since a UA may use a unique HHIT for each operation, the attack window could be limited to the duration of the operation.
Finally, as the HHIT contains the ID for the cryptographic suite used in its creation, a future post quantum computing safe algorithm that fits the Remote ID constraints may readily be added.
To Q5:
- While an example when one UA physically steals UAS RID sender of another UA is clever, I think that such scenarios (physical security) are not in scope of IETF work. I believe that many others similar schemes can be invented, so I suggest to discuss physical security in a separate subsection of Section 9.
? other authors? chairs? advise please.
To Q6
Not related to security:
Section 3.2:
A self-attestation of a HHIT used as a UAS ID can be done in as little as 84 bytes when Ed25519 [RFC8032] is used, by avoiding an explicit encoding technology like ASN.1 or Concise Binary Object Representation (CBOR [RFC8949]). This attestation consists of only the HHIT, a timestamp, and the EdDSA signature on them.
If no encoding is used then how extensibility is achieved?
Bob: Extensibility is in the HHIT which includes the Suite ID (Ed25519/cSHAKE here). A different HHIT Suite ID will result in a differently structured self-attestation. None exist right now, so no attempt is made to consider what other results would look like.
I also wonder how algorithm agility property is achieved for broadcast RID messages.
Bob: As above the HHIT includes the Suite ID. Note that the HHIT is an extension of the HIT in rfc7401 that also provided algorithm agility through the included Suite ID. Out of scope. Nothing to do here....
@rgmhtt Q5 has been ignored. Please address it.
You mean from Valery? I was hoping Stu would handle it. He is swamped. I will take care of it.
If you do mean his Q5...
Bob
On 4/21/22 12:27, Shuai Zhao wrote:
@rgmhtt https://github.com/rgmhtt Q5 has been ignored. Please address it.
— Reply to this email directly, view it on GitHub https://github.com/ietf-wg-drip/draft-ietf-drip-arch/issues/40#issuecomment-1105442660, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABODW4B27LV7WWQMSCNVWC3VGF6VLANCNFSM5SCAY4JQ. You are receiving this because you were mentioned.Message ID: @.***>
Bob To Q5:
I don't know if I should reply to this one on github as my answer is a bit involved.
In Security Considerations. Make para 2 the 1st para:
The size of the public key hash in the HHIT is vulnerable to a second-image attack. It is well within current server array technology to compute another key pair that hashes to the same HHIT. Thus an adversary could impersonate a validly registered UA. This attack would only be exposed when the HI in DRIP authentication message is checked back to the USS and found not to match.
Compromise of a registry private key could do widespread harm. Key revocation procedures are as yet to be determined. These risks are in addition to those involving Operator key management practices and will be addressed as part of the registry process.
Then a subsection:
9.1 Private key physical security
The security provided by asymmetric cryptographic techniques depends upon protection of the private keys. It may be necessary for the GCS to have the key pair to register the HHIT to the USS. Thus it may be the GCS that generates the key pair and delivers it to the UA, making the GCS a part of the key security boundary. Leakage of the private key either from the UA or GCS to the component manufacturer is a valid concern and steps need to be in place to ensure safe keeping of the private key.
Since it is possible for the UAS RID sender of a small harmless UA (or the entire UA) to be carried by a larger dangerous UA as a "false flag", it is out of scope to deal wtih secure store for the private key.
Summary:
Q1: change First SHOULD to MUST. See the Above explanation. Q2: Nothing to update. See the Above explanation. Q3: Nothing to update. See the Above explanation. Q4: added a new subsection "8.2. Post Quantum Computing out of scope" Q5: added a new subsection "8.1. Private key physical security" Q6: Out of scope. Nothing to do here
Reviewer: Valery Smyslov Review result: Has Issues
The topic of the draft is complex and involves many fields which I'm not expert of. The overall architecture looks secure, however it's difficult for me to analyse all the details. Nevertheless, it seems to me that there are some security issues with the draft.
Section 3.2
A UA equipped for Broadcast RID SHOULD be provisioned not only with its HHIT but also with the HI public key from which the HHIT was derived and the corresponding private key, to enable message signature. A UAS equipped for Network RID SHOULD be provisioned likewise; the private key resides only in the ultimate source of Network RID messages (i.e., on the UA itself if the GCS is merely relaying rather than sourcing Network RID messages). Each Observer device SHOULD be provisioned either with public keys of the DRIP identifier root registries or certificates for subordinate registries.
I wonder why SHOULDs are used here and not MUSTs. In which cases it's OK not to equip e.g. UAs with private keys and how they will perform digital signatures in this case? Am I missing something?
It is not clear for me how revocation is done in case the private key of UA is compromised. While the Security considerations section states that revocation procedures are yet to be determined, I think that some text about the directions in which they are planned to be determined should be present.
Section 9.
The size of the public key hash in the HHIT is also of concern. It is well within current server array technology to compute another key pair that hashes to the same HHIT.
If I understand the draft correctly, the size of public key hash is 20 or 19 octets (Section 3.1). Finding another key pair that hashes to the same hash requires second preimage attack, which must take in this case 2^160 or 2^152. In my understanding of the state-of-art, it's still beyond possibilities of current computers. Am I missing something?
The Security Considerations section is silent about possible impact of Cryptographically Relevant Quantum Computers. While it's not clear whether such computers will be ever build, the proposed architecture looks fragile with respect to them. First, from my understanding the architecture, private/public key pairs in UA are relatively long-lived and difficult to update. This gives an attacker plenty of time to break them and once they are broken, enough time to exploit. Second, the impact of breaking can be substantial due to the nature of UA (a potentially dangerous object). Third, while many protocols involved in this architecture can be upgraded with quantum safe cryptographic primitives, it seems to me that for some pieces it will be really challenging (e.g. the draft discusses limitations on payload size for Bluetooth, which will be more severe with PQ cryptography with much larger keys and signatures). I think this issue must be addressed somehow, at least mentioned.
While an example when one UA physically steals UAS RID sender of another UA is clever, I think that such scenarios (physical security) are not in scope of IETF work. I believe that many others similar schemes can be invented, so I suggest to discuss physical security in a separate subsection of Section 9.
Not related to security:
Section 3.2:
A self-attestation of a HHIT used as a UAS ID can be done in as little as 84 bytes when Ed25519 [RFC8032] is used, by avoiding an explicit encoding technology like ASN.1 or Concise Binary Object Representation (CBOR [RFC8949]). This attestation consists of only the HHIT, a timestamp, and the EdDSA signature on them.
If no encoding is used then how extensibility is achieved?
I also wonder how algorithm agility property is achieved for broadcast RID messages.