\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{galletas informáticas}}: también denominadas ``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 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{ficha} o \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.








