Académique Documents
Professionnel Documents
Culture Documents
Conception Et Mise en Œuvre D'un Système de Paiement Via SMS Dans Le Réseau GSM
Conception Et Mise en Œuvre D'un Système de Paiement Via SMS Dans Le Réseau GSM
Département Télécommunications
Mémoire de MASTER
Domaine : Sciences et Technologie
Spécialité : Génie Electrique
Option : Système de Télécommunications
THEME
Soutenu le 16/06/12
Dédicaces
A tous mes amis et à toute personne qui m'a aidé et encouragé surtout:
Anis, lyes ,abdou.
RYAD
Dédicaces
A toutes les personnes chères qui ne sont plus de ce monde et spécialement à mon père.
A la plus tendre et la plus généreuse des mamans qui m’a toujours soutenue.
A tous mes amis et à toute personne qui m'a aidé et encouragé surtout:
Affef, Mounir, Asma, Azziz, Billel, Amine, Abdou, Kami, Imene, Bilou,Fati,
Djamal.
Khadidja
REMERCIEMENTS
Tout d’abord nous tenons à rendre grâce à dieu tout puissant qui nous a aidé tous le long de notre
existence et qui nous a permis d’être là.
Nos sincères remerciements vont à tous ceux qui nous ont soutenues et aidées de près ou de loin pour la réalisation
de ce travail, et plus particulièrement :
Monsieur AMROUCHE notre promoteur ainsi que Monsieur Lamine OUAdJAOUT, qui nous a
encadrées et guidées avec toute attention, nous les remercions pour leurs suivi, la patience et la gentillesse dont ils
ont fait preuve pendant notre projet.
Et en fin nous remercions chaleureusement les membres du jury pour l’honneur qu’ils nous ont fait en acceptent
d’évaluer notre projet.
Que tous ceux qui ont contribué de près ou de loin à la réalisation de ce modeste travail trouvent ici l’expression de
notre sincère gratitude.
SOMMAIRE
DEDICACES
REMERCIEMENTS
LISTE DES FIGURES
LISTE DES TABLEAUX
LISTE DES ABREVIATIONS
Introduction Générale ………………………………………………………………………...... 1
Chapitre 1 :Principes du paiement par mobile
1.1Introduction…………………………………………………………………………………………………………………. 2
2.1 Introduction………………………………………………………………………………….. 10
2.2 Concepts techniques du réseau GSM………………………………………………… 10
2.2.1 Concept cellulaire ………………………………………………………………………………………….. 10
2.2.2 Architecture du réseau GSM……………………………………………………………………………… 11
2.2.2.1 La station mobile « MS »………………………………………………………………………… 12
2.2.2.2 Le sous-système radio « BSS » ………………………………………………………………. 12
2.2.2.3 Le sous-système réseau « NSS »…………………………………………………………… 13
2.2.2.4 Le sous-système d’exploitation « OSS » ………………………………………………… 14
2.2.3 Scénario de communication …………………………………………………….. 14
2.2.4 Interface ………………………………………………………………………….. 15
2.2.5 Les protocoles du standard GSM …………………………………………………………………….. 16
2.3 Concepts techniques du SMS ……………………………………………………………………….. 15 16
3.1 Introduction………………………………………………………………………………… 24
3.2 Introduction au SMPP…………………………………………………………………………….... 24
3.2.1 Connexions……………………………………………………………………………………………………… 25
3.2.2 Les PDU…………………………………………………………………………………………………………… 25
3.2.3 Paramètres optionnels SMPP…………………………………………………………………………… 29
3.3 La signalisation SS7 ………………………………………………………………………………….. 29
Chapitre 4 :Conception et mise en œuvre d’un système de paiement sur réseaux mobiles GSM via
SMS
43
4.2 Présentation de la solution en cours à Algérie Poste……………………………………
43
4.2.1 Solution « IBP » Postal Desktop ………………………………………………… 44
4.2.2 Les principaux objectifs …………………………………………………………………………………. 44
4.2.3 Mode d’interconnexion ………………………………………………………………………………… 44
4.3 Solution proposée ……………………………………………………………………………………… 46
4.3.1 Mode d’interconnexion globale………………………………………………………………………. 46
4.4 L’environnement de développement……………………………………………………………. 46
Conclusion générale…………………………………………………………………………........ 61
LA BIBLIOGRAPHIE
LES ANNEXES
Liste des figures :
Figure 1.01 : Structure générique de la chaîne de paiements mobiles
Figure 1.02 : Mécanismes généraux des paiements mobiles
Figure 1.03: positionnement de notre solution de paiement en deux dimensions
Figure 1.04 : Mécanismes de paiement d’un débit direct sur le compte bancaire du client
Figure2.01 : Découpage cellulaire de réseau GSM
Figure 2.02 : Architecture générale d’un réseau GSM
Figure 2.03 : Présentation des piles de protocoles sur les différentes interfaces.
Figure 2.04 : Le processus de l’envoi du SMS
Figure 2.05 : modem GSM
Figure 2.06 :La passerelle SMS reliant deux SMSC
Figure 2.07 : La passerelle SMS reliant les SMSC et une application SMS
Figure 3.01 :implémentation générique SMPP
Figure 3.02 : Le format général d'un PDU SMPP
Figure 3.03 : Envoi messages
Figure 3.04 : Réception messages
Figure 3.05 : Pile de protocoles de communication SS7
Figure 3.06 : Envoi d'un SMS à un destinataire joignable
Figure 3.07 : Envoi d'un SMS à un destinataire injoignable
Figure 3.08 : Le modèle FTP
Figure 3.09 : schéma illustrative d’un algorithme de chiffrement symétrique.
Figure 3.10:schéma illustrative d’un algorithme de chiffrement asymétrique.
Figure 3.11 : la signature électronique « algorithme hybride ».
Figure 3.12 : L’algorithme A3
Figure 3.13 : L’algorithme A8
Figure 3.14 :L’algorithme A5
Figure 4.01 : interface IBP.
Figure 4.02 : exemple d’interconnexion SONELGAZ et Algérie Poste
Figure 4.03 : Interconnexion Mobilis et Algérie Poste
Figure 4.04 : Mode d’interconnexion globale
Figure 4.05: diagramme de séquences
Figure 4.06: Table B.D.D. « client »
Figure 4.07 : Table B.D.D. « ccpclient »
Figure 4.08: Table B.D.D. « sonelgaz »
Figure 4.09 : Table B.D.D. « ccppro »
Figure 4.10 : clé étrangère
Figure 4.11 : L’acheminement du message via le protocole MAP
Figure 4.12 : L’acheminement du message via SMPP et son traitement via SQL et FTP.
Figure 4.13 : scénario des messages
Figure 4.14: rapport de paiement
Figure 4.15: capture écran
Figure 4.16: capture écran
Liste des tableaux :
Tableau 1.01 : Mécanismes généraux des paiements mobiles
Tableau 1.02 : les méthodes de paiement
Tableau 1.03 : Les Technologies d’accès utilisé pour initier le paiement
Tableau 1.04 : LesCritères de description
Tableau 1.05 : Mécanismes de paiement
Tableau 2.01 : Interfaces du système GSM
Tableau 2.02 :Les commandes AT
Tableau 4.01 : Table B.D.D. « client »
Tableau 4.02 : Table B.D.D. « ccpclient »
Tableau 4.03: Table B.D.D. « sonelgaz »
Tableau 4.04 : Table B.D.D. « ccppro »
Tableau 4.05 : la définition des champs du protocole SMPP
Tableau 4.06 : la définition des champs de la BDD.
Tableau 4.07 : la définition des champs du protocole SMPP
Introduction générale
Introduction générale
Ces dernières années, la téléphonie mobile a été un des secteurs les plus dynamiques et les plus
innovants de l'industrie des Télécommunications. Les challenges sont ainsi nombreux alors que les
opérateurs mobiles doivent proposer de nouveaux services à leurs clients.
La problématique actuelle est l’absence des formes de paiement mobile à l’échelle nationale.
Dans ce contexte MOBILIS, filiale d’Algérie Telecom (AT) se propose d’offrir le m-paiement à
ses clients. Ainsi chaque client MOBILIS titulaire d’un compte CCP pourra payer ces factures via le
service SMS grâce à un transfert d’argent. L’application développée dans ce projet consiste à
mettre en oeuvre le traitement des requêtes SMS et l’envoi des réponses correspondantes
« transfert d’argent » en gérant la sécurité de tout le système mis en œuvre.
Le client choisit un produit, un service ou un contenu (sur un point de vente, via un site
Internet, via un site WAP, etc.) et réalise un paiement avec son terminal mobile pour
l’obtenir. La clientèle visée par les services de paiement mobile est en premier lieu celle
des opérateurs de télécommunication, utilisatrice de téléphone mobile. Cette clientèle est,
par conséquent, constituée de particuliers bénéficiant des règles protectrices issues du
droit de la consommation.
Le marchand fournit les produits, services et contenus à la vente et reçoit en échange le
paiement.
Le fournisseur de service de paiement mobile (FSPM) gère le processus du paiement,
entre le client et le marchand, en opérant un système de paiement. Il fournit une interface
vers les acteurs ou les outils de paiement permettant les transferts financiers. Ce rôle est
central dans la problématique des paiements mobiles et différents types d’acteurs peuvent
se positionner à ce niveau : opérateurs, banques, fournisseurs de service indépendants.
Le fournisseur de solution de paiement fournit au FSPM une solution technique
permettant la mise en œuvre effective des transactions via un terminal mobile.
L’opérateur de réseau assure la transmission des communications via le réseau mobile
permettant l’acheminement des messages échangés pendant la transaction.
Les institutions financières (banques, organismes gestionnaires de réseaux de carte de
crédit, etc.) jouent un rôle dans la gestion des flux financiers induits par le paiement, entre
le client, le marchand et éventuellement aussi le fournisseur de service de paiement
mobile. En fonction de la typologie du paiement mobile, la présence d’une institution
financière dans la chaîne de valeur pourra se révéler obligatoire ou non [PAP 02].
L'opérateur mobile, qui n'apparaît pas sur le schéma présenté, ne joue pas un rôle opérationnel
dans le mécanisme de paiement (sauf si bien sûr il est positionné également en fournisseur de
service de paiement mobile ou marchand, lorsque le service de paiement mobile permet de régler
les services proposés par l’opérateur). Le rôle de l'opérateur consiste à assurer la transmission des
interactions à plusieurs niveaux, selon les cas: entre le client et le FSPM, entre le client et le
marchand ou encore entre le FSPM et le marchand.
1.2.3. Définition et rôle du FSPM
Le FSPM joue un rôle central sur la chaîne des services de paiement mobile. L'étude des services
de paiement permet de distinguer quatre cas principaux:
1.2.3.1. Le FSPM est un opérateur mobile assurant ce rôle seul : Dans ce cas le
service fait surtout l’objet d’un paiement direct sur la facture mensuelle de téléphonie
mobile ou, dans certains cas, le compte prépayé.
1.2.3.2. Le FSPM est une institution financière (ou une société contrôlée par des
institutions financières) :L'acteur jouant le rôle de FSPM est une institution financière
ou une société contrôlée par des institutions financières.
1.2.3.3. Le FSPM est un fournisseur de service indépendant : Le FSPM peut être
une société indépendante, c'est à dire ni un opérateur télécoms, ni un acteur financier.
1.2.3.4. Le FSPM est un opérateur mobile assurant ce rôle en partenariat avec un
acteur financier : Ce cas est fréquent quand l'opérateur souhaite offrir à ses clients
une palette élargie de moyens de paiement, tels que carte de crédit/débit ou porte-
monnaie électronique. On rencontre alors divers types de partenariats:
Partenariats opérateur - organismes gestionnaires de carte de crédit, destinés à
fournir aux clients de l'opérateur la possibilité de payer directement par carte de crédit.
Ceci en tenant compte des frais encourus par l’opérateur dus à l’intervention de
l’organisme gestionnaire de carte de crédit.
Partenariats opérateur - banques, qui peuvent avoir deux objectifs:
1→Ils peuvent viser à permettre le prélèvement des achats effectués via terminal
mobile directement sur le compte bancaire du client. La banque a alors un rôle passif
dans le processus.
2→Ils peuvent aussi viser à adosser à l'opérateur une structure financière pour la
gestion des porte-monnaie électroniques des clients. La banque a alors un rôle actif
dans le processus de paiement.
Partenariats opérateur - fournisseur d'une passerelle de paiement, où le fournisseur
d'une passerelle de paiement est en fait un intermédiaire destiné à fournir à
l'opérateur un accès vers les institutions financières et des marchands.
Dans un paiement mobile, plusieurs technologies peuvent être utilisées dans l'ensemble du
processus: commande du produit, authentification du client, confirmation de l'achat, envoi d'un
reçu, envoi du produit acheté. Il est bon de préciser toutefois que pour la majorité des paiements,
le processus en lui-même (de l'initiation à la confirmation du paiement) repose sur une seule et
même technologie mobile.
Afin de lever toute ambiguïté, nous établissons cette deuxième typologie selon la technologie
utilisée par le client pour initier le paiement. Les différentes catégories ainsi identifiées sont
mentionnées dans le tableau 1. 3 : [VYA 01]
Tableau 1. 3 : Les Technologies d’accès utilisé pour initier le paiement
Nom de la catégorie Technologie d’accès utilisée pour initier le paiement
SMS Le paiement est initié grâce à l’échange de SMS.
WAP/ i-mode Le paiement est initié à partir d’un portail mobile WAP ou bien i-mode.
Internet Le paiement est initié sur un site Web. Plusieurs types de paiement
mobile permettent en effet également de payer directement via le Web.
Vocal Le paiement est initié par commande vocale, le plus souvent par SVI.
USSD Le paiement est initié via le protocole USSD, qui permet l’échange de
textes courts entre un téléphone mobile et une application.
(voir : annexe A)
Figure 1.4 : Mécanismes de paiement d’un débit direct sur le compte bancaire du client.
1.7. Conclusion :
Le paiement mobile est une évolution technologique inévitable dans le monde actuel, grâce à l’apparition
de nouvelles avancées technologiques. Cependant, ce processus nécessite la connaissance du réseau de
communication utilisé et pose des problèmes pratiques qui nécessitent une sécurité élevée.
Dans le prochain chapitre, nous allons nous intéresser à l’architecture du réseau GSM, qui
servira de moyen de communication, ainsi qu’au processus de l’envoi du SMS, technique retenue
dans ce projet.
Chapitre 2 :
Ce système ne permettait donc de fournir un service qu'à un nombre d'utilisateurs égal au nombre
de bandes de fréquences disponibles. La première amélioration consista à allouer un canal à un
utilisateur uniquement à partir du moment où celui-ci en avait besoin, permettant ainsi
d'augmenter « statistiquement » le nombre d'abonnés, étant entendu que tout le monde ne
téléphone pas en même temps. Mais ce système nécessitait toujours des stations mobiles de
puissance d'émission importante ( 8 watts), et donc des appareils mobiles de taille et de poids
conséquents.
De plus, afin d'éviter les interférences, deux cellules adjacentes ne peuvent pas utiliser les mêmes
fréquences. Cette organisation du réseau utilise donc le spectre fréquentiel d'une manière sous-
optimale.
C'est pour résoudre ces différents problèmes qu'est apparu le concept de cellule. Le principe
de ce système est de diviser le territoire en de petites zones, appelées cellules et de partager les
fréquences radio entre celles-ci(voir figure 2.1).
Figure2.1 :Découpage cellulaire de réseau GSM
Ainsi, chaque cellule est constituée d'une station de base à laquelle on associe un certain
nombre de canaux de fréquences à bande étroite, sommairement nommés fréquences. Comme
précédemment, ces fréquences ne peuvent pas être utilisées dans les cellules adjacentes afin
d'éviter les interférences.
On définit des motifs, aussi appelés clusters, constitués de plusieurs cellules, dans lesquels chaque
fréquence est utilisée une seule fois.
2.2.2. Architecture du réseau GSM:
Un réseau GSM (voir figure 2.2) compte une ou plusieurs stations de base par cellule. La station
mobile choisit la cellule selon la puissance du signal. Une communication en cours peut passer
d’une cellule à l’autre permettant ainsi la mobilité des utilisateurs.
2.2.4. Interface :
Les interfaces jouent un rôle important dans le système GSM. Le tableau 2.1 décrit ces interfaces
en précisant leurs localisations par rapports aux éléments du réseau ainsi que leurs utilisations :
Tableau 2.1 : Interfaces du système GSM
Nom Localisation Utilisation
Um MS-BTS Interface radio
Abis BTS-BSC Divers
A BSC-MSC Divers
Interrogation HLR Appel
MSC-HLR
entrant
G
SM-GMSC-HLR Interrogation HLR SM
Entrant
VLR-HLR Gestion Informations
Abonnés
D
Services supplémentaires
HLR-VLR
MSC-SM-GMSC Transport SM
E Exécution de Handover
MSC-MSC
B MSC-VLR Divers
H HLR-AUC Authentification
Figure 2.3 : Présentation des piles de protocoles sur les différentes interfaces.
La structuration en couches reprend le modèle OSI pour les trois premières couches:
couche physique,
couche liaison de données,
couche réseau.
(Voir annexe B)
Dans cette partie, nous allons aborder les concepts techniques du SMS : définir le processus de
l’envoi du SMS et les outils permettant de l’expédier d’un point émetteur à un point récepteur.
2.3.1. Le parcours du SMS :
Le SMS permet à un utilisateur de composer un message textuel à partir de son terminal mobile et
de l'envoyer à un destinataire possédant également un téléphone mobile ou à une entité
extérieure au réseau GSM appelée ESME.
On identifie deux types de SMS qui peuvent être classifiés selon l’origine du message[ERA 07] :
2.3.1.1. Mobile Originated « MO »:
Le SMS est envoyé depuis un téléphone mobile et est reçu par un téléphone mobile ou un
ESME. Exemple : Un abonné de téléphonie mobile envoie un SMS à un autre abonné ou
une application m-paiement.
2.3.1.2. Mobile Terminated « MT »:
Le SMS est envoyé depuis un téléphone mobile ou un ESME et est reçu par un téléphone
mobile. Exemple : Une application m-paiement envoie un SMS à un abonné.
Il existe au moins un SMSC par réseau GSM. Comme tout équipement téléinformatique, le
SMSC dispose d'une partie matérielle et d'une autre logicielle ; la partie logicielle serait constituée
d'un environnement « système d'exploitation », d'une base de données spécifique et de son
serveur, d'une application SMSC.
Typiquement, le SMSC offre une variété de protocoles d’interfaces qui permettent aux entités
non-mobiles (ESME) d’envoyer des SMS aux entités mobiles. Ceux-ci incluent d’autant plus que les
protocoles SMPP et EMI (Voir les protocoles dans le chapitre 3), les protocoles du courrier
électronique et d'Internet tels que SMTP et HTTP pour les interfaces E-mail et Web [DEV 08].
Le SMSC peut se relier aux systèmes suivants :
Passerelles d'accès, parmi lesquelles celles des éditeurs de services (ESME) ;
Système de facturation;
Systèmes d'opération, d'administration et de maintenance (OAM).
2.3.2.2. L’ESME:
C’est une application externe qui se connecte à un SMSC et s'engage dans l'envoi et la
réception des SMS.Il ya trois manières de développer une application SMS « ESME » en général:
Se connecter au SMSC directement :
Le moyen le plus rapide de transférer les SMS via le réseau GSM est de se connecter
directement au SMSC ou à la passerelle SMS (Voir les passerelles SMS ci-après). Cette méthode
exige que l’application SMS soit intégrée au réseau de l’opérateur téléphonique. Le lien de
communication entre le logiciel d’application et le SMSC peut s’assurer par un réseau TCP/IP ou
une connexion X.25. L’avantage est la rapidité de la transmission des SMS. L’inconvénient est que
le SMSC est ainsi exposé à toute connexion externe.
Le tableau 2.2 résume quelque une parmi les plus importantes commandes AT :
Tableau 2.2 : Les commandes AT [Tec 07]
Commande Fonctionnement
ATD, ATA Établir une connexion de données ou de voix à un modem lointain.
AT+CBC Avoir le niveau de charge de batterie.
AT+CGMI Avoir le nom du constructeur du modem.
AT+CSCA Avoir l’adresse du SMSC.
AT+CMGS Envoi d’un SMS.
T+CMGR Lecture des SMS
AT+CMGW Ecriture des SMS
AT+CMGD Suppression des SMS
AT+CMGL Avoir la liste des SMS
Figure 2.7 : La passerelle SMS reliant les SMSC et une application SMS
2.3.3.3. La méthode de l’API :
Connecter l’ordinateur au provider d’un service SMS, ensuite gérer l’envoi et la
réception des SMS avec les protocoles supportés par le provider [DEV 08].
Dans ce 3ème chapitre, nous allons étudier les protocoles nécessaires à l’envoie et la réception des
messages, ainsi que le protocole FTP utilisé pour une communication entre l’organisme offrant le
service et l’operateur.
Une étude sera faite par la suite, sur la cryptographie et la sécurité des SMS.
3.2.1. Connexions:
SMPP est utilisé par les clients pour se connecter à un SMSC. En ce qui concerne SMPP, le
client est appelé ESME. Les SMSCs peuvent également échanger des données en utilisant une
connexion SMPP. Les messages envoyés à un SMSC sont des MT messages. Les messages
reçus à partir d'un SMSC sont des MO messages[SMP 99].
Quand un ESME établit une connexion en utilisant SMPP, cela peut être fait en trois modes:
Transmitter : ESME envoie seulement des messages au SMSC;
Receiver : ESME reçoit seulement des messages ou des rapports de livraison de l'SMSC;
Transceiver: l'EMSE peut envoyer et recevoir des messages vers et depuis le SMSC[TOL
07].
Le format général d'un PDUSMPP se compose d’une partie en-tête et une partie corps, décrites
dans le « Tableau 3.1 » ci-dessous :
PDU SMPP
PDU header (obligatoire) PDU body (facultatif)
Command Command Command Sequence PDU body
length id status number
4 octets Longueur= (la valeur de command length-4)octets
L'en-tête d’un PDU contient:
Paramètres obligatoire: chaque PDU défini dans le champ command_id, il lui correspond une
liste de paramètres obligatoires.
Paramètres optionnels: chaque PDU définit dans le champ command_id, il lui correspond une
liste de paramètres facultatifs [SMP 99].
La session SMPP peut être définie par ces différents états :
OPEN : Un ESME a établi une connexion avec le SMSC mais n'a pas encore publié sa
requête.
BOUND_TX: Un ESME connecté a fait une demande de connexion ESME Transmitter en
publiant un « bind_transmitter » et reçoit une réponse de la part du SMSC qui autorise sa
requête de connexion. Un ESME relié comme un Transmitter peut envoyer des SMS à un
SMSC qui ensuite vont être envoyés à un portable ou un autre ESME. L‘ESME peut aussi
requêter, remplacer ou annuler un message précédemment soumis.
BOUND_RX : Un ESME connecté fait une demande de connexion ESME Receiver en
publiant un « bind_receiver » et reçoit une réponse de la part du SMSC qui autorise sa
requête de connexion. Un ESME relié comme un Receiver peut recevoir des SMS d'un
SMSC (l'origine d'envoi de message peut être un portable, un autre ESME ou SMSC).
BOUND_TRX : Un ESME connecté fait une demande de connexion comme un ESME
Transceiver en publiant un « bind_transceiver » et reçoit une réponse de la part du SMSC
qui autorise sa requête de connexion. Un ESME relié comme un Transceiver supporte
toutes les opérations supportées par un ESME Transmitter et un ESME Receiver. ESME
connecté comme transceiver peut envoyer les SMS vers un SMSC. Les SMS son ensuite
envoyés vers un portable ou vers un autre ESME. Egalement, dans ce cas, l'ESME peut
recevoir un SMS provenant d'un portable, d’un autre ESME ou de SMSC lui-même.
CLOSED : L’ESME est déconnecté du SMSC et la connexion réseau est fermée. Le SMSC est
alors déconnecté de l’ESME.
Des exemples de raccordement sont présentés dans les figure 3.2 et 3.3 :
Le réseau sémaphore étant un réseau à commutation par paquets, il est naturel de reprendre
une architecture en couches. Dans le contexte de SS7 on parle plutôt de niveau, mais le concept
est le même [ZNA 00].
Le protocole SS7 standard a 4 niveaux « couches ». Les niveaux de 1 à 3 constituent la pièce
de transfert de message « MTP » et le niveau 4 est la pièce d’utilisateur (figure 3.4).
Un message SS7 s’appelle une unité de signal« SU » (voir annexe D).
Le niveau 3 de MTP, conduit des messages basés sur l’étiquette de cheminement dans le
domaine de l’information de signalisation « SIF » des unités de signal de message [MOR 06].
3.3.2.4. Niveau 4 :
Les services SS7 sont décrits par les couches applicatives du modèle OSI « de 4 à 7 »:
ISUP : définit le protocole et les procédures employées pour établir, gérer et rompre
des circuits de commutation qui acheminent la parole et les données entre
commutateurs. Les appels qui commencent et se terminent sur le même
commutateur n’emploient pas la signalisation ISUP.
SCCP: assure des fonctions supplémentaires à MTP3 pour transférer des informations
de signalisation en mode avec ou sans connexion. Tandis que le niveau 3 de MTP
fournit des codes de point pour permettre à des messages d’être adressés aux points
de signalisation spécifiques.
TCAP: permet le déploiement des services de réseau intelligents avancés en
soutenant l’échange de l’information reliée par circuit entre les points de
signalisation en utilisant le service sans connexion de SCCP.
Différentes applications utilisent les services de TCAP parmi celle-ci figurent les
suivantes :
INAP: est le protocole permettant l’exécution de services à valeur ajouté.
Exemple : L’interrogation d’une base de données de numéro vert afin d’obtenir la
traduction entre un numéro vert et le numéro physique correspondant.
OMAP:offre un service de la gestion du réseau sémaphore N°7.
MAP: le protocole MAP régit l’ensemble des échanges entre équipements du
réseau mobile « NSS ». Il offre les fonctions de signalisation nécessaires à un
service de communication voix ou données dans un réseau mobile. Il a
principalement trait à toutes les fonctions qui permettent à un mobile d’être
itinérant. Il s’appuie sur la pile de protocole SS7 qui garantit un transport fiable.
Le protocole MAP concerne les dialogues entre différentes entités du réseau
mobile notamment, MSC/VLR, MSC Server, SGSN, HLR, EIR, SMSC, etc. Le
protocole MAP est utilisé dans les procédures relatives : au service de mobilité, le
HANDOVER inter-MSC, le traitement d’appel, l‘invocation des services USSD,
l’échange de SMS, au service de localisation…
Nous allons par la suite détailler l’utilité du protocole MAP dans les services SMS.
Avec le service SM-MO, la station mobile envoie un message court au SMSC. Dans ce cas, le
cheminement logique des messages courts est le suivant : MS→MSC→SMSC (voir figure 3.5)
Lorsque l'utilisateur mobile souhaite envoyer un message court, il doit indiquer le MSISDN du
destinataire et l’adresse du SMSC. L'adresse du SMSC est présente sur le module SIM.
1. L’émetteur remet le message court à son MSC/VLR de rattachement « VMSC/VLR » à travers la
demande SMS-SUBMIT.
2. Le MSC émet un message MAP-SEND-INFO-FOR-MO-SMS à son VLR pour lui demander le
numéro de téléphone « MSISDN » de l’émetteur et pour vérifier qu’aucune restriction n’est
imposée à cet émetteur. Le VLR retourne alors une réponse MAP-SEND-INFO-FOR-SMS-ack.
3. Si la réponse est positive, le MSC émet le message MAP-MO-FORWARD-SHORTMESSAGE au
SMSC. Ce message contient l’adresse du SMSC, les numéros MSISDN de l’émetteur et du
destinataire, et le message court. Le message court est donc véhiculé dans une transaction MAP.
Le SMSC stocke le message et les adresses dans sa mémoire.
4. Le SMSC demande des informations de routage du message au HLR du destinataire du SMS à
travers la requête MAP-SEND-ROUTING-INFO-FOR-SM, informations qui lui permettent de relayer
le message au MSC approprié (MSC auquel est rattachée MS destinataire). Cette requête contient
notamment le numéro MSISDN du destinataire.
Le HLR utilise ce numéro pour rechercher les informations de routage qu’il retourne au SMSC à
travers la réponse MAP-SEND-ROUTING-INFO-FOR-SM-ack. Cette réponse contient l’IMSI du
destinataire et l’adresse du MSC de rattachement.
5. Le SMSC délivre le message court au MSC à travers une requête MAP-MT-FORWARD-SHORT-
MESSAGE. Le MSC émet la requête MAP-SEND-INFO-FOR-MT-SMS à son VLR en vue d’obtenir des
informations relatives au destinataire. Le paramètre passé dans cette requête est l’IMSI du
destinataire.
6. A partir de l’IMSI fourni par le MSC, le VLR identifie la zone de localisation « LA » du mobile
destinataire. Le VLR lance alors une procédure de paging, technique consistant à effectuer une
recherche sur l’ensemble de la zone où est susceptible de se trouver le mobile demandé. La
procédure de paging est initiée par le VLR mais effectuée par le MSC. La station mobile
destinataire répond positivement. Le VLR retourne une réponseMAP-SEND-INFO-FOR-MT-SMS-
ackau MSC.
7. Le MSC relaye le message court à la station mobile destinataire via le message SMSDELIVER et
reçoit un acquittement SMS-STATUS-REPORT. [EFO 11]
Serveur Client
Canal de
contrôle Utilisateur
Commandes
Server Réponses Client
PI PI
Système de Système de
fichiers fichiers
Le USER-PI est chargé d'établir la connexion avec le serveur FTP, d'envoyer les
commandes FTP, de recevoir les réponses du SERVER-PI et de contrôler le USER-
DTP si besoin.
Lors de la connexion d'un client FTP à un serveur FTP, l’USER-PI initie la connexion au serveur
selon le protocole Telnet. Le client envoie des commandes FTP au serveur, ce dernier les
interprète, pilote son DTP, puis renvoie une réponse standard. Lorsque la connexion est établie, le
serveur-PI donne le port sur lequel les données seront envoyées au Client DTP. Le client DTP
écoute alors sur le port spécifié les données en provenance du serveur[POS 85].
3.4.2. Les commandes FTP :
Toutes les communications effectuées sur le canal de contrôle suivent les recommandations du
protocole Telnet. Ainsi les commandes FTP sont des chaînes de caractères Telnet (en code NVT-
ASCII) terminées par le code de fin de ligne Telnet Carriage Return « retour chariot ».
Les commandes FTP permettent de préciser :
Le port utilisé.
L’authentification de l’abonné est assurée par l’algorithme A3 qui exige que le MS et l’opérateur
ont la même clé Ki en calculant un code aléatoire SRES. Le transfert des données via le réseau GSM
est sécurisé grâce au mécanisme de cryptage A5. Le cryptage se fait uniquement entre le MS et le
BTS ; ailleurs aucun cryptage n’est valable. A5 utilise une clé symétrique Kc qui est générée grâce
au mécanisme A8 en utilisant la clé Ki. L’algorithme A5 (dit algorithme de chiffrement à flot) utilise
la clé Kc et les données comme paramètres pour générer la donnée cryptée Ekc qui sera circulée
dans le réseau entre le MS et le BTS.
Le A5/1: est la version la plus puissante de l’algorithme, l’algorithme fut inventé par
Biryukov, Shamir &Wagni mais ses spécifications n’ont jamais été publiées.
L’A5/2: l’algorithme à flot plus faible. Il a prouvé sa vulnérabilité en 1999 quand il a été
craqué par le cryptologue Goldberg. Depuis ; une troisième version : le A5/3 fut inventée
par Goldberg mais son utilisation demeure réservée [CHI 06].
3.5.4. Critères de sécurité du paiement mobile:
Un système de paiement mobile sécurisé doit disposer des propriétés suivantes:
Confidentialité: Les informations confidentielles doivent être sécurisées vis-à-vis d'une
personne, d’un processus ou périphérique non autorisées.
Authentification: assure que les parties ayant accès à une transaction ne sont pas des
imposteurs et ils sont de confiance.
Intégrité: l'information et les systèmes n'ont pas été modifiés ou corrompus par l'extérieur
des parties.
Autorisation: Vérifiez que l'utilisateur est autorisé à faire la transaction demandée avec le
code PIN de système SMS-paiements, la sécurité est bien meilleure sur ce sujet.
Non-répudiation: garantit que l'utilisateur ne doit pas nier qu’il a effectué une transaction.
3.5.5. Vulnérabilités d’un service SMS paiement :
Les messages SMS ne sont pas totalement sécurisés, il y a plusieurs failles de sécurité dans le
réseau GSM :
3.5.5.4. IMSI-Catcher :
Le téléphone du client est authentifié dans sa station de base, mais pas
inversement. Le téléphone n'est pas capable de notifier qu'il se connecte à une fausse
station de base. Pour cela, on utilise un appareil nommé IMSI-Catcher. Cette fausse
station de base ne connaît pas la clé du client mais elle peut extraire les informations
de la phase initiale de la conversation et contraindre son téléphone à faire des choses
qu’il ne veut pas, par exemple désactiver le chiffrement A5.
3.5.5.5. Man-in-the-middle:
Les paquets de données n'ont pas de sommes de contrôle cryptographiques
fortes. Un attaquant peut les falsifier et les renvoyer vers la station de base afin de se
faire passer pour quelqu’un d’autre auprès du destinataire ciblé.
3.6. Conclusion :
Dans ce chapitre, nous avons vu les différents protocoles utilisé dans notre application de
paiement mobile.
Par ailleurs, nous avons introduit certaines notions de cryptographie pour ensuite exposer les
différentes failles du réseau GSM qui seront étudiées pour sécuriser notre application.
Dans le chapitre suivant, nous allons effectuer en premier lieu une analyse de besoins, prendre en
considération la solution actuelle qui sera notre point de départ pour l’adapter. Nous procéderont
ensuite à l’implémentation et l’évaluation des résultats.
Chapitre 4 :
La L.S. est une connexion permanente constituée d'un ou de plusieurs tronçons d'un réseau
public mis bout à bout et affectée à une organisation (entreprise, administration,...). C'est une
liaison offrant des débits de connexion symétriques.
Par le biais d'un canal unique exclusivement réservé, une liaison spécialisée offre la possibilité
d'échanger tous types de données : voix, données et vidéos. Toutes les communications sont
normalement sécurisées et offrent ainsi une fiabilité et une confidentialité totales.
Avec ce choix on aura :
Une communication permanente en toute sécurité.
Une bande passante dédiée et garantie.
4.3.1. Mode d’interconnexion globale :
L’objectif visé consiste à mettre au point une solution qui permettra aux clients MOBILIS qui
disposent d’un compte CCP d’accéder au service du paiement par mobile via SMS.
L’application que nous avons développée est écrite en Java, langage de programmation
développé par SUN. En voici ses principaux avantages :
Il est doté en standard d'une riche bibliothèque de classes (ex : SMPP), comprenant la gestion des
interfaces graphiques (fenêtres, boites de dialogue, contrôles, menus, graphisme), la
programmation multitâche et la gestion des exceptions.
C'est un langage orienté objet dérivé du C multi plateforme.
La particularité principale de Java est que les logiciels écrits dans ce langage sont très facilement
portables sur plusieurs systèmes d'exploitation tels que l’Unix, Windows, Mac OS ou GNU/Linux,
avec peu ou pas de modifications.
4.4.2. Choix du système de gestion de bases de données « SGBD »:
Nous avons utilisé PostgreSQL 9.1, qui est un système de gestion de bases de données
relationnelles. Ce dernier a été développé à l'université de Californie au département des sciences
informatiques de Berkeley.
PostgreSQL est un descendant Open Source du code original de Berkeley. Il supporte une grande
partie du standard SQL tout en offrant de nombreuses fonctionnalités modernes :
requêtes complexes,
clés étrangères,
déclencheurs « triggers » qui définissent des opérations qui s’effectueront lorsqu’un
événement d’insert, update, delete surviendra dans la base de données,
l'héritage.
4.5. Préconception :
Avant de se lancer dans la conception, on admet que :
L’accès à la base de données est impossible à partir de l’extérieur,
L’utilisateur dispose d’un compte CCP au préalable,
L’utilisateur choisit, durant l’enregistrement, un mot de passe « code » que lui seul est
sensé connaître,
L’opérateur dispose d’une méthode sécurisée pour la distribution de l’application à
ses clients.
4.5.1. Objectifs et cahier de charges :
Le cahier de charges englobe toutes les procédures des traitements que doivent accomplir les
modules de l’application. Ainsi, les tâches à réaliser sont les suivantes:
Recevoir un message au niveau du SMSC par le biais du protocole MAP.
Diriger le message reçu vers l’ESME concerné où l’application sera développée, la
réception se fait par le biais du protocole SMPP.
Interroger la base de données pour donner l’autorisation du service au client, puis
refuser ou appliquer la transaction.
Un message sera envoyé au client contenant une réponse sur la demande.
Rédiger un rapport sous format PDF concernant la transaction.
Envoyer le rapport par le biais du protocole FTP.
4.5.2. Déroulement :
Le déroulement d’un tel service pour un client enregistré, se fait comme suit :
Le client MOBILIS « MS » envoie un SMS contenant le nom de service « SONELGAZ, SEAAL,
etc. »
L’ESME reçoit le SMS et vérifie l’existence du compte client en interrogeant la base de
données avec des commandes SQL.
Si l’authentification n’est pas vérifiée, un message d’erreur est envoyé au client : « Une
erreur s’est produite, veuillez vérifier la syntaxe ou demandez l’activation du service».
Si l’authentification est vérifiée, l’application « M-paiement » interroge les tables de la
BDD pour avoir des informations concernant la facture à payer et le compte CCP « état de
la facture, montant CCP, montant facture, etc. »
Si la facture est payée « montant facture=0 » le client reçoit comme message « votre
facture a été déjà payée».
Sinon, si le «montant facture > montant CCP » la transaction n’est pas possible, le
client reçoit comme message « impossible de payer votre facture, vous n’avez pas
assez de solde».
Sinon, on aura une possibilité de paiement (montant facture < montant CCP) le client
reçoit comme message « votre facture est payée ».
Dans le dernier cas, qui est notre objectif, la modification de plusieurs champs dans les tables de la
BDD sera faite :
état de la facture =>mise à jour pour garder les traces ;
montant facture => initialiser à 0 ;
débiter le montant du compte CCP du client ;
créditer le montant du compte CCP de SONELGAZ, SEAAL, etc.
Table 3 : « SONELGAZ » : elle contient les informations sur compte SONELGAZ du client
(figure 4.8, tableau 4.3)
Table 4 : « ccppro » : elle contient les informations sur les comptes CCP des sociétés
étatiques et privées (figure 4.9, tableau 4.4)
4.8. Implémentation :
Les différentes classes décrites dans la conception forment un ensemble de trois
applications à implémenter qui sont : l’envoi et la réception des messages, la communication
avec la base de données, la génération des rapports de paiement et l’envoi par le biais du
protocole FTP.
Figure 4.12 : L’acheminement du message via SMPP et son traitement via SQL et FTP.
4.10. Tests et évaluation :
4.10.1. Le 1ercas :
champ:
Montant ccp= 3000 da,
Montant facture=0da,
Montant SONELGAZ=400002000da,
Etat de la facture= « payée ».
Un rapport de paiement sera envoyée par la suite à SONELGAZ (voir figure 4.14).
Figure 4.14:rapport de paiement du 1er cas
Dans ce deuxième cas, Le client renvoi le message « » juste après la transaction alors que sa
Dans ce troisième cas, Le client envoi le message « » juste après la transaction alors que le
Le client reçoit le message « » : votre n’avez pas assez de solde pour effectuer la transaction.
4.11. Conclusion :
Nous avons montré dans ce chapitre la mise en place de notre application ainsi que les
différents protocoles utilisés pour son implémentation.
Ce processus est un outil de paiement des différentes factures par un simple moyen qui est le
service SMS. Il vise une facilité des transactions et une génération automatique des rapports
envoyées aux marchands, ce qui permet de régler certains problèmes.
Conclusion générale
Conclusion générale
Pour mener à bien notre projet, nous avons commencé par étudier les différentes facettes qui lui
sont liées.
Cependant, le défi majeur a été la proposition d’une solution qui réalise un compromis entre la
sécurité, la simplicité, la compatibilité et la rapidité.
La sécurité de cette application a été mise en évidence par des lignes spécialisées assurées par
l’opérateur lui-même.
Les technologies d’accès SMS sont à la portée de tous et ont contribuées à sa simplicité.
Ceci dit, nous pensons que notre solution manque de perfection. On pourrait l’améliorer en lui
ajoutant la technologie d’accès USSD, des modules de gestion et de monitoring par exemple.
Enfin, nous espérons que ce travail sera réutilisé et complété par MOBILIS pour une future
application de M-Paiement. Surtout avec son entrée en collaboration avec Algérie Poste pour le
lancement du service « RACIDI » qui offre une consultation du solde d’un compte CCP à tout
moment, par simple envoi d'un SMS.
Annexe
ANNEXE A :
L’USSD peut se traduire par « Données deService Supplémentaires Peu Structurées ». C’est
une technologie de communication sur le réseau GSM utilisée pour envoyer du texte entre un
téléphone mobile et une application sur le réseau.
L’USSD est similaire au SMS sauf que les transactions du USSD s’occurrent seulement durantune
session à temps réel. Il n'y a aucune possibilité d'enregistrement et transfert « Store &
Forward » qui est typique aux SMS « autrement dit, un SMSC n'est pas présent sur le circuit de
traitement ». Les temps de réponse pour des services basés USSD interactifs sont généralement
plus rapides que ceux utilisés pour les SMS.
En comparaison, On pourrait dire que l'USSD est un SMS sans mémoire, à savoir que ce sontdes
paquets de structure très semblable et usant le même canal de signalisation mais quel'utilisateur
qui devient indisponible après la sollicitation d'un service USSD ne le recevra jamais car le paquet
non délivré n'est pas resoumis ni gardé en mémoire.
Notons que cette technique a été utilisée par MOBILIS comme en entrant le code
*600#,l’utilisateur recevra sur l’écran de son mobile en moins de 2 secondes ; un menu en une
forme de navigation contenant plusieurs services. L’utilisateur peut entrer :
1 pour le rechargement,
2 pour la consultation du solde… etc.
ANNEXE B :
Les interfaces ainsi que les protocoles qu'elles utilisent sont normalisés.
Un réseau VPN repose sur un protocole appelé « protocole de tunneling ».Ce protocole permet de
faire circuler les informations de l’entreprise de façon cryptée d’un bout à l’autre du tunnel.
Ainsi, les utilisateurs ont l’impression de se connecter directement sur le réseau de leur
entreprise.
Le principe de tunneling consiste à construire un chemin virtuel après avoir identifié l’émetteur et
le destinataire. Par la suite, la source chiffre les données et les achemine en empruntant ce
chemin virtuel. Afin d’assurer un accès aisé et peu couteux aux intranets ou aux extranets
d’entreprise, les réseaux privés virtuels d’accès simulent un réseau
privé alors qu’ils utilisent en réalité une infrastructure d’accès partagée, comme internet.
Les principaux avantages d’un VPN :
Sécurité : assure des communications sécurisées et chiffrées.
Simplicité : utilise des circuits de télécommunication classiques.
Economique : utilise internet en tant que média principal de transport, ce qui évite les
couts liés à une ligne dédiée.
ANNEXE D :
Il y a trois types d’unités de signal :
Unités de signal d’appoint (FISU) : diffusent l’information de base seulement de niveau2.
Unités de signal de statut de lien (LSSU) : diffusent un ou deux octets d’information de
statut de lien entre les points de signalisation à l’une ou l’autre extrémité d’un lien.
Unités de signal de message (MSU) : portent toutes les commandes d’appel, question et
réponse de base de données, gestion de réseau, et données d’entretien de réseau dans
le domaine de l’information de signalisation (SIF), Les MSU ont une étiquette de
cheminementqui permet à un point de signalisation de commencement d’envoyer
l’information à un point de signalisation de destination à travers le réseau. [MOR 02]
[ART 03] ‘Autorité de régulation des télécommunications, Etude relative aux moyens de
paiements mobiles‘ : Etude réalisée par les cabinets IDATE et BIRD&BIRD pour le
compte de l’Autorité de régulation des télécommunications, Décembre 2003.
[PAP 02] ‘Mobile Payments: Preparing for the mCommerce Revolution’: White Paper,
Trintech, March 2002.
[VYA 01] ‘A Review of Mobile Commerce Technologies’: Amit Vyas, et al, Department of
Industrial Engineering, University of Iowa, May 2001.
[LAG 00] ‘Les réseaux radio mobiles’: Xavier Lagrange, IC2 (Information-Commande-
Communication), Edition Hermès, Paris, Mai 2000.
[TAB 97] ‘Réseaux Mobiles’: Sami Tabbane, Edition Hermès, Paris, 1997.
[ERA 07] ‘SMS Banking Services: A 21st century Innovation in banking technology ‘: Emmanuel
Rotimi Adagunodo, Obafemi Awolowo University, 2007.
[TOL 07] ‘SMPP optional TLV patch ’, Stipe Tolj, et al, RFC , December 2007.
[MOR 02] ’Signaling System 7 (SS7) Message Transfer Part 2 (MTP2)- User Adaptation
Layer’ K. Morneault, et al, RFC 3331, IETF, September 2002.
[MOR 06] ’Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) -User Adaptation Layer
(M3UA) ’, K. Morneaul, et al, RFC 4666, IETF, September 2006
[EFO 11] ’Le protocole MAP : Mobile Application Part’, Copyright EFORT 2011.
[POS 85] ’FILE TRANSFER PROTOCOL (FTP) ’, J. Postel, et al, RFC 765, IETF, Octobre 1985.
[CHI 06] ‘Security of mobile banking’, Kelvin Chikomo and Ming Ki Chong 2006.
[KHA 05] ’Security & Vulnerability Analysis of Wireless Messaging Protocols & Applications’,
A.Khan, 2005.
[ZNA 00] ‘Le réseau sémaphore numéro 7:principes, architecture et protocoles’, Simon
ZNATY Copyright EFORT Mai 2000.
[EFO 09] Copyright EFORT, ‘MTP3 : pour une meilleure compréhension de
SIGTRAN/M3UA’, 2009.
Webographie :