-: Root of trust. 2 2
In this lesson, 3 3
we are going to talk about the concept 4 4
of a hardware root of trust or ROT. 5 5
Now, this is a cryptographic module 6 6
embedded within a computer system 7 7
that can endorse trusted execution 8 8
and attest to boot settings and metrics. 9 9
Now, this may sound like a complicated concept 10 10
but you use a root of trust all the time. 11 11
If you think about your TPM module 12 12
inside your bios, 13 13
that is a root of trust. 14 14
Essentially, a root of trust 15 15
is used to scan the boot metrics of the system 16 16
and the operating system files 17 17
and it verifies their signatures. 18 18
And then we can use that root of trust 19 19
to sign a digital report, 20 20
to send that over to the processor and say, 21 21
"I trust these things." 22 22
Essentially, it's a digital certificate, 23 23
but it's embedded inside your processor 24 24
or inside your firmware. 25 25
Now, as I mentioned earlier, 26 26
the most common root of trust 27 27
is a trusted platform module or TPM. 28 28
This is a specification 29 29
for hardware based storage 30 30
of digital certificates, 31 31
keys, 32 32
hash passwords 33 33
and other user and platform identification information. 34 34
Now, as you look inside of a TPM, 35 35
there are lots of different functions inside of it. 36 36
First, it's going to provide you 37 37
with secured input and output. 38 38
Then we have this cryptographic processor 39 39
that provides us with a true random number generator. 40 40
It has an RSA key generator, 41 41
it has a SHA-1 hash generator 42 42
and encryption decryption signature engines. 43 43
In addition to that, 44 44
we also have persistent memory 45 45
and inside of that, 46 46
we have an endorsement key 47 47
which is a digital key 48 48
and a storage root key or an SRK. 49 49
And then we have versatile memory. 50 50
This includes things like 51 51
platform configuration registers or PCRs, 52 52
attestation identity keys or AIKs 53 53
and storage keys. 54 54
Now, do you have to memorize 55 55
all of these different things 56 56
on this chart for TPM, 57 57
for the exam? 58 58
Well, not really. 59 59
Instead, you really need to remember 60 60
that TPM, 61 61
the trusted platform module 62 62
is this part of your system 63 63
that allows you to have the ability 64 64
to ensure that when you're booting up, 65 65
it is done securely. 66 66
And we could take those reports 67 67
and digitally sign them using the TPM. 68 68
TPM is also used with full disk encryption. 69 69
So if you're using something 70 70
like BitLocker in Windows, 71 71
it uses TPM and that key inside of TPM 72 72
to make sure that data is secure. 73 73
Now, when you're dealing with TPM 74 74
your TPM can be managed inside of Windows 75 75
using tpm.msc, 76 76
which is a console 77 77
or you could do it through group policy. 78 78
Either these are ways you can configure TPM. 79 79
Now for the exam, 80 80
you don't need to go in depth 81 81
of how to configure these things. 82 82
In the real world, 83 83
you may be asked to work on this, 84 84
and if so 85 85
you could look up the documentation 86 86
at microsoft.com. 87 87
Now, the other thing 88 88
we need to talk about here 89 89
is a hardware security module. 90 90
This is an appliance 91 91
for generating and storing cryptographic keys 92 92
that is less susceptible to tampering 93 93
and insider threats than using storage-based solutions. 94 94
So typically when we do encryption, 95 95
we do that using some sort of a long key, right? 96 96
And so I might type in a long password 97 97
and that becomes my key. 98 98
Well, the problem with that is 99 99
it's a lot easier to crack those things 100 100
because that key could be compromised by an insider 101 101
or by somebody telling somebody else it 102 102
or typing it in 103 103
or something of that nature. 104 104
Now, there are lots of different ways 105 105
to create an HSM. 106 106
They come in lots of different form factors. 107 107
For example, here on the screen 108 108
you could see N-cipher 109 109
and there's three different models. 110 110
We have one that's an internal card 111 111
that could be put in. 112 112
There's one that is a rack mounted system 113 113
and then there's one that's more 114 114
of an internet of things type of solution. 115 115
The real advantage of these types of systems 116 116
is that they are automated, 117 117
and that means the keys cannot be compromised 118 118
by human involvement. 119 119
So we're removing the person from the equation 120 120
and ensuring the systems are secure. 121 121
Now, another thing we need to think about 122 122
is how do we make sure 123 123
people can't tamper with our different devices? 124 124
Well, that's where the concept of anti-tamper 125 125
comes into play. 126 126
These are methods that make it difficult 127 127
for an attacker 128 128
to alter the authorized execution of software. 129 129
Now, if you think about anti-tampering 130 130
and you think about it in the physical world, 131 131
you buy a thing of aspirin 132 132
and you open up the bottle, 133 133
what do you see on top? 134 134
That sealed layer that says, 135 135
"This has been protected." 136 136
This is a sealed for your protection. 137 137
This is an anti-tampered device 138 138
because if you pull that seal off, 139 139
you can't put it back on. 140 140
And so this shows you 141 141
that somebody has either been in the bottle 142 142
or not been in the bottle. 143 143
Well, we want to do the same thing 144 144
within our electronics 145 145
and there are two main ways of doing that. 146 146
We have anti-tamper mechanisms 147 147
that include things like an FPGA, 148 148
which is a field programmable gate array 149 149
or a physically unclonable function, or PUF. 150 150
Both of these are anti-tamper mechanisms 151 151
that could be used 152 152
and designed inside your systems. 153 153
This means that 154 154
if somebody tries to tamper with the system, 155 155
what these things will do, 156 156
is actually zero out your cryptographic key 157 157
which then can automatically 158 158
wipe out the information on that system, 159 159
making sure you know it's been tampered with 160 160
and, therefore, nobody can get the information. 161 161
That's the idea. 162 162
When you start using things like anti-tamper.