S-HTTP (Secure HTTP, traduisible par Protocole HTTP sécurisé) 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é de leur numéro de carte bancaire ou de tout autre information personnelle.
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.
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 crypte
l'intégralité de la communication, S-HTTP
est très fortement lié au protocole HTTP et crypte individuellement chaque message.
Les messages S-HTTP sont basés sur trois composantes:
- Le message HTTP
- Les préférences cryptographiques de l'envoyeur
- Les préférences du destinataire
Ainsi, pour décrypter 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 crypter 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écrypter le
message.
Alors que SSL et S-HTTP étaient concurrents, un grand nombre de personnes a réalisé
que les deux protocoles de sécurisation étaient complémentaires, étant donné
qu'ils ne travaillent pas au même niveau. De cette façon, SSL permet de sécuriser la connexion
Internet tandis que S-HTTP permet de fournir des échanges HTTP sécurisés.
De cette façon, la compagnie Terisa Systems, spécialisée
dans la sécurisation des réseaux, formée par RSA Data Security
et l'EIT, a mis au point un Kit de développement permettant à des développeurs
de développer des serveurs Web implémentant SSL et S-HTTP (SecureWeb Server Toolkit),
ainsi que des clients Web supportant ces protocoles (SecureWeb Client Toolkit).
|