Situación
Con el tiempo, debo elegir y usar muchas contraseñas en diferentes entornos. Algunos en mi computadora, donde podría elegir usar un administrador de contraseñas, pero muchos en sistemas cliente donde es posible que ni siquiera tenga acceso en línea y definitivamente no puedo conectar un dispositivo de almacenamiento. A veces uno ni siquiera puede traer recursos auxiliares como un teléfono.
Pregunta
Suponiendo que no quiero usar un administrador de contraseñas y tengo que seleccionar y usar las contraseñas manualmente, ¿cuál sería un buen sistema para esto?
Idealmente, el sistema debería cumplir con las siguientes restricciones:
Restricciones del sistema
- Debería darme una contraseña para (casi) cualquier combinación de restricciones de contraseña (ver más abajo)
- Sería comparativamente fácil de recordar / recrear si conozco la configuración (¿y la fecha ?!) y sus restricciones
- Debería estar seguro contra alguien que conoce el sistema (pero no los parámetros de entrada)
- Debería estar seguro después de usar el sistema en un entorno inseguro y la contraseña utilizada allí puede perder. No me preocupa que alguien sepa más de 1 contraseña filtrada.
- Bonificación: sería bueno si estuviera seguro contra alguien que conoce una contraseña antigua.
Ejemplo de restricciones de contraseña
Restricciones típicas en la elección de una contraseña (por supuesto, varían según el sistema):
- Entre los caracteres mínimo y máximo
- Sin símbolos / al menos n símbolos de un conjunto limitado
- Al menos algunas letras de cada caso
- La contraseña debe cambiarse periódicamente y no coincide con nada de los últimos M períodos
No me preocupan solo las contraseñas numéricas
¿Qué he probado?
Intenté crear sistemas, pero no he encontrado nada que cumpla con todas las restricciones del sistema (o es lo suficientemente bueno en general).
Ejemplo 1: primer ajuste más pequeño
Solo para mostrar cómo podría ser un sistema, mencionaré este ejemplo ridículo.
- Sigue agregando la letra a, hasta que se cumpla el conteo mínimo de caracteres, por ejemplo aaaaaa
- Cambia recursivamente un carácter hasta que se cumplan las restricciones, podrías terminar con aaaaA1
Este sistema generará una contraseña que siempre puede cumplir los requisitos. Por supuesto, su fuerza puede ser horrible si no comienzas con una cadena aleatoria. Así que este sistema fallaría la restricción 2 o 3 del sistema.
Ejemplo 2: comienza con el núcleo
Siento que este no es un sistema sólido, pero creo que se usa en la práctica.
- Elija un núcleo (con suerte fuerte), por ejemplo: securitystackexchange
- Ajústelo para que coincida con los requisitos, por ejemplo: Securitystackexchange01
Si tiene un núcleo largo, normalmente puede llevar a contraseñas débiles cuando el máximo de caracteres está limitado. Por ejemplo Security01. Además, este sistema no cumple con la restricción del sistema 4.
Ejemplo 3: elija caracteres aleatorios dentro de los requisitos
- Elija caracteres aleatorios dentro de los requisitos
Uno no puede recordar muchos de estos, así que esto no califica como algo que puedo usar manualmente y diría que falla la restricción 2 del sistema.
Actualización sobre los administradores de contraseñas
No me preocupa la calidad de los administradores de contraseñas, y entiendo que su uso haría que esta pregunta fuera trivial. Sin embargo, estoy buscando una respuesta que no las requiera, ya que es posible que no pueda usarlas en cualquier lugar. Por ejemplo, cuando no se le permite acceder a Internet, instalar programas o traer su propio dispositivo.