17.9. Document Signature
SavaPage generates a digital signature for every document printed-out or downloaded. Digital signatures are generated using a cryptographic technique called Hash-based Message Authentication Code (HMAC) [1]. The algorithm takes various output job attributes such as job time, user name, document name and UUID, and combines them with a secret key. The result is then passed through the MD5 digest algorithm. The resulting signature is unique to the document instance [2]. The applied secret key ensures the authenticity of the signature.
The algorithm used is:
Digest = Hash(date time || user name || document name || document UUID)Signature = Hash(Digest || Key)
where
Keyis a random string generated by SavaPage at initial installation. It is stored ashmac.keyproperty in the/opt/savapage/server/data/encryption.propertiesfile, which is also used for Encrypted Secrets.Hashis the MD5 function.date timeis formatted inISO 8601basic format from year to second (yyyyMMddTHHmmss). The time is local time (not UTC). E.g.20120906T151231.
Note
The signature is stored in the database for future use.