THE MARKET VERSUS THE MAJOR SECTORS
7.3.1 CAPM versus Sector-Based Three-Factor APT Model
En este apartado usaremos los resultados obtenidos anteriormente para compararlos con el obtenido en un estudio parecido realizado anteriormente. El objetivo de esto será establecer el soporte actual de ECC.
También se sacarán conclusiones de rendimiento entre el uso de ECDHE con respecto al resto de cifradores y de RSA con respecto a ECDSA en las conexiones seguras realizadas mediante navegadores comerciales. Con ello se pretende averiguar si el uso de uno con respecto a otro es más eficiente en valores de tiempo en su uso por los navegadores comerciales de Android.
4.3 Discusión
83
4.3.1 Validación de resultados
Comparamos con los resultados obtenidos en las pruebas descritas en este capítulo con un estudio anterior [1] sobre OpenSSL v 0.9.8 y una versión anterior de Android.
Los cifradores soportados por OpenSSL en el estudio citado podemos verlos en Tabla 4.7. Comprobamos que en la versión 1.0.1f de OpenSSL ha aumentado considerablemente, especialmente con respecto a los cifradores que usan ECDHE y ECDSA, los cuales no eran soportados en el momento de realizar dicho estudio.
CIPHER Prot. Intercambio
Clave Autent. Cifrado Mac DHE‐RSA‐AES256‐SHA SSLv3 DH RSA AES(256) SHA1
DHE‐DSS‐AES256‐SHA SSLv3 DH DSS AES(256) SHA1
AES256‐SHA SSLv3 RSA RSA AES(256) SHA1
EDH‐RSA‐DES‐CBC3‐SHA SSLv3 DH RSA 3DES(168) SHA1
EDH‐DSS‐DES‐CBC3‐SHA SSLv3 DH DSS 3DES(168) SHA1
DES‐CBC3‐SHA SSLv3 RSA RSA 3DES(168) SHA1
DES‐CBC3‐MD5 SSLv2 RSA RSA 3DES(168) MD5
DHE‐RSA‐AES128‐SHA SSLv3 DH RSA AES(128) SHA1
DHE‐DSS‐AES128‐SHA SSLv3 DH DSS AES(128) SHA1
AES128‐SHA SSLv3 RSA RSA AES(128) SHA1
RC2‐CBC‐MD5 SSLv2 RSA RSA RC2(128) MD5
RC4‐SHA SSLv3 RSA RSA RC4(128) SHA1
RC4‐MD5 SSLv3 RSA RSA RC4(128) MD5
RC4‐MD5 SSLv2 RSA RSA RC4(128) MD5
EDH‐RSA‐DES‐CBC‐SHA SSLv3 DH RSA DES(56) SHA1
EDH‐DSS‐DES‐CBC‐SHA SSLv3 DH DSS DES(56) SHA1
DES‐CBC‐SHA SSLv3 RSA RSA DES(56) SHA1
DES‐CBC‐MD5 SSLv2 RSA RSA DES(56) MD5
EXP‐EDH‐RSA‐DES‐CBC‐SHA SSLv3 DH(512) RSA DES(40) SHA1
EXP‐EDH‐DSS‐DES‐CBC‐SHA SSLv3 DH(512) DSS DES(40) SHA1
EXP‐DES‐CBC‐SHA SSLv3 RSA(512) RSA DES(40) SHA1
EXP‐RC2‐CBC‐MD5 SSLv3 RSA(512) RSA RC2(40) MD5
EXP‐RC4‐MD5 SSLv3 RSA(512) RSA RC4(40) MD5
Tabla 4.7. Cifradores soportados por OpenSSL v 0.9.8
Con ello vemos que el soporte de ECC ha aumentado, pasando de no ser usado a ser uno los implementados.
Para ver un ejemplo, en la Tabla 4.7 tenemos resaltados los cifradores soportados por en el navegador Firefox en el momento de la realización de las pruebas del estudio referenciado. Comprobamos cómo en la versión de Android que estamos
usando en este proyecto (Android 4.4) y por tanto, en los navegadores programados para su uso en los dispositivos que lo llevan, se ha implementado el uso de ECC para realizar conexiones seguras, ya sea mediante ECDHE, ECDSA o ambos. En el ejemplo que estamos estudiando para el navegador Firefox, los cifradores añadidos en su implementación que usan ECC los podemos ver en la Tabla 4.8.
CIPHER ECDHE‐ECDSA‐AES128‐SHA ECDHE‐RSA‐AES128‐SHA ECDHE‐ECDSA‐AES128‐GCM‐SHA256 ECDHE‐ECDSA‐AES256‐SHA ECDHE‐RSA‐AES256‐SHA
Tabla 4.8. Cifradores que implementan ECC usados por Firefox.
4.4.2 Rendimiento de ECC en navegadores comerciales
Tras las medidas de tiempo de conexiones seguras realizadas mediante los navegadores comerciales Firefox, Chrome y Opera podemos concluir:
- La implementación de ECC en servidores, en nuestro caso Apache (y su módulo OpenSSL), es muy completa y permite la elección de diferentes cifradores según uso o requerimientos del sistema o red.
- La implementación de ECC en los cifradores usados en conexiones TSL en dispositivos móviles, y en especial en Android ha aumentado en las últimas versiones del sistema operativo, teniendo una gran variedad de ellos. Permitiendo combinar su uso con métodos tradicionales como en el caso de los cifradores ECDHE-RSA.
- En general, los cifradores que usan ECDHE y por tanto, requieren el uso de ECC para realizar el intercambio de llaves (RSA o ECDSA) son más rápidos que el resto.
- En el caso del uso de llaves ECDSA, no queda claro que su uso sea más eficiente pues en la mayoría de los casos RSA es más rápido o tiene un valor similar de tiempo al del uso de ECDSA.
En conclusión, podemos decir que la inclusión y uso de ECC en las conexiones TSL no sólo es más eficiente y sobre todo más seguro según la teoría, sino que también lo son en la práctica, sobre todo a la hora del cifrado del canal de intercambio. En el caso de las claves ECDSA no podemos llegar a una conclusión clara con estas pruebas por lo que las estudiaremos con más detalle en el siguiente capítulo donde nos centraremos en su uso para estudiar su eficiencia con respecto a las claves RSA.
Capítulo 5
ESTUDIO DE RENDIMIENTO
EN NAVEGADOR
PROGRAMÁTICO
El objetivo de estas pruebas es realizar una comparación entre el uso de certificados que usa ECC (a partir de ahora certificados ECDSA) con respecto al tipo de certificados más usados en la actualidad, los certificados RSA. Con ello queremos establecer si las ventajas que a priori tiene el uso de certificados ECDSA en las conexiones móviles (en nuestro caso Android) se cumplen en un entorno real.
Para la realización de dichas medidas nos interesa el momento del handshake, es decir, el momento en el que se realiza autenticación para el intercambio de claves de sesión.
Intentaremos hallar la diferencia en coste temporal/energético entre el uso de ECC y RSA con diferentes tamaños de clave.
Finalmente estudiaremos el soporte de los servidores comerciales más visitados a dichos certificados.