securing sensapp plateforme de gestion de données de capteurs 1 el mahdi aregabi jérôme brunel...
TRANSCRIPT
1
SECURING SENSAPPPlateforme de gestion de données de capteurs
El Mahdi AREGABIJérôme BRUNELThomas DIAZJulien MICHEL
Brice MORINSébastien MOSSER
2
Solution existante
3
Notre installation
4
Enjeux• Empêcher la lecture des données en clair confidentialité• Eviter l’usurpation d’identité des capteurs et des clients authentification• Empêcher les modifications des données intégrité• Assurer la rétrocompatibilité avec la solution existante• Conserver des performances correctes
5
CAPTEURS ↔ PLATEFORME
UTILISATEURS ↔ PLATEFORME
STOCKAGE
6
Capteurs ↔ plateforme
• SensApp joignable par HTTP utilisation d’HTTPS pour sécuriser le canal de communication
• Pas d’authentification des capteurs introduction d’un secret partagé entre capteurs et plateforme
7
CAPTEURS ↔ PLATEFORME
UTILISATEURS ↔ PLATEFORME
STOCKAGE
8
La plateforme
SensAppApplication
externe
• Autorisation des accès aux applications tierces• Authentification des utilisateurs vis-à-vis de SensApp
Utilisateurs ↔ plateforme
9
10
11
12
Application Externe SensApp
Redirection
AnnulationIdentification
Application autorisation
Erreur
Code temporaire
Code tempo, id, Secret
Génération jetonJeton
Génération du code temporaire
Demande de connexion
Requête + Jeton Vérification du jeton
succès
échec
annuler
Refuser
valider
Vérificationéchec succèsErreur
Erreur
Réponse Jeton valide
Jeton non valide
13
CAPTEURS ↔ PLATEFORME
UTILISATEURS ↔ PLATEFORME
STOCKAGE
14
Enjeux• Seul le registre est protégé par le système OAuth
• Protection des informations sur les capteurs
• La base de données est accessible à tout le monde• Les données elles-mêmes ne sont pas protégées• Un attaquant peut les lire sans autorisation• Il peut en ajouter de mauvaises ou en corrompre des bonnes
15
Contraintes à respecter• Ne pas sacrifier les performances de la plateforme
• La base de données est très sollicitée• Minimiser la consommation de temps de calcul• Minimiser l’espace de stockage nécessaire• Minimiser la bande passante nécessaire
• Permettre la mise à l’échelle• Couplage minimal avec l’architecture
• Assurer la rétrocompatibilité
• Permettre une sécurité forte lorsque c’est nécessaire• Eviter d’exposer un point d’attaque sensible• Permettre aux utilisateurs de maîtriser leur sécurité• Notion de sécurité décentralisée
16
Solution retenue• Sécurité déportée aux abords de SensApp
• Chiffrement et authentification des données par les capteurs• Déchiffrement et vérification des données par un logiciel client• Complètement transparent pour la plateforme• Le chiffrement et l’authentification sont optionnels
• Cryptographie de haut niveau• Chiffrement en AES (256 bits)• Authentification par empreinte HMAC SHA-256
17
Mise en œuvre• L’arduino prend totalement en charge la cryptographie
• Il chiffre chaque mesure par AES• Il calcule une empreinte HMAC d’authentification toutes les x mesures
• Logiciel PC java de déchiffrement• Prend en entrée les données chiffrées / authentifiées au format SensApp (JSON)• Prend en entrée les clés secrètes• Produit un fichier de mesures en clair exploitable sur un tableur (CSV)
18
Avantages et scénario• Impact sur la plateforme négligeable• Rétrocompatibilité parfaite• Ne nécessite la confiance en aucune autorité centrale
• Modèle sans confiance• L’utilisateur génère lui-même ses clés et les implante dans le capteur• Il procède au déchiffrement sur un ordinateur hors ligne
19
Vidéo de démonstration :
https://www.dropbox.com/sh/04s3qh9qr23tdyq/YecZCYoChk
20
Résultats• Confidentialité
• des communications assurée par HTTPS• des données assurée par un chiffrement à clé secrète
• Authentification• des capteurs par vérification d’un secret pré-partagé• des clients par le mécanisme de jetons d’OAuth
• Intégrité• des données par vérification de HMACs
• Rétrocompatibilité respectée• Performances
• Envoi de plus de 20 mesures de capteurs par seconde• Passerelle gère plusieurs capteurs
21
Management
Lot 1 Lot 2 Lot 3 Lot 4 Lot 50
50
100
150
200
250
300
350
400
Suivi budgétaire par lot
PrévuConsommé
22
Management
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 200
200
400
600
800
1000
1200
1400
Suivi budgétaire
PrévuConsommé
Semaine
23
Perspectives• Modèle à carte à puce
• Une autorité fiable émet les capteurs et une carte à puce associée• La carte à puce est requise pour déchiffrer• Utilisé par le principal concurrent de SensApp
• Communications sans-fil entre capteurs et passerelle
24
Questions