Como poder encriptar y desencriptar archivos de manera sencilla usando el servicio de Key Managment Service de Amazon AWS

En este post veremos como encriptar datos y archivos de manera super sencilla usando el servicio de gestión de keys de Amazon. Todo esto lo haremos a través de la consola de AWS y sin prácticamente código, a excepción de unos breves comandos mediante consola.

Primeros pasos

Para poder hacer todo esto necesitaremos crear unas claves de administración de AWS. Pero no nos servirán de nada si no disponemos de los permisos necesarios para poder administrar el KMS. De modo que empezaremos por crea un grupo de usuarios con los permisos necesarios y un usuario con el cual poder realizar todas las acciones.

Para eso debemos acceder a la sección de IAM de AWS.

Una vez aquí se nos desplegara el panel de usuarios y accederemos a grupos de usuarios.

Crearemos un nuevo grupo de usuarios.

Le daremos un nombre a nuestro grupo, en mi caso grupo-pruebas-kms.

Y le concederemos al grupo de usuario los permisos de AWSKeyManagmentServicePowerUser.

Una vez creado nuestro grupo procederemos a crear nuestro usuario. Al igual que el grupo desde la pestaña del panel pulsaremos en usuarios y agregar usuario.

Le daremos un nombre y seleccionaremos las credenciales de acceso mediante programación. Esto es muy importante ya que necesitaremos las keys para configurar el usuario por consola.

Y lo introduciremos en el grupo que hemos creado para que adquiera los permisos.

Y una vez hecho esto le daremos siguiente hasta crear el usuario. Al acabar nos darán la opción de descargar un archivo con los datos de nuestro usuario. Descargadlo para tener guardadas las keys del usuario.

Segundo Paso: Creación de Claves KMS

Ahora que ya tenemos un usuario con permisos para poder manipular el KMS es hora de crear un par de claves administradas por el cliente.

Seleccionamos la configuración por defecto.

Le daremos un nombre.

Y pondremos al usuario que hemos creado como administrador de las claves.

Definiremos los permisos de las claves como los permisos del usuario y acabaremos de crear las claves.

Encriptado y desencriptado

Ahora lo único que nos queda será configurar nuestro usuario para poder lanzar los comandos de encriptado y desencriptado.

Para ello necesitamos en .crv que descargamos con los datos de nuestro usuario y abrir una consola de mando, en mi caso es la consola de Cmder.

Ejecutaremos el comando de aws configure.

Y nos pedirá que vayamos introduciendo las diferentes claves de nuestro usuario.

Una vez hecho todo esto podremos pasar al encriptado. Para esto solo necesitaremos navegar hasta la dirección de nuestros archivos y insertar los siguientes comandos:

Para encriptar: aws kms encrypt –key-id 4164bee7-9b96-42c9-a116-b88513a3ea90 –plaintext fileb://fichero.txt –output text –query CiphertextBlob > ficheroNUEVO.base64.txt

La key en negrita será la que de nuestro par de claves que generamos en el KMS.

Los nombres en negrita son el nombre del archivo que queremos encriptar, y el segundo será el nombre que tendrá el archivo que nos generara encriptado.

Para desencriptar:

aws kms decrypt —key-id 4164bee7-9b96-42c9-a116-b88513a3ea90 –ciphertext-blob

 fileb://ficheroNUEVO.base64.txt –output text

–query Plaintext –decode > ficheroSINCIFRAR.txt

Y para desencriptar sera al reves, usando la misma key del KMS.

Información

Autor/a: Alexandru Preutesei Emilian

Curso: Desarrollo Web Full Stack, Multicloud y Multiplataforma

Centro: Tajamar

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.