virgil / purekit
Virgil Security introduces an implementation of the Password-Hardened Encryption (PHE) protocol that provides developers with a technology to protect users passwords from offline/online attacks and make stolen passwords useless even if your database has been compromised.
Requires
- php: ^8.3
- ext-json: *
- ext-pdo: *
- google/protobuf: ^3.6.1
- guzzlehttp/guzzle: ^7.8
- myclabs/php-enum: ^1.8
- virgil/crypto: ^7.0.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- phpunit/phpunit: ^11
README
Introduction | Benefits | Features | Installation | Resources | License | Support
Introduction
Virgil Security introduces Virgil PureKit - an open-source security framework for enabling post-compromise protection for stored data. PureKit allows developers to protect users' passwords and personal data from hacking and securely share data.
The framework can be used within any database or login system that uses a password, so it’s applicable for a company of any industry or size.
Password-Based Security
Virgil PureKit is based on the Password-Hardened Encryption (PHE) protocol – a powerful and revolutionary cryptographic technology that provides stronger and more modern security, that protects users' data and reduces the security risks associated with weak passwords.
PureKit brings data security to a new level in three ways:
- Replaces password hashing in a way making it impossible to run offline and online attacks. By interacting with PHE Service, a standalone cryptographic service in Virgil Cloud dedicated to implement PHE protocol, PureKit creates a unique user’s record that is associated with the user password. It is important to note that a user password is never transmitted to the PHE service in any form.
- Encrypts data with user’s personal encryption keys. PureKit gives users a possibility to encrypt their data with personal encryption keys, and all keys can be revealed only after providing a correct password.
- Immediately invalidate stolen database. Even if your database has been compromised it impossible to run offline attacks, to retrieve user password or decrypt data. At the same time, PureKit provides convenient and secure key rotation procedure, that allows you quickly update all your server keys without losing access to your data.
Features
- Per-user data and files encryption
- Password protection against hacking
- Management of data encryption keys
- Secure data and files sharing
- Role-based data encryption
Benefits
- Users control data access
- Post-compromise security
- Password & data protection from online and offline attacks
- Replaces salting and hashing of passwords
- Zero knowledge of user passwords and secret keys
- Virgil Security has no access to your data
- Encryption occurs independently of database security
- Works with any database
- Stronger than encryption at-rest and TDE
- More secure than AWS and Google Key Management Systems (KMS)
- Instant invalidation of stolen databases
- Compliance with GDPR, HIPAA, PCI DSS and more
Installation
Navigate to our Developer Documentation to install and start working with Virgil PureKit.
Resources
- PureKit Product Page
- PureKit Documentation - start integrating PureKit into your project with our detailed guides.
- PureKit API Reference
- MariaDB Demo - a simple web application that illustrates how Virgil PureKit can be used with MariaDB to store and share data in the most secure way.
- Virgil PHE WhitePaper - foundation principles of the Password-Hardened Encryption (PHE) protocol.
License
This library is released under the 3-clause BSD License.
Support
Our developer support team is here to help you. Find out more information at our Help Center.
You can find us on Twitter or send an email to our support team support@VirgilSecurity.com.
Also, get extra help from our support team on Slack.