  The recent developments in the mobile technology (mobile phones, middleware)
created a need for new methods of protecting the code transmitted through the
network. The proposed mechanisms not only secure the compiled program, but also
the data, that can be gathered during its "journey". The oldest and the
simplest methods are more concentrated on integrity of the code itself and on
the detection of unauthorized manipulation. Other, more advanced proposals
protect not only the code but also the execution state and the collected data.
The paper is divided into two parts. The first one is mostly devoted to
different methods of securing the code and protecting its integrity; starting
from watermarking and fingerprinting, up to methods designed specially for
mobile agent systems: encrypted function, cryptographic traces, time limited
black-box security, chained-MAC protocol, publicly-verifiable chained digital
signatures The second part presents new concept for providing mobile agents
with integrity protection, based on a zero-knowledge proof system.
