IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

sécuriser les échanges web services REST dans une appli java web


Sujet :

Services Web Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut sécuriser les échanges web services REST dans une appli java web
    Bonjour
    Je suis entrain de développer une application java web avec des web services Restful. Maintenant je veux que les échanges des web services soient cryptés. Je voudrais pour cela solliciter votre aide pour savoir comment m'y prendre. Quelles technologies existent et laquelle utilisée?
    Merci pour votre aide

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Rest étant basé sur HTTP, tu peux passer par sa version sécurisée à savoir HTTPS.
    Acheter un certificat ou le générer toi même pour tes tests, paramétrer ton serveur web ou d'application avec ce certificat et le tour est joué.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci pour la réponse. Mais cela ne nécessite pas des codes à ajouter à mes web services? Les clients qui appellent mes services n'auront pas d'autres traitements à faire de leur coté?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Salut,

    A priori, tu as plusieurs options :

    Chiffrer ou non le données.

    Passer par un canal en clair (http) ou chiffré (https).

    Si tes données sont si sensibles que cela, https seul ne suffit peut être pas. A toi alors de rajouter un cryptage de tes données qui t'es propre. Par exemple, tu peux utiliser AES ou toute autre méthode de ton choix.

    Au passage, et sans tomber dans la parano, les données n'en valent peut être pas la peine, mais rien ne garantit qu'à l'heure actuelle l'inviolabilité de HTTPS. Si les données en valent la peine donc les chiffrer AVANT de les balancer sur le réseau peut donc être une bonne idée. Mais cela suppose bien sur que la clé de chiffrage/déchiffrage soit elle même en sécurité.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci. Mais j'ai besoin d'informations sur les deux questions suivantes:

    1-Comment m'y prendre si je décide d'utiliser l'AES? comment je l'implémente dans mes web services?(je rappelle que je développe des services restful)

    2-Comment implémenter le système avec HTTPS? (je voudrais comprendre tout le mécanisme)

    Merci

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Pour AES, tu peux trouver un tuto là : http://jmdoudoux.developpez.com/cours/developpons/java/

    J'ai pas regardé dans le détail, mais il me semble que c'est les mêmes classes/packages que ce que j'ai eu l'occasion d'utiliser.


    Pour HTTPS, la plupart des conteneurs d'application proposent un mode HTTPS, c'est juste une question de configuration, et de certificat. Sachant que tu peux auto-signer ton certificat, mais dans ce cas, les appelants devront accepter ton certificat (tu sais, la fameuse pop-up "attention, certificat non signé" suivi de "je comprends les risques", etc...).

    Maintenant, la question à laquelle tu n'as pas répondu, c'est si tes données valent le coup d'être cryptées.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci pour l'aide. Je pense que mes données nécessitent le cryptage car c'est une application de vente sur le net. Si je comprend bien, pour la cryptographie il me faut lire la partie sécurité du cours de dej.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    En tout cas, cela t'expliquera les bases, maintenant, le cours date un peu je viens de voir que c'est du java 1.4, donc les librairies ont peut être évolué depuis, mais dans tous les cas, les grands principes restent les mêmes.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    ok merci

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    @Carhiboux
    Si on part du principe que HTTPS n'est pas fiable, tout peut être considéré comme non fiable...

    @tolstoy
    Si c'est seulement les échanges que tu veux sécuriser, HTTPS semble déjà un bon début. Si les clients de tes webservices sont des navigateurs, à priori pas de modifications à faire, si ce n'est vérifier que le type de certificat
    sera géré par les navigateurs cibles.
    Après tu peux effectivement chiffrer tes données les plus sensibles sur ton serveur, mais là, on dépasse le cadre de la sécurisation de l'échange.

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    https devrait suffire, avec quasiment rien à faire d'autre que de modifier le paramétrage du serveur.

    Pour ce qui est du chiffrement/déchiffrement des données par le poste client, je n'en vois pas l'intérêt, d'autant qu'il va falloir chiffrer/déchiffrer avec du javascript... ça risque de vite devenir galère

    Les choses simples étant souvent les meilleurs, tu peux regarder ce qu'on en dit ici...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Citation Envoyé par fr1man Voir le message
    @Carhiboux
    Si on part du principe que HTTPS n'est pas fiable, tout peut être considéré comme non fiable....
    Rien ne garantit que personne ne sait déchiffrer le HTTPS... Donc si les données sont extrêmement sensibles, d'où ma question sur le sujet, il peut être intéressant d'aller au delà du HTTPS.

    Dans le monde bancaire, beaucoup de données qui sont échangées entre les établissements bancaires sont chiffrées. Et transitent via des canaux de communication eux aussi chiffrés.

    Maintenant, clairement, si le but est de faire un site de commerce en ligne "lambda", chiffrer les données n'est sans doute pas nécessaires et HTTPS est sans doute suffisant.

    Mais ce n'est pas pour autant que l'on peut assurer avec certitude que personne n'est en mesure de lire les flux HTTPS. On peut juste raisonnablement penser que ceux qui en auraient éventuellement les moyens ne se donneraient pas la peine de le faire sur un petit site.

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Rien ne peut garantir que des données chiffrées échangées par des banques ne puissent être déchiffrées...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Non, bien sur, mais cela rajoute au moins un obstacle

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est sûr, mais dans le cadre d'une application web, dans la mesure où c'est le client (et donc du javascript la plupart du temps), je ne pense pas que ce soit un gage de sécurité.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Web Service c++ dans une application
    Par Celes_Vongola dans le forum C++
    Réponses: 4
    Dernier message: 11/07/2014, 09h16
  2. affichage des données provenant d'un web service soap dans une listview
    Par nagca dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/07/2011, 17h11
  3. appel d'un java web service à partir d'une page web
    Par issamos4 dans le forum Services Web
    Réponses: 2
    Dernier message: 31/05/2007, 14h26
  4. Réponses: 3
    Dernier message: 01/03/2007, 21h26
  5. [sql-apache] Intégrés dans une appli java
    Par if_zen dans le forum Général Java
    Réponses: 9
    Dernier message: 20/04/2006, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo