On 1/17/19 7:38 PM, Dave Jiang wrote:
> The following series implements mechanisms that utilize the sysfs knobs
> provided by the kernel in order to support the Intel DSM v1.8 spec
> that provides security to NVDIMM. The following abilities are added:
> 1. display security state
> 2. enable/update passphrase
> 3. disable passphrase
> 4. freeze security
> 5. secure erase
> 6. overwrite
> 7. master passphrase enable/update
> 
> v9:
> - Add install-encrypt-key command. (Dan)
> - Change enable-passphrase to setup-passphrase. (Dan)
> - Change disable-passphrase to remove-passphrase. (Dan)
> - Change ndctl_dimm_get_security() to return state directly and remove
>   ndctl_dimm_security_supported(). (Dan)
> - Remove ND_SECURITY_UNSUPPORTED state
> - change ND_SECURITY_* to NDCTL_SECURITY_*
> - Fix man page issues (Dan, Jane)
> - Define NDCTL_KEYSDIR in config.h (Dan)
> - Break check_key_run_and_discard() to 3 helper functions. (Dan)
> - Remove key path input parameter. (Dan)
> - Remove master key input parameter. (Dan)
> - Fixup various issues in security unit test script. (Vishal)

Left out one thing:
- Moved the load key script to an ndctl command load-keys. (Dan)

> 
> v8:
> - Additional cleanup on test script. (Vishal)
> - Change load-keys script into internal command for ndctl. (Dan)
> 
> v7:
> - Added option to provide path to key directory. (Vishal)
> - Cleaned up shell scripts. (Vishal)
> - Cleaned up documentation. (Vishal)
> - Addressed various comments from Vishal.
> 
> v6:
> - Fix spelling and grammar errors for documentation. (Jing)
> - Change bool for indicate master passphrase and old passphrase to enum.
> - Fix key load script master key name.
> - Update to match v15 of kernel patch series.
> 
> v5:
> - Updated to match latest kernel interface (encrypted keys)
> - Added overwrite support
> - Added support for DSM v1.8 master passphrase operations
> - Removed upcall related code
> - Moved security state to enum (Dan)
> - Change security output "security_state" to just "security". (Dan)
> - Break out enable and update passphrase operation. (Dan)
> - Security build can be compiled out when keyutils does not exist. (Dan)
> - Move all keyutils related operations to libndctl. (Dan)
> 
> v4:
> - Updated to match latest kernel interface.
> - Added unit test for all security calls
> 
> v3:
> - Added support to inject keys in order to update nvdimm security.
> 
> v2:
> - Fixup the upcall util to match recent kernel updates for nvdimm security.
> 
> ---
> 
> Dave Jiang (13):
>       ndctl: add support for display security state
>       ndctl: add command for ndctl to receive the key encryption key (master)
>       ndctl: add passphrase update to ndctl
>       ndctl: add disable security support
>       ndctl: add support for freeze security
>       ndctl: add support for sanitize dimm
>       ndctl: add unit test for security ops (minus overwrite)
>       ndctl: add modprobe conf file and load-keys ndctl command
>       ndctl: add overwrite operation support
>       ndctl: add wait-overwrite support
>       ndctl: master phassphrase management support
>       ndctl: add master secure erase support
>       ndctl: documentation for security and key management
> 
> 
>  Documentation/ndctl/Makefile.am                   |   10 
>  Documentation/ndctl/intel-nvdimm-security.txt     |  139 +++++
>  Documentation/ndctl/ndctl-freeze-security.txt     |   60 ++
>  Documentation/ndctl/ndctl-install-encrypt-key.txt |   31 +
>  Documentation/ndctl/ndctl-list.txt                |    8 
>  Documentation/ndctl/ndctl-load-keys.txt           |   43 ++
>  Documentation/ndctl/ndctl-remove-passphrase.txt   |   28 +
>  Documentation/ndctl/ndctl-sanitize-dimm.txt       |   48 ++
>  Documentation/ndctl/ndctl-setup-passphrase.txt    |   41 +
>  Documentation/ndctl/ndctl-update-passphrase.txt   |   43 ++
>  Documentation/ndctl/ndctl-wait-overwrite.txt      |   31 +
>  Makefile.am                                       |    4 
>  configure.ac                                      |   17 +
>  contrib/nvdimm-security.conf                      |    1 
>  ndctl.spec.in                                     |    3 
>  ndctl/Makefile.am                                 |    5 
>  ndctl/builtin.h                                   |    8 
>  ndctl/dimm.c                                      |  232 ++++++++
>  ndctl/kek.c                                       |  133 +++++
>  ndctl/lib/Makefile.am                             |    8 
>  ndctl/lib/dimm.c                                  |  183 +++++++
>  ndctl/lib/keys.c                                  |  581 
> +++++++++++++++++++++
>  ndctl/lib/libndctl.c                              |   31 +
>  ndctl/lib/libndctl.sym                            |   16 +
>  ndctl/lib/private.h                               |    1 
>  ndctl/libndctl.h                                  |   79 +++
>  ndctl/load-keys.c                                 |  257 +++++++++
>  ndctl/ndctl.c                                     |    8 
>  test/Makefile.am                                  |    4 
>  test/security.sh                                  |  223 ++++++++
>  util/json.c                                       |   17 +
>  31 files changed, 2280 insertions(+), 13 deletions(-)
>  create mode 100644 Documentation/ndctl/intel-nvdimm-security.txt
>  create mode 100644 Documentation/ndctl/ndctl-freeze-security.txt
>  create mode 100644 Documentation/ndctl/ndctl-install-encrypt-key.txt
>  create mode 100644 Documentation/ndctl/ndctl-load-keys.txt
>  create mode 100644 Documentation/ndctl/ndctl-remove-passphrase.txt
>  create mode 100644 Documentation/ndctl/ndctl-sanitize-dimm.txt
>  create mode 100644 Documentation/ndctl/ndctl-setup-passphrase.txt
>  create mode 100644 Documentation/ndctl/ndctl-update-passphrase.txt
>  create mode 100644 Documentation/ndctl/ndctl-wait-overwrite.txt
>  create mode 100644 contrib/nvdimm-security.conf
>  create mode 100644 ndctl/kek.c
>  create mode 100644 ndctl/lib/keys.c
>  create mode 100644 ndctl/load-keys.c
>  create mode 100755 test/security.sh
> 
> --
> 
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to