Question

Je suis en train d'écrire une petite application similaire à Omegle. J'ai un serveur http écrit en Java et un client qui est un document html. Le principal moyen de communication est par les demandes http (longue interrogation).

Je l'ai mis en place une sorte de sécurité en utilisant le protocole https et j'ai un securityId pour chaque client qui se connecte au serveur. Lorsque le client se connecte, le serveur lui donne un securityId que le client doit toujours renvoyer quand il veut une demande.

Je suis peur de l'homme dans l'attaque moyenne ici, avez-vous des suggestions comment je pourrais protéger l'application d'une telle attaque.

Notez que cette application est construite à des fins théoriques, il ne sera pas jamais utilisé pour des raisons pratiques pour que vos solutions ne doivent pas nécessairement être pratique.

Était-ce utile?

La solution

HTTPS ne non seulement le chiffrement, l'authentification, mais aussi du serveur. Lorsqu'un client se connecte, le montre le serveur, il possède un certificat valide et trustable pour son domaine. Ce certificat ne peut pas simplement être usurpée ou rejoué par un homme en le milieu.

Autres conseils

permet simplement HTTPS ne suffit pas bien parce que le web apporte trop de complications.

Pour une chose, assurez-vous que vous définissez le drapeau sécurisé sur les témoins, ou bien ils peuvent être volés.

Il est aussi une bonne idée de garantir que les utilisateurs accèdent uniquement au site via la saisie https://<yourdomain> dans la barre d'adresse, c'est la seule façon d'assurer une session HTTPS est faite avec un certificat valide. Lorsque vous tapez https://<yourdomain>, le navigateur refusera de vous laisser sur le site à moins que le serveur fournit un certificat valide pour <yourdomain>.

Si vous tapez <yourdomain> sans https: // devant, le navigateur wont soin ce qui se passe. Cela a deux conséquences que je peux penser à du haut de ma tête:

  1. L'attaquant redirige vers un certain domaine unicode avec un nom similaire (par exemple: la même apparence, mais a une chaîne binaire différent et est donc un domaine différent) et l'attaquant fournit un certificat valide pour ce domaine (depuis qu'il est propriétaire), l'utilisateur ne remarquerez probablement cette ...

  2. L'attaquant pourrait imiter le serveur mais sans HTTPS, il ferait sa propre connexion sécurisée au serveur réel et devenir un proxy texte clair entre vous et le serveur, il peut maintenant capturer tout votre trafic et faire tout ce qu'il veut parce qu'il est propriétaire de votre session.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top