Está en la página 1de 22

1 PROTOCOLOS UTILIZADOS EN FACEBOOK

Pedro Eduardo Pacora Marron, Paul Martin Benites Gamboa, Diego Adrián

Sinchi Rumuaca, Martín André Rodriguez Aranzana.

Febrero, 2021.

Universidad Nacional Mayor de San Marcos.

Lima, Perú

Servicios de Telecomunicaciones 2
RESUMEN:

Facebook es la principal red social que existe en el mundo. Una red de vínculos virtuales, cuyo

principal objetivo es dar un soporte para producir y compartir contenidos. Llegó para ampliar las

posibilidades de relación social y causó una revolución sensible en el mundo de las

comunicaciones. Es una de las aplicaciones de mensajerías más utilizadas hoy en día. Su

creciente popularidad y nuestras ganas de aplicar lo aprendido en el curso fue motivación

suficiente para darnos la tarea de investigar como es el funcionamiento de esta aplicación desde

el punto de vista de Redes de Computadores. Las funcionalidades de la aplicación van desde

mensajes sencillos de texto, hasta la realización de videollamadas.

Además, la aplicación funciona en múltiples sistemas. En el presente informe, principalmente

nos concentramos en ver qué protocolos utilizaba y en que capas se encontraban, utilizando la

versión en escritorio de la aplicación, ya que fue más sencillo trabajar con esta. Así, descubrimos

la existencia del protocolo Transport Layer Security, el cual es un protocolo intermediario entre

la capa de aplicación y la capa de transporte, un protocolo criptográfico, que proporcionan

comunicaciones seguras por una red, comúnmente Internet, y el cual es el más importante que

utiliza Facebook. Por eso entramos en detalle e investigamos el funcionamiento de sus

subsprotocolos, así como el proceso de Handshaking entre estos.

Palabras claves:
ABSTRACT:

Facebook is the main social network that exists in the world. A network of virtual links, whose

main objective is to provide support to produce and share content. It came to expand the

possibilities of social relationship and caused a sensible revolution in the world of

communications. It is one of the most used messaging applications today. Its growing popularity

and our desire to apply what we learned in the course was sufficient motivation to give us the

task of investigating how this application works from the point of view of Computer Networks.

The application's functionalities range from simple text messages to making video calls.

Also, the application works on multiple systems. In this report, we mainly concentrated on

seeing what protocols it used and in which layers they were, using the desktop version of the

application, since it was easier to work with it. Thus, we discovered the existence of the

Transport Layer Security protocol, which is an intermediary protocol between the application

layer and the transport layer, a cryptographic protocol, which provides secure communications

over a network, commonly the Internet, and which is the most important used by Facebook. That

is why we go into detail and investigate the operation of its subprotocols, as well as the

Handshaking process between them.

Keywords:
Tabla de Contenidos

CAPÍTULO 1..............................................................................................................................1

INTRODUCCIÓN:.....................................................................................................................1

CAPÍTULO 2..............................................................................................................................2

ANTECEDENTES:....................................................................................................................2

CAPÍTULO 3..............................................................................................................................3

OBJETIVOS:..............................................................................................................................3

CAPÍTULO 4:.............................................................................................................................4

ESPECIFICACIONES:...............................................................................................................4

TLS – TRANSPORT LAYER SECURITY:..........................................................................4

¿Cómo funciona TLS?............................................................................................................5

TLS – SUBPROTOCOLOS:..................................................................................................6

a) TLS RECORD SUBPROTOCOL:................................................................................6

b) HIGHER – LAYER SUBPORTOCOLS:.....................................................................7

TLS – HANDSHAKE:...........................................................................................................7

CAPÍTULO 5:...........................................................................................................................10

CONCLUSIONES:...................................................................................................................10

Lista de referencias...................................................................................................................11

Apéndice...................................................................................................................................12
Lista de figuras

Figura 1. Formas y descripción de las formas................................................................4


CAPÍTULO 1

INTRODUCCIÓN:

Facebook es una de las plataformas sociales mas utilizadas en el mundo. otra

aplicación de mensajería muy utilizada hoy en día. Al ser una aplicación muy utilizada,

como grupo nos propusimos la tarea de investigar el como funciona por dentro, viendo

que protocolos utiliza, aplicando los conocimientos aprendidos en clase. La aplicación es

multiplataforma, está disponible tanto en celulares (Android, iOS, etc) como en

computadores de escritorios. Para efectos de investigación decidimos utilizar la versión

de escritorio, ya que esta era mas fácil de analizar con el software Wireshark, así pudimos

analizar los paquetes que se enviaban y recibían.

Es la red social líder en la actualidad, con más de 1.500 millones de usuarios activos a

nivel mundial y con una implantación a nivel nacional de 17 millones de usuarios. Es una

plataforma orientada a la compartición y comunicación con otras personas e instituciones

públicas y privadas de información, fotos, videos y enlaces. Facebook también ofrece la

posibilidad de enviar mensajes privados a los contactos (llamados simpatizantes o fans)

así como a otras personas que, desconocidas, pero que también están en esta red social.

Permite, además, crear eventos e invitar a otros usuarios participar en ellos.


CAPÍTULO 2

ANTECEDENTES:
CAPÍTULO 3

OBJETIVOS:
CAPÍTULO 4:

ESPECIFICACIONES:

Actualmente las aplicaciones móviles de Facebook utilizan una pila de protocolos

TCP/IP personalizada llamada Mobile Proxygen, esto les permite compartir el mismo

código fuente entre el servidor y los clientes para facilitar y acelerar el despliegue de

nuevas actualizaciones de seguridad y de rendimiento en todo su software.

Facebook utiliza el estándar TLS 1.2 en sus aplicaciones móviles, y utilizan Folly con

OpenSSL para realizar la implementación de dicho protocolo TLS en sus sistemas. Como

todos sabéis, TLS 1.2 incorpora un tiempo de establecimiento de ida y vuelta (1-RTT)

para realizar las comunicaciones. En los últimos años han desarrollado diferentes técnicas

para minimizar el impacto, como por ejemplo técnicas para la terminación de conexiones

TLS cerca de los usuarios, reusar conexiones HTTP2 e incluso la reanudación de la

sesión y el denominado TLS False Start. La mayoría de conexiones que se realizan desde

las aplicaciones móviles de Facebook añaden solo 1-RTT adicional.

TLS – TRANSPORT LAYER SECURITY:

El protocolo Transport Layer Security se utiliza entre la capa de aplicación y la de

transporte para por encriptar los paquetes que viajan por el Internet. Para ello utiliza dos

tipos de encriptación: Asimétrica y Simétrica

Durante el inicio de una conexión se utiliza una encriptación asimétrica donde

existen dos llaves, una que utiliza el cliente (llave pública) y otra el servidor (llave
privada). A pesar de lo seguro de este sistema, resulta muy costo, por lo que solo se

utilizaría mientras el cliente y el servidor se ponen de acuerdo para establecer una llave

única y así pasar a una encriptación simétrica.

El protocolo TLS encripta el tráfico de Internet de todos los tipos. El más común es el

tráfico web; usted sabe que su navegador está conectado a través de TLS si la URL en su

dirección comienza con “https”.

¿Cómo funciona TLS?


La encriptación es necesaria para comunicarse de forma segura a través de Internet: si

sus datos no están encriptados, cualquiera puede examinar sus paquetes y leer

información confidencial.

El método más seguro de encriptación se llama criptografía asimétrica; esto requiere

dos claves criptográficas (piezas de información, por lo general, números muy grandes)

para que funcionen correctamente, una pública y otra privada. Las matemáticas aquí son

complejas, pero en esencia, puede usar la clave pública para cifrar los datos, pero necesita

la clave privada para descifrar eso. Las dos claves están relacionadas entre sí por alguna

fórmula matemática compleja que es difícil de aplicar ingeniería inversa mediante la

fuerza bruta.

Piense en la clave pública como información sobre la ubicación de un buzón de correo

bloqueado con una ranura en el frente, y la clave privada como la clave que desbloquea el

buzón de correo. Cualquiera que sepa dónde está el buzón puede poner un mensaje en él;

pero para que cualquier otra persona lo lea, necesitan la clave privada.
Debido a que la criptografía asimétrica involucra estos difíciles problemas

matemáticos, se necesitan muchos recursos informáticos, tanto que si se utiliza para

encriptar toda la información en una sesión de comunicaciones, su computadora y su

conexión se detendrían. TLS soluciona este problema utilizando solo la criptografía

asimétrica al comienzo de una sesión de comunicaciones para encriptar la conversación

que el servidor y el cliente deben acordar en una sola clave de sesión que usarán para

encriptar sus paquetes desde ese momento.

La encriptación usando una clave compartida se llama criptografía simétrica,y es

mucho menos intensivo computacionalmente que la criptografía asimétrica. Debido a que

esa clave de sesión se estableció usando criptografía asimétrica, la sesión de

comunicación en conjunto es mucho más segura de lo que sería.

El proceso mediante el cual se acuerda la clave de esa sesión se denomina handshake,

ya que es el momento en que las dos computadoras que se comunican se presentan entre

sí, y es el “corazón” del protocolo TLS.

TLS – SUBPROTOCOLOS:
El protocolo TLS consta de dos subcapas: TLS Record Subprotocol y Higher-

layer Subportocols.

a) TLS RECORD SUBPROTOCOL:


Esta capa se encuentra sobre TCP y esta recibe los datos de la capa de aplicación, los

fragmenta, comprime (opcional), agrega la autenticación del mensaje, encripta los datos y
agrega el encabezado de TLS: Versión de TLS, tipo de registro de TLS y el largo de los

datos.

b) HIGHER – LAYER SUBPORTOCOLS:


Esta capa trabaja bajo la capa de aplicación y está compuesta por 4 subprotocolos:

 Handshake: Aquí se autentifican los participantes en la conexión y se

establece la llave que se utilizaría para la encriptación simétrica.

 Change Cipher Spec: Se hace efectivo lo negociado en el Hanshake y se

empiezan a cifrar los datos con la llave negociada.

 Alert Protocol: Si existe algún problema que afecte que afecte a la seguridad

del protocolo se notifica con un mensaje de alerta.

 Application Data Protocol: Toma los datos de la capa de aplicación y los

envía por el canal seguro.

TLS – HANDSHAKE:
 Client Hello: Este mensaje comienza la negociación de handshake, se envía la

lista de suites de cifrado que soporta el cliente para que el servidor elija la que

mejor se adapte. También da la posibilidad de reiniciar una sesión previa a

través de un campo SessionId.

 Server Hello: Es muy similar al Client Hello con la excepción de que solo

incluye un suite de cifrado y un método de compresión. También da la

posibilidad al cliente de reiniciar una sesión previa a través del campo

SessionId.
 Certificate: El cuerpo de este mensaje contiene una cadena de certificados de

claves públicas. Las cadenas de certificados permiten que TLS admita

jerarquías y PKIs (infraestructura de clave pública)

 Server Key Exchange: Este mensaje contiene los parámetros del algoritmo de

intercambio de claves que el cliente necesita del servidor para poder trabajar

posteriormente con la encriptación simétrica.

 Certificate Request: Se usa cuando el servidor requiere autenticación de

identidad del cliente. También indica qué autoridades de certificación se

consideran confiables.

 Server Hello Done: Este mensaje finaliza la parte del servidor de la

negociación del protocolo de enlace. No lleva información adicional.

 Client Key Exchange: Proporciona al servidor los datos necesarios para

generar las claves para el cifrado simétrico. El formato de mensaje es muy

similar a Server Key Exchange, ya que depende principalmente del algoritmo

de intercambio de claves elegido por el servidor.

 Certicate Verify: El cliente envía este mensaje para demostrarle al servidor

que posee la clave privada correspondiente a su certificado de clave pública.

 Finish: Este mensaje indica que la negociación de TLS está completa y suite

de cifrado está activado. Ya se encuentra encriptado por lo que se envía

después del mensaje de Change Cipher Spec.


PROTOCOLO HTTPS:

Simplemente es una combinación del protocolo HTTP (usado en cada transacción

web) con el protocolo SSL/TLS usada para establecer comunicaciones cifradas en sitios

web. La navegación a través de HTTPS brinda a los usuarios una mayor seguridad, ya

que permite que los datos viajen cifrados a través de la web. Es por esto que Facebook, la

red social con más de 500 millones de usuarios, ha puesto a disposición de todos sus

usuarios esta funcionalidad. Para aquellos que quieran refrescar un poco la memoria,

HTTPS son las siglas correspondientes a Hypertext Transfer Protocol Secure (en español

– Protocolo Seguro de Transferencia de Hypertexto). Este protocolo de comunicación

basado en HTTP, cifra el envío de datos entre el servidor y el navegador asegurando de

esta manera la confidencialidad.

Las conexiones bajo este protocolo colaboran también para que el usuario no sea

víctima de engaños de phishing, en los cuales un atacante intenta robar datos personales

mediante el uso de técnicas de Ingeniería Social. Un usuario con esta funcionalidad

activa, no debería ingresar más sus datos en formularios que no posean el protocolo

habilitado, lo más habitual en sitios para robar información de acceso y claves.


FUNCIONAMIENTO:
SSL/TLS es una tecnología compleja, pero una vez entendidos los conceptos

anteriores comprenderás el funcionamiento de este protocolo de forma general. Usemos

un ejemplo con el cual posiblemente estés familiarizado.

Supongamos que intentas acceder al sitio de Facebook de forma segura, es decir,

usando “https” en la dirección web. Inmediatamente, aparecerá la página en pantalla y en

alguna parte de tu navegador observarás un “candado”, dependiendo del navegador que

uses (Imagen 1). Si no viste ningún mensaje de advertencia (generalmente en tonos

rojos), el protocolo SSL/TLS ha hecho su trabajo.

SSL/TLS funciona de forma transparente para ti, lo que en realidad ocurre cuando

intentas acceder a un sitio seguro se asemeja al siguiente diagrama.


a) Iniciando comunicación segura:

En el punto dos del Diagrama 1, cuando el navegador hace una petición al sitio seguro

de Facebook, éste envía un mensaje donde indica que quiere establecer una conexión

segura y envía datos sobre la versión del protocolo SSL/TLS que soporta y otros

parámetros necesarios para la conexión.

En base a esta información enviada por el navegador, el servidor web de Facebook

responde con un mensaje informando que está de acuerdo en establecer la conexión

segura con los datos de SSL/TLS proporcionados.

Una vez que ambos conocen los parámetros de conexión, el sitio de Facebook presenta

su certificado digital al navegador web para identificarse como un sitio confiable.

b) Verificación de validez del certificado:


Una vez que el navegador tiene el certificado del sitio web de Facebook, realiza

algunas verificaciones antes de confiar en el sitio:

 Integridad del certificado: Verifica que el certificado se encuentre íntegro, esto

lo hace descifrando la firma digital incluida en él mediante la llave pública de

la AC y comparándola con una firma del certificado generada en ese momento,

si ambas son iguales entonces el certificado es válido.

 Vigencia del certificado: Revisa el periodo de validez del certificado, es decir,

la fecha de emisión y la fecha de expiración incluidos en él.


 Verifica emisor del certificado: Hace uso de una lista de Certificados Raíz

almacenados en tu computadora y que contienen las llaves públicas de las ACs

conocidas y de confianza (Imagen 2). Puedes acceder a esta lista desde las

opciones avanzadas de tu navegador web (en este caso usamos Google

Chrome). Con base a esta lista, el navegador revisa que la AC del certificado

sea de confianza, de no serlo, el navegador mostrará una advertencia indicando

que el certificado fue emitido por una entidad en la cual no confía.

c) ESTABLECIENDO LA CONEXIÓN SEGURA


¡Listo!, una vez que el certificado cumplió con todas las pruebas del navegador, se

establece la conexión segura al sitio de Facebook, lo cual se traduce en seguridad para tus

valiosos datos personales.

d) PUNTO DÉBIL DE LA TECNOLOGÍA SSL/TLS


Es importante que estés consciente que pese acceder sólo a sitios seguros, la

tecnología SSL/TLS no garantiza al 100% que tu información esté segura; considera que,
como toda creación humana, tiene fallos. Los atacantes se han vuelto muy hábiles e

ingeniosos para burlar estos mecanismos de seguridad.

Por ello, debes tomar algunas medidas preventivas antes de realizar transacciones en

línea que puedan poner en riesgo tu información.

CAPÍTULO 5:

CONCLUSIONES:

 Al realizar este proyecto podemos concluir que Facebook usa un protocolo

TLS entre la capa de aplicación y la capa de transporte para cifrar los datos que

se envían a través de la red cuando se realiza una conversación en esta

plataforma. Esto genera una gran confiabilidad hacia la plataforma ya que

nuestros paquetes de datos enviados van a ser cifrados y no serán visibles en la

red si es que alguien trata de capturar estos datos, y así de esta forma las
conversaciones que se realizan a través de la aplicación van a ser privadas y

seguras cuando estas se usen.

LISTA DE REFERENCIAS:

Andrews, S. Fastqc, (2010). A quality control tool for high throughput sequence data.

Augen, J. (2004). Bioinformatics in the post-genomic era: Genome, transcriptome,

proteome, and information-based medicine. Addison-Wesley Professional.


APÉNDICE:

Las tablas y figuras pueden ir en el apéndice como se mencionó anteriormente.

También es posible usar el apéndice para incluir datos en bruto, instrumentos de

investigación y material adicional.

También podría gustarte