-
Notifications
You must be signed in to change notification settings - Fork 27
Description
We have broadly defined what the keyring trace is and what it can contain[1], and that it is included in encryption materials and decryption materials[2], but we have not defined how it is presented to the caller other than stating that it MAY be included in the encrypt[3] output (though we appear to have missed mentioning it in the decrypt output). We expose the trace in C[4][5], Java[6], and Python[7], but we do not appear to have exposed it in Javascript.
We also have not defined a consistent behavior for how keyrings should add entries. For example, if a keyring both generates a data key and encrypts it, should that result in a single entry or two?
Even where we have exposed it, however, we have not defined how we intend callers to interact with it. The trace is a list of entries; if I have received this from a client, what should I do with it in order to audit the trace entries? How to I connect a trace entry to a keyring or to a specific wrapping key?
[1] https://github.com/awslabs/aws-encryption-sdk-specification/blob/master/framework/structures.md#keyring-trace-2
[2] https://github.com/awslabs/aws-encryption-sdk-specification/blob/master/framework/structures.md#keyring-trace
[3] https://github.com/awslabs/aws-encryption-sdk-specification/blob/master/client-apis/encrypt.md#keyring-trace
[4] https://github.com/aws/aws-encryption-sdk-c/blob/749c84feddce147fb62e2ece7de34d733ef165c2/source/session_encrypt.c#L82
[5] https://github.com/aws/aws-encryption-sdk-c/blob/749c84feddce147fb62e2ece7de34d733ef165c2/source/session_decrypt.c#L118
[6] https://github.com/aws/aws-encryption-sdk-java/blob/997e80b97a33351d693f49d35b1d1e8b24da17d7/src/main/java/com/amazonaws/encryptionsdk/AwsCryptoResult.java#L60-L67
[7] https://github.com/aws/aws-encryption-sdk-python/blob/6ffc135dbecd5c63277e13d1702a7c44ca2bb3c0/src/aws_encryption_sdk/structures.py#L203