Distillation Codes and DOS Resistant Multicast Prepared for CS 624 - - PowerPoint PPT Presentation

distillation codes and dos resistant multicast
SMART_READER_LITE
LIVE PREVIEW

Distillation Codes and DOS Resistant Multicast Prepared for CS 624 - - PowerPoint PPT Presentation

Distillation Codes and DOS Resistant Multicast Prepared for CS 624 Fabian Monrose Johns Hopkins University Ryan Gardner Multicast Overview Server Router Client Client Client Multicast Overview Multicast enabled routers


slide-1
SLIDE 1

Distillation Codes and DOS Resistant Multicast

Prepared for CS 624 – Fabian Monrose Johns Hopkins University Ryan Gardner

slide-2
SLIDE 2

Multicast Overview

Server Router Client Client Client

slide-3
SLIDE 3

Multicast Overview

  • Multicast enabled routers
  • 224.0.0.0 - 239.255.255.255 (class D)
  • IGMP (Internet Group Management

Protocol)

  • Subscribe to groups and unsubscribe
slide-4
SLIDE 4

Applications

  • Interactive applications

– Teleconferencing – Video conferencing

  • Information broadcasts

– News – Stocks

  • Updates

– Software – Viruses

slide-5
SLIDE 5

Challenges

  • Authenticity
  • Malicious users
  • Tolerate packet loss
  • Minimal delay
  • (DoS attacks)
slide-6
SLIDE 6

Outline

  • Three naive solutions
  • Brief summary of related work
  • Efficient Multicast Stream Authentication

using Erasure Codes

  • Distillation codes
  • Conclusion
slide-7
SLIDE 7

Naive Solution 1 Symmetric Authentication

Review of MAC

MACKa,b Alice Bob Ka,b Ka,b Examples

  • hmac (sha1, md5)
  • umac
  • cbc mac (aes, 3des)
slide-8
SLIDE 8

Naive Solution 1 Symmetric Authentication

MACKs,g Server Router Client Client Client Ks,g Ks,g Ks,g Ks,g

slide-9
SLIDE 9

Naive Solution 1 Symmetric Authentication

  • Pros

– Fast – Low space overhead – Virtually no delay – Simple

  • Cons

– Any member of the group can “authenticate packets”

slide-10
SLIDE 10

Naive Solution 2 Sign Every Packet

Alice Bob SigA Kpriv_A (Kpub_A) Kpub_A

Review of Signature

Examples

  • RSA-1024 (2048, etc.)
  • DSA
  • IBE short signatures
slide-11
SLIDE 11

Naive Solution 2 Sign Every Packet

SigS Server Router Client Client Client Kpub_S Kpriv_S Kpub_S Kpub_S

slide-12
SLIDE 12

Naive Solution 2 Sign Every Packet

  • Pros

– Guarantees authenticity – Perfect loss tolerance – Almost no delay

  • Cons

– Computationally expensive for sender and receiver – High bandwidth overhead

slide-13
SLIDE 13

Naive Solution 3 Basic Signature Amortization

SigS(P1,…Pn) Server Router Client Client Client Kpub_S Kpriv_S Kpub_S Kpub_S P1 P2 Pn . . .

slide-14
SLIDE 14

Naive Solution 3 Basic Signature Amortization

  • Pros

– Unforgeable – Low computational cost – Low bandwidth overhead

  • Cons

– No packet loss tolerance – Delay at receiver

slide-15
SLIDE 15

Outline

  • Three naive solutions
  • Brief summary of related work
  • Efficient Multicast Stream Authentication

using Erasure Codes

  • Distillation codes
  • Conclusion
slide-16
SLIDE 16

Related Work

  • “Asymmetric MACs”

– TESLA [12,13] – Biba “signature” [11]

  • Signature amortization…
slide-17
SLIDE 17

Signature Amortization

  • Signature generations are expensive
  • Boneh, Durfee, and Franklin showed can’t use

MACs entirely… [2]

  • Break single signature into multiple packets
  • Fundamental issues

– Packet loss – Maliciously inserted packets (DoS)

  • Some work done

– Accumulators [16] – Erasure Codes [9,10]

slide-18
SLIDE 18

How to Sign Digital Streams [4]

  • Objectives

– Stream signing (not necessarily multicast) – Authenticity – Non-repudiation (even for partial streams) – Inexpensive – Low delay

  • General approach

– Authentication chain bootstrapped with signature

CRYPTO ‘97

slide-19
SLIDE 19

How to Sign Digital Streams

Packet 1 Packet 2 Packet 3

. . .

Signature h(p1) h(p2) h(p3) h(p4)

slide-20
SLIDE 20

How to Sign Digital Streams

  • Pros

– Simple – Low computation (single signature) – Low overhead – Authenticity – Non-repudiation (even for partial streams) – Low delay (if packets are sent at high frequency)

  • Cons

– No loss tolerance

slide-21
SLIDE 21

Digital Signatures for Flows and Multicasts [16]

  • Objectives

– Authenticity – “High” signing and verification rates – Loss tolerant – Non-repudiation – Inexpensive – Low delay

  • General approach

– Create a common signature for blocks of packets – Self authenticating packets IEEE/ACM Transactions on Networking 1999

slide-22
SLIDE 22

Packet 1 Packet 2 Packet 3 . . . Signature h(p1)

Star Chaining

Appended to every packet

Digital Signatures for Flows and Multicasts

Packet formation (per block) Send

Packet 1 Signature Packet 1 Signature Packet 1 Signature

slide-23
SLIDE 23

Packet i Signature h(pi)

Star Chaining Digital Signatures for Flows and Multicasts

Packet authentication

Cached digests block 1 block 2 block 4 from block j

slide-24
SLIDE 24
  • Pros

– Authenticity – “High” signing and verification rates – Perfect loss tolerance – Non-repudiation

  • Cons

– Small sender delay – Extremely high bandwidth overhead

Digital Signatures for Flows and Multicasts

slide-25
SLIDE 25

Summary of Related Work

  • Still significant deficiencies

– No loss tolerance – Extremely high bandwidth overhead – Vulnerable to DoS attacks

  • Computational
  • Memory exhaustion
slide-26
SLIDE 26

Outline

  • Three naive solutions
  • Brief summary of related work
  • Efficient Multicast Stream Authentication

using Erasure Codes

  • Distillation codes
  • Conclusion
slide-27
SLIDE 27

Efficient Multicast Stream Authentication using Erasure Codes [10]

  • Objectives

– Ensure authenticity (non-repudiation) – Robustness to packet loss – Minimal overhead & delay – Robust against en route packet modification or insertion of small number of bogus packets

  • General approach

– Amortize a signature over several packets using erasure codes

ACM Transactions on Information and Systems Security 2003

slide-28
SLIDE 28

Erasure Codes

  • Sender

– Take m objects (the original data) and creates n “erasure encoded objects”

  • Receiver

– Needs any m of the n objects sent, and can reconstruct “erasure decode” the original data

  • Space optimal
slide-29
SLIDE 29

Information Dispersal Algorithm (IDA) [14]

  • Basics

– Create an n row matrix A such that any m of the n rows are linearly independent – Multiply that by our data – On receipt of m chunks, grab the corresponding m rows of A, A’ – Multiply received data by A’-1

  • Kevin will cover…
  • Pretty light computationally

– One matrix multiplication at each end (matrix inversion at receiver) – O(n2) encode – O(m2) decode

slide-30
SLIDE 30

Signature Amortization using IDA - Description

P2,1 . . .

Break a stream up into blocks

P2,2 P2,m P1,1 . . . P1,2 P1,m P3,1 . . . P3,2 P3,m P4,1

slide-31
SLIDE 31

Signature Amortization using IDA

For each block

P1 P2 Pn . . . . . . Packet digest

h

F = h(P1)|| h(P2)|| … ||h(Pn) F

slide-32
SLIDE 32

Signature Amortization using IDA

Erasure encode F using IDA

. . . Packet digest (broken into m chucks)

F

1 2 m

IDA Erasure Encode c1 c2 c3 c4 cn . . . Encoded packet digest

slide-33
SLIDE 33

Signature Amortization using IDA

Sign F

. . . Packet digest

F

1 2 m

h(F) h sign(Kpriv) sigK_priv(F) IDA Erasure Encode !1 !2 !3 !4 !n . . . (m symbols) Encoded signature

Erasure Encode Signature

slide-34
SLIDE 34

Signature Amortization using IDA

Form each packet

Pi !i P1 P2 Pn . . . c1 c2 c3 c4 cn . . . !1 !2 !3 !4 !n . . . ci

slide-35
SLIDE 35

Signature Amortization using IDA

Reconstruction

Pi !i c1 c2 cm . . . !1 !2 !m . . . ci

Need m packets:

IDA Erasure Decode IDA Erasure Decode sigK_priv(F) F = h(P1)|| h(P2)|| … ||h(Pn) Packet digest Digest signature

slide-36
SLIDE 36

Signature Amortization using IDA

Verification

sigK_priv(F) F = h(P1)|| h(P2)|| … ||h(Pn) Packet digest Digest signature h(F) h Signature Verify y/n

For each packet Pi, verify:

F = h(P1)|| h(P2)|| … ||h(Pn) Pi h(Pi) h(Pi) extract compute hash

=

slide-37
SLIDE 37

Delays

  • Sender

– Must append information to n packets before sending

  • Receiver

– Must receive m packets to authenticate and use – (Frequently, all m packets should arrive approximately at the same time)

  • Consequences

– Approximate additional delay of the time span of each block – For minimal delay, we need smaller block size

slide-38
SLIDE 38

Practical Costs - Computation

Computational costs per block

1 RSA-1024 signature verifications 1 RSA-1024 signature generations 1 Erasure decodes 1 Erasure encodes Receiver Sender

1,170 25 3,700 2,755 Pentium 2.4 GHz

We can send approximately one block every 40 ms. Operations possible per second

slide-39
SLIDE 39

Acceptable Delay

The International Telecommunications Union – Telecommunications Standardization Sector states the following maximum end to end transmission times that they consider “allowable” with echo control. (Recommendation G.114) [5]

unacceptable 400 ms acceptable when the impact on quality is aware of. 150 - 400 ms acceptable to most user application. 0 - 150 ms Acceptability. Delay

slide-40
SLIDE 40

Practical Costs - Bandwidth

Bandwidth overhead = 2112 bytes per block 3.2%

n/m = 1.5 using RSA-1024 20 byte SHA-1 hash blocks of 64 packets (unencoded) of size 1024 bytes (65536 bytes total)

Conclusion: Costs are extremely reasonable in the simple case. Given:

slide-41
SLIDE 41

Authentication Probability

  • Burst losses are an important part of their

analysis

  • 2 models

– 2 state Markov chain model (2-MC) – “Biased coin toss”

slide-42
SLIDE 42

2 State Markov Chain Model (2-MC)

Packet arrives Packet lost p0,0 p0,1 p1,0 p1,1 used: !0 = 0.8 " = 8

slide-43
SLIDE 43

Biased Coin Toss Model

Packet arrives Packet lost Packet lost Packet lost

. . .

1-q q q q 1-q 1-q 1-q 1-q 1 2 b

slide-44
SLIDE 44

Internet Traffic Loss

2.5 hrs 2.5 hrs 8 hrs 8 hrs duration 13:39 13:41 09:53 09:52 time 20 ms 20 ms 80 ms 80 ms sending interval 3.8% Seattle multicast Dec ’97 1.7% Seattle unicast Dec ’97 11.0% SICS, Sweeden multicast Nov ’97 2.7% SICS, Sweeden unicast Nov ’97 loss % destination type date

“probe” packets sent from University of Massachusetts, Amherst [17] number of destinations in multicast is unknown… time given in eastern daylight time

slide-45
SLIDE 45

Internet Traffic Loss

Distribution of packet loss bursts for the Seattle unicast data

slide-46
SLIDE 46

Authentication Probability Results

Authentication probability #(k) as n $

normal distribution

( ) n k n mumble m !

0.5

  • 5

5 k

slide-47
SLIDE 47

Authentication Probability vs. Block Size

1.5 n m !

20% packet loss rate Expected burst length

  • f 8

2-MC model

slide-48
SLIDE 48

Problem – DoS on SAIDA

A single bogus packet will prevent the authentication of an entire block.

slide-49
SLIDE 49

Problem – DoS on SAIDA

Simple attack

c1 c2 cm . . . !1 !2 !m . . .

Insert bogus packet pj

IDA Erasure Decode IDA Erasure Decode *!?#% F = h(P1)|| h(P2)|| … ||h(Pn) Packet digest Garbage signature Pj !j’ cj !j’ Will not verify!

slide-50
SLIDE 50

Possible Solution – Error Correcting Codes (ECCs)

  • Similar to erasure codes

– Encode m objects to n (n>m) – Receiver decodes back to original message

  • Allow for a certain number of errors
  • More expensive

– Computation – Size

  • Common example: Reed-Solomon [15]

– Plots a polynomial of degree m-1 in a field – Over-plots the polynomial with redundant points (sends them) – Can interpolate through a number of bad points

slide-51
SLIDE 51

Addition of Error Correcting Codes

!1 c1

For each block

. . . . . . “fingerprint”

h % = (h(c1||&1)|| h(c2||&2)|| . . . ||h(cn||&n))

%

!2 c2 !n cn

slide-52
SLIDE 52

. . .

%

Encode with ECC

Addition of Error Correcting Codes

(Broken into m’ chunks) "1 "2 "3 "4 "n . . .

Encode with ECC Append to each packet

Pi !i ci "i

slide-53
SLIDE 53

. . .

%

Decode with ECC

Addition of Error Correcting Codes

"1 "2 "m . . .

Verification For each candidate packet:

Pj’ !j’ cj’

verify %j = h(cj’||&j’)

#1 #2 #n

% = (h(c1||&1)|| h(c2||&2)|| . . . ||h(cn||&n))

slide-54
SLIDE 54

DoS on SAIDA

Claim – The addition of error correcting codes can prevent the attack where an adversary injects a “small” number of bogus packets into the stream.

slide-55
SLIDE 55

DoS on SAIDA with Error Correcting Codes

Attempt attack again

Insert bogus packet pj

Pj’ !j’ cj’ Packet is bogus! "j’ . . .

%

Decode with ECC "1 "2 "m’ . . .

%i = h(si||&i)

#1 #2 #m "j’ decoding works !j’ cj’ #j’

h

#j #j’

'

slide-56
SLIDE 56

SAIDA Summary

  • Pros

– Ensures use of legitimate packets only – Computationally feasible – Low bandwidth overhead – Good verification probability in burst loss model – Withstand attacks when a small number of garbage packets are injected

  • Cons

– Delay at the sender and receiver

slide-57
SLIDE 57

Outline

  • Three naive solutions
  • Brief summary of related work
  • Efficient Multicast Stream Authentication

using Erasure Codes

  • Distillation codes
  • Conclusion
slide-58
SLIDE 58

Distillation Codes and Applications to DoS Resistant Multicast Authentication [6]

  • Objectives

– Introduce and address a new adversarial model

  • Robustness against pollution attacks

(adversary injects many invalid symbols)

– “Loss model independent”

NDSS 2004

slide-59
SLIDE 59

Pollution Attack on SAIDA

Claim – If an adversary injects sufficiently many packets (a number equal to that of the legitimate sender) into a multicast stream, she will launch a complete denial of service attack on the receivers.

slide-60
SLIDE 60

Pollution Attack on SAIDA

Insert many bogus packets pj

Pj* !j* Sj* Use bad packet "j* . . .

%

Decode with ECC "1 "5 "m’ . . .

normally %i = h(si||&i)

#1’ #2’ #m’ "t’ Decoding fails !j’ cj’ #j’

h

#j’ #j’ (as many as sender) Pj* !j* Sj* "j* Pj* !j’ cj’ "j’ "2’ "3’

=

!j cj #j

h

Reject good packet #j #j’

'

(possibly)

slide-61
SLIDE 61

Strawman Solutions

  • Decode all possibilities (using erasure

code scheme)

–( ) possibilities (exponential)

  • Digitally sign every symbol

– Very expensive (computational, bandwidth) – Computational DoS attacks

t m

slide-62
SLIDE 62

Distillation Codes

  • GOAL: Solve pollution attack vulnerability with

“distillation codes”

  • General approach

– Break the packets into groups where all the good packets are exclusively in the same group – Compute at most one signature per group – Only compute signatures for groups that are sufficiently large – This will force a maximum number of signature verifications of only one per X packets received.

slide-63
SLIDE 63

General Idea

Partition the symbols

S1 S3 S4 S2 S5 S2 S4 S9 S1 S5 S7 S6 S1 S3 S11 S2 S5 S2 S4 S9 S1 S5 S7 S6

slide-64
SLIDE 64

Partitioning the Symbols

  • Want one partition to contain exactly all

the valid symbols (distillation property)

– If it is valid, we want it in the right partition – Don’t want anyone to be able to create a symbol that could be placed in the same partition as another symbol they simply saw

  • Challenges

– Need secure set membership computed at the receiver’s end

slide-65
SLIDE 65

One Way Accumulators

One way accumulator Assume set S of symbols {s1, … sn}

Accumulate(S) a (accumulator) Witness(s,S) w Verify(s,w,a) b (true,false) Recover(s,w) a

slide-66
SLIDE 66

One Way Accumulators

  • Must be hard to forge an element of the

set

Must be hard to find s’, w’ where s’ S and Recover(s’,w’) = Accumulate(S)

"

slide-67
SLIDE 67

One Way Accumulator Examples

  • Merkle hash trees [7]
  • Benalod and de Mare quasi-

commutative one way accumulators [1]

  • Camenisch and Lysyanskaya

dynamic accumulators [3]

slide-68
SLIDE 68

Claim: Given a One Way Accumulator, We Can Partition Symbols

s1 s3 s2 s7 s6

Assume D is our set of valid symbols. Accumulate(D) a Witness(s,D) w Verify(s,w,a) b Recover(s,w) a Can’t find s’ D, and w’ where Recover(s’,w’) = Accumulate(D)

"

w7 w1 w6 w2 w3

Run Recover(s,w) on each

s1 s3 s2 s7 s6 w7 w1 w6 w2 w3

a a’ a’’ Receive symbols with appended witnesses

slide-69
SLIDE 69

Claim: Given a One Way Accumulator, We Can Partition Symbols

  • The definition of Recover(s,w) ensures that all “good”

symbols will end up in the same partition.

  • The unforgeability property of the accumulator ensures

that a “bad” symbol cannot be placed in the same partition as the good ones.

  • Therefore, with a one way accumulator, we obtain the

distillation property (by placing each symbol in the partition indexed by its accumulator).

slide-70
SLIDE 70

Merkle Hash Trees – Our One Way Accumulator

slide-71
SLIDE 71

Merkle Hash Trees – Our One Way Accumulator

Merkle hash trees are a valid one way accumulator.

slide-72
SLIDE 72

Finding a Solution to Pollution Attacks…

Putting it all together…

slide-73
SLIDE 73

Distillation Code – Definition

An (n,t) distillation code encodes a message D into a set of n symbols {s1, s2, … sn} and transmits them

  • ver a polluted erasure channel ensuring:
  • Authenticity. It will never give an invalid

reconstruction.

  • Correctness. If given set of symbols T contains at

least n-t (m) valid symbols of D, then an execution of the decoder on T will output a valid reconstruction.

slide-74
SLIDE 74

Distillation Codes - Encoding

D sigK_priv(D)

Sign the message D Break D’ into m symbols

d1 d2 dm . . .

D’ =

d3 d4

Erasure encode the m symbols

s1 s2 sn . . . s3 s4 s5 s6

Append witness information (make single packets)

w1 s1 w2 s2 wn sn . . .

slide-75
SLIDE 75

w2 s4

Distillation Codes - Decoding

Partition the received symbols (packets) Remove witness information Throw away partitions with less than m (say 2)

w1 s1 w2 s2 wn sn s’1 s’2 s’’2 s’’’2 s’’’5 s’’’4 s’’’2 s’’’5 s’’’4 s’1 s’2

slide-76
SLIDE 76

Distillation Codes – Decoding (cont’)

For each remaining partition:

s’1 s’2 s’m . . .

Erasure decode the m symbols

d’m . . . d’3 d’4 D’ sigK_priv(D’)

Verify whether D’ has a valid signature

valid sig? yes no

Use it Discard

s’3 s’4 d’1 d’2

slide-77
SLIDE 77

Distillation Codes

Our construction now satisfies the authenticity and correctness properties. (It is a valid distillation code.)

  • Authenticity. The last step of the decoding is a signature
  • verification. We assume a false signature cannot be
  • generated. (Note that the signature also gives us non-

repudiation here.)

  • Correctness. We know our partitioning scheme satisfies

the distillation property. Therefore, there is one partition that contains exactly the valid symbols. Since we verify each partition, we will verify this one.

slide-78
SLIDE 78

Resistance to Pollution Attacks

Claim – A receiver using distillation codes will compute at most one signature for every m packets, she receives.

slide-79
SLIDE 79

Distillation Codes – Attack Example

s5 s3 s2 s7 s2 w7 w5 w2 w2 w3

a’ a’’ a’’’

s2 w2 s4 w4 s4 w4 s1 w1 s2 w2 s6 w6 s1 w1 s5 s3 s2 s7 s6 s2 s4 s4 s1 s2 s7 s1

a’’’’

s7 w7 s2

slide-80
SLIDE 80

Distillation Codes – Attack Example

s5 s3 s2 s7 s2 w7 w5 w2 w2 w3

a’ a’’ a’’’

s2 w2 s4 w4 s4 w4 s1 w1 s2 w2 s6 w6 s1 w1 s5 s3 s2 s7 s6 s2 s4 s4 s1 s2 s7 s1

a’’’’

s7 w7 s2

Say m = 4

slide-81
SLIDE 81

Distillation Codes – Attack Example

a’ a’’’

s5 s3 s2 s7 s4 s1 s2 s1

Erasure decode

d4’ d3’ d2’ d1’ d4’’’ d3’’’ d2’’’ d1’’’ D’ sig D’’’ sig

Verify signature

bad signature Discard good signature Use

a’’

s4 s7 s6 s2 d7’’ d6’’ d4’’ d2’’ D’’ sig bad signature Discard

slide-82
SLIDE 82

Attack Resilience Snapshot

  • They claimed attack factor of 10 with 4

Mbs stream required at most 13% CPU in the worst case.

  • Assuming a maximum packet delay of 2

seconds, that same stream requires at most 11.87 MB of memory.

slide-83
SLIDE 83

Distillation Codes Summary

  • Pros

– Robust against pollution attacks (with an attack factor

  • f no more than 10)

– Ensures authenticity (with non-repudiation) – Robust to packet loss – Small overhead

  • Cons

– (Loss model dependent) – Delay at both the sender and receiver – Still vulnerable to attacks with more packets

slide-84
SLIDE 84

Conclusion

  • Information assurance through multicast is

challenging

  • Can be done at various costs
  • Still no perfect solution
  • They fit applications well
  • Many tools out there that can be useful in

various situations

slide-85
SLIDE 85

References

[1] J. Benaloh and M. de Mare. One-way accumulators: a decentralized alternative to digital

  • signatures. Advances in Cryptology (EUROCRYPT ’93). LNCS, vol. 765, Springer-Verlag,

pp.274-285. 1993. [2] D. Boneh, G. Durfee, and M. Franklin. Lower bounds for multicast message authentication. In Advancess in Cryptology (EUROCRYPT ’01). B. Pfitzmann Ed. Springer-Verlag, pp. 437-

  • 452. 2001.

[3] J. Camenisch and A. Sysyanskaya. Dynamic accumulators and applications to efficient revocation of anonymous credentials. Advances in Cryptology (CRYPTO ’02). LNCS, vol. 2442, Springer-Verlag, pp. 61-76. 2001. [4] R. Gennaro and P. Rohatgi. How to sign digital streams. In Advances in Cryptology (CRYPTO ’97). B.S. Kaliski Jr., Ed. Springer-Verlag, pp. 180-197. 1997. [5] International Telecommunications Union. Telecommunication Standardization Sector. Recommendation G.114. http://www.itu.int/ITU-T/. [6] C. Karlof, N. Sastry, Y. Li, A. Perrig, and J.D. Tygar. Distillation codes and applications to DoS resistant multicast authentication. Network and Distributed System Security Symposium (NDSS ’03). Internet Society. 2003. [7] R. Merkle. Protocols for public key cryptosystems. In IEEE Symposium on Research in Security and Privacy. pp. 232-246. 1980. [8] S. Miner and J. Staddon. Graph-based authentication of digital streams. In IEEE Symposium on Research in Security and Privacy. pp. 232-246. 2001. [9] A. Pannetrat and R. Molva. Efficient multicast packet authentication. In Network and Distributed System Security Symposium (NDSS ’03). Internet Society. 2003.

slide-86
SLIDE 86

References

[10] J.M. Park, E. Chong, and H.J. Siegel. Efficient multicast packet authentication using erasure codes. ACM Transactions on Information and System Security (TIS-SEC). 6(2):258-

  • 285. 2003.

[11] A. Perrig. The biba one-time signature and broadcast authentication protocol. In Eighth ACM Conference on Computer and Communications Security (CCS-8). pp. 28-37. 2001. [12] A. Perrig, R. Canetti, D. Song, and J.D. Tygar. Efficient and secure source authentication for multicast. In Symposium on Network and Distributed Systems Security (NDSS ’01). Internet Society, pp. 35-46. 2001. [13] A. Perrig, R. Canetti, J.D. Tygar, and D. Song. Efficient authentication and signature of multicast streams over lossy channels. In IEEE Symposium on Research in Security and Privacy, pp. 56-73. 2000. [14] M. Rabin. Efficient dispersal of information for security, load balancing, and fault

  • tolerance. Journal of the ACM, vol. 36, 2, pp. 335-348. 1989.

[15] I. Reed and G. Solomon. Polynomial codes over certain finite fields. Journal of the Society for Industrial and Applied Mathematics. 8(2):300-304, 1960. [16] C. Wong and S. Lam. Digital signatures for flows and multicasts. IEEE/ACM Transactions

  • n Networking (TON). Volume 7, IEEE Press, pp. 502-513. 1999.

[17] M. Yajnik, S. Moon, J. Kurose, and Towsley D. Measurement and modeling of the temporal dependence in packet loss. In IEEE Conference on Computer Communications (INFOCOM ’99). IEEE Press. 1999.