aws / aws/aws-encryption-sdk-java
duplicate requests on CMM cache miss
- 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
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