Utiliser le protocole SSL

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2003 (Modifiée)


Le serveur Web 4D peut communiquer en mode sécurisé via le protocole SSL (Secured Socket Layer).

Qu'est-ce que le protocole SSL ?


Le protocole SSL a pour but de sécuriser les communications entre deux applications — généralement un serveur Web et un navigateur. Ce protocole est largement répandu et compatible avec la plupart des navigateurs Web.

Au niveau de l'architecture réseau, le protocole SSL s'insère entre la couche TCP/IP (bas niveau) et le protocole de haut niveau HTTP, pour lequel il est principalement destiné.

Architecture réseau utilisant SSL :

Note : Le protocole SSL peut également être utilisé pour sécuriser les connexions client/serveur "classiques" de 4D Server. Pour plus d'informations, reportez-vous à la section Crypter les connexions client/serveur dans le manuel de référence de 4D Server.

Le protocole SSL permet de garantir l'identité de l'émetteur et du récepteur, ainsi que la confidentialité et l'intégrité des informations échangées :

Identification des intervenants : l'identité de l'émetteur et du récepteur sont confirmées.

Confidentialité des informations échangées : les données envoyées sont cryptées afin de les rendre inintelligibles pour les tiers non autorisés.

Intégrité des informations échangées : les données reçues n'ont pas été altérées, frauduleusement ou accidentellement.

Les principes de sécurisation utilisés par SSL sont basés sur l'emploi d'un algorithme de cryptage utilisant une paire de clés : une clé privée et une clé publique.

La clé privée est utilisée pour crypter les données. Elle est conservée par l'émetteur (le site Web). La clé publique est utilisée pour décrypter les données. Elle est diffusée auprès des récepteurs (les navigateurs Web), via le certificat. L'emploi du SSL dans le cadre d'Internet requiert en effet l'entremise d'un opérateur de certification tel que, par exemple, Verisign®. Moyennant une participation financière du site Web demandeur, cet organisme délivre un certificat, garantissant l'identité du serveur et contenant la clé publique permettant la communication en mode sécurisé.

Note : Pour plus d'informations sur les principes généraux de cryptage et d'emploi de clés publiques/clés privées, reportez-vous à la description de la commande CRYPTER BLOB.

Obtenir un certificat SSL

La mise en place d'un serveur Web 4D fonctionnant en SSL nécessite un certificat numérique délivré par un opérateur de certification. Ce certificat renferme diverses informations dont la carte d'identité du site ainsi que la clé publique utilisée pour communiquer avec lui. Il est transmis aux navigateurs Web se connectant au site. Une fois qu'il est accepté, la communication en mode sécurisé s'établit.

Note : Pour qu'un navigateur accepte les certificats d'une autorité de certification, celle-ci doit être répertoriée dans ses Propriétés.

Le choix de l'autorité de certification dépend de plusieurs facteurs. Plus l'autorité est "connue", plus le nombre de navigateurs acceptant les certificats qu'elle délivre sera important, mais plus le prix à payer sera élevé. Verisign® est une des autorités de certifications les plus utilisées.

Pour obtenir un certificat SSL :

1. Générez une "clé privée" à l'aide de la commande GENERER CLES CRYPTAGE.

Attention : Pour des raisons de sécurité, la clé privée ne doit JAMAIS être diffusée sur un réseau. En fait, elle ne doit pas quitter le poste serveur Web. Le fichier Key.pem doit être placé dans le dossier de la structure de la base.

2. Etablissez une demande de certificat à l'aide de la commande GENERER DEMANDE CERTIFICAT.

3. Envoyez la demande de certificat à l'autorité de certification que vous avez choisie.

Pour remplir la demande de certificat, il vous sera peut-être nécessaire de contacter l'autorité de certification. Les autorités de certification vérifient la réalité des informations qui leur ont été transmises.

La demande de certificat est générée dans un BLOB encrypté au format PKCS. Ce format autorise le copier-coller des clés sous forme de texte et leur envoi par E-mail en toute sécurité, sans risque d'altération de leur contenu. Vous pouvez donc par exemple sauvegarder le BLOB contenant la demande de certificat dans un document texte (à l'aide de BLOB VERS DOCUMENT), puis l'ouvrir et copier-coller son contenu dans un E-mail ou un formulaire Web destiné à l'autorité de certification.

4. Une fois que vous avez reçu votre certificat, créez un fichier texte que vous nommerez "Cert.pem" et copiez dans ce fichier le contenu du certificat.

Vous pouvez recevoir votre certificat sous plusieurs formes (généralement via un E-mail ou un formulaire HTML). Le serveur Web 4D accepte la plupart des formats de texte (Mac OS, PC, Linux...) pour les certificats. En revanche, le certificat doit être au format PKCS.

5. Placez le fichier "cert.pem" dans le dossier contenant la structure de la base.

Le serveur Web peut dès lors fonctionner en mode SSL. La durée de validité d'un certificat varie généralement entre six mois et un an.

Installation et activation du SSL dans 4D


Pour que vous puissiez utiliser le protocole SSL avec le serveur Web de 4D, plusieurs éléments doivent être présents sur le serveur, à différents emplacements :

4DSLI.DLL : interface de la couche sécurisée (Secured Layer Interface) dédiée à la gestion du SSL.

Ce fichier doit se trouver dans le dossier [4D Extensions] de l'application 4D qui publie la base sur le Web.

key.pem : document contenant la clé de cryptage privée.

- avec 4e Dimension ou 4D Server, ce fichier doit se trouver dans le dossier de la base.

- avec 4D Client, ce fichier doit se trouver dans le dossier de l'application 4D Client.

cert.pem : document contenant le certificat.

- avec 4e Dimension ou 4D Server, ce fichier doit se trouver dans le dossier de la base.

- avec 4D Client, ce fichier doit se trouver dans le dossier de l'application 4D Client.

Emplacement des fichiers nécessaires au fonctionnement de SSL avec le serveur Web 4D (4e Dimension et 4D Server) :

Emplacement des fichiers nécessaires au fonctionnement de SSL avec le serveur Web 4D (4D Client) :

Note : La présence du composant 4DSLI.DLL est également nécessaire pour l'utilisation des commandes de cryptage des données CRYPTER BLOB et DECRYPTER BLOB.

L'installation de ces éléments rend possible l'utilisation du SSL dans les connexions au serveur Web 4D. Toutefois, pour que les connexions SSL soient acceptées par le serveur Web 4D, vous devez "activer" SSL. Ce paramètre est accessible dans la page Configuration, thème Web des Préférences :

Par défaut, les connexions SSL sont autorisées. Vous pouvez désélectionner cette option si vous ne souhaitez pas exploiter les fonctionnalités SSL avec votre serveur Web, ou si un autre serveur Web autorisant les connexions sécurisées fonctionne sur le même poste.

Le port TCP utilisé pour les connexions SSL est par défaut le 443. Ce numéro de port peut être modifié dans la zone Numéro de port HTTPS afin, par exemple, de renforcer la sécurité du serveur Web (pour plus d'informations sur ce point, reportez-vous à la section Paramétrages du serveur Web). Le port TCP défini dans cette page de Préférences est utilisé pour les connexions du serveur Web en mode standard.

Note : Les autres Préférences de gestion du serveur Web 4D (mots de passe, délai avant déconnexion, taille du cache, etc.) restent appliquées, que le serveur fonctionne en mode SSL ou non.

Connexion des navigateurs en SSL


Pour qu'une connexion Web s'effectue en mode sécurisé, il suffit simplement que l'URL envoyé par le navigateur débute par "https" (au lieu de "http").

Dans ce cas, une boîte de dialogue d'alerte apparaît sur le navigateur. Une fois la boîte de dialogue validée, le certificat est envoyé au navigateur par le serveur Web.

Les deux parties "négocient" alors l'algorithme de cryptage qui va être utilisé pour la connexion.

Le serveur Web 4D dispose de plusieurs algorithmes de cryptage symétriques (RC2, RC4, DES...). L'algorithme commun le plus puissant est utilisé.

Attention : Le niveau de cryptage autorisé est soumis à la législation en vigueur dans le pays d'utilisation. Les niveaux de cryptage proposés par le serveur Web 4D dépendent de la version de la bibliothèque système de cryptage utilisée. Par défaut, 4D SA fournit une version "Export" de la bibliothèque, dont les algorithmes symétriques sont limités à 40 bits.

Contrôle du mode de connexion

L'utilisation de SSL dans le serveur Web 4D ne nécessite pas de configuration système particulière. Toutefois, vous devez tenir compte du fait qu'un serveur Web SSL peut également fonctionner en mode non sécurisé. Le changement de mode de connexion peut s'effectuer si le navigateur en fait la demande (il suffit à l'utilisateur, dans la zone d'URL du navigateur, de remplacer "HTTPS" par "HTTP"). Il revient au développeur d'interdire ou de rediriger les requêtes effectuées en mode non sécurisé — la routine Connexion Web securisee permet de connaître le mode de connexion courant.

Référence

Connexion Web securisee, CRYPTER BLOB, DECRYPTER BLOB, GENERER CLES CRYPTAGE, GENERER DEMANDE CERTIFICAT, Paramétrages du serveur Web.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant