I refer to multi-streaming as the ability to send two or more streams of some unit of data (block, byte streams) in one established association/context. SCTP is an example and the protocol I was thinking about when this question came to mind. How could I efficiently secure data sent over multiple streams?
What I see in many documents is something equivalent to N handshakes have to be performed for N streams. This seems to be suggesting each stream is independently secured. A counter example would be to add multi-stream-over-one-stream to TLS instead of naked TCP. But that would not include independent loss/order recovery.
What I was wondering about is making security more efficient over multi-streaming (like SCTP) by first securing one stream then using that stream to secure more streams without the full handshake. If stream 0 is already secure and a sender wants to start sending some data over stream 1, my idea is to generate a random key and send it over stream 0 with info that it is for securing stream 1. But is this safe even when stream 0 is already secure?
I was thinking of using SCTP (for other reasons) and do security management over stream 0 and data over streams 1 and up. EDIT: The idea is to speed up starting to send data by the sender generating a key for a new stream X (X > 0) and sending that key over stream 0 and then sending encrypted data over stream X.
This question is the inverse of Has networking using multiple “unrelated” connections to share an encrypted data stream been researched? The streams I want to secure are related by being part of the same association with no intent to bond them (they would stay independent).