aws / aws/aws-encryption-sdk-java

duplicate requests on CMM cache miss

Abierto
#2,176 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
240
Forks
125
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Problem:

While profiling an application we noticed duplicate request for encryption keys and decryption keys, typically after an DEK has just expired

### Solution:

The cause of this was on a miss used by expiration of an encryption DEK or a decryption DEK. In our case both were related to TTL
for a simple example - imaging 10 threads encrypting data, using the same keys. The key expires, and 10 threads, make 10 request to the MasterKey for 10 new encryption DEKs, which causes a little more latency, and cost (if the underlying KMS charges)

I think that the library can easily de-duplicate these requests (maybe as an option). We have done this in our application

Happy to contribute/colaborate on this but will need some steer from the maintainers

### Out of scope:

Is there anything the solution will intentionally NOT address?

[//]: # (NOTE: If you believe this might be a security issue, please email aws-security@amazon.com instead of creating a GitHub issue. For more details, see the AWS Vulnerability Reporting Guide: https://aws.amazon.com/security/vulnerability-reporting/ )

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza rastreando el flujo de cache miss de CMM en torno a la expiración de DEK durante el cifrado y el descifrado, incluido cómo llegan las solicitudes al MasterKey. Reproduce el caso reportado con hilos concurrentes y TTLs expirados; se debe considerar terminado cuando los misses concurrentes equivalentes se dedupliquen sin cambiar el comportamiento de recuperación de claves, con orientación de los maintainers sobre el diseño de la API o de la opción.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
cryptography, security
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.