SSL normalmente utiliza la técnica MAC-then-Encrypt en lugar de Encrypt-then-MAC (que generalmente se considera ideal para la mayoría de los escenarios). Yo mismo no tengo un conocimiento completo sobre los méritos y desventajas de ambas técnicas, pero en base a lo que he leído y entendido hasta ahora, creo que usar Encrypt-then-MAC en el caso de SSL hubiera tenido más sentido .
También creo que esto habría protegido SSL contra muchos ataques en el pasado. Por ejemplo, al hablar sobre la prevención de ataques de Padding Oracle en SLL, @Tomas Pornin citó en una de sus respuestas :
Uno debe tener en cuenta que si SSL ha utilizado cifrar y luego MAC, tales problemas habría sido evitado (los registros defectuosos habrían sido rechazados en el nivel MAC, antes incluso de considerar el descifrado).
¡Y, incluso después de todos estos ataques en el pasado, SSL aún NO está utilizando Encrypt-then-MAC! Entonces, mi pregunta es, ¿por qué seguimos usando MAC-then-Encrypt en SSL? ¿Por qué no simplemente usar Encrypt-then-MAC para solucionar los problemas, en lugar de aplicar pequeñas ayudas de parcheo cada vez? ¿Qué es lo que nos impide usarlo en caso de que de SSL?