Je sais que la règle n'invente pas votre propre crypto / protocole, c'est pourquoi je veux savoir s'il existe un protocole connu pour un client se sécurisant?
Le le problème que vous rencontrez dans l'espace d'ingénierie de sécurité est connu sous le nom de modèle "Greedy Password" . Chaque site Web que vous visitez pense que c'est le seul site sur l'ensemble du Web et pense qu'il est acceptable de vous demander de gérer / mémoriser des mots de passe complexes. Voir également Engineering Security de Peter Gutmann.
Vous pouvez faire comme @ MechMK1 le suggère et utiliser Password Manager. Le problème est que cela déplace simplement le problème de mot de passe et le rend un peu plus facile à gérer. Vous devez toujours utiliser un vrai mot de passe à un moment donné. Dans un cadre de gestion des risques, vous avez réduit le risque mais pas éliminé.
Vous devez utiliser des mots de passe jetables pour chaque compte non critique. J'utilise personnellement Strong Random Password Generator pour générer des mots de passe aléatoires de 32 octets pour chaque site gourmand. Humoureusement - d'une manière morbide - certains sites ne peuvent pas gérer les mots de passe aléatoires longs ou complexes. Certains sites vous obligent à fournir un mot de passe plus faible.
Une fois que vous vous connectez à un site, ils vous donnent un jeton (cookie) pour le site, vous n'avez plus besoin du mot de passe. Si vous avez besoin de ressaisir le mot de passe, laissez le navigateur le saisir à partir du magasin d'informations d'identification.
Si le mot de passe n'est pas dans le magasin d'informations d'identification, alors passez simplement par le processus "Password Recover Password". Le site vous enverra un e-mail et vous pourrez utiliser le processus pour définir un autre mot de passe jetable. Je l'utilise tout le temps pour les cookies expirés.
Le lien envoyé dans l'e-mail du processus de récupération est appelé "URL d'authentification" . Je pense que Python utilise un package similaire pour authentifier. Voir également Engineering Security de Peter Gutmann.
Plusieurs comptes seront suffisamment importants pour que vous ayez besoin d'un vrai mot de passe. Par exemple, votre mot de passe d'entreprise et le mot de passe de votre compte de messagerie {Gmail | Yahoo | Hotmail | Apple | Microsoft | etc}. Pour eux, utilisez un mot de passe fort et notez-le pour qu'il ne soit ni perdu ni oublié. Ensuite, mettez le mot de passe dans votre portefeuille ou votre sac à main. Mieux encore, configurez 2FA pour les comptes critiques afin que l'attaquant ait besoin à la fois de votre mot de passe + OTP / token.
Certains services, comme Spotify, envisagent de supprimer les mots de passe tous ensemble. Ils adaptent le «processus de récupération de mot de passe» pour l'authentification. Lorsque vous souhaitez vous connecter, vous entrez votre adresse e-mail et ils vous envoient un lien pour un jeton. Vous n'avez plus besoin d'un mot de passe - vous avez juste besoin d'un compte de messagerie.
La menace numéro un est l'attaquant du réseau, et ils n'ont pas réussi à atteindre via votre moniteur et à lire vos post-it. S'ils pénètrent dans votre gestionnaire de mots de passe ou dans la banque d'informations d'identification de votre navigateur, laissez-les collecter autant de mots de passe jetables qu'ils le souhaitent.
Je cherche ce que je peux faire avec mon mot de passe avant l'envoyer au serveur ... je pensais envoyer du hash (mot de passe + service) aux serveurs
Si vous aimez faire ce genre de choses (analyse de risque, modélisation d'attaques, etc. ), alors vous devriez lire Engineering Security de Peter Gutmann. Sa thèse de doctorat a étudié la sécurité et le comportement des utilisateurs. Son livre est un traitement pour construire des systèmes plus sûrs et plus sécurisés.