summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc5765.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc5765.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc5765.txt')
-rw-r--r--doc/rfc/rfc5765.txt1571
1 files changed, 1571 insertions, 0 deletions
diff --git a/doc/rfc/rfc5765.txt b/doc/rfc/rfc5765.txt
new file mode 100644
index 0000000..71fe1de
--- /dev/null
+++ b/doc/rfc/rfc5765.txt
@@ -0,0 +1,1571 @@
+
+
+
+
+
+
+Internet Research Task Force (IRTF) H. Schulzrinne
+Request for Comments: 5765 Columbia University
+Category: Informational E. Marocco
+ISSN: 2070-1721 Telecom Italia
+ E. Ivov
+ SIP Communicator
+ February 2010
+
+
+ Security Issues and Solutions in Peer-to-Peer Systems
+ for Realtime Communications
+
+Abstract
+
+ Peer-to-peer (P2P) networks have become popular for certain
+ applications and deployments for a variety of reasons, including
+ fault tolerance, economics, and legal issues. It has therefore
+ become reasonable for resource consuming and typically centralized
+ applications like Voice over IP (VoIP) and, in general, realtime
+ communication to adapt and exploit the benefits of P2P. Such a
+ migration needs to address a new set of P2P-specific security
+ problems. This document describes some of the known issues found in
+ common P2P networks, analyzing the relevance of such issues and the
+ applicability of existing solutions when using P2P architectures for
+ realtime communication. This document is a product of the P2P
+ Research Group.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Research Task Force
+ (IRTF). The IRTF publishes the results of Internet-related research
+ and development activities. These results might not be suitable for
+ deployment. This RFC represents the consensus of the Peer-to-Peer
+ Research Group of the Internet Research Task Force (IRTF). Documents
+ approved for publication by the IRSG are not a candidate for any
+ level of Internet Standard; see Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc5765.
+
+
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 1]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+Copyright Notice
+
+ Copyright (c) 2010 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 2]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+Table of Contents
+
+ 1. Introduction ....................................................4
+ 1.1. Purpose of This Document ...................................6
+ 1.2. Structure of This Document .................................7
+ 2. The Attackers ...................................................8
+ 2.1. Incentive of the Attacker ..................................8
+ 2.2. Resources Available to the Attacker ........................9
+ 2.3. Victim of the Attack ......................................10
+ 2.4. Time of Attack ............................................10
+ 3. Admission Control ..............................................10
+ 4. Determining the Position in the Overlay ........................11
+ 5. Resilience against Malicious Peers .............................12
+ 5.1. Identification of Malicious Peers .........................13
+ 5.1.1. Proactive Identification ...........................13
+ 5.1.2. Reactive Identification ............................13
+ 5.2. Reputation Management Systems .............................14
+ 5.2.1. Unstructured Reputation Management .................14
+ 5.2.2. Structured Reputation Management ...................14
+ 6. Routing and Data Integrity .....................................15
+ 6.1. Data Integrity ............................................15
+ 6.2. Routing Integrity .........................................15
+ 7. Peer-to-Peer in Realtime Communication .........................16
+ 7.1. Peer Promotion ............................................17
+ 7.1.1. Active vs. Passive Upgrades ........................17
+ 7.1.2. When to Upgrade ....................................18
+ 7.1.3. Which Clients to Upgrade ...........................18
+ 7.1.4. Incentives for Clients .............................19
+ 7.2. Security ..................................................19
+ 7.2.1. Targeted Denial of Service .........................19
+ 7.2.2. Man-in-the-Middle Attack ...........................20
+ 7.2.3. Trust between Peers ................................20
+ 7.2.4. Routing Call Signaling .............................20
+ 7.2.5. Integrity of Location Bindings .....................21
+ 7.2.6. Encrypting Content .................................21
+ 7.2.7. Other Issues .......................................22
+ 8. Open Issues ....................................................22
+ 9. Security Considerations ........................................23
+ 10. Acknowledgments ...............................................23
+ 11. Informative References ........................................23
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 3]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+1. Introduction
+
+ Peer-to-peer (P2P) overlays have become quite popular with the advent
+ of file-sharing applications such as Napster [NAPSTER], KaZaa
+ [KAZAA], and BitTorrent [BITTORRENT]. After their success in file-
+ sharing and content distribution [Androutsellis-Theotokis], P2P
+ networks are now also being used for applications such as Voice over
+ IP (VoIP) [SKYPE] [Singh] and television [PPLIVE] [COOLSTREAM].
+ However, most of these systems are not purely P2P and have
+ centralized components like the login server in Skype [Baset] or
+ moderators and trackers in BitTorrent [Pouwelse]. Securing pure P2P
+ networks is therefore still a field of very active research
+ [Wallach].
+
+ P2P overlays can be broadly classified as structured and unstructured
+ [RFC4981], depending on their routing model. Unstructured overlays
+ are often relatively simple, but search operations in them, usually
+ based on flooding, tend to be inefficient. Structured P2P overlays
+ use distributed hash tables (DHTs) [Stoica] [Maymounkov] [Rowstron]
+ to perform directed searches, which make lookups more efficient in
+ locating data. This document will mostly focus on DHT-based P2P
+ overlays.
+
+ When analyzing the various attacks that are possible on P2P systems,
+ it is important to first understand the motivation of the attackers
+ as well as the resources (e.g., computation power, access to
+ different IP subnets) that they would have at their disposal.
+
+ Once the threat has been identified, admission control is a first
+ step towards security that can help avoid a substantial number of
+ attacks [Kim]. Most solutions rely on the assumption that malicious
+ nodes represent a small fraction of all peers. It is therefore
+ important to restrict their number in the overlay.
+
+ Other P2P-specific security problems discussed here include attacks
+ on the routing of queries, targeted denial-of-service attacks, and
+ attacks on data integrity.
+
+ In the remainder of this document, we outline the main security
+ issues and proposed solutions for P2P systems. Following this, we
+ focus on a particular class of P2P applications that provide realtime
+ communications. Realtime communications use the same DHTs used by
+ file-sharing applications; however, the data that is saved in these
+ DHTs is different. In realtime communications, the contents stored
+ in the DHTs comprises user location, the DHT being the substitute for
+ a centralized registration server.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 4]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ At first glance, it may appear that requirements on peer-to-peer
+ systems for realtime communication services are no different than
+ those for file-sharing services. Table 1 demonstrates that there are
+ sizeable differences related to privacy, availability, and a marked
+ increase in the general security requirements.
+
+ +-----------------+-----------------------+-------------------------+
+ | | File-sharing | Realtime communication |
+ +-----------------+-----------------------+-------------------------+
+ | Distributed | Shared file locations | User locations are |
+ | database | are indexed in a | indexed in a table |
+ | | table distributed | distributed among |
+ | | among peers; often | peers; rarely more than |
+ | | hundreds or thousands | one per peer. |
+ | | per peer. | |
+ | Availability | Same files are | Users are unique; |
+ | | usually available at | attacks targeting |
+ | | multiple locations | single users may be |
+ | | and failures | addressed both to the |
+ | | involving single | distributed index and |
+ | | instances are | to the user's device |
+ | | overcome by abundancy | directly. |
+ | | of resources; attacks | |
+ | | targeting single | |
+ | | files need to be | |
+ | | addressed to the | |
+ | | distributed index. | |
+ | Integrity | Attackers may want to | Attackers may want to |
+ | | share corrupted files | impersonate different |
+ | | in place of popular | users in order to |
+ | | content, e.g., to | handle calls directed |
+ | | discourage users from | to them; constitute a |
+ | | acquiring copyrighted | particular threat for |
+ | | material; constitute | the user as, in case of |
+ | | a threat for the | success, the attacker |
+ | | service, but not for | acquires full control |
+ | | the users. | on the victim's |
+ | | | personal |
+ | | | communications. |
+ | Confidentiality | Shared files are, by | Communications are |
+ | | definition, readable | usually meant to be |
+ | | by all users; in some | private and need to be |
+ | | cases, encryption is | encrypted; |
+ | | used to avoid | eavesdropping may |
+ | | elements not involved | reveal sensitive data |
+ | | in the service to | and is a serious threat |
+ | | detect traffic. | for users. |
+
+
+
+
+Schulzrinne, et al. Informational [Page 5]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ | Bitrate and | The file-transfer use | Realtime traffic almost |
+ | latency | case is particularly | always requires a |
+ | | tolerant to unstable | constant minimum |
+ | | bitrates and ability | bitrate and low latency |
+ | | to burst on and off | in order to avoid |
+ | | as peers disappear or | problems like jitter. |
+ | | new ones become | While this is not |
+ | | available. | directly related to a |
+ | | | specific sort of |
+ | | | attacks, it is a |
+ | | | significant constraint |
+ | | | to the design of |
+ | | | certain design |
+ | | | solutions, and in |
+ | | | particular those that |
+ | | | somehow affect routing. |
+ | Peer lifetime | File-sharing users do | Realtime communication |
+ | | not need to stay in | applications need not |
+ | | the overlay more than | leave the overlay for |
+ | | the time required for | as long as the user |
+ | | downloading the | wants to stay connected |
+ | | content they are | and be reachable. This |
+ | | looking for. | gives the attackers |
+ | | | longer time for |
+ | | | conducting successful |
+ | | | targeted attacks. |
+ +-----------------+-----------------------+-------------------------+
+
+ Table 1: Main differences between P2P applications used for
+ file-sharing and for realtime communication.
+
+1.1. Purpose of This Document
+
+ The goal of this document is to provide authors of P2P protocols for
+ realtime communications with background that they may find useful
+ while designing security mechanisms for specific cases. The document
+ has been extensively discussed during face-to-face meetings and on
+ the P2PRG mailing list; it has been reviewed both substantially and
+ editorially by two members of the research group and reflects the
+ consensus of the group.
+
+ The content of this document was partially derived from the article
+ "Peer-to-peer Overlays for Real-Time Communication: Security Issues
+ and Solutions," published in IEEE Surveys & Tutorials, Vol. 11, No.
+ 1, and originally authored by Dhruv Chopra, Henning Schulzrinne,
+ Enrico Marocco, and Emil Ivov.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 6]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ It is important to note that this document considers "security" from
+ the perspective of application developers and protocol architects.
+ It is hence entirely agnostic to potential legislation issues that
+ may apply when protecting applications against a specific attack, as,
+ for example, in the case of lawful interception.
+
+1.2. Structure of This Document
+
+ The document is organized as follows. In Section 2, we discuss P2P
+ security attackers. We try to elaborate on their motivation, the
+ resources that would generally be available to them, their victims,
+ and the timing of their attacks. In Section 3, we discuss admission
+ control problems. In Section 4, we identify the problem of where a
+ node joins in the overlay. In Section 5, we describe problems
+ related to identification of malicious nodes and the dissemination of
+ this information. In Section 6, we describe the issues of routing
+ and data integrity in P2P networks. Finally, in Section 7 we discuss
+ how issues and solutions previously presented apply in P2P overlays
+ for realtime communication.
+
+ Table 2 and Table 3 provide an index of the attacks and the solutions
+ discussed in the rest of this document.
+
+ +---------------------------------------+---------------------------+
+ | Attack name | Referring sections |
+ +---------------------------------------+---------------------------+
+ | botnets (use of) | Section 2.1, Section 2.2 |
+ | denial of service (DoS) | Section 2.1, |
+ | | Section 7.2.1 |
+ | man in the middle (MITM) | Section 7.2.2 |
+ | poisoning | Section 6.1, |
+ | | Section 7.2.2 |
+ | pollution | Section 2.1, Section 6.1 |
+ | sybil | Section 2.2, Section 4 |
+ | targeted denial of service | Section 7.2.1 |
+ +---------------------------------------+---------------------------+
+
+ Table 2: Index of some of the more popular attacks and problems
+ discussed in this document.
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 7]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ +---------------------------------------+---------------------------+
+ | Solution name | Referring sections |
+ +---------------------------------------+---------------------------+
+ | admission control | Section 3 |
+ | anonymity | Section 5.2 |
+ | asymmetric key pair | Section 7.2.5 |
+ | CAPTCHA | Section 3 |
+ | certificates | Section 7.2.3 |
+ | CONNECT (SIP method) | Section 7.2.4 |
+ | cryptographic puzzles | Section 4 |
+ | diametrically opposite IDs | Section 4 |
+ | end-to-end encryption | Section 7.2.4 |
+ | group authority | Section 3 |
+ | group charter | Section 3 |
+ | iterative routing | Section 7.2.2 |
+ | no profit for newcomers | Section 5.2 |
+ | online phone book | Section 7.2.5 |
+ | passive upgrades | Section 7.1.1 |
+ | peer promotion | Section 7.1 |
+ | proactive identification | Section 5.1.1 |
+ | reactive identification | Section 5.1.2 |
+ | recommendation | Section 3 |
+ | reputation management systems | Section 5.2 |
+ | self-policing | Section 5.2 |
+ | signatures | Section 3 |
+ | social networks (using) | Section 4, Section 6.2, |
+ | SRTP | Section 7.2.6 |
+ | structured reputation management | Section 5.2.2 |
+ | SybilGuard (protocol) | Section 4 |
+ | transitivity of trust | Section 5.2.2 |
+ | trust and distrust vectors | Section 5.2.1 |
+ | trust and trusted nodes | Section 3, Section 6.2, |
+ | | Section 7.2.3 |
+ | unstructured reputation management | Section 5.2.1 |
+ | voluntary moderators | Section 6.1 |
+ +---------------------------------------+---------------------------+
+
+ Table 3: Index of some of the more popular solutions discussed in
+ this document.
+
+2. The Attackers
+
+2.1. Incentive of the Attacker
+
+ Attacks on networks happen for a variety of reasons such as monetary
+ gain, personal enmity, or even for fame in the hacker community.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 8]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ There are quite a few well-known cases of denial-of-service attacks
+ for extortion in the client-server model [McCue]. One of the salient
+ points of the P2P model is that the services it provides have higher
+ robustness against failure. However, denial-of-service attacks are
+ still possible against individuals within the overlay if the
+ attackers possess sufficient resources. For instance, a network of
+ worm-infected malicious nodes spread across the Internet and
+ controlled by an attacker (often referred to as botnet) could
+ simultaneously bombard lookup queries for a particular key in the
+ DHT. The peer responsible for this key would then come under a lot
+ of load and could crash [Sit]. However, with replication of key-
+ value pairs at multiple locations, such threats can be mitigated.
+
+ Attackers may also have other incentives indirectly related to money.
+ With the growth of illegal usage of sharing files with copyrights,
+ record companies have been known to pollute content in the overlays
+ by putting up nodes with corrupt chunks of data but with correct file
+ names to degrade the service [Liang] and in hope that users would get
+ frustrated and stop using it. Similarly, competition between
+ different communication service providers, either or both based on
+ P2P technologies, and the low level of traceability of attacks
+ targeted to single users could be considered as motivation for
+ attempting service disruption.
+
+ Attacks can also be launched by novice attackers who are attacking
+ the overlay for fun or fame in a community. These are perhaps less
+ likely to be successful or cause damage, since their resources tend
+ to be relatively limited.
+
+2.2. Resources Available to the Attacker
+
+ Resource constraints play an important role in determining the nature
+ of the attack. An attacker who controls a botnet can use an Internet
+ relay channel and launch distributed denial-of-service attacks
+ against another node. With respect to attacks where a single node
+ impersonates multiple identities, as in the case of the Sybil attack
+ [Douceur] described in Section 4, IP addresses are also an important
+ resource for the attacker since in DHTs such as Chord [Stoica], the
+ position in the overlay is determined by using a base hash function
+ such as SHA-1 [SHA1] on the node's IP address. The cryptographic
+ puzzles [Rowaihy] that are sometimes suggested as a way to deter
+ Sybil attacks by making the join process harder are futile against an
+ attacker with a botnet and virtually unlimited computation power.
+ Douceur [Douceur] proves that even with the assumption that attackers
+ only have minimum resources at their disposal, it is not possible to
+ defend against them in a pure P2P system.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 9]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+2.3. Victim of the Attack
+
+ The victim of an attack could be an individual node, a particular
+ content entry, or the entire overlay service. If malicious nodes are
+ strategically placed in the overlay, they can block a node from using
+ its services. Attacks could also be launched against specific
+ content [Sit] or even the entire overlay service. For example, if
+ the malicious nodes are randomly placed in the overlay and drop
+ packets or upload malicious content, then the quality of the overlay
+ would deteriorate.
+
+2.4. Time of Attack
+
+ A malicious node could start misbehaving as soon as it enters the
+ overlay or it could follow the rules of the overlay for a finite
+ amount of time and then attack. The latter could prove to be more
+ harmful if the overlay design suggests accumulating trust in peers
+ based on the amount of time they have been present and/or not
+ misbehaving. In Kademlia [Maymounkov], for instance, the routing
+ tables are populated with nodes that have been up for a certain
+ amount of time. While this provides some robustness from attacks in
+ which the malicious nodes start dropping routing requests from the
+ moment they enter, it would take time for the algorithm to adapt to
+ nodes that start misbehaving in a later stage (i.e., after they have
+ been recorded in routing tables). Similarly for reputation
+ management systems, it is important that they adapt to the current
+ behavior of a peer.
+
+3. Admission Control
+
+ Admission control depends on who decides whether or not to admit a
+ node and how this permission is granted. Kim et al. [Kim] answer
+ these questions independently of any particular environment or
+ application. They define two basic elements for admission in a peer
+ group, a group charter, which is an electronic document that
+ specifies the procedure of admission into the overlay, and a group
+ authority, which is an entity that can certify group admission. A
+ prospective member first gets a copy of the group charter, satisfies
+ the requirements, and approaches the group authority. The group
+ authority then verifies the admission request and grants a group
+ membership certificate.
+
+ The group charter and authority verification can be provided by a
+ centralized certificate authority or a trusted third party, or it
+ could be provided by the peers themselves (by voting). The former is
+ more practical and tends to make the certification process simpler
+ although it is in violation of the pure P2P model and exposes the
+ system to attacks typical for server-based solutions (e.g., denial-
+
+
+
+Schulzrinne, et al. Informational [Page 10]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ of-service attacks targeted to the central authority). In the latter
+ case, the group authority could either be a fixed number of peers or
+ it could be a dynamic number based on the total membership of the
+ group. The authors argue that even if the group charter requires a
+ prospective member to get votes from peers, the group membership
+ certificate must be issued by a distinct entity. The reason for this
+ is that voters need to accompany their votes with a certificate that
+ proves their own membership. Possible signature schemes that could
+ be used in voting such as plain digital signature, threshold
+ signature, and accountable subgroup multisignature are also
+ described. Saxena et al. [Saxena] performed experiments with the
+ different signature schemes and suggest the use of plain signatures
+ for groups of moderate size and where bandwidth is not a concern.
+ For larger groups and where bandwidth is a concern, they suggest
+ threshold signature [Kong] and multisignature schemes [Ohta].
+
+ Another way of handling admission would be to use mechanisms based on
+ trust and recommendation where each new applicant has to be known and
+ vouched for by at least N existing members. The difficulties that
+ such models represent include identity assertion and preventing bot/
+ worm attacks. A compromised node could have a valid certificate
+ identifying a trustworthy peer, and it would be difficult to detect
+ this. Possible solutions include sending graphic or logic puzzles
+ easily addressed by humans but hard to solve by computers, also known
+ as CAPTCHA [Ahn]; however, reliability of such mechanisms is at the
+ time of writing a topic of lively debate [Tam] [Chellapilla].
+
+4. Determining the Position in the Overlay
+
+ For ring-based DHT overlays such as Chord [Stoica], Kademlia
+ [Maymounkov], and Pastry [Rowstron], when a node joins the overlay,
+ it uses a numeric identifier (ID) to determine its position in the
+ ring. The positioning of a node determines what information it
+ stores and which nodes it serves. To provide a degree of robustness,
+ content and services are often replicated across multiple nodes.
+ However, it is possible for an adversary with sufficient resources to
+ undermine the redundancy deployed in the overlay by representing
+ multiple identities. Such an attack is called a Sybil attack
+ [Douceur]. This makes the assignment of IDs very important. One
+ possible scheme to tackle such attacks on the ID mapping is to have a
+ temporal mechanism in which nodes need to re-join the network after
+ some time [Condie] [Scheideler]. Such temporal solutions, however,
+ have the drawback that they increase the maintenance traffic and
+ possibly deteriorate the efficiency of caching. Danezis et al.
+ [Danezis] suggest mechanisms to mitigate the effect of Sybil attacks
+ by reducing the amount of information received from malicious nodes.
+ Their idea is to vary the nodes used for routing with time. This
+ helps avoiding trust bottlenecks that may occur when applications
+
+
+
+Schulzrinne, et al. Informational [Page 11]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ only route traffic through a limited set of highly trusted nodes.
+ Other solutions suggest making the joining process harder by
+ introducing cryptographic puzzles as suggested by Rowaihy et al.
+ [Rowaihy]. The assumption is that the adversary has limited
+ computational resources, which may not be true if the adversary has
+ control over a botnet. Another drawback of such methods is that non-
+ malicious nodes would also have to perform the extra computations
+ before they can join the overlay.
+
+ A possible heuristic to hamper Sybil attacks is to employ redundancy
+ at nodes with diametrically opposite IDs (in the DHT ID space)
+ instead of successive IDs as in Chord. The idea behind choosing
+ diametrically opposite nodes is based on the fact that a malicious
+ peer can grant admission to others as its successor without them
+ actually possessing the required IP address (whose hash is adjacent
+ to the former's), and then they can cooperate to control access to
+ that part of the ring. If, however, admission decisions and
+ redundant content (for robustness) also involve nodes that are the
+ farthest away (diametrically opposite) from a given position, then
+ the adversary would require double resources (IP addresses) to
+ attack. This happens because the adversary would need presence in
+ the overlay at two independent positions in the ring.
+
+ Another approach proposed by Yu et al. [Yu] to limit Sybil attacks
+ is based on the usage of the social relations between users. The
+ solution exploits the fact that as a result of Sybil attacks,
+ affected P2P overlays end up containing a large set of Sybil nodes
+ connected to the rest of the peers through an irregularly small
+ number of edges. The SybilGuard protocol [Yu] defines a method that
+ allows to discover such kinds of discontinuities in the topology by
+ using a special kind of a verifiable random walk and hence without
+ the need of one node having a global vision of the graph.
+
+ It is also worth mentioning that in DHT overlays using different
+ geometric concepts (e.g., hypercubes instead of rings), peer
+ positions are usually not related to identifiers. In the content
+ addressable network (CAN) [Ratnasamy], for example, the position of
+ an entering node may be either selected by the node itself or, with
+ little modification to the original algorithm, assigned by peers
+ already in the overlay. However, even when malicious nodes do not
+ know their position before joining, the overlay is still vulnerable
+ to Sybil attacks.
+
+5. Resilience against Malicious Peers
+
+ Making overlays robust against even a small percentage of malicious
+ nodes is difficult [Castro]. It is therefore important for other
+ peers to identify such nodes and keep track of their number. There
+
+
+
+Schulzrinne, et al. Informational [Page 12]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ are two aspects to this problem. One is the identification itself,
+ and the second is the dissemination of this information amongst the
+ peers. Different metrics need to be defined depending on the peer
+ group for the former, and reputation management systems are needed
+ for the latter.
+
+5.1. Identification of Malicious Peers
+
+ For identifying a node as malicious, malicious activity has to be
+ observed first. This could be done in either a proactive way or a
+ reactive way.
+
+5.1.1. Proactive Identification
+
+ When acting proactively, peers perform periodic operations with the
+ purpose of detecting malicious activity. A malicious node could
+ prevent access to content for which it is responsible (e.g., by
+ claiming the object doesn't exist), or return references to content
+ that does not match the original queries [Sit]. With this approach,
+ publishers of content can later perform lookups for it at periodic
+ intervals and verify the integrity of whatever is returned. Any
+ inconsistencies could then be interpreted as malicious activity. The
+ problem with proactive identification is the management of the
+ overhead it implies: if checks are performed too often, they may
+ actually hinder scalability, while, if they are performed too rarely,
+ they would probably be useless.
+
+ An additional approach for mitigating routing attacks and identifying
+ malicious peers consists in sending multiple copies of the same
+ message on different paths. With such an approach, implemented, for
+ example, in Kademlia [Maymounkov], the sending peer can identify
+ anomalies comparing responses coming in from different paths.
+
+5.1.2. Reactive Identification
+
+ In a reactive strategy, the peers perform normal operations and if
+ they happen to detect some malicious activity, then they can label
+ the responsible node as malicious and avoid sending any further
+ message to it. In a file-sharing application, for example, after
+ downloading content from a node, if the peer observes that data does
+ not match its original query it can identify the corresponding node
+ as malicious. Poon et al. [Poon] suggest a strategy based on the
+ forwarding of queries. If routing is done in an iterative way, then
+ dropping of packets, forwarding to an incorrect node, and delay in
+ forwarding arouse suspicion and the corresponding peer is identified
+ as malicious.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 13]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+5.2. Reputation Management Systems
+
+ Reputation management systems are used to allow peers to share
+ information about other peers based on their own experience and thus
+ help in making better judgments. Most reputation management systems
+ proposed in the literature for file-sharing applications [Uzun]
+ [Damiani] [Lee] [Kamvar] aim at preventing misbehaving peers with low
+ reputation to rejoin the network with a different ID and therefore
+ start from a clean slate. To achieve this, Lee et al. [Lee] store
+ not only the reputation of a peer but also the reputation of files
+ based on file name and content to avoid spreading of a bad file.
+ Another method is to make the reputation of a new peer the minimum
+ possible. Kamvar et al. [Kamvar] define five design considerations
+ for reputation management systems:
+
+ o The system should be self-policing.
+
+ o The system should maintain anonymity.
+
+ o The system should not assign any profit to newcomers.
+
+ o The system should have minimal overhead in terms of computation,
+ infrastructure, storage, and message complexity.
+
+ o The system should be robust to malicious collectives of peers who
+ know one another and attempt to collectively subvert the system.
+
+5.2.1. Unstructured Reputation Management
+
+ Unstructured reputation management systems have been proposed by Uzun
+ et al. [Uzun] and Damiani et al. [Damiani]. The basic idea of
+ these is that each peer maintains information about its own
+ experience with other peers and resources, and shares it with others
+ on demand. In the system proposed by Uzun et al. [Uzun], each node
+ maintains trust and distrust vectors for every other node with which
+ it has interacted. When reputation information about a peer is
+ required, a node first checks its local database, and if insufficient
+ information is present, it sends a query to its neighbors just as it
+ would when looking up content. However, such an approach requires
+ peers to get reputation information from as many sources as possible;
+ otherwise, malicious nodes may successfully place targeted attacks
+ returning false values for their victims.
+
+5.2.2. Structured Reputation Management
+
+ One of the problems with unstructured reputation management systems
+ is that they either take the feedback from few peers or, if they do
+ so from all, then they incur large traffic overhead. Systems such as
+
+
+
+Schulzrinne, et al. Informational [Page 14]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ those proposed by [Lee] [Kamvar] try to resolve it in a structured
+ manner. The idea of the eigen trust algorithm [Kamvar], for example,
+ is transitivity of trust. If a node trusts peer X, then it would
+ also trust the feedback it gives about other peers. A node builds
+ such information in an iterative way; for maintaining it in a
+ structured way, the authors propose to use a content addressable
+ network (CAN) DHT [Ratnasamy]. The information about each peer is
+ stored and replicated on different peers to provide robustness
+ against malicious nodes. They also suggest favoring peers
+ probabilistically with high trust values instead of doing it
+ deterministically, to allow new peers to slowly develop a reputation.
+ Eventually, they suggest the use of incentives for peers with high
+ reputation values.
+
+6. Routing and Data Integrity
+
+ Preserving integrity of routing and data, or, in other words,
+ preventing peers from returning corrupt responses to queries and
+ routing through malicious peers, is an important security issue in
+ P2P networks. The data stored on a P2P overlay depends on the
+ applications that are using it. For file-sharing, this data would be
+ the files themselves, their location, and owner information. For
+ realtime communication, this would include user location bindings and
+ other routing information. We describe such data integrity issues in
+ Section 7.
+
+6.1. Data Integrity
+
+ For file-sharing applications, insertion of wrong content (e.g.,
+ files not matching their names or descriptions) and introduction of
+ corrupt data chunks (often referred to as poisoning and pollution)
+ are a significant problem. BitTorrent uses voluntary moderators to
+ weed out bogus files and the SHA-1 algorithm to determine the hash of
+ each piece of a file to allow verification of integrity. If a peer
+ detects a bad chunk, it can download that chunk from another peer.
+ With this strategy, different peers download different pieces of a
+ file before the original peer disappears from the network. However,
+ if a malicious peer modifies the pieces that are only available on it
+ and the original peer disappears, then the object distribution will
+ fail [Zhang]. An analysis of BitTorrent in terms of integrity and
+ performance can be found in the work of Pouwelse et al. [Pouwelse].
+
+6.2. Routing Integrity
+
+ To enhance the integrity of routing, it is important to reduce the
+ number of queries forwarded to malicious nodes. Marti et al.
+ [Marti] developed a system that uses social network information to
+ route queries over trusted nodes. Their algorithm uses trusted nodes
+
+
+
+Schulzrinne, et al. Informational [Page 15]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ to forward queries (if one exists and is closer to the required ID in
+ the ID space). Otherwise, they use the regular Chord [Stoica]
+ routing table to forward queries. While their results indicate good
+ average performance, it cannot guarantee log(N) hops for all cases.
+ Danezis et al. [Danezis] suggest a method for routing in the
+ presence of a large number of Sybil nodes. Their method is to ensure
+ that a peer queries a diverse set of nodes and does not place too
+ much trust in a node. Both the above works have been described based
+ on Chord. However, unlike Chord, in DHTs like Pastry [Rowstron] and
+ Kademlia [Maymounkov] there is flexibility in selecting nodes for any
+ row in a peer's routing table. Potentially many nodes have a common
+ ID prefix of a given length and are candidates for routing a given
+ query. To exploit the social network information and still guarantee
+ log(N) hops, a peer should select its friends to route a query, but
+ only when they are present in the appropriate row selected by the DHT
+ algorithm.
+
+7. Peer-to-Peer in Realtime Communication
+
+ The idea of using P2P in realtime communication essentially implies
+ distributing centralized entities from conventional architectures
+ over P2P overlays and thus reducing the costs of deployment and
+ increasing reliability of the different services. Initiatives such
+ as the P2PSIP working group in IETF [P2PSIP] are currently
+ concentrating on achieving this by using a DHT for services such as
+ registration, location lookup, and support for NAT traversal, which
+ are normally handled by dedicated servers.
+
+ Even if based on the same technology, overlays used for realtime
+ communication differ from those used for file-sharing in at least two
+ aspects:
+
+ o Resource consumption. Contrary to file-sharing systems where the
+ DHT is used to store huge amounts of data (even if the distributed
+ database is used only for storing file locations, each user
+ usually indexes hundreds or thousands of files), realtime
+ communication overlays only require a subset of the resources
+ available at any given time as users only register a limited
+ number of locations (rarely more than one).
+
+ o Confidentiality. In file-sharing applications, eavesdropping and
+ identity theft do not constitute real threats; after all, files
+ are supposed to be made publicly available. This is not true in
+ realtime communications, where the privacy and confidentiality of
+ the participants are of paramount importance. Furthermore, the
+ notion of identity plays an important role in realtime
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 16]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ communications since it is the basis for starting a communication
+ session. As such, it is essential to have mechanisms to
+ unequivocally assert identities in realtime communication systems.
+
+ In this section we go over the admission issues and security problems
+ discussed in previous sections, and discuss solutions that would be
+ applicable to realtime communication in P2P.
+
+7.1. Peer Promotion
+
+ In order to remain compatible with existing user agents, P2P
+ communication architectures would have to allow certain nodes to use
+ their services without actually using overlay-specific semantics.
+ One way to achieve this would be for overlay-agnostic nodes to
+ register with an existing peer or a dedicated proxy via a standard
+ protocol like SIP [RFC3261]. Through the rest of this document, we
+ will refer to nodes that access the service without actually joining
+ the overlay as "clients".
+
+ In most cases, users would be able to benefit from the overlay by
+ only acting as clients. However, in order to keep the solution
+ scalable, at some point clients would have to be promoted to peers
+ (admission to the DHT). This requires addressing the following
+ issues.
+
+7.1.1. Active vs. Passive Upgrades
+
+ Most existing P2P networks [KAZAA] [BITTORRENT] [PPLIVE] would
+ generally leave it to the clients to determine if and when they would
+ apply for becoming peers. A well-known exception to this trend is
+ the Skype network [SKYPE], arguably one of the most popular overlay
+ networks used for realtime communications today. Instances of the
+ Skype application are supposed to operate as either super-nodes,
+ directly contributing to the distributed provision of the service, or
+ ordinary-nodes, simply using the service, and the "promotions" are
+ decided by the higher levels of the hierarchy [Baset]. Even if there
+ is not much difference for a client whether it has to actively ask
+ for authorization to join an overlay or passively wait for an
+ invitation, the latter approach has some advantages that fit well in
+ overlays where only a subset of the peers is required to provide the
+ service (as in realtime communication):
+
+ o An attacker cannot estimate in advance when and if it would be
+ invited to join the overlay as a peer.
+
+ o It allows peers to perform long-lasting measurements on sets of
+ candidates, in order to accurately select the most appropriate for
+ upgrading and only invite it when they are "ready" to do so. The
+
+
+
+Schulzrinne, et al. Informational [Page 17]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ opposite approach, that is, when clients initiate the join
+ themselves, adds an extra constraint for the peer that has to act
+ upon the request since it doesn't know if and when the peer would
+ attempt to join again.
+
+ o It discourages malicious peers from attempting Sybil and, more
+ generally, brute force attacks, as only a small ratio of clients
+ has chances to join the overlay (possibly after an accurate
+ examination).
+
+7.1.2. When to Upgrade
+
+ In order to answer this question, one would have to define some
+ criteria that would allow determination of the load on a peer and a
+ reasonable threshold. When the load exceeds this threshold, a client
+ is invited to become a peer and share the load. Several mechanisms
+ to diagnose the status of P2P systems have recently been proposed
+ [P2PSIP-DIAG]; in general, reasonable criteria for determining load
+ can be:
+
+ o Number of clients attached.
+
+ o Bandwidth usage for DHT maintenance, forwarding requests, and
+ responses to and from peers and from the attached clients.
+
+ o Memory usage for DHT routing table, DHT neighborhood table,
+ application-specific data, and information about the attached
+ clients.
+
+7.1.3. Which Clients to Upgrade
+
+ Selecting which clients to upgrade would require defining and keeping
+ track of new metrics. The exact set of metrics and how they
+ influence decisions should be the subject of serious analysis and
+ experimentation. These could be based on the following observations:
+
+ o Uptime. A peer could easily record the amount of time that it has
+ been maintaining a connection with a client and take it into
+ account when trying to determine whether or not to upgrade it.
+
+ o Level of activity. It is reasonable to assume that the more a
+ client uses the service (e.g., making phone calls), the less they
+ would be willing to degrade it.
+
+ o Keeping track of history. Peers could record history of the
+ clients they invite and the way they contribute to the overlay.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 18]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ Other metrics such as public vs. private IP addresses, computation
+ power, and bandwidth should also be taken into account even though
+ they do not necessarily have a direct impact on security.
+
+ Note however that a set of colluded malicious peers can manufacture
+ basically any criteria considered for the upgrade. Furthermore,
+ sophisticated peers can overload the system or run denial-of-service
+ attacks against existing super-nodes in order to improve their
+ chances of being upgraded.
+
+7.1.4. Incentives for Clients
+
+ Clients need to have incentives for accepting upgrades in order to
+ prevent excessive burden on existing peers. One way to handle this
+ would be to maintain separate incentive management through the use of
+ currency or credits. Another option would involve embedding these
+ incentives inside the protocol itself:
+
+ o Peers share with clients only a fraction of their bandwidth
+ (uplink and downlink). This would result in higher latency when
+ using the services of the overlay as a client and better service
+ quality for peers.
+
+ o Peers could restrict the number or types of calls that they allow
+ clients to make.
+
+ Introducing such incentives, however, may turn out to be somewhat
+ risky. Differences in quality would probably be perceptible for end
+ users who would not always be able to understand the difference
+ between the roles that their user agent is playing in the overlay.
+ Such behavior may therefore be interpreted as arbitrary and make the
+ service look unreliable.
+
+7.2. Security
+
+7.2.1. Targeted Denial of Service
+
+ In addition to bombardment with queries as described in Section 2,
+ the denial-of-service attack against an individual node can be
+ conducted in DHTs if the peers that surround a particular ID are
+ compromised. These peers that act as proxy servers for the victim
+ can fake the responses from the victim by sending fictitious error
+ messages back to peers trying to establish a session. Danezis et
+ al.'s solution [Danezis] can also provide protection against such
+ attacks, as in their solution peers vary the nodes used in queries.
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 19]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+7.2.2. Man-in-the-Middle Attack
+
+ The man-in-the-middle attack is well described by Seedorf [Seedorf1]
+ in the particular case of P2PSIP [P2PSIP] and consists of an attack
+ that exploits the lack of integrity when routing information. A
+ malicious node could return IP addresses of other malicious nodes
+ when queried for a particular ID. The requesting peer would then
+ establish a session with a second malicious node, which would again
+ return a "poisoned" reply. This could go on until the Time to Live
+ (TTL) expires and the requester gives up the "wild goose chase"
+ [Danezis]. A simple way for entities to verify the correctness of
+ the routing lookup is to employ iterative routing and to check the
+ node-ID of every routing hop that is returned, and it should get
+ closer to the desired ID with every hop. However, this is not a
+ strong check and can be defeated [Seedorf1].
+
+7.2.3. Trust between Peers
+
+ The effect of malicious peers could be mitigated by introducing the
+ concept of trust within an overlay. This can be done in different
+ ways:
+
+ o Using certificates assigned by an external authority. The
+ drawback with this approach is that it requires a centralized
+ element.
+
+ o Using certificates reciprocally signed by peers. This mechanism
+ is quite similar to PGP [Zimmermann]; every peer signs
+ certificates of "friend" peers and trusts any other peer with a
+ certificate signed by one of its friends. However, even though it
+ might be theoretically possible, in reality it is extremely
+ difficult to obtain long enough trust chains.
+
+7.2.4. Routing Call Signaling
+
+ One way for implementing realtime communication overlays (as we have
+ mentioned in earlier sections) would be to simply replace centralized
+ entities in signaling protocols like SIP [RFC3261] with distributed
+ services. In some cases, this might imply reusing existing protocol
+ mechanisms for routing signaling messages. In the case of SIP, this
+ would imply regarding peers as SIP proxies. However, the design of
+ SIP supposes that such proxies are trusted, and makes it possible for
+ them to fork requests or change their destination, add or remove
+ header fields, act as the remote party, and generally manipulate
+ message content and semantics.
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 20]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ However, in a P2P environment where messages may be routed through
+ numerous successive peers, some of which might be compromised, it is
+ important not to treat them as trusted proxies. One way to limit
+ what peers can do is by protecting signaling with some kind of end-
+ to-end encryption.
+
+ Another option would be to extend existing signaling protocols and
+ modify the way they route messages in order to guarantee secure end-
+ to-end transmission. Gurbani et al. [Gurbani] define a similar
+ mechanism for SIP that allows nodes to establish a secure channel by
+ sending a CONNECT SIP request, and then tunnel all SIP messages
+ through it, adopting a similar mechanism to the one used for
+ upgrading from HTTP to HTTPS [RFC2818].
+
+7.2.5. Integrity of Location Bindings
+
+ It is important to ensure that the location that a user registers,
+ usually a (URI, IP) pair, is what is returned to the requesting
+ party. Or the entities that issue the lookup request must be able to
+ verify the integrity of this pair. A pure P2P approach to allow
+ verification of the integrity of location binding information is
+ presented in [Seedorf2]. The idea is for an entity to choose an
+ asymmetric key pair and hash its public key to generate its URI. The
+ entity then signs its present location with its private key and
+ registers with the quadruple (URI, IP, signature, public key). Any
+ entity that looks up the URI and receives such a quadruple can then
+ verify its integrity by using the public key and the certificate.
+ Another possible merit of such an approach could be that it is
+ possible to identify the malicious nodes and maintain a black list.
+ However, the resulting URIs are not easy to remember and associate
+ with entities. Discovering these URIs and associating them with
+ entities would therefore require some sort of a directory service.
+ The authors suggest using existing authentication infrastructure for
+ this such as a certified web service using SSL that can publish an
+ "online phone book" mapping users to URIs.
+
+7.2.6. Encrypting Content
+
+ Using P2P overlays for realtime communication implies that content is
+ likely to traverse numerous intermediate peers before reaching its
+ destination. A typical example could be the use of peers as media
+ relays as a way of traversing NATs in VoIP calls.
+
+ Contrary to publicly shared files, communication sessions are in most
+ cases expected to be private. It is therefore very important to make
+ sure that no media leaves the client application without being
+ encrypted and securely transported through a protocol like SRTP
+ [RFC3711]. However, the processing required by the encryption
+
+
+
+Schulzrinne, et al. Informational [Page 21]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ algorithms and the extra resources necessary for managing the keying
+ material (e.g., for retrieving public keys when interacting with
+ unknown peers) may be expensive, especially for mobile devices.
+
+7.2.7. Other Issues
+
+ Details on cost and payment regimes could help identify further
+ threats. Such details could also be important when determining the
+ impact of a potential attack in the context of the specific business
+ models associated with particular overlays. In many cases, answers
+ to the following simple questions significantly aid the design of
+ protection mechanisms:
+
+ o Whom do the users pay?
+
+ o Do the users only pay when accessing the public telephone network?
+
+ o Is the billing done per call or is it fixed?
+
+ For instance, the implications of an attack such as taking control
+ over another's user agent or its identity and using it for outbound
+ calls would depend on whether or not this would be economically
+ advantageous for the attacker. Baumann et al. [Baumann] suggest
+ that to prevent unwanted communication costs, gateways for the public
+ telephone network should only be accessible via authenticated servers
+ and dialing authorizations should be enforced. Also, it seems that
+ it would be difficult to do billing in a pure P2P manner as it would
+ mean keeping the billing details with untrusted peers.
+
+8. Open Issues
+
+ Existing systems used for file-sharing, media streaming, and realtime
+ communications all achieve a reasonable level of security relying on
+ centralized components (e.g., login servers in Skype [Baset],
+ moderators and trackers in BitTorrent [Pouwelse]). Securing pure P2P
+ networks is therefore still a very active research field; at the time
+ of writing the main open issues fall in five areas:
+
+ o Secure assignment of node IDs.
+
+ o Entity-identity association.
+
+ o Distributed trust among peers.
+
+ o Resistance against malicious peer collusion.
+
+ o Robustness and damage recovery.
+
+
+
+
+Schulzrinne, et al. Informational [Page 22]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ In general, P2P overlays are designed to work when the vast majority
+ of their peers are interested in the service provided by the system
+ and act benevolently. Understanding how operations in different
+ overlays are perturbed as the number of malicious or compromised
+ peers grows is another interesting area of research. Also, a widely
+ adopted methodology for the evaluation and classification of security
+ solutions would be likely to help research in the field of P2P
+ security progress more efficiently.
+
+9. Security Considerations
+
+ This document, tutorial in nature, discusses some of the security
+ issues of P2P systems used for realtime communications. It does not
+ aim at identifying all possible threats and the corresponding
+ solutions; instead, starting from an analysis of the attackers, it
+ delves into some important aspects of P2P security, referencing the
+ most relevant works published at the time of writing and discussing
+ how they apply (or could apply) to the case of realtime
+ communications.
+
+10. Acknowledgments
+
+ The authors are particularly grateful to Dhruv Chopra, who
+ contributed to the writing of the article "Peer-to-peer Overlays for
+ Real-Time Communication: Security Issues and Solutions" (IEEE Surveys
+ & Tutorials, Vol. 11, No. 1) from which this work is partially
+ derived.
+
+ The authors would also like to thank Vijay Gurbani and Song Haibin
+ for reviewing the document and the many others who provided useful
+ comments.
+
+11. Informative References
+
+ [Ahn] Ahn, L., Blum, M., and J. Langford, "Telling humans
+ and computers apart automatically", Communications of
+ the ACM, vol. 47, no. 2, February 2004.
+
+ [Androutsellis-Theotokis]
+ Androutsellis-Theotokis, S. and D. Spinellis, "A
+ survey of peer-to-peer content distribution
+ technologies", ACM CSUR, vol. 36, no. 4,
+ December 2004.
+
+ [BITTORRENT] "BitTorrent", <http://www.bittorrent.com/>.
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 23]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ [Baset] Baset, S. and H. Schulzrinne, "An analysis of the
+ skype peer-to-peer internet telephony protocol",
+ Proceedings of IEEE INFOCOM 2006, April 2006.
+
+ [Baumann] Baumann, R., Cavin, S., and S. Schmid, "Voice Over IP
+ - Security and SPIT", Technical Report, University of
+ Berne, September 2006.
+
+ [COOLSTREAM] "COOLSTREAMING", <http://www.coolstreaming.us>.
+
+ [Castro] Castro, M., Druschel, P., Ganesh, A., Rowstron, A.,
+ and D. Wallach, "Secure routing for structured
+ peer-to-peer overlay networks", Proceedings of 5th
+ symposium on Operating systems design and
+ implementation, December 2002.
+
+ [Chellapilla] Chellapilla, K. and P. Simard, "Using Machine Learning
+ to Break Visual Human Interaction Proofs (HIPs)",
+ Proceedings of Advances in Neural Information
+ Processing Systems, December 2004.
+
+ [Condie] Condie, T., Kacholia, V., Sankararaman, S.,
+ Hellerstein, J., and P. Maniatis, "Maelstorm: Churn as
+ Shelter", Proceedings of 13th Annual Network and
+ Distributed System Security Symposium, November 2005.
+
+ [Damiani] Damiani, E., Vimercati, D., Paraboschi, S., Samarati,
+ P., and F. Violante, "A Reputation-Based Approach for
+ Choosing Reliable Resources in Peer-to-Peer Networks",
+ Proceedings of Conference on Computer and
+ Communications Security, November 2002.
+
+ [Danezis] Danezis, G., Lesniewski-Laas, C., Kaashoek, M., and R.
+ Anderson, "Sybil-resistant DHT routing", Proceedings
+ of 10th European Symposium on Research in Computer
+ Security, September 2005.
+
+ [Douceur] Douceur, J., "The Sybil Attack", Revised Papers
+ from First International Workshop on Peer-to-Peer
+ Systems, March 2002.
+
+ [Gurbani] Gurbani, V., Willis, D., and F. Audet,
+ "Cryptographically Transparent Session Initiation
+ Protocol (SIP) Proxies", Proceedings of IEEE ICC '07,
+ June 2007.
+
+ [KAZAA] "KaZaa", <http://www.kazaa.com/>.
+
+
+
+
+Schulzrinne, et al. Informational [Page 24]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ [Kamvar] Kamvar, S., Garcia-Molina, H., and M. Schlosser, "The
+ EigenTrust Algorithm for Reputation Management in P2P
+ Networks", Proceedings of 12th international
+ conference on World Wide Web, May 2003.
+
+ [Kim] Kim, Y., Mazzocchi, D., and G. Tsudik, "Admission
+ Control in Peer Groups", Proceedings of Second IEEE
+ International Symposium on Network Computing and
+ Applications, April 2003.
+
+ [Kong] Kong, J., Zerfos, P., Luo, H., Lu, S., and L. Zhang,
+ "Providing robust and ubiquitous security support for
+ MANET", Proceedings of 9th International Conference on
+ Network Protocols, November 2001.
+
+ [Lee] Lee, S., Kwon, O., Kim, J., and S. Hong, "A Reputation
+ Management System in Structured Peer-to-Peer
+ Networks", Proceedings of 14th IEEE International
+ Workshops on Enabling Technologies: Infrastructure for
+ Collaborative Enterprise, June 2005.
+
+ [Liang] Liang, J., Kumar, R., Xi, Y., and K. Ross, "Pollution
+ in p2p file sharing systems", Proceedings of IEEE
+ INFOCOM 2005, March 2005.
+
+ [Marti] Marti, S., Ganesan, P., and H. Garcia-Molina, "SPROUT:
+ P2P Routing with Social Networks", Proceedings
+ of First International Workshop on Peer-to-Peer and
+ Databases, March 2004.
+
+ [Maymounkov] Maymounkov, P. and D. Mazi, "Kademlia: A Peer-to-peer
+ Information System Based on the XOR Metric",
+ Proceedings of First International Workshop on
+ Peer-to-peer Systems, March 2002.
+
+ [McCue] McCue, Andy., "Bookie reveals 100,000 cost of
+ denial-of-service extortion attacks", available from
+ http://www.silicon.com, June 2004.
+
+ [NAPSTER] "Napster", <http://www.napster.com/>.
+
+ [Ohta] Ohta, K., Micali, S., and L. Reyzin, "Accountable
+ Subgroup Multisignatures", Proceedings of 8th ACM
+ conference on Computer and Communications Security,
+ November 2001.
+
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 25]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ [P2PSIP] "Peer-to-Peer Session Initiation Protocol (P2PSIP)
+ IETF Working Group",
+ <http://www.ietf.org/html.charters/
+ p2psip-charter.html>.
+
+ [P2PSIP-DIAG] Yongchao, S., Jiang, X., Even, R., and D. Bryan,
+ "P2PSIP Overlay Diagnostics", Work in Progress,
+ December 2009.
+
+ [PPLIVE] "PPLive", <http://www.pplive.com>.
+
+ [Poon] Poon, W. and R. Chang, "Robust Forwarding in
+ Structured Peer-to-Peer Overlay Networks", Proceedings
+ of ACM SIGCOMM 2004, August 2004.
+
+ [Pouwelse] Pouwelse, J., Garbacki, P., Epema, D., and H. Sips,
+ "The Bittorent P2P File-Sharing System: Measurements
+ and Analysis", Proceedings of 4th International
+ Workshop of Peer-to-peer Systems, February 2005.
+
+ [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
+
+ [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G.,
+ Johnston, A., Peterson, J., Sparks, R., Handley, M.,
+ and E. Schooler, "SIP: Session Initiation Protocol",
+ RFC 3261, June 2002.
+
+ [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and
+ K. Norrman, "The Secure Real-time Transport Protocol
+ (SRTP)", RFC 3711, March 2004.
+
+ [RFC4981] Risson, J. and T. Moors, "Survey of Research towards
+ Robust Peer-to-Peer Networks: Search Methods",
+ RFC 4981, September 2007.
+
+ [Ratnasamy] Ratnasamy, S., Francis, P., Handley, M., Karp, R., and
+ S. Shenker, "A Scalable Content-Addressable Network",
+ Proceedings of ACM SIGCOMM 2001, January 2001.
+
+ [Rowaihy] Rowaihy, H., Enck, W., McDaniel, P., and T. Porta,
+ "Limiting Sybil attacks in structured peer-to-peer
+ networks", Proceedings of IEEE INFOCOM 2007, May 2007.
+
+ [Rowstron] Rowstron, A. and P. Druschel, "Pastry: Scalable,
+ distributed object location and routing for
+ large-scale peer-to-peer systems", Proceedings of 18th
+ IFIP/ACM International Conference on Distributed
+ Systems Platforms (Middleware 2001), November 2001.
+
+
+
+Schulzrinne, et al. Informational [Page 26]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ [SHA1] 180-1, FIPS., "Secure Hash Standard", April 2005.
+
+ [SKYPE] "Skype", <http://www.skype.com/>.
+
+ [Saxena] Saxena, N., Tsudik, G., and J. Yi, "Admission Control
+ in Peer-to-Peer: Design and Performance Evaluation",
+ Proceedings of 1st ACM workshop on Security of ad hoc
+ and sensor networks, October 2003.
+
+ [Scheideler] Scheideler, C., "How to Spread Adversarial Nodes?:
+ Rotate!", Proceedings of 37th Annual ACM Symposium on
+ Theory of Computing, May 2005.
+
+ [Seedorf1] Seedorf, J., "Security Challenges for Peer-to-Peer
+ SIP", IEEE Network, vol. 20, no. 5, September 2006.
+
+ [Seedorf2] Seedorf, J., "Using Cryptographically Generated
+ SIP-URIs to Protect the Integrity of Content in
+ P2P-SIP", Proceedings of 3rd Annual VoIP Security
+ Workshop, June 2006.
+
+ [Singh] Singh, K. and H. Schulzrinne, "Peer-to-Peer Internet
+ Telephony using SIP", Proceedings of International
+ Workshop on Network and Operating System Support for
+ Digital Audio and Video, June 2005.
+
+ [Sit] Sit, E. and R. Morris, "Security considerations for
+ peer- to-peer distributed hash tables", Revised Papers
+ from First International Workshop on Peer-to-Peer
+ Systems, March 2002.
+
+ [Stoica] Stoica, I., Morris, R., Karger, D., Kaashoek, M., and
+ H. Balakrishnan, "Chord: A Scalable Peer-to-peer
+ Lookup Service for Internet Applications", Proceedings
+ of Applications, Technologies, Architectures, and
+ Protocols for Computer Communication 2001, May 2001.
+
+ [Tam] Tam, J., Simsa, J., Hyde, S., and L. Ahn, "Breaking
+ Audio CAPTCHAs with Machine Learning Techniques",
+ Proceedings of Advances in Neural Information
+ Processing Systems, December 2009.
+
+ [Uzun] Uzun, E., Pariente, M., and A. Selpk, "A
+ Reputation-Based Trust Management System for P2P
+ Networks", Proceedings of International Symposium on
+ Cluster Computing and the Grids, April 2004.
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 27]
+
+RFC 5765 Security in P2P Realtime Communications February 2010
+
+
+ [Wallach] Wallach, D., "A Survey of Peer-to-Peer Security
+ Issues", Proceedings of International Symposium of
+ Software Security 2002, November 2002,
+ <http://www.cs.rice.edu/~dwallach/pub/
+ tokyo-p2p2002.pdf>.
+
+ [Yu] Yu, H., Kaminsky, M., Gibbons, P., and A. Flaxman,
+ "SybilGuard: Defending Against Sybil Attacks via
+ Social Networks", Proceedings of ACM SIGCOMM 2006,
+ September 2006.
+
+ [Zhang] Zhang, X., Chen, S., and R. Sandhu, "Enhancing Data
+ Authenticity and Integrity in P2P Systems", IEEE
+ Internet Computing, vol. 9, no. 6, September 2005.
+
+ [Zimmermann] Zimmermann, Philip., "Pretty good privacy: public key
+ encryption for the masses", Building in big brother:
+ the cryptographic policy debate pag. 103-107, 1995.
+
+Authors' Addresses
+
+ Henning Schulzrinne
+ Columbia University
+ 1214 Amsterdam Avenue
+ New York, NY 10027
+ USA
+
+ EMail: hgs@cs.columbia.edu
+
+
+ Enrico Marocco
+ Telecom Italia
+ Via G. Reiss Romoli, 274
+ Turin 10148
+ Italy
+
+ EMail: enrico.marocco@telecomitalia.it
+
+
+ Emil Ivov
+ SIP Communicator / University of Strasbourg
+ 4 rue Blaise Pascal
+ Strasbourg Cedex F-67070
+ France
+
+ EMail: emcho@sip-communicator.org
+
+
+
+
+
+Schulzrinne, et al. Informational [Page 28]
+