The PeerTrust Project

The PeerTrust project is investigating trust negotiation in Semantic Web and P2P environments. Within the program, digital credentials can be signed XML or RDF statements that express peer properties, and policies are expressed as logic programs that tie resource access to required credentials. The ability to refer to peers, to credentials, or to other resources in PeerTrust logic programs lets us express the iterative exchange of credentials during a trust negotiation process.

The PeerTrust Prototype

The PeerTrust 1.0 prototype is available free at or PeerTrust 1.0’s outer layer is a signed Java application or applet program. It keeps queues of propositions that are in the process of being proved, parses incoming queries, translates them to the PeerTrust language, and passes them to the inner layer. Its inner layer answers queries by reasoning about PeerTrust policy rules and certificates using Prolog metainterpreters (in MINERVA Prolog, whose Java implementation offers excellent portability) and returns the answers to the outer layer. PeerTrust 1.0 imports RDF metadata to represent policies for access to resources and uses X.509 certificates and the Java Cryptography Architecture for signatures. It employs secure socket connections between negotiating parties, and its facilities for communication and access to security-related libraries are in Java.

Currently, we provide two modes of execution: secure mode and demo mode. In the secure mode, secure channels are used for communication (currently secure sockets), credentials retrieved are verified and real credentials are sent over the network. As creating credentials is not an easy task, we provided a demo mode in which the credentials are faked (no real credentials exist) and the communication is over normal sockets (not secure). This ease the modification for demostration purposes.

The following are three demos that shows how the visualization of our prototype works. Two representations are shown:
The demos are available from the following links (Macromedia flash is required):