Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Protocolo de seguridad industrial, Notas de aula de Tecnologia Industrial

Protocolo de seguridad industrial

Tipologia: Notas de aula

2020

Compartilhado em 27/09/2020

hipolito-carbajal-5
hipolito-carbajal-5 🇧🇷

1 documento

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
ESPECIFICACIÓN DE PROTOCOLOS DE
SEGURIDAD
Un protocolo de seguridad es un conjunto de intercambios en los que intervienen
normalmente dos o tres entidades: La entidad iniciadora del protocolo (entidad a), la
entidad receptora (entidad b) y una tercera entidad opcional (entidad c) con la misión de
autenticación de los intercambios, distribución de claves públicas y/o claves de sesión.
El objetivo principal de un protocolo de seguridad es distribuir una clave de sesión de
forma segura entre las entidades a y b con el objetivo de tener un canal seguro de datos
entre estas entidades.
Una forma de definir los intercambios que comprenden un protocolo de seguridad es
utilizar especificaciones formales. En la figura vemos la especificación formal que
utilizaremos para representar protocolos de seguridad. En este ejemplo solo intervienen
dos entidades a y b:
PROTOCOL SPECIFICATION
CONSTANTS
a,b:address;
hola,req,ok:data.
MESSAGES
1:a->b:KPA;
2:b->a:encrypt(KPA,KS).
3:a->b:encrypt(KS,hola).
RELATIONS
1:public_key(a,KPA);
2:sesion_key(KS).
Fig 1: Ejemplo de especificación formal de protocolo de seguridad
La especificación formal que utilizaremos para representar protocolos de seguridad se
compone de cuatro campos Identificador de inicio de la especificación, Declaración de
Constantes, Mensajes implicados en el protocolo de seguridad, Declaración de
Relaciones asociadas a mensajes:
Identificador de inicio de la especificación: Este elemento determina el comienzo de la
especificación formal de un protocolo de seguridad y está formado únicamente por la
cadena de caracteres “PROTOCOL SPECIFICATION”.
Declaración de Constantes: Este elemento contiene las cadenas de caracteres que
denominaremos identificadores constantes que se utilizarán en la definición del
protocolo de seguridad. Es decir este campo comienza con la cadena de caracteres
CONSTANTS” seguida en líneas distintas de los identificadores presentes en la
especificación agrupados por tipos. Cada tipo de constantes aparecerá en una línea y
separado del siguiente por el carácter “;” y a su vez los identificadores asociados a un
tipo concreto aparecerán dentro del tipo separados por comas (“,”). El elemento finaliza
con el carácter (“.”) después del último tipo de identificadores.
Pág 1 de 3
pf3

Pré-visualização parcial do texto

Baixe Protocolo de seguridad industrial e outras Notas de aula em PDF para Tecnologia Industrial, somente na Docsity!

ESPECIFICACIÓN DE PROTOCOLOS DE

SEGURIDAD

Un protocolo de seguridad es un conjunto de intercambios en los que intervienen normalmente dos o tres entidades: La entidad iniciadora del protocolo ( entidad a ), la entidad receptora ( entidad b ) y una tercera entidad opcional ( entidad c ) con la misión de autenticación de los intercambios, distribución de claves públicas y/o claves de sesión.

El objetivo principal de un protocolo de seguridad es distribuir una clave de sesión de forma segura entre las entidades a y b con el objetivo de tener un canal seguro de datos entre estas entidades.

Una forma de definir los intercambios que comprenden un protocolo de seguridad es utilizar especificaciones formales. En la figura vemos la especificación formal que utilizaremos para representar protocolos de seguridad. En este ejemplo solo intervienen dos entidades a y b :

PROTOCOL SPECIFICATION CONSTANTS a,b:address; hola,req,ok:data. MESSAGES 1:a->b:KPA; 2:b->a:encrypt(KPA,KS). 3:a->b:encrypt(KS,hola). RELATIONS 1:public_key(a,KPA); 2:sesion_key(KS).

Fig 1: Ejemplo de especificación formal de protocolo de seguridad

La especificación formal que utilizaremos para representar protocolos de seguridad se compone de cuatro campos Identificador de inicio de la especificación, Declaración de Constantes, Mensajes implicados en el protocolo de seguridad, Declaración de Relaciones asociadas a mensajes :

Identificador de inicio de la especificación : Este elemento determina el comienzo de la especificación formal de un protocolo de seguridad y está formado únicamente por la cadena de caracteres “ PROTOCOL SPECIFICATION ”.

Declaración de Constantes : Este elemento contiene las cadenas de caracteres que denominaremos identificadores constantes que se utilizarán en la definición del protocolo de seguridad. Es decir este campo comienza con la cadena de caracteres “ CONSTANTS ” seguida en líneas distintas de los identificadores presentes en la especificación agrupados por tipos. Cada tipo de constantes aparecerá en una línea y separado del siguiente por el carácter “;” y a su vez los identificadores asociados a un tipo concreto aparecerán dentro del tipo separados por comas (“,”). El elemento finaliza con el carácter (“.”) después del último tipo de identificadores.

Mensajes implicados en el protocolo de seguridad : Este campo contiene los mensajes implicados en el protocolo de seguridad identificados por un número entero y precedidos por la entidad origen y destinataria del mensaje (entidad_origen Æentidad_destino). Un mensaje es una secuencia de identificadores constantes y/o variables y/o elementos de cifrado. Los identificadores constantes aparecen representados por cadenas en minúsculas (este es su valor) y los identificadores variables aparecen representados por cadenas en mayúsculas. La sintaxis de un elemento cifrado es: “encrypt(clave, datos a cifrar)” , donde se representa un conjunto de datos cifrados por la clave. El cifrado puede ser simétrico o asimétrico dependiendo de la naturaleza de la clave. El valor de los identificadores variables hay que evaluarlo a partir de las funciones definidas en el campo RELATIONS o bien a partir de los mensajes anteriores recibidos (u opcionalmente creados por una entidad). La estructura de este campo es la siguiente: Comienza con la cadena de caracteres “ MESSAGES ” seguida en líneas distintas de los mensajes implicados en el protocolo de seguridad que aparecerán en líneas distintas y separados por el carácter “;”. El elemento finaliza con el carácter (“.”) a continuación del último mensaje.

Declaración de Relaciones asociadas a mensajes. Este elemento contiene un conjunto de funciones o procedimientos que una entidad debe aplicar a la hora de obtener los identificadores variables que aparecen en un mensaje. Este campo comienza con la cadena de caracteres “ RELATIONS” seguida en líneas distintas de las relaciones asociadas a cada uno de los mensajes implicados en el protocolo de seguridad. Las relaciones asociadas a un mensaje concreto aparecerán en una línea específica separadas por comas (“,”) y en su conjunto separadas de las relaciones asociadas a otro mensaje por el carácter “;”.El elemento finaliza con el carácter (“.”) a continuación de las relaciones aplicables al último mensaje. Puede ocurrir que un mensaje no tenga ninguna relación asociada.

Las relaciones que utilizaremos serán las siguientes: obtención de clave pública, obtención de clave privada, obtención de clave de sesión, generación de sello de tiempo, generación de número aleatorio.

La especificación “ public_key(propietario_clave, clave pública)” significa que la entidad correspondiente tiene que obtener la clave pública de una entidad. Por ejemplo, “public_key(a, KPA)” significa que el identificador variable KPA es la clave pública de la entidad a , que deberá obtener a partir de un fichero o memoria. La clave pública de una entidad puede ser conocida por otras entidades.

La especificación “secret_key(propietario_clave, clave privada)” significa que la entidad correspondiente tiene que obtener la clave secreta o privada de una entidad. Por ejemplo, “secret_key(a, KSA)” significa que el identificador variable KSA es la clave secreta de la entidad a , que deberá obtener a partir de un fichero o memoria. Lógicamente, solo la entidad a puede poseer y obtener su clave secreta.

La especificación “sesion_key(clave_sesion)” significa que la entidad correspondiente tiene que obtener una clave de sesión. Por ejemplo, “sesion_key(KS)” significa que el identificador variable KS es una clave de sesión generada por una entidad. La forma de generar la clave puede ser simplemente a través de una función generadora de números psedoaleatorios.