1. A method for establishing a secure communications channel between a first repository and a second repository using a repository transaction protocol for use in a system for conducting transactions, the method comprising: generating from the first repository a registration identifier and registration message including an identification certificate, and an identifier of a master repository that encrypted the identification certificate; receiving the registration message at a second repository and verifying the identity of the first repository by verifying the identification certificate; validating the authenticity of the first repository, including, generating at the second repository a message to test the authenticity of the first repository, sending the generated message to the first repository, and verifying at the second repository if the first repository upon receiving the generated message to test the authenticity correctly processed the generated message; exchanging messages including at least one session key between the first and second repositories, wherein the session key is used in communications during a session between the first and second repository; and conducting a transaction between the first repository and the second repository using the session key, wherein the step of conducting the transaction between the first repository and the second repository using the session key, includes, generating a request for a digital work, associating usage rights information with the request for digital work, and determining if the usage rights information associated with the request corresponds to usage rights associated with the digital work, wherein the usage rights define a manner in which the digital work is used or distributed.