securing sensapp plateforme de gestion de données de capteurs 1 el mahdi aregabi jérôme brunel...

Post on 03-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related