You are here: Administrator Help        > Security > Security and DPAPI
         
        Security and DPAPI
        JustWare utilizes the Data Protection Application Programming Interface (DPAPI) to
            provide client-side security. By using DPAPI, JustWare ensures that your data is secure
            and provides the confidentiality necessary when dealing with sensitive data.
        DPAPI protects confidential information using value data that is derived from a master
            key. A master key is a pseudo-random 512-bit number. Each user account has one or more
            randomly generated master keys. Each master key contains the data that is required to
            decrypt all the user's confidential information. To protect the master key, a value is
            derived from the user's password and then used to encrypt the master key.
        DPAPI is a Windows-based standard that was implemented in Windows 2000 and has been a
            key component of Windows security in every iteration since. There are a number of
            reasons that Microsoft uses DPAPI, as stated in the article "Windows Data Protection" on
            msdn.microsoft.com:
        
            - It uses proven cryptographic routines, such as the strong Triple-DES algorithm in
                CBC mode, the strong SHA-1 algorithm, and the PBKDF2 password-based key derivation
                routine.
- It uses proven cryptographic constructs to protect data. All critical data is
                cryptographically integrity protected, and secret data is wrapped using standard
                methods.
- It uses large secret sizes to greatly reduce the possibility of brute-force attacks
                to compromise the secrets.
- It uses PBKDF2 with 4000 iterations to increase the work factor of an adversary
                trying to compromise the password.
- It sanity checks MasterKey expiration dates.
- It protects all required network communication with domain controllers by using
                mutually authenticated and privacy protected RPC channels.
- It minimizes the risk of exposing any secrets, by never writing them to disk and
                minimizing their exposure in swappable RAM.
- It requires Administrator privileges to make any modifications to the DPAPI
                parameters in the registry.
- It uses Windows File Protection to help protect all critical DLLs from online
                changes, even by processes with Administrator privileges.
Each of the encrypted files is passed from the client to the Web server and stored on the
            client disk in the user profile. Encrypting them is important to maintaining data
            integrity.
         Related Topics
Related Topics