Categorías: Seguridad

¿Son nuestro certificados seguros?

Una de las cosas en las que más se basa la seguridad en nuestros días, consiste en generar los famosos certificados  que entre otras cosas nos aseguran que nuestros datos vayan cifrados de forma segura cuando los transmitimos a través de la red. Pero no solo se usa en el protocolo HTTPS sino en multitud de protocolos seguros como los de correo.

 

¿Cómo se genera un cerfificado?

Básicamente los certificados se basan en un conjunto de información que se intercambia con el cliente, a cerca de las claves que van a utilizar para comunicarse, el tipo de encriptación que van a utlizar y datos sobre el proveedor del servicio.

Uno de los algoritmos que se usan en los certificados es RSA, este algoritmo es un método de cifrado de clave pública, que consta de dos claves que se intercambian, si queréis saber más sobre como funciona el mismo os dejamos este enlace.

Pero este tipo de algoritmos necesitan normalmente de un par de números que forman las claves del sistema. En este caso se necesitan unos números que tienen que tener unas propiedades especiales. Es por ello que normalmente se suele contratar con una empresa dedicada a ellos, para que te genere el certificado, aunque también hay formas de hacerlo por tus propios medios.

Los números especiales de tu certificado

En el caso del algoritmo RSA se necesita partir de un número n que tiene que ser primo. Aquí uno podría decir, pues es muy sencillo generar un número primo por ejemplo el 3 o el 7, incluso el 13. Sin embargo la cosa no es tan sencilla si nos piden generar un número primo de cien cifras y es aquí donde puede estar el pequeño (o gran) resquicio que puede desbaratar toda nuestra seguridad.

Generar números primos ¿una tarea sencilla?

El problema radica en que generar números primos grandes y cuando decimos grandes nos referimos a que tengan un números de cifras superior a cien e incluso hasta mil cifras, es algo computacionalmente imposible. Con esto queremos decir que, con la potencia de cálculo de los ordenadores actuales es imposible obtenerlos.

¿Entonces como se generan estos números si no es posible? Pues básicamente se utiliza lo que se conoce como test de primaridad. Esto nos permite generar números con una probabilidad de que sean primos. Aquí esta realmente el problema, el número tendrá una probabilidad de ser primo muy alta. Pero nadie nos puede asegurar al 100% que ese número es primo.

El mayor problema es que si el número no fuera primo, los métodos de cifrado de los algoritmos como el RSA quedarían rotos y se podría descifrar la información de una manera sencilla.

Así que esto es otro capítulo más en el que podemos decir que la seguridad al 100% no existe.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

4 años hace