TLS: ¿es posible la autenticación y el secreto de reenvío sin PKI?

0

Estoy creando un proyecto que consiste en un sistema cliente / servidor que requiere TLS sin PKI ..

Requisitos de diseño:

El cliente DEBE autenticar que se está comunicando con el servidor "EL"

El servidor DEBE autenticar que se está comunicando con el cliente 'A'

La comunicación DEBE ser confidencial

La confidencialidad de una sesión NO DEBE retransmitirse sobre la confidencialidad de una sesión anterior (también conocida como confidencialidad hacia adelante)

Y DEBE verificarse la integridad de los datos transmitidos

Estoy pensando en usar DHE para PFS, SRP (o PSK alternativamente) para la autenticación con cifrado AES / CBC y SHA para la integridad.

Mis preguntas son ...

¿Es posible esta pila de protocolos?

¿Es confiable la confidencialidad de AES 256 CBC?

¿Se cumplirán todos los requisitos con este diseño?

¿Y si un tercero obtiene la contraseña SRP / PSK de un cliente, podrá evastar a otros clientes?

ps: estoy buscando la opción de seguridad más alta posible

Gracias de antemano por cualquier comentario y disculpas por cualquier confusión causada, acabo de empezar a aprender sobre criptografía ..

    
pregunta Aristos Miliaressis 12.07.2017 - 21:41
fuente

1 respuesta

2

No es necesario utilizar una PKI con TLS. Lo único que hace una PKI es hacer que la autenticación forme parte de la escala TLS. Al usar certificados autofirmados, PSK o información de confianza similar (como certificados o claves precompartidas) deben distribuirse a todos los interlocutores de la comunicación de forma segura. Esta información también debe mantenerse actualizada, es decir, cuando se agregan nuevos socios de comunicación, los secretos se ven comprometidos o son similares. En lugar de usar una PKI, este proceso se reduce a compartir los anclajes de confianza (certificados raíz) que rara vez necesitan actualizarse y verificar periódicamente si se revocó un certificado. El uso de PKI le permite crear y compartir fácilmente nueva información de confianza y también revocar y reemplazar la información de confianza comprometida.

Si ya tiene control total sobre todos los interlocutores de la comunicación y también tiene una forma segura de distribuir nueva información de confianza y también revocarla si está comprometida, entonces no necesita usar una PKI. Si aún no tiene esta infraestructura, utilizar una PKI puede ser más fácil y probablemente más seguro que implementar todo usted mismo.

En cuanto a la pila de protocolos específicos que mencionas: Si bien la autenticación PSK / SRP se puede usar en teoría con DHE / ECDHE como intercambio de claves como dave_thomson @ se señala correctamente en un comentario a continuación, estos sistemas de cifrado parecen raramente implementados. Pero con la autenticación basada en certificados, DHE / ECDHE se usa comúnmente y los certificados autofirmados tampoco necesitan una PKI. Además, mientras que AES con SHA-256 son cifrados seguros que utilizan AEAD como los cifrados GCM son los preferidos hoy en día. Y se prefiere ECDHE en comparación con DHE.

  

¿Y si un tercero obtiene la contraseña SRP / PSK de un cliente, podrá escuchar a escondidas a otros clientes?

Si se obtiene el secreto esencial (clave precompartida, contraseña, clave privada), un atacante no podrá descifrar los datos detectados si se utiliza DHE / ECDHE para el intercambio de claves. No estoy seguro de cómo se comportará el intercambio de claves PSK / SRP en este sentido. Pero en todos los casos, el atacante puede hacerse pasar por el interlocutor y obtener acceso al tráfico descifrado dentro de un hombre en el ataque central. Dado que el atacante tiene el secreto, esto puede hacerse sin que la otra parte se dé cuenta del problema, es decir, la autenticación sigue siendo satisfactoria. Esta es una de las razones por las cuales se debe implementar la revocación y reemplazo de tales secretos, que ya está incluido en la PKI.

    
respondido por el Steffen Ullrich 12.07.2017 - 22:16
fuente

Lea otras preguntas en las etiquetas