You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The platform firmware protection checks make sure that BootGuard is configured in verified boot mode, which means that the firmware that executes has to be authenticated by an OEM key fused into the chipset by BootGuard. It also appears to have a measured boot profile (although it's not clear whether the tooling Intel supplies to OEMs supports enabling measured boot without verified boot), but we could add support for measured boot (with some restrictions on the type of devices this would be permitted on, to be elaborated on later). It would require the following changes:
checkPlatformFirmwareProtectionsIntelMEI would permit measured boot only as a valid configuration, and return some indicator that verified boot is not enabled.
checkPlatformFirmwareProtections would need to surface this.
The results returned by RunChecks would have a new flag to indicate that the platform firmware is not verified, but that it is measured.
The WithAutoPCRProfile option would add PCR0 to the policy if the supplied results indicate that verified boot is disabled.
Note that this would have an effect on some other, as yet undesigned, security related properties of the system - verified boot would obviously be required if a vendor wants a way to only permit a device to run only Ubuntu Core, rather than any generic operating system. Or if we want to go even further than that and provide a way to restrict the runtime code that can execute on a device to a set of snaps that are defined by the brand, or restrict a device to a specific model etc, so that a vendor can prevent arbitrary code and operating systems from running on their hardware if they desire this.
The text was updated successfully, but these errors were encountered:
@kukrimate I can't assign you directly, but if you agree with the approach (particularly if it's limited only to firmware based TPMs), this looks like the kind of issue that you could address relatively easily if you want to (and I can help out re styles and approach to unit testing). Feel free to assign it to yourself if you'd like to have a go.
The platform firmware protection checks make sure that BootGuard is configured in verified boot mode, which means that the firmware that executes has to be authenticated by an OEM key fused into the chipset by BootGuard. It also appears to have a measured boot profile (although it's not clear whether the tooling Intel supplies to OEMs supports enabling measured boot without verified boot), but we could add support for measured boot (with some restrictions on the type of devices this would be permitted on, to be elaborated on later). It would require the following changes:
checkPlatformFirmwareProtectionsIntelMEI
would permit measured boot only as a valid configuration, and return some indicator that verified boot is not enabled.checkPlatformFirmwareProtections
would need to surface this.RunChecks
would have a new flag to indicate that the platform firmware is not verified, but that it is measured.WithAutoPCRProfile
option would add PCR0 to the policy if the supplied results indicate that verified boot is disabled.Note that this would have an effect on some other, as yet undesigned, security related properties of the system - verified boot would obviously be required if a vendor wants a way to only permit a device to run only Ubuntu Core, rather than any generic operating system. Or if we want to go even further than that and provide a way to restrict the runtime code that can execute on a device to a set of snaps that are defined by the brand, or restrict a device to a specific model etc, so that a vendor can prevent arbitrary code and operating systems from running on their hardware if they desire this.
The text was updated successfully, but these errors were encountered: