Articulo de referencia

KWallet

KDE Wallet Manager es un software y marco de gestión de contraseñas gratuito y de código abierto escrito en C++ para sistemas operativos de estilo UNIX . Incluye el marco KWalle...

KDE Wallet Manager es un software y marco de gestión de contraseñas gratuito y de código abierto escrito en C++ para sistemas operativos de estilo UNIX . Incluye el marco KWallet , la aplicación GUI KWalletManager , el demonio kwalletd que expone la API del marco y el demonio ksecretd que expone la API D-Bus del Servicio Secreto . KDE Wallet Manager se ejecuta en un sistema operativo basado en Linux y su característica principal es almacenar contraseñas cifradas en carteras KDE. [ 2 ] Su característica principal es recopilar las credenciales del usuario, como contraseñas o identificadores, y cifrarlas mediante el algoritmo de cifrado de bloques simétrico Blowfish o el cifrado GNU Privacy Guard .

Instalación

KDE Wallet Manager (KWallet) requiere un sistema operativo basado en Linux y el entorno de escritorio KDE Software Compilation como Kubuntu . [ 3 ]

Extensiones del navegador

El gestor de monederos de KDE (KWallet) se puede integrar con varios navegadores web, incluidos Chrome , Opera y Edge .

Para usar la integración del administrador de la billetera de KDE (KWallet) en Chrome o cualquier otro navegador basado en Chromium , el usuario debe ejecutar el navegador con el argumento --password-store=kwallet5o --password-store=detect. [ 4 ]

Históricamente, existía un complemento independiente para Firefox . Este complemento permitía a los usuarios almacenar contraseñas internamente a través del gestor de contraseñas KDE Wallet (KWallet) en lugar del gestor de contraseñas predeterminado de Firefox.

Desde el lanzamiento de Firefox v57 y la migración de las extensiones basadas en XUL a WebExtensions , no se ha intentado crear un nuevo complemento para dar soporte al nuevo Firefox.

Los navegadores web Konqueror y Falkon de KDE utilizan el gestor de monederos de KDE (KWallet) para almacenar contraseñas confidenciales cifradas.

API

Las API de KDE Wallet Manager activan eventos de autenticación cuando la aplicación realiza una solicitud a través del protocolo de comunicaciones de escritorio (DCOP), que es el mecanismo principal de comunicación entre procesos (IPC) de KDE, lo que provoca que se muestre un cuadro de diálogo de contraseña para la aplicación. Esto hace que el proceso demonio de KDE inicie el cuadro de diálogo de contraseña . Los usuarios pueden optar por cancelar el cuadro de diálogo, lo que finalizará la aplicación, o completar el campo de contraseña. Si se completa el campo de contraseña, la cartera se abrirá automáticamente. El protocolo de comunicaciones de escritorio (DCOP) de KDE Wallet Manager solo se puede acceder localmente porque es un protocolo de comunicación entre procesos (IPC) que se procesa a través de sockets locales UNIX . [ 5 ]

Interfaz gráfica de usuario

En la interfaz gráfica de usuario (GUI) del Administrador de Carteras de KDE , los usuarios pueden gestionar todas las carteras y contraseñas que se les hayan asignado.

KDE Wallet Manager permite a los usuarios guardar o eliminar carteras y les permite identificar en qué aplicaciones de cartera deben buscar al intentar acceder a una contraseña almacenada. [ 5 ]

Estas son las listas de acciones que los usuarios pueden realizar en la interfaz gráfica de usuario del gestor de monederos de KDE (KWallet):

  • Crear nueva cartera
  • Cambiar la cartera predeterminada
  • Bloquea la cartera
  • Almacena contraseñas en una cartera.
  • Desbloquea la contraseña de la Cartera.
  • Actualizar la información de una billetera
  • Ver contraseñas almacenadas en la Cartera [ 5 ]

Carteras

Gestionar monederos en KWallet.

La cartera es un término que se utiliza para el almacenamiento de contraseñas en el software KDE Wallet Manager. Las carteras pueden crearse manualmente o mediante un cuadro de diálogo cuando el usuario introduce una contraseña en cualquier entorno de escritorio KDE o sitio web. Una vez creada, la cartera puede almacenar varias contraseñas y se controla mediante una contraseña maestra. De esta forma, los usuarios no tienen que recordar varias contraseñas, sino que pueden gestionarlas memorizando una única contraseña maestra para la cartera. La cartera predeterminada se llama "kdewallet" y los usuarios pueden crear más si lo necesitan.

Gestionar monederos

Los usuarios pueden gestionar sus carteras desde la ventana del Administrador de Carteras de KDE. Pueden agrupar o combinar carteras arrastrando y soltando los archivos. Si desean exportar información a otras ubicaciones, como unidades flash , la ventana les permite elegir si desean exportar los datos cifrados o no. Al proporcionar la contraseña maestra, también pueden importar los datos cifrados.

También es posible configurar las preferencias de las billeteras; el usuario puede establecer ciertas billeteras como predeterminadas. La configuración de cierre de billetera permite al usuario cerrar la billetera después de:

  • Cerrar cuando no se utilice
  • Cierra cuando se inicie el protector de pantalla.
  • Ciérralo cuando la aplicación deje de usarlo.

Cifrado de la contraseña

Los datos almacenados por el gestor de la cartera de KDE se pueden cifrar de dos maneras principales. Se utiliza el algoritmo GNU Privacy Guard (GnuPG o GPG) si la biblioteca GnuPG Made Easy está instalada en el sistema operativo Linux del usuario. De lo contrario, se utiliza el algoritmo de cifrado por bloques simétrico Blowfish. [ 6 ]

Los métodos de cifrado de KWallet.

Algoritmo de cifrado de bloques simétrico Blowfish

El gestor de la cartera KDE cifra los datos almacenados en ella mediante el algoritmo de cifrado de bloques simétrico Blowfish en modo CBC. Para proteger la información del usuario, los datos cifrados con Blowfish se autentican con el algoritmo de hash SHA-1.

El cifrado Blowfish del gestor de carteras KDE ofrece un cifrado más rápido que Khufu, RC5, DES, IDEA y Trip-DES. Blowfish cifra a una velocidad de 18 ciclos de reloj por byte en microprocesadores de 32 bits.

El algoritmo Blowfish del gestor de monederos KDE se puede ejecutar en memoria en menos de 5 KB, y su estructura simple facilita la implementación y la determinación de su robustez. El algoritmo admite longitud de clave variable, que puede alcanzar hasta 448 bits, y permite operaciones básicas de suma de palabras y XOR de bits. [ 7 ]

Cifrado GNU Privacy Guard

Los usuarios pueden crear una cartera basada en GNU Privacy Guard (GnuPG o GPG) para almacenar contraseñas muy sensibles. Para ello, deben instalar la biblioteca GnuPG Made Easy. Una vez instalada la biblioteca y detectado GNU Privacy Guard (GnuPG o GPG), se les pedirá a los usuarios que elijan una clave para la nueva cartera. [ 6 ] Los usuarios también pueden cifrar contraseñas con el algoritmo de cifrado de bloques simétrico Blowfish, ya que la biblioteca de cifrado GNU Privacy Guard incluye el algoritmo DSA/Blowfish. [ 8 ]

Seguridad

El uso del gestor de monederos de KDE (KWallet) puede facilitar la gestión de contraseñas, pero no ofrece mayores garantías de seguridad para el sistema del usuario. En lugar de obtener las demás contraseñas del usuario, un atacante podría conseguir la contraseña maestra de sus monederos a través de su ordenador.

Dado que el directorio de archivos cifrados del gestor de carteras de KDE (KWallet) se encuentra en una ruta predecible, podría ser vulnerable a virus o gusanos programados para atacar el propio sistema de gestión de contraseñas. [ 5 ]

Vulnerabilidades conocidas en versiones anteriores

submódulo kwallet

  • "kwallet-pam en KDE KWallet anterior a la versión 5.12.6 permite a los usuarios locales obtener la propiedad de archivos arbitrarios mediante un ataque de enlace simbólico."
  • "El método fishProtocol::establishConnection en fish/fish.cpp de KDE kio-extras hasta la versión 20.04.0 realiza una llamada a cacheAuthentication incluso si el usuario no ha configurado la opción keepPassword. Esto puede provocar que KWallet almacene una contraseña de forma no deseada."
  • "En KWallet, antes de la versión 14.12.0 de KDE Applications, kwalletd utiliza Blowfish con el modo ECB en lugar del modo CBC al cifrar el almacén de contraseñas, lo que facilita a los atacantes adivinar las contraseñas mediante un ataque de diccionario de códigos."

Uso de SHA-1

  • La función hash SHA-1 utilizada en el gestor de monederos de KDE (KWallet) es vulnerable a fallos criptográficos. Google y CWI Amsterdam han demostrado que dos resúmenes SHA-1 idénticos muestran contenido PDF diferente . Varias empresas, entre ellas Microsoft , han dejado de ofrecer soporte para SHA-1; sin embargo, el gestor de monederos de KDE (KWallet) utiliza SHA-512 en versiones superiores a la 4.13 o con el módulo de autenticación Pluggable, o bien utiliza la función hash SHA-1.
  • "SHA-1 no es resistente a colisiones, lo que facilita que atacantes que dependen del contexto realicen ataques de suplantación de identidad, como lo demuestran los ataques al uso de SHA-1 en TLS 1.2. NOTA: este CVE existe para proporcionar un identificador común para hacer referencia a este problema de SHA-1; la existencia de un identificador no es, por sí sola, una recomendación tecnológica." [ 9 ]
  • "Se descubrió una vulnerabilidad en la forma en que se podían falsificar las firmas de certificados utilizando las colisiones encontradas en el algoritmo SHA-1. Un atacante podría aprovechar esta debilidad para crear firmas de certificados falsificadas. Este problema afecta a las versiones de GnuPG anteriores a la 2.2.18." [ 10 ]
  • "Las funciones de mezcla en el generador de números aleatorios de Libgcrypt anterior a la versión 1.5.6, 1.6.x anterior a la 1.6.6 y 1.7.x anterior a la 1.7.3 y GnuPG anterior a la 1.4.21 facilitan a los atacantes la obtención de valores de 160 bits aprovechando el conocimiento de los 4640 bits anteriores." [ 11 ]
  • "GnuPG 2.2.21 y 2.2.22 (y Gpg4win 3.1.12) presenta un desbordamiento de matriz , que provoca un fallo o posiblemente otro impacto no especificado, cuando una víctima importa una clave OpenPGP de un atacante y esta clave tiene preferencias AEAD . El desbordamiento se debe a un error en g10/key-check.c. NOTA: GnuPG 2.3.x no se ve afectado. GnuPG 2.2.23 es una versión corregida." [ 12 ]
  • "GnuPG 1.x anterior a la versión 1.4.16 genera claves RSA utilizando secuencias de introducciones con ciertos patrones que introducen un canal lateral , lo que permite a atacantes físicamente cercanos extraer claves RSA mediante un ataque de texto cifrado elegido y criptoanálisis acústico durante el descifrado. NOTA: Normalmente no se espera que las aplicaciones se protejan de los ataques de canal lateral acústico, ya que esto es, en teoría, responsabilidad del dispositivo físico. Por consiguiente, los problemas de este tipo no suelen recibir un identificador CVE. Sin embargo, para este problema, el desarrollador ha especificado una política de seguridad en la que GnuPG debería ofrecer resistencia a los ataques de canal lateral, y las infracciones de la política de seguridad especificada por el desarrollador están dentro del alcance de CVE." [ 13 ]
  • "El desbordamiento negativo de enteros en la función ksba_oid_to_str de Libksba anterior a la versión 1.3.2, tal como se utiliza en GnuPG, permite a atacantes remotos provocar una denegación de servicio (bloqueo) mediante un OID manipulado en un mensaje (1) S/MIME o (2) datos OpenPGP basados ​​en ECC , lo que desencadena un desbordamiento de búfer." [ 14 ]
  • "En GnuPG anterior a la versión 2.2.8, el archivo mainproc.c gestiona incorrectamente el nombre de archivo original durante las acciones de descifrado y verificación, lo que permite a atacantes remotos falsificar la salida que GnuPG envía en el descriptor de archivo 2 a otros programas que utilizan la opción "—status-fd 2". Por ejemplo, los datos de OpenPGP podrían representar un nombre de archivo original que contiene caracteres de salto de línea junto con los códigos de estado GOODSIG o VALIDSIG." [ 16 ]
  • "La función de verificación de integridad en OpenPGP, al manejar un mensaje que fue cifrado usando el modo de retroalimentación de cifrado (CFB) , permite a atacantes remotos recuperar parte del texto plano a través de un ataque de texto cifrado elegido cuando se conocen los primeros 2 bytes de un bloque de mensaje y hay un oráculo u otro mecanismo disponible para determinar si falló una verificación de integridad." [ 17 ]
  • " Un desbordamiento de búfer basado en el montón en la función ask_outfile_name en openfile.c para GnuPG (gpg) 1.4 y 2.0, cuando se ejecuta de forma interactiva, podría permitir a los atacantes ejecutar código arbitrario a través de mensajes con expansiones de "escape de C", que hacen que la función make_printable_string devuelva una cadena más larga de lo esperado al construir un mensaje." [ 18 ]
  • "GnuPG 1.4.6 y versiones anteriores, y GPGME anterior a la versión 1.1.4, cuando se ejecutan desde la línea de comandos, no distinguen visualmente las partes firmadas y no firmadas de los mensajes OpenPGP con múltiples componentes, lo que podría permitir a atacantes remotos falsificar el contenido de un mensaje sin ser detectados." [ 19 ]
  • "En GnuPG anterior a la versión 2.2.8, el archivo mainproc.c gestiona incorrectamente el nombre de archivo original durante las acciones de descifrado y verificación, lo que permite a atacantes remotos falsificar la salida que GnuPG envía en el descriptor de archivo 2 a otros programas que utilizan la opción "—status-fd 2". Por ejemplo, los datos de OpenPGP podrían representar un nombre de archivo original que contiene caracteres de salto de línea junto con los códigos de estado GOODSIG o VALIDSIG." [ 20 ]
  • "kbx/keybox-search.c en GnuPG anterior a 1.4.19, 2.0.x anterior a 2.0.27 y 2.1.x anterior a 2.1.2 no maneja correctamente los desplazamientos a la izquierda de bits , lo que permite a atacantes remotos causar una denegación de servicio (operación de lectura no válida) a través de un archivo de llavero manipulado, relacionado con extensiones de signo y " memcpy con rangos superpuestos". [ 21 ]

En software de terceros

  • Se descubrió un problema en password-store.sh en pass en Simple Password Store 1.7.x anterior a 1.7.2. La rutina de verificación de firma analiza la salida de GnuPG con una expresión regular incompleta , lo que permite a atacantes remotos falsificar firmas de archivos en archivos de configuración y scripts de extensión. Modificar el archivo de configuración permite al atacante inyectar claves de cifrado adicionales bajo su control, revelando así las contraseñas al atacante. Modificar los scripts de extensión permite al atacante ejecutar código arbitrario. [ 22 ]

Véase también

Notas

  1. LGPL-2.0 solamente, LGPL-2.0 o posterior, LGPL-2.1 o posterior y LGPL-3.0 o posterior.

Referencias

  1. "v5.247.0" . Consultado el 9 de enero de 2024 .
  2. Zhang, Jie; Luo, Xin; Akkaladevi, Somasheker; Ziegelmayer, Jennifer (2009). "Mejora de la recuperación de múltiples contraseñas: un estudio empírico" . European Journal of Information Systems . 18 (2): 165– 176. doi : 10.1057/ejis.2009.9 . ISSN 0960-085X . S2CID 7244341 .  
  3. Gray, Joshua; Franqueira, Virginia NL; Yu, Yijun (2016). "Análisis forense riguroso de los riesgos de seguridad del uso de gestores de contraseñas locales" . 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW) (PDF) . Pekín, China: IEEE. pp. 114–121 . doi : 10.1109/REW.2016.034 . ISBN  978-1-5090-3694-3. S2CID 15971740 . 
  4. Toman, Zinah Hussein; Toman, Sarah Hussein; Hazar, Manar Joundy (2019). "Una comparación exhaustiva de marcos de software para el desarrollo de aplicaciones de escritorio utilizando tecnologías web" . Revista de la Universidad Jiaotong del Suroeste . 54 (4) 1. doi : 10.35741/issn.0258-2724.54.4.1 . ISSN 0258-2724 . S2CID 209057621 .  
  5. 1 2 3 4 Mulligan, J.; Elbirt, AJ (2005). "Compromisos entre seguridad y usabilidad en el escritorio: una evaluación de los sistemas de gestión de contraseñas" . Information Systems Security . 14 (2): 10– 19. doi : 10.1201/1086/45241.14.2.20050501/88289.3 . ISSN 1065-898X . S2CID 21253225 .  
  6. 1 2 Dudášová, Ludmila; Vaculík, Martín; Procházka, Jakub (29 de diciembre de 2021). "Psychologický kapitál v pracovní, klinické a školní psychologii: přehledová studie" . Psicología Ceskoslovenska . 65 (6): 558– 574. doi : 10.51561/cspsych.65.6.558 . ISSN 0009-062X . S2CID 245578091 .  
  7. Mousa, A. (2005). "Rendimiento del cifrado de datos basado en Blowfish" . 47.º Simposio Internacional ELMAR, 2005. IEEE. pp. 131–134 . doi : 10.1109/elmar.2005.193660 . ISBN  953-7044-04-1. ISSN 1334-2630 . S2CID 21814142 .  
  8. Aghili, Hamed (26 de julio de 2018), "Mejora de la seguridad mediante el algoritmo Blowfish en el almacenamiento en la nube con deduplicación" , Investigación fundamental en ingeniería eléctrica , Notas de clase en ingeniería eléctrica, vol. 480, Singapur: Springer Singapore, págs. 723–731 , doi : 10.1007/978-981-10-8672-4_54 , ISBN   978-981-10-8671-7, S2CID 69654258 , consultado el 27/05/2022 
  9. "NVD - CVE-2005-4900" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  10. "NVD - CVE-2019-14855" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  11. "NVD - CVE-2016-6313" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  12. "NVD - CVE-2020-25125" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  13. "NVD - CVE-2013-4576" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  14. "NVD - CVE-2014-9087" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  15. "NVD - CVE-2010-2547" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  16. "NVD - CVE-2018-12020" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  17. "NVD - CVE-2005-0366" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  18. "NVD - CVE-2006-6169" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  19. "NVD - CVE-2007-1263" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  20. "NVD - CVE-2018-12020" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  21. "NVD - CVE-2015-1607" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
  22. "NVD - CVE-2018-12356" . nvd.nist.gov . Consultado el 27 de mayo de 2022 .Dominio públicoEste artículo incorpora texto de esta fuente, que es de dominio público .
Obtenido de " https://en.wikipedia.org/w/index.php?title=KWallet&oldid=1352115951 "