41 votes

Puis-je crypter les données de manière à ce qu'elles puissent être lues normalement mais ne puissent pas être copiées ou modifiées?

Je veux partager mon disque dur de 500 Go avec un ami mais je veux l'encrypter de manière à ce que toutes les données puissent être lues normalement mais ne puissent pas être copiées ou éditées de quelque manière que ce soit.

Est-ce possible ?

3voto

evernat Points 954

Que pouvez-vous faire:

  1. Signer numériquement chaque fichier (ou, en alternance, un système de fichiers) de sorte que toute modification échoue à la signature et soit invalide.
  2. Chiffrer le système de fichiers afin que personne d'autre que vous et votre ami puissent le visualiser.
  3. Fournir à votre ami un ordinateur sur lequel vous avez un contrôle total, pour lui rendre beaucoup plus difficile de copier les données.

Que vous ne pouvez pas faire:

  1. Empêcher votre ami, s'il/elle peut lire un fichier sur son propre ordinateur, de copier ce fichier.
  2. Empêcher votre ami de signer numériquement son propre système de fichiers, sauf si vous utilisez un tiers de confiance pour gérer vos certificats d'authentification.

Que vous ne devriez pas faire:

  1. Donner des informations sensibles à quelqu'un en qui vous n'avez pas confiance.

1voto

Thomas Jung Points 571

Si un fichier peut être lu, il peut être copié. Après tout, copier revient à dire à votre ordinateur de lire votre fichier et de copier ce qu'il voit. Lorsque vous lisez un fichier, son contenu est chargé dans la RAM. Lorsque vous copiez un fichier, le contenu est chargé dans la RAM et écrit de la RAM vers le HDD. Puisque la RAM n'est pas sous votre contrôle, vous ne pouvez pas arrêter la deuxième étape.

S'il y a seulement un (ou quelques) types de fichiers que vous souhaitez partager (par exemple texte, vidéos, ppts, etc), suivez ces étapes (compétences en programmation requises) :

  1. Ajoutez un peu de données inutiles au début de chaque fichier (utilisez un programme). Les données doivent pouvoir être facilement supprimées de manière prévisible, et, si vous le souhaitez, elles peuvent être dérivées du nom de fichier. Par exemple, vous pouvez ajouter le hash md5 du nom de fichier au fichier. Pour le supprimer, vous n'avez qu'à supprimer le hash. Cette étape rendra tous les fichiers inutilisables pour votre ami à copier, car ils ne fonctionneront pas normalement.
  2. Utilisez une API pour écrire un visualiseur (vidéo|image|texte|quel que soit le type de fichier dont vous avez besoin). Java serait bien (assez d'APIs disponibles).
  3. Programmez votre visualiseur de fichiers pour supprimer les données inutiles de chaque fichier avant l'ouverture (notez qu'il ne doit pas les supprimer du fichier de manière permanente, mais simplement les supprimer de la copie qu'il charge dans la RAM).
  4. Programmez votre visualiseur de fichiers pour fonctionner uniquement sur le disque dur externe. Vous pouvez y parvenir en interséquent des fichiers système dans le HDD (utilisez attrib +s +h sur la ligne de commande Windows), et exigez ces fichiers au démarrage de votre programme. Vous pouvez également le rendre inopérant s'il est sur le lecteur C: (regardez le chemin d'accès actuel avec File.getCanonicalNamespace)

5.Et voilà ! Votre ami peut visualiser tous les fichiers à l'aide du visualiseur, mais les fichiers eux-mêmes sont presque inutiles.

La méthode ne fonctionnera pas pour les documents texte, mais votre algorithme de création de données inutiles peut être rendu plus sophistiqué pour brouiller l'ensemble du fichier de manière réversible (rot13 est un exemple simple).

Cette méthode ne serait pas non plus conseillée si vous n'avez qu'une seule copie des fichiers. Le brouillage devrait être réversible, mais des erreurs peuvent survenir.

C'est un peu ennuyeux de faire tout cela, mais c'est la seule solution que je connaisse. C'est exactement comme Netflix et tous les autres rendent leurs films en ligne inviolables. Ils utilisent leurs propres formats (probablement beaucoup plus sophistiqués que celui-ci), et ils ont leur propre visualiseur.

La protection en écriture peut être réalisée, mais elle est facilement contournable (qui possède le dispositif physique a tout en sa possession).

Si vous avez une copie séparée de ces fichiers, alors en utilisant la méthode de protection contre la copie ci-dessus automatiquement protégera vos fichiers en écriture, car l'utilisateur ne pourra pas modifier subtilement les fichiers. Il pourra les supprimer.

Si vous n'avez pas de copie séparée, les systèmes de fichiers NTFS offrent une option en lecture seule ; mais cela est facilement contournable.

1voto

krg Points 1

Je dirais non, tout comme tout le monde ci-dessus, mais je peux donner une idée succincte de la manière dont cela pourrait être fait.

Si chaque fichier sur le disque dur était crypté avec une clé, les données ne pourraient évidemment pas être copiées car elles ne contiendraient pas les données non cryptées. Mais si vous parveniez d'une manière ou d'une autre à faire en sorte que l'ordinateur déchiffre les données à chaque fois qu'une fonction de lecture est appelée, et chiffre les données à chaque fois qu'une fonction d'écriture est appelée, je pense que cela fonctionnerait.

Je suis également assez sûr que la vitesse poserait un très gros problème si un disque dur fonctionnait de cette manière, mais qui sait, peut-être le verrons-nous à l'avenir. En outre, le problème avec cela est que quiconque voulait vraiment obtenir les données de ce disque dur pourrait le faire s'ils savaient ce qu'ils faisaient, en supprimant simplement l'appel au chiffrement à chaque fois qu'une fonction d'écriture est appelée, ce qui mènerait à un disque dur non crypté.

En tout cas, c'est juste une idée, et je ne pense pas vraiment que ce soit une très bonne solution dans un avenir proche.

1voto

Sterling Hamilton Points 101

Chacun...supportez-moi, c'est un exercice de naïveté.

Je pense que l'OP demandait quelque chose de simple. Je pense aussi que si vous proposez une question aussi profonde à un groupe de personnes, beaucoup vont trop réfléchir.

Le but ici n'est pas d'empêcher ou de garantir qu'ils ne font rien. En fait, c'est de rendre tellement difficile de contourner ce qu'ils veulent faire - qu'ils préféreraient abandonner ou l'obtenir de "la manière la plus facile" en l'achetant ou autre chose.

Donc la vraie question est : "Comment puis-je rendre les choses difficiles pour un ami à moi s'il essaie de copier ces fichiers."

SI on suppose que votre ami est la personne moyenne et n'est pas capable de lire la mémoire et on suppose qu'ils ne vont pas lire ce post... :-)

Comme suggéré ci-dessus, une API pourrait fonctionner.
Rappelez-vous que tout ce qui est lu en mémoire est "obtenu".
La même chose peut être dite pour le système de fichiers, évidemment.

Du haut de ma tête, on pourrait construire un interprète.
C'est un concept lâche, mais je pense que cela fonctionnerait bien.

Si vous ne voulez pas écrire vous-même, alors n'allez pas plus loin.


Truc de Nerd

Alors cryptez votre disque dur.
Il y a plein d'autres fils sur comment le faire donc je ne vais pas couvrir cela ici.
Quand vous le cryptez, cela a du sens de pouvoir le décrypter.

Vous pouvez utiliser des clés ici. Si vous écriviez un fichier binaire, qui contenait la clé privée + une clé de sel qui était unique (ou vraiment proche de unique) au matériel que vous partagiez - comme le numéro de série de l'appareil. Le fichier binaire décrypterait les fichiers et les lirait dans un emballage.

Donc si les fichiers et le binaire étaient déplacés vers un autre appareil... cela échouerait simplement. Parce que les clés ne correspondent pas comme prévu.

Maintenant - admettons qu'une personne vraiment douée serait probablement encore capable de contourner cela de plusieurs façons.

MAIS - votre personne moyenne, probablement ne voudra pas investir le temps/l'effort/l'argent.

Quelques lectures légères :
http://fr.wikipedia.org/wiki/Chiffrement_de_disque

Quelques logiciels (pour que vous puissiez jouer avec le cryptage) :
http://www.truecrypt.org/

Le genre de "wrapper" le plus simple que vous pourriez construire est une application Adobe Air...
http://www.adobe.com/products/air.html

Cela fonctionnera sur plusieurs plates-formes (en théorie).
La barrière à l'entrée dans ce type de programmation est relativement basse.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/


J'espère que cela vous a aidé d'une petite manière.

1voto

lnostdal Points 111

Pas trivial avec des données numériques, grâce à de superbes outils open source disponibles. Cependant, vous pouvez créer votre propre format crypté qui est difficile à copier. Pensez au contenu protégé par DRM.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X