• Aucun résultat trouvé

138 comprennent pas vraiment des données sensibles. Nous avons aussi signalé que les messages de

réponse ont un degré de criticité le plus élevé du fait qu'ils comportent les rapports de captage.

À leur tour, les messages de réponse peuvent ne pas la même sensibilité à la sécurité n’ont pas et ça dépend du degré de criticité de la ressource (la donnée captée), et/ou de la typologie de la ressource elle-même. En effet, on peut configurer le serveur CoAP (le nœud de capteur) au niveau applicatif pour spécifier les critères de sélection des messages de réponse qui vont être sécurisés au niveau de la couche réseau via le protocole IPsec. Par exemple, un serveur CoAP peut être configuré pour ne sécuriser que les messages dont les données de captage récoltées dépassent un seuil prédéfini de criticité. Cette politique peut être pratique dans plusieurs scénarios applicatifs de l'IoT, telles que les applications de suivi (tracking) et les applications médicales.

Un autre cas pratique de l'utilisation de la sécurité sélective apparaît clairement avec les réseaux de capteurs multimodaux connectés à Internet. Nous rappelons que dans un RCSF multimodal, un nœud capteur peut capte plus d'une grandeur, par exemple température et pression. Par conséquent, si une session de sécurité de bout-en-bout est établie entre un nœud capteur et un autre hôte externe sur Internet, ce dernier pourra demander d’obtenir divers types d'informations auprès du même capteur multimodal. Dans tel cas, il est possible de protéger uniquement les messages incluant les lectures correspondantes à un type particulier d'information. Par exemple, un capteur de température et d’image, configuré pour ne sécuriser que les images.

Pour concrétiser la sélection, nous proposons d'ajouter une nouvelle option CoAP pour les messages de réponses afin d'indiquer s’ils sont concernées par l’encapsulation de sécurité de IPsec dans la couche réseau, ou non. L'option est nommée Securable et elle a la définition suivante:

Table 6.4. Définition de l’option Securable.

Le numéro de l'option Securable peut prendre sa valeur de l’intervalle 256..2047 qui est réservé pour les options couramment utilisées avec des spécifications publiques [55]. Securable est qualifiée d’une option facultative. Les options facultatives CoAP sont simplement ignorées si elles ne sont pas reconnues par les entités manipulant les messages qui les contiennent. Ainsi, l'option est codée sur 8 bits dont le type est entier non signé. Sa valeur par défaut est 0, et si la sécurité est recommandée pour un message donné, la valeur de l'option devient 1.

L'option Securable a une portée locale quand elle est ajoutée aux messages à sécuriser (la valeur de l'option est égal à 1). Si tel est le cas, l'option est manipulée et comprise par la couche application et la couche réseau du serveur CoAP. Ainsi, lors de la réception d'une requête CoAP (qui était dans notre cas une requête HTTP), le serveur CoAP génère le message de réponse correspondant à lequel il attache l'option Securable avec la valeur appropriée (0 ou 1) en tenant compte de la sensibilité de la ressource. La couche réseau du serveur consulte l’option et en fonction de sa valeur, elle décide de sécuriser ou non le message correspondant. Le processus de sélection est illustré dans la figure ci-dessous.

Numéro Classe Nom Format Longueur Valeur par défaut

139

Figure 6.10. Le scénario proposé pour la sélectivité de la sécurité au niveau des serveurs CoAP

Dans l'exemple représenté à la figure 6.9, la couche application génère trois messages CoAP (réponses) M1, M2 et M3. Parmi eux, M1 et M3 sont sélectionnés pour être sécurisés dans la couche réseau. En d'autres termes, les messages M1 et M3 ont l’option Securable mise à 1 et ils seront protégés par IPsec, alors que le message M2 ne sera concerné que par les protocoles 6LoWPAN et IPv6 dans la couche réseau, comme la valeur de son option Securable vaut 0.

Lorsque la valeur de l'option Securable est fixée à 0 dans les messages CoAP moins critiques, la portée de l'option est étendue pour inclure le proxy qui se charge de traduire les messages de réponse CoAP en des réponses HTTP appropriées.

Le diagramme d’activité UML (Unified Modeling Language) suivant modélise le scénario de sécurité des communications humain-à-objet selon la solution proposée.

CoAP PHY IEEE.802.15.4 M1

*

M2 M1 M2 le ct ion M3

*

IPsec MAC IEEE.802.15.4 UDP M3

140

Figure 6.11. Diagramme d’activité UML modélisant le système de sécurité asymétrique et sélective pour les communications entre un client HTTP et un serveur CoAP contraint suivant la solution proposée.

3.4. Les règles supplémentaires pour la translation CoAP-HTTP

Les règles de traduction CoAP-HTTP qui sont clairement et profondément discutées dans [118] doivent être soigneusement appliquées par toute entité assurant la translation (le proxy 6LoWPAN ou le module local de traduction dans le côté du client HTTP) pour garantir la cohérence des communications et donner l’illusion à chaque partie (le client HTTP et le serveur CoAP) qu’elle est en train de communiquer avec l’entité qui lui est équivalente.

De plus, dans notre solution, nous définissons des règles supplémentaires concernant la traduction des paquets TCP/HTTP vers des paquets UDP/CoAP et vice-versa. Ces règles doivent être appliquées à la fois par le serveur proxy et le module de traduction de l'hôte HTTP.

Malgré le fait que les traductions entre les protocoles UDP et TCP soient primordiales dans toutes les communications HTTP-CoAP, cette partie n'a pas reçu l'attention qu'elle mérite dans les documents spécifiant les règles de conversion entre les protocoles CoAP et HTTP. Dans cette section, nous présentons en détails les règles de traduction supplémentaires que nous proposons.

Tout d'abord, le proxy 6LoWPAN établie, systématiquement, la connexion TCP en trois étapes avec les clients HTTP au nom de tous les serveurs CoAP contraints ciblés dans son domaine. A la

Client HTTP Serveur CoAP

Proxy

Envoi requête HTTP Traduction de requête

HTTP Transférer requête CoAP Réception requête CoAP [si requête critique] [Sinon] Réponse CoAP (Securable=1) Sécuriser réponse CoAP par IPsec

Réponse CoAP (Securable=0)

Envoyer réponse CoAP

[Si Securable=0] [Sinon]

Envoyer réponse HTTP Traduire réponse CoAP Réponse HTTP reçue Réponse CoAP reçue Décrypter réponse CoAP Traduire réponse CoAP Exploiter HTTP réponse

141