Questionnement sur la sécurité d’une API web.

Je travaille en ce moment sur un projet d’application qui doit être disponible sur iOS, Android et Windows Phone.

Les applications mobiles communiqueront avec un serveur par l’intermédiaire d’une API REST codé en Node.js ou PHP (j’hésite encore pour l’instant). Au niveau des fonctionnalités tout va bien pour le moment, je me débrouille. Là où je me pose des questions c’est sur la sécurité : après de longs moments de réflexion je ne parviens toujours pas à trouver une solution vraiment sécurisante.

Jusqu’à maintenant lorsque je développais des API c’était pour des projets non destinés à être rendus publics, les API ne servaient principalement qu’à fournir les data. Maintenant que je pose la question de la sécurité sur la table, je bloque.

Avez-vous des idées à partager ? Quelles sont les méthodes que vous utilisez dans vos projets pour sécuriser les communications entre client et serveur ? Vous utilisez des tokens (éphémères ? Définitifs ?) ? Du cryptage ? Merci d’avance pour vos réponses en commentaires !