Closed nicorusti closed 2 months ago
@matzf I was looking into Joel's emails, he provided some more hints:
Yes, I get that each AS can in principle use a different algorithm. Now look at it from the point of view of an implementor. What algorithm shall I implement? I am expecting to sell to multiple operators. I am expecting to need to interoperate with solutions from other vendors. I have no problem with allowing a range of choices. But I need something that ensures interoperability. The usual answer is to say that all implementations must implement and support X, and that operators can use anything they like that their devices support as long as all devices in the AS use the same thing.
Right, this depends on the MAC algorithm. Safely truncating requires certain MAC algorithms, e.g. ones that have properties of a pseudorandom function. We should clarify this.
If it depends upon the MAC that is used, then you need to tell operators enough to make an appropriate choice of MAC. Still seems that XORing together th three "xhorts" from the MAC would always be stronger. But I am not a security expert.
I think this is resolved by #34
MACs for hop fields are created and then verified always within an AS. This means that each AS can use a different MAC algorithm, while interoperating with other ASes. We mention this in the data plane draft:
Two points should be clarified:
Issue in DP: https://github.com/scionassociation/scion-dp_I-D/issues/7