To authenticate a program on a computing device to a resource local to or
remote from the computing device, a stored program security identifier
(PSID) corresponding to the program is retrieved, where the stored PSID
includes information taking into account the program itself, the
execution setting of the program, and any inputs and initializations that
are provided to the program. The PSID is re-constructed based on the same
information as obtained from local sources, and the stored and
reconstructed PSIDs are compared to determine whether a match exists. If
so, it may be concluded that the program operates in a trusted manner
according to an approved set of conditions.