Peer to Peer (P2P) communication is emerging as technology having a high potential to provide scalable and flexible structure in communicating, sharing and collaborative applications etc. But to make it secure and more flexible we need a framework which provide key management along with admission control for peer into a group. Key management is important because we need a group key to encrypt all messages with it thus groups secrecy and confidentiality is maintained.
Also many group communications require a secure infrastructure that provides multiple levels of access privilege for group members. We describe how a policy language based framework, which supports group communication using role and attribute based access control can be designed.
We implemented a prototype chat application based on peer to peer framework, JXTA to demonstrate how a secure group layr which integrates authentication, admission control, authorization, fine-grained access control and key management can be created to achieve secure group communication.
The secure group communication abstraction provides both point-to-point and secure multipoint communication. This incremental and dynamic growth pattern is not well supported by a rigid server-client based structure. Thus, the natural alternative to a serverclient based model is to provide a reliable and secure group communication infrastructure to support a dynamic and scalable peer-to-peer model.
Applications like file sharing, online gaming, audio/video conferencing, virtual meeting and disscussion forums are example of systems which are organized as peer group. The group is governed by a set of rules that describe the conditions required to be part of a group. Security in such dynamic collaborative groups is governed by membership control, authentication, access control and key management.
This project deals with designing a framework which facilitates peer to peer communication along with admission and access control with security measures. Peer group framework provide flexible structure to communicate, sharing etc.
Collaborative applications need to support dynamic groups that can scale to large numbers of users. A peer-to-peer model inherently makes these applications easier to design and to operate for groups. Since there are no servers, groups can form ad hoc and there is no setup or scheduling with a centralized authority required.
Why peer to peer ?
An important goal in peer-to-peer networks is that all clients provide resources, including bandwidth, storage space, and computing power. This is not case for of a client-server architecture with a fixed set of servers, in which adding more clients could mean slower data transfer for all users. Peer to peer groups have decentralized control thus they avoid single point failure.
Due to decentralized nature they can resist to intentional DoS (Denialof- Service) attacks. Server-client architecture can be in trouble if servers are down due to load caused by large number of requests at same time. When as large number of clients are connecting to same server, we need high performance machines at server end, thus is more costlier as compared to P2P architecture .
Peer groups provides us flexibility P2P architecture but we also require that framework be so that it is adaptable to dynamic number of peers and also does traffic load balancing.
So in P2P scenario each peer is communicating to the other but requirement is such that number of message exchanges should be minimum. Along with all these feature, for a secure group communication we will require that re-keying operation should be done when user joins or leaves in order to maintain forward and backward secrecy.