mbox series

[v6,0/5] Enable root to update the blacklist keyring

Message ID 20210210120410.471693-1-mic@digikod.net (mailing list archive)
Headers show
Series Enable root to update the blacklist keyring | expand

Message

Mickaël Salaün Feb. 10, 2021, 12:04 p.m. UTC
This new patch series is a rebase on David Howells's keys-misc branch.
This mainly fixes UEFI DBX and the new Eric Snowberg's feature to import
asymmetric keys to the blacklist keyring.
I successfully tested this patch series with the 186 entries from
https://uefi.org/sites/default/files/resources/dbxupdate_x64.bin (184
binary hashes and 2 certificates).

The goal of these patches is to add a new configuration option to enable the
root user to load signed keys in the blacklist keyring.  This keyring is useful
to "untrust" certificates or files.  Enabling to safely update this keyring
without recompiling the kernel makes it more usable.

This can be applied on top of David Howells's keys-next branch:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-next
Git commits can be found in https://github.com/l0kod/linux branch
dyn-auth-blacklist-v6 commit fcf976b74ffcd4551683e6b70dbf5fb102cf9906 .

Previous patch series:
https://lore.kernel.org/lkml/20210128191705.3568820-1-mic@digikod.net/

Regards,

Mickaël Salaün (5):
  tools/certs: Add print-cert-tbs-hash.sh
  certs: Check that builtin blacklist hashes are valid
  certs: Make blacklist_vet_description() more strict
  certs: Factor out the blacklist hash creation
  certs: Allow root user to append signed hashes to the blacklist
    keyring

 MAINTAINERS                                   |   2 +
 certs/.gitignore                              |   1 +
 certs/Kconfig                                 |  17 +-
 certs/Makefile                                |  17 +-
 certs/blacklist.c                             | 218 ++++++++++++++----
 crypto/asymmetric_keys/x509_public_key.c      |   3 +-
 include/keys/system_keyring.h                 |  14 +-
 scripts/check-blacklist-hashes.awk            |  37 +++
 .../platform_certs/keyring_handler.c          |  26 +--
 tools/certs/print-cert-tbs-hash.sh            |  91 ++++++++
 10 files changed, 346 insertions(+), 80 deletions(-)
 create mode 100755 scripts/check-blacklist-hashes.awk
 create mode 100755 tools/certs/print-cert-tbs-hash.sh


base-commit: 5bcd72358a7d7794ade0452ed12919b8c4d6ffc7

Comments

Mickaël Salaün Feb. 21, 2021, 11:17 a.m. UTC | #1
David, Eric, what is the status of this patch series?

On 10/02/2021 13:04, Mickaël Salaün wrote:
> This new patch series is a rebase on David Howells's keys-misc branch.
> This mainly fixes UEFI DBX and the new Eric Snowberg's feature to import
> asymmetric keys to the blacklist keyring.
> I successfully tested this patch series with the 186 entries from
> https://uefi.org/sites/default/files/resources/dbxupdate_x64.bin (184
> binary hashes and 2 certificates).
> 
> The goal of these patches is to add a new configuration option to enable the
> root user to load signed keys in the blacklist keyring.  This keyring is useful
> to "untrust" certificates or files.  Enabling to safely update this keyring
> without recompiling the kernel makes it more usable.
> 
> This can be applied on top of David Howells's keys-next branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-next
> Git commits can be found in https://github.com/l0kod/linux branch
> dyn-auth-blacklist-v6 commit fcf976b74ffcd4551683e6b70dbf5fb102cf9906 .
> 
> Previous patch series:
> https://lore.kernel.org/lkml/20210128191705.3568820-1-mic@digikod.net/
> 
> Regards,
> 
> Mickaël Salaün (5):
>   tools/certs: Add print-cert-tbs-hash.sh
>   certs: Check that builtin blacklist hashes are valid
>   certs: Make blacklist_vet_description() more strict
>   certs: Factor out the blacklist hash creation
>   certs: Allow root user to append signed hashes to the blacklist
>     keyring
> 
>  MAINTAINERS                                   |   2 +
>  certs/.gitignore                              |   1 +
>  certs/Kconfig                                 |  17 +-
>  certs/Makefile                                |  17 +-
>  certs/blacklist.c                             | 218 ++++++++++++++----
>  crypto/asymmetric_keys/x509_public_key.c      |   3 +-
>  include/keys/system_keyring.h                 |  14 +-
>  scripts/check-blacklist-hashes.awk            |  37 +++
>  .../platform_certs/keyring_handler.c          |  26 +--
>  tools/certs/print-cert-tbs-hash.sh            |  91 ++++++++
>  10 files changed, 346 insertions(+), 80 deletions(-)
>  create mode 100755 scripts/check-blacklist-hashes.awk
>  create mode 100755 tools/certs/print-cert-tbs-hash.sh
> 
> 
> base-commit: 5bcd72358a7d7794ade0452ed12919b8c4d6ffc7
>
Eric Snowberg Feb. 22, 2021, 5:41 p.m. UTC | #2
> On Feb 21, 2021, at 4:17 AM, Mickaël Salaün <mic@digikod.net> wrote:
> 
> David, Eric, what is the status of this patch series?

All the previous issues I had identified have been resolved, so LGTM.

> On 10/02/2021 13:04, Mickaël Salaün wrote:
>> This new patch series is a rebase on David Howells's keys-misc branch.
>> This mainly fixes UEFI DBX and the new Eric Snowberg's feature to import
>> asymmetric keys to the blacklist keyring.
>> I successfully tested this patch series with the 186 entries from
>> https://uefi.org/sites/default/files/resources/dbxupdate_x64.bin (184
>> binary hashes and 2 certificates).
>> 
>> The goal of these patches is to add a new configuration option to enable the
>> root user to load signed keys in the blacklist keyring.  This keyring is useful
>> to "untrust" certificates or files.  Enabling to safely update this keyring
>> without recompiling the kernel makes it more usable.
>> 
>> This can be applied on top of David Howells's keys-next branch:
>> https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-next
>> Git commits can be found in https://github.com/l0kod/linux branch
>> dyn-auth-blacklist-v6 commit fcf976b74ffcd4551683e6b70dbf5fb102cf9906 .
>> 
>> Previous patch series:
>> https://lore.kernel.org/lkml/20210128191705.3568820-1-mic@digikod.net/
>> 
>> Regards,
>> 
>> Mickaël Salaün (5):
>>  tools/certs: Add print-cert-tbs-hash.sh
>>  certs: Check that builtin blacklist hashes are valid
>>  certs: Make blacklist_vet_description() more strict
>>  certs: Factor out the blacklist hash creation
>>  certs: Allow root user to append signed hashes to the blacklist
>>    keyring
>> 
>> MAINTAINERS                                   |   2 +
>> certs/.gitignore                              |   1 +
>> certs/Kconfig                                 |  17 +-
>> certs/Makefile                                |  17 +-
>> certs/blacklist.c                             | 218 ++++++++++++++----
>> crypto/asymmetric_keys/x509_public_key.c      |   3 +-
>> include/keys/system_keyring.h                 |  14 +-
>> scripts/check-blacklist-hashes.awk            |  37 +++
>> .../platform_certs/keyring_handler.c          |  26 +--
>> tools/certs/print-cert-tbs-hash.sh            |  91 ++++++++
>> 10 files changed, 346 insertions(+), 80 deletions(-)
>> create mode 100755 scripts/check-blacklist-hashes.awk
>> create mode 100755 tools/certs/print-cert-tbs-hash.sh
>> 
>> 
>> base-commit: 5bcd72358a7d7794ade0452ed12919b8c4d6ffc7
>>