SSL (Secure Socket Layer) utilise des mécanismes de chiffrement, d’authentification et de vérification de l’intégrité des messages pour assurer la sécurité des protocoles de niveau applicatif basés sur des connexions fiables telles que TCP. Si la transmission de l’utilisateur ne se fait pas via SSL, alors les données sont transmises en clair sur le réseau, ce qui ouvre des opportunités pour les personnes ayant des intentions cachées. Par conséquent, de nombreux grands sites web disposent désormais d’une fonction SSL activée. De même, dans notre base de données, si le client se connecte au serveur pour obtenir des données au lieu d’utiliser une connexion SSL, ces données peuvent être volées lors de la transmission.
Les principales fonctions fournies par le protocole SSL sont :
1. Confidentialité de la transmission des données : Les données transmises sont chiffrées à l’aide d’un algorithme à clé symétrique. 2. Mécanisme d’authentification : En fonction du certificat, le serveur et le client sont authentifiés à l’aide de méthodes de signature numérique, où l’authentification du client est optionnelle. 3. Vérification de l’intégrité des messages : Des algorithmes MAC sont utilisés pour vérifier l’intégrité des messages lors de la transmission.
Lorsque l’on utilise .NET/C# pour faire fonctionner une base de données MySQL,La valeur par défaut pour SslMode est Préférentielle, si le serveur le supporte, utilisez SSL.
La connexion hyperlientérée est visible.
En utilisant la méthode par défaut, dans le cas d’un grand nombre de concurrents, l’erreur peut être la suivante :
Message anglais : Erreur d’ouverture de connexion. L’authentification de l’hôte '192.168.1.100' pour l’utilisateur 'itsvse' utilisant la méthode 'mysql_native_password' a échoué avec message : La lecture du flux a échoué.
Erreur d’ouverture de connexion. erreur de connexion : Temps d’attente expiré. Le délai d’attente s’est écoulé avant d’obtenir une connexion depuis le pool. Cela a pu se produire parce que toutes les connexions regroupées étaient utilisées et que la taille maximale du pool avait été atteinte.
L’utilisation de SSL garantit la sécurité de la transmission des données, mais réduit également l’efficacité des requêtes et de l’exécution, augmentant ainsi la pression sur la base de données et les programmes. Comme notre base de données est dans un environnement réseau privé, elle est relativement très sécurisée, et il n’y a pas besoin de chiffrement de transmission, ce qui nous permet d’améliorer l’efficacité et les performances sans chiffrement SSL.
Comparaison des performances SSL avant et après (QPS) :La connexion hyperlientérée est visible.
D’après les données de test, on constate qu’après avoir activé SSL, la base de données QPS est réduite en moyenne d’environ 23 %, ce qui affecte relativement les performances. Du point de vue de la mise en œuvre SSL, il est nécessaire de se serrer la main, de chiffrer, de déchiffrer et d’autres opérations lors de l’établissement d’une connexion. Par conséquent, le temps passé se situe essentiellement à l’étape de connexion, ce qui peut entraîner une perte de performance plus importante pour les applications utilisant des liens courts, comme le développement PHP. Cependant, il peut être bien préférable d’utiliser des pools de connexions ou des connexions longues.
Pour améliorer les performances, modifiez la chaîne de connexion comme suit :
(Fin)
|