\subsubsection{Contraseñas}

Una contraseña es una palabra secreta que se utiliza en conjunto 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 a 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 la computadora 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 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/passwd} o \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 un nivel alto 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 cambio utilizar algoritmos (con la suficiente fortaleza a 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 correo electrónico; 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}

El uso de los instrumentos como sesiones, \textit{cookies}, recordación de claves,   facilitan al usuario la interacción con el sistema informático, pero se deben revisar todos los puntos débiles  vinculados a la seguridad de tal forma de no facilitar el acceso por atacantes que utilicen estos elementos como métodos de acceso.


