Perfect Forward Secrecy , en el contexto de TLS, significa que la clave utilizada para descifrar cosas en realidad no se guarda en ninguna parte , y por lo tanto es inmune al robo ulterior.
En las suites DH sencillas, el certificado del servidor contiene la clave pública DH, y la clave privada correspondiente es la que se guarda en un archivo en algún lugar del servidor. Si alguien roba esa clave (por ejemplo, de un viejo disco duro fuera de servicio, o una cinta de copia de seguridad mal colocada), entonces puede usarla para descifrar las conexiones pasadas que grabó (por escuchas pasivas en la línea) antes del robo de la clave. El mismo problema se aplica a las suites de cifrado RSA simples, que son mucho más comunes que las DH simples (los certificados que contienen una clave DH son bastante raros).
Con las suites DHE, los certificados de servidor contienen una clave pública RSA o DSA. Cuando se inicia (o con cada nueva conexión), el servidor crea un nuevo par de claves DH que se mantiene solo en la memoria RAM. El servidor envía la clave pública DH como parte del protocolo de enlace TLS, y firma esa clave pública con su clave DSA o RSA (la que almacena en un archivo). Nuestro atacante ladrón, una vez que obtuvo una copia de la clave RSA o DSA, puede falsificar sus propias firmas, pero no obtendrá la clave privada DH, ya que no estaba almacenada en ninguna parte. Por lo tanto, DHE evita que el ladrón clave descifre las sesiones pasadas, que es el punto de PFS.
PFS es una propiedad deseable (aunque solo sea para relaciones públicas), así que use DHE (o su variante de curva elíptica ECDHE) cuando sea posible. Puede usar un poco más de CPU y ancho de banda, pero se necesitarían cientos o incluso miles de sesiones nuevas de TLS por segundo para notar la diferencia.
SRP es algo completamente diferente. Es un mecanismo de intercambio de claves donde no hay ningún certificado. En su lugar, el cliente y el servidor comparten un valor secreto común y se autentican mutuamente con respecto a ese valor secreto. Es muy ingenioso ya que tolera bastante bien los secretos compartidos de baja entropía, también conocidos como "contraseñas" (a diferencia de los conjuntos de cifrado "PSK" que son más simples pero que necesitan un secreto compartido de alta entropía). El principal inconveniente de SRP es que los navegadores habituales no lo admiten (todavía).