\subsection{Contraseñas} \label{cap1:contrasenas} Las contraseñas son quizás, el método más utilizado para asociar una identidad a personas en el mundo digital. Una contraseña en este ámbito se refiere a una secuencia de caracteres secreta que se utiliza generalmente en combinación con un nombre de usuario o correo electrónico para obtener acceso a determinados recursos de un sistema informático. El sistema informático puede estar en la web, funcionar en un computador sin acceso a red, o ser un sistema dedicado tal como un cajero automático de banco, o un mecanismo de control para el acceso a un lugar físico. El acceso al correo electrónico, a una sesión en una computadora, al sitio de un banco en la Internet, la acción para desbloquear un teléfono móvil, así como actividades que se hacen a diario con los dispositivos lo utilizan como sistema primigenio y en muchas ocasiones como único procedimiento disponible para este fin. En primer lugar, para construir un sistema de contraseñas se necesita un almacén de datos, en el cual se guarden los datos vinculados con la clave que pueden representar el ámbito de operación de un usuario dentro de un sistema informático, lo cual incluye esquemas de autorización para operar sobre objetos o generar acciones. Muchas veces los almacenes de datos para los esquemas de contraseñas se construyen usando archivos de texto (por ejemplo, los sistemas Linux o Unix que utilizan el archivo \textit{/etc/shadow}), o también es muy frecuente utilizar un conjunto de relaciones u objetos en una base de datos. Algunas de las reglas básicas para almacenar contraseñas se muestran a continuación: \begin{itemize} \item Utilizar esquemas de seguridad para el resguardo de la base de datos acorde con las reglas generales de administración de servidores, sistemas de cómputo embebido o cualquier otro tipo de sistema donde resida el almacén de datos. \item No guardar las contraseñas en texto plano, en su lugar utilizar algoritmos (con la suficiente fortaleza contra ataques) de una sola vía para transformar las claves que ingrese el usuario. \item Implementar políticas y protocolos de creación y asignación de claves tales como: vinculación a dos o más correos electrónicos; prueba de fortaleza de contraseñas; monitorear los accesos de los usuarios por lugar, frecuencia; operaciones entre otras. \item Realizar auditorias periódicas a todo el proceso de gestión de claves. \end{itemize} Uno de los objetivos que debe tener cualquier sistema de protección es proveer al usuario de instrumentos para mejorar su interacción con los sistemas informáticos, evitándole hacer tareas engorrosas o difíciles, sin que esta prerrogativa desmejore significativamente los niveles de seguridad. En este sentido, actualmente están disponibles varias tecnologías vinculadas con la gestión de contraseñas, que generalmente son implementadas por todos los navegadores para la Internet, entre ellas están: \begin{itemize} \item \textit{\textbf{Cookies}}: también denominadas galletas informáticas, son pequeñas porciones de información sobre los datos de acceso a una aplicación (sesión) . \item \textit{\textbf{Listas de claves}}: Es una lista donde se encuentran asociadas las claves y nombres de usuarios con los sitios que se visitan en la Internet. Cuando el usuario visita un sitio web que se encuentra en la lista, el navegador ingresa automáticamente el nombre de usuario y su clave en el formulario. \item \textit{\textbf{Sistemas centralizados o locales de gestión de claves}}: son aplicaciones en la web o de uso local (computadora,tableta o teléfono móvil) para gestionar las claves de todos los sistemas al que los usuarios acceden desde sus dispositivos electrónicos. \end{itemize} Por otra parte, para que una contraseña sea resistente a ataques de fuerza bruta, debe contar con varias propiedades como las descritas más adelante. Muchos sistemas verifican las claves antes de que sean asignadas, pero no pueden asegurar de forma completa que la contraseña es inviolable dado que mucho de la responsabilidad de uso reside en el propietario de la clave: el usuario. Generalmente para que una contraseña sea considerada fuerte, debe tener por lo menos las siguientes propiedades: \begin{itemize} \item Ser lo suficiente larga. Hoy en día, se considera ocho (8) caracteres la extensión mínima de una contraseña para la mayoría de los sistemas informáticos, este número puede disminuir si se acompaña con el uso de una tarjeta o elemento físico seguro (\textit{token}). \item No ser una palabra contenida en diccionarios. \item Estar compuesta por letras minúsculas, mayúsculas y caracteres especiales. \end{itemize} Muchos sistemas informáticos cuentan entre sus políticas el cambio periódico de claves por parte de los usuarios, con respecto a ello Schneier en \cite{SCHNEIER:14} considera que la política citada puede ser contraproducente y no se recomienda, debido a que si ya se cuenta con una contraseña fuerte no existe la necesidad de cambiarla. Se estima que las contraseñas como método de control de acceso seguirán siendo el método más popular varios años más, por lo tanto se hace necesario prestar atención en los aspectos de gestión organizacional y técnica de este tipo de herramienta, para lograr conectar de manera eficiente las políticas con las aplicaciones y con las personas, tomando en cuenta que no se debe disminuir demasiado la ergonomía en pro de la seguridad.