GuardedBox

Se recomienda consultar las ventajas y limitaciones de GuardedBox, destacando especialmente:
  • No será posible recuperar los secretos si se olvida la frase de paso (passphrase, o contraseña) de acceso.
  • La versión actual no permite modificar la frase de paso configurada durante el registro. Esta funcionalidad estará disponible en el futuro.
  • Se debe disponer de acceso a la cuenta de correo electrónico para obtener el segundo factor de autentificación (2FA) requerido para iniciar sesión.
  • GuardedBox únicamente enviará enlaces web al correo electrónico de un usuario durante el proceso de registro inicial y como resultado de una invitación procedente de un usuario registrado. Se debe ignorar cualquier otro enlace web recibido en nombre de GuardedBox para evitar ataques de phishing.
By:

DinoSec

Gestor online para almacenamiento y compartición seguros de secretos


GuardedBox es una una solución online de código abierto que permite, desde cualquier dispositivo con un navegador web, el almacenamiento, la compartición y el intercambio de secretos de manera segura, gestionando en el lado cliente todas las tareas de protección y cifrado de los datos, sin confiar en el servidor, y haciendo uso de las mejores prácticas de la industria de ciberseguridad.

Noticias

  • 2020/07/27: Publicada la versión 1.7.0 de GuardedBox con múltiples pequeños cambios de funcionalidad, y algunas mejoras técnicas y de seguridad adicionales, incluyendo: ; y muchas otras nuevas capacidades... (changelog).

    • Nos queda aún un largo camino para seguir concienciando a los usuarios menos técnicos acerca del uso de frases de paso (passphrase) en lugar de contraseñas (passwords). Para buscar un equilibrio entre seguridad y usabilidad, tras un estudio detallado de su robustez, hemos definido como requisito mínimo para la propia contraseña de GuardedBox (establecida en el proceso de registro) una longitud de 16 caracteres (en lugar de los 20 caracteres previos) y un 80% de fortaleza (empleando el nuevo medidor de fortaleza de las contraseñas).
      • Un análisis estadístico parece confirmar que estos nuevos requisitos de fortaleza se pueden alcanzar, tanto en español como en inglés, con contraseñas aleatorias de 16 caracteres, o con frases de paso de unos 20 caracteres... Aunque estos son los nuevos valores mínimos, ¡seguimos recomendando el uso de frases de paso de más de 20 caracteres y, preferiblemente, con una fortaleza del 100%!
    • Se ha añadido un nuevo icono en la vista de compartición de secretos y de integrantes de un grupo para poder copiar de forma sencilla el e-mail de un usuario y poder añadirlo a nuevos secretos o grupos.
    • Se han modificado los "Símbolos comunes" (previamente denominados "Símbolos sencillos") asociados al nuevo generador de contraseñas aleatorias, eliminando el caracter circunflejo (^), por la dificultad para introducirlo en el teclado español. Este caracter se ha añadido a la categoría "Otros símbolos" (previamente denominada "Símbolos complejos").
      • En la versión inicial del generador de contraseñas aleatorias (v1.6.0), la categoría de "Símbolos sencillos" correspondía a los caracteres (o símbolos) disponibles en las teclas numéricas (pulsando la tecla shift) del teclado americano (US keyboard layout).
      • Se eligió esa categoría de "Símbolos sencillos" ya que constituían un conjunto de caracteres ampliamente aceptado por numerosos servicios online para los valores de las contraseñas (la mayoría emplean una librería en base al teclado americano en sus verificaciones).
      • El elemento considerado más relevante por GuardedBox para estas categorías de caracteres es su aceptación en numerosos servicios online de uso extendido, a fin de poder generar contraseñas aleatorias válidas para estos, y no tanto por la facilidad de poder teclear manualmente las contraseñas aleatorias generadas.
    • Se han añadido mejoras en el interfaz de usuario del generador de contraseñas aleatorias para clarificar los dos campos principales: el que contine el valor de la contraseña, y el que contiene la longitud de la contraseña aleatoria a generar.
    • Se ha mejorado la usabilidad del generador aleatorio de contraseñas para poder (re)generar varios valores aleatorios consecutivamente de una misma longitud (hasta obtener un valor deseado por el usuario), pero evitando la sobreescritura del valor aleatorio previo (ahora es necesario borrar el valor manualmente antes de poder generar un nuevo valor aleatorio, informándose al usuario sobre este comportamiento).
    • Se ha ampliado a los últimos 5 los códigos de acceso (OTPs) considerados válidos para una cuenta concreta (e-mail) debido a que ciertos usuarios sufren retardos en la recepción de e-mails. Se mantiene el tiempo de expiración de cada OTP.
      • Se ha modificado el mensaje de envío del código de acceso que se recibirá por e-mail en un periodo comprendido entre unos segundos (1 minuto, por simplificar) y 10 minutos.
      • Los OTPs válidos se descartan si durante el proceso de login se lleva a cabo un intento de autentificación fallido, debiendo iniciarse el proceso de nuevo.
    • Se han introducido mecanismos más estrictos de renovación del identificador de sesión (una buena práctica frente a potenciales ataques de fijación de sesión), renovándose y verificándose de manera independiente en cada paso del proceso de autentificación (y actuando como un token anti-CSRF para cada acción realizada).
    • Se han introducido mejoras en la generación de números aleatorios (obtenidos a partir de arrays de bytes aleatorios en Javascript) para ciertas operaciones criptográficas asociadas a la generación de contraseñas aleatorias.
    • Se han integrado las capacidades de análisis de seguridad de código de GitHub (Code Scanning) mediante CodeQL en GuardedBox, tanto para los componentes desarrollados en Java como en Javascript, y se han resuelto los descubrimientos asociados.
    • Se han integrado las capacidades de análisis de seguridad de código y dependencias de Whitesource Bolt vía GitHub (complementando los mecanismos ya existentes previamente: Sonatype DepShield, Snyk, etc.), y se han resuelto los descubrimientos asociados.
    • Como habitualmente, se han aplicado actualizaciones, pasando a Java 14.0.2, BouncyCastle 1.66 (que soluciona un problema en la verificación de firmas EdDSA de gran tamaño), y se ha actuado sobre otras librerías y dependencias...

  • 2020/07/14: Publicada la versión 1.6.0 de GuardedBox con numerosas funcionalidades, tanto elementos técnicos como novedades que se reflejan directamente (esta vez sí ;-) en el interfaz de usuario, incluyendo , entre muchas otras nuevas capacidades... (changelog).

    • Se han introducido múltiples adaptaciones al interfaz de usuario (o GUI) para acomodarlo a diferentes dispositivos (tradicionales y móviles) y a distintos tamaños de pantalla, mediante ajustes de los estilos (CSS) tras actualizar a Bootstrap 4.5. Estos cambios afectan, por ejemplo, al menú y a los iconos superiores en función del ancho de pantalla.
    • La funcionalidad que permite verificar la clave pública propia, o la de otro usuario (al compartir secretos individualmente o gestionar los integrantes de un grupo), muestra el valor completo de la clave, independientemente del ancho de pantalla.
    • Por defecto (desde la versión 1.6.0), al crear un nuevo grupo, los participantes no podrán verse entre sí, salvo que se active dicha opción intencionadamente.
    • Se han sustituido todos los botones de las ventanas emergentes por botones representados por iconos (en lugar de botones con texto), unificando así todo el interfaz de usuario (GUI).
    • Se han introducido mejoras para disponer de acceso al significado de ciertos iconos informativos tanto en dispositivos tradicionales (donde es posible situarse encima de ellos con el ratón) como móviles (donde es posible seleccionarlos con una pulsación sobre ellos).
    • Durante el proceso de login (o autentificación) y de registro, justo antes de empezar a derivar las claves criptográficas, si la contraseña estaba configurada como visible pasa a ocultarse automáticamente.
    • Se ha rediseñado por completo la ventana de creación y edición de un secreto:
      • Se permite cambiar el orden de las propiedades de un secreto, pudiendo subirlas o bajarlas de posición mediante los botones con las flechas de la parte izquierda.
      • Se permite definir qué propiedades dentro de un secreto son una contraseña. Como resultado, se muestran opciones específicas para las contraseñas, incluyendo un nuevo medidor de la fortaleza de la contraseña y la posibilidad de generar valores aleatorios para las contraseñas con opciones más granulares y avanzadas:
        • El medidor de la fortaleza de una contraseña ha sido completamente rediseñado, para tener en cuenta en los cálculos nuevas métricas más precisas y que reflejen de forma más fiel qué contraseñas son más robustas y, por tanto, más difíciles de adivinar o de crackear (mediante ataques de fuerza bruta o de diccionario).
        • Adicionalmente, se ha rediseñado la barra que muestra el porcentaje que refleja la fortaleza de una contraseña, tanto en la ventana de creación y edición de un secreto (identificando incluso contraseñas comúnes o ampliamente utilizadas), como en la ventana empleada para establecer la contraseña (o frase de paso) del usuario en GuardedBox durante el proceso de registro.
        • El generador de contraseñas aleatorias ha sido completamente rediseñado, no sólo para permitir definir su longitud, y generar un valor aleatorio de bastante fortaleza posible según ésta, sino también para poder definir los juegos de caracteres a utilizar. Mediante el selector situado a la derecha del icono de generación, es posible incluir letras minúsculas, mayúsculas, números, símbolos sencillos y símbolos complejos, para poder adecuar el valor aleatorio para aquellos servicios que no permiten cualquier caracter como valor de una contraseña. Cada categoría muestra los caraceres asociados al situarse encima de ella.
        • El nuevo generador de contraseñas aleatorio hace uso del nuevo medidor de fortaleza para generar contraseñas aleatorias de calidad (las mejores posibles según permita la aleatoriedad).
    • Desde un punto de vista más técnico, se han añadido capacidades de configuración específicas para que la salida de los logs de la aplicación tenga un formato más legible y que pueda ser configurada mediante un fichero específico, incluyendo tanto el formato logback clásico como un formato JSON.
    • Como habitualmente, se han actualizado varias librerías para mitigar potenciales vulnerabilidades (algunas aún sólo con el CVE reservado)...

  • 2020/07/03: Publicada la versión 1.5.1 de GuardedBox, que no presenta cambios evidentes (en el interfaz de usuario) para sus usuarios pero sí incluye , apostando por nuevas tecnologías, versiones y actualizaciones... (changelog).

    • Actualizada la versión de Java, migrando de Java 13 a Java 14.
    • Actualizadas múltiples librerías y dependencias del front-end, en especial (y desde el punto de vista de seguridad) la librería elliptic de la versión 6.5.2 a la 6.5.3, corrigiendo la vulnerabilidad de ECDSA CVE-2020-13822.

  • 2020/07/01: Publicado el vídeo oficial de la charla técnica GuardedBox: Gestor online para almacenamiento y compartición seguros de secretos (1h 8min) en C0r0n4CON #c0r0n4CON, incluyendo numerosos detalles de su diseño e implementación (como, por ejemplo, los diagramas y explicaciones de los flujos criptográficos).
  • 2020/06/18: Publicada la versión 1.5.0 de GuardedBox. Hasta ahora, la salida de un integrante de un grupo o la retirada de un secreto a un usuario no dejaban ninguna constancia de qué personas podían haber tenido acceso a la información protegida. Con esta nueva versión desde las secciones "Mis grupos" y "Mis secretos". (changelog).

    • Pinchando en el icono del número de integrantes del grupo o del número de personas con las que se ha compartido el secreto, aparecerá una sección dividida en:
      • Compartido con (para secretos)/Integrantes (para grupos): muestra qué usuarios tienen compartido el secreto o son miembros del grupo en el presente.
      • Invitados para compartir(para secretos)/Invitados (para grupos): muestra a qué usuarios se ha enviado invitación a través de GuardedBox para compartirle el secreto o añadirle al grupo en el futuro.
      • Estuvo compartido con (para secretos)/Antiguos integrantes (para grupos): muestra qué usuarios tuvieron el secreto compartido o formaron parte de un grupo en el pasado. El icono a la derecha del email indica el motivo por el cual dejaron de tener acceso al secreto o al grupo. Desde esta sección, se puede:
        • Añadir nuevamente al secreto/grupo al usuario en cuestión, mediante el icono de flecha.
        • Olvidar (representado por "x") que el usuario tuvo acceso al secreto o formó parte del grupo.

          IMPORTANTE: No se debe llevar a cabo esta acción hasta que los valores de las propiedades sensibles del secreto hayan sido modificados después de haber eliminado usuarios del secreto o del grupo, de forma que los nuevos valores invaliden el conocimiento que tenían los usuarios previos sobre el secreto, devolviendo así el control del mismo a sus actuales conocedores.

    • El indicador "0" en el globo de un secreto (que representa que el secreto estuvo compartido con otro usuario pero ahora ya no) o de un grupo (que indica que ahora no tiene integrantes pero que los tuvo):
      • Se mantendrá en ese estado si hay elementos en las listas "Estuvo compartido con"/"Antiguos integrantes", como medio para alertar de que puede haber personas que conocen el valor del secreto, aunque ya no lo tengan compartido.
      • Desaparecerá cuando se haya olvidado al último elemento de la lista "Estuvo compartido con"/"Antiguos integrantes". Es responsabilidad del propietario del secreto o del grupo asegurarse de que esta acción se lleve a cabo únicamente de forma segura (por haberse modificado previamente el valor de los secretos).

Histórico de noticias de GuardedBox.

¿Qué es un secreto en GuardedBox?

Un es cualquier dato sensible y confidencial cuyo acceso por parte de terceros no autorizados debe protegerse. Los secretos pueden tener carácter individual o ser compartidos por un número limitado de usuarios. Aunque en el mundo digital es frecuente asociar "secreto" con "credencial", el concepto de secreto va mucho más allá. Algunos ejemplos de son...


  • Los secretos en GuardedBox están compuestos por: un nombre que identifica al secreto y una serie de propiedades (hasta un máximo de 10) que almacenan la información sensible. Cada propiedad está compuesto por un identificador de la propiedad y un valor (identificador=valor).

    • El código de una caja fuerte o de acceso a un edificio:
      {caja fuerte; código=0123456789}
      {acceso edificio; código=01234}
    • Las coordenadas GPS de un enclave estratégico:
      {coordenadas GPS; 41°24'12.2"N 2°10'26.5"E}
    • Las credenciales de acceso a un servicio:
      {correo corporativo; usuario=usuario@dominio.es, contraseña=<contraseña muy secreta>}
    • Una tarjeta de crédito:
      {tarjeta banco; número=4537 123456 98765, CVV=123, caducidad=04/2020}
    • Una nota segura, por ejemplo, el protocolo de acceso a un servicio:
      {acceso servicio vpn; pasos="Acceder a 'vpn.dominio.es'","Introducir usuario y contraseña","Rellenar el OTP", "Contactar con soporte@servicio.es en caso de problemas técnicos"...}
    • La fórmula química de un producto estratégico:
      {fórmula polímero elástico; óxido de calcio=44%, óxido de aluminio=3,2%, agua=20%}
    • Una identidad:
      {número de historia clínica; nombre=Alicia DinoSec, NHC=2012345, médico=David R.J.}
    • Una clave criptográfica:
      {clave GPG; pública=-----BEGIN PGP PUBLIC KEY BLOCK----- ..., privada=-----BEGIN PGP PRIVATE KEY BLOCK----- ..., passphrase=<contraseña muy secreta>}
    • Un token de una API:
      {token API Twitter; oauth_token=0123456789ABCD...XYZ}
  • Los tamaños máximos para un secreto son:
    • Nombre del secreto: 100 caracteres.
    • Identificador (nombre) de una propiedad:100 caracteres.
    • Valor de una propiedad: 4.000 caracteres. Este tamaño debería ser suficiente para almacenar todo tipo de secretos, credenciales (usuario y contraseña), contraseñas o frases de paso (passphrases), claves criptográficas, certificados digitales, tokens, IDs, etc..

Ventajas de GuardedBox

GuardedBox presenta centradas en proporcionar una solución de gestión online de secretos segura y fácilmente usable.


  • Compartición de secretos de forma individual y colectiva basada en grupos de usuarios.
  • Almacenamiento seguro de los secretos propios y compartidos, disponer simultáneamente de acceso a tu correo electrónico.
    • No será posible (ni siquiera para el propio usuario) recuperar los secretos almacenados en GuardedBox si se desconoce el email o la frase de paso (passphrase, o contraseña) asociados a la cuenta de usuario en GuardedBox.
    • Uso obligatorio de un segundo factor de autentificación (2FA) basado en un código de acceso enviado por e-mail.
  • Acceso online desde cualquier navegador web en plataformas móviles y tradicionales. No requiere la instalación de ninguna applicación o app móvil.
  • Utilización de mecanismos criptográficos modernos y avanzados con gestión de claves transparente (por defecto) para el usuario.
  • Disponibilidad en castellano y en inglés.
  • Comunicaciones por e-mail orientadas a
    • El único enlace web (link o URL) que se recibirá vía e-mail desde GuardedBox es el del registro. Se deberá ignorar cualquier otro enlace web recibido en nombre de GuardedBox.
    • El formato del enlace web contenido en el e-mail oficial de registro es: https://guardedbox.com/#/registration?token=<01234...xyz>.
    • Todos los e-mails remitidos automáticamente por GuardedBox tienen como dirección origen "accounts@guardedbox.com". Se recomienda verificar que los e-mails recibidos desde esta dirección no son clasificados como spam.
    • Los e-mails remitidos por GuardedBox únicamente contendrán información acerca de las actividades asociadas a tu cuenta, sin incluir ningún enlace web o referencia externa. Estos mensajes incluyen los códigos de acceso empleados para el segundo factor de autentificación (2FA), confirmaciones, notificaciones de actividades sospechosas, etc.
    • En ningún caso GuardedBox te pedirá información adicional, ni que realices cualquier otro tipo de acción, a través de correo electrónico. Por tanto, si recibes cualquier otra comunicación en nombre de GuardedBox, por favor, comunícalo lo antes posible a través de los métodos de contacto de la página web principal.
  • La longitud mínima de la frase de paso (passphrase, o contraseña) es de 20 caracteres. Se recomienda hacer uso de frases de paso de más de 20 caracteres.
  • Dentro de nuestros objetivos está el adaptar GuardedBox a las necesidades y sugerencias de la comunidad, por lo que estaremos muy atentos a vuestros comentarios.

Limitaciones de GuardedBox

La versión actual de GuardedBox (v1.0.0) presenta que serán eliminadas en versiones futuras de GuardedBox...


  • No se permite actualmente cambiar la frase de paso (passphrase, o contraseña), por lo que se recomienda ser muy cuidadosos en la selección de una frase de paso muy robusta, pero fácilmente recordable únicamente por su propietario, durante el proceso de registro inicial.
  • Actualmente solo se soporta la utilización de un segundo factor de autentificación (2FA) mediante códigos de acceso enviados a través de e-mail. Versiones futuras de GuardedBox permitirán la utilización de otros mecanismos de 2FA (como TOTPs offline).
  • Un usuario puede eliminar su cuenta de GuardedBox, pero no se dispone de ningún mecanismo para almacenar una copia de seguridad de los secretos que permita recuperarlos si se vuelve a dar de alta la cuenta con el mismo e-mail. El usuario es responsable de guardar los secretos antes de eliminar su cuenta.
  • No se dispone de un mecanismo para exportar los secretos almacenados en GuardedBox a otros gestores de contraseñas, o a formatos concretos, por lo que el usuario deberá copiarlos manual e individualmente si desea extraerlos.
  • El despliegue inicial de GuardedBox pretende proporcionar una solución útil y segura para la comunidad, de manera ágil y con caracter gratuito, pero
    • El rendimiento y/o disponibilidad del servicio en esta fase inicial puede verse eventualmente afectado por el número total de usuarios conectados simultáneamente. Haremos todo lo posible para solventar cualquier incidencia que afecte al servicio para garantizar que esté plenamente operativo y funcionando para todos los usuarios.
    • Pretendemos incorporar nuevas capacidades y funcionalidades a corto plazo, en función de la demanda y de las sugerencias recibidas de la comunidad. La evolución de GuardedBox puede ocasionar cambios en el funcionamiento del servicio, y afectar temporalmente a su disponibilidad.
  • Versiones futuras de GuardedBox solucionarán algunas de estas limitaciones, tal como se detalla en las limitaciones técnicas de la v1.0.0.
  • DinoSec está asumiendo los costes asociados al desarrollo, despliegue y mantenimiento de la infraestructura de GuardedBox. La potencial ampliación de recursos en caso de que la utilización del servicio llegase a exceder los actualmente disponibles estará condicionada por la capacidad de DinoSec para asumir dichos costes.

¿Cómo empezar a utilizar GuardedBox?

Aunque el uso de GuardedBox es muy intuitivo, te proporcionamos algunos escenarios de uso para empezar a utilizarlo (en las próximas semanas se irán completando e incorporando nuevos escenarios de uso...).

Diseño e implementación

GuardedBox tiene como premisa la protección de tus secretos cumpliendo con


El diseño e implementación de GuardedBox se basan en un principio de mínima confianza en el servidor que le incapacita para acceder a los secretos de los usuarios, ya que todas las operaciones de cifrado y descifrado se llevan a cabo en el lado cliente, al igual que la gestión del material criptográfico privado, empleando cifrado extremo a extremo (E2E, End to End Encryption) para todos los intercambios de información entre el usuario y el servidor, y entre usuarios. De esta forma se garantiza que, aun en caso de compromiso del servidor, los secretos de los usuarios y sus claves privadas no serían desvelados.

Debido a que la seguridad de GuardedBox reside en el navegador web del usuario, es muy importante que se haga uso siempre de un navegador web de confianza, que debe mantenerse actualizado en todo momento.

Por otro lado, GuardedBox intenta fomentar la facilidad de uso de la solución, haciendo que, por defecto, la gestión de claves sea totalmente transparente para el usuario. Para hacer uso de GuardedBox, únicamente es necesario disponer de un navegador web (en un ordenador tradicional o en un dispositivo móvil).

El despliegue de GuardedBox está basado en tecnologías que cumplen los estándares de seguridad más exigentes de la industria:

  • DNSSEC: los dominios de GuardedBox están firmados mediante DNSSEC para evitar ataques de suplantación de DNS.
  • TLS: la implementación TLS de los dominios de GuardedBox emplea certificados digitales y las buenas prácticas de HTTPS (como por ejemplo STS) para que tu navegador web pueda validar y proteger tu acceso al servicio, únicamente a través de HTTPS.
  • Cabeceras HTTP de seguridad: el servicio de GuardedBox emplea las buenas prácticas de protección de aplicaciones web a través de numerosas cabeceras HTTP de seguridad.
  • Definición de una política de seguridad en base a security.txt para la recepción de notificaciones de seguridad.
  • Desarrollo de software seguro: el código fuente de GuardedBox ha sido desarrollado empleando las buenas prácticas de seguridad para el desarrollo de software y de aplicaciones web, aprovechando numerosos mecanismos de seguridad.

En las próximas semanas se publicará más información y documentación técnica adicional sobre el diseño y la implementación de GuardedBox, especialmente, aquella relacionada con los mecanismos y estándares de seguridad utilizados. Mientras tanto, los interesados pueden consultar el proyecto de código abierto de GuardedBox en GitHub.

Contacto

Te invitamos a enviarnos sugerencias, consultas, dudas o comentarios a la dirección de e-mail info@guardedbox.es. Clave GPG: info.asc (Fingerprint: 9AAB 7E91 3F80 D45D).

Si quieres enviarnos notificaciones sobre vulnerabilidades, incidentes, o cualquier otro aspecto relacionado con la seguridad de GuardedBox (ver la política de seguridad), por favor utiliza la dirección de e-mail security@guardedbox.es. Clave GPG: security.asc (Fingerprint: 0BCF 552B 92EC BBDD).