Reimplement `authenticated` defence on the `Data` asset to work analogously to how encryption works, via the `Credentials` asset. This allows the attacker to "break authentication" if they are able to compromise the credentials used for signing. This was also requested by @jesajx in #39.