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

Android Discussion :

Manipulation et decryptage de fichier


Sujet :

Android

  1. #1
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut Manipulation et decryptage de fichier
    Bonjour

    Je voulais votre avis sur une solution de sécurisation des vidéos de nos clients que nous avons en tête.

    Déjà, la plate forme cible est android 2.1(API 7)

    L'utilisateur de notre service qui télécharge une vidéo la reçoit encodée et mise dans un répertoire non partagé :
    data/data/monappli/mesvideos/

    Lorsqu'il veut lire la vidéo(maximum 70Mo), nous lançons un décryptage de celle-ci à l'aide d'une clef en dur dans l'application ou d'une clef différente par vidéo sauvegardée dans un fichier local(toujours dans ce répertoire data).

    Le fichier décryptée est placé dans un répertoire temporaire
    data/data/monappli/temp

    Suppression du fichier en fin de lecture.
    (le dossier temp est de toute façon vidé a chaque démarrage de l'application).

    Est ce que cela vous parait faisable et assez chiant pour dissuader des gens de copier les fichiers ?
    Notre cible commerciale a entre 4 et 14 ans, donc pas des dieux de l'informatique non plus.

    Plusieurs problèmes se sont posés a nous lorsque nous avons essayé :
    - le décodage du fichier fini toujours par un "illegal bloc decryption".
    - la manipulation de fichier est plus que laborieuse sous java, et en particulier android. Des dizaines de lignes, de fonctions ou de classes sont nécessaires pour faire la moindre opération mineure comme de voir le contenu d'un fichier ou de le décrypter... Connaissez vous un bon tuto sur la manipulation de fichier sur android et sur les permissions sur cet OS ?

    Merci
    Pierre

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Lorsqu'il veut lire la vidéo(maximum 70Mo), nous lançons un décryptage de celle-ci à l'aide d'une clef en dur dans l'application ou d'une clef différente par vidéo sauvegardée dans un fichier local(toujours dans ce répertoire data).

    Le fichier décryptée est placé dans un répertoire temporaire
    data/data/monappli/temp
    Il faut que tu revoie ce cas là , si ta vidéo fait au maximum 70Mo alors je te déconseille de la sauvegarder sur le dossier de ton application mais plutôt sur ta sdcard .

    Sinon ne peux tu pas tout simplement décoder ta vidéo en flux tendu . ( c'est t'à dire chaque fois que tu lis une nouvelle trame de ta vidéo ).


    - la manipulation de fichier est plus que laborieuse sous java, et en particulier android. Des dizaines de lignes, de fonctions ou de classes sont nécessaires pour faire la moindre opération mineure comme de voir le contenu d'un fichier ou de le décrypter... Connaissez vous un bon tuto sur la manipulation de fichier sur android et sur les permissions sur cet OS ?
    Déjà en premier lieu .
    http://java.developpez.com/faq/java/...ngage_fichiers

    Après tu as des différences sous android au niveau de la gestion de cas fichiers je te conseille de lire cette page
    http://developer.android.com/guide/t...a-storage.html
    Sur les Internal et External Storage.

  3. #3
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Il faut que tu revoie ce cas là , si ta vidéo fait au maximum 70Mo alors je te déconseille de la sauvegarder sur le dossier de ton application mais plutôt sur ta sdcard .

    Sinon ne peux tu pas tout simplement décoder ta vidéo en flux tendu . ( c'est t'à dire chaque fois que tu lis une nouvelle trame de ta vidéo ).
    Décoder de l'AES en flux tendu, je ne sais pas trop si c'est possible.Effectivement, le problème de la taille nous embête, mais il est difficile d'imposer une sdcard...

    En plus, notre application ne sera embarqué pour l'instant que sur une tablette, qui a un peu de place tout de même.

    Citation Envoyé par Feanorin Voir le message
    Déjà en premier lieu .
    http://java.developpez.com/faq/java/...ngage_fichiers

    Après tu as des différences sous android au niveau de la gestion de cas fichiers je te conseille de lire cette page
    http://developer.android.com/guide/t...a-storage.html
    Sur les Internal et External Storage.
    Merci, je regarde ca.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Par défaut
    Citation Envoyé par pmithrandir Voir le message
    Décoder de l'AES en flux tendu, je ne sais pas trop si c'est possible.Effectivement, le problème de la taille nous embête, mais il est difficile d'imposer une sdcard...

    En plus, notre application ne sera embarqué pour l'instant que sur une tablette, qui a un peu de place tout de même.



    Merci, je regarde ca.
    AES est un algorithme de chiffrement par bloc, il doit y avoir un soucis sur le dernier bloc, la taille du fichier encodé est forcément un multiple de la taille d'un bloc.

    Sinon AES est fiable en tant que tel, mais c'est votre protocole qui ne l'est pas. Stocker les clés dans l'application n'est pas bon du tout. Il est possible d'extraire votre liste de clé.
    Il vous faut un système qui génère une clé de façon dynamique.

  5. #5
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    AES est un algorithme de chiffrement par bloc, il doit y avoir un soucis sur le dernier bloc, la taille du fichier encodé est forcément un multiple de la taille d'un bloc.

    Sinon AES est fiable en tant que tel, mais c'est votre protocole qui ne l'est pas. Stocker les clés dans l'application n'est pas bon du tout. Il est possible d'extraire votre liste de clé.
    Il vous faut un système qui génère une clé de façon dynamique.
    On a cru trouver le même genre d'erreur qui serait du a un soucis d'encodage de fichier. En effet on passe par du String(avec encodage de caractère forcement...), et il semble que du Byte serait mieux. Donc un encodage en base64 à un moment.

    Pour la clef, je ne suis pas sur que notre serveur puisse générer des fichiers différents pour chacune des vidéos.
    Et la clef doit obligatoirement etre disponible sur la tablette, puisqu'elle doit pouvoir lire les vidéos en mode hors ligne.

    Comment ferais tu ?

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Par défaut
    Dans ce cas trouvez au moins une astuce pour obfusquer les clés, et rendre le déchiffrement assez fastidieux pour décourager les pirates en herbe, qui ne manqueront pas de s'attaquer à votre système.

    Car passer un .jar dans un jad pour extraire le code ça prend 2 minutes.

Discussions similaires

  1. [ZF 1.8] Manipuler des répertoires et fichiers
    Par guiyomh dans le forum Autres composants
    Réponses: 2
    Dernier message: 30/07/2009, 16h51
  2. Manipuler les tags des fichiers Ogg et FLAC
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 16/05/2009, 14h50
  3. Manipulation de données, de fichiers avec Wxwidgets
    Par mmansour79 dans le forum wxWidgets
    Réponses: 3
    Dernier message: 02/03/2007, 13h21
  4. [VB6] Manipulation avancé d'un fichier ini
    Par Alvaten dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/03/2007, 15h12
  5. Peut on manipuler le système de fichier par T-SQL?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2003, 09h19

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