• Aucun résultat trouvé

3 Architecture pour la sécurisation de la téléphonie

3.11 API pour la sécurisation de la téléphonie

3.11.1 Le modèle d’appel SAPI

3.11.1.1 Principes

La conception de SAPI est basée sur un modèle d'appel qui présente un haut niveau d’abstraction et une indépendante de la technologie des réseaux au-dessus desquels SAPI va tourner. Il décrit l'appel comme étant un ensemble de machines à états finis (FSM pour

Finite State Machine) qui subissent des transitions d’un état à un autre état selon

l’évolution de l’appel sécurisé.

Le but du modèle d'appel est d’être très général pour couvrir beaucoup de scénarios d'appel différents. Ainsi, il serait capable de décrire par exemple :

§ Un appel entre deux partis,

§ De multiples appels simultanés effectués sur le même terminal,

§ Une conférence entre les partis multiples,

Le modèle d’appel définit cinq classes de base (dans le sens général de types d'objet). Deux classes décrivent les partis impliqués dans l'appel. Leurs objets sont persistants et indépendants de l’appel sécurisé :

§ Un utilisateur est représenté par un objet SecureAdresse. L'attribut principal de l'objet SecureAddress est l'identifiant de l'utilisateur.

§ Un terminal téléphonique est représenté par un objet SecureTerminal. L'attribut principal de l'objet SecureTerminal est l'adresse du terminal.

Les trois autres classes décrivent un appel sécurisé. Leurs objets ne sont pas persistants, mais ils sont créés dynamiquement pendant un appel sécurisé. Chaque objet inclut une machine à états finis :

§ Un objet SecureCall est créé pour chaque appel sécurisé.

§ Un objet SecureConnection est créé pour chaque utilisateur participant dans l'appel sécurisé. Il connecte l’objet SecureAddress de l'utilisateur avec l' objet Appel de l’appel sécurisé.

§ Un objet TerminalSecureConnection est créé pour chaque terminal participant à l'appel. Il connecte l'objet Terminal du terminal avec l'objet Connexion.

3.11.1.2 Exemple d’un appel sécurisé basé sur le modèle d’appel

Cette section présente un exemple d’un appel sécurisé choisi entre deux participants pour aider à mieux expliquer le modèle d'appel. Cet exemple est montré dans la Figure 3.10. Il y a deux objets de SecureConnexion attachés à l'objet SecureCall, un pour chaque participant. Cette représentation est importante pour l'extension de l’appel à un appel conférence avec trois ou plusieurs partis. Il est à noter que le modèle est complètement symétrique, il ne distingue pas entre les entités locales et éloignées.

Figure 3.10 - modèle d’appel sécurisé à deux partis 3.11.1.3 Machines à états finis

Cette section décrit les objets apparentés à l’appel sécurisé et leurs machines à états finis avec plus de détail.

Un objet SecureCall est créé pour chaque appel. L'état de l'objet SecureCall dépend du nombre d'objets SecureConnexion.

Figure 3.11 - Machine à état de l’objet SecureCall

IDLE C’est l'état initial pour tous les objets SecureCall. Dans cet état, SecureCall n’est

relié à aucun objet SecureConnexion.

ACTIVE un objet SecureCall avec une certaine activité passe à cet état. Les objets

SecureCall associés à un ou des objets SecureConnexion doivent être dans cet état.

INVALID c’est l’état final par lequel passe touts les objets SecureCall. Les objets

SecureCall qui perdent tous leurs objets SecureConnexion (via une transition de l'objet SecureConnexion à l’état SecureConnection. Disconnect) passeront à cet état. Ces objets

SecureCall ne possèdent aucune SecureConnection et ne peuvent pas être utilisés pour

une action future.

Objet SecureConnection

Un objet SecureConnexion est créé pour chaque utilisateur participant dans l'appel. Il connecte l'objet SecureAddress de l' utilisateur avec l'objet SecureCall.

IDLE C’est l'état initial pour toutes les nouvelles SecureConnexion. Les connexions qui

sont dans l'état de SecureConnexion.Idle ne font pas partis activement à un appel téléphonique sécurisé, cependant leurs références aux objets SecureCall et SecureAddress sont valides pour un appel non sécurisé.

INPROGRESS Cet état implique que la SecureConnexion, qui représente la destination

d'un appel téléphonique sécurisé, passe au processus de contacter le destinataire et donc de négocier avec lui les paramètres de sécurité dont la première phase est l’authentification des usagers.

ALERTING Cet état implique que l’objet SecureCall est notifié qu’un appel sécurisé

entrant arrive.

CONNECTED Cet état indique qu'une SecureConnection et son SecureAddress sont

impliqués activement dans un appel téléphonique. En d’autres termes, deux personnes communicantes d’une manière sécurisées seront représentées par deux SecureConnection dans l’état SecureConnection.Connected.

DISCONNECTED Cet état indique qu'une SecureConnection n’est plus impliquée dans

l'appel téléphonique, bien que ses références pour SecureCall et SecureAddress restent valides. Une SecureConnection dans cet état est interprétée comme avoir appartenu précédemment et pour une fois à cet appel téléphonique. Cet état permet à l’utilisateur de repasser en mode non sécurisé.

FAILED Cet état indique qu'une SecureConnection a échoué pour une raison quelconque,

qui peut être que la négociation des paramètres de sécurité n’a pas abouti ou bien que l’un de correspondant n’est pas authentique.

Dans la machine à état de l’objet SecureConnection ci-dessous, les états Disconnected et

Failed ne figurent pas.

Objet SecureTerminalConnection

Un objet SecureTerminalConnection est créé pour chaque terminal téléphonique participant dans une SecureConnexion. Il connecte l'objet SecureTerminal du terminal avec l'objet SecureConnexion.

IDLE Cet état est l'état initial pour tout état SecureTerminalConnection. Les objets de

SecureTerminalConnection ne restent pas dans cet état pour longtemps. Ils transitent

typiquement dans un autre état rapidement pour établir l’appel sécurisé.

RINGING Cet état indique qu'un SecureTerminal reçoit une connexion sécurisée venant de l'extérieur.

ACTIVE Cet état indique qu'un SecureTerminal est actif dans un appel téléphonique sécurisé. Ceci implique d'habitude que la personne utilisant ce SecureTerminal fait partie de l'appel téléphonique sécurisé.

PASSIVE Cet état indique qu'un SecureTerminal fait partie d'un appel téléphonique sécurisé mais pas dans un mode actif. Ceci peut impliquer qu'une ressource du

SecureTerminal est utilisée et peut limiter les actions sur le SecureTerminal. Cet état peut

indiquer que le SecureTerminal attend un paramètre de sécurité (comme la fin d’un appel sécurisé ou bien la génération du rapport de non-répudiation).

DROPPED Cet état indique qu'un SecureTerminal particulier a quitté d'une façon permanente l'appel téléphonique sécurisé. Il peut toujours participer à un appel téléphonique non sécurisé.