J'ai besoin de mon client Flash pour communiquer en toute sécurité avec un serveur (via des sockets binaires). Pour cela, je pensais à intégrer une clé pré-partagée dans le code AS3 et à échanger des données XOR via un protocole personnalisé.Protection du code Flash AS3 + communication sécurisée avec le serveur
On me dit que les décompilateurs SWF font un bon travail pour rendre tout le code intégré clairement visible et lisible. Est-ce que cela signifie que je ne peux pas vraiment cacher ma clé?
Si cette méthode n'est pas pratique, quelles sont les autres options? J'ai essayé as3crypto, seulement pour constater qu'il est plein de lacunes et manque de documentation sérieuse.
Je crois que le mieux que vous allez obtenir est d'utiliser SSL comme un protocole sécurisé pour la transmission des données. Notez que cela n'empêche pas un utilisateur de configurer un proxy qui accepte votre certificat puis d'en émettre un autre au client afin de décoder la transmission, donc ce n'est pas non plus une preuve complète, mais c'est la solution la plus sûre pour le client/serveur communication qui entravera au moins la capacité de pirater le système. C'est-à-dire que vos communications avec les utilisateurs finaux/serveurs seront protégées des étrangers, mais ne vous protègeront pas de vos utilisateurs finaux. – shaunhusain
Comme la réponse ci-dessous échappe à un homme au milieu de la capture de la communication entre le client et le serveur permettra finalement à quelqu'un d'écrire un client qui génère le même type de communication que ce qui est vu lors de la surveillance. Regardez comment le Kinect a été piraté comme exemple, le protocole n'a pas été publié et les signaux pour démarrer le flux de données, mais un dongle USB et un vidage de données plus tard, et vous avez des gars au Brésil pour l'ingénierie inverse des données diffuser en moins de 24 heures. Un autre exemple Cain and Able ici http://www.youtube.com/watch?v=ZNApxghIQLw – shaunhusain
Dans l'ensemble, le serveur ne devrait jamais faire confiance à la communication qui lui vient de l'extérieur entièrement. La seule chose que vous pouvez vraiment sécuriser est le code qui s'exécute sur le serveur et la meilleure façon de le sécuriser est que le serveur soit physiquement sécurisé et qu'il ne soit pas connecté à des réseaux inutiles. Bonne chance ... bonne question, juste pas de bonne réponse. – shaunhusain