Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PDF Funciones de Presentacion y Asn1 DL
PDF Funciones de Presentacion y Asn1 DL
Funciones de Presentación y
ASN.1
Comunicación de Datos
Curso 2012/13
Representación de datos
• Objetivos fundamentales del nivel de Presentación:
- Proporcionar una interfaz para ejecutar las primitivas del
inicio de sesión.
- Proveer y controlar una notación para especificar estructuras
de datos complejas.
- Servicios adicionales que afectan al transporte de la
información, como seguridad y compresión.
PARTE 1
FUNCIONES DE PRESENTACIÓN
Funciones de la capa de
Presentación
• Formateo de datos
• Cifrado de datos
• Compresión de datos
Formateo de datos
• Para comprender el funcionamiento del formateo de datos, existen
dos sistemas diferentes: EBCDIC y ASCII.
• Ambos sistemas representan los caracteres en la pantalla.
• La capa de presentación actúa como traductor entre EBCDIC y
ASCII.
• Los archivos de texto ASCII contienen datos de caracteres sencillos
sin comandos de formato (negrita, cursiva…). Ejemplo de
aplicación: El bloc de notas.
• El código EBCDIC es similar al ASCII por no tener ningún formato
sofisticado. Pero EBCDIC se utiliza en sistemas mainframe (grandes
ordenadores), y ASCII se utiliza en los PC’s.
• Unicode es una ampliación de ASCII muy utilizada actualmente.
Formateo de datos
Los estándares
• presentación dede
laslaimágenes
capa 6 también
gráficasdeterminan la JPEG…).
(GIF, TIFF,
• Otros estándares regulan la presentación de sonido y vídeos
(MIDI, MPEG, QuickTime)
Cifrado de datos
• La capa 6 también se encarga del cifrado de datos, que evita
accesos no autorizados a cierta información en el host, y hace
inentendibles la información transmitida por la red (Por
ejemplo, los datos de las tarjetas de crédito)
• El texto que el emisor debe transmitir de forma segura se
llama texto plano P. El emisor lo cifra (texto cifrado C) y el
receptor descifra C para obtener P.
• Se utiliza una función Ek(.) de encriptado y una función Dk(.)
de desencriptado.
Cifrado de datos
• Deben existir el mayor número posible de funciones Ek(.),
para “despistar” a una persona no autorizada.
• Las diferentes funciones corresponden a diferentes códigos o
parámetros del código usado por el cifrador.
• Cada código se identifica por una clave k que especifica el
algoritmo de codificación.
• Si las claves de cifrado y descifrado son iguales el cifrado es
simétrico.
• En caso contrario, el cifrado es asimétrico.
• El algoritmo debe estar acordado por emisor y receptor.
• Tipos de algoritmo simétrico: DES, RC5.
• Tipos de algoritmo asimétrico: RSA, Diffie-Hellman.
Tipos de cifrado
Compresión de datos
• Otra de las funciones de esta capa de presentación es la compresión
de los archivos.
• La compresión funciona mediante el uso
u so de algoritmos (fórmulas
matemáticas complejas) para reducir el tamaño de los archivos.
• El algoritmo busca patrones de bits repetidos en el archivo y
entonces los reemplaza con un token.
• Un token es un patrón de bit mucho más corto que representa el
patrón largo.
• Una analogía sencilla puede ser el nombre Rafa (el apodo), el token,
para referirse a alguien cuyo nombre completo sea Rafael.
• Existen dos tipos de algoritmos de compresión: con pérdida y sin
pérdida .
Compresión de datos
• Algoritmos con pérdida: • Algoritmos sin pérdida:
Se utilizan para representar cierta Se utilizan para representar cierta
cantidad de información cantidad de información
utilizando una menor cantidad de ocupando un espacio menor. La
la misma. La reconstrucción reconstrucción de los datos
exacta de los datos originales es originales es posible. Ejemplos:
imposible. Ejemplos: JPEG, RAR, ZIP, 7Z.
MPEG, MP3.
PARTE 2
CONVERSIÓN SINTÁCTICA
ASN.1
Conversión Sintáctica
• Se trata de acordar una sintaxis de transferencia
común.
ASN.1 en SNMP
SNMP
• Existen distintos tipos en SNMP
– Tipos estándares (p.e. INTEGER)
(p.e. INTEGER)
ASN.1 en SNMP
SNMP
• Datos primitivos ASN.1 permitidos en SNMP
ASN.1 en SNMP
SNMP
• Ejemplos:
Def. de variable: count INTEGER ::= 100
Def. de enumerados: Status ::=
INTEGER{up(1),down(2),unknown (3)}
Def. de subrangos: PacketSize ::= INTEGER(0..1023)
Def. de objetos: {iso identified-organization(3)
ASN.1 en SNMP
SNMP
• Se pueden construir tipos nuevos a partir de los
básicos usando:
– SEQUENCE: Secuencia ordenada de tipos.
– SEQUENCE OF: Vectores del mismo tipo ordenados de
una dimensión.
– CHOICE: Crea una unión a través de una lista de tipos.
– Tipos referidos: Nuevos tipos a través de otros existentes.
Se pueden
contexto especificar categorías: universal, aplicación,
y privado.
– Macros: Modelos genéricos que definen prototipos para
tipos de datos complejos.
ASN.1 Sintaxis de
Transferencia
• Define la forma de codificar y decodificar sin ambigüedad los
valores expresados con ASN.1 para su transmisión y recuperación
por la red.
ASN.1 Sintaxis de
Transferencia
• El identificador es uno o más octetos con tres campos:
– Etiqueta (2 bits): 00-Universal, 01-Aplicación, 10-Específico, 11-
Privado.
– Tipo (1 bit): 0-Primitivo, 1-Construido.
– Valor etiqueta (5 bits): Tipo de valor si está en el rango 0..30. Si es 31
o mayor entonces la etiqueta será 11111 y habrá uno
un o o más octetos
detrás del primero. En caso de existir se usan los últimos 7 bits, el
primer bit de cada octeto vale 0 excepto
excepto en el último, que vale 1.
La longitud
• octetos del campo de datos es un octeto que contiene el número de
de datos.
• El campo de datos contiene los valores de los objetos que se quieren
transmitir.
ASN.1 Sintaxis de
Transferencia
• Las cadenas de octetos utilizan big endian (de izquierda a
derecha, MSB a la izquierda)
• El valor nulo tiene el campo de longitud 0. No transmite
ningún valor numérico.
• Ejemplos:
– Entero 49: [ID. 00-0-00010] [LONG. 00000001] [VAL.
[ VAL. 00110001]
– Cadena de octetos “xy”: [ID. 00-0-00100] [LONG. 00000010] [VAL.
01111000 01111001]
– Valor Nulo: [ID. 00-0-00101] [LONG. 00000000]
ASN.1. Ejemplo
FooProtocol DEFINITIONS ::= Mensaje .
BEGIN
FooQuestion ::= SEQUENCE
myQuestion FooQuestion ::= {
{
trackingNumber 5,
trackingNumber
INTEGER, question “Anybody there?”
}
question IA5String
}
END Este código lo vamos a
codificar en DER
(Distinguished Encoding
Rules)
=> Siguiente Transparencia.
ASN.1. Ejemplo
Traducción a DER
ASN.1. Ejemplo.
Ejemplo.
• 30 13 02 01 05 16 0e 41 6e 79 62 6f 64 79
20 74 68 65 72 65 3f
Bibliografía
• Comunicación de Datos Tema 8, Enrique Alba Torres,
Universidad de Málaga
• http://www.adrformacion.com/cursos/wserver082/leccion
3/tutorial7.html
• http://msdn.microsoft.com/es-
es/library/windows/desktop/bb648643(v=vs.85).aspx
• http://en.wikipedia
http://en.wikipedia.org/wiki/Abstract_Syn
.org/wiki/Abstract_Syntax_Notation_O
tax_Notation_O
ne