Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Département de génie électrique et de génie informatique
GEL−1001 Design I (méthodologie)
Technique 3 –Transmission et stockage de données
Hiver 2017
GEL−1001 Design I (méthodologie) 2
Plan
Transmission de l’information et systèmes de télécommunication
Stockage de l’information et bases de données
GEL−1001 Design I (méthodologie) 3
Transmission de l’information
Transmission de l’information (voix, images, données)
Systèmes de télécommunicationTransmission fiable de l’informationTransmission sécuritaire de
l’information
GEL−1001 Design I (méthodologie) 4
Transmission de l’informationRôle : Transmission à distance de l’information (signaux analogiques ou données numériques) par fil électrique, ondes radio ou optique.
émetteur récepteur
canal
GEL−1001 Design I (méthodologie) 5
Systèmes de télécommunication
• Réseaux sans fil (e.g. Wi-Fi, Bluetooth)
• Systèmes cellulaires (radio-mobiles)
• Câbles coaxiaux (e.g. DOCSIS)
• Transmission par fibres optiques
• Systèmes de transmission par satellite
• Radiodiffusion sans fil (e.g. ATSC, FM)
GEL−1001 Design I (méthodologie) 6
Systèmes de télécommunication : allocation des bandes de fréquence
Source : Industrie Canada
GEL−1001 Design I (méthodologie) 7
VLF, 3-30 kHz : navigation longue distance, sous-marinsLF, 30-300 kHz : navigation longue distance, balises radioMF, 300 kHz-3 MHz : radiolocalisation, radiodiffusion AMHF, 3-30 MHz : radio amateur, avions, naviresVHF, 30-300 MHz : télédiffusion (VHF), radio FM duplexUHF, 300 MHz-3 GHz : télédiffusion (UHF), radiolocalisation, GPS, téléphonie
cellulaireSHF, 3-30 GHz : communications satellites, liaisons micro-ondesEHF, 30-300 GHz : radars, systèmes satellites expérimentaux103 - 107 GHz : systèmes de communication optique
ISM : Wi-Fi, Bluetooth, téléphone sans fil, four micro-onde, …
Systèmes de télécommunication : allocation des bandes de fréquence
Réseaux sans fil:Wi-Fi (Wireless Fidelity) Norme IEEE 802.11 réseaux locaux sans fil (WLAN) Couches : physique et liaison Débit : 11 Mbit/s (802.11b), 54 Mbit/s (802.11g) et
150 Mbit/s (802.11n) Portée : 30 à 50 m (jusqu’à 10 fois plus à l’extérieur) Sécurité : 802.11i (gestion des clés, chiffrement et
authentification) Fréquences : 2.4 GHz et 5 GHz Réseaux : infrastructure (points d’accès) et ad hoc Protocole : sans connexion
GEL−1001 Design I (méthodologie) 8
GEL−1001 Design I (méthodologie) 9
Réseaux sans fil:Bluetooth Connexion radio courte distance entre ordinateurs
et périphériques (réseaux personnels) Portée : 1, 10, 100 mètres (3 puissances) Débit : 1 Mbit/s (v1) à 3 Mbit/s (v2) Fréquences : ISM de 2.4 à 2.485 GHz (UHF)
Réseaux sans fil:WiMAX
Norme (IEEE 802.16) réseaux métropolitains sans fil
Couches : physique et liaison Débit : 30-40 Mbit/s (1 Gbit/s stations fixes) Portée : 50 km Mobilité : norme 802.16e Fréquences : 2.3 GHz – 3.5 GHz (réglementées),
5.x GHz (non réglementées) Réseau : infrastructure et ad hoc Protocole : orienté connexion
GEL−1001 Design I (méthodologie) 10
Réseaux sans fil:ZigBee
Norme (IEEE 802.15.4) de réseaux personnels Plus simples et moins coûteux que Bluetooth Portée : jusqu’à 100 m Débit : 250 kbit/s Fréquences : 915 MHz et 2.6 GHz Créneau : réseaux ad hoc nécessitant de faibles
débits, une faible consommation énergétique et une bonne sécurité.
GEL−1001 Design I (méthodologie) 11
GEL−1001 Design I (méthodologie) 12
Systèmes radio-mobiles cellulaires 1G (analogique, voix) :
Radiocom 2000, NMT (Nordic Mobile Telephone), etc.
2G (numérique, voix) : GSM (Global System for Mobile Communication) débit : 9,05 kbit/s
3G (numérique, voix et données) : UMTS (Universal Mobile Telecommunications System) débit : 1.9 Mbit/s (idéal), 384 kbit/s (milieu urbain)
4G : (numérique) : LTE-Advanced (Long Term Evolution Advanced) débit : 1 Gbit/s (arrêté)
5G : (numérique) : en recherche et développement débit : >10 Gbit/s (projeté)
Couverture : dépend des fournisseurs…
GEL−1001 Design I (méthodologie) 13
Systèmes de télécommunication
• Transmetteur : transforme le message de manière à faciliter sa transmission dans le canal (modulation)
• Canal : médium entre le transmetteur et le récepteur (perturbations : bruit, interférences, affaiblissements)
• Récepteur : reconstituer le message transmis
( )m t ( )s t
récepteur
( )m t( )r t
transmetteur canal de transmission
GEL−1001 Design I (méthodologie) 14
Canaux de transmission (perturbations)• Sources de bruit
• Bruit thermique (récepteurs)• Radiations (cosmique)
• Interférences• Interférences provenant d’autres systèmes• Interférence intersymbole
• Propagation par trajets multiples• Atténuation du signal• Affaiblissements (fading) dus au multivoie• Affaiblissements sélectifs en fréquence
Transmission fiable de l’information
Deux besoins principauxTransmettre les données régulièrementÉviter toute erreur de données
Donnée erronéeJamais reçueMal reçueMal envoyée (dédoublée, non-autorisée)Modifiée intentionnellement
GEL−1001 Design I (méthodologie) 15
Transmettre régulièrement
Contraintes temporelles spécifiques imposées pour les envois de chaque utilisateur (p. ex. communications à heure fixe, distribuées dans le temps)
Réseau dimensionné en fonction de modèles et de prévisions du trafic
Garantir une qualité de service (QoS)
GEL−1001 Design I (méthodologie) 16
Éviter les erreurs
Accusé de réception (« acknowledge ») pour chaque paquet de données reçu
Vérifier les numéros d’envoi des donnéesDétecter si les données sont en erreur par
une somme de contrôle (« checksum »)Détecter et corriger les données en erreur
(code correcteur)…tolérance aux fautes! Authentifier les données chiffrées
GEL−1001 Design I (méthodologie) 17
GEL−1001 Design I (méthodologie) 18
Transmission sécuritaire de l’information
Chiffrement («encryption») Utilisation de clés pour chiffrer et déchiffrer les
informations transmises.Authentification Vérifier l’identité d’une personne pour autoriser
l’accès à des ressources.Contrôle d’accès Limite l’utilisation de ressources en fonction de
l’usager.
GEL−1001 Design I (méthodologie) 19
Chiffrement (« encryption ») Chiffrement symétrique Une même clé pour chiffrer et déchiffrer DES (Data Encryption Standard) AES (Advanced Encryption Standard)
Chiffrement asymétrique Paire composée d'une clé publique et d'une clé
privée Données chiffrées avec une clé doivent être
déchiffrées avec l’autre Cryptosystème RSA (Rivest-Shamir-Adleman) Cryptosystème à courbes elliptiques
Chiffrement symétrique
GEL−1001 Design I (méthodologie) 20
21
Chiffrement symétrique
cryptanalyste(enregistrement et
traitement des cryptogrammes)
Clé secrètede chiffrement
(e.g. DES, 3DES, AES)
Clé secrètede chiffrementsource
message en clairDestinataire
légitime(message en clair)
message chiffré (encrypté)
…W W W=X
(même) séquencepseudoaléatoire
1010110101…00110011
Séquencepseudoaléatoire
1010110101…00110011
Chiffrement asymétrique
GEL−1001 Design I (méthodologie) 22
Génération des clés
Chiffrement symétrique 128 bits, donc 2128 façons de chiffrerCertains disponibles pour 256 bits
Chiffrement asymétriqueAlgorithme RSA : basé sur la factorisation en
nombres premiers 1024 bits ou plus car la clé doit respecter une
structure particulière
GEL−1001 Design I (méthodologie) 23
Cryptographie à clé publique
Cryptosystème RSACryptosystème à courbe elliptique Possibilité d’authentifier et de chiffrer
simultanément
M C C M( )
BKE S( )AkD M ( )
BkD C ( )AKE S
S S
Confidentialité
GEL−1001 Design I (méthodologie) 25
Authentification
Valider l’identité d’un usager à partir d’informations personnelles. Disponible dans plusieurs environnementsUtilitaires disponibles (ex. LDAP, ASP.NET) Important – Chiffrement des mots de passe
GEL−1001 Design I (méthodologie) 26
Authentification par chiffrement
GEL−1001 Design I (méthodologie) 27
Cryptographie hybride
GEL−1001 Design I (méthodologie) 28
Cryptographie hybride
GEL−1001 Design I (méthodologie) 29
Contrôle d’accèsHabituellement basé sur des rôlesRole-based access control Le rôle détermine les permissions.
Nécessite l’authentification des usagers
GEL−1001 Design I (méthodologie) 30
GEL−1001 Design I (méthodologie) 31
Stockage de l’information
Conception logicielle -architecture
Composants et connecteursBases de données
GEL−1001 Design I (méthodologie) 32
Conception logicielle
Bien structurer notre code afin : D’offrir les fonctionnalités aux usagersD’assurer la qualité du logiciel
GEL−1001 Design I (méthodologie) 33
Conception logicielle
Repose sur un bon choix d’architectureArchitecture = composantes + connecteurs
GEL−1001 Design I (méthodologie) 34
Architecture logicielle
Presentation-Logic-DataModèle à 3 couchesUtile pour les systèmes d’information
Presentation (UI)
Application Logic
Data
• Saisir les inputs des usagers• Présenter les informations• Capter les événements de l’interface
• Gérer les commandes de l’usager• Traiter les données • Décider quoi présenter à l’usager
• Assurer la persistance des données• Faciliter la recherche et la manipulation
GEL−1001 Design I (méthodologie) 35
Architecture logicielle
Modèle client-serveurPrincipal modèle pour les systèmes
distribués
ClientServeur
+service1()+service2()…+serviceN()
Requête
Réponse
GEL−1001 Design I (méthodologie) 36
Architecture logicielle
Modèle client-serveurClient léger et client lourd (thin vs. fat)
ServeurClient lourd (fat)
UI Logic Logic Data
ServeurClient léger (thin)
UI Logic Data
GEL−1001 Design I (méthodologie) 37
Architecture logicielle
Modèle client-serveur WebClient léger - Affichage avec un browser
ServeurWeb
Requête (HTTP)
Réponse (HTML)
HTMLJavaScript
AjaxAngularJS
XMLJson…
ClientJ2EEPHP.NET
PythonRuby
…
Base de données
Outil pour assurer la persistance des données Stockage et utilisation
Les informations sont structurées. Nombre, symbole, date, chaîne de caractères.
Système de gestion de base de données (SGBD) Un serveur qui manipule et dirige l’accès au contenu
4 opérateurs CRUD de manipulation de données Create (création) Read (lecture) Update (mise à jour) Delete (retrait)
Hiver 2016 GEL−1001 Design I (méthodologie) 38
Base de données relationnelles
Enregistrement Tuple de données Plusieurs champs
Table Ensemble d’enregistrements
Clé primaire Désigne un enregistrement Différent pour chaque enregistrement
Clé étrangère Référence à une donnée connexe
Hiver 2016 GEL−1001 Design I (méthodologie) 39
Base de données relationnelles
Langage de requête SQL SQL – Structured query language Standard de l’industrie
Exemple
SELECT Nom, Prénom, Salaire FROM PERSONNEL WHERE Salaire * 12 > 50000 order by Salaire DESC;
Hiver 2016 GEL−1001 Design I (méthodologie) 40
Condition
Table sur laquelleon effectue la recherche
Informations recherchées
Tri sur les données
Conclusion Télécommunications et conception logicielle:
Systèmes de télécommunication Transmissions fiables et sécuritaires Réseaux numériques, Internet et TCP/IP Conception logicielle – architecture Base de données
Hiver 2016 GEL−1001 Design I (méthodologie) 41
Cours pertinents
Cours liés aux télécommunications et à la sécurité GLO-2000 Réseaux pour ingénieurs GEL-3006 Systèmes de télécommunications GIF-3001 Réseaux de transmission de données GEL-4200 Communications numériques GEL-7064 Théorie et pratique des codes correcteurs GLO-3100 Cryptographie et sécurité informatique IFT-3201 Sécurité dans les réseaux informatiques IFT-7016 Sécurité basée sur les langages: confidentialité
et intégrité
Hiver 2016 GEL−1001 Design I (méthodologie) 42
Cours pertinents Cours liés à la conception logicielle
GLO-2004 Génie logiciel orienté objet IFT-2004 Modèles et langages des bases de données GLO-2003 Introduction aux processus du génie logiciel GLO-3102 Développement d’applications Web GLO-3112 Développement avancé d’applications Web GLO-4000 Interface personne-machine GLO-4002 Qualité logicielle GLO-3013 Projet de conception multidisciplinaire GLO-4003 Architecture logicielle GLO-3002 Projet en génie logiciel (Design IV pour GLO)
Hiver 2016 GEL−1001 Design I (méthodologie) 43
Des questions ?
Hiver 2016 44