Seguridad a nivel de aplicación ... ¿no terminaré simplemente duplicando TLS?

4

Estoy creando un protocolo de comunicaciones para un dispositivo personalizado, y originalmente planeaba simplemente usar Seguridad de nivel de transporte ( TLS ) Como medio de seguridad / encriptación. He recibido instrucciones (esto es para un trabajo) de que se debe utilizar la Seguridad de nivel de aplicación (ALS, que creo que tendría que definir yo), con justificaciones muy vagas detrás de esta decisión.

¿En qué tipo de situaciones es inadecuado el TLS (donde ALS es apropiado)?

¿Es probable que en el curso de la creación de este esquema de ALS, sea probable que termine reimplementando (mal) TLS, solo en el nivel de la aplicación?

    
pregunta Anssssss 14.08.2013 - 21:16
fuente

2 respuestas

4

TLS es útil para la seguridad punto a punto, donde no hay una parte intermedia, y se limita a un salto.

Seguridad de nivel de aplicación (ALS) probablemente significa seguridad de nivel de mensaje, como la especificación WS-Security , que permiten:

  • Seguridad de extremo a extremo (frente a punto a punto en TLS)
  • Mayor flexibilidad (se pueden firmar / cifrar partes del mensaje en lugar de todo el mensaje)
  • Soporte para múltiples transportes (TCP, UDP, incluso he visto SMTP, y más)
  • Soporte para un amplio conjunto de credenciales y reclamaciones.

Las desventajas son

  • No hay transmisión de medios. La seguridad de los mensajes está fuera de servicio y no es posible un flujo de bits a menos que un protocolo de soporte garantice la recepción y la retransmisión en orden.
  • Más lento que TCP. Los saltos múltiples implican una latencia más alta
  • No hay aceleradores de hardware disponibles (o son difíciles de encontrar)
  • La seguridad de los mensajes puede ser difícil de interoperar con otros proveedores. El soporte de seguridad XML varía según el proveedor.

Existe mucho más sobre este tema en el sitio WCF de Microsoft

Lo ideal es que desee considerar Seguridad de transporte y credenciales de mensajes:

La protección de un servicio con credenciales de transporte y de mensaje utiliza lo mejor de los modos de seguridad de transporte y de mensajes en Windows Communication Foundation (WCF). En resumen, la seguridad de la capa de transporte proporciona integridad y confidencialidad, mientras que la seguridad de la capa de mensaje proporciona una variedad de credenciales que no son posibles con los estrictos mecanismos de seguridad del transporte.

    
respondido por el random65537 15.08.2013 - 02:28
fuente
6

Por lo general, cuando las personas dicen que no quieren TLS sino algo llamado "nivel de aplicación", la verdad cruda y desnuda es que no saben de qué hablan.

Tenga en cuenta la "usualmente", sin embargo: hay situaciones en las que TLS es insuficiente, y se necesita algo más y se debe aplicar en algún nivel que pueda denominarse "aplicación". El caso principal es cuando algún cliente tiene que enviar solicitudes con algún tipo de responsabilidad exigible; en pocas palabras, cuando las solicitudes deben estar firmadas para que, en caso de que surjan problemas, la solicitud pueda servir como prueba durante un juicio. TLS no hace firmas; usa firmas internamente, pero solo para autenticación. El cliente puede estar seguro de que habla con el servidor correcto (y también viceversa, si se utilizan certificados de cliente), pero no tiene ninguna prueba que pueda ser convincente ante los ojos de un juez.

Por supuesto, es poco probable que las personas que requieren "ALS" pero que no pueden dar especificaciones decentes estén al tanto de tales sutilezas. Probablemente solo están aplicando un pedazo de dogma que no entienden. Para contrarrestar eso, haga lo que le pidan: implemente alguna Seguridad de nivel de aplicación que consiste en intercambiar "mensajes" como "secuencias de bytes" que resultan ser idénticas a lo que se describe en RFC 5246 .

Este punto se ha hecho antes, brillantemente, en un formato gráfico fácil de entender:

(Espero que los abogados de Scott Adams me perdonen por citar esta extraordinaria sabiduría)

    
respondido por el Tom Leek 14.08.2013 - 21:59
fuente

Lea otras preguntas en las etiquetas