Logo Studenta

Desarrollo de Software Esbelto

¡Este material tiene más páginas!

Vista previa del material en texto

Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
1 
 
Métodos y Técnicas utilizadas en la Seguridad en Dispositivos Móviles: una Revisión 
del Estado del Arte. 
Esteban Parrales A., Juan Jesús Ruiz L., Anastacio Antolino H., Juan Carlos Olivares, Heberto Ferreira M. 
e.parrales.a@hotmail.com, jruiz.lagunas@gmail.com, jcolivares@itmorelia.edu.mx, antolino@itmorelia.edu.mx, 
hferrerir@itmorelia.edu.mx. Departamento de Sistemas y Computación. Instituto Tecnológico de Morelia. 
Resumen: 
Los dispositivos móviles se caracterizan por ser sistemas de comunicación ampliamente difundidos, debido a su 
fácil acceso, conectividad y versatilidad. Tales dispositivos cuentan con sistemas operativos similares a una PC y 
tienen la ventaja del uso de redes geográficamente distribuidas a nivel global, lo cual los hace vulnerables a 
riesgos derivados del manejo de información; por ejemplo virus o ataques informáticos. Las limitaciones que 
tienen estos se deben a los recursos técnicos de su diseño y a su arquitectura. La rápida evolución y su uso 
masivo han originado que estén en constante amenaza informática. Un problema que presenta el desarrollo de 
aplicaciones móviles es que hay una gran variedad de plataformas en donde cada una tiene características 
particulares que los hacen vulnerables e incluso un blanco perfecto de los hackers. Estos utilizan la arquitectura 
cliente/servidor como la principal forma de comunicación, ya que separa el procesamiento entre dos entidades 
en una red, donde los clientes son principalmente dispositivos móviles que requieren esquemas de 
comunicación confiables y el servidor (donde reside la información) generalmente es un sistema basado en 
hardware no móvil (también con problemas de seguridad) y la red es el medio público que transporta la 
información y también requiere de un tratamiento especial para garantizar la seguridad. Esta propuesta de 
investigación analiza las técnicas y los modelos de criptografía usados en las aplicaciones móviles (APPs). Se 
concluye que hacen faltas técnicas y metodologías que propongan esquemas de seguridad en la transmisión de 
información, en el contexto de la ubicuidad. 
Palabras Clave: Seguridad móvil, criptografía, arquitectura c/s, aplicaciones móviles, algoritmos de cifrado. 
1.- Introducción: 
 
1.1.- Comunicación cliente-servidor 
Cliente/Servidor es una arquitectura que separa el procesamiento entre clientes y servidores en una red. Los 
tres componentes esenciales del esquema son: los clientes (usualmente PCs y actualmente dispositivos móviles), 
el servidor (donde reside por ejemplo la base de datos) y la red que transporta requerimientos y posteriormente 
datos. 
 
Existen varias configuraciones propuestas de modelos cliente/servidor (Hernández y Martínez, 1997) [1] 
 El cliente procesando solamente el despliegue de información 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
2 
 
 El cliente procesando el despliegue y participando en parte del proceso 
 El cliente manejando el despliegue, todo el proceso, y accesando los datos del servidor 
 
Las aplicaciones tradicionales se caracterizan por ser muy intensivas en cuanto a la manipulación de los datos, 
normalmente consisten de cuatro componentes principales: la base de datos, la lógica de la transacción, la 
lógica de la aplicación y la interfaz de usuario. En las aplicaciones tradicionales –no cliente/servidor- todo este 
proceso se realiza en un solo procesador central, lo cual impedía al usuario el poder cargar sus propios datos y 
procesarlos posteriormente a su conveniencia en su propia máquina. 
Cliente/servidor divide la aplicación, en esta división normalmente se deja la lógica de la transacción y la base de 
datos en un lugar y la lógica de la aplicación y la interfaz de usuario distribuidas en otro lugar, de esta forma el 
usuario puede tener múltiples fuentes de datos y permite al modelo descentralizar el ambiente como se 
muestra en la Figura 1 (Hernández y Martínez, 1997). 
 
 
Figura 1.- Esquema básico de arquitectura Cliente-Servidor, 
(Hernández y Martínez, 1997) 
 
Visto desde una perspectiva de capas o niveles, se identifican claramente las siguientes actividades: 
 La aplicación en el cliente maneja la interfaces de usuario (administración de formas y ventanas). 
 La aplicación en el cliente maneja la lógica de la interfaces de usuario (control de la transacción). 
 La aplicación en el cliente se encarga de la integridad de manipulación de información acorde 
con las necesidades que le especifiquemos. 
 La aplicación en el cliente realiza todas las validaciones y transformaciones de los datos. 
 La aplicación en el cliente procesa consultas ad hoc. Se encarga del lenguaje de manipulación de 
datos (DML). Por ejemplo procesa sentencias INSERT, UPDATE y DELETE. 
 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
3 
 
El servidor de bases de datos funciona como un “repositorio” de información que administra los accesos 
concurrentes de los usuarios, maneja los procedimientos almacenados y vela por la integridad de la información. 
La mayoría de configuraciones cliente/servidor empleaban hasta hace poco tiempo este modelo de dos niveles, 
el cual consiste de un cliente (con varias funciones) que invoca servicios de un servidor. Bajo esta forma de 
trabajar, mientras que la aplicación cliente interactúa con el usuario final, utilizando una interfaces de usuario 
gráfica, el servidor de base de datos realiza la manipulación de los datos a alta velocidad, protege la integridad 
de la información, estructura y mantiene los datos acorde con las reglas de diseño de la aplicación comercial 
(Hernández y Martínez, 1997). 
(Nota: La tecnología cliente/servidor es meramente un paradigma o modelo para la interacción entre procesos 
de software ejecutando concurrentemente, que pueden o no funcionar en máquinas separadas). 
Esta forma dinámica con la cual se puede implementar el concepto permite tener, por ejemplo, las siguientes 
posibilidades: 
 Todos los clientes y servidores pueden residir en la misma máquina. De hecho pueden ser dos 
procesos trabajando cooperativamente 
 Cada uno de los clientes y servidores pueden residir en computadores diferentes conectados por 
una red de área local 
 Algunos clientes y servidores pueden residir en una máquina, y otros clientes y servidores 
pueden residir en otra máquina. 
 
La computación cliente/servidor es una arquitectura de procesamiento en la cual una sola aplicación está 
particionada entre múltiples procesadores los cuales cooperan en una manera unificada para completar la 
unidad de trabajo como si fuera una sola tarea. Una definición más rigurosa es la siguiente (Boar, 1993): 
“Cliente/servidor es un modelo de procesamiento computacional en el cual una sola aplicación está distribuida 
entre múltiples procesadores (front-end y back-end), y los procesadores cooperan (en forma transparente al 
usuario final) para completar el procesamiento como una sola tarea unificada. Un producto final une a los 
procesadores para proveer una imagen de un solo sistema (ilusión). Los recursos compartidos son posicionados 
como servidores ofreciendo uno o más servicios. Las aplicaciones (el que requiere el servicio) son vistas como 
clientes los cuales accesan servicios autorizados. 
La arquitectura completa es totalmente recursiva; en un momento dado, los servidores pueden convertirse en 
clientes y requerir servicios de otros servidores en la red”. 
La tecnología Cliente/Servidor es el procesamiento cooperativo de la información por medio de un conjunto de 
procesadores, en el cual múltiples clientes, distribuidos geográficamente, solicitan requerimientos a uno o más 
servidores centrales. 
Desde el punto de vista funcional, se puede definir la computación Cliente/Servidor como una arquitectura 
distribuida que permite a los usuarios finales obtener accesoa la información de forma transparente aún en 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
4 
 
entornos multiplataforma. Se trata pues, de la arquitectura más extendida en la realización de Sistemas 
Distribuidos, Figura 2. 
Un sistema Cliente/Servidor es un Sistema de Información distribuido basado en las siguientes características: 
 Servicio: unidad básica de diseño. El servidor los proporciona y el cliente los utiliza. 
 Recursos compartidos: Muchos clientes utilizan los mismos servidores y, a través de ellos, 
comparten tanto recursos lógicos como físicos. 
 Protocolos asimétricos: Los clientes inician “conversaciones”. Los servidores esperan su 
establecimiento pasivamente. 
 Transparencia de localización física de los servidores y clientes: El cliente no tiene por qué saber 
dónde se encuentra situado el recurso que desea utilizar. 
 Independencia de la plataforma HW y SW que se emplee. 
 Sistemas débilmente acoplados. Interacción basada en envío de mensajes. 
 Encapsulamiento de servicios. Los detalles de la implementación de un servicio son 
transparentes al cliente. 
 Escalabilidad horizontal (añadir clientes) y vertical (ampliar potencia de los servidores). 
 Integridad: Datos y programas centralizados en servidores facilitan su integridad y 
mantenimiento. 
 
 
Figura 2.- Modelo Cliente-Servidor (Gomez, 2010) 
 
El modelo cliente servidor es muy conveniente para compartir recursos e información entre diferentes clientes y 
diferentes sistemas operativos. 
En el modelo usual Cliente/Servidor, un servidor, se activa y espera las solicitudes de los clientes. 
Habitualmente, programas cliente múltiples comparten los servicios de un programa servidor común. Tanto los 
programas cliente como los servidores son con frecuencia parte de un programa o aplicación mayores. 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
5 
 
El Esquema de funcionamiento de un Sistema Cliente/Servidor sería: 
 El cliente solicita una información al servidor. 
 El servidor recibe la petición del cliente. 
 El servidor procesa dicha solicitud. 
 El servidor envía el resultado obtenido al cliente. 
 El cliente recibe el resultado y lo procesa. 
 
 
1.2.- Seguridad en dispositivos móviles. 
Según diversos estudios realizados sobre el tema del uso de la tecnología, el avance tecnológico tiende cada vez 
más hacia la movilidad, la gente busca acceder a la información en cualquier momento y desde cualquier lugar 
para realizar diversas actividades que van desde comunicarse con sus familiares y amigos hasta hacer negocios y 
apoyar sus estudios (Asociación Mexicana de Internet, 2007; IDC México, 2007) [3]. Muchas de estas actividades 
las realizan a través de la Web móvil, que es definida por el World Wide Web Consortium (2005) como una red 
en la que el usuario puede acceder a la información desde cualquier lugar a través de un dispositivo móvil. 
Sin embargo, dado que las conexiones inalámbricas son lentas e inseguras, que los dispositivos móviles tienen 
pantalla pequeña, memorias de almacenamiento reducidas y procesadores lentos comparados con equipos de 
cómputo tradicional, y que los usuarios se mueven de un lugar a otro, existen grandes desafíos para los 
diseñadores y desarrolladores pues el acceso a los contenidos desde los dispositivos móviles difiere mucho de 
cómo se hace en computadoras de escritorio: los usuarios móviles necesitan la información presentada de 
diferente manera y la usan en entornos diferentes. 
En el año 2005, el World Wide Web Consortium (W3C) lanzó la denominada “Iniciativa de Web Móvil”, que 
consiste en concertar esfuerzos entre los involucrados en la industria de lo móvil, como son los desarrolladores 
de software, los proveedores de contenido, los diseñadores Web, los fabricantes de dispositivos móviles, entre 
otros, con el objetivo de mejorar el acceso al contenido Web desde dispositivos móviles. Entre los grupos de 
trabajo de esta iniciativa, se encuentra el grupo de las “Buenas Prácticas en la Web móvil 1.0” que son un 
estándar Web cuyo objetivo es ayudar a los desarrolladores a diseñar y publicar contenido Web que funcione 
adecuadamente en dispositivos móviles. Estas pautas de desarrollo se pueden resumir en diez puntos clave: 
1. Diseñar para una Web única, teniendo en cuenta los diferentes dispositivos, lo que reducirá costos, los 
contenidos serán más flexibles y estarán satisfechas las necesidades de más personas. 
2. Confiar en los estándares Web, pues son la mejor garantía de interoperabilidad en un mercado tan 
fragmentado como el de los navegadores y dispositivos móviles. 
3. Evitar los riesgos conocidos en el diseño de las páginas como las ventanas emergentes, el uso de tablas, 
marcos, mapas de imagen, entre otros, lo que ayudará a reducir los problemas de usabilidad causados por 
pantallas y teclados pequeños. 
4. Ser prudente con las limitaciones de los dispositivos cuando se elija una tecnología Web concreta ya que los 
dispositivos móviles tienen funciones muy diversas. 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
6 
 
5. Simplificar la navegación y el uso del teclado, considerando que se está haciendo uso de pantallas y teclados 
pequeños, y se tiene un ancho de banda limitado. 
6. Comprobar gráficos y colores en las pantallas de bajo contraste, ya que estas presentan problemas de 
compatibilidad con algunos formatos. 
7. Diseñar sitios Web concisos, breves y sencillos, lo que supondrá un ahorro de tiempo y esfuerzo para los 
usuarios 
8. Economizar el uso de la red, ya que las funciones de los protocolos Web pueden mejorar la experiencia del 
usuario al reducir los retrasos y los tiempos de espera. 
9. Facilitar la entrada de datos, pues en los dispositivos móviles, los teclados y demás métodos de introducción 
de datos pueden ser tediosos para el usuario y un diseño eficaz minimiza su uso. 
10. Pensar en los usuarios de la Web móvil, quienes necesitan información sintetizada al disponer de poco 
tiempo y existir distracciones externas 
 
1.2.1.- Servicios de Seguridad y Criptografía 
Un servicio de seguridad es cualquier servicio de procesamiento o comunicación que es provisto por un sistema 
para dar una clase específica de protección a los recursos del sistema. X.800 y RFC 2828 definen 6 servicios de 
seguridad: 
 Autenticación: Servicio relacionado con asegurar que una comunicación es auténtica. Para ello, la fuente 
y el destino de la comunicación deben identificarse mutuamente. 
 Confidencialidad: Servicio que protege los datos transmitidos de ataques pasivos. Varios niveles de 
protección pueden ser identificados, aunque el servicio más general protege todos los datos 
transmitidos entre 2 usuarios por un período de tiempo establecido. 
 Integridad: Servicio que depende si el mismo es o no orientado a conexión. Un servicio de integridad de 
datos sin conexión trata con mensajes individuales proveyendo protección contra modificación de 
mensajes únicamente. El servicio orientado a conexión también provee protección contra pérdida y 
cambio de orden de los mensajes. 
 Innegabilidad (No Repudio): Servicio para prevenir que la fuente o destino nieguen la existencia de un 
mensaje transmitido. 
 Control de Acceso: Habilidad para limitar y controlar el acceso a sistemas y aplicaciones mediante 
enlaces de comunicación. Para esto, cada entidad que trata de ganar acceso es primero autenticada, de 
tal forma que los derechos de acceso sean asignados correctamente. 
 Disponibilidad: Propiedad de un sistema o recurso de estar accesible y disponible bajo la demanda de 
una entidad autorizada del sistema y de acuerdo a especificaciones de desempeño preestablecidas. 
 
Los servicios de seguridad son implementados a través de mecanismos de seguridad. La criptografía es uno de 
los mecanismos de seguridad más usados para proveer autenticación, confidencialidad, integridad einnegabilidad. Control de acceso y disponibilidad pueden ser garantizados por la red en el caso de la telefonía 
celular. 
La criptografía, en particular, no es más que el uso de algoritmos matemáticos para transformar datos a una 
forma que no es inmediatamente legible. La transformación y subsecuente recuperación de los datos dependen 
de un algoritmo y cero o más llaves criptográficas. Los algoritmos de criptografía más conocidos usan esquemas 
de llave compartida (e.g., DES, IDEA, Blowfish, AES) y llave pública (e.g., RDA, DSA, El Gamal, ECC). 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
7 
 
El uso de una PKI puede acelerar y simplificar diversos procesos y servicios dando enfoques electrónicos seguros 
a procesos que dependan de la integridad y autenticidad de los datos. Ambos se pueden cumplir ligando una 
firma digital única a un individuo garantizando que esta no puede ser falsificada. De esta manera un individuo 
podrá firmar datos y enviarlos por un canal no seguro, mientras que el receptor de los mismos podrá verificar al 
emisor y que el contenido del mensaje no fue modificado. Adicionalmente una PKI puede proveer servicios de 
cifrado para garantizar, también, la privacidad de los datos. 
Los cuatro servicios básicos de seguridad que toda PKI debe ofrecer (Kuhn et al., 2001, Schmeh, 2003) [4] son: 
Integridad: este servicio está dirigido a evitar la modificación no autorizada o accidental de la información. Esto 
incluye la inserción, la eliminación y la medicación de los datos originales. Para asegurar la integridad, el sistema 
debe ser capaz de detectar modificaciones no autorizadas. La meta principal es que el receptor sea capaz de 
verificar si acaso la información fue alterada durante la comunicación. 
Confidencialidad: este servicio restringe el acceso a la información sensible únicamente a los usuarios que estén 
autorizados a consultarla. Impide la revelación no autorizada de información sensible de una empresa o 
persona. 
Autenticación: establece la validez del mensaje y de los participantes en la comunicación. La meta es permitir a 
los participantes de la comunicación determinar si el origen del mensaje es válido o no. 
No-repudio: ofrece protección a un usuario o entidad frente a la posibilidad de que otro usuario niegue 
posteriormente que se realizó cierta transacción, por ejemplo, haber hecho un pedido a una empresa. 
 
1.2.2.-Certificado Digital 
Un certificado de clave pública, es un archivo digital que contiene la clave pública de un individuo y está firmado 
por una entidad de confianza (comúnmente conocida como CA), los certificados son utilizados para evitar la 
suplantación de la identidad y se pueden encontrar en repositorios públicos. Un certificado no contiene 
únicamente la clave pública del individuo y la firma de la autoridad de confianza, sino que, contiene una serie de 
información adicional, como puede ser la dirección, nombre, organización, entre otros de tal manera que se 
pueda ligar la identidad del individuo con la clave pública. Esta información debe ser verificada al momento de 
emitir el certificado por la CA (Schneier, 1996). 
Los certificados X.509 se encuentran protegidos por las firmas digitales del emisor, de esta manera los usuarios 
de una PKI pueden validar que la información contenida en este no ha sido alterada ya que la firma puede ser 
verificada en cualquier momento. La versión 3 del estándar señala que comúnmente existen seis campos 
obligatorios y cuatro opcionales. Los campos obligatorios son: número de serie, identificador del algoritmo de 
firmado, nombre del emisor, periodo de validez, clave pública, nombre del titular. Mientras que los campos 
opcionales son: versión, identificadores únicos y las diversas extensiones (Kuhn et al., 2001, Cooper et al., 2008). 
A continuación se describe brevemente cada uno de estos campos: 
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
8 
 
Versión: Describe la versión del certificado, si este campo es omitido, se considera que el certificado fue 
codificado utilizando la versión 1 del estándar. 
Número de Serie: Es un entero asignado por el emisor del certificado, debe ser único para cada certificado 
generado por un emisor en particular, de manera que la combinación del nombre del emisor y el número de 
serie pueda identificar de manera única a cualquier certificado. 
Firma: Este campo indica el algoritmo de firma utilizado (por ejemplo RSAwithMD5) para proteger el certificado. 
Emisor: Contiene el nombre distinguido (en formato X.500) del emisor del certificado. 
Validez: Indica la fecha a partir de la cual el certificado es válido y la fecha en la cual expira. 
Titular: Contiene el nombre distinguido (en formato X.500) del poseedor de la clave privada correspondiente a la 
clave pública almacenada en el certificado. 
Información de la clave pública: Este campo almacena información acerca de la clave pública como los 
parámetros opcionales y el identificador del algoritmo. La clave pública de este campo junto con la información 
adicional es utilizada por los algoritmos de criptografía asimétrica para verificar una firma digital o cifrar un 
conjunto de datos. Si el certificado corresponde a una CA, esta clave es utilizada para verificar la firma en otros 
certificados. 
Id único de titular y emisor: Estos campos contienen identificadores únicos de las claves de estas entidades, 
únicamente aparece en las versiones 2 y 3 del estándar. El objetivo es permitir el reúso de nombres a lo largo 
del tiempo. 
Extensiones: Este campo únicamente aparece en los certificados versión 3. Si se encuentra presente puede 
contener una o más extensiones, cada una incluye un identificador, una bandera para indicar si es crítica o no y 
el valor de la extensión. Las extensiones comunes han s sido definidas por ISO y ANSI. 
Una forma de definir verificar el estatus de un certificado, es la construcción de una cadena de certificación, la 
cual es construida a partir del certificado final hasta llegar a un certificado raíz que es de confianza para el 
usuario. 
 
1.3.- Algoritmos y frameworks 
La EFF (Electronic Frontier Foundation) publicó un informe en el que evaluaba la seguridad de los servicios de 
mensajería más utilizados por los usuarios de smartphones, que un servicio ofrezca un canal cifrado entre 
nuestro terminal y sus servidores no garantiza el secreto de nuestras comunicaciones, debe existir un canal 
cifrado “extremo a extremo”, es decir, en los servidores del servicio no debería estar accesible nuestra 
conversación. 
https://www.eff.org/
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
9 
 
Otro detalle importante es la posibilidad de hacer auditorías a los servicios que usamos, si el código fuente está 
accesible, al menos se puede revisar por terceros independientes y verificar que las especificaciones declaradas 
se cumplen y que no hay “funcionalidades ocultas” no declaradas. 
Signal es uno de los productos que han desarrollado desde Open Whisper Systems y que está orientado a 
realizar llamadas telefónicas seguras entre dispositivos iOS basándose en una comunicación cifrada extremo a 
extremo. 
El uso es extremadamente sencillo: instalar la aplicación e indicar nuestro número de teléfono. Acto seguido la 
aplicación exporta nuestra agenda de contactos para verificar qué contactos usan el servicio y, a partir de ahí, 
podremos llamarle, eso sí, será una comunicación sobre la red de datos puesto que es una llamada IP sobre 
canal seguro. 
En el caso que usemos un dispositivo Android, la misma compañía nos ofrece la aplicación RedPhone para que 
podamos realizar también llamadas de voz sobre un canal seguro de comunicaciones, igualmente, nuestra 
conexión de datos o bien a través de una conexión Wi-Fi. 
Si queremos establecer una comunicación entre iOS y Android, Signal y RedPhone son interoperables; por tanto,desde Signal se pueden realizar llamadas a usuarios de RedPhone y viceversa. En ambos casos, el código de las 
aplicaciones está disponible para ser auditados y las comunicaciones se apoyan sobre el protocolo seguro 
ZRTP por lo que, a priori, es un servicio confiable. 
1.3.1.- Mensajería cifrada tanto desde escritorio como en dispositivos móviles 
Hay varias opciones para proteger nuestros mensajes, algunas tan conocidas como Telegram que, en su 
modalidad de chat secreto, ofrece cifrado extremo a extremo y en esta opción las conversaciones no están 
accesibles desde los servidores de Telegram. 
Otra opción conocida, y extendida en el mercado, son los servicios iMessage y FaceTime de Apple; disponibles 
en OS X e iOS, estos servicios de mensajería y video llamadas ofrecen también cifrado extremo a extremo 
aunque, eso sí, el código fuente no está accesible a terceros, y debemos confiar en Apple para su secreto. 
Si lo que queremos cifrar son los SMS, una tercera alternativa para comunicarnos de manera segura desde 
Android es Text Secure aunque, eso sí, está orientada únicamente a mensajería instantánea vía texto. 
En el caso de iOS, Signal incluye tanto llamadas como mensajería escrita; en Android, hay que recurrir a dos 
aplicaciones distintas, por un lado RedPhone para llamadas y, por otro lado, a Text Secure para mensajes de 
texto. 
Otro servicio interesante, y además multiplataforma, es CryptoCat. Disponible tanto para iOS como para 
navegadores de escritorio, este servicio de chat nos permite cifrar los mensajes que se intercambian los usuarios 
(salen cifrados y no se descifran hasta que la información llega al cliente destino) y, además, es un proyecto en 
código abierto por lo que se puede someter a auditoría para verificar su funcionalidad. En principio, el canal de 
comunicación es seguro aunque desde el servicio intentan ser algo conservadores y advierten claramente que 
"no es una herramienta infalible a la que debas confiar tu vida". 
https://itunes.apple.com/app/id874139669
http://www.theverge.com/2014/7/29/5945547/signal-brings-painless-encrypted-calling-whisper-systems-moxie-marlinspike
https://play.google.com/store/apps/details?id=org.thoughtcrime.redphone
http://tools.ietf.org/html/rfc6189
http://tools.ietf.org/html/rfc6189
https://telegram.org/
https://www.apple.com/privacy/privacy-built-in/
https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms
https://crypto.cat/
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
10 
 
BitTorrent hace tiempo que desarrolla un sistema de mensajería instantánea segura y descentralizada que, al no 
depender de la nube, hace que la información circule de manera directa entre los usuarios sin necesidad de 
pasar por servidores intermedios. Bleep, que es como se llama este servicio, pretende ser una alternativa segura 
y descentralizada a WhatsApp o Telegram, ofreciendo cifrado extremo a extremo y disponible tanto en iOS 
como en Android. 
Que la comunicación sea directa entre los usuarios y, además cifrada, colocan a Bleep como una de las mejores 
opciones a tener en cuenta a la hora usar una aplicación para establecer comunicaciones seguras al no pasar por 
servidores intermedios. 
Finalmente, los usuarios de dispositivos Android deberían tener en cuenta a Surespot que podría considerarse 
una especie de combinación entre WhatsApp y Snapchat con cifrado de comunicaciones. El servicio nos permite 
intercambiar imágenes, texto o mensajes de voz mediante un canal seguro (comunicaciones cifradas punto a 
punto con clave simétrica AES-GCM de 256 bits utilizando claves creadas con 521 bits ECDH) y con la posibilidad 
de poder borrar, a voluntad, mensajes que ya hemos enviado (manteniendo siempre el control de la 
información que intercambiamos). 
El servicio de Surespot se apoya sobre servidores intermedios, por tanto, es un factor a tener en cuenta a la hora 
de evaluar su uso. 
Netty es un framework java que nos permite crear aplicaciones cliente y servidor aprovechando las posibilidades 
que nos da el paquete de java.nio de la JDK. Este paquete permite realizar operaciones I/O de forma no 
bloqueante. 
El ámbito de aplicación de netty se centra en la creación de aplicaciones de red. Esto significa que podemos 
crear cualquier tipo de aplicación sobre los protocolos UDP y TCP. 
Podemos crear aplicaciones cliente y servidor, donde: 
 
 mejoraremos el rendimiento, es decir, más respuestas por segundo 
 reduciremos el uso de recursos de máquina, reduciendo el consumo de memoria, y mejoraremos el uso 
de la CPU 
 mejoraremos la estabilidad y escalabilidad del sistema 
 podremos implementar un nuevo protocolo, optimizado para aplicaciones de tiempo real, como las de 
intercambio de mensajes en sistemas financieros, las aplicaciones de gaming o juegos Online, chat de 
mensajería, etc. 
 integraciones con sistemas antiguos o nuevos, donde tienen un protocolo propietario de comunicación 
 
Por ejemplo, podríamos implementar de forma sencilla un servidor y cliente ftp, http, smtp, etc., o implementar 
nuestro propio protocolo sobre TCP o UDP. 
Para observar el funcionamiento de netty, se implementará un servidor Http. Lo importante del ejemplo no es el 
código ni la funcionalidad implementada, si no las clases e interfaces utilizadas por netty y su funcionamiento 
interno. 
 
1.4.- Redes VPN 
Las redes VPN (Virtual Private Network o Red Privada Virtual, en español) son un tipo de red en el que se crea 
una extensión de una red privada, como la red local que tienes en casa, sobre una red pública. Es decir, que 
http://www.bleep.pm/
https://play.google.com/store/apps/details?id=com.twofours.surespot&hl=es
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
11 
 
utilizan la red abierta como vehículo para conectarse a una red VPN privada y así, poder navegar con el mismo 
nivel de seguridad que si lo hicieras desde tu casa, ya que tu portátil, smartphone o tablet, se conecta 
directamente a la red privada, aislándose del resto del tráfico de la red pública. 
Haciendo una analogía, la conexión Wi-fi abierta de una cafetería, sería como una carretera para que sus 
clientes circulen por Internet. Pero en lugar de viajar en autobús, donde no tienes privacidad y cualquiera puede 
ver quién eres, saber qué lees o qué escribes, tú viajas cómodamente en tu propio vehículo VPN, en el que nadie 
puede ver qué haces, aunque circule por la misma carretera (Wi-Fi abierta), ver Figura 3. 
 
Figura 3.- Cliente servidor VPN 
1.4.1.- Principales protocolos de seguridad de VPN 
Con las revelaciones impactantes de Edward Snowden sobre que la NSA durante años ha trabajado 
para descifrar y subvertir tecnologías de encriptación VPN, junto con el hecho de que cada vez es más evidente 
que la mayoría de este tipo de tecnologías se han desarrollado y certificado por el Instituto Nacional de 
Estándares y Tecnología del gobierno de EE.UU. (NIST) y por lo tanto puede ser considerado sospechoso, se 
pone cada vez as atención en la seguridad que las redes y los protocolos ofrecen a usuarios y empresas en 
general (Crawford 2014). 
Existen una gran cantidad de protocolos de seguridad, algunos que han sido usados desde hace mucho tiempo y 
que en la actualidad siguen siendo muy utilizados. A continuación se presenta una breve comparativa entre los 
más importantes y que pudieran servirnos para la implementación de aplicaciones seguras. 
PPTP 
Point-to-Point Tunneling Protocol fue desarrollado por un consorcio fundado por Microsoft para la creación de 
VPN a través de redes de acceso telefónico, y como tal ha sido durante mucho tiempo el protocolo estándar 
para VPN empresarial. Sólo es un protocolo VPN, y se basa en varios métodos de autenticación para 
proporcionar seguridad (con MS-CHAP v2 es la más común). Disponible en casi todas las plataformas, es un 
protocolo fácil de instalar, sin necesidad de requerir software adicional, sigue siendouna opción popular, tanto 
para empresas y proveedores de VPN. 
https://www.bestvpn.com/blog/7525/nsa-decryption-vpns-update/
http://en.wikipedia.org/wiki/MS-CHAP
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
12 
 
Sin embargo, aunque ahora por lo general sólo se encuentran el uso de claves de cifrado de 128 bits, desde que 
fue incluido por primera vez con de Windows 95 OSR2 en 1999, una serie de vulnerabilidades de seguridad han 
salido a la luz, la más grave de las cuales es la posibilidad de encapsular la autenticación MS-CHAP v2. El uso de 
este exploit se ha roto dentro de 2 días, y aunque Microsoft ha parcheado el defecto (mediante el uso 
de autenticación PEAP ), emitió una recomendación que los usuarios de VPN deben utilizar L2TP / IPsec o SSTP 
en su lugar (Crawford 2014). 
Sabiendo que PPTP era inseguro de todos modos, no fue ninguna sorpresa para nadie que la NSA es casi seguro 
que descifra las comunicaciones cifradas PPTP como estándar. 
Pros 
 Cliente integrado en casi todas las plataformas 
 Muy fácil de configurar 
 No requiere de complicadas configuraciones 
 
Contras 
 Muy inseguro, contando con muchas vulnerabilidades. 
 Definitivamente comprometida por la NSA 
 
L2TP y PPTP / IPsec 
Layer 2 Tunnel Protocol es un protocolo VPN que por sí sola no proporciona ningún tipo de cifrado o 
confidencialidad al tráfico que pasa a través de él. Por esta razón, se lleva a cabo por lo general con la suite de 
cifrado IPsec para proporcionar seguridad y privacidad. 
L2TP / IPSec es integrado en todos los sistemas operativos modernos y dispositivos capaces de soportar VPN, y 
es igual de fácil y rápida de configurar como PPTP. Sin embargo los problemas pueden surgir debido a que el 
protocolo L2TP utiliza el puerto UDP 500, que es más fácilmente bloqueado por cortafuegos NAT, por lo tanto 
pueden requerir una configuración más avanzada cuando se utiliza con un firewall (esto es a diferencia de SSL 
que se puede utilizar el puerto TCP 443 para que sea indistinguible de tráfico normal HTTPS) (Crawford 2014). 
Cifrado IPsec no tiene mayores vulnerabilidades conocidas, y si se aplica correctamente puede todavía ser 
seguro. Sin embargo, las revelaciones de Edward Snowden han insinuado fuertemente que este protocolo 
pudiera estar comprometido por la NSA, además de los comentarios de John Gilmore, especialista en seguridad 
y miembro fundador de la Electronic Frontier Foundation en cuanto que es probable que se ha visto debilitado 
deliberadamente durante su fase de diseño. 
L2TP / IPsec encapsula datos dos veces, no es tan eficiente como las soluciones basadas en SSL (como OpenVPN 
y SSTP,) y por lo tanto es un poco más lento. 
 
https://www.bestvpn.com/blog/3584/best-vpn-for-windows/
http://en.wikipedia.org/wiki/Protected_Extensible_Authentication_Protocol
http://technet.microsoft.com/en-us/security/advisory/2743314
https://en.wikipedia.org/wiki/John_Gilmore_%28activist%29
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
13 
 
Pros 
 Por lo general se considera muy seguro. 
 Fácil de configurar. 
 Disponible en todas las plataformas modernas. 
 
Contras 
 Puede verse comprometida por la NSA 
 Probablemente deliberadamente debilitada por la NSA 
 Más lento que el OpenVPN 
 Puede tener conflictos con firewalls 
 
OpenVPN 
OpenVPN es bastante un nuevo, es de código abierto y utiliza protocolos SSLv3 / TLSv1, junto con una amalgama 
de otras tecnologías, para proporcionar una solución fuerte y fiable a las VPN. Uno de sus principales puntos 
fuertes es que es altamente configurable, y aunque funciona mejor en un puerto UDP, puede ser configurado 
para ejecutarse en cualquier puerto, incluyendo el puerto TCP 443. Esto hace que el tráfico en la imposibilidad 
de distinguir de tráfico usando estándar HTTPS a través de SSL, y es por lo tanto extremadamente difícil de 
bloquear (Crawford 2014). 
Otra ventaja de OpenVPN es que la biblioteca OpenSSL utilizada para proporcionar cifrado es compatible con 
una serie de algoritmos criptográficos (por ejemplo, AES, Blowfish, 3DES, CAST-128, Camelia y más). 128-bit 
Blowfish es el cifrado predeterminado integrado en OpenVPN, y aunque en general se considera seguro, 
sí tienen debilidades conocidas. 
AES es la tecnología más reciente, no tiene debilidades conocidas, y gracias a su adopción por el gobierno de 
Estados Unidos para su uso en la protección de los datos de los seguros. 
La velocidad de OpenVPN depende del nivel de cifrado empleado, pero es generalmente más rápido que IPsec. 
En comparación con PPTP y L2TP / IPSec, OpenVPN puede ser un poco más complicado de configurar. Al utilizar 
el software OpenVPN genérica en particular, es necesario no sólo descargar e instalar el cliente, sino también 
descargar archivos de configuración adicionales para su óptima configuración. 
Quizás lo más importante a partir de la información obtenida de Edward Snowden, parece ser que OpenVPN no 
ha sido comprometida o debilitada por la NSA, y también inmune a los ataques de la NSA en cifrado de clave 
RSA. Aunque nadie sabe todas las capacidades de la NSA con seguridad, tanto la evidencia y las matemáticas 
apuntan fuertemente a OpenVPN, si se utiliza junto con un fuerte sistema de cifrado, siendo el único protocolo 
VPN que puede ser considerado realmente segura. 
Pros 
http://en.wikipedia.org/wiki/Open_source
http://en.wikipedia.org/wiki/Transport_Layer_Security
https://en.wikipedia.org/wiki/Blowfish_%28cipher%29
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
14 
 
 Altamente configurable 
 Muy seguro. 
 Puede eludir los cortafuegos 
 Se puede utilizar una amplia gama de algoritmos de cifrado 
 Es código abierto 
 
Contras 
 Necesidades software de terceros 
 Puede ser incómoda para configurar 
 Apoyo en los dispositivos móviles está mejorando, pero no es tan bueno como en el escritorio 
SSTP 
Protocolo Secure Socket Tunneling fue introducido por Microsoft en Windows Vista SP1, y a pesar de que ya 
está disponible para Linux, RouterOS y SEIL, sigue siendo en gran medida sólo para la plataforma Windows. SSTP 
utiliza SSL v3, y por lo tanto ofrece ventajas similares a OpenVPN (tales como la capacidad de utilizar al puerto 
TCP 443 para evitar problemas de firewall NAT), y porque está integrado en Windows puede ser más fácil de 
usar y más estable (Crawford 2014). 
Sin embargo a diferencia de OpenVPN, SSTP es un estándar propietario propiedad de Microsoft. Esto significa 
que el código no está abierto al escrutinio público, y de los rumores históricos de que Microsoft da cooperación 
con la NSA además de las especulaciones sobre posibles puertas traseras integradas para el sistema operativo 
Windows. 
 
Pros 
 Muy seguro (depende de la cifra, pero AES suelen ser muy fuerte) 
 Completamente integrado en Windows (Windows Vista SP1, Windows 7, Windows 8) 
 Soporte de Microsoft 
 Puede pasar por alto la mayoría de los cortafuegos 
 
Contras 
 Sólo funciona en un único entorno de Windows 
 Norma patentada propiedad de Microsoft por lo que no puede ser auditado de forma independiente 
para las puertas traseras y vulnerabilidades. 
 
IKEv2 
Internet Key Exchange (versión 2) es un protocolo de túnel basado en IPSec que fue desarrollado conjuntamente 
por Microsoft y Cisco. La norma es apoyada por los dispositivos Blackberry, y de forma independiente es 
desarrollado y posee implementaciones de código abierto disponibles para Linux y otros sistemas operativos 
(Crawford 2014). 
https://www.bestvpn.com/blog/3625/best-vpn-for-linux/
https://www.bestvpn.com/blog/6484/the-nsa-prism-scandal-and-how-vpn-can-and-cannot-help/
https://www.bestvpn.com/blog/6484/the-nsa-prism-scandal-and-how-vpn-can-and-cannot-help/
http://news.cnet.com/8301-10784_3-6027130-7.html
https://en.wikipedia.org/wiki/Internet_Key_Exchange#Implementations
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. MoreliaMichoacán. 
 
15 
 
IKEv2 es particularmente bueno para volver a establecer de forma automática una conexión VPN cuando los 
usuarios pierden temporalmente sus conexiones a Internet. 
Los usuarios móviles, se benefician más del uso de IKEv2, que debido a su apoyo para la Movilidad y protocolo 
Multihoming (MOBIKE), también hace que sea muy resistente a los cambios de las redes. 
IKEv2 es aún más útil para los usuarios de Blackberry, ya que es uno de los pocos protocolos VPN compatibles 
con los dispositivos Blackberry. 
No es tan ubicuo como IPSec (es decir, que es compatible con muchos menos plataformas), pero IKEv2 
se considera una excelente opción frente a L2TP / IPsec en términos de seguridad, rendimiento (velocidad), y la 
estabilidad. 
Pros 
 Más rápido que PPTP, L2TP y SSTP, ya que no implica la sobrecarga asociada con los protocolos punto a 
punto (PPP) 
 Muy estable - especialmente cuando se cambia de red o volver a conectar después de una conexión a 
Internet perdida 
 Muy seguro - soporta AES 128, AES 192, AES 256 y sistemas de cifrado 3DES 
 Fácil de instalar. 
 Protocolo es compatible con dispositivos Blackberry 
 
Contras 
 No es compatible con muchas plataformas 
 Utiliza el mismo puerto UDP 500 como IPSec (y PPTP), que es más fácil para bloquear que las soluciones 
basadas en SSL tales como OpenVPN o SSTP 
 La implementación de IKEv2 al cierre del servidor es complicado, que es algo que podría dar 
lugar a problemas de desarrollo 
 
 
2.- Comparativas entre herramientas. 
A lo largo de la historia de la informática, el uso de pruebas en detalle o benchmarks ha sido algo muy común, 
de forma que los resultados obtenidos de forma objetiva en las distintas arquitecturas mediante estas pruebas 
podían ser comparados. En general, la realización de pruebas comparativas no suele ser una tarea fácil y 
requiere de sesiones repetitivas para llegar a conclusiones útiles, siendo también difícil la interpretación de los 
resultados de las pruebas. Un factor a tener en cuenta durante la realización de las pruebas es que los 
vendedores suelen afinar sus productos específicamente para los benchmarks más comúnmente utilizados en su 
sector, por lo que hay que tener especial precaución a la hora de interpretar los resultados. 
http://technet.microsoft.com/en-us/library/dd469817%28v=ws.10%29.aspx
http://www.embedded.com/design/connectivity/4234694/Mobile-Internet-basics--IkeV3-and-MOBIKE
http://www.embedded.com/design/connectivity/4234694/Mobile-Internet-basics--IkeV3-and-MOBIKE
http://blogs.technet.com/b/rrasblog/archive/2009/02/10/do-we-still-need-pptp-l2tp-ipsec-after-windows-7.aspx
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
16 
 
Además, los benchmarks generalmente, a parte de las mediciones cuantitativas del rendimiento de un sistema, 
no suelen tener en cuenta ninguna medición cualitativa a cerca del servicio como pueden ser la seguridad, la 
disponibilidad, la confiabilidad, la escalabilidad, o el grado de conformidad con las especificaciones, las cuales 
son tan o más importantes que las anteriores. 
Dentro del amplio espectro de pruebas de benchmarking que existen para evaluar el rendimiento de casi 
cualquier componente software o hardware, hay dos campos que son de especial relevancia: las bases de datos 
y los servicios web. Algunos de los benchmarks más utilizados para la evaluación de gestores de bases de datos 
son: 
• TPC Benchmark™ C (TPC-C), benchmark propietario utilizado para el procesamiento online de transacciones 
(en inglés, OLTP). Es considerado como el estándar de facto para OLTP en cuanto a benchmarks para gestores de 
bases de datos, principalmente porque intenta simular el procesamiento de transacciones online que se dan en 
el mundo real. http://www.tpc.org 
• eWeek’s Nile benchmark, diseñado para comparar los resultados de varios gestores de bases de datos (entre 
otros MySQL, Microsoft SQL Server, IBM DB2, Oracle y Sybase) en aplicaciones de comercio electrónico en el 
“mundo real”. http://www.eweek.com/article2/0,4149,293,00.asp 
• SysBench, benchmark open-source, modular, multi-plataforma y multi-hilo diseñado para evaluar los 
parámetros de los sistemas operativos que son importantes para un sistema que esté utilizando un gestor de 
bases de datos bajo una carga intensiva. http://sysbench.sourceforge.net 
• Otros: MySQL Benchmark Suite (http://dev.mysql.com/doc/mysql/en/mysql-benchmarks.html), The Open 
Source Database Benchmark (OSDB, http://osdb.sourceforge.net), BenchW (http://benchw.sourceforge.net) y 
Open Source Development Labs’ (ODSL) Database Test Suite (DBT) 
(http://www.osdl.org/lab_activities/kernel_testing/osdl_database_test_suite). 
Por otro lado, los servicios web se están convirtiendo en una de las principales tecnologías para la comunicación 
entre las aplicaciones de distintas empresas, permitiendo a los clientes software intercambiar información con 
estas de una forma transparente mediante estándares y protocolos de transporte abiertos basados en XML. 
Dada la rápida implantación de los servicios web como estándar de facto para la transmisión y almacenamiento 
de información, es necesario evaluar las características y rendimiento de las implementaciones de esta 
tecnología en los productos que lo ofrezcan. Algunos de los programas más utilizados para la evaluación de 
servicios web son: 
• ApacheBench (ab), herramienta de libre distribución diseñada para evaluar servidores HTTP de Apache. En 
particular muestra cuantas peticiones por Segundo es capaz de servir (viene incluida con el servidor Apache). 
http://httpd.apache.org/docs/2.0/programs/ab.html 
• Microsoft Web Application Stress Tool (WAST), herramienta gratuita diseñada para simular de forma realista 
múltiples navegadores pidiendo páginas de un servidor web, permitiendo recopilar información a cerca del 
rendimiento y estabilidad de la aplicación web. 
http://benchw.sourceforge.net/
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
17 
 
http://www.microsoft.com/downloads/details.aspx?FamilyID=E2C0585A-062A-439E-A67D-
75A89AA36495&displaylang=en 
• LoadRunner, herramienta de pago para la evaluación del comportamiento y rendimiento de aplicaciones web. 
Puede simular miles de usuarios y utiliza monitores de rendimiento para identificar y aislar problemas. 
Evaluación de servidores de aplicaciones web, servidores de streaming, gestores de bases de datos, aplicaciones 
Java y ERP. http://www-svca.mercuryinteractive.com/products/loadrunner 
• Apache Jmeter, aplicación de libre distribución desarrollada completamente en Java. Inicialmente diseñada 
para medir el rendimiento de aplicaciones web, se extendió a otras funciones como servidores FTP, aplicaciones 
Java, SOAP/XML-RPC y JDBC. http://jakarta.apache.org/jmeter/index.html 
• TPC Benchmark™ W (TPC-W), benchmark transaccional para servicios web. La carga de trabajo se realiza en un 
ambiente de comercio electrónico controlado que simula las actividades de un negocio orientado a servidores 
web transaccionales (es decir, e-comercio). http://www.tpc.org/tpcw/default.asp 
• Otros: httperf (http://www.hpl.hp.com/research/linux/httperf), Webstone 
(http://www.mindcraft.com/benchmarks/webstone), y Flood http://httpd.apache.org/test/flood). 
En el mundo de los PCs y portátiles las aplicaciones de benchmarking han sido un referente clásico a la hora de 
analizar un equipo, y desde hace tiempo existen soluciones con mucha reputación como 3DMark, PCMark o los 
rigurosos tests del organismo SPEC como SPECviewperf, a los que se suman pruebas específicas para evaluar 
prácticamente cada componente de estos equipos. Sin embargo, en dispositivos móviles por ahora el mercado 
está comenzando a ofrecer este tipo de soluciones, aunque ya hay varias pruebas que se han convertido en el 
estándar de facto en este segmento. 
Entre las más destacadas están AnTuTu y Quadrant, aplicaciones de benchmark queanalizan el comportamiento 
de la CPU, la GPU o la velocidad de transferencia de los sistemas de almacenamiento para ofrecer un índice 
general. Como en cualquier benchmark que se precie, al valor numérico en puntos que se concede según las 
pruebas debe acompañarle la explicación de si esa magnitud es mejor cuanto más alta o cuanto más baja. 
En el caso de AnTuTu o de Quadrant, "más es mejor", o lo que es lo mismo: quien logra mayor puntuación es el 
que a priori tiene mayor potencia y prestaciones hardware para superar con éxito y rapidez las pruebas 
realizadas. En dos gráficas (Figura 4) realizadas recientemente con el HTC One como protagonista se puede 
comprobar que este modelo de última generación con un procesador quad-core Snapdragon 600 a 1,7 GHz deja 
atrás a todos sus competidores actuales: 
http://httpd.apache.org/test/flood
https://play.google.com/store/apps/details?id=com.antutu.ABenchMark
https://play.google.com/store/apps/details?id=com.aurorasoftworks.quadrant.ui.standard&hl=es
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
18 
 
 
Figura 4.- Desempeño dispositivos móviles con AnTuTu y Quadrant, [1] 
En la imagen se puede comprobar como en ambos benchmarks el HTC One logra una puntuación claramente 
superior a sus rivales, y aquí podemos concluir también que modelos como el Sony Xperia Z, el HTC One X o el 
LG Optimus G están a la par en rendimiento según el resultado de la prueba Quadrant. Este dato nos permitiría 
descartar la potencia como argumento para decidirnos por uno u otro en el caso de esos 3 últimos modelos: 
todos son más o menos igual de potentes, así que tendríamos que decidirnos en base a otras prestaciones, 
como su cámara fotográfica, su diseño o la versión de Android que integran, por poner algún ejemplo. 
Lo mismo ocurre con otro tipo de pruebas, en las que por ejemplo mediríamos los tiempos de transferencia de 
lectura y escrituras en chips de memorias (en este caso "menos es más", ya que quien logre mejores tiempos 
será más rápido), y que como en el caso de AnTuTu o Quadrant los permiten determinar cuál es el terminal más 
capaz. Es el caso de la aplicación BenchmarkPi, que trata de averiguar un número determinado de decimales del 
número Pi en el menor tiempo posible. Como se puede ver en una gráfica similar a la anterior, el HTC One volvió 
a demostrar su potencia de nuevo: 
https://play.google.com/store/apps/details?id=gr.androiddev.BenchmarkPi
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
19 
 
 
Figura 5.- Desempeño de dispositivos móviles Benchmark Pi 
A esos test de rendimiento global les podemos añadir otras pruebas más específicas como GLBenchmark, que 
simplemente evalúa el rendimiento gráfico haciendo uso de la GPU de estos terminales y de la implementación 
de las librerías OpenGL 2.x integradas en Android para la ejecución sobre todo de videojuegos. Así pues, si estáis 
buscando un terminal que sea capaz de ejecutar juegos 3D sin problemas, deberéis prestar especial atención a 
esta prueba. 
Lo mismo podríamos decir de las pruebas dirigidas a evaluar la autonomía de las baterías, que nos permiten 
saber (de nuevo, a priori) si podremos lograr un uso prolongado del smartphone sin tener que recargar la 
batería a cada momento. En este campo existen pruebas como BatteryBenchmark o Nova Battery Testerque 
pueden darnos argumentos interesantes. En cualquier caso, mucho nos tememos que el consumo de batería es 
un aspecto especialmente difícil de medir con garantías: cada usuario tiene un modelo distinto de uso, con 
distintos servicios y aplicaciones ejecutándose en cada momento y con mayor o menor ejecución de 
herramientas de cálculo intensivo como juegos o vídeos que aceleran de forma drástica la reducción de batería 
disponible. 
 
5.- Conclusiones 
Puntos importantes 
- Debilidades encontradas 
- Nivel de desarrollo técnologico en los puntos mencionados 
- Modelo a proponer 
- Hacia donde podríamos dirigir los desarrollos tecnológicos nuevos en estas áreas. 
https://play.google.com/store/apps/details?id=com.glbenchmark.glbenchmark25
https://play.google.com/store/apps/details?id=com.batterybench
https://play.google.com/store/apps/details?id=ru.NanoDinamics.NovaTester
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
20 
 
Referencias 
Abrahamsson, P., Hanhineva, A., Hulkko, H., Ihme, T., Jaalinoja, J., Korkala, M. y otros. (2004). Mobile-D: an agile 
approach for mobile application development. Companion to the 19th annual ACM SIGPLAN conference on 
Object-oriented programing systems, languages, and applications (págs. 174-175). New York, USA: ACM. 
Cendejas Valdéz, J. L., Vega Lebrún, C. A., Creta Isordia, A., Gutierrez Sánchez, O., & Ferreira Medina, H. (2013). 
Design of the integrated collaborative model for agile development software in the central western companies 
México. Nova Scientia, 1-12. 
K. Dey, A., D. Abowd, G., & Salber, D. (2001). A conceptual Framework and a Toolkit for supporting the Rapid 
Prototyping of Context. ACM , 978 (1), 25-31. 
Yang-Jae, J., Ji-Hyeon, L., & Gyu-Sang, S. (2008). Development Process of Mobile Application SW Based on Agile 
Methodology. En ICACT (Ed.), International Conference on Advance Communication technology ICACT 2014, 
(pág. Korea). Phoenix Park. 
ICL and Europe, by Virgilio Pasquali, from RESURRECTION, The Bulletin of the Computer Conservation Society, 
Number 35, Summer 2005 
Object management group (2013) about the OMG. Recuperado de 
http://www.omg.org/gettingstarted/gettingstartedindex.htm 
Open Society Foundations (2012) About the OSF. Recuperado de 
https://www.opensocietyfoundations.org/about 
bestvpn (2014) PPTP vs L2TP vs OpenVPN vs SSTP vs IKEv2 recuperado de 
https://www.bestvpn.com/blog/4147/pptp-vs-l2tp-vs-openvpn-vs-sstp-vs-ikev2/ 
Francisco Luis Gomex Perez. (2010). Desarrollo de una arquitectura cliente-servidor asíncrona basada en eventos 
por notificación de mensajes para la cooperación y coordinación de robots moviles. España: Universidad 
Politecnica de Valencia 
Adding modular HSxPA cellular broadband connectivity to laptop computers and portable consumer equipment, 
author: Tom Yemington, Marketing Director, Icera Inc. 2007 
Rootkits on Smart Phones: Attacks, Implications and Opportunities, Jeffrey Bickford, Department of Computer 
Science, Rutgers University, 2010. 
A Guide to Mobile Processors, PUBLISHED DECEMBER 2009, Authors: Linley Gwennap and Joseph Byrne, The 
Linley Group 
802.11 Wireless Networks, The Definitive Guide Matthew S. Gast O´REILLY, April 2002 
3G Wireless Demysified Lawrence Harte, Richard Levine McGraw-Hill, 2002 
http://www.cs.man.ac.uk/CCS/res/res35.htm#g
http://www.cs.man.ac.uk/CCS/res/res35.htm#g
http://www.omg.org/gettingstarted/gettingstartedindex.htm
https://www.opensocietyfoundations.org/about
 Congreso Internacional 2016. 2, 3 y 4 de Marzo. Morelia Michoacán. 
 
21 
 
Bellovin, Steven M. (1996). «Problem Areas for the IP Security Protocols». Proceedings of the Sixth Usenix Unix 
Security Symposium: 1-16. Consultado el 13 de noviembre de 2007. 
K.G. Paterson y A. Yau (2006). «Cryptography in theory and practice: The case of encryption in IPsec». Eurocrypt 
2006, Lecture Notes in Computer Science Vol. 4004: 12-29. Consultado el 13 de noviembre de 2007. 
J.P. Degabriele y K.G. Paterson (2007). «Attacking the IPsec Standards in Encryption-only Configurations». IEEE 
Symposium on Security and Privacy, IEEE Computer Society: 335-349. Consultado el 13 de noviembre de 2007. 
 
 
 
 
 
http://www.cs.columbia.edu/~smb/papers/badesp.ps
http://eprint.iacr.org/2005/416
http://eprint.iacr.org/2007/125

Más contenidos de este tema