-
Notifications
You must be signed in to change notification settings - Fork 33
Encryption
psunix edited this page Mar 3, 2020
·
11 revisions
Name | Description |
---|---|
private_key encrypted | Private RSA key encrypted with user's password |
private_key | Unencrypted private RSA key to decrypt team passwords |
public_key | Public RSA key to encrypt team passwords |
Clear-text team-password | Password from team as clear-text |
Encrypted team-password | Team-password encrypted with public RSA key |
Clear-text account data | account data(password, username, attachment) as clear-text |
Clear-text account data | account data(password, username, attachment) encrypted with public with teampassword |
Clear-text user-password | Password from user as clear-text |
Encrypted user-password | User-password encrypted with public RSA key |
User Bob | An example user named Bob |
User Alice | An example user named Alice |
- A new RSA key pair is generated
- RSA private key is encrypted with user's password
- RSA key pair saved as User attributes
- Random team-password is created
- Team-password is encrypted with Bob's public key
- Encrypted password saved as Teammember attribute
- if private: admins will not have access on this Team
There will be no passwords in the model Team
- Encrypted password is decrypted with Bob's private key
- Team-password is encrypted with Alice's public key
- Encrypted password saved in new Teammember as attribute
- Encrypted team-password is decrypted with Bob's private key
- Account-data is encrypted with plain-text team-password
- Encrypted account-data saved as Account attributes
- Encrypted team-password is decrypted with Bob's private key
- Encrypted account-data is decrypted with plain-text team-password
- Decrypt encrypted private RSA key with Bob's plain-text user-password
- Save decrypted private RSA key in Session
The private RSA key will never be saved in plain-text except in a session!
- The user Bob changes his LDAP passowrd
- Bob login on Cryptopus with his new password
- A Form will be shown, in which Bob must enter the new and the old password
- Does Bob remember the old password?
- If not a new recrypt request will be created
- Else, decrypt encrypted private key with old password
- Encrypt private key with new password and save in DB
- Root logs in and applies Bob's recrypt request
- Process all teams with Bob's membership which are accessible by root
- Decrypt encrypted team-password with root's private key
- Team-password is encrypted with Bob's new public key
- Admin logs in and applies Bob's recrypt request
- Process all teams with Bob's membership which are accessible by admin
- Decrypt encrypted team-password with admin's private key
- Team-password is encrypted with Bob's new public key