S3-kompatibel
SigV4, Multipart, Range-Reads, bedingte Anfragen und die Prüfsummen aktueller SDKs. Getestet mit dem AWS SDK und der aws-cli. Clients verbinden sich über einen Loadbalancer mit Failover.
S3-kompatibelverschlüsseltverteilt
parstore verschlüsselt jede Datei, zerlegt sie in Fragmente und verteilt diese auf unabhängige Hoster, Rechenzentren und Länder. Fällt ein Hoster aus, wird gesperrt oder geht pleite, bleiben die Daten lesbar. Wer einen einzelnen Speicher stiehlt, findet nur verschlüsselte Bruchstücke.
Prinzip
Eine vollständige Kopie bei einem zweiten Anbieter verdoppelt die Kosten und schützt nur gegen genau einen Ausfall. parstore nutzt Reed-Solomon-Codes: Aus beliebigen k von k+m Fragmenten lässt sich jede Datei wiederherstellen. Mit 4+2 übersteht sie zwei gleichzeitige Hoster-Ausfälle bei 1,5-fachem Speicher.
Jeder Chunk wird mit einem eigenen Schlüssel (AES-256-GCM) verschlüsselt, bevor er das Gateway verlässt. Kein Hoster sieht Klartext oder Schlüssel.
Der verschlüsselte Inhalt wird in k Datenfragmente geteilt, dazu kommen m Paritätsfragmente.
Jedes Fragment landet bei einem anderen Hoster, Rechenzentrum oder Land. Bestätigt wird ein Schreibvorgang erst, wenn das Schutzziel erreicht ist.
Beim Lesen genügen beliebige k Fragmente. Fehlt eines, wird es im Hintergrund neu berechnet und anderswo abgelegt.
Datei weiterhin lesbar. 4 von 6 Fragmenten erreichbar, 4 werden gebraucht. Im Hintergrund berechnet parstore die fehlenden Fragmente neu und legt sie bei anderen Hostern ab.
Funktionen
Nach außen ein normaler S3-Speicher. Nach innen ein System, das Ausfälle selbst behebt und Kosten, Geschwindigkeit und Ausfallsicherheit abwägt, mit Sicherheit immer an erster Stelle.
SigV4, Multipart, Range-Reads, bedingte Anfragen und die Prüfsummen aktueller SDKs. Getestet mit dem AWS SDK und der aws-cli. Clients verbinden sich über einen Loadbalancer mit Failover.
Fehlende oder beschädigte Fragmente werden aus den übrigen neu berechnet. Ein Scrubber prüft laufend die Prüfsummen, ohne dafür Schlüssel zu brauchen.
Bucket-Snapshots nach Zeitplan mit Aufbewahrungsregeln; Dateien, Ordner oder ganze Buckets zurückholen. Gleiche Inhalte innerhalb eines Kunden werden nur einmal gespeichert.
Ordner, Uploads, Vorschau, Suche, Versionen und Papierkorb. Freigabelinks mit Passwort und Ablaufdatum, Dateianfragen für Externe, private Bereiche und Aufbewahrungsregeln.
Buckets als Laufwerk oder Ordner unter Windows, macOS und Linux. Anmeldung über den Browser, eigene Zugangsschlüssel je Gerät, automatische Updates.
Kopien von Buckets auf SFTP-, FTP(S)- oder S3-Server mit datiertem Versionsordner, und Sicherungen solcher Server nach parstore. Bei Anzeichen eines Angriffs hält der Lauf an und wartet auf Freigabe.
Hoster, Land und Standort werden als getrennte Ausfallbereiche bewertet. Je Kunde lässt sich festlegen, in welchen Ländern Fragmente liegen dürfen, etwa nur in der EU.
Einkaufspreise je Backend, Lesen über günstige Fragmente zuerst und eine Simulation, welche Backends sich leeren lassen, mit monatlicher Ersparnis und einmaligen Umzugskosten.
Start auf einem Server. Weitere Server werden aufgenommen und führen die Metadaten über Raft mit; jeder Server ist Gateway. Updates laufen gestaffelt, Umcodieren im Hintergrund.
Die Metadaten werden regelmäßig verschlüsselt und codiert über mehrere Backends gesichert. Mit dem Wiederherstellungs-Kit entsteht daraus eine neue Instanz.
Kunden mit eigenem Portal, Team, Quotas und Zugangsschlüsseln. Speicher, Traffic und Anfragen werden stündlich je Kunde und Bucket erfasst; Einkaufs- und Verkaufspreise mit Margen-Warnungen.
Alles, was die Oberfläche kann, geht auch über eine selbstdokumentierende API mit Beispielen. Gefährliche Aktionen haben Probelauf, Bestätigung und Audit-Eintrag.
Sicherheit
Verschlüsselt wird vor dem Zerlegen. Ein einzelner Hoster hält nur verschlüsselte Bruchstücke ohne Namen und Zuordnung, und nie mehr davon, als verloren gehen dürfen.
AES-256-GCM mit eigenem Schlüssel für jeden Chunk. Bucket- und Mandantenschlüssel bleiben im Management, nie bei einem Hoster.
Jedes Fragment trägt Prüfsumme und MAC. Defekte werden beim Scrubben erkannt und repariert, ohne dass Klartext entsteht.
Ein Schreibvorgang wird erst bestätigt, wenn er nach der Regel seiner Speicherklasse sicher verteilt ist. Tests prüfen das bei jedem Build.
Pflicht-2FA mit TOTP, Rollen, Sitzungsverwaltung, Argon2id für Passwörter und ein Audit-Log für jede Änderung.
Root- und Wiederherstellungsschlüssel lassen sich mit Passphrase und frischem zweiten Faktor exportieren und vorab auf Lesbarkeit prüfen.
Destruktive Aktionen haben Probelauf und Wartefrist: Papierkorb für Dateien, Wiederherstellungsfrist für Buckets und Kunden.
Für wen
parstore ist ein junges Produkt in der Laborphase. Weitere Zugänge wie SFTP, WebDAV, NFS und SMB sind geplant.