Buenas tardes, en este cuarto capítulo de la serie Arquitectura de Sistemas Seguros para Aplicaciones Web en Salud Digital iniciaré con la explicación de 5 principios para la Administración Segura de Credenciales. En esta primera se aplicarán estos principios a la administración de credenciales personales, mientras que en la siguiente se hará a las credenciales empleadas por aplicaciones web.
No sólo como individuos sino que más aún como creadores de Aplicaciones en Salud Digital tenemos la responsabilidad de administrar de forma segura las credenciales que poseemos, dado que en tal situación la información personal de nuestros pacientes depende de la rigurosidad de nuestros hábitos.
Principios
Los siguientes 5 principios son esenciales para alcanzar una administración segura de credenciales
1. Principio del menor privilegio
Este principio especifica que los permisos que posee un usuario a través de sus credenciales deben permitir acceso a y uso de sólo aquellas funcionalidades que requiere para realizar sus tareas. Por ejemplo, las credenciales de un usuario desarrollador no debería poseer por defecto permisos que permitan acceso a los datos de pacientes reales.
Aplicado a la administración de Credenciales Personales implica que la misma contraseña no debería ser reutilizadas para distintos servicios, dado que ello implicaría que los roles asociados a cada uno de esos servicios poseerán permisos que no corresponden a sus funciones destinadas. Esta práctica permite evitar que cuando una contraseña se vea vulnerada puedan ser aplicadas medidas más eficaces para reducir pérdidas e identificar la causa de los problemas.
2. Principio de defensa en profundidad
El principio de defensa en profundidad especifica que deben establecerse mecanismos de defensa independientes, idealmente en todas las dimensiones relevantes. Por ejemplo, en el caso de no querer olvidar un evento importante no solo lo anoto en mi calendario, sino que también escribo su nombre y fecha en un archivo de texto empleado frecuentemente para redactar mensajes.
En el caso de Credenciales Personales, este principio incentiva usar de códigos de segundo factor de manera que, en caso de que las contraseñas se vean vulneradas de todos modos no se pueda acceder a los servicios asociados. También cuando sea factible y eficientemente realizable (idealmente de manera automática mediante un administrador de contraseñas), que nuestras contraseñas sean cambiadas regularmente con un mínimo de cada 3 meses.
3. Principio de Fallar de Manera Segura
Este principio dicta que se debe establecer mecanismos de mitigación del daño para cuando las barreras establecidas dejen de funcionar. Por ejemplo, en caso de que ocurra fraude bancario podemos contratar un seguro que cubra las pérdidas.
En el caso de Credenciales Personales, este principio promueve el uso de cuentas de recuperación (las que deberían tener un nivel de seguridad igual o mayor al de la cuenta original) y contratar seguros contra pérdidas en caso de que corresponda.
4. Principio de Diseño Abierto
El principio de Diseño Abierto especifica que los mecanismos de seguridad implementados deben estar bien documentados y poder ser verificados. Por ejemplo, en la encriptación de mensajes privados se debería emplear software que emplee algoritmos de encriptación estandarizados y bien documentados.
Una variante de este principio es el de evitar Seguridad por Oscuridad, el que rechaza el uso de mecanismos poco conocidos y de ocultar no solo las credenciales en sí mismas, sino que también los mecanismos de seguridad empleados. Este rechazo se funda en que los hackers han demostrado repetidas veces ser quienes mejor conocen los mecanismos empleados.
En el caso de Credenciales Personales, se incentiva usar aplicaciones de administración de contraseñas con documentación accesible y que sean ampliamente empleadas. De este modo previene tanto el olvido de dónde (y por lo tanto también cómo) estamos guardando cada una de nuestras credenciales, como también el uso de un sistema poco conocido y potencialmente inseguro.
5. Principio de minimizar la Superficie de Ataque
Este principio especifica que lo que se ha de proteger posea debe disponibilizar la menor cantidad de accesos posibles, de manera que las medidas de seguridad estén menos distribuidas y requieran un menor esfuerzo de mantención y supervisión. Por ejemplo, una casa con una puerta trasera requiere el doble de costos y medidas de seguridad para monitorear por posibles intrusos.
Con respecto a la administración de Credenciales Personales, promueve almacenar las contraseñas en un solo lugar que posea la mayor cantidad de medidas de seguridad posibles.
Administradores de contraseñas
Existen 2 administradores de contraseñas con una capa gratuita lo suficientemente completa para poder emplearlo diariamente de forma segura. Estos son Bitwarden y Lastpass. Ambos permiten
- Almacenamiento ilimitado de credenciales
- Compartir cada credencial con un máximo de 1 persona
- Generador de contraseñas seguras
- Autocompletar contraseñas en cualquier browser
- Autenticación de 2 pasos
Bitwarden posee el beneficio adicional de permitir en su versión gratuita la sincronización automática entre varios dispositivos mientras que Lastpass solo permite su uso en un único dispositivo.
Por su parte, Lastpass posee lo que algunos consideran un beneficio y es que permite la recuperación de su contraseña maestra mediante distintos medios multifactor (en gran parte seguros) mientras que Bitwarden no entrega ningún tipo de recordatorio ni posibilidad de recuperación.
→ Link al Capítulo anterior
→ Link al Capítulo siguiente
Referencias
-
7 Principios de seguridad: 7 Application Security Principles You Need to Know | Cprime Blogs
-
8 Security design principles: https://www.cs.clemson.edu/course/cpsc420/material/Design%20Principles/Design%20Principles.pdf
-
13 Fundamental Security Design Principles: What Fundamental Security Design Principles? - Binary Terms
-
Principio del mínimo privilegio: Principio del menor privilegio: la estrategia de limitar el acceso a lo que es imprescindible | WeLiveSecurity
-
¿Qué es la defensa en profundidad? Defensa en profundidad y su relación con la seguridad por capas
-
Principio de Fallar de Manera Segura: https://launchdarkly.com/blog/if-youre-going-to-fail-fail-safely/
-
Principio de Diseño Abierto: https://www.coursera.org/lecture/secure-coding-principles/principle-of-open-design-FQFqL
-
Principio de menor superficie de ataque: What is an attack surface – Reducing it and what it is | Avast
-
Características Bitwarden: About Bitwarden Plans | Bitwarden Help & Support
-
Características Lastpass: Precios por plan | LastPass