What:
Dovetail will provide a optional parameter ("–security") for user to secure the way to authenticate the integrity for both dovetail tool and report.
With this parameterapproach, dovetail will generate a report in cipher-text and a secret key in cipher-text together instead of a single generates a digital signature along with the plain-text report and meanwhile a digital signature comes together to keep its integrity . Then the reviewer can use this signature to validate the integrity of the dovetail tool and the 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 tampered with by any unexpected person,they can simply add this parameter into the command line, can be easily modified during storage and transportation.
Reviewer need to make sure that the report is generated by a validated tool from the release and its result can not be modified to remove a failure or something like that.
Users do not need to know or learn any details about that how to securethis procedure.
How:
The whole security authenticating 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