Encriptación en AWS: Guía Clave Para Tu Entrevista De Solutions Architect

Introducción

En el artículo de hoy estaremos hablando un poco sobre encriptación. Primero entenderemos las bases, luego los distintos tipos de encriptación que existen, cuando se usa cada una y ejemplos prácticos asociados a AWS en específico. Aquí tendrás la respuesta a varias preguntas que te pueden hacer en entrevistas como Solutions Architect.

Que es la encriptación?

La encriptación es el proceso en el cual se cifran datos en formato legible hacia un formato ilegible, o sea, entendamos con un ejemplo, a continuación tenemos un texto y al lado, veremos el mismo texto luego de ser encriptado:

compa compila -> $2a$12$HWc5lQx1qgi/zwxFHUfTkOB0yWzvTGURTPrXzMvMtWKm1q9oci1pq

Por supuesto, no siempre el mismo texto se encripta de la misma forma, de esto depende el algoritmo de encriptación que se utilice y la llave usada para encriptar. Por ejemplo, a continuación veremos el mismo texto encriptado:

compa compila -> $2a$15$/X2deTck7.Sqrlx6YHII.Ol8B7dZZwnBv7ZUXiH.FT92DzjAW.gFC

Como podemos ver en este caso, el valor luego de ser encriptado es distinto al del primer caso, esto es o porque se usó un algoritmo de encriptación distinto o porque se usó una llave distinta, o ambas cosas.

Porque es necesaria la encriptación?

Sencillo, se resume a seguridad, tanto como cuando se almacenan datos (encryption at rest) como cuando se envían datos a través de internet (encryption in flight) se corre el riesgo de que estos datos sean interceptados, de esta forma, si los datos no están encriptados, inmediatamente serían comprometidos. Para evitar esto, se puede usar tanto software como hardware de encriptación, y en caso que los datos sean interceptados, el atacante no podrá acceder a los mismos, a no ser que pueda desencriptarlos

Algoritmo y llave

A la hora de encriptar datos, hay dos variables a tener en cuenta, el algoritmo, y la llave de cifrado

Algoritmo

Piensa en el algoritmo como la receta usada para encriptar y desencriptar los datos. Estos algoritmos son públicos, algunos ejemplos de los más usados son:

  • Advanced Encryption Standard (AES)
    • Encriptación de ficheros y discos duros
  • Rivest-Shamir-Adelman (RSA)
    • Navegación Internet (HTTPS y TLS)
    • SSH

Llave

La llave es la parte privada de la receta que no puedes compartir. O sea, millones de personas usan al día el Algoritmo AES para distintos propósitos, pero cada uno de ellos tiene su propia llave, esto es lo que hace que a pesar de usar el mismo algoritmo de encriptación, los datos luego de ser encriptados sean distintos a alguien que usó otra llave de encriptación con el mismo algoritmo para los mismos datos

  • Muy importante dejar claro que las llaves de encriptación no pueden ser compartidas

Tipos de encriptación

Existen dos tipos de encriptación, simétrica y asimétrica. A continuación entenderemos y seremos capaces de identificar las ventajas y desventajas de cada una de estas

Encriptación simétrica

La encriptación simétrica usa la misma llave para encriptar y desencriptar los datos y es ideal para datos en estado de reposo. Por ejemplo, si deseas encriptar los datos que tienes en tu disco duro, se usa la misma llave tanto para encriptar los datos como para desencriptarlos. Este tipo de encriptación es muy útil para encriptar grandes cantidades de datos

Encriptación asimétrica

La encriptación asimétrica usa una llave para encriptar los datos y otra para desencriptarlos y es ideal para datos que están siendo transmitidos a través de Internet. Por ejemplo, para conectarte a un servidor vía SSH, necesitas primero generar tanto la llave pública como la privada usando herramientas como ssh-keygen. Luego, la llave pública se ‘instala’ en el servidor al cual deseas conectarte y la llave privada se queda en tu máquina local. Cuando te conectas al servidor, este envía un desafío que solo puede ser resuelto con la llave privada, y si puedes resolverlo, entonces tienes acceso al servidor. Este tipo de encriptación es muy útil para encriptar pequeñas cantidades de datos y para generar firmas digitales

Ejemplos en AWS

Ahora mencionaremos algunos ejemplos de cada tipo de encriptación en AWS

Encriptación simétrica en AWS

  • Encriptación at rest en Amazon S3 usando SSE-S3.
  • Encriptación at rest de volúmenes EBS usando KMS.
  • Encriptación at rest de bases de datos RDS usando KMS.
  • Encriptación at rest de parámetros en AWS Systems Manager Parameter Store usando KMS.

AWS administra las llaves AES-256 por ti, no tienes que preocuparte por la gestión de las mismas

Encriptación asimétrica en AWS

  • Encriptación in flight de datos en tránsito entre tu navegador y AWS Management Console usando TLS.
  • EC2 Key Pairs para acceder a instancias EC2 vía SSH.

Hasta la próxima

Esto es todo por ahora relacionado al primer artículo de esta serie donde estaremos hablando sobre temas que te pueden preguntar en entrevistas para Solutions Architect. Si tienes alguna duda o sugerencia, no dudes en dejar un comentario o contactarme directamente.


Contenido relacionado

Recibe las últimas publicaciones en tu correo
0%