You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since LWM2M v1.1.1, "CoAP Request-Tag option SHOULD be used to detect interchange of blocks between different blockwise requests to the same resource over unreliable transport." (See for more details : eclipse-leshan/leshan#1506))
Remedy: If a client starts new block-wise operations on a security context that has lost packets, it needs to label the fragments in such a way that the server will not mix them up.
A mechanism to that effect is described as Request-Tag [RFC9175]. Had it been in place in the example and used for body integrity protection, the client would have set the Request-Tag option in the "promote" request. Depending on the server's capabilities and setup, either of four outcomes could have occurred:
The server could have processed the reinjected POST "valjean" as belonging to the original "incarcerate" block; that's the expected case when the server can handle simultaneous block transfers.
The server could respond 5.03 Service Unavailable, including a Max-Age option indicating how long it prefers not to take any requests that force it to overwrite the state kept for the "incarcerate" request.
The server could decide to drop the state kept for the "incarcerate" request's state, and process the "promote" request. The reinjected POST "valjean" will then fail with 4.08 Request Entity incomplete, indicating that the server does not have the start of the operation anymore.
The text was updated successfully, but these errors were encountered:
About the server-side:
Simply adding that option to the KeyUri is simple, I consider to do that.
But gathering experience with that RFC in the wild requires then someone else spending time in it.
Since LWM2M v1.1.1, "CoAP Request-Tag option SHOULD be used to detect interchange of blocks between different blockwise requests to the same resource over unreliable transport." (See for more details : eclipse-leshan/leshan#1506))
I understand this is mainly to protect against draft-ietf-core-attacks-on-coap§2.4.The Request Fragment Rearrangement Attack.
So I try get more information about that.
Some behavior description are available at draft-ietf-core-attacks-on-coap§ 2.4.1. Completing an Operation with an Earlier Final Block
The text was updated successfully, but these errors were encountered: