PKI-Based Security for Peer-To-Peer Information Sharing
Total Page:16
File Type:pdf, Size:1020Kb
PKI-Based Security for Peer-to-Peer Information Sharing Anonymous Anonymous [email protected] Abstract integrity of all communication, and to enforce access control of resources i.e. communication channels and The free flow of information is the feature that has shared information. Existing systems have some made peer-to-peer information sharing applications combination of these features and security properties, but popular. However, this very feature holds back the none provide all of them. acceptance of these applications by the corporate and Searching in peer-to-peer systems often involves scientific communities. In these communities it is broadcasting a query to all of the known peers. We refer important to provide confidentiality and integrity of to this type of communication as group communication. communication and to enforce access control to shared A number of systems provide confidentiality and integrity resources. We present a number of security mechanisms of group communication [9] [16]. This is typically that can be used to satisfy these security requirements. achieved by building an overlay that encompasses the Our solutions are based on established and proven group and then using TLS to secure the communication security techniques and we utilize existing technologies between pairs of peers. This solution is inefficient as it when possible. As a proof of concept, we have developed requires decryption and encryption of each message that a an information sharing system, called scishare, which peer forwards and is exasperated by the fact that a peer integrates a number of these security mechanisms to often forwards multiple copies of a received message. provide a secure environment for information sharing. We use the Secure Group Layer (SGL) [1] to provide This system will allow a broader set of user communities confidentiality and integrity of group communication in a to benefit from peer-to-peer information sharing. more efficient manner. SGL accomplishes this by using a shared group key for securing the messages. 1. Introduction In existing peer-to-peer information sharing systems, authorization and authentication of peers is performed in a The free flow of information is the feature that has purely centralized manner [9] or autonomously by each made peer-to-peer information sharing applications peer [16]. The first of these is not fault-tolerant and the popular. However, this very feature holds back the second may lead to inconsistent enforcement. Our acceptance of these applications by the corporate and solution distributes the authorization and authentication scientific communities. In these communities it is enforcement while maintaining consistency among the important to provide access control mechanisms so that peers. We use SGL to provide authentication the information owner can clearly and securely define just enforcement and build extensions for SGL to provide what is shared and with whom. For example, a group of fine-grained authorization. In addition, we allow for collaborating scientists would like to share the initial trusted peers to invite or escort other peers into the group. findings of their research within their group, but do not Existing peer-to-peer information sharing systems do want these findings available to the general audience until not differentiate between resources. That is, an they have had a chance to verify them. authenticated peer has access to all the shared information Ideally, an information sharing application should of every other authenticated peer. We provide allow end users to: mechanisms that allow each end user to autonomously specify the authentication and authorization requirements 1. Search for information. for each information item. We leverage previous work on 2. Make their information available. fine-grained authorization for distributed environments by 3. Download information. using the Akenti authorization system [14]. We modify Akenti in order to distribute the enforcement mechanism In order to secure this type of information sharing to each peer and develop a group-based authorization application we need to provide confidentiality and model that hides many of the complexities of the Akenti system to the users. We have developed an information sharing system that download content from P2 by sending a transfer request satisfies the desired feature set for information sharing message (step 3). P2 answers this request with the and utilizes the security mechanisms described. This content or an error message (step 4). In this respect, our system, called scishare, is not only a proof of concept, but system is very similar to existing peer-to-peer file sharing also a fully functioning information sharing system. Our systems, such as Gnutella [8]. The difference stems from solutions are based on established and proven security our security model. In the remainder of this section we techniques. We have made considerable effort to not discuss the system actions in more detail, the security reinvent the wheel and have utilized a number of existing requirements they impose, and our security model. PKI-based technologies. In Section 2, we present an overview of the system and Communication primitives. We consider a set of peers, its architecture. Then, in Section 3 we discuss our P, that form a peer group, G. The peers communicate by solutions to securing communication in a peer-to-peer exchanging messages. A peer, Pi, can send a message to environment. In Section 4, we describe our solutions for any other peer, Pj, or to the peer group, G. fine-grained, distributed, resource access control. Section Communication between two peers, Pi and Pj, is direct, 5 describes related work in the peer-to-peer information- i.e. we do not consider the scenario where a third peer, Pk, sharing arena. Finally, we conclude and present possible acts as proxy, forwarding messages for the future work in Section 6. communication. Messages sent to the peer group G are intended for every peer in G. 2. System design Searching for information. An important feature of an In this section we first provide an overview of our information sharing system is the ability to search for the secure information sharing system, including the security desired information. In our system model, a peer Pi model. We then present the architecture and technologies searches for information by sending a query message to a used in our system. peer group G, where Pi is a member of G. Each peer, Pj in G, that receives the query message, checks whether any 2.1 System overview items match the query and responds directly to Pi with a query response message that contains the metadata associated with the items that matched the query. 2 The security requirements for the search are: 3 1. The query message is confidential to G. 2. The query response message is confidential between a Pj and Pi. P2 P1 3. Each query response only contains the metadata for items for which Pi is authorized 4 access. 1 1 4. Pi is able to verify its trust relationship with each Pj from which it receives a query response. Group 1 P3 1 Transferring information between peers. A peer Pi 1 may request a transfer of information from a peer Pj, by P6 1 sending a transfer request message to Pj. Pj, upon P4 receiving this message checks whether it has the P5 information item associated with the request. If Pj has the item then Pj transfers the requested information to Pi. If the information is transferred to P , then P becomes the Figure 1. Peer interactions i i owner of that copy of the information. The security requirements for information transfer are: Figure 1 shows the interactions between peers. A peer, P1, searches for information by sending a query message 1. The transfer request message and the transfer to the group (step 1). Peers P3 through P6 don’t have of the information are confidential between P content that matches the query, so they do not respond. i and P . Peer P2 has content that matches the query, so it sends a j query response message (step 2). P1, can then request to 2. Pi and Pj are able to identify each other and 2.2 Architecture thus determine the level of their trust relationship. Figure 2 shows the architecture at a peer. SGL is used 3. The information is transferred from Pj to Pi to send and receive queries within a group and TLS [14] is only if Pi is authorized to access that used for all other communication. The authentication information. managers are used to provide coarse-grained access control to the communication channels. The Managing locally shared information. Each end user authorization manager and the Akenti engine are then designates a set of information items that its peer host can used to provide fine-grained access control to the share with the other peers in the group. Each information communication channels and shared information. item has a pair of authorization requirements. One is for the metadata associated with the information item and the other is for the actual item. Users should be able to specify these requirements through a simple user interface. Resource The specified requirements for an information item are Akenti Mapping autonomous. For example, if peer Pi allows Pj access to an information item I, it indirectly relinquishes the right to 2 3 fully control access to I. We do not prohibit Pj, once it Authorization obtains a copy of I, from specifying its own authorization Data 4 Manager requirements for I that are independent of those specified by Pi. 1 1 Security model. Our security model adapts a number of security solutions built around the X.509 public-key Authentication Authentication infrastructure (PKI) to provide confidentiality, integrity, Manager Manager 5 authentication, and authorization. We have developed mechanisms that allow X.509 entities to build secure TLS SGL collaborations.