🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

1. Arquitectura Definición internet: es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, lo cual garantiza que las redes físicas heterogéneas que la componen constituyan una red lógica única de alcance mundial Tolerante a...

1. Arquitectura Definición internet: es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, lo cual garantiza que las redes físicas heterogéneas que la componen constituyan una red lógica única de alcance mundial Tolerante a fallos Desatendida: no requiere de la presencia del humano para funcionar Es Jerárquica Internet está gobernado por la IETF 1.1. Jerarquía Tipos de acuerdos: acuerdos de peering: acuerdos de pares, de iguales (sin contraprestación económica) ○ privados ○ públicos (se realiza a través de un IXP o punto de acceso neutro) acuerdos de tránsito: si hay contraprestación económica ○ Ejemplo: Para conectar un TIER 2 con un TIER 1 TIERS (no confundir con los tiers CPD, % disponibilidad, etc) para describir diferentes niveles de servicio, infraestructura o jerarquías de red Primer nivel (TIER 1) ó troncal o backbone.: Son las redes más grandes y centrales de Internet. ○ Cobertura global. ○ Nodos conectados velocidad 100s Gbps, que conectan nodos entre continentes ○ Pueden intercambiar tráfico con otros ISP de nivel 1 sin costo, utilizando acuerdos de peering. ○ Cobertura de ámbito internacional (Transporta Datos). ○ También llamados carriers ○ Cada red de Nivel 1 tiene un nombre: ASxx - ASN(Número de Sistema Autónomo: grupo de redes que poseen una política de rutas propias e independientes). Los ASN los asigna la IANA. Esta delega en los RIR (Registro Regionales de Internet - En Europa RIPE), que a su vez puede delegar en otros más locales (LIR) ○ Ejemplos WorldCom, Cable&Wireless, AT&T, Cogent, Telxius , Verizon, y NTT Communications Tier 2 o Distribución - Regional: Estos ISP compran tránsito IP de los ISP de nivel 1 y también pueden tener acuerdos de peering con otros ISP de nivel 2 ○ Los nodos hablan entre sí a través del nodo común Tier 1, no directamente. Pagan por el tráfico de tránsito a los Tier 1 Este acuerdo ya no se llama peering sino que se llama tránsito ○ Pueden comunicarse con Tier 2 si son muy grandes (acuerdo peering) ○ Servicio a nivel nacional ○ Nodos conectados a velocidades de 10 Gbps ○ IXP (Punto de intercambio de Internet): es una ubicación física a través de la cual las empresas de infraestructura de Internet, como los Proveedores de servicios de Internet (ISP) y CDN(Red de entrega de contenidos-Content delivery network) y así comparten el tráfico entre si. Nota: Cuando un usuario accede a una página web o a un servicio que usa un CDN, el contenido se le entrega desde el servidor más cercano a su ubicación física. Ejemplos de CDN: Akamai - CloudFare Polish - CDNJS - CloudBinary - Fastly IP - ImagenEngine - Imgix - PageCDN ○ Ejemplos de Tier 2: Telefónica, BT, Deutsche Telekom, Colt, RedIris, EasyNet Tier 3 o de Agregación - ISP (Redes corporativas y usuarios). ○ Nodos de cobertura nacional a velocidad de centenas de Mbps ○ El Tier 3 se conecta con el Tier 2 mediante acuerdo de tránsito ○ Son operadores finales o ISPs: Telefónica, Vodafone 1.2. Puntos neutros de Interconexión (IXP=NAP) IXP (Internet Exchange Point) - NAP (Network Access Point) NAPs/IXP: infraestructura física que permite a diferentes redes de Internet, generalmente ISPs (Proveedores de Servicios de Internet), intercambiar tráfico de manera eficiente y directa: permiten comunicar tráfico entre dos operadores del mismo nivel: sin necesidad de subir al Tier de nivel superior Compartidos y gestionados por una entidad independientes para así asegurar la neutralidad No se factura entre los ISPs. Se reparte el coste entre ellos (sin ánimo de lucro). principales ventajas:bajo costo, latencia y ancho de banda Ejemplos en España de IXP: ESPANIX - GALNIX - CATNIX - EUSKONIX - DE-CIX: Ejemplos de empresa miembro de IXP: Akamai, Amazon, DropBox, Facebook, Netflix ○ Necesitan generar un buen tráfico. PAR (Punto de Acceso Remoto): acceso al NAP para empresas 1.3. Otras redes de interconexión GEANT: red de investigación a nivel de Europa RedIRIS: red de investigación/educación a nivel de España Internet2: es un consorcio sin ánimo de lucro que desarrolla aplicaciones y tecnologías de redes avanzadas, la mayoría para transferir información a alta velocidad ○ Gigapops: Nodos de conexión a Internet2 ○ Es un punto de acceso a internet que admite, al menos, una conexión de un gigabit por segundo. 1.4. Organismos relacionados con Internet ISOC - Internet Society: lidera todos los asuntos que afectan a Internet. Representa a la comunidad de Internet ○ Desarrollo de estándares abiertos ○ Políticas públicas que garanticen el acceso abierto a internet IAB - Internet Architecture Board: encargado de determinar las necesidades a medio y largo plazo en la toma de decisiones sobre la orientación tecnológica de internet ○ Responsable de la evolución de la Arquitectura de Internet, supervisa el desarrollo tecnológico y la ingeniería de internet, coordina a: IETF: Internet Engineering Task Force: creadora estándares de Internet (RFC) Responsable de la familia de protocolos de internet, TCP/IP IESG: Internet Engineering Steering Group: marca pautas y principios comunidad Internet IRTF: Internet Research Task Force: promover la investigación de la importancia de la evolución de futuro de Internet, a través de grupos, a largo y corto plazo y crear investigación que trabaje sobre los asuntos relacionados con los protocolos, los usos, la arquitectura y la tecnología de Internet IANA: Internet Assigned Number Authority: responsable de asignación de direcciones IP y nombre de dominios de internet ○ Velar por un reparto justo de direcciones IP, dominios, números SA, etc ○ RIR: Regional Internet Registry - Registros Regionales de Internet: Es una organización que supervisa la asignación y el registro de recursos de números de Internet dentro de una región particular del mundo. Los recursos incluyen direcciones IP y números de sistemas autónomos Se agrupan en la “Number Resource Organization (NRO)”. NRO: Number Resource Organization: proteger el conjunto de direcciones IP que aún no están asignadas. Los RIR pueden delegar en otros más locales (LIR) Listado de RIR: ARIN - LACNIC - RIPE - AFRINIC - APNIC ICANN: Internet Corporation for Assigned Names and Numbers ○ Gestión asignación IPs. Coordina el espacio de direcciones IP ○ Gestión del espacio DNS gTLD (global TLD) y ccTLD (Country Code TLD) ○ Administración de los sistema de servidores raíz ES-NIC(Network Information Center de España): es la entidad encargada de la gestión y administración del dominio de nivel superior de código de país (ccTLD).es, que corresponde a España. ○ Responsables de gestionar los nombres de dominio y las direcciones IP asociadas dentro de un país o región. ○ ES-NIC (Red.es) como registro del dominio ccTLD “.es” 1.5. Dominios de Internet Herramientas que se utilizan para que el usuario no tenga que recordar la identidad de las máquinas en la red (direcciones IP). Es una cadena de caracteres con una estructura jerárquica que identifica un nodo dentro de la red Dominio raíz: Se representa por el símbolo del punto “.” y es el principio de la jerarquía. No se escribe, pero forma parte del nombre de dominio ○ El dominio raíz es lo que viene después de “www” e incluye la extensión de dominio de nivel superior, como.com o. org. ○ Por ejemplo, en la dirección del sitio web www.ejemplo.com, “ejemplo.com” es el dominio raíz. Bajo la raíz se tiene: TLD: Top-Level Domain (Lo gestiona IANA): parte del nombre que va después del punto. TLDs principales (.org,.com… ) ○ ARPA: es un dominio de Internet genérico de nivel superior usado exclusivamente para la infraestructura de Internet. ○ gTLD: generic top-level domains. Son los que tienen 3 o más caracteres (.com.org.net). ○ ccTLD (country code). Son los códigos para países, estados soberanos etc. (.es.uk.au) ○ IDN ccTLD (Internationalized domain name): Como los ccTLD, pero con el Country Code internacionalizado (caracteres no latinos). ○ grTLD (Restricted Generic top-level domains): Registro está limitado a las personas o entidades que cumplen con ciertos criterios.name: reservado para individuos..pro: solo para profesionales y entidades con las credenciales que acrediten su experiencia. ○ sTLD (Sponsored top-level domains): Se tienen sponsors que representan el dominio (.aero.cat.int.edu.gov.mil) ○ tTLD. Son dominios instalados en.test, para pruebas, y no se ofrecen en las root zones SLD: Secondary Level Domain.es la parte del nombre de dominio que se encuentra directamente antes del dominio de nivel superior (TLD, como.com,.org,.es) ○ Es el nombre más identificativo del dominio y generalmente representa el nombre de una empresa, organización o servicio ○ En example.com, "example" es el dominio de segundo nivel Third level: referencian el tipo de servicio. Se sitúa directamente antes del dominio de segundo nivel ○ En www.example.com, "www" es el dominio de tercer nivel. Fourth Level: para crear una estructura aún más detallada dentro de un dominio, como para segmentar por áreas geográficas, departamentos o servicios. ○ En support.blog.example.com, "support" es el dominio de cuarto nivel. Protección de marcas: https://www.trademark-clearinghouse.com/ se enfoca en ayudar a las empresas y titulares de marcas a proteger sus derechos de propiedad intelectual en el sistema de nombres de dominio de Internet. ICANN, la organización que supervisa los nombres de dominio en Internet, ha desarrollado mecanismos que le permiten proteger sus derechos durante la expansión del DNS. 2. Protocolo HTTP 1 2.1. Introducción HTTP1.1 RFC-7231 Puertos: 80 y 43 en su versión segura Características Sin estado: cada solicitud enviada desde un cliente a un servidor es independiente y no tiene relación con las solicitudes anteriores. En otras palabras, el protocolo HTTP no guarda ningún tipo de información o estado entre las distintas conexiones. ○ Ej. Carrito de la compra: si no se solventa esto el carrito estaría siempre vacío orientado a carácter: el texto va en claro. Modelo Request-Response URI(identificador de recurso uniforme - Uniform Resource Identifier ): Es una cadena de caracteres que se utiliza para identificar de manera única un recurso en Internet: página web, imágenes… URN (Uniform Resource Name - es una parte de la URI): para asignar nombres únicos y permanentes a recursos en Internet sin especificar su ubicación o cómo acceder a ellos ○ ○ una URN para un libro con el ISBN 978-3-16-148410-0 ○ ○ NID: Sirve para identificar el espacio de nombres específico al que pertenece la URN: temática. URL (Localizador de recursos uniforme - Uniform Resource Locator). Identifica los recursos según su método de acceso. cadena de texto que proporciona la dirección específica de un recurso en la web, indicando tanto su ubicación como el método para acceder a él Protocolos: http, https, file, mailto, ftp, news, etc 2.2. Verbos HTTP 1.1 Concepto de seguridad: Si el verbo no modifica el recurso (OPTIONS y TRACE también son seguros) Get, Head, Trace, Options, Concepto de Idempotencia: una operación aplicada varias veces produce el mismo resultado que si se aplicara solo una vez (POST, PATCH y CONNECT no son idempotentes pero si lo son, los métodos seguros + PUT y DELETE) Put, Delete y todos los métodos seguros ( ya que no modifica los datos) Existe una extensión de verbos llamada WebDAV que nos sirve para tratar un espacio de URL’s como si fuera un Sistema de ficheros (ej: MKCOL, MOVE, COPY, etc) Para que valen los verbos: GET: dame recurso, imagen… HEAD: Sirve para obtener los cabeceras de un recurso. ○ Ejemplo etiqueta ETAG (entity tag): para determinar si el contenido de un recurso en un servidor web ha cambiado desde la última vez que fue solicitado por un cliente. PUT: para actualizar un recurso que ya existe o crear uno nuevo. ○ En la URL debe llevar el identificador al que te refieres ○ POST: Para crear un recurso ○ ○ en el body va toda la información PATCH: para hacer modificaciones parciales de un recurso TRACE: devolverá la misma información que se ha enviado en la solicitud. ○ Es una especie de echo. Sirve para comprobar si la solicitud se ha visto modificada por servidores intermedios OPTIONS: Devuelve los métodos(verbos) HTTP soportados/aceptados por el servidor para la URL especificada. ○ ○ OPTIONS - PreFlight: Es una petición CORS realizada para comprobar si el protocolo CORS es comprendido. DELETE: Borrar un recurso CONNECT: Convierte la solicitud en un túnel TCP/IP. Normalmente se usa para crear comunicaciones HTTPS a través de proxys HTTP sin encriptación Resumen Códigos de respuesta 100’s - Informativos 200’s – Códigos de éxito 300’s - Redirecciones 400’s – Error en la solicitud del cliente 500’s – Error al procesar una solicitud válida por el servidor Seguridad Autenticación BASIC (envío de la cadena “user:password” codificado en Base64) Política de seguridad CORS (Cross-Origin Resource Sharing - Orígenes cruzados) es un conjunto de reglas y mecanismos implementados en los navegadores web para controlar la interacción entre diferentes dominios en la web, lo que le indica al navegador que permita o deniegue ciertas solicitudes de otro dominio ○ Define cómo los navegadores deben manejar las solicitudes y respuestas para garantizar la seguridad y la protección del usuario, cuando un recurso web (como una página HTML, un script JavaScript o una imagen) es solicitado desde un dominio diferente al dominio del recurso original. ○ (protegerse de peticiones a otros dominios cuando el navegador ha hecho una primera conexión a un dominio al que nos referimos como “origin”) Ej. Te descargas la home de http://marca.com pero esta tiene referencias de css, imágenes, js, etc. a url’s como esta a https://cdnjs.cloudflare.com/ajax/libs/.../bootstrap.min.js) Técnica HSTS: Forzar canal HTTPs Técnica SCP:(restringir desde que fuente (”self” se refiere al propio servidor) se pueden descargar ciertos recursos: imágenes, scripts, css, etc) 2.3. Protocolo HTTP: Headers Componente utilizado para transmitir información adicional entre el cliente (por ejemplo, un navegador web) y el servidor en una solicitud o respuesta HTTP. Estas cabeceras contienen metadatos sobre la solicitud o respuesta, describiendo el contenido, el formato, el comportamiento esperado y otra información útil para que la comunicación sea efectiva. Campos para solicitudes tipo “Request”: (user Agent → Server http) Campo Valor Explicación Ejemplo Indica el método HTTP utilizado. El método especifica GET, POST, la acción a realizar en el GET /index.html Method PUT, DELETE servidor. HTTP/1.1 Ruta o La ruta del recurso solicitado dirección en el servidor. Puede incluir /products?categ URL completa parámetros de consulta. ory=electronics La versión del protocolo HTTP HTTP Version HTTP/1.1 utilizado. HTTP/1.1 Authorization: Envía credenciales para Basic autenticación, como un token o dXNlcjpwYXNzd Authorization Credenciales datos de usuario y contraseña. 29yZA== Indica el nombre del servidor o Host: dirección IP al que se está www.example.co Host Dominio o IP enviando la solicitud. m User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; Informa al servidor sobre el x64) tipo de navegador, sistema AppleWebKit/53 Cadena de operativo y otras 7.36 User-Agent identificación características del cliente. Chrome/92.0.45 15.131 Safari/537.36 Authorization: Basic Se utiliza para enviar dXNlcjpwYXNzd credenciales de autenticación 29yZA== al servidor. Puede incluir (usuario: user, Basic, Bearer, autenticación básica, token, o contraseña: Authorization Digest, etc. más complejas. password) Utilizado en solicitudes preflight (CORS) para informar al servidor del método HTTP Access-Control- Métodos HTTP que se usará en la solicitud Access-Control- Request-Metho (GET, POST, real. Request-Method d etc.) Ver funcionamiento : POST Accept: text/html, application/xhtml Informa al servidor sobre los +xml, Tipo de medios tipos de contenido que el application/xml;q Accept (MIME types) cliente puede procesar. =0.9, */*;q=0.8 Accept-Charset utf-8 Indica las codificaciones que el Accept-Encodin Accept-Encodin Algoritmos de cliente acepta para comprimir g: gzip, deflate, g compresión la respuesta. br Accept-Languag Accept-Langua Informa al servidor sobre los e: ge Idiomas idiomas preferidos del cliente. en-US,en;q=0.5 Abre una conexión TCP y hasta que no se cierra, todos los mensajes se harán sobre keep-alive, esa Connection: Connection close Ver funcionamiento keep-alive Indica la URL de la página Referer: desde la que se originó la https://www.goo Referer URL de origen solicitud actual. gle.com/ Cookie: Valor de sessionId=abc1 Cookie cookies Ver funcionamiento cookie 23; userId=789 Define reglas sobre cómo las Directivas de respuestas pueden ser Cache-Control: Cache-Control caché almacenadas en caché. no-cache Especifica el tipo de contenido en el cuerpo de la solicitud Content-Type: Tipo de cuando se envía contenido application/x-ww contenido (normalmente con métodos w-form-urlencod Content-Type (MIME type) POST). ed Indica el tamaño en bytes del cuerpo de la solicitud. Es Longitud del obligatorio en solicitudes con Content-Length: Content-Length contenido cuerpo. 348 Content-Security -Policy: Define políticas de seguridad default-src 'self'; Políticas de para el contenido que el script-src Content-Securit seguridad navegador puede cargar en la 'https://example. y-Policy (CSP) (directivas) página, como scripts y estilos. com' Indica la fecha y hora en que se creó la solicitud, según el Fecha y hora cliente. Se utiliza para Date: Tue, 15 en formato sincronización o seguimiento Nov 2023 Date HTTP-date de la solicitud. 08:12:31 GMT Permite al cliente pedir al If-Modified-Sinc servidor que solo envíe el e: Wed, 21 Oct If-Modified-Sinc recurso si ha sido modificado 2015 07:28:00 e Fecha desde la fecha especificada. GMT Indica que el recurso solo debe enviarse si el identificador de la If-None-Match: If-None-Match ETag entidad (ETag) ha cambiado. "abc123etag" Indica si el cliente prefiere recibir versiones seguras Upgrade-Insecu (HTTPS) de los recursos Upgrade-Insecur re-Requests 1o0 solicitados. e-Requests: 1 Informa al servidor sobre el origen de la solicitud, a menudo utilizado en solicitudes Origin: de CORS (Cross-Origin https://example. Origin URL de origen Resource Sharing). com Solicita una parte específica de un recurso, permitiendo la descarga por fragmentos. Admite un resume por si hay un error y volver a continuar sin volver a enviar lo que ya se Range: Range Bytes ha enviado bytes=500-999 forzar al cliente web que si Strict-Transport viene por http ya las siguientes -Security llamadas las haga por https Cookie: cabecera que automáticamente el servidor manda al cliente para poder establecer la cookie. Luego es el cliente el que lo manda al servidor ( todas las que se haya establecido para ese dominio) ○ Es una estructura clave=valor. Separador→; ○ La cabecera de respuesta es set-cookie ○ ○ Funcionamiento El servidor te manda la cookie Y el cliente es el que manda esa cookie de nuevo cuando se está navegando bajo ese dominio/web ○ Se pueden desactivar. ○ Se guardan en el navegador en formato de fichero de texto Connection: keep-alive: se abre una conexión TCP y hasta que no se cierra, todos los mensajes se harán sobre esa. ○ Si no se hiciera así, cada vez se tendría que crear una conexión, lo que haría que el el sistema sea muy pesado. ○ ○ max: número máximo de peticiones que puedes ser enviadas en esta conexión antes de que sa cerrada ○ timeout: indica la cantidad de tiempo mínima en la cual una conexión ociosa se debe mantener abierta (en segundos) Content-Security-Policy: permite especificar las fuentes autorizadas desde las que puede recibir contenidos de diversos tipos ○ Técnica CSP: (CSP) es un encabezado de seguridad que se utiliza en HTTP para ayudar a prevenir ataques de tipo Cross-Site Scripting (XSS) y otros ataques de inyección de código en aplicaciones web. ○ permite a los administradores de sitios web especificar claramente qué fuentes de contenido están permitidas y qué tipos de ejecución de código están autorizados en un sitio web ○ Contenido de la cabecera Access-Control-Request-Method: es un encabezado HTTP utilizado en el contexto de peticiones CORS. ○ Para verificar si el servidor permite una solicitud con un método HTTP específico desde un origen cruzado (es decir, un dominio diferente al del servidor). ○ GET y OPTIONS (Preflight) ○ CORS: (Cross-Origin Resource Sharing) es un mecanismo o política de seguridad que permite controlar las peticiones HTTP asíncronas que se pueden realizar desde un navegador a un servidor con un dominio diferente de la página cargada originalmente Este tipo de peticiones se llaman peticiones de origen cruzado (cross-origin ○ Política de control CORS: Orígenes cruzados ○ ○ Solo hay orígenes cruzados cuando te conectas a una página web, que llega a tu local, y esta consulta luego a otra página Por defecto esa segunda consulta está prohibida, controlada por CORS ○ Las llamadas se suelen hacer con OPTIONS aunque también se puede usar GET Llamad con GET El la respuesta Access-Control-Allow-Origin viene con un *, por lo que cualquiera tiene acceso. Si pusiera por ejemplo foo.example solo aceptaría aquellas peticiones que vengan de foo.example Llamada con OPTIONS OPTIONS da más detalle. Responde por ejemplo si se puede utilizar el método POST. Campos para solicitudes tipo “Response”: (Server http → User Agent) Campo Valor Explicación Ejemplo Indica la versión del protocolo HTTP, el código de estado de la respuesta y el Status-Line HTTP/1.1 200 OK motivo del estado. HTTP/1.1 200 OK Tipo de contenido Especifica el tipo de contenido de la Content-Type: text/html; Content-Type (MIME type) respuesta, como HTML, JSON, o imagen. charset=UTF-8 Indica el tamaño del cuerpo de la respuesta Content-Length Tamaño en bytes en bytes. Content-Length: 348 Fecha y hora en Indica la fecha y hora en que se generó la Date: Tue, 15 Nov 2023 Date formato HTTP-date respuesta. 08:12:31 GMT Nombre y versión del Informa sobre el software del servidor que Server: Apache/2.4.41 Server servidor manejó la solicitud. (Unix) Cache-Control: Define las políticas de almacenamiento en no-cache, no-store, Cache-Control Directivas de caché caché para la respuesta. must-revalidate Indica la fecha y hora en que la respuesta Expires: Tue, 15 Nov Expires Fecha de expiración debe considerarse obsoleta. 2023 09:00:00 GMT Indica la última fecha en que el recurso fue Last-Modified: Wed, 21 Last-Modified Fecha y hora modificado. Oct 2023 07:28:00 GMT Un identificador único para la versión del recurso, utilizado para la validación de ETag Identificador de entidad caché. ETag: "abc123etag" Algoritmos de Indica el tipo de codificación usada para Content-Encoding compresión comprimir el contenido de la respuesta. Content-Encoding: gzip Especifica la URL a la que el cliente debe redirigir para completar la solicitud (para Location: informar al navegador que haga una nueva https://www.example.co Location URL de redirección redirección a una nueva URL). m/redirect Set-Cookie: sessionId=abc123; Envía cookies al cliente que deben ser expires=Wed, 21 Aug almacenadas y enviadas con futuras 2024 12:00:00 GMT; Set-Cookie Valor de cookie solicitudes al mismo servidor. path=/ En el contexto de CORS, indica qué Access-Control-Allow- orígenes están permitidos para acceder al Access-Control-Allow-O Origin Orígenes permitidos recurso. rigin: * Content-Security-Policy: default-src 'self'; Content-Security-Polic Define las políticas de seguridad del script-src y Políticas de seguridad contenido que el navegador debe seguir. 'https://example.com' Indica el esquema de autenticación que el Esquema de cliente debe utilizar para acceder al WWW-Authenticate: WWW-Authenticate autenticación recurso. Basic realm="Example" Indica cuánto tiempo el cliente debe esperar antes de intentar la solicitud Retry-After Tiempo de reintento nuevamente. Retry-After: 120 Indica que el servidor soporta solicitudes de Accept-Ranges Rango de bytes rangos de bytes. Accept-Ranges: bytes Especifica qué encabezados de la solicitud Encabezados que deben usarse para determinar la respuesta Vary afectan la caché en caché. Vary: Accept-Encoding X-Content-Type-Optio Directiva de tipo de Indica si el navegador debe seguir las X-Content-Type-Options ns contenido reglas de tipo de contenido. : nosniff Controla si el contenido puede ser mostrado dentro de un marco o iframe en X-Frame-Options: X-Frame-Options Opciones de marco otro sitio. DENY Indica si el contenido debe ser mostrado en línea o descargado como un archivo Content-Disposition: adjunto, y puede proporcionar un nombre attachment; Content-Disposition attachment, inline, etc. para el archivo. filename="example.pdf" Especifica el rango de bytes del recurso que se está enviando, utilizado en Content-Range: bytes Content-Range bytes o none respuestas parciales. 200-1000/67500 Indica el tipo de codificación que se ha utilizado para el cuerpo de la respuesta, chunked, compress, permitiendo la transferencia de datos en Transfer-Encoding: Transfer-Encoding deflate, gzip, etc. partes. chunked 2.4. Códigos de respuesta HTTP Tipo Descripción Núm Comentario 100 Informativos Para indicar que una solicitud HTTP ha sido procesada correctamente y que la respuesta 200 contiene los datos solicitados 201 Created. Se ha creado un nuevo recurso. Ej: PUT 202 Accepted: recibido pero no procesado para indicar que la respuesta que el servidor está 200 Códigos de éxito proporcionando no proviene directamente de la fuente original, sino de una copia o una entidad intermedia que no es considerada como la fuente 203 autorizada de la información. para indicar que la solicitud HTTP se ha procesado correctamente, pero que no hay contenido 204 adicional para enviar en la respuesta El recurso solicitado Se ha movido 301 permanentemente 302 El recurso solicitado Se ha movido temporalmente 300 Redirecciones. El recurso no se ha modificado desde la última petición.Para ello el cliente tiene que modificar una cabecera llamada if-modified-since.no hay 304 necesidad de retransmitir los recursos solicitados Bad Request para indicar que el servidor no puede procesar la solicitud del cliente debido a un error en la solicitud misma. En otras palabras, este código se emite cuando la solicitud enviada por el cliente es Problemas con incorrecta, incompleta o no cumple con los 400 la solicitud del 400 requisitos esperados por el servidor. cliente No autorizado. dice que el recurso está protegido, por lo que requiere autenticación. Segundo paso 401 meter el usuario y contraseña 403 Prohibido. En esta ya se han mandado la password, no como en el caso anterior 404 Not Found - Recurso no encontrado Método no permitido. Ej: Hago un post cuando el 405 sistema solo me permite un put 500 Internal Error. Error genérico indicar que el servidor no es capaz de procesar la solicitud del cliente debido a que la funcionalidad requerida no está implementada o no está 501 disponible en el servidor Bad Gateway Se utiliza para indicar que un servidor actuando como intermediario o proxy ha recibido una Error o respuesta inválida o no válida desde un servidor problema al superior o de origen mientras intentaba cumplir 500 procesar la 502 con la solicitud del cliente. solicitud del servidor Servicio no disponible Se utiliza para indicar que el servidor no puede procesar la solicitud del cliente en ese momento debido a que el servicio o recurso solicitado no 503 está disponible temporalmente. Gateway Timeout el servidor intermediario ha agotado su tiempo de espera esperando una respuesta del servidor de 504 origen. NOTA woff: archivo de fuentes web creado en el formato WOFF (Web Open Font Format),para entregar fuentes de páginas web sobre la marcha. Se guarda como un contenedor comprimido Es un formato de archivo de fuente comprimido y basado en estándares abiertos que fue diseñado específicamente para su uso en navegadores web Permite a los diseñadores utilizar fuentes personalizadas en sus sitios web, lo que mejora el diseño y la marca visual sin depender de las fuentes predeterminadas del sistema. 3. Protocolo HTTP 2 3.1. Introducción HTTP2 Protocolo binario que conserva la misma semántica que el protocolo HTTP1.X lo que significa que todos los verbos, cabeceras, etc. siguen funcionando sin cambio Basado en SPDY (de Google - funciona sobre TCP/IP) Binario Una única conexión TCP Server PUSH Priorización de flujos Compresión de headers Frame: unidad mínima Stream: secuencia de Frames No requiere TLS, ya que viene implementado por defecto Mejora la eficiencia y la velocidad en la transferencia de datos entre servidores web y navegadores. Cabecera Comprimidas utilizando HPACK Se envían dentro de frames específicos llamados HEADERS frames Nota: También existe el frame DATA para transportar el cuerpo Formato de la trama: Límite máximo de 16 kb. Podría llegar hasta 16MB Multiplexación: Permite que múltiples solicitudes y respuestas sean enviadas de manera simultánea a través de una sola conexión TCP, eliminando problemas de bloqueo y mejorando la eficiencia en la transferencia de datos. Permite multiplexar ( no tienen por que ir en orden) un montón de recursos en base a la misma conexión TCP en formato binario Streams: Son flujos lógicos de datos dentro de una conexión TCP. Cada solicitud y respuesta es un flujo independiente. Frames: Los datos en HTTP/2 se dividen en pequeñas unidades llamadas frames. Cada frame es parte de un stream específico y lleva un identificador que lo relaciona con su flujo correspondiente. Funcionamiento: ○ Todas las solicitudes de recursos se envían simultáneamente a través de la misma conexión TCP ○ El servidor responde enviando múltiples flujos de datos al mismo tiempo (multiplexando la respuesta), cada uno asociado con su respectivo recurso ( así se aprovecha al máximo el canal). ○ Luego el HTTP/2 Framing Layer debe ser capaz de reconstruirlo Nota: Notificaciones PUSH Permite al servidor enviar recursos adicionales al cliente (como un navegador) antes de que el cliente los solicite explícitamente. Esto ayuda a optimizar la carga de la página web y a reducir la latencia, especialmente cuando el servidor puede anticipar los recursos que el cliente necesitará. 4. Protocolo HTTP 3 4.1. Introducción HTTP3 Evolución de HTTP/2 que introduce cambios clave para mejorar el rendimiento, la seguridad y la fiabilidad de las conexiones en la web moderna. Características: Http ya no descansa sobre TCP sino sobre QUIC (Quick UPD Internet Connections - Conexiones UDP rápidas en Internet) que por debajo tiene UDP en vez de TCP ( las comunicaciones cada vez son mejores) ○ QUIC integra características de transporte, manejo de conexiones y seguridad en un solo protocolo, combinando las funciones de TCP y TLS. Multiplexa al igual que http2 Utiliza una única conexión 5. SSL/TLS. Introducción criptografía 5.1. Introducción SSL (Secure Sockets Layer): Fue el protocolo original desarrollado por Netscape para garantizar comunicaciones seguras en la web. SSL proporciona una capa de cifrado que protege los datos transmitidos entre dos sistemas (por ejemplo, entre un navegador web y un servidor web). TLS (Transport Layer Security): Sucesor de SSL. Es un protocolo más seguro y eficiente que ha reemplazado a SSL. Un certificado SSL/TLS es un archivo de datos que vincula una clave criptográfica con los detalles de una organización o una entidad. Cuando un navegador web visita un sitio seguro (por ejemplo, con https:// en lugar de http://), el certificado SSL/TLS asegura que los datos intercambiados estén encriptados: permite cifrar la comunicación entre un navegador y un servidor web Los algoritmos criptográficos se utilizan para proteger la confidencialidad, integridad y autenticidad de la información. Existen varios tipos de algoritmos diseñados para cumplir diferentes propósitos. Tipos de algoritmos: Simétricos - Asimétricos - MIC/HMAC - Funciones MIC y MAC Algoritmos simétricos: utilizan la misma clave para cifrar y descifrar los datos. ○ Tanto el emisor como el receptor deben tener acceso a la misma clave secreta para que el cifrado y descifrado funcionen correctamente (Problema de la distribución de la clave) DH: método seguro de intercambio de claves entre partes que no han tenido un contacto previo, utilizando un canal inseguro y de manera anónima(automatizada) ○ Rápidos computacionalmente. Eficientes ○ Algoritmos: 3DES - RC5/RC6 - IDEA - AES(Rijndael) - ChaCha20 - BlowFish - TDEA - TwoFish - Serpent - Camellia Algoritmos asimétricos(algoritmos de llave pública): utilizan un par de claves: una clave pública para cifrar los datos y una clave privada para descifrarlos. La clave pública puede ser compartida libremente, mientras que la clave privada se mantiene secreta ○ Usos: Intercambio de claves de manera segura. Firmas digitales: Se utilizan para autenticar la identidad de un remitente o firmar electrónicamente documentos. ○ Algoritmos: RSA - DSA - DH - EC(curvas elípticas (son un complemento para los algoritmos)) - ECIES - ECDSA - El Gammal ○ Lentos para informaciones grandes ○ Nota RSA: El algoritmo usa números grandes y primos y aritmética modular (mod) Es difícil computacional generar un algoritmo eficiente para poder descifrar la clave pública y privada. Como generar claves ssh key-gen openssl: OpenSSL es una librería de licencias de herramientas de software bajo el estilo de licenciamiento Apache para implantaciones de los protocolos SSL y TLS. ○ tb permite crear las claves Java Algoritmos MIC/HMAC (necesita el mensaje y una clave para generar un Hash) ○ MIC (Message Integrity Code) es un valor hash calculado a partir de un mensaje para verificar su integridad(no garantiza la autenticidad). Garantizan la integridad ○ MAC (Message Authentication Code) a partir de un mensaje y una clave para generar el código. Esto proporciona tanto integridad como autenticación del mensaje, ya que solo quienes conocen la clave secreta pueden generar o verificar el MAC. La clave usada es la misma tanto para el emisor como para el receptor PMAC - UMAC - VMAC - Poly1305 ○ HMAC es una variante del MAC que combina una función hash criptográfica (como SHA-256) con una clave secreta. El propósito es garantizar tanto la integridad como la autenticidad de un mensaje. Funcionamiento: Primero, la clave secreta y el mensaje se combinan y se les aplica una función hash. Luego, se vuelve a aplicar la función hash a la salida de la primera operación, junto con la clave secreta. El resultado es el HMAC, que se envía junto con el mensaje. Solo aquellos que conocen la clave secreta pueden verificar si el mensaje ha sido modificado. ○ Nota: Busca validar la integridad SHA-1 - SHA-2 - SHA-3 - MD5: son algoritmos criptográficos de hash. las SHA son diseñadas por la NSA (Agencia de Seguridad Nacional) y publicada por el NIST (Instituto Nacional de estándares y tecnologías) Longitud de salida de los Algoritmos Algoritmo y variante Tamaño salida(bits) MD5 128 SHA-0 160 SHA-1 160 SHA-224 224 SHA-256 256 SHA-384 384 SHA-2 SSH-512 512 SHA-512/224 224 SHA-512/256 256 SHA-224 224 SHA-256 256 SHA-384 384 SHA-512 512 SHA-3 Se recomienda un mínimo de 128 bits. SHAKE 128 Long Arbitraria Se recomienda un mínimo de 256 bits. SHAKE 156 Long Arbitraria Nota Sistemas Híbridos (Combinan características de criptografía simétrica y asimétrica): SSL y PGP 5.2. Criptografía asimétrica CRIPTOGRAFÍA ASIMÉTRICA:Se basa en que el originante entrega al receptor el documento y una información adicional que resulta de cifrar con la clave privada del emisor el hash calculado en el documento Si cifro con la clave pública del receptor, se garantiza la confidencialidad Si cifro con la clave privada, se garantiza la autenticación ○ Aplicaciones - FIRMA DIGITAL: ○ Conjunto de datos asociados a un mensaje que permite asegurar la identidad del firmante (autenticación) y la integridad del mensaje. ○ Busca garantizar la integridad y autenticación NOTAS: Pre-Shared-Key (PSK): es una clave secreta compartida con anterioridad entre las 2 partes usando algún canal seguro antes de que se utilice. 5.3. SSL/TLS. Introducción a los certificados X509 V3 SSL: Protocolo de seguridad criptográfica que se utilizaba para asegurar la comunicación entre un cliente (como un navegador) y un servidor (como un sitio web) TLS: sucesor de SSL y es el protocolo estándar actual para asegurar la comunicación en internet. Proporciona confidencialidad, integridad y autenticación en las conexiones entre dos aplicaciones X.509 es un estándar para los certificados digitales. Contiene la clave pública de una entidad (como un sitio web o una persona) junto con información sobre esa entidad (como el nombre del sujeto) y está firmado por una autoridad de certificación (CA). Este estándar define el formato de los certificados y es utilizado en protocolos como SSL/TLS para validar la identidad del servidor o cliente. Extensiones de fichero.pem: formato más general que se utiliza para almacenar datos codificados en Base64 (incluyendo certificados X.509 y claves privadas) ○ A menudo, los archivos PEM contienen el certificado público y la clave privada en texto plano codificados en Base64 con encabezados como "-----BEGIN CERTIFICATE-----". ○.cer: archivo que generalmente contiene un certificado en formato binario DER o en formato de texto codificado en Base64 (PEM). ○ Solo contiene la parte pública del certificado P12/pkcs#12 o PFX (incluye clave privada): Son formatos de archivo que se utilizan para almacenar certificados y claves privadas en un solo archivo protegido por contraseña: parte pública + clave privada. PKCS#12 ○.pfx (Personal Information Exchange): Es un formato de archivo binario que puede contener el certificado X.509 del servidor, la clave privada asociada y, opcionalmente, una cadena de certificados intermedios ○.p12: Es un sinónimo de.pfx. Ambos son formatos intercambiables y se basan en el estándar PKCS #12 DER (formato binario): Utilizado principalmente para codificar certificados digitales, como certificados X.509, que se utilizan para autenticar la identidad de entidades en línea, como sitios web seguros P7B/pkcs#7 (parte pública + cadena de autoridades): formato se utiliza principalmente para manejar certificados y cadenas de certificados, pero no incluye la clave privada. ○ Esto significa que su propósito principal es la verificación de la autenticidad de un certificado, no su uso directo en cifrado.. crt: son archivos utilizados comúnmente para almacenar certificados digitales en el formato X.509 Otros tipos de certificados SAN (subject alternative names): Permite proteger varios dominios y subdominios diferentes con un solo certificado SSL/TLS Wildcard: Protege un dominio y todos sus subdominios de nivel inferior asociados Autoridad de certificación:(AC, en inglés CA) es una entidad de confianza del emisor y del receptor del mensaje. Esta confianza de ambos en una 'tercera parte confiable' permite que cualquiera de los dos confíe a su vez en los documentos firmados por la Autoridad de Certificación, en particular, en los documentos que identifican cada clave pública con su propietario correspondiente y se denominan certificados. empresa que expide certificados. Ejemplos: ○ fnmt ○ camerfirma ○ firmaprofesional ○ DNI electrónico (DGP) ○ Generalitat valenciana (ACCV) ○ Agencia catalana de certificación (CATCert) ○ ANF Autoridad de certificación(ANF AC) ○ Ziurtapen eta zerbitzu enpresa, IZENPE ○ Autoridad de Certificación de la Abogacía (ACA) Un certificado digital es un archivo electrónico que sirve para autenticar la identidad de una persona, empresa, o dispositivo en internet. Campos importantes en los certificados: versión número de serie Id del algoritmo usado por la CA para firmar Emisor: CA que lo emite Validez: Sujeto: Para quien lo emite Algoritmo de clave pública del sujeto Clave pública del sujeto Firma digital ( creada por la CA) SSL/TSL. Verificación de un certificado ( de servidor) Chequear su periodo de validez Validar si ha sido emitido para el dominio desde el cual nos lo hemos descargado Verificar que está bien firmado (integridad) Comprobar si la CA firmada está registrada en nuestros almacenes de confianza Chequear el estado de revocación ○ OCSP: Protocolo binario online en base al nº de serie. Comprobando que es correcto y que no está revocado ○ CRL: Lista con todas las revocaciones de una autoridad. Mantener un listado de aquellos certificados (más concretamente sus números de serie) que han sido revocados y, por tanto, ya no son válidos y en los que no se debería confiar. Estructura protocolo SSL/TLS(1.2 y 1.3) 2 capas diferenciadas: High-Level Protocols y Low-Level Protocols Higher Layer SubProtocolos: Los protocolos de alto nivel son responsables de la gestión de la sesión, el manejo de errores, la negociación de parámetros de seguridad y el intercambio de mensajes. Algunos de los protocolos de alto nivel en TLS incluyen ○ Handshake: Encargado de establecer una conexión segura entre el cliente y el servidor. Durante el handshake, se negocian los parámetros de seguridad (versiones de TLS, algoritmos de cifrado, etc.), se autentican las partes, y se establece una clave compartida para la encriptación de los datos. (C)Client-Hello: Contiene la versión de TLS soportada por el cliente, una lista de suites de cifrado, opciones de compresión y un número aleatorio (nonce) (S)Server-Hello: Respuesta del servidor con la versión de TLS seleccionada, la suite de cifrado elegida, las opciones de compresión (S)Server Certificate: El servidor envía su certificado digital X.509 para autenticarse ante el cliente (S)Key Exchange: Se utiliza cuando la autenticación adicional es necesaria (por ejemplo, en el caso de DHE o ECDHE) (C)Change Cipher Spec: Protocolo es extremadamente simple. Solo tiene un mensaje y su propósito es indicar que a partir de ese momento, las partes comenzarán a usar los parámetros de cifrado y las claves negociadas durante el handshake Nota cipher suite: dice que algoritmos simétricos/asimétricos conozco y la función hash. ○ Nota Alert: Gestiona la señalización de errores o problemas en la conexión TLS. Permite a las partes comunicarse sobre problemas relacionados con el protocolo, como errores fatales que requieren que la conexión se cierre o advertencias que pueden ser manejadas sin cerrar la conexión. ○ Nota Mutual Authentication: tanto el Cliente como el servidor se intercambian sus certificados Low Layer SubProtocolos: Responsables de la fragmentación, el cifrado y la transmisión de los datos en la conexión TLS. ○ Operaciones básicas Fragmenta el mensaje en trozos que que sean gestionables Comprime los datos si es requerido Calcula el codigo MAC de cada trama Encripta los datos Transmite el resultado de los datos a los peer NOTA: ¿En handshake ssl, se autentica el cliente? SI: Si el servidor tiene el Mutual-Authentication activo (esta opción es alternativo)(También llamado 2 vías) 6. Firmas Digitales 6.1. Firma Digital Una firma digital es un mecanismo criptográfico que se utiliza para garantizar la autenticidad, integridad y no repudio de un mensaje, documento o cualquier tipo de información digital. Hash + cifrado El Hash Function genera el residuo Hash encriptado:firma digital. Luego se envía los datos, la firma y la clave pública: Datos firmados digitalmente Proceso de Firma Digital 1. Generación de Claves: Se generan un par de claves, la clave privada (que se mantiene en secreto) y la clave pública (que se distribuye públicamente). 2. Hashing del Documento: El documento o mensaje a firmar se pasa a través de una función hash, que genera un valor de hash único y de tamaño fijo, también conocido como "resumen de mensaje". Esta función hash asegura que incluso un pequeño cambio en el documento genere un valor de hash completamente diferente. ○ Ejemplo de algoritmos hash: SHA-256, SHA-1. 3. Firma con la Clave Privada: El valor de hash generado se cifra usando la clave privada del firmante. Este valor cifrado es lo que constituye la firma digital. 4. Distribución del Documento Firmado: El documento original y la firma digital se envían al destinatario. La firma digital viaja junto con el documento. Proceso de Verificación de la Firma Digital 1. Hashing del Documento: El destinatario también genera el hash del documento que ha recibido, utilizando la misma función hash que el remitente. 2. Desencriptación de la Firma: El destinatario utiliza la clave pública del remitente para desencriptar la firma digital. Esto debe devolver el valor de hash original del documento (el valor cifrado por la clave privada del remitente). 3. Comparación de Hashes: El hash generado por el destinatario se compara con el hash desencriptado de la firma digital. Si los dos valores de hash coinciden: ○ La firma es válida, lo que significa que el documento no ha sido alterado desde que se firmó y que proviene del remitente auténtico. ○ Si no coinciden, significa que el documento ha sido alterado o que la firma no proviene del remitente indicado. Problemas para quien valida la firma ¿Cómo sé el algoritmo de hash que tengo que usar? ¿En qué formato me envías el documento y su firma? ¿Cómo obtengo la clave pública del emisor? ¿Cómo se quien es realmente el emisor? ¿Cuál es el algoritmo de descifrado que tengo que usar? ○ El receptor no conoce de origen toda esa información para poder hacer el descifrado. Para ello hay varios formatos de firma Formato XML-DSIG (Ejemplo con RSA y SHA 256) ○ Es una recomendación del W3C que define una sintaxis XML para la firma digital. Funcionalmente, tiene mucho en común con PKCS#7, pero es más extensible y está orientada hacia la firma de documentos XML. ○ ○ NOTA: si lo que se quiere firmar es un texto, puede venir en el campo ○ Lo primero que hace es descifrar lo que hay en signature value. Esto tiene el valor del resultado de la firma el xml muestra con que algoritmo se ha cifrado Faltaría por saber cual es la clave pública para poder hacer el descifrado. Como se usa una firma modular, esto sería el equivalente para saber cual es la firma pública ¿Cómo se sabe que esto es del emisor? ○ Cuando se descifre SignatureValue aparecerá el residuo generado por el MIC. Este valor hay que validarlo con para saber si es correcto ○ 6.2. Formatos de firma avanzada Nota: cada capas pone más etiquetas en el xml, para que: Necesite menos cosas del exterior para ser validadas (autocontenido) Para que cada vez para que sean más longevas ADES (Advanced Electronic Signatures): ADES es un estándar basado en los estándares ASN.1 y XML. XAdES (XML Advanced Electronic Signatures): se enfoca en firmas electrónicas avanzadas utilizando el formato XML. Proporciona un marco para la creación y verificación de firmas electrónicas utilizando documentos XML. XAdesT: Sellado de tiempo sobre la firma electrónica XAdesC: Referencia a las listas de revocación y a los certificados XAdesX: Sellado de tiempo sobre las referencias a los certificados y a las listas de revocación XAdesX-L(Extended Long-term with Long Validation Data)): Incluye certificados y listas de revocación XAdes A(Archival): orientado a archivar documentos firmados de manera que las firmas electrónicas sean verificables indefinidamente. Incluye secuencias de sellado de tiempo CAdES (Cryptographic Message Syntax Enhanced): Se enfoca en firmas electrónicas avanzadas utilizando el formato Cryptographic Message Syntax (CMS): estándar de la IETF para firmar mensajes y documentos binarios. Apropiado para firmar ficheros grandes Tras firmar, no podrás ver la información firmada, porque la información se guarda de forma binaria. PAdES (PDF Advanced Electronic Signatures): Se centra en firmas electrónicas avanzadas específicamente para documentos PDF. ​ OOXML y ODF: Son los formatos de firma que utilizan Microsoft Office y Open Office, respectivamente. 6.3. Protocolo SSL/TLS con Java Fichero con CA’s de confianza por defecto ○ JAVA_HOME/jre/lib/security/cacerts (password changeit) Almacenes específicos: Formato JKS (Java Key Store)] Herramienta JDK para crearlos, etc: keytool Librerías de tercero de criptografía: Bounce Castle 7. web 2.0 Es una actitud, enfocar Internet al usuario final Permiten a las personas colaborar y compartir información en línea Destaca por: blogs, redes sociales, web autoedición, etiquetado colectivo (folcsonomía) folcsonomía: es una forma de clasificación y etiquetado de información en línea realizada por usuarios o comunidades de usuarios en lugar de por sistemas de categorización predefinidos Tecnologías Evolución aplicaciones escritorio: web Separación diseño/contenido (hojas de estilo, XHTML) Java Web Start: permite descargar y ejecutar aplicaciones Java desde la Web Ajax (Asynchronous javascript and xml): describe un grupo de tecnologías que se usan para obtener datos del servidor en segundo plano y usarlos para actualizar la página sin recargarla. Uso de Flash (sin soporte), Flex o Laszlo… Redes sociales y sus plugins para integrarlas 8. web 3.0 o semántica Dotar a la web de significado con una información mejor definida. Se trata de agregar semántica a los datos, para facilitar la comprensión y la interoperabilidad No se ocupa de la sintaxis Son aplicaciones web conectadas con aplicaciones web: Se personaliza con información contextual, basada en tu ubicación, tus gustos y preferencias ○ Hacer la información entendible por las máquinas Uso de tecnologías de de descripción de los contenidos ○ El objetivo: facilitar el acceso a la información, mejorar las búsquedas Ontologías: definición formal de tipos, propiedades, y relaciones entre entidades que realmente o fundamentalmente existen para un dominio de discurso en particular Consiste en dotar a los ordenadores de la capacidad de estructurar y manejar la información en base a una valoración semántica de sus contenidos, con la finalidad de que la inteligencia artificial pueda entender el significado del contenido Tecnologías XML/XML Schema: estructurar los datos RDF (Resource Description Framework): información descriptiva ○ Usado en catálogos online, colecciones de música, etc RDF Schema: es un vocabulario para describir las propiedades y las clases de los recursos RDF OWL es un lenguaje de marcado para definir ontologías SPARQL es un lenguaje de consulta de conjuntos de datos RDF 9. web 4.0 La Web 4.0 generalmente se describe (no hay una definición estándar) como una web completamente integrada e inteligente que combina capacidades avanzadas de inteligencia artificial (IA), conectividad ubicua, automatización avanzada y personalización para ofrecer una experiencia más fluida y centrada en el usuario. Se centra en un comportamiento más inteligente y predictivo Deep Learning, Machine Learning e IA Reconocimiento del lenguaje natural Avances M2M Context awareness, usando toda la información que tenga al alcance Nuevos modelos de interacción con el usuario 10. IoT (Internet of Things) 10.1. Introducción Es una tecnología que conecta dispositivos físicos al internet para que puedan intercambiar datos y funcionar de manera automatizada e inteligente. Pilares Redes de baja potencia (no necesita wifi ni bluetooth). Los dispositivos se conectan a la red a través de señales de radio de baja potencia Cheap networks: investigación distintas alternativas que necesiten menos energía y que resulten más económicas Orientación a consumidores: RFID, QR 10.2. Conectando cosas Redes PAN o Personal Area Network (IEEE 802.15) ○ 6LoWPAN: (Low power Wireless Personal Area Networks), tecnología que ofrece mecanismos de encapsulación y comprensión de cabeceras para poder enviar y recibir paquetes IPv6 en redes de baja potencia basadas en el estándar IEEE 802.15.4 ○ ZigBee: conjunto de protocolos de bajo consumo y bajo coste para redes inalámbricas de área personal (LR-WPAN) basadas en su capa física y de control de acceso al medio en el estándar IEEE 802.15.4, que utiliza la banda de frecuencias no licenciada ISM (868 MHz en Europa). Tiene la capacidad de crear redes malladas (mesh), con una velocidad de transmisión de 250 Kbps y un alcance aproximado de 10 metros ○ RFID: (Radio-frequency Identification): tecnología usada para la identificación automática de objetos mediante ondas de radio. Opera transmitiendo la identidad de los objetos desde una etiqueta o transpondedor que puede ser activa (con batería) o pasiva (sin batería). Su capa física está basada en el estándar IEEE 802.15.4f NFC(Near Field Communication): Tecnología de comunicación inalámbrica de corto alcance, que permite la transmisión de datos entre dispositivos cuando están a unos pocos centímetros de distancia (generalmente menos de 10 cm) PLC(Power Line Communication): tecnología de comunicación que utiliza las líneas de energía eléctrica existentes para transmitir datos Redes LPWAN (Low-Power Wide-Area Network): a diferencia de las redes PAN, estas redes de telecomunicaciones están diseñadas para permitir comunicaciones de área extensa con un bajo ancho de banda. Existen diferentes tecnologías, entre las que cabe destacar: ○ LoRa: en sí se refiere a la capa física, es decir, al protocolo de modulación para la transmisión de datos. ○ LoRaWAN: Define las reglas de comunicación, la gestión de dispositivos, la seguridad, y la estructura del sistema. Se basa en su capa física en la tecnología LoRa ○ LTE-M(Long Term Evolution for Machines): esta tecnología utiliza las conexiones LTE, pero está optimizada para un mayor ancho de banda, obteniendo mayor velocidad (hasta 1 Mbps en subida) y una menor latencia, ○ Otros: Symphony Link, Sigfox, Weightless, NB-IoT. Wifi: versiones que ofrecen rango extendido y poco consumo de energía ○ Wifi Halow (802.11 ah Banda < 1GHz) y HEW (High Efficiency, Wifi 6). Bluetooth 5G (SA) 10.3. Arquitectura Protocolos de intercambio: XMPP: Extensible Messaging and Presence Protocol ○ Protocolo abierto basado en XML diseñado para aplicaciones de mensajería instantánea. ○ Se basa en una arquitectura cliente/servidor y su principal característica es la identificación de los dispositivos con una dirección MQTT (Message Queue Telemetry Transport): es un protocolo abierto de envío de mensajes sobre TCP adecuado para dispositivos de baja potencia y recursos, al ser muy sencillo y ligero. ○ Usa una arquitectura cliente/servidor ○ Soporta un elevado número de clientes conectados de manera simultánea Otros: CoAP (Constrained Application Protocol), Rest HTTP, DDS (Data Distribution Service), AMPQ Elementos: Sensores y actuadores: Dispositivos que capturan datos del entorno físico y los convierten en señales digitales que pueden ser interpretadas por sistemas de procesamiento Internet GW y DAS ○ GW: dispositivo intermediario que conecta los sensores y actuadores a la red de Internet ○ DAS: Un sistema de adquisición de datos (DAS) recopila y organiza datos provenientes de múltiples sensores antes de transmitirlos a un gateway o a la nube Edge IT: una arquitectura en la cual el procesamiento de los datos se realiza cerca de donde se generan, es decir, en el "borde" de la red, en lugar de enviarlos directamente a la nube o a un datacenter centralizado DataCenter & Cloud: Análisis masivos de datos 10.4. Plataformas KAA: Soluciones IoT end-to-end.Opensource. ○ Ofrece SDK back-end y endpoint ○ Gestiona la comunicación entre objetos conectados ○ Ofrece interfaces para la integración con gestión de datos y sistemas. Analíticos IoT SAP HANA: SAP Cloud Platform IoT ○ Intercambio información con BDD alojada en SAP (Big Data). Hardware Arduino ○ Placa base HW para proyectos IoT, formación en informática y componentes… AWS IoT Core, Microsoft Azure IoT, Google Cloud IoT ThingSpeak: permite recopilar, almacenar, analizar y visualizar datos en tiempo real provenientes de dispositivos IoT. Cisco IoT Control Center (anteriormente Jasper): plataforma orientada a la gestión de dispositivos IoT conectados a redes móviles (M2M - Machine to Machine) Particle: proporciona hardware, software y servicios en la nube para conectar dispositivos y gestionar redes IoT Balena: plataforma centrada en el despliegue y la gestión de dispositivos IoT en el borde (Edge).

Use Quizgecko on...
Browser
Browser