Conocimiento cero
- Registro
- Antes de enviar hash
- Servidor almacena hash
- Encriptar el registro del login con clave del servidor (salsa20?)
- Login
- Enviar passwd hasheado
- Respuesta ok y token
- Añadir passwords del usuario
- Usr |passwd |url
- Cliente1.json
- Añadir o Recuperar
- Trabajamos con el fichero, el cliente cifra y descifra con su clave
- Si cambiamos contraseña recuperar y volver a cifrar el fichero
- Generar random pass cifrada con la clave del cliente
- Listar mis contraseñas
- Registrarse (Guardar usuario y contraseña en el archivo login) (¿validación, email?)
- Autenticarse (comprobar que existen las credenciales en el fichero login y devolver token)
- Devolver el fichero al cliente
- Recibir el fichero del cliente y almacenarlo en el lugar correspondiente
- En caso de trabajar con ficheros almacenar y recuperar de la carpeta asociada al cliente
- Cifrar contraseña (salsa 20?) (hashear?)
- Enviar la contraseña hasheada al servidor para autenticarnos/registrarnos
- Ver si existe el fichero, sino crear uno nuevo
- ¿Al añadir una nueva entrada al fichero de contraseñas, ciframos la pass?
- Cifrar/Descifrar el fichero con las entradas (salsa20)
- Listar entradas del fichero
- Eliminar una entrada en concreto
- Enviar el fichero cifrado al servidor (token válido)
- Programar una extensión (Get started) de Google Chrome que se comunique con el servidor para buscar contraseñas guardadas y se puedan usar fácilmente en el navegador.
- Generación de contraseñas aleatorias y por perfiles (longitud, grupos de caracteres, pronunciabilidad, etc.)
- Añadir datos adicionales
- Compartir contraseña con grupos de usuarios usando clave pública
- Para poner en marcha el SERVIDOR debemos de ejecutar desde la carpeta Server el comando: go run serverhttps.go (contraseña del server)
- Para poner en marcha el CLIENTE debemos de ejecutar desde la carpeta Cliente el comando: go run cliente.go
Para poder utilizar la extension debemos primero importarla a Chrome desde chrome://extensions. Despues debemos de meter el certificado de la carpeta Server en la raíz de los certificados de Google Chrome.
Finalmente debemos de habilitar el flag chrome://flags/#allow-insecure-localhost