PureKit Credentials

This article contains information about PureKit credentials.

Backend keys

The following keys are used at your backend for PureKit initialization.

Mandatory

ParameterDescriptionObtained from
SK Application Secret keyA secret value used to to derive KMSKP and AK. Format: "SK.*version*.*PHE base64-encoded bytes*.*KMS base64-encoded bytes*.*AUTH base64-encoded bytes*".Generated with Virgil CLI
PHESK PHE Client Secret keyUsed for application authentication at Virgil PHE service.Derived from SK
AK Auth Client Secret keySymmetric key that is used to encrypt a Grant that is needed for secure session between your users and your server, therefore, Auth key has to be accessible during user authentication step. Find out more on how to use Auth Key in authenticate users section.Derived from SK
NMS Non-rotatable Master Secret keyA 32-byte secret value used to derive VSKP and OSKP. Format: "NM.*base64-encoded bytes*".Generated with Virgil CLI
OSKP Own Signing key pairUsed to sign encrypted users data, to ensure that the data won't be changed. Note that users don't sign their data while encrypting it with their private keys.Derived from NMS
PK Service public keyA unique service public key that is generated for a specific PHE application. Used to verify communication between your application and Virgil PHE service.Generated at Virgil Dashboard

Optional

ParameterDescriptionObtained from
BU Backup key pairCan be used by admins to recover access to user's data in case the user forgot their password. Usually, Backup private key is rarely used, therefore, you can store it far from your server. Find out more on how to use Backup Key in the Data Encryption section.Generated with Virgil CLI
VSKP Virgil Storage key pairUsed to sign records sent to Virgil Cloud to enssure that the data won't be changed. (*) The VSKP Key is mandatory in case of using Virgil Cloud storage for storing users' private keys.Derived from NMS
KMSSK KMS Client Secret keyUsed for application authentication at Virgil KMS service.Derived from SK
KMSPK KMS Server Public keyA unique public key of Virgil KMS service that is generated for a specific PHE application. Used to verify communication between your application and Virgil KMS service.Created at Virgil Dashboard

User keys

The following keys are used at your backend for managing users' data.

Mandatory

ParameterDescriptionObtained from
PHEK PHE end-user keyPHE symmetric key, derived on backend during sign up/in process for a user with given id.Derived automatically during user sign up/in
UKP User key pairRandomly generated user keypair for a user with given id. Encrypted with UKP.Created automatically during user sign up/in
CKP Cell key pairKey for data encryption. Used to encrypt specific cell (or group of cells) that are intended to have same set of entities that have access to it. CK is encrypted for BU, UKP, UKP of users that you want give access to, and EKP with matching {column} set.Generated during encryption

Optional

ParameterDescriptionObtained from
EKP External key pairKey pair that belongs to some external systems (services) that can access some columns of users' data.Obtained from external service