warning usuario tipo raw_input password may libreria getpass encrypt echoed contraseña python security python-3.x passwords credentials

tipo - ¿Cómo almacenar la contraseña del usuario para el servicio de un tercero en Python?



usuario y contraseña en python (1)

esto no necesariamente implica una respuesta específica de Python, pero eso es lo que estoy usando, Python 3.2 para ser exacto. También estoy desarrollando bajo Linux.

Tengo un script que se conecta a un sitio web, inicia sesión y obtiene información para el usuario. ¿Cómo almaceno las credenciales del usuario de forma segura? ¿O cuál es la mejor práctica? El cifrado parece una tontería ya que las credenciales encriptadas y la clave de encriptación estarían en el mismo lugar. Lo único que se me ocurre es almacenar en un archivo que tiene acceso de lectura restringido, pero parece que no he hecho lo suficiente. Sin embargo, es más o menos lo que se describió en este Cómo almacenar las credenciales para servicios de terceros en la respuesta de Rails .

Solo quiero hacer mi mejor esfuerzo para tratar la seguridad del usuario con respeto.


Es posible que desee almacenarlo en la memoria y hacer que lo escriban una vez cada vez que inicien el programa (también implicaría convertirlo en un programa y no solo en un script, a menos que el script nunca muera). Esto también está sujeto a algunos ataques, sin embargo.

Si tiene acceso al sitio web del que está recuperando la información, es posible que desee configurar cuentas secundarias de privilegio limitado (solo lectura) para que, incluso si la contraseña se vea comprometida, no sea tan importante (suponiendo que los datos mismos no es demasiado sensible). Es por eso que no uso mint.com, pero lo haría si trabajaran con los bancos para implementar esta funcionalidad.