Next: The Extended Scheme
Up: EMSS: Efficient Multi-chained Stream
Previous: EMSS: Efficient Multi-chained Stream
To achieve non-repudiation, we rely on a conventional signature scheme, for
example RSA [27] or Rohatgi's k-times signature scheme
[28]. Unfortunately, the computation and communication overhead
of current signature schemes is too high to sign every packet individually. To
reduce the overhead, one signature needs to be amortized over multiple packets.
Our basic solution bases on the following scheme to achieve non-repudiation of a
sequence of packets. Packet includes a hash of the previous
packet . By sending a signature packet at the end of the
stream, which contains the hash of the final packet along with a signature, we
achieve non-repudiation for all packets. To achieve robustness against packet
loss, each packet contains multiple hashes of previous packets, and furthermore,
the final signature packet signs the hash of multiple packets.
Figure 6 shows an example, where each packet contains the hash
of the two previous packets, and where the signature packet contains the hash of
the last two packet and the signature.
Pi
Pip1
Pip2
Mi
Mip1
Mip2
hpim2
hpim1
hpi
hpip1
hpip2

Figure 6: We achieve non-repudiation through periodic signature packets, which
contain the hash of several data packets, and the inclusion of the hash of
the current packet within future packets. The inclusion of multiple hashes
achieves robustness against packet loss.
In order for the sender to continuously verify the signature of the stream, the
sender sends periodic signature packets. Since the receiver can only verify the
signature of a packet after it receives the next signature packet, it is clear
that the receiver experiences a delay until packet verification.
To simplify the following discussion, we describe this scheme as a graph problem
and use the corresponding terminology. Namely, we use the term node instead of
packet, and edge instead of hash link. We define the length of an edge as
, where and are the id's of the corresponding nodes.
If packet contains the hash of packet , we draw a directed edge
starting at to . We call a supporting packet of .
Similarly, an edge points from a packet to a signature packet , if
contains the hash of . We assume that some of the packets are
dropped between the sender and the receiver. All nodes which correspond to
dropped packets are removed from the graph. A packet is
verifiable, if there exists a path from to any signature packet
.
This stream signature scheme has the following parameters:
- Number of edges per node
- Length and distribution of edges
- Frequency of signature nodes
- Number and distribution of incoming edges in signature nodes
These parameters influence the computation and communication overhead, the delay
until verification, and the robustness against packet loss. We want to achieve
low overhead while retaining high robustness against packet loss and a low
verification delay.
To simplify the problem of optimizing all parameters simultaneously, we first
focus on the interplay between the number and distribution of edges to
achieve high robustness against packet loss. We first consider static edges,
which means that all the outgoing and incoming edges of each node have
predefined lengths. For example, in a ``1-3-7'' scheme, the node has
outgoing edges to , and incoming edges from .
To simplify the problem even further, we initially assume independent packet
loss, i.e. each packet has an equal loss probability.
Instead of computing the probability precisely for each node, we wrote a program
to perform simulations. We checked the accuracy of the simulation program on the
cases for which we computed an analytical solution:
Next: The Extended Scheme
Up: EMSS: Efficient Multi-chained Stream
Previous: EMSS: Efficient Multi-chained Stream
Adrian Perrig
Sat Sep 2 17:01:14 PDT 2000