Cryptosystem: Difference between revisions
keyblobz |
Some updates |
||
Line 49: | Line 49: | ||
== Falcon coprocessor == | == Falcon coprocessor == | ||
The falcon processor (TSEC) | The falcon processor (TSEC) generates a special console-unique key (that will be referred to as the "tsec key"). | ||
This is presumably stored in fuses that only microcode authenticated by NVidia has access to | This is presumably using data stored in fuses that only microcode authenticated by NVidia has access to. | ||
== Package1 == | == Package1 == | ||
Line 109: | Line 107: | ||
|} | |} | ||
=== [4.0.0]+ Key table after package1 === | === [4.0.0]+ Key table after package1 (Secure Monitor boot) === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 126: | Line 124: | ||
|- | |- | ||
| 13 | | 13 | ||
| | | PerConsoleKeyForNewPerConsoleKeyGen | ||
| [[Package1]] | | [[Package1]] | ||
| Yes | | Yes | ||
Line 132: | Line 130: | ||
|- | |- | ||
| 14 | | 14 | ||
| | | StaticKeyForNewPerConsoleKeyGen | ||
| [[Package1]] | |||
| No | |||
| Yes, on security updates | |||
|- | |||
| 15 | |||
| PerConsoleKey | |||
| [[Package1]] | |||
| Yes | |||
| No | |||
|} | |||
=== [4.0.0]+ Key table after package1 (Secure Monitor runtime) === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Keyslot | |||
! Name | |||
! Set by | |||
! Per-console | |||
! Per-firmware | |||
|- | |||
| 12 | |||
| MasterKey | |||
| [[Package1]] | | [[Package1]] | ||
| No | | No | ||
| Yes, on security updates | |||
|- | |||
| 13 | |||
| NewPerConsoleKey | |||
| Secure Monitor init | |||
| Yes | |||
| Yes, on security updates | | Yes, on security updates | ||
|- | |- | ||
Line 270: | Line 297: | ||
|} | |} | ||
== | == Secure Monitor Init == | ||
On all versions, the key to decrypt [[Package2]] is generated by decrypting a constant seed with the master key. The key is erased after use. | |||
Additionally, starting from 4.0.0, the Secure Monitor init will decrypt another constant seed successively with a special per console key and a special static key passed by package1loader, to generate a new per-console key. The operation will erase these special keys passed by package1loader. | |||
== Secure Monitor == | == Secure Monitor == | ||
The secure monitor performs some runtime cryptographic operations. See [[SMC]] for what operations it provides. | The secure monitor performs some runtime cryptographic operations. See [[SMC]] for what operations it provides. |