TRC description: mandate normalization, introduce language tag and localizedDescriptions#137
Conversation
oncilla
left a comment
There was a problem hiding this comment.
Nit: i would change the field names slightly
Co-authored-by: Dominik Roos <domi.roos@gmail.com>
Co-authored-by: Dominik Roos <domi.roos@gmail.com>
|
Hi @oncilla, I incorporated your suggestions in the PR. Good to hear that you like the overall approach, and thanks for posting your comments.. I also sometimes forget to click publish…
With the updated ASN.1 module here, I can successfully decode various TRCs in ASN.1 studio: In general looks good to me, but I need to double check how existing code will behave if a TRC with these new fields is encountered. If you feel this change needs more community input, I can post it on scionproto, but I’m not sure there are more people understanding PKI as deep as you. |
Cool. Thanks for checking!
I created a draft PR with what I did to check: scionproto/scion#4927
It's probably good form to announce this in the community. I don't think there is going to be much input though. |
| authoritativeASes SEQUENCE OF ASN, | ||
| description UTF8String (SIZE (1..8192)) OPTIONAL, | ||
| certificates SEQUENCE SIZE (1..4095) OF Certificate, | ||
| localizedDescriptions [0] SEQUENCE SIZE (1..MAX) OF LocalizedText OPTIONAL, |
There was a problem hiding this comment.
Instead of MAX, I suggest using a very low number here, e.g. 5.
I also wonder, do we really need 8KB?
How about limiting it to 256 bytes?
Same for the localizations. Also, localizations don't need to have the same length as the main description...?
The problem is really that this can be exploited to create really large TRC that could even be used as an attack (as discussed in the meeting yesterday).
There was a problem hiding this comment.
The size concern also goes for other fields, do we really need 2000 votes or 4000 certificates?
There was a problem hiding this comment.
Is TRC size a real threat vector? If yes, is it prevented with hard limits in the spec?
I mean, if you see a 1 GB certificate/TRC, you maybe don't want to open it anyways and I think implementations may have some limits internally. Is it the case?
There was a problem hiding this comment.
We have to review many field limits, I suggest that we merge this PR, which is about language tags, and then review field sizes in #153
|
|
||
| LocalizedText ::= SEQUENCE { | ||
| language PrintableString, | ||
| content UTF8String (SIZE (0..8192)) |
There was a problem hiding this comment.
| content UTF8String (SIZE (0..8192)) | |
| content UTF8String (SIZE (1..256)) |
See discussion below on description field: We should probably avoid bloated TRC.
There was a problem hiding this comment.
The current SSHN TRC does not fit (even tough it uses multiple languages without tags).
#127 (comment)
There was a problem hiding this comment.
We have to review many field limits, I suggest that we merge this one and then just review field sizes in #153
Co-authored-by: Tilmann <tilmann_dev@gmx.de>
Co-authored-by: Tilmann <tilmann_dev@gmx.de>
Co-authored-by: Tilmann <tilmann_dev@gmx.de>
Co-authored-by: Tilmann <tilmann_dev@gmx.de>
Co-authored-by: Tilmann <tilmann_dev@gmx.de>
tzaeschke
left a comment
There was a problem hiding this comment.
I approve, but I think we need to discuss the "NOT empty" further, I think it doesn't express what it is supposed to express (see my comment below)....
|
For the record, enclosed the html diff corresponding to this PR |


Resolves #136
Diff with main
Slack discussion
TODO: