¿Es sensato canalizar el tráfico TLS sobre otro TLS?

4

Me gustaría asegurar el tráfico de mi aplicación utilizando TLS con certificados autofirmados predefinidos (como reemplazo directo de TCP simple).

En algunos casos, dos clientes no podrán hablar entre sí directamente debido a la presencia de NAT y tendrán que recurrir a una retransmisión accesible para canalizar el tráfico entre ellos. Me gustaría proteger la conexión entre el cliente y el relé, y tampoco quiero que el relé vea el texto sin formato destinado a los clientes.

Parece que un cliente tendría que conectarse para retransmitir a través de TLS y luego establecer otra sesión TLS para el segundo cliente a través de la conexión TLS existente. Sé que cifrar dos veces no es más fuerte que cifrar una vez , pero ¿cuánto estaría en problemas un cliente en este caso?

    
pregunta aitap 18.01.2017 - 14:05
fuente

1 respuesta

3

Si lo comprendo correctamente, este es un diagrama de red aproximado de su situación:

EstásdiciendoqueAyBquierenhablar,peronopuedendirectamente,asíqueusanRelay.EstápensandoenqueAconfigureunaconexiónencriptada(TLS)pararetransmitiryluegoutiliceRelaycomounproxyparaconectarse(atravésdeotrotúnelTLS)aB

Estosuenacomplicado,perobásicamentesiusaunproxyhttpsocualquierservidorVPN(porejemplo,mycompany.example)yseconectaaotrositiohttps(porejemplo,bank.example),yaestáaplicandoelcifradodecapasenelcifrado.Veamoscómofuncionanlasopcionesposibles(capasonocapas).

Opción1:cifrarA<->BperonoA<->RelayniB<->Relay

Sinohaceuntúneldentrodeltúnel,estaríaenviandopaquetesdeAaRelayydeRelayaBsinencriptar.PerocomoestándestinadosaB,eltráficosecifraráparaB,nadiepuedeleerelcontenidodelaconexión(soloAyBellosmismos).LaúnicainformaciónqueseestáfiltrandoacualquieraqueescucheenelcaminoentreA<->RelayyRelay<->BesqueAyBseestáncomunicando.Elrelénopodráleerelcontenidodelaconexión.

Opción2:cifrarA->RelayyA->B

Si,comoestápreguntando,hayuntúnelentreAyRelayyentreAyB,entonceslaspersonasqueescuchanenA<->RelaysolopuedenverqueAseestácomunicandoconRelay;ylaspersonasqueescuchenenRelay<->BsoloveránqueRelayseestácomunicandoconB.ElRelaynopodráleerelcontenidodelaconexión.

Opción3:cifrarA->RelayyB->Relay

Finalmente,existelaopcióndecifrarlaconexióndeAaRelay,peronodeAaB(ysuponiendoqueBtodavíaestableceunaconexión(TLS)aRelayporqueestádetrásdeNAT).Enesecaso,eltráficoestransparenteparaelRelay,perocualquierpersonaqueobservesoloverálaconexióndeAaRelayydeBalRelay.

Entonces,dependedesiesunproblemasilaspersonasqueinterceptanlaslíneaspuedenvereldestinodelospaquetes(esdecir,AyB).DobleencriptadosignificadoblepoderdeCPUparaAyB(soloensingularparaRelay,yaquenodescifraelcontenido,sololacapaexterna),peronoestoysegurodequehayaunagrandiferenciaolohabríasmencionado.

(Créditos:laimagenserealizócon enlace . El XML está en la fuente de esta publicación).

    
respondido por el Luc 18.01.2017 - 14:54
fuente

Lea otras preguntas en las etiquetas