A client/server networking topology comprising a trusted server agent (TSA)
(e.g., software application) that runs either at a client node or at a
node in close proximity to the client and provides various trusted
services to the client on behalf of a trusted server. In instances where
the node in which the TSA software runs (i.e., the client or a node in
close proximity) may be untrusted, and/or unreliable, methods are provided
for making the TSA software running on the untrusted and/or unreliable
node provide trusted and reliable services. In one aspect of the
invention, a method for providing trusted service in a client/server
system comprises the steps of: providing at least one client; providing at
least one trusted server (TS); providing at least one trusted server agent
(TSA) which is executing on or near the at least one client; providing a
trusted service by the at least one TSA to the at least one client on
behalf of the at least one TS.