Wenn Sie S3 SSE verwenden, kann jeder mit den richtigen IAM-Anmeldeinformationen Ihre S3-Objekte lesen und / oder schreiben, genau wie wenn Sie SSE nicht verwenden. Auf den ersten Blick sieht es so aus, als ob der einzige zusätzliche Vorteil darin besteht, dass die Daten vor Situationen geschützt sind, in denen jemand offline auf S3 zugreifen kann, wie z. B. Festplatten oder Backups (von denen ich bezweifle, dass AWS sie erstellt, ist es viel wahrscheinlicher, dass sie sich darauf verlassen nur Replikation). Ich denke jedoch, dass Sie es mit der Alternative vergleichen müssen, um die tatsächlichen Vorteile zu erzielen:
Für die clientseitige Verschlüsselung mit S3 sind zwei Komponenten erforderlich: ein Verschlüsselungsschlüssel und IAM-Anmeldeinformationen für die Authentifizierung und Autorisierung. Bei Verwendung der serverseitigen Verschlüsselung benötigen Sie nur IAM-Anmeldeinformationen.
Bei Verwendung der clientseitigen Verschlüsselung müssen Sie den Verschlüsselungsschlüssel an alle Computer verteilen, die Lese- und / oder Schreibzugriff auf die verschlüsselten Daten in S3 haben. In beiden Fällen müssen Sie auch die IAM-Anmeldeinformationen verteilen.
Wenn Ihre Computer gefährdet sind, ist Ihr Verschlüsselungsschlüssel gefährdet. Sie können die IAM-Anmeldeinformationen ungültig machen, sobald Sie von dem Einbruch erfahren. Wenn Sie IAM-Rollen oder temporäre IAM-Anmeldeinformationen verwenden, hat der Angreifer nur Zugriff auf Ihre Daten, solange er die Kontrolle über den Computer hat (was jedoch schlimm genug ist Vielleicht ist es nicht das Ende der Welt, aber Sie müssen auch darüber nachdenken, was als nächstes passiert. Bei der clientseitigen Verschlüsselung verfügt der Angreifer über Ihren Verschlüsselungsschlüssel, und alle mit dem kompromittierten Verschlüsselungsschlüssel verschlüsselten Daten müssen erneut verschlüsselt werden. Bei der serverseitigen Verschlüsselung müssen Sie Ihre Daten nicht erneut verschlüsseln, da weder Sie noch der Angreifer über den Verschlüsselungsschlüssel verfügen.
Auch wenn Sie keine Pause haben, kann es vorkommen, dass Ihr Verschlüsselungsschlüssel kompromittiert wird, wenn ein Laptop verloren geht oder gestohlen wird, wenn jemand, der es nicht besser weiß, ihn per E-Mail an jemanden sendet oder wenn jemand beendet und Sie können nicht ganz sicher sein, dass sie Dinge nicht mitgenommen haben. Zu diesem Zeitpunkt ist Ihr Verschlüsselungsschlüssel kompromittiert und Sie sollten wahrscheinlich alle Ihre Daten neu verschlüsseln. Das kann viel Arbeit sein. Bei der serverseitigen Verschlüsselung müssen Sie lediglich die IAM-Anmeldeinformationen ungültig machen und neue ausstellen.
Es gibt wahrscheinlich Möglichkeiten, die oben erwähnten Probleme mit der clientseitigen Verschlüsselung zu verringern, aber für mich ist dies der Fall Die Verwendung von SSE mit S3 hat weniger Nachteile als die Verwaltung selbst.
Schließlich stellt sich die Frage, wie sicher es ist, dass AWS Ihre Verschlüsselungsschlüssel verwaltet:
Laut AWS ist das System Die Verwaltung der Verschlüsselungsschlüssel ist von S3 getrennt, mit der Absicht, dass jemand, der von außen in S3 einbricht, Ihre Daten nicht erhält, weil er nicht über die Verschlüsselungsschlüssel verfügt. Wenn sie nur in das Schlüsselverwaltungssystem eindringen (auf das von außen wahrscheinlich ohnehin nicht direkt zugegriffen werden kann), verfügen sie nicht über Ihre Daten, da sie in S3 keinen Zugriff darauf haben. Sie müssen in sowohl S3 als auch in das Schlüsselverwaltungssystem einbrechen, um auf Ihre Daten zuzugreifen.
Wenn sie stattdessen in das physische Rechenzentrum einbrechen, erhalten sie möglicherweise gleichzeitig Zugriff auf das Schlüsselverwaltungssystem und S3. Die Frage ist jedoch, ob dies die Dinge einfacher macht oder nicht. Ich denke, dass wir erstens darauf vertrauen müssen, dass AWS über geeignete Sicherheitsmaßnahmen verfügt, um zu verhindern, dass Benutzer ihre Rechenzentren betreten, und zweitens, dass Sie mehr tun müssen, als Schlüssel vom Schlüsselverwaltungssystem zu erhalten Ziehen Sie einfach einige Laufwerke heraus. Soweit ich gesehen habe, veröffentlicht AWS nicht genau, wie das Schlüsselverwaltungssystem geschützt ist, sondern sagt nur, dass es mit mehreren Sicherheitsebenen geschützt ist. Es ist Spekulation, aber die Festplattenverschlüsselung ist wahrscheinlich eine davon.