pavel-kalmykov / mantecabox

Servicio de almacenamiento de ficheros seguro en la nube para la asignatura de Seguridad en el Diseño de Software
GNU General Public License v3.0
2 stars 1 forks source link

Servicio de usuario securizado #5

Closed pavel-kalmykov closed 6 years ago

pavel-kalmykov commented 6 years ago

Descripción

Debemos de externalizar el modelo del usuario, y para ello crearemos un servicio tipo REST.

Condiciones de aceptación

Creación de usuarios

Referencias

pavel-kalmykov commented 6 years ago

Desarrollando en servicio-registro-login

pavel-kalmykov commented 6 years ago

Se utilizará una implementación de AES en modo CTR, basada en la solución proporcionada en el Gist https://gist.github.com/manishtpatel/8222606.

La clave de este pepper o pimienta de momento la guardamos en el propio fichero fuente en donde reside esta implementación. Se deberá de diseñar un sistema a través del cual podamos recuperar esta clave de forma externa, pero en otra issue diferente.

pavel-kalmykov commented 6 years ago

Debido a la migración que se hizo en #4, la columna password de la tabla users es de tipo varchar(60). Usando el cifrado AES, la contraseña cifrada queda en 104 caracteres usando Base64, haciendo la inserción de usuarios imposible de esta forma.

Vamos a cambiar el tipo de esa columna por varchar (o text), que viene siendo exactamente el mismo tipo que varchar(60) pero sin límite de carácteres (PostgreSQL no penaliza el no tener límite)

pavel-kalmykov commented 6 years ago

Para probar los Handlers de cada endpoint del controlador de usuarios, hemos utilizado la librería gofight en conjunto con el nuevo servidor HTTP Gin