Forge Project proposal: PSE-ABC

Bruno Margerin <[email protected]> Mon, 12 Jun 2006 10:49:33 -0400
Newsgroups gmane.comp.java.jxta.user
Message-ID <[email protected]>
Hi,

I would like to propose a modest “forge level†project about PSE 
security. This project (PSE-ABC) aims at providing the ABC of the PSE 
Membership, hence to lower the learning curve of using the basics of PSE 
Membership. The project's goal is to provide easily re-usable and/or 
copy/pastable code and documentation for a typical PSE Membership use.

The code will provide examples for both basic certificates / private key 
usage as well as of use more JXTA specific technologies such as PSE 
membership, TLS and Access Control.

Specifically for Certificates manipulation:
• Issuing a self signed certificate authority
• Issuing a “SuperPeer†/ Administrator Certificate/PKey, having the CA 
sign the associate signing request, and import the resulting signed 
certificates back.
• Issuing 2 edges peers (Peer A and Peer B) Certificates/PKeys and have 
the SuperPeer / Administrator sign the signing request and the edge 
peers import the resulting signed certificates.
• Manage associated Keystores and associated chains of trust on each 4 
entities (CA, Super/Administrator Peers, and the 2 edge peers).

For simplicity, while using the JXTA utils, this initial security 
infrastructure will be build “off lineâ€, not using the JXTA platform. I 
don’t aims at implementing any distributed trust model such as JXTA 
Poblano for instance. Again the goal of this project is to introduce PSE 
Membership.

As for the PSE Membership and associated technologies, the scenario 
would be to:
• Have the Super Peer create/publish and join a PSE Peer Group.
• Have the 2 Edge Peers (Peer A and Peer B) join this group.
• Have an Edge Peer (Peer A), create an access controlled JXTA Socket 
where Peer B would connect via TLS. The access control mechanism would 
be an “all or nothing†access based and whether Peer A and Peer B has 
“common roots†in their chain of trust.

I first though that such an example could be contributed within the JXTA 
programmer’s guide, but given the expected volume of code, I am now 
thinking that it may make the guide overly heavy and need to be taken 
outside the guide, as a separate project/tutorial.

I am neither a JXTA nor a security expert and would rely on the 
community for ensuring that I am understanding and using the security 
and JXTA tools correctly and to best practices.

Last, I would also appreciate feed back in whether or when this forge 
project should be integrated in the JXTA commons.

Please let me know what you think,
Thanks,

Bruno Margerin