[Fsfe-ie] description of Tivoisation - comments sought

David O'Callaghan david.ocallaghan at cs.tcd.ie
Fri Dec 15 18:05:31 CET 2006

Hi Ciaran,

I may be wrong but I assume that at least some Tivoisation schemes use
cryptographic digital signatures. Your explanation gives the impression
that the "fingerprint" is a value which is inserted in the software and
compared byte-for-byte with a known value in the chip. With this
approach, the "fingerprint" could relatively easily be read from the
"official" software and added to unofficial software.

In practice, I expect that the chip contains a secret cryptographic key
and the necessary hardware to verify a digital signature on the
software. This is much more difficult to circumvent, since a valid
signature can only be created by the correct signing key, and the
signing key is not present in the software and may not even be the same
key in the chip if asymmetric (public-key) cryptography is used.

I've suggested some changes to your explanation below, but these are
based on the assumptions I've made above so it might be best to verify
them with others more familiar with, say, the actual Tivo devices.

Kind regards,


On 15.12.06 14:48, Ciaran O'Riordan wrote:
> A lawyer asked me recently how tivoisation works.  I looked around, and
> there was no document explaining it.  So I've put together a description
> below, but I'd like some comments on whether it's understandable and
> complete enough:
> ===================
> Tivoisation is a way of giving someone a computer whose software can
> be upgraded but which will refuse to run any software that isn't first
> authorised by the manufacturer.
> To implement tivosiation, a hardware manufacturer must do three things:
> 1. Put a chip in the computer which will check any software before it
>    is run and which will only allow the running of software if an
>    authorised digital fingerprint is found.

an authorised digital fingerprint -> an authorised digital signature

> 2. Inject that certain digital fingerprint into each version of their
>    own software.

-> Digitally sign each version of their software with a private key.

> 3. Don't tell their customers the fingerprint.

-> Don't give their customers the signing key.

> By doing this, the manufacture can still publish new versions of the
> software in the future.  It just has to inject the secret fingerprint
> and then publish the software and users will be able to run it.

It just has to ...
-> It just has to digitally sign and then publish the software and users
will be able to run it.

> However, if the user tries to use a modified version of the software,
> or tries to run some third-party software, the computer will refuse to
> function fully, or will simply not run the software at all.

+ because it is practically impossible to create a valid digital
signature without knowledge of the private key.

More information about the FSFE-IE mailing list