A cryptographically signed filesystem provides a central database resident
on a server that contains database objects. The server creates startup
software to be installed in a client system's read only memory. The
startup software contains a hash value for a second stage loader. The
server also creates software for a bootstrap loader object which
typically contains the operating system for a client system and also the
bootstrap loader's hash value and a digital signature that is unique to
the server. A root filesystem object is also created containing
operational code and data for the client system's functionality. A hash
table file is stored in the bootstrap loader that contains the names of
each file in the root filesystem along with their corresponding hash
values. The startup software and objects created by the server are
initially installed on a client device at the time of manufacture. The
client performs a staged bootup sequence that confirms that the hash
value is correct for each of the objects before they are executed. The
digital signature of the bootstrap loader is verified. If a hash value or
digital signature is incorrect, the client device is disabled or the file
deleted or replaced. The server can update a client's bootstrap loader
and root filesystem at any time through the transmission of slices.