Cuando se considera la seguridad en sistemas distribuidos, resulta muy útil pensar en función de cliente y servidor. En este modelo los servidores posiblemente pueden ser distribuidos o replicados aunque también actúan como cliente con respecto a los demás servidores. En particular, implementar un sistema distribuido se reduce esencialmente en dos temas predominantes.El primero es como hacer segura la comunicación entre cliente – servidor y el segundo tema es la autenticación.
Autenticación
Primeramente vale la pena señalar que la autenticación y la integridad de los mensajes no se pueden realizar una sin la otra, por consiguiente la autenticación y la integridad del mensaje deben ir de la mano. Supongamos que Bob y Alicia desean comunicarse y que Alicia toma la iniciativa al establecer un canal, Alicia envía un mensaje a Bob o de lo contrario a una tercera parte confiable que le ayudara establecer el canal. Una vez que el canal ha sido establecido Alicia sabe que esta hablando con Bob y este sabe con toda seguridad que esta hablando con Alicia y así pueden intercambiar mensajes.
Autenticación Basada en una Clave Secreta Compartida:
Autenticación Mediante un Centro de Distribución de Clave:
Uno de los problemas que se presenta con el uso de la clave secreta compartida para autenticación es su escalabilidad. Una alternativa es utilizar un método centralizado por medio de un centro de distribución de clave (KDC, por sus siglas en ingles). Este KDC comparte una clave secreta con cada uno de los servidores, pero no se requiere que ningún par de ellos tenga también una clave secreta compartida.Autenticación con Criptografía de Clave Publica:
Abordaremos la autenticación con un criptosistema de clave publica que no requiere un KDC. De nueva cuenta, consideramos la situación en que Alicia desea establecer un canal seguro con Bob, y que ambos poseen la clave publica del otro.Integridad y Confidencialidad del Mensaje
Integridad del mensaje significa que los mensajes están protegidos contra modificaciones subrepticias, la confidencialidad asegura que los mensajes no pueden ser interceptados o leídos por fisgones. La confidencialidad es fácil de establecer simplemente con cifrar un mensaje antes de enviarlo. El cifrado puede tener lugar o mediante una clave secreta compartida con el destinatario o alternativamente con la clave pública del destinatario.
Claves de Sesión: Durante el establecimiento de un canal seguro, una vez completada la fase de autenticación las personas que se están comunicando utilizan por confidencialidad una clave única de sesión compartida. La clave de sesión se desecha en forma segura cuando cuando el canal ya no se utiliza. Una alternativa seria utilizar las mismas claves para confidencialidad que las utilizadas para establecer el canal seguro.
Comunicación Segura de un Grupo
En sistemas distribuidos sin embargo a menudo es necesario habilitar la comunicación segura entre dos partes un ejemplo típico es el de un servidor replicado donde toda la comunicación entre las réplicas deberá protegerse contra modificación, fabricación, e intercepción.
Comunicación Confidencial de un Grupo: Para garantizar la confidencialidad, un esquema simple es que todos los miembros del grupo compartan una clave secreta, la cual se utiliza para cifrar y descifrar todos los mensajes transmitidos entre los miembros del grupo. Como en este esquema todos los miembros comparten la clave secreta, es necesario confiar en que la conservarán secreta.Servidores Replicados Seguros: La esencia de los servidores replicados transparentes radica en lo que se denomina compartimiento de un secreto. la ventaja de este esquema es que. como los clientes desconocen las replicas existentes, resulta mucho más fácil agregar o eliminar réplicas en forma segura. Cuando múltiples usuarios (o procesos) comparten un secreto, ninguno de ellos conoce el secreto completo.
Fuente: https://sandralrp.wixsite.com/misitio/post/2-canales-seguros
http://construyendounmundobitabit.blogspot.com/2018/01/canales-seguros.html
No hay comentarios.:
Publicar un comentario