Problemas al borrar secretos en código
- Borrar secretos con memset() puede ser optimizado y eliminado por el compilador
- Usar almacenamientos volátiles puede escribir ceros en memoria que nunca contuvo el secreto
- Funciones de borrado separadas fuerzan copias en la pila que permanecen después del borrado
- En comparaciones, el compilador puede crear copias adicionales que sobreviven al borrado
- El borrado ciego puede dejar más copias del secreto que el código original
seguridad · optimizacion · memoria · criptografia · compiladores