\subsection{Contraseñas}
\label{cap1:contrasenas}

Una contraseña es una palabra 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 hardware dedicado tal como un cajero automático de banco, o un mecanismo de control para el  acceso a un lugar físico. 


Las contraseñas son quizás, el método más utilizado para identificar a personas  en el mundo digital. El acceso al correo electrónico, 
a una sesión en una computadora, al sitio de un banco en internet, la acción para desbloquear un teléfono móvil, así como actividades  que hacemos 
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 elementos de información vinculados
con la clave, y 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.

Generalmente los almacenes de datos para los esquemas de contraseñas se
construyen usando archivos de texto (por ejemplo, el usado por los sistemas Linux o Unix que es un 
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}}: 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 usuarios 
con los sitios que se visitan en la Internet. Cuando el usuario visita un sitio 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 ingresan desde sus dispositivos digitales.
\end{itemize}


Por otro parte, para que una contraseña sea resistente a ataques de fuerza bruta, debe contar con varias propiedades. 
Muchos sistemas validan 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 de 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.

Las contraseñas como método de control de acceso seguirá siendo por lo menos por unos cuantos 
años más el método más popular, por lo tanto se hace necesario prestar atención en los aspectos 
de gestión organizacional y técnica de este tipo de herramienta, logrando conectar de manera 
eficiente las políticas con las aplicaciones y con las personas, tomando en cuenta que no se 
debe disminuir la ergonomía significativamente en pro de la seguridad. 








