摘要 |
<p>The integrity of a software component is checked by selecting a checking algorithm from a plurality of checking algorithms 50 in pseudo-random manner, performing the algorithm on the software component to produce a checking code that is dependent on the integrity of the component and the algorithm selected, and comparing the checking code with a reference code 52. The software may be a Java (RTM) component and the codes may be produced using hash codes. The invention may be used in a client/server system 10, 20 wherein the server receives a request for a service from the client and checks the integrity of service controller software 22 installed at the client before providing the requested service. If the service controller has been hacked into, e.g. to try to obtain services without paying, the codes will not correspond. The checking algorithms may be sent from the server to the client or may reside on the client. The software component may be checked when it is loaded for running. A call stack containing a record of operations performed in running the software component may be checked.</p> |