/SDScopy

Primary LanguageHTML

SDS

Conocimiento cero

  1. Registro
  • Antes de enviar hash
  • Servidor almacena hash
  • Encriptar el registro del login con clave del servidor (salsa20?)
  1. Login
  • Enviar passwd hasheado
  • Respuesta ok y token
  1. 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
  1. Listar mis contraseñas

Servidor

  • 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

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)

Extras

  • 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

Puesta en marcha

  • 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

Extension Chrome

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