SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
James F. Kurose, Keith W. Ross
Chapter:
Security In Computer Networks
Exercise:
Problems
Question:13 | ISBN:9780132856201 | Edition: 6

Question

In the BitTorrent P2P file distribution protocol (see Chapter 2), the seed breaks the file into blocks, and the peers redistribute the blocks to each other. Without any protection, an attacker can easily wreak havoc in a torrent by masquerading as a benevolent peer and sending bogus blocks to a small sub- set of peers in the torrent. These unsuspecting peers then redistribute the bogus blocks to other peers, which in turn redistribute the bogus blocks to even more peers. Thus, it is critical for BitTorrent to have a mechanism that allows a peer to verify the integrity of a block, so that it doesn’t redistribute bogus blocks. Assume that when a peer joins a torrent, it initially gets a .torrent file from a fully trusted source. Describe a simple scheme that allows peers to verify the integrity of blocks.

TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Answer

Refer the itTorrent P2P file distribution protocol (see Chapter 2) in the text book. Assume that when a peer joins a torrent, it initially gets a .torrent file from a fully trusted source.

The following a simple scheme that allows peers to verify the integrity of blocks:

  1. The MAC(Message Authentication Code) is used to each peer have the secret key‘s’ and compute the hash H (m+s)
  2. Assume a transmitting a block (m) and sent the message (m, h) to another peer. Then, hash h = H (m + s)
  3. If a peer receives a message (m, h), it should compute the hash H (m + s) and compare it with h=H (m+s).
    1. If the two hashes are same, then the peer accepts the blocks.
    2. If the two hashes are not same, then the peer rejects the blocks.
0 0

Discussions

Post the discussion to improve the above solution.