B4-T8_HTTP-SSL/TLS Flashcards

1
Q

¿Cómo se denominan dentro de internet a las grandes redes con cobertura internacional?

A

tier-1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué identificación tiene que tener toda RED de un ISP, sea del nivel que sea, dentro de internet?

A

Un numero de sistema autónomo (AS).
Los asigna la IANA/RIR.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cuáles son los 2 organismos reguladores principales de internet?

A

*IANA/ICANN => RIR (RIPE: EUROPA)

*IETF => RFC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es una Red de Distribución de Contenido (CDN)?

A

Cuando una empresa tiene saturados sus servidores y necesita mayor ancho de banda, contrata una CDN.

Que es una red paralela o superpuesta a la de la empresa de servidores donde se copian los datos de los servidores de la empresa maximizando el ancho de banda.

AKAMAI y CLOUDFARE son las más conocidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuál es la diferencia entre HTTP 1.1 y HTTP 2?

A

Que HTTP/2 ya no es modo CARÁCTER, sino BINARIO, por lo cual, es + optimizado.

NOTA: al ser binario, tiene una trama (frame).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cómo se suele denominar al tráfico (con coste) entre una red de tier-2 y una de tier-1?

A

Tránsito o acuerdos de tránsito (tráfico vertical, hacia arriba)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Para que los ISP usen lo menos posible el tráfico de tránsito (coste) hacia redes de niveles superiores en internet, ¿qué solución se ha diseñado?

A

Se les denomina acuerdos de peering. Pueden ser:
* privados (entre iguales => free)
* públicos (se realiza a través de un IXP o punto de acceso neutro => gastos comunes de mantenimiento)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es un nodo IXP?

A

Es una estructura física (mini CPD) a través de la cual los proveedores de internet (ISP) intercambian el tráfico de internet entre sus redes, para evitar acuerdos de TRÁNSITO (cuestan dinero)=> reduce la porción de tráfico de un ISP que debe ser entregado hacia su proveedor -> lo que reduce el coste promedio por bit de entrega de su servicio.

*VENTAJA: reduce coste (sólo mantenimiento), latencia y ancho de banda => aumentando la velocidad.
Ej: es donde se conectan las plataformas tipo NETFLIX.

NOTA: IXP, tiene mucha tecnológica de fibra a nivel de “switching” (capa 2: ENLACE).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿En qué se diferencian un CPD de un IXP?

A

El CPD (Centro de Proceso de Datos) es un edificio o sala de gran tamaño usada para mantener en él una gran cantidad de equipamiento informático y servidores. Y, puede alojar algún IXP que no vaya independiente.

En cambio, el IXP (punto de intercambio de Internet) es una infraestructura física a través de la cual diferentes ISP conectan sus redes por medio de SWITCH (Nivel 2: enlace).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Nombre 3 organizaciones españoles que gestionen IXP:

A

*CATNIX
*DE-CIX
*ESPANIX (sin animo de lucro): es el + importante de España y el 2º de Europa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué relación hay entre una URL y una URI?

A

Que la URL es un tipo de URI en la que la primera parte (esquema) puede ser:
* http / https
* file
* mailto
* ftp
* news
* etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cómo se clasifican los protocolos de enrutamiento en internet?

A

*Interiores => IGP: protocolos usados DENTRO de un AS: RIP, OSPF y EIGRP.

*Exteriores => EGP: protocolos usados ENTRE sistemas autónomos (AS): BGP es el + conocido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿En qué 3 grandes redes se divide la arquitectura de internet?

A

*TIER-1: BlackBone (columna vertebral) o CARRIER (transportadora de internet)=> para intercambio de tráfico masivo de ámbito MUNDIAL: para formar parte de las T-1 existen varios requisitos, como x ejemplo el alcance mundial.

*TIER-2: paises o ciertas zonas geográficas.

*TIER-3: ISP => proveen internet al usuario final.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué tipos de acuerdos existen para el tráfico de internet?

A

1.CON COSTE: acuerdos de TRÁNSITO, se dan a nivel vertical.

2.SIN COSTE:
2.1.Peering PRIVADOS: entre iguales => redes T-1 entre sí, no lleva cargo económico porque no tienen que acceder a una red superior que los una.
2.2.Peering PÚBLICOS: IXP => evitan tráfico de Tránsito y comunican cualquier TIER. Su único coste es de mantenimiento en función del ancho de banda del enlace que adquieran (es donde se enganchan los CDN)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué verbos HTTP son SEGUROS e INDEMPOTENTES?

A

*GET: es para CONSULTA=> es decir, si hago un “get” de una imagen me devuelve la imagen (recurso) sin modificación.

*HEAD: no obtiene el recurso, sino las CABECERAS de ese recurso pesado.

*OPTION: para preguntar que métodos SOPORTA la URL antes de ejecutar dichos métodos. Ej: saber si se le puede hacer un GET o un POST antes de hacerlo.

*TRACE (=rastro): te devuelve el MISMO valor mandado con “Trace”.

MNEMOTECNIA: GHOT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿El protocolo HTTP mantiene estado entre peticiones?

A

No, es STATLESS, es decir no tiene memoria para las distintas peticiones => cada petición es el estado incial, NO hay una que se distinga de la anterior (las cookies de sesión son un invento para paliar este hecho)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué verbos de HTTP no son idempotentes?

A

*POST: envía datos a una URL y lo que haga con dichos datos no lo sabemos => no podemos inferir en el comportamiento de una URL que invoque POST.

*PATCH: modificaciones “parciales” de un recurso (Ej: dar de alta la factura nº 1) si no existe la creará y si existe la actualiza.

*CONNECT: Para establecer un túnel a través de un proxy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué tipos de verbos se utilizan en HTTP?

A

*SEGUROS: son READ-ONLY = no modifican el recurso: GET, HEAD, OPTION y TRACE => los verbos o métodos SEGUROS también son INDEMPOTENTES.

*INDEMPOTENTES: cuando ejecutas el verbo el efecto siempre es el mismo: son los verbos SEGUROS, más DELETE (borrar recurso) y PUT (poner recurso en una URL: crea o reemplaza).

*NO IDEMPOTENTES: NO repiten resultados: POST, PATH y CONNECT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué es una URI (Identificador de Recurso Uniforme)?

A

Es un esquema o formato de cadena formado por un esquema URL (HTTP/HTTPS, File, Mailto, …) y el otro trozo de la cadena URN.

1.La URL (Localizador de Recurso Uniforme): son para LOCALIZAR, tipo FS (empiezan por http://, https://, mailto,..)

  1. La URN (Nombre Uniforme de Recurso) para IDENTIFICAR los recursos (empieza por “urn”).
    Ej: urn: isbn:44-abc-126: identifica a un libro por su ISBN (identificador de titulo)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Cuál es el funcionamiento básico de HTTP?

A

Cuando hacemos una petición HTTP, nuestro navegador manda al servidor web (que es la entidad que va a responder a nuestra petición) unas cabeceras con el formato: un verbo + /url + versión del protocolo que estemos usando (HTTP 1.1) y una linea en blanco (donde iría el cuerpo si lo hubiera).

FORMATO de las CABECERAS HTTP: User Agent &raquo_space;—–ENVÍA—–> HTTP Server (Verbo+URL+versión HTTP+linea en blanco o cuerpo).

NOTA: en estas cabeceras se indica el destino, lenguaje que se acepta, codificación que se acepta, formato de imágenes que se acepta, body, …
EJEMPLOS:
Host:www.Madrid.es
Accept: image/gif
Accpet: Enconding: gzip
[linea en blanco para body]

NOTA2: el servidor responde con otra cabecera con sus requisitos e intentan llegar a un acuerdo.

*Cabecera REQUEST (petición) y cabecera RESPONSE (respuesta).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Qué son las extensiones de WebDAV?

A

Un conjunto de verbos HTTP nuevos para “tratar” el espacio de url’s como si fuera un sistema ficheros (algo así como un FTP).

*MKCOL: crear directorios.
*MOVE: mover un recurso de una URI a otra.
*COPY
*SEARCH
*UNLOCK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué quiere decir que el protocolo HTTP 1.1 sea orientado a carácter?

A

Que lo que transmite son mensajes de caracteres o texto que viajan por internet, es decir NO hay PDU ni trama alguna.

NOTA: mismo funcionamiento que POP, FTP y SMTP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿En qué se diferencian FTP y SMTP?

A

Con FTP el usuario puede enviar y recibir archivos desde y hacia el ordenador, mientras que SMTP se utiliza para entregar el correo al buzón de correo del usuario configurado en el servidor de correo electrónico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Qué significa en una petición HTTP la cabecera Connection: keep-alive?

A

No queremos que se cierre la conexión TCP subyacente (optimización)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

¿Para qué sirve la cabecera Accept-Encoding en una petición HTTP?

A

Para decirle al servidor que aceptamos que nos envíe la información comprimida con gzip por ej.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

¿Para qué sirve la cabecera LOCATION en una respuesta (RESPONSE) HTTP?

A

Para informarle al navegador que haga una redirección a una nueva URL.

EJEMPLO1:
Si pedimos un recurso que estuviera en otra URl.
EJEMPLO2:
cuando una página nos pide una calve, nos redirecciona a la página para introducir la clave y luego vuelve a la original.

SINTAXIS DE ESTA CABECERA QUE NOS ENVÍA EL SERVIDOR:
Location: url

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

¿Para qué sirve la cabecera WWW-Authenticate: Basic en una respuesta HTTP?

A

Para decirle al navegador que para acceder a ese recurso necesita credenciales.

Este mostrará una ventana automáticamente al usuario para que introduzca el usuario y la contraseña.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

¿Con que cabecera el servidor le envía una cookie al navegador para que la registre?

A

Set-Cookie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

¿Cuál es la cabecera que el servidor envía al navegador indicándole desde que dominios permite peticiones cruzadas (política CORS)?

A

Access-Control-Allow-Origin: * (todos los dominios)

NOTA: al permitir las peticiones desde cualquier servidor se eliminaría la política CORS => ya que esta POLÍTICA DE SEGURIDAD sirve para controlar que cuando descarguemos un determinado código JS no se pueda conectar con otro servidor, por medio de estas cabeceras que sirven para preguntar si podemos o no hacer peticiones CRUZADAS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Explica el funcionamiento de la POLÍTICA de SEGURIDAD “CORS”?

A

El recurso que no es ORIGEN pregunta a este con el método OPTION si puedo o no hacer ciertas cosas sobre él (si se puede hacer GET, DELETE, POST, …). Si el Origen responde con un “*” permitiría TODO tipo de peticiones cruzadas.

EJEMPLO CON MÉTODO “GET”:
1º PETICIÓN => Acces - Control - Request-Method: GET

2º RESPONSE => Acces-Control_Allow-Origin: *

->quiere decir que cualquiera puede usar el método GET. Es decir, con el “*” (donde deberían de ir los servidores aceptados) no se filtra NADA con CORS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

¿Cuáles son las 4 cabeceras que componen las políticas de seguridad de HTTP?

A

1ª AUTORIZATION: con la palabra reservada BASIC o JWT.

2ª CORS: nos protege de otros dominios (páginas) de el que le estamos haciendo la petición => el navegador cortaría las petición NO aceptadas.
a) ACCES-CONTROL-REQUEST-METHOD: ???
b) ACCES-CONTRO-ALLOW-ORIGIN: ???

3ª Técnica HSTS (HTTP Strict Transport Security): (forzar canal HTTPS) permite a un sitio web indicar a los navegadores que sólo se debe comunicar con HTTPS.

4ª Técnica CSP (Content Security Policy = política de seguridad del contenido): RESTRINGIR desde que FUENTE (“self” = uno mismo, se refiere al propio sevidor) se pueden descargar ciertos recursos: imágenes, script, csds, ….

*CSP ES LA TÉCNICA QUE + PROTEGE ANTE ATAQUES DE TERCEROS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

¿Pará que sirve la herramienta JWT (JSON Web Token)?

A

Basada en JSON para crear un token que sirva para enviar datos entre aplicaciones y garantizar que sean válidos y seguros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

¿Cuál es la técnica o política de seguridad HTTP que + protege ante ataques de terceros?

A

CSP: La cabecera se llama:

“Content-Security-Policy”: script-src; style-src; image-src

El servidor te indica de que FUENTES debes descargar esas directivas-src indicadas en la cabecera separadas por “;” al navegador.

DIRECTIVE EXAMPLE
script-src script-src’self’ js.example.com;
style-src style-src’self’ css.example.com;
image-src image-src’self’ img.example.com;

=> NO dejar entrar ningún recurso que NO venga de esas FUENTES DE CONFIANZA.

*Con ‘self’ nos referimos al servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

¿Con que cabecera de respuesta provocamos que el navegador nos de la opción de guardar un determinado recurso como adjunto?

A

Content-Disposition: attachment; filename=informe.pdf

*Con esta cabecera (RESPONSE) el servidor nos informa de que nos envía un adjunto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

¿Con que cabecera de petición (REQUEST) le decimos al servidor que solo queremos que nos devuelva unos determinados bytes del recurso solicitado?

A

Range: bytes=500-720

EJEMPLO: cuando solicitemos un video pesado, podemos pedir al servidor que nos envíe en ciertas partes y no tener que descargarlo todo de una vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Si un mismo servidor web (ej. Apache) está sirviendo páginas de 4 dominios distintos, ¿cuándo le hacen una petición HTTP como sabe de qué dominio se trata?

A

Cabecera => Host: www.?????.es

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Si al hacer una petición a un recurso nos devuelven un código 301, ¿qué quiere decir?

A

Que el recurso se ha movido de localización (de forma permanente)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

¿Qué indicamos con las cabeceras “contents” de la petición (REQUEST)?

A

Se refieren al body:

*Content-Type: texto plano, JSON, …=> informa del tipo de contenido del body que le enviamos.

*Content-Lenght: tamaño del body

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Enumera algunas de las cabeceras que envía nuestro navegador (REQUEST/petición) cuando entramos en una página web:

A

*Cache-Control: no-cache => controla lo que es o no cacheable (que se almacena en cache para recuperarlo mas tarde)

*Accept: text/html => le decimos al servidor que tipos MIME aceptamos.

*Accept-Charset: utf-8 => le decimos el conjunto de caracteres que soporta nuestro navegador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

¿En qué 5 grupos están organizadas las RESPUESTAS del protocolo HTTP?

A

*Informativos: son los códigos “100” => NO SE USAN.

*Éxito: los “200” indican que la petición ha ido bien.

*Redirecciones: los “300”

*Problemas con la solicitud (mal realizada): son los “400”.

*Error: los 500 indican error o problema al procesar la solicitud en el servidor => dada una petición del cliente buena se produce algún fallo en el servidor, es decir, es un ERROR DE SERVIDOR.

NMEMOTECNIA: I-E-R-P-E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Expón algunos de los códigos “200” de respuesta HTTP:

A

*Éxito: los “200” indican que la petición ha ido bien.

 200: OK típico
 201: CREATED => se ha creado un nuevo recurso
 202: ACCEPTED => para peticiones ASÍNCRONAS, pues indica que ha recibido tú petición. pero NO la tiene procesada.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Expón algunos de los códigos “300” de respuesta HTTP:

A

*Redirecciones:
301: se ha movido de forma permanente.
302: se ha movido de forma temporal.
304: indica que no se ha modificado desde la última petición (request) => así sabríamos que si no se ha modificado tendríamos la última versión disponible en la cache almacenada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Expón algunos de los códigos “400” de respuesta HTTP:

A

*Problemas con la solicitud (mal realizada): son los “400”.
400: BAD REQUEST (petición mal construida a nivel HTTP)
401: NO AUTORIZADO / REQUIRE ATORIZ. DEL CLIENTE: no estas autorizado, pero te pide autorización sacando la ventana para ello => pero si introduces “usuario” y “contraseña” que no tengan acceso TE DARÁ EL ERROR 403.
403: PROHIBIDO => no tienes permiso o no te conoce.
404: NOT FOUND => cuando pides un recurso “url” que NO EXISTE.
405: MÉTODO NO PERMITIDO => es dcir, has hecho un GET sobre un recurso que no se podía.
413: REQUEST MUY GRANDE => es decir, enviamos demasiada información, por ejemplo al adjuntar un fichero, y sobrepasamos el límite estipulado en el servidor web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Si al hacer una petición a un recurso nos devuelven un código 304, ¿qué quiere decir?

A

Que el recurso no se ha modificado desde la última petición (para eso el cliente tiene que configurar una cabecera llamada If-Modified-Since)

45
Q

Expón algunos de los códigos “500” de respuesta HTTP:

A

*Error: los 500 indican error o problema al procesar la solicitud en el servidor => dada una petición del cliente buena se produce algún fallo en el servidor, es decir, es un ERROR DE SERVIDOR.
500: INTERNAR SERVER ERROR (genérico)
501: NO IMPLEMENTADO => cuando el servidor no reconoce el método de solicitud y no es capaz de soportarlo.
502: BAD GATEWAY => cuando hay una determinada redireccion que no funciona en una pasarela.
503: SERVICIO NO DISPONIBLE => en ese momento el servidor web no es capaz de generar una respuesta.

46
Q

¿Qué relación tienen las respuestas 401 y 403?

A

Que el código 401 te indica que no estas autorizado y te saca una ventana para ello, pues si las credenciales que introduces tampoco las conoce te mostraría el 403 (PROHIBIDO)

47
Q

¿Qué diferencia hay entre un código HTTP 401 (No autorizado) y el 403 (Forbiden)?

A

Con el 401 el servidor nos está indicando realmente que nos autentiquemos y el 403 es cuando las credenciales que le presentamos no son correctas.

48
Q

Nombre 5 mejoras del protocolo HTTP/2 basado en SPDY (Google):

A
  • Binario (cuando HTTP 1.1 era de caracter) => frame (unidad miníma de intercambio): las imágenes JS pueden ir cada una en un FRAME.
  • Un sola conexion TCP
  • Multiplexacion => genera una sóla respuesta sobre varias REQUEST (JS, img, CSS)
  • Priorización de flujos: se pueden priorizar los flujos
  • Compresion Headers: las cabeceras se comprimen.
  • SERVER PUSH: enviar información unilateralmente desde el servidor al cliente.
49
Q

¿HTTP/2 requiere TLS como su antecesor HTTP 1.1?

A

No, porque de manera nativa HTTP/2 ya tiene incorporadas las opciones de seguridad.

50
Q

Una de las mejoras con HTTP/2 es la opción SERVER PUSH, ¿tiene HTTP 1.1 algo parecido?

A

Si, SSE (Server Send Event) y Web Socket.

Son tecnologías para desde el servidor, de forma unilateral, poder enviar información a los clientes, es decir, sin que hubiera habido petición (REQUEST) previa por parte del cliente.

51
Q

¿A qué nos referimos con un SNIFFER?

A

Herramienta para supervisar tú tráfico en internet en tiempo real (todo el tráfico que entra y sale = peticiones(REQUEST) / respuestas (RESPONSIVE))

Ej: WIRESHARK, TCPDUMP, WINDUMP…

*TIENE UN MAL USO => quizás se trate de una de las técnicas + sigilosas de HACKEO, pero se puede combatir con: ANTIVIRUS, VPN o NO usando WIFIs públicos ni medios sin cifrar (ni mensajes ni sitios web).

52
Q

¿Que es o era SPDY?

A

Protocolo obsoleto de nivel de SESIÓN (OSI), complementario al protocolo HTTP y que funcionaba sobre TCP/IP.

SPDY es un protocolo de red de Google Chrome. SPDY fue creado para ayudar a fortalecer la seguridad de las páginas web habilitadas para HTTP.

53
Q

Explica, con tus palabras, la filosofía de HTTP/2 con respecto a HTTP 1.1:

A

Ahora lo que se envía entre cliente y servidor se llaman “FLUJOS” (STREAM). Y estos streams se dividen en “FRAMES” (marcos).
En el campo STREAM IDENTIFIER se indica de que flujo (stream) es este FRAME.
Las cabeceras se pueden enviar en FRAMES diferentes (no va todo junto como en HTTP 1.1) y se pueden mezclar los FRAMES de un “stream” con el de otro para aprovechar el canal => esta optimización de ancho de banda se llama MULTIPLEXACIÓN.

54
Q

Menciona algunos tipos de FRAMES utilizados en HTTP/2:

A

DATA (para enviar el recurso en sí), HEADERS (para mandar sólo las cabeceras del recurso), PRIORITY, PROMISE, …

55
Q

¿Qué es el protocolo TLS y que tiene que ver con HTTP 1.1 y HTTP /2?

A

HTTP 1.1 no lo tenía incorporado y HTTP /2 sí.

(Transport Layer Security=Seguridad de la capa de transporte) Es el protocolo SUCESOR a SSL. Es una versión mejorada y funciona de modo parecido utilizando cifrado que protege la transferencia de datos e información.

56
Q

¿Cuál es el gran cambio que ha introducido HTTP /3?

A

El protocolo QUIC (Quick UDP Internet Connections = Conexiones UDP rápidas en Internet)

Desarrollado por GOOGLE y lo derivaron del protocolo SPDY de HTTP /2.

QUIC es un protocolo de la capa de transporte, que soporta un conjunto de conexiones multiplexadas entre 2 extremos sobre UDP (User Data Protocol) y provee seguridad equivalente a TLS/SSL, además de una reducida latencia y estimación del ancho de banda de cada dirección para evitar la congestión.

Mejora el rendimiento de las condiciones TCP (protocolo que usaba SPDY).

57
Q

¿Qué desventaja fundamental tienen los algoritmos de cifrado asimétricos?

A

Son lentos, ya que usa 2 claves (PÚBLICA y PRIVADA => lo que se hace con una se deshace con la otra), a diferencia del ALGORITMO SIMÉTRICO, que solo usa una clave para cifrar y descifrar.

58
Q

¿Qué desventaja fundamental tienen los algoritmos de cifrado simétricos?

A

La de usar la misma clave para cifrar y descifrar el problema es la distribución entre emisores y receptores de esa clave

59
Q

¿En qué consiste la firma digital de un documento?

A
  • Calcular el hash del documento
  • Cifrar con la clave privada del emisor la información obtenida en el paso anterior
60
Q

¿Qué es SHA-2?

A

Una conjunto de funciones hash (SHA-224, SHA-256, SHA-384, SHA-512)

61
Q

¿Cuál es el tamaño de la salida de una función hash SHA-1?

A

160 bits

62
Q

¿Qué diferencia hay entre una función MAC y MIC ?

A
  • MIC solo necesita un parámetro de entrada (el documento o residuo).
  • MAC (ej HMAC) necesita dos parámetros (residuo o documento y una clave).

Algunos algoritmos basados en funciones HASH que usan para verificar el documento original con el residuo: SHA-1, SHA-2, SHA-3 y MD5.

63
Q

Nombre 4 algoritmos de criptografía asimétrica:

A
  • RSA (permite enviar mensajes cifrados sin tener que intercambiar una clave privada y es el más utilizado para este fin)
  • DSA ((Digital Signature Algorithm=Algoritmo de Firma digital) sirve para firmar (autenticar), pero no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.
  • EC (Curva Elíptica) es una variante de la criptografía asimétrica basada en las matemáticas de las curvas elípticas.
  • DH (Diffie Hellman es el primer protocolo asimétrico de intercambio de claves) intercambia claves simétricas codificandolas.
64
Q

¿Qué tipo de algoritmo es AES?

A

SIMÉTRICO.

(Advanced Encryption Standard) Sustituye al DES.

El cifrado de AES puede ser empleado tanto en software como en hardware => es un algoritmo de cifrado por bloques.

65
Q

¿Qué dos peculiaridades tiene un algoritmo asimétrico?

A
  1. Lo que cifres con una de las claves se descifra con la otra
  2. El algoritmo genera también las propias claves
66
Q

¿Conoce algún sistema hibrido (que mezcle ideas de las criptografía simétrica y asimétrica)?

A
  • SSL
  • PGP

Como uno es rápido (simétrico) y el otro no tiene el problema de distribución de clave (asimétrico) => se pueden juntar:

1ª FASE: utilizaríamos ASIMÉTRICA para la distribución de la clave.

2ª FASE: el resto del diálogo sería SIMÉTRICO.

=> CIFRAMOS UN CANAL SIN PROBLEMA DE DISTRIBUCIÓN DE CLAVES.

*Por eso se llaman sistemas HÍBRIDOS.

67
Q

Nombre 4 algoritmos de criptografía simétrica:

A

*3DES (Estándar de Cifrado de Datos Triple) aplica DES (su antecesor de 56 bits) tres veces a cada bloque de información, triplicando la clave de 56 bits en una de 168 bits.

*RC5 (sucesor de RC4) es una unidad de cifrado por bloques notable por su simplicidad.

*IDEA (International Data Encription Algorithm) es un algoritmo de cifrado por bloques de 64 bits iterativo.

*AES (Advanced Encryption Standard) son claves simétricas que pueden tener 3 longitudes: 128, 192 y 256 bits => es el algoritmos simétrico + IMPORTANTE.

68
Q

¿Qué tienen que ver SSL y TLS?

A

TLS es la nueva versión de SSL, pero es lo mismo.

No son exclusivos de HTTP => se pueden usar para cifrar un canal HTTP, pero también para cifrar un canal de FTP, es puro protocolo de transporte = puro canal cifrado.

Cuando un protocolo se usa con SSL:
*FTP => FTPS
*LDAP => LDAPS
*SMTP => SMTPS
*POP => POPS
*IMAP => IMAPS

69
Q

¿Qué es CIA en criptografía SSL/TLS?

A

*C: Confidencialidad => que las cosas estén cifradas y nadie pueda ver el contenido del documento.
NOTA: los algoritmos de cifrado (simétricos y asimétricos) garantizan la letra “C”.

*I: Integridad => saber si ha sido alterado / modificado.
NOTA: los algoritmos MIC y MAC (Ej. HMAC) buscan validar la integridad.

*A: Autenticidad => te garantiza el autor que envía la información.

70
Q

¿En qué se diferencian los algoritmos SIMÉTRICOS/ASIMÉTRICOS de los MIC/MAC?

A

Así como los simétricos/asimétricos son muy pesados para cifrar información y garantizar el canal / Los MIC y MAC generan una versión pequeña (RESIDUO) del documento, para poder regenerar dicho documento original si alguien lo manipulase.

NOTA: los MAC (Ej. HMAC) además del RESIDUO generan una CLAVE.

71
Q

Define el algoritmo MD5 de tipo MIC/MAC:

A

(Algoritmo de resumen de mensaje) es un algoritmo de reducción criptográfica de 128 bits, para comprobar que un archivo no haya sido modificado.

Se basa en una función HASH que verifica que un archivo enviado coincide con el que ha recibido la persona a la que se lo ha enviado.

72
Q

¿Qué es una Función HASH?

A

Una función criptográfica hash- usualmente conocida como “hash”- es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija.

73
Q

¿Qué es una Firma Digital?

A

Busca garantizar la integridad (I) y autenticación (A) => garantiza que el atacante no modifique el RESIDUO cifrandolo con la clave privada del emisor.

Es un mecanismo criptográfico que permite al receptor de un mensaje cifrado digitalmente, IDENTIFICAR a la entidad originadora de dicho mensaje y CONFIRMAR que el mensaje no ha sido alterado desde que fue firmado por el originador.

74
Q

¿Qué es una notificación PUSH?

A

Aquello que no ha pedido un cliente web, pero el servidor se lo envía.

75
Q

¿En qué se basa la Firma Digital para garantizar la integridad (I) y autenticación (A)?

A

Se basa en que el originante entrega al receptor el documento (residuo) y la información adicional que resulta de cifrar con la CLAVE PRIVADA DEL EMISOR el “hash” calculado del documento o residuo.

76
Q

¿Qué tipos de claves tenemos si hablamos de algoritmos ASIMÉTRICOS?

A

*EMISOR: Clave Pública (ClavePubE) y Clave Privada (ClavePriE)

*RECEPTOR: Clave Pública (ClavePubR) y Clave Privada (ClavePriR)

NOTA: estas parejas están en los certificados digitales X.500.

Si cifras con la clave pública / descifras con la privada y viceversa => EN LOS ALGORITMOS ASIMÉTRICOS, LO QUE HAGAS CON UNA CLAVE SE DESHACE CON OTRA, es decir, las 2 claves (pública y privada) son las 2 caras de una moneda (con una cifras y con la otra descifras).

77
Q

¿Cómo podemos garantizar de la triada CIA la “I” y la “A”?

A

Usaremos criptografía ASIMÉTRICA con código MIC o HMAC:

1º GARANTIZAR LA INTEGRIDAD (I) => Del documento habría que generar un HASH (Ej: SHA-1), como un código MIC => aunque el atacante o receptor lo modifique, pero NO podrá DESHACERLO y crear uno nuevo. (ya que el hash o residuo nos serviría para regenerarlo).

NOTA: la integridad no busca si el documento que te ha llegado es lícito o esta modificado, sino que si el contenido ha llegado bien, es decir, que han llegado bien los bits y no ha habido ningún error de transporte.

2º GARANTIZAR LA AUTENTICIDAD (A) => si quisiéramos proteger este HASH para que nadie lo pueda tocar, habría que encriptarlo.

Hay 4 posibilidades (las públicas y privadas de ambos receptor y emisor): de estas 4 claves la 1ª que tenemos calro que no podemos usar para este encriptado es la “privada del receptor” (Clave PriR), porque no la conocemos, evidentemente.
Si lo ciframos con la pública del receptor (clave PubR), este sería el único que podría verificar o abrir al firma, porque lo que se hace con SÓLO se puede deshacer con la otra (entonces si cifro con la pública del receptor sólo podré descifrar con su privada y sólo la tiene él).

Si lo hago con mi pública (PubE), la firma la puede hacer cualquiera, pero sólo la puede abrir quien tenga la privada del emisor (yo).

ASÍ QUE LA SOLUCIÓN SERIA: se cifra con la privada del emisor => el emisor sería el único que puede hacer la firma y todos pueden comprobar la firma, garantizando la “I” y la “A” => ES DECIR, TODOS VEN QUE LA FIRMA ES BUENA, PERO NO PODRÁN SUPLANTAR O MODIFICAR, PORQUE SOLO TIENE LA CALVE EL EMISOR.

78
Q

¿Cómo podemos garantizar de la triada CIA la “I” y la “A”?

A

Usaremos criptografía ASIMÉTRICA con código MIC o HMAC:

1º GARANTIZAR LA INTEGRIDAD (I) => Del documento habría que generar un HASH (Ej: SHA-1), como un código MIC => aunque el atacante o receptor lo modifique, pero NO podrá DESHACERLO y crear uno nuevo. (ya que el hash o residuo nos serviría para regenerarlo).

NOTA: la integridad no busca si el documento que te ha llegado es lícito o esta modificado, sino que si el contenido ha llegado bien, es decir, que han llegado bien los bits y no ha habido ningún error de transporte.

2º GARANTIZAR LA AUTENTICIDAD (A) => si quisiéramos proteger este HASH para que nadie lo pueda tocar, habría que encriptarlo.

Hay 4 posibilidades (las públicas y privadas de ambos receptor y emisor): de estas 4 claves la 1ª que tenemos claro que no podemos usar para este encriptado es la “privada del receptor” (Clave PriR), porque no la conocemos, evidentemente.
Si lo ciframos con la pública del receptor (clave PubR), este sería el único que podría verificar o abrir la firma, porque lo que se hace con SÓLO se puede deshacer con la otra (entonces si cifro con la pública del receptor sólo podré descifrar con su privada y sólo la tiene él).

Si lo hago con mi pública (PubE), la firma la puede hacer cualquiera, pero sólo la puede abrir quien tenga la privada del emisor (yo).

ASÍ QUE LA SOLUCIÓN SERIA: se cifra con la privada del emisor => el emisor sería el único que puede hacer la firma y todos pueden comprobar la firma, garantizando la “I” y la “A” => ES DECIR, TODOS VEN QUE LA FIRMA ES BUENA, PERO NO PODRÁN SUPLANTAR O MODIFICAR, PORQUE SOLO TIENE LA CLAVE EL EMISOR.

79
Q

¿Qué especifica el CERTIFICADO DIGITAL X.509?

A

Los certificados X. 509 son documentos digitales que representan a un usuario, equipo, servicio o dispositivo (tienen sus datos identificativos). Los emite una entidad de certificación (CA) y contienen la clave pública del firmante del certificado.

Cuando nos conectamos a un servidor (url) CON SEGURIDAD (HTTPS), uno de los 1º documentos que nos descarga el servidor a nuestro navegador es el CERTIFICADO DIGITAL.
Estos certificados siguen la norma x509 v3 y estan emitidos y firmados por una autoridad de confianza (CA o PSC en España=Prestador de Servicios de Confianza). Es decir, para que ese documento sea valido, una tercera parte de confianza ha tenido que emitirlo y firmarlo.
Como cuestan dinero, se usan las técnicas SAN y WILDCARD, para que ese certificado sirva para varios dominios.

80
Q

¿Qué extensión tiene un fichero que contiene un certificado junto con su clave privada (parte pública+clave privada)?

A
  • p12
  • pfx

*PKCS#12: es el estándar de criptografía donde se definen esos 2 formatos.

81
Q

¿Qué extensión tiene un fichero que contiene un certificado sólo con la parte pública, sin su clave privada?

A
  • cer
  • pem
82
Q

Cuando una CA emite un certificado de servidor lo hace para un dominio concreto, ¿es posible que ese certificado se pueda usar en más de un dominio?

A
  • SAN (Subject Alternatives Name) => ALTERNATIVE, xq en el certificado viene el nombre principal, sobre el que se crearon el certificado para el dominio, y luego otros nombres.
  • WildCard

*Reducen el costo de SSL usando un único certificado para múltiples dominios => garantizan la verificación de un grupo de dominios en lugar de sólo uno.

83
Q

Cuando una CA emite un certificado, ¿que hace básicamente para darle validez?

A

Lo firma digitalmente e incluye esa firma dentro del propio certificado emitido

84
Q

¿Para qué sirve el número de serie de un certificado?

A

Para poder consultar al servicio OCSP de la CA en cuestión del estado de revocación de ese certificado.

85
Q

¿Que 4 subprotocolos existen dentro de SSL/TLS?

A
  • Handshake (donde se negocia la criptografía a usar y la clave simétrica de cifrado)
  • Change Cipher Spec
  • Alert
  • Application Data
86
Q

Dentro del cliente que realiza una llamada SSL/TLS, ¿qué utilidad tienen los llamados almacenes de confianza?

A

Contiene las CA’s en las que “nos fiamos”.

Esto se usa para chequear si el certificado que nos presenta el servidor pertenece a una de estas CA’s o no.

87
Q

¿Con que propiedad podemos configurar en Java un almacén de certificados (con clave privada)?

A
  • javax.net.ssl.keyStore
  • javax.net.ssl.keyStorePassword
88
Q

¿Qué es un trustStore en Java?

A

Un almacén donde hay certificados de CA’s en las que confiamos

89
Q

¿Existe algún almacén por defecto con CA’s de confianza en JAVA?

A

Si, en JAVA_HOME/jre/lib/security/cacerts

(password changeit)

*Este fichero se puede abrir con el programa:
KeyStore Explorer y podremos ver todas las CAs, poner nuevas CAs y configurar las siguientes PROPERTYs:

a) javax.net.ssl.keystore => (almacén JKS con clave privada) para hacer firma digital con clave PRIVADA.

b) javax.net.ssl.truststore => (almacén JKS con CAs adicionales) parte PÚBLICA.

90
Q

¿Cuál es el formato en el que se guardan los almacenes de certificados en Java?

A

JKS (java key store)

91
Q

Expón algunos campos de un certificado digital x.509:

A

VERSION - Nº SERIE - ALGORITMO USADO POR LA CA PARA FIRMAR - EMISOR (CA que lo emite) - VALIDEZ - SUJETO (para quien se emite) - ALGORITMO DE CLAVE PÚBLICA - CLAVE PÚBLICA DEL SUJETO - FIRMA DIGITAL (creada par ala CA).

*Con estos metadatos se hace un HASH y la CA incluye su firma.

*Este certificado tendría uno de los formatos .pfx o .p12 del estandar PKCS#12, xq tienen información PÚBLICA + la cable PRIVADA.

Cuando el certificado se emite para un dominio, en lugar de un sólo destinatario, se llama CERTIFICADO DE SERVIDOR.

92
Q

¿Qué es un certificado electrónico o certificado digital?

A

Un Certificado Electrónico (o certificado digital) es un fichero digital emitido por una tercera parte de confianza (una CA) que garantiza la vinculación entre la identidad de una persona o entidad y su clave pública, por tanto, permite identificar a su titular de forma inequívoca.

Le permitirá identificarse en Internet e intercambiar información con otras personas y organismos con la garantía de que sólo Ud. y su interlocutor pueden acceder a ella.

93
Q

Cuando nos descargamos un certificado x509 x SSL/TLS (HTTPS) del servidor, ¿cuáles son los 5 pasos para verificar dicho documento?

A

1º Chequear su periodo de validez

2º Que ha sido emitido para el dominio desde el cual nos lo hemos descargado.

3º Verificar que esta bien firmado (Integridad) => como tenemos las firmas digitales en el propio certificado, podemos garantizar la integridad de manera local (en el navegador): en el campo: FIRMA DIGITAL DE LA “CA”.

4º Comprobar si esta CA que ha firmado la tenemos registrada en nuestro almacén de confianza.

5º Chequear el estado de revocación con una de las 2 maneras posibles => en una cierta “url” con OCSP (ONLINE) o en un “fichero” con CLR (OFFLINE):
a) OCSP: todas las CAs usan el protocolo OCSP sobre HTTP, para que, en base al nº de serie, tu puedas preguntar si el certificado esta o no revocado (DE MANERA ONLINE).
b) CLR: es otra técnica, que se basa en una lista, a descargar con todas las revocaciones de esa CA (OFFLINE). Es decir, primero se descarga la lista CLR y luego se busca.

*Una vez descargado dicho certificado y pasado estas 5 comprobaciones, hay que realizar una negociación previa al intercambio de tráfico HTTP para que el tráfico este cifrado => para ello, el protocolo SSL/TLS tiene 2 subprotocolos:
1- Protocolo de la capa superior (HANDSHAKE, CHANGE CIPHER SPEC, ALERT y APLICATION DATA)
2-TLS Record Subprotocol

94
Q

Después de los 5 pasos de SSL/TLS para verificación del certificado, hay que pasar a la negociación para el cifrado del canal, explica una de las capas que usa TLS para ello:

A

CAPA DE ARRIBA: “Higher Layer Subprotocol” =>tiene 4 protocolos a transportar en esta capa de abajo, dependiendo de la fase en la que estemos:

1-(22) Tramas de HANDSHAKE: es el que realiza el INTERCAMBIO DE CLAVES para que el navegador y el servidor tengan una clave de sesión simétrica y con el protocolo “APPLICATION DATA” puedan intercambiar información por el canal cifrado de manera simétrica (Ej: con AES)
Client-Hello
Server-Hello
Client-Key-Exchange

2.(20) CHANGE CIPHER SPECIFICATION (tramas de especificación de cifrado).

3.(21) ALERT (tramas de alertas => para fallos)

4.(23) APPLICATION DATA (datos de aplicación): una vez establecido el canal, seria lo que más se intercambie.

*La capa de abajo (TLS Record=>capa para transporte), usa esos (números) para saber que esta transportando.

95
Q

Después de los 5 pasos de SSL/TLS para verificación del certificado, hay que pasar a la negociación para el cifrado del canal, explica una de las capas que usa TLS para ello:

A

CAPA DE ABAJO: “TLS Record Subprotocol” => es la capa de TRANSPORTE (TCP/IP) y, aunque básicamente es la encargada de cifrar, realiza 4 operaciones:

  1. De cada trama que intercambia calcula el código MAC.
  2. Encriptar datos.
  3. Comprimir datos.
  4. Fragmentar datos.
96
Q

¿A qué nos referimos con “revocación de certificado”?

A

Revocar es dar de baja o invalidar el certificado => es una técnica que cuando la “CA” ve que se ha podido vulnerar la autoridad del certificado lo da de baja (lo revoca).

Ej: si te sacas un 2º certificado por error para una autoridad, el 1º se revoca.

97
Q

¿Para qué sirve el HANDSHAKE de SSL y qué 2 técnicas hay?

A

Para que los 2 extremos tengan la misma clave simétrica para poder cifrar el canal.

Una en la que autenticamos sólo al servidor (el servidor no pide nada al cliente). Y otra en la que se autentica el servidor y el cliente (el servidor le pide al caliente que seccione su certificado) => esta 2ª técnica se llama MUTUAL.

Una vez finalizada la negociación HANDSHAKE, quedando cliente y servidor con la misma clave de sesión simétrica, ya podríamos cifrar el canal con la capa de abajo (TLS Record) y pasaríamos al subprotocolo APPLICATION DATA para intercambiar información por dicho canal cifrado y de manera simétrica (3DES, RC5, IDEA o AES).

98
Q

¿Cuándo quedó obsoleto SSL?

A

En su versión 3.
Ahora se usa TLS en sus versiones: 1.2 y 1.3.

*TLS, Seguridad de la capa de transporte y su antecesor Secure Sockets Layer (SSL) son protocolos criptográficos, que proporcionan comunicaciones seguras por una red.

99
Q

¿Qué es el CIPHER SUITE (conjunto de cifrados) y quién lo envía?

A

Este conjunto de cifrados (CIPHER SUITE) se lo envía el cliente al servidor en el HANDSHAKE.

Es una lista de cifrados que el cliente sabe manejar.

El servidor elegirá el mejor algoritmo de la lista y se lo hace saber.

100
Q

Pon un ejemplo de un CIPHER SUITE:

A

TLS_ECDHE_RSA_ WITH_AES_128_GCM_SHA256

*Indica algoritmos asimétricos (EC, DH y RSA), simétricos (AES), la función HASH (SHA256) y el tipo de encriptación (GCM: cifrado por bloques que funciona igual que el modo CRT).

101
Q

¿Qué herramienta de la JDK de Java usamos para crear los almacenes de confianza?

A

keytool

Es una herramienta de linea de comandos para suministrar funciones criptográficas a otros paquetes como: OpenSSH y navegadores web.

NOTA: JDK: (Java Development Kit) es un SW para los desarrolladores de Java. Incluye: INTERPRETE JAVA, CLASE JAVA y HERRAMIENTAS DE DESARROLLO o JDT (compilador, depurador, desensamblador, visor de applets, generador de archivos de apéndice y generador de documentación)

102
Q

¿Cuál es la librería de terceros (NO de Java) para hacer tratamientos criptográficos en Java más importante?

A

BouncyCastle

(castillo hinchable)

Entre otras funciones criptográficas sirve para LEER UN CERTIFICADO DE UN FICHERO.

103
Q

¿Con qué propiedad podemos ver el código de depuración de la negociación SSL (HANDSHAKE) al acceder a un recurso HTTPS en la consola?

A

javax.net.debug=all

Con esta propiedad se accede al soporte genérico de seguimiento de depuración dinámica (java.security.debug) especifico de JSSE (Java Secure Socket Extension).

*JSSE: conjunto de paquetes Java para la comunicación segura en internet.

104
Q

¿Cuál es el formato de los almacenes de confianza en JAVA?

A

JKS (Java Key Store)

105
Q

¿Cuáles son las 2 maneras de crear un almacén de confianza en Java?

A
  1. keytool => comando de la JDK (Java Development Kit)
  2. KeyStore Explorer => programa con el que podremos crear nuevas autoridades de confianza, ver todas las autorizades de confianzas (CAs), …

*El formato de los almacenes de confianza es: JDK (Java Key Store)

106
Q

¿Que diferentes almacenes de confianza (CA) hay en Java?

A

*Java-Home/JRE/lib/security/CACERTS => en este fichero están los almacenes de confianza genéricos de la JRE ( Java Runtime Environment)

*trustStore => solo con las CA’s que tu quieres configurar como de confianza para una aplicación concreta.

*keyStore => sirve (ya que estos almacenes tienen la clave privada) por ej para hacer firmas.

NOTA: Todos son formato JKS (java keystore) y se gestionan con el programa “KeyStore Explorer”.

107
Q

¿Qué es la JRE de Java y que tiene que ver con la JDK?

A

Java Runtime Environment, o JRE, es una capa de software que se ejecuta encima del sistema operativo y proporciona las bibliotecas de clases, la JVM y otros recursos que un programa Java específico necesita ejecutar.

El Java Development Kit (JDK) y el JRE interactúan para crear un entorno de tiempo de ejecución sostenible que ejecute archivos de programas de Java en cualquier máquina.

NOTA: la JRE va dentro de la JDK.

108
Q

¿Mediante que 2 protocolos, situados en capas diferentes, encripta SSL?

A

*TLS RECORD PROTOCOL (protocolo de AUTENTICACIÓN) se lleva a cabo la autenticación para que las transmisión de datos sea mediante una conexión privada y fiable => se negocia la encriptación y la integridad del emisor-receptor.

*TLS HANDSHAKE PROTOCOL (protocolo de MUTUO ACUERDO) se negocia el mensaje de manera segura. En cada mensaje se especifica el protocolo en el campo “content_type” y se cifra y empaqueta con un código de autentificación (o MAC).

109
Q

¿Qué relación tienen los códigos MAC (direcciones de Control de Acceso a los Medios), HMAC (Código de autenticación de mensajes basado en hash) y MIC (Código de Integridad de Mensaje)?

A

*Generan una versión pequeña o código (llamado hash o residuo) de un documento para poder regenerarlo en base ha dicho residuo, en el caso de que alguien lo manipulase.

*Solo para INTEGRIDAD tendríamos los códigos MIC (ej. Funciones Hash: MD5, SHAI-1. SHA-2, …)

*HMAC, es un tipo de MAC y nos permiten verificar INTEGRIDAD y AUTENTICIDAD.

*El código MIC sólo necesita el mensaje o documento de entrada para generar el RESIDUO. En cambio el código HMAC (MAC), necesita el mensaje y una CLAVE => al ir con clave, el receptor NO podrá generar otro documento del que enviamos.