Business Processes KMS Tenant
This chapter describes the processes and tasks that the KMS Tenant operator performs using the KMS-UI application with "KMS Tenant".
"KMS Tenant" provides methods for the following tasks:
-
Manage or add KEK (or protected KEK)
-
Manage or add KMS clients
-
Manage or add application namespaces
-
View CAs (certification authorities)
-
Manage or add tenant users
-
Manage own account (Keycloak etc.)
The necessary identification and authentication to the KMS Tenant application is described in the following process steps:
Process steps | |
---|---|
01 |
Call the URL of the KMS-UI application with the browser, e.g. select the "Sign in" button and sign in using the username and password provided by an admin or tenant (e.g., in a sealed envelope or encrypted email). For example, one possible login strategy is Keycloak. |
02 |
After a successful login, the start page ("Dashboard") is displayed. The page features various buttons and a navigation menu (sidebar), which is typical for most pages of the KMS-UI web application and the KMS Tenant. |
03 |
It is recommended to change the randomly assigned username and initial password to a meaningful name and a new password during the initial login. Furthermore, the personal information (e-mail, last name, first name) should be completed. To do this, proceed as follows (when using Keycloak):
|
04 |
From any page (see step 02), the desired functionality can be selected at any time. The following steps must be performed:
The functionalities offered in the sidebar depend on the selected submenu item. Some functionalities can also be selected directly by selecting the corresponding buttons. From any page, it is also possible to go back to the dashboard by clicking the "Dashboard" button, clicking on the MTG logo, or clicking on the "KMS Tenant" button. |
05 |
Other functionalities:
To use these functionalities, proceed as follows:
Alternatively, you can access the "Profile" and "Logout" functionalities from the navigation menu in the sidebar. |
06 |
Change language: To change the language of the KMS-UI web application, please select the drop-down menu in the bottom right of the footer on any page of the web application. Here you can switch between "en" for English and "de" for German. |
07 |
Search, sort and export in list views: All objects that are managed with the KMS-UI web application are displayed as lists in their corresponding "Show" view. The structure of these lists is very similar and is usually characterized by the following features:
|
P-KMS-TNT-01 - KMS-Tenant User (create, modify, delete)
profile | |
---|---|
Name |
KMS-Tenant user (create, modify, delete) |
Purpose |
Only tenant operators are allowed to use the KMS Tenant application, which provides methods for managing and configuring the tenant’s workspace, e.g. managing tenant users, KMS clients, (protected) KEKs and application namespaces. With the creation and setup of a tenant on the KMS platform, at least 2 tenant user accounts have already been created. The access data has been transferred to the persons responsible for the tenant’s area. This gives the tenant access to the "KMS Tenant" application described here and thus the ability to perform tenant-specific (client-specific) tasks (tenant self-administration). The description of the administration of tenant users is the subject of P-KMS-TNT-01. This includes in particular the administration of the accounts of tenant users as well as the creation of additional tenant users. |
Responsibility |
KMS-Tenant (Operator) |
Working tool(s) |
Browser, KMS-UI web application |
Precondition/ |
The KMS platform is up and running. The KMS tenant user is logged into the KMS-UI application with their tenant user account. |
Postcondition/ |
|
Remarks |
After creating a new tenant user account, the initial password should be securely sent to the appropriate person (e.g., via encrypted email). The current user should not be able to use and reset this initial password without the new user noticing (e.g., to prevent misuse of the new account by the approving user). Therefore, the first time a tenant user logs in with a newly created tenant user account, the tenant user will be prompted to change their initial password. |
Process steps | |||
---|---|---|---|
01 |
Display the list of tenant users:
|
||
02 |
Create a tenant user:
|
||
03 |
Change own tenant user:
|
||
04 |
Delete tenant user:
|
P-KMS-TNT-02 - KEKs (create, activate, delete)
Profile | |
---|---|
Designation |
P-KMS-TNT-02 - KEKs (create, activate, delete) |
Purpose |
For security reasons, a tenant’s key material must not be stored unencrypted in the KMS database. For this purpose, each tenant uses a so-called KEK (Key-Encryption-Key), which serves as the master key for the encryption of its own key material. The tenant itself is responsible for the creation and administration of the KEK. The description of the management of KEKs is the subject of P-KMS-TNT-02. |
Responsibility |
KMS-Tenant (Operator) |
Working tool(s) |
Browser, KMS-UI web application |
Precondition/ |
The KMS platform is up and running. The KMS tenant user is logged into the KMS-UI application with their tenant user account. Tenant and HSMs are set up. At least 1 HSM profile has been created for the tenant by the KMS admin. |
Postcondition/ |
|
Remarks |
Because the KEK is stored in the secure environment of an HSM, the KMS tenant operator can only access a KEK using the "key management" credentials stored in a tenant’s HSM profile (see the HSM Profiles chapter). This requires a duplicate control sequence that requires the HSM user "Key Management" credentials to be restored via the election system. It should be noted that each tenant can create multiple KEKs, but only one KEK is active at a time. Only the active KEK is used to encrypt the key material. The KMS does not re-encrypt existing objects when a new KEK is created, as this would be very time-consuming. Only new objects added to the KMS are encrypted with the new KEK. |
Process steps | |||
---|---|---|---|
01 |
Display the list of KEKs:
|
||
02 |
Create KEK:
The new KEK is disabled by default, unless it is the first KEK for this tenant. |
||
03 |
Activate/deactivate a KEK:
|
||
04 |
Delete a KEK:
If the operation was successful, the KEK has been deleted.
|
P-KMS-TNT-03 - Protected KEKs (create, activate, add HSM profile, remove HSM profile, delete, restore)
Profile | |
---|---|
Designation |
P-KMS-TNT-03 - Protected KEKs (create, activate, add HSM profile, remove HSM profile, delete, restore) |
Purpose |
Using conventional HSM KEKs for any cryptographic operation is simple and secure, but not the best solution in all cases. The KMS provides an alternative to traditional KEKs, the so-called "KEK protection mode". In this mode, the actual encryption/decryption is done in memory (using software KEKs), while the HSM is used only for initial derivation and occasional renewal of said KEKs. This has the following advantages:
|
Responsibility |
KMS-Tenant (Operator) |
Working tool(s) |
Browser, KMS-UI web application |
Precondition/ |
The KMS platform is up and running. The KMS tenant user is logged into the KMS-UI application with their tenant user account. Tenant and HSMs are set up. At least 1 HSM profile has been created for the tenant by the KMS admin. |
Postcondition/ |
|
Notes |
While the protected KEK itself is stored in-memory, the key pair needed to derive it is stored in an HSM, which means that the KMS tenant operator can only access a KEK by using the "Key Management" credentials stored in a tenant’s HSM profile (see chapter HSM Profiles). This requires a duplicate control sequence that requires the HSM user "Key Management" credentials to be restored via the reconciliation system. |
Process steps | |||
---|---|---|---|
01 |
Display the list of (protected) KEKs:
|
||
02 |
Create protected KEK:
The new protected KEK is disabled by default unless it is the first KEK for that tenant. |
||
03 |
Activate/Deactivate a protected KEK:
|
||
04 |
Adding an HSM profile to a protected KEK:
|
||
05 |
Removing an HSM profile from a protected KEK:
|
||
06 |
Restore HSM profiles of a protected KEK from a backup string:
|
||
07 |
Deleting a protected KEK:
If the operation was successful, the KEK has been deleted.
|
P-KMS-TNT-04 - KMS-Tenant-Clients (create, change, delete)
profile | |
---|---|
Designation |
P-KMS-TNT-04 - KMS Clients (create, change, delete) |
Purpose |
A KMS tenant client accesses and uses the KMS APIs to interact with the KMS server on behalf of a KMS tenant. Access is allowed only after successful authentication. For authentication, the KMS server uses basic authentication and KMIP authentication with UserID+Password, also authentication with a client certificate and client authentication via Keycloak for the KMS-Crypto Interface. The KMS tenant client users define the client name and credentials for accessing the KMS web services (KMIP API). The creation and management of KMS-Tenant client users is the responsibility of KMS-Tenant operators. The description of the management of KMS tenant client users is the subject of P-KMS-TNT-04. |
Responsibility |
KMS-Tenant (Operator) |
Working tool(s) |
Browser, KMS-UI web application |
Precondition/ |
The KMS platform is up and running. The KMS tenant user is logged into the KMS-UI application with their tenant user account. |
Postcondition/ |
|
Remarks |
None |
Process steps | |||
---|---|---|---|
01 |
Display the list of KMS clients:
|
||
02 |
Create KMS client:
If the process is successful, a new KMS client is created. |
||
03 |
Change KMS client:
|
||
04 |
Delete KMS client:
|
Visibility of objects within a tenant by means of KMS-Tenant-Clients
A KMS-Tenant-Client is used by the tenant to access its objects stored in MTG-KMS. Separation of keys within a tenant for different KMS-Tenant-Clientss, so that they are not visible to other KMS-Tenant-Clients, is not provided. This can be achieved, for example, by using KMIP namespaces or by creating new tenants! |
P-KMS-TNT-05 - Application Namespaces (create, change, delete)
profile | |
---|---|
Designation |
P-KMS-TNT-05 - Application Namespaces (create, change, delete) |
Purpose |
MTG-KMS allows the user to define KMIP application namespaces for objects. These can be managed via the MTG-KMS Tenant interface. |
Responsibility |
KMS-Tenant (operator) |
Working tool(s) |
Browser, KMS-UI web application |
Prerequisite/Input |
The KMS platform is up and running. The KMS Tenant user is logged into the KMS-UI application with their tenant user account. |
Postcondition/Output |
None |
Remarks |
None |
Process steps | |
---|---|
01 |
Display the list of application namespaces:
|
02 |
Create an application namespace:
|
03 |
Change an application namespace:
|
04 |
Delete an application namespace:
|
P-KMS-TNT-07 - CAs (show, delete)
Profile | |
---|---|
Designation |
P-KMS-TNT-07 - CAs (delete) |
Purpose |
For a better overview, MTG KMS-UI provides an overview of linked issuer certification authorities (Issuer CAs). The displayed CAs were created by the Mini-CA and attached to the tenant by the KMS admin. |
Responsibility |
KMS-Tenant (Operator) |
Working tool(s) |
Browser, KMS-UI web application |
Precondition/Input |
The KMS platform is up and running. The KMS tenant user is logged into the KMS-UI application with their tenant user account. At least one issuer CA has been linked by the KMS admin for the tenant. Otherwise, the list is empty. |
Postcondition/ |
None |
Remarks |
None |
Process steps | |
---|---|
01 |
Display the list of connected CAs:
|
02 |
Display the CA details:
The following information is displayed for the CA:
|