2010-11-08 4 views
0

Comment décririez-vous l'architecture d'un «système» qui divise un fichier sensible en plus petits morceaux sur différents serveurs afin de protéger le fichier?Programme de sécurité - Division de fichiers

Traduirions-nous le fichier en octets, puis distribuer ces octets sur différents serveurs? Comment iriez-vous même à rassembler toutes les pièces pour rappeler le fichier original (si vous avez les permissions correctes)?

C'est un problème théorique que je ne sais pas comment aborder. Des allusions à l'endroit où je devrais commencer?

+1

Vous cherchez à mettre en œuvre BitTorrent? –

+0

@ 0xA3: Je cherchais presque une brève documentation de l'architecture de BitTorrent. – pyfunc

Répondre

2

Pas une réponse faisant autorité mais vous obtiendrez beaucoup ici comme réponses qui fournit des réponses partielles à votre question. Cela pourrait vous donner une idée. Je suppose que vous créez un système de fichiers personnalisé.

Jetez un oeil à divers systèmes de fichiers comme

Par conséquent architecturalement, il sera très similaire à la façon dont un système de fichiers distribué typique est implémenté.

  1. Il devrait s'agir d'une architecture client/serveur en mode maître/esclave. Vous devrez créer un protocole personnalisé pour leur communication.
  2. Processus maître est ce que vous allez parler pour récupérer/écrire vos fichiers.
  3. fs esclaves seraient répartis sur différents serveurs qui gardera un fichier étiqueté qui contient des bits d'information partiels d'un fichier
  4. Maître fs contiendra une par entrée fichier qui permet de localiser toutes les séquences de données marquées répartis sur différents serveurs esclaves.
  5. Vous pourriez avoir une redondance avec une donnée étiquetée stockée sur plusieurs serveurs.
  6. Le protocole de communication devra être conçu pour permettre à plusieurs serveurs de répondre aux données marquées demandées. Maître en prend simplement un et en ignore les autres dans le cas le plus simple.
  7. Les exigences de sécurité habituelles doivent être respectées pour le stockage et la communication de ces informations entre les serveurs.

Vous les plus intéressés par le système de fichiers distribué sécurisé mis en œuvre en Python: Tahoe

+1

@thesimpledesigner: J'ai mis à jour ma réponse pour ajouter un lien vers tahoe qui semble proche de ce que vous voulez. – pyfunc

+0

Pourrions-nous potentiellement utiliser des tables de hachage pour garder une trace des différentes pièces d'une pièce de données?Je ne sais pas assez sur les tables de hachage, mais serait-ce un système de fichiers de table de hachage distribué? – thesimpledesigner

+0

@thesimpledesigner: Ma compréhension est à la fois maître/client conserve une table de consultation. Cela doit être fortement optimisé car il formerait le cœur de la recherche. Master conserve les balises du fichier principal partitionné tandis que le client conservera les balises de tous les fichiers qu'il stocke. – pyfunc