2011-11-01 3 views
0

Im construire ma propre application Android, mais im un peu coincé à la partie de connexion. Maintenant, je sais comment je peux envoyer mon nom d'utilisateur & mot de passe tout comme le texte en clair via SSL à ma propre API, cependant, ce n'est pas la solution la plus sûre. Je me demandais si certains d'entre vous avaient des suggestions à essayer (avec un oeil sur la sécurité), l'application est encore en développement (le développement vient de commencer) donc tout peut être changé ou mis en œuvre (même pour API).La meilleure façon d'envoyer des informations de connexion - Application Android

Cordialement

Répondre

2

Si votre serveur a un vrai certificat, c'est sécurisé parce que SSL est cryptant.

Vous devez mettre à jour le processus d'authentification pour ralentir les attaques par force brute (ie lock-out après 5 mauvaises connexions)

+0

super, merci. – xorinzor

+2

En outre, NE JAMAIS stocker les mots de passe en texte brut. Toujours stocker un mot de passe crypté. Avoir le mot de passe crypté localement et ensuite envoyer le mot de passe crypté à votre API où vous pouvez comparer les deux. – MrZander

1

Selon la communication client-serveur, vous pouvez mettre en place un défi-réponse où le serveur émet une valeur de sel qui est ajoutée au mot de passe saisi par l'utilisateur avant le hachage.

Exemple:

  • utilisateur crée compte avec le nom d'utilisateur "BobbyUser" avec mot de passe "CleverBobby"

Connexion Opération

  • utilisateur se connecte au serveur et demande au sel pour "BobbyUser"
  • Le serveur retourne le sel « QBX123 »
  • utilisateur envoie hash_function("QBX123" + "CleverBobby")

Cette approche est vraiment pas utile à moins que vous cryptez vos mots de passe avec une clé symétrique au lieu d'un hachage 1 façon (ce qui aura ses propres problèmes), de cette façon la la valeur de sel n'a pas besoin d'être stockée et peut être générée à la volée, sinon elle est également susceptible de rejouer des attaques, tout simplement plus difficile à lire.

Cela dit, la réponse de l_39217_l est correcte, plus facile et probablement plus sûre.

+0

Je suis d'accord avec la réponse de l_39217_l, merci pour votre avis, peut-être dans le futur ça va aider;) – xorinzor

Questions connexes