29
HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole Store Crédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015 1 PARTENAIRE SECURITE Présentation Technique 2015 V1.1

[MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

  • Upload
    bemyapp

  • View
    210

  • Download
    2

Embed Size (px)

Citation preview

Page 1: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

1

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

1

PARTENAIRESECURITE

Présentation

Technique

2015 V1.1

Page 2: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

2

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

2Agenda

1. L’API CA STORE : L’ACCÈS AUX DONNÉES BANCAIRES

2. QUELQUES FONCTIONNALITÉS CLÉS

3. LA SÉCURITÉ AU CŒUR DE L’API

4. LES BONNES PRATIQUES

Page 3: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

3

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

3

PARTIE 1

L’API CA STORE

L’ACCÈS AUX DONNÉES BANCAIRES

Page 4: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

4

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

4L’écosystème CA Store

DEVELOPPEUR

OPEN API

OPEN INNOVATION

LE STORE

Page 5: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

5

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

5L’API CA Store

- Interagir avec le service de contrôle des accès centralisé

- Imposer un mécanisme d’authentification standard, porté par l’API

- Autoriser ou bloquer les applications à dialoguer avec l’API

GARANTIR LE NIVEAU DE SECURITE DES

APPLICATIONS

- Consulter ses comptes bancaires

- Effectuer un virement sur des RIB préenregistrés

- Accéder aux informations Agences :Géolocalisation, contacts

- Renforcer la relation client : Mails, Rendez-vous, Notification,…

EXPOSER LES SERVICES BANCAIRES

Sur des standards

API documentée en ligne

Starter-kit « open »

- Fournir une documentation en ligne

- Fournir des comptes et données de tests

- Outiller le cycle de vie l’application (développements, recette, déploiement, validation, mise à jour, fin de vie)

FACILITER LES DEVELOPPEMENTS SUR

MOBILE

Page 6: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

6

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

6

*

https://www.creditagricolestore.fr/castore-data-provider/rest/V1

/session

Une API définie selon le standard REST

Session

GET

Résultat :

Page 7: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

7

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

7

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1

/utilisateurs/6678417068863580GET

Résultat :

Page 8: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

8

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

8

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1

/utilisateurs/6678417068863580/comptesBAMGET

(*) BAM : banque en ligne

Compte BAM* Ile-de-france PACA

Résultat :

Page 9: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

9

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

9

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1

/utilisateurs/6678417068863580/comptesBAM/6679269448408006/comptesGET

(*) BAM : banque en ligne

Compte BAM*

Compte bancaire Compte persoCompte chèque Compte joint

Ile-de-france PACA

Résultat :

Page 10: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

10

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

10

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1

/utilisateurs/6678417068863580/comptesBAM/6679269448408006/comptes/66792…GET

(*) BAM : banque en ligne

Compte BAM*

Compte bancaire Compte persoCompte chèque Compte joint

Ile-de-france PACA

Carte de crédit S108 **** **** 4950S108 **** **** 7976

Résultat :

Page 11: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

11

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

11

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1/utilisateurs/6678417068863580/comptesBAM/6679269448408006/comptes/66792…

GET

(*) BAM : banque en ligne

Compte BAM*

Compte bancaire Compte persoCompte chèque Compte joint

Ile-de-france PACA

Carte de crédit S108 **** **** 4950S108 **** **** 7976

Réserve de crédit SOFINCO

Page 12: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

12

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

12

*

Une API définie selon le standard REST

Session

*

Compte CAStore {login CA Store}

https://www.creditagricolestore.fr/castore-data-provider/rest/V1/utilisateurs/6678417068863580/comptesBAM/6679269448408006/comptes/66792…

GET

(*) BAM : banque en ligne

Compte BAM*

Compte bancaire Compte persoCompte chèque Compte joint

Ile-de-france PACA

Carte de crédit S108 **** **** 4950S108 **** **** 7976

Réserve de crédit SOFINCO

Tous les objets sont identifiés par des id uniques (compte CA store, compte BAM,

compte bancaire, carte de crédit etc.)

Formats disponibles : json ou xml (via l’en tête http « Content-type »)

Fonctionnalités diverses : virement, géolocalisation des agences, espace de stockage, etc.

Page 13: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

13

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

13Authentification et contrôle d’accès

PRINCIPE FONDATEUR

« UNE SÉCURITÉ PORTÉE PAR LE SERVEUR CA STORE »

Standard OAUTH (v1.0a) pour les échanges applications CA Store :- Chaque requête sortante de l’application est signée- Chaque requête est contrôlée côté serveur (conformité, droit d’accès etc.)

Authentification déléguée au serveur :‐ Au travers d’une Web View, selon le standard Oauth 1

Un contrôle d’accès renforcé pour les opérations sensibles- Système de ré-authentification sur Web View pour le virement

Page 14: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

14

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

14

PARTIE 2

FONCTIONNALITÉS CLÉS

OUTILS DÉVELOPPEURS AUTHENTIFICATION VIREMENT PERSONNALISATION

Page 15: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

15

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

15Outils développeurs : Comment démarrer ?

Création d’un compte développeur CA Store sur le portail- L’utilisateur doit tout d’abord se créer un compte CA Store via le portail

- L’utilisateur choisit à ce moment ses identifiant et mot de passe CA Store.

Création d’une application- L’espace développeur permet de créer des applications

- Le développeur obtient en retour un jeton de sécurité à paramétrer dans son application (oAuth v1.0a)

Raccordement des comptes BAM- Le développeur peut raccorder des comptes bancaires fictifs à son compte CA Store

- Les codes d’accès sont disponibles sur le portail

Authentification et accès aux données fictives via mon application- Le développeur peut utiliser son propre compte de développeur pour tester son application en cours de développement.

- Note : les comptes clients ne sont pas autorisés sur les applications en cours de développement.

Une documentation en ligne- Liste des fonctionnalités

- Documentation techniques de chaque Web Service

https://www.creditagricolestore.fr/castore-data-provider/docs/V1/

Page 16: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

16

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

16Authentification : implémentation de OAuth dans l’application mobile

Authentification de l’application mobile

Authentification et autorisation de

l’utilisateur

Obtention de l’accesstoken

Accès aux ressources

Etape à prendre en charge avec un client Oauth(pour générer les signatures)

Etape à prendre en charge avec objet Web View dans l’application(appel d’une page web CA Store)

Etape à prendre en charge avec un client Oauth(nécessite des signatures)

Etape à prendre en charge avec un client Oauth(pour générer les signatures)

Page 17: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

17

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

17Authentification : implémentation de OAuth dans l’application mobile

Authentification de l’application mobile

Authentification et autorisation de

l’utilisateur

Obtention de l’accesstoken

Accès aux ressources

Etape à prendre en charge avec un client Oauth(pour générer les signatures)

Etape à prendre en charge avec objet Web View dans l’application(appel d’une page web CA Store)

Etape à prendre en charge avec un client Oauth(nécessite des signatures)

Etape à prendre en charge avec un client Oauth(pour générer les signatures)

Mécanisme OAuth v1.0a relativement complexe (signatures etc.)

Eviter de les recoder, et s’appuyer sur des librairies qui implémentent ces signatures

Page 18: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

18

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

18Virement : préparation du virement et ré-authentification de l’utilisateur

Page dédiée dans la documentation :https://www.creditagricolestore.fr/castore-data-provider/docs/V1/transfer.html

1 Préparation du virement 2 Exécution du virement 3 Reprise en main par l’application

- Appelle d’une page hébergée par le serveur, via un objet Web View dans l’application

- Le client y invité à se ré-authentifié

- Etape à la charge de l’application

- Vise à récupérer l’ensemble des pré-requis fonctionnel (choix des comptes) et technique (demande d’un nouveau jeton OAuth)

- Mécanisme de redirection disponible (url de retour à indiquer lors de l’appelle à la Web View)

Les virements ne sont possibles que entre les RIBs préenregistrés par le client dans sa banque en ligne CA Store ne permet pas d’enregistrer de nouveaux RIBs

Page 19: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

19

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

19Customisation des Web View

- Possibilité d’injecter un CSS pour surcharger les parties graphiques et chacun des textes présent dans l’ensemble des Web View (authentification, création de compte, virement, …)

- Fonctionnalité administrable via l’espace développeur sur le portail Web CA Store- 1 seul fichier CSS pour l’ensemble des Web View

Web View d’origine Exemple de customisation

Page 20: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

20

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

20

PARTIE 3

LA SECURITE AU CŒUR DE L’API CA STORE

Page 21: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

21

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

21ANONYMISATION DES DONNÉES ET AUTORISATIONS

API CA Store

Utilisateur CA

BAM

Données nominativesDonnées non nominatives et/ou chiffrées

Données non nominatives

Système d’information Crédit AgricoleInternet

Aucune données nominatives en sortie de l’API :• Pas de nom des clients• Pas de numéros de comptes, numéro de cartes, etc…

Vérification exhaustive des requêtes entrantes :• Technique : chaque requête est signée (protocole oAuth v1.0a)• Fonctionnelle : la requête doit porter sur le compte client / compte BAM authentifié.

Une spécificité liée au contexte bancaire :• Les jetons de sécurité oAuth ne sont valides que 30 min

Page 22: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

22

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

22CYCLE DE VIE D’UNE APPLICATION CA STORE

Jeton de productionNe fonctionne que sur données

réelles (client)

Jeton de développementNe fonctionne que sur données de tests

(développeurs)

APP

Page 23: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

23

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

23CYCLE DE VIE D’UNE APPLICATION CA STORE

Application en développement(fonctionne avec un jeton de

développement)

STORE

LabelisationNe s’applique qu’au moment de la

publication de l’application dans le store) + SURVEILLANCE

! Anomalie détectée

Application prête pour le déploiement

(fonctionne avec un jeton de production)

Jeton applicationNe fonctionne que sur données

réelles (client)

APP

Packaging

« Invalidation » du jeton application

Page 24: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

24

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

24

PARTIE 4

BONNES PRATIQUES

Page 25: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

25

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

25Les bonnes pratiques

• Ne pas recoder oAuth :

– Utiliser les librairies disponibles sur le web pour contourner les difficultés potentielles ou éviter de créer des failles desécurité

• Ne pas collecter d’information personnelle auprès du client, ne pas stocker d’information personnelle en parallèle des données CA Store au sein d’une application :

– Pour ne pas provoquer de rupture dans la chaîne d’anonymisation CA Store

• Penser au contexte multi-utilisateur / multi-BAM : pas d’agrégation des données

– En cas de stockage des données sur le mobile, veiller à bien distinguer les contextes utilisateurs

• Non diffusion des données vers l’extérieur « non justifiée »

– Les données issues de l’API CA Store, même anonymisées, doivent rester dans des environnements maitrisés / connus / référencés

– En cas de doute, ne pas hésiter à solliciter le basecamp CA Store.

• Respecter les standards de sécurité

– En particulier : ne pas contourner les mécanismes systèmes de vérification des certificats SSL

Page 26: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

26

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

26Références

• URL du portail CA Store : https://www.creditagricolestore.fr/

• Documentation de l’API CA Store en ligne : https://www.creditagricolestore.fr/castore-data-provider/docs/V1/

• Espace communautaire entre les développeurs / digiculteurs CA Store : https://fnca.basecamphq.com/

• Exemple de client OAuth :

• Ex. Android : https://code.google.com/p/oauth-signpost/downloads/list

• Ex. iOS : https://github.com/bdbergeron/BDBOAuth1Manager

• Ex. JS : – https://github.com/bettiolo/oauth-signature-js

– http://oauth.googlecode.com/svn/code/javascript/

Page 27: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

27

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

27

Questions ?

Page 28: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

28

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

28

Harmonie Technologie Cabinet de conseil et d’expertise technique

Spécialiste de la sécurité du système d’information

60 rue la Boétie75 008 Paris

Nous contacter 01 73 54 30 00 / [email protected]

Page 29: [MBF2] API Simone du Crédit Agricole Store par Guillaume Coindet

29

HARMONIE TECHNOLOGIE Spécialiste de la sécurité du SI – partenaire sécurité du Crédit Agricole StoreCrédit Agricole « MOBILE BANKING FACTORY2» - Présentation technique - Samedi 14 mars 2015

29Je suis client CA : Comment utiliser une application ?

Première connexion Création d’un compte client CA Store↗ Un lien d’inscription est disponible sur la page d’authentification

↗ L’utilisateur peut alors choisir ses identifiants

Authentification et accès aux données via une application mobile↗ De retour sur l’application, l’utilisateur peut s’authentifier en renseignant ses

identifiants choisis lors de l’inscription (plus de saisie des identifiants bancaires);

Raccordement des comptes BAM↗ Pendant la phase d’inscription, l’utilisateur CA Store est invité à raccorder son

compte BAM, c’est-à-dire saisir ses identifiants bancaires

↗ Les identifiants bancaires n’auront plus à être saisis par la suite