Score:0

Bandwidth-Efficient Non-Repudiation

kh flag

I'm working on a project that involves broadcast (uni-directional) streaming and requires non-repudiation. Essentially, a device broadcasts a data stream over the air, and any receiving station needs to be confident that the data was actually transmitted by the claimed device.

My initial thought is that the broadcaster has an X.509 certificate and, every N bytes in the stream, transmits a header with a signed hash of the previous N payload bytes and transmits the certificate itself. All receivers can then verify the certificate using their own trusted cert stores, and can verify the signed hash to be confident that the previous N bytes were transmitted by the valid owner of the valid X.509 cert.

The problem with this is that you would want N to be small so that a receiver could jump in mid-stream and not have to wait long before the next "chunk" of N bytes begins (no way to verify authenticity of a chunk you only received part of), but you also want N to be large so that you minimize the overhead of transmitting the signed hash and the cert itself.

Is there a better approach to this? Perhaps I'm just not think far enough outside of the box, or am unaware of an existing standard approach.

knaccc avatar
es flag
What is the bit rate of the stream? Without knowing that, it's impossible to reason about the significance of the additional overhead. Also, do clients have an internet connection? They could retrieve the certificate independently instead of retrieving it from the broadcast stream.
Maarten Bodewes avatar
in flag
You may not have to send the certificate all that much; as long as the stream *includes* the certificate then you may be fine. You can buffer more of the stream, or just indicate that it isn't authentic if the hash fails later. Using a Merkle tree would also be nice, as you may be able to validate data even if you only have part of the data.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.