Je viens de réaliser que les attaques SSL man-in-the-middle sont beaucoup plus courantes que je ne le pensais, en particulier dans les environnements d'entreprise. J'ai entendu parler et je me suis vu plusieurs entreprises qui ont un serveur proxy SSL transparent en place. Tous les clients sont configurés pour faire confiance au certificat de ce proxy. Cela signifie essentiellement que l'employeur peut théoriquement intercepter même le trafic crypté SSL sans qu'aucun avertissement n'apparaisse dans le navigateur. Comme mentionné ci-dessus, les clients sont livrés avec le certificat de confiance. Cela ne peut être révélé qu'en validant manuellement le certificat utilisé.
Pour moi, il semble que l'employeur utilise sa position supérieure pour espionner le trafic SSL de l'employé. Pour moi, cela rend le concept de SSL indigne de confiance. J'ai moi-même testé avec succès une configuration similaire à l'aide de mitmproxy et j'ai pu lire la communication entre le client et mon serveur de banque électronique. Ce sont des informations qui ne doivent être révélées à personne.
Ainsi, ma question est plutôt simple: comment puis-je valider la chaîne de confiance côté serveur? Je veux m'assurer que le client utilise le certificat de mon serveur et une seule chaîne de confiance. Je me demande si cela peut être réalisé par la configuration SSL d'Apache? Cela serait pratique car il pourrait être facilement appliqué à de nombreuses applications. Si ce n'est pas possible, quelqu'un connaît-il un moyen de le faire en PHP? Ou avez-vous d'autres suggestions?