J'expose quelques méthodes REST sur un serveur pour une application mobile.
Je voudrais éviter que les utilisateurs puissent flairer la façon dont les méthodes HTTP sont construites (à partir de l'application mobile), puis les renvoyer au serveur. Exemple :
- L'application mobile envoie une demande
- L'utilisateur utilise un proxy et peut vérifier ce qui se passe sur le réseau
- L'utilisateur voit et enregistre la demande que le mobile vient d'envoyer
- => Maintenant, je ne veux pas que l'utilisateur puisse envoyer manuellement cette demande
Est-ce suffisant pour sécuriser le serveur via HTTPS?
HTTPS signifie simplement que les données transportées sont cryptées afin que seuls le client et le serveur puissent les décrypter (dans un monde idéal, sans parler des attaques MITM, etc.).
En tant que tel, rien dans le protocole n'empêchera les attaques de rejeu de se produire.
Vous devrez créer une sorte de mécanisme d'évitement d'attaque de relecture (quelque chose comme des jetons expirants ou des jetons qui invalident une fois le processus terminé) pour vous assurer que votre application n'est pas vulnérable aux attaques de relecture. Ce mécanisme peut être utilisé avec HTTP normal.
la source