-: Root of Trust.
In this lesson, we're going to talk about
the concept of a hardware Root of Trust or ROT.
Now, this is a cryptographic module
embedded within a computer system
that can endorse trusted execution
and attest to boot settings and metrics.
Now, this may sound like a complicated concept,
but you use a root of trust all the time.
If you think about your TPM module inside your BIOS,
that is a root of trust.
Essentially, a root of trust is used
to scan the boot metrics to the system
and the operating system files,
and it verifies their signatures.
And then we can use that root of trust
to sign a digital report,
to send that over to the processor and say,
I trust these things.
Essentially, it's a digital certificate,
but it's embedded inside your processor
or inside your firmware.
Now, as I mentioned earlier, the most common root of trust
is a trusted platform module or TPM.
This is a specification for hardware-based storage
of digital certificates, keys, hash passwords,
and other user and platform identification information.
Yeah, as you look inside of a TPM,
there are lots of different functions inside of it.
First, it's going to provide you
with a secured input and output.
Then, we have this cryptographic processor
that provides us with a true random number generator.
It has an RSA key generator,
it has a SHA-1 hash generator,
and encryption decryption signature engines.
In addition to that, we also have persistent memory
and inside of that, we have an endorsement key,
which is a digital key and a Storage Root Key or an SRK.
And then we have versatile memory.
This includes things like
Platform Configuration Registers or PCRs,
Attestation Identity Keys or AIKs, and storage keys.
Now, do you have to memorize all
of these different things on this chart for TPM,
for the exam?
Well, not really.
Instead, you really need to remember that TPM,
the trusted platform module, is this part of your system
that allows you to have the ability
to ensure that when you're booting up, it is done securely
and we can take those reports and digitally sign them
using the TPM.
TPM is also used with full disk encryption,
so if you're using something like BitLocker and windows,
it uses TPM and that key inside of TPM
to make sure that data is secure.
Now, when you're dealing with TPM,
your TPM can be managed inside of Windows
using TPM.MSC, which is a console
or you could do it through group policy.
Either of these are ways you can configure TPM.
Now, for the exam,
you don't need to go in depth
of how to configure these things.
In the real world, you may be asked to work on this.
And if so, you could look up
the documentation at microsoft.com.
Now, the other thing we need to talk about here
is a hardware security module.
This is an appliance for generating
and storing cryptographic keys that is less susceptible
to tampering and insider threats than
using storage-based solutions.
So, typically, when we do encryption,
we do that using some sort of a long key, right?
And so I might type in a long password
and that becomes my key.
Well, the problem with that is it's a lot easier
to crack those things
because that key could be compromised by an insider
or by somebody telling somebody else it
or typing it in or something of that nature.
Now, there are lots of different ways to create an HSM,
they come in lots of different form factors.
For example, here on the screen,
you could see nCipher and there's three different models.
We have one that's an internal card that can be put in,
there's one that has a rack mounted system,
and then there's one that's more
of an Internet of things type of solution.
The real advantage of these types of systems
is that they are automated
and that means the keys cannot be compromised
by human involvement who are removing
the person from the equation and ensuring
the systems are secure.
Now, another thing we need to think about
is how do we make sure people can't tamper
with our different devices?
Well, that's where the concept of anti-tamper
comes into play.
These are methods that make it difficult for an attacker
to alter the authorized execution of software.
Now, if you think about anti-tamper
and you think about the physical world,
you buy a thing like aspirin and you open up the bottle.
What do you see on top? That sealed layer that says,
this has been protected,
this is sealed for your protection.
This is an anti-tamper device.
Because if you pull that seal off,
you can't put it back on.
And so, this shows you that somebody
has either been in the bottle or not been in the bottle,
but we want to do the same thing within our electronics.
And there are two main ways of doing that.
We have anti-tamper mechanisms
that include things like an FPGA,
which is a Field Programmable Gate Array
or a physically unclonable function or PUF.
Both of these are anti-tamper mechanisms
that could be used and designed inside your systems.
This means that if somebody tries to tamper with the system,
what these things will do is actually
zero out your cryptographic key,
which then can automatically wipe out the information
on that system, making sure you know
it's been tampered with
and therefore, nobody can get the information.
That's the idea when you start using
things like anti-tamper.