What:
Dovetail will provide a optional parameter "-e" ("–encrypt") for user to encrypt the test report.
With this parameter, dovetail will generate a report in cipher-text and a secret key in cipher-text together instead of a single plain-text report.
Why:
The report in plain-text is vulnerable from malicious attacks.
If user want to secure their report and do not want the report be peeked at by any unexpected person,they can simply add this parameter into the command line.
Users do not need to know or learn any details about that how to encrypt.
How:
First make sure you get a RSA public key from whom will receive your report, may be it is a 3rd party certification authority.
The whole encryption and decryption workflow show as following:
- user generate RSA key pairs
- dovetail generate a random secret key
- encrypt this report with this secret key by AES256 encryption algorithm
- encrypt this secret key with RSA public key by RSA encryption algorithm
- vendor generate RSA key pairs
- dovetail generate a digest from report with MD5
- encrypt digest with private key from vendor
- send encrypted report, encrypted digest, encrypted key to your target user
- the receiver decrypt the secret key with his own RSA private key to get original secret key
- the receiver decrypt the report with this secret key to get the plain-text report
- the receiver decrypt the digest with vendor's public key to get original digest
- the receiver generate a digest from report with MD5 get new digest
- the receiver check if original digest and new digest are the same with each other