Precedent Haut Suivant


7.2.5 -  HTTPS/S-HTTP :

7.2.5.A -  HTTPS :

L’acronyme HTTPS désigne l’encapsulation du protocole HTTP au travers du protocole SSL. A ce titre, il bénéficie de la solidité du protocole SSL mais présente l’inconvénient inhérent au protocole SSL et qui oblige à chiffrer l’intégralité des données de la page Web.


7.2.5.B -  S-HTTP :

S-HTTP (Secure HTTP) est un procédé de sécurisation des transactions HTTP reposant sur une amélioration du protocole HTTP mise au point en 1994 par l'EIT (Enterprise Integration Technologies). Il permet de fournir une sécurisation des échanges lors de transactions de commerce électronique en cryptant les messages afin de garantir aux clients la confidentialité des données échangées. Une implémentation de S-HTTP a été développée par la société Terisa Systems afin d'inclure une sécurisation au niveau des serveurs web et des navigateurs.

7.2.5.B.1 -  Fonctionnement :

Contrairement à SSL qui travaille au niveau de la couche de transport, S-HTTP procure une sécurité basée sur des messages au-dessus du protocole HTTP, en marquant individuellement les documents HTML à l'aide de « certificats ». Ainsi, alors que SSL est indépendant de l'application utilisée et chiffre l'intégralité de la communication, S-HTTP est très fortement lié au protocole HTTP et chiffre individuellement chaque message.

Le format S-HTTP est basé sur la syntaxe CMS (Cryptographic Message Syntax) décrite dans la RFC 2630. CMS est une variante du format PKCS#7 utilisé dans le protocole S/MIME (cf. paragraphe 7.2.6 - ). Un message S-HTTP ressemble à un message standard HTTP mais le corps du message est écrit au format CMS.

 

Les messages S-HTTP sont basés sur trois composantes:

-                     le message HTTP ;

-                     un format de messages pour encapsuler et protéger certains messages HTTP ;

-                     une syntaxe de négociation qui permet au client et au serveur de définir la protection souhaitée des données echangées ;

 

Ainsi, pour déchiffrer un message S-HTTP, le destinataire du message analyse les en-têtes du message afin de déterminer le type de méthode qui a été utilisé pour chiffrer le message. Puis, grâce à ses préférences cryptographiques actuelles et précédentes, ainsi que des préférences cryptographiques précédentes de l'expéditeur, il est capable de déchiffrer le message.

7.2.5.B.2 -  Le protocole CMS :

CMS est un protocole fournissant des mécanismes d’encryption et de signature de données. Chaque message CMS possède un type décrivant le mécanisme cryptographique utilisé pour chiffrer les données. Le protocole CMS définit six types de messages :

-                     Les messages basiques (non implémenté) ;

-                     les messages signés :

ð        un message signé contient des données accompagnées d’une ou de plusieurs signatures du contenu. Les implémentations techniques de ce type de message effectuent un hachage du contenu signé par la clé publique de l’émetteur. Ce type de message peut inclure les certificats permettant la vérification des signatures utilisées ainsi que l’adresse de la CRL permettant de vérifier la validité des dits certificats.

-                     les messages chiffrés :

ð        un message chiffré contient des données chiffrées. Les données peuvent être chiffrées à l’aide d’une clé pré partagée ou via un mécanisme clé publique/clé privée.

-                     les messages hachés (non implémenté).

7.2.5.B.3 -  Description du format de message S-HTTP :

A l’inverse du protocole HTTPS, le protocole S-HTTP utilise le même port de communication que le protocole HTTP. De manière à identifier une page S-HTTP, deux balises HTML particulières nommées « Secure » (identifiant le protocole S-HTTP) et « Content-Privacy-Domain » (identifiant l’utilisation du protocole CMS) sont présentes dans les entêtes de pages HTML.


7.2.5.B.4 -  Comparaison S-HTTP / HTTPS :

Il est reconnu qu’en général plus les mécanismes offrant de la sécurité sont proches du niveau applicatif, plus ceux-ci permettent une flexibilité et une efficience importante. Cette flexibilité s’accompagne par contre d’une complexité en général plus importante. Ainsi bien que le protocole S-HTTP présente une adaptation au protocole HTTP beaucoup plus importante, les mécanismes mis en œuvre dans le cadre de ce protocole sont considérablement plus compliqués à mettre en œuvre.

7.2.5.B.4.a -  Flexibilité :

La différence la plus significative entre les deux protocoles réside dans le fait que le protocole S-HTTP est beaucoup plus flexible que le protocole HTTPS. En effet, chaque ressource protégée par les mécanismes S-HTTP peuvent en théorie bénéficier de procédures de chiffrement adaptées à la nature des informations véhiculées. En pratique cette flexibilité est rarement nécessaire et l’adoption de mécanismes basés sur un couple clé privée/clé publique est souvent de mise. Il est à noter cependant que le protocole HTTPS n’offre aucune possibilité de segmentation des moyens de chiffrement au regard des données transportées.

7.2.5.B.4.b -  Non répudiation des données :

Les mécanismes de non répudiation mis en œuvre dans le cadre d’une implémentation du protocole S-HTTP ne peuvent être retrouvés dans une implémentation du protocole HTTPS. En effet, rien ne permet de prouver qu’une requête ou une réponse ont bien été faites par l’émetteur au sein d’une liaison chiffrée via le protocole SSL. A l’inverse, une page S-HTTP contient la signature de l’intégralité du message et il est très facile coté client ou serveur de requérir une trame signée de confirmation.

7.2.5.B.4.c -  Mise en place d’hôtes virtuels :

 Il est relativement difficile de mettre en place des serveurs Web virtuels protégés par HTTPS. En effet, le nom du serveur contenu dans le certificat présenté lors de la session SSL changeant en fonction du serveur Web virtuel contacté, la mise en place d’hôtes virtuels protégés par HTTPS est possible quoique délicate. La même mise en place de serveurs Web virtuels protégés par S-HTTP ne présente aucune difficulté, les certificats étant contenus dans les pages examinées.

7.2.5.B.4.d -  Conclusion :

En terme techniques, le protocole S-HTTP présente une flexibilité et une intégration au protocole HTTP beaucoup plus importante que le protocole HTTPS. Le fait que le protocole S-HTTP soit plus délicat à implémenter que le protocole HTTPS fait que ce dernier est le leader incontesté du marché.


Precedent Haut Suivant