Ciphertext-Policy ABE (CP-ABE)
Untersuchen Sie CP-ABE, bei dem der Verschlüsseler eine Zugriffsrichtlinie einbettet und die Entschlüsselung Attribute erfordert, die diese Richtlinie erfüllen.
Ciphertext-Policy ABE (CP-ABE) ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Kernidee von CP-ABE
Bei der Ciphertext-Policy Attribute-Based Encryption (CP-ABE) bettet die verschlüsselnde Partei eine Zugriffsr more?linie direkt in den Ciphertext ein. Ein Benutzer besitzt einen geheimen Schlüssel, der seine Attributmenge kodiert. Die Entschlüsselung ist genau dann erfolgreich, wenn die Attribute des Benutzers die im Ciphertext eingebettete Zugriffsr more?linie erfüllen. Die verschlüsselnde Partei legt durch die Angabe der Richtlinie zum Zeitpunkt der Verschlüsselung fest, wer entschlüsseln kann.
Zugriffsr more?linien in CP-ABE
Zugriffsr more?linien in CP-ABE werden als monotone boolesche Formeln über Attributen ausgedrückt und typischerweise als lineare Secret-Sharing-Schemata (LSSS) oder Zugriffsbäume dargestellt. Die Richtlinie kann UND-Gatter, ODER-Gatter und Schwellwertgatter enthalten. Ein UND-Gatter erfordert alle aufgeführten Attribute, ein ODER-Gatter mindestens eines und ein t-of-n-Schwellwertgatter mindestens t der n aufgeführten Attribute. Diese Gatter können verschachtelt werden, um komplexe Zugriffsstrukturen auszudrücken.
Beispiel für eine CP-ABE-Richtlinie
Betrachten Sie ein Krankenhausinformationssystem. Ein medizinischer Bericht könnte mit der Richtlinie (role=Doctor AND department=Cardiology) OR role=Administrator verschlüsselt werden. Ein Kardiologe besitzt die Attribute {role=Doctor, department=Cardiology} und kann entschlüsseln. Ein Radiologe besitzt die Attribute {role=Doctor, department=Radiology} und kann nicht entschlüsseln, da department=Cardiology fehlt. Der Administrator besitzt {role=Administrator} und kann immer entschlüsseln. Die Richtlinie wird kryptografisch durchgesetzt, nicht lediglich durch Zugriffskontrolllisten.
Waters-CP-ABE-Konstruktion (2011)
Die einflussreichste praktisch nutzbare CP-ABE-Konstruktion stammt von Waters (2011) und basiert auf bilinearen Pairings auf elliptischen Kurven. Bei dieser Konstruktion erzeugt die Autorität ein Master-Geheimnis und einen öffentlichen Schlüssel. Geheime Benutzerschlüssel werden für bestimmte Attributmengen erzeugt. Die Verschlüsselung umfasst die Erstellung eines Ciphertexts, der die Zugriffsr more?linie mithilfe von linearem Secret-Sharing kodiert. Die Sicherheit wird unter der Annahme von Decisional Bilinear Diffie-Hellman (DBDH) bewiesen.
Kleines gegenüber großem Universum
CP-ABE-Schemata unterscheiden sich darin, wie sie mit dem Attributuniversum umgehen. Konstruktionen für ein kleines Universum erfordern, dass man sich beim Setup auf die vollständige Menge möglicher Attribute festlegt. Das schränkt die Flexibilität ein, ermöglicht aber effizientere Schemata. Konstruktionen für ein großes Universum (Rouselakis-Waters 2013, Attrapadung 2014) erlauben Attribute aus einem exponentiell großen Universum, ohne dass beim Setup eine Festlegung erforderlich ist. Dadurch sind beispielsweise Benutzer-IDs oder Zeitstempel möglich, ohne alle denkbaren Werte vorab deklarieren zu müssen.
Schlüsseldelegation und Hierarchie
CP-ABE kann die Schlüsseldelegation unterstützen: Eine Autorität kann einem untergeordneten Akteur Schlüssel für eine Teilmenge von Attributen ausstellen. Dieser kann die Fähigkeiten des Schlüssels weiter einschränken, aber nicht erweitern. Dadurch wird eine hierarchische Attributverwaltung ermöglicht: Eine unternehmensweite Autorität stellt Schlüssel auf Abteilungsebene aus, und die Abteilungsautoritäten stellen Mitarbeiterschlüssel aus. Diese Eigenschaft wird als Delegationssicherheit von Schlüsseln bezeichnet: Ein delegierter Schlüssel kann nicht verwendet werden, um etwas zu entschlüsseln, das der delegierende Akteur nicht entschlüsseln konnte.
Bibliotheken für CP-ABE
Praktische CP-ABE-Implementierungen sind in der Java-Bibliothek Java Pairing-Based Cryptography (jpbc) und im Python-Framework charm-crypto für Prototyping verfügbar. Die Bibliothek OpenABE (Zeutro) ist eine C++-Implementierung, die CP-ABE und KP-ABE unterstützt und für den Produktionseinsatz geeignet ist. RABE ist eine Rust-Implementierung von CP-ABE. Diese Bibliotheken implementieren Pairing-basierte Operationen auf den Kurven BN-256 und BLS12-381.
CP-ABE für Cloud-Speicher
Die typische Anwendung von CP-ABE ist die fein abgestufte Zugriffskontrolle in Cloud-Speichern. Der Eigentümer einer Datei verschlüsselt ein Dokument mit einer Richtlinie, bevor er es hochlädt. Jeder Benutzer, dessen Attribute die Richtlinie erfüllen, kann die Datei herunterladen und entschlüsseln, ohne dass der Cloud-Anbieter weiß, wer darauf zugreifen wird oder Zugriffskontrolllisten verwalten muss. Der Cloud-Anbieter stellt die Ciphertexts allen Personen bereit, die sie anfordern; die Richtlinie wird direkt im Ciphertext durchgesetzt.
Leistungsmerkmale von CP-ABE
CP-ABE-Operationen umfassen Berechnungen bilinearer Pairings, die deutlich langsamer sind als symmetrische Verschlüsselung. Auf einer modernen CPU dauert eine einzelne Pairing-Operation auf BN-256 ungefähr 1–3 ms. Die Kosten der Entschlüsselung skalieren linear mit der Anzahl der erfüllten Attribute. Bei Richtlinien mit 10–20 Attributen dauert die Entschlüsselung 10–60 ms. Das ist für benutzerorientierte Anwendungen akzeptabel, für automatisierte Systeme mit hoher Frequenz jedoch zu langsam.
Verbergen von CP-ABE-Attributen
Standard-CP-ABE gibt die Zugriffsr more?linie jedem preis, der den Ciphertext sieht — die Richtlinie ist nicht verschlüsselt. CP-ABE mit verborgener Richtlinie (oder teilweise verborgener Richtlinie) verbirgt einige oder alle Richtlinienattribute vor nicht autorisierten Parteien und bietet dadurch zusätzlichen Datenschutz. Das vollständige Verbergen der Richtlinie erfordert komplexere Konstruktionen und führt zu einem deutlich höheren Leistungsaufwand. Die meisten praktischen Implementierungen verwenden Standard-CP-ABE mit sichtbarer Richtlinie und akzeptieren, dass die Zugriffsr more?linie einsehbar ist.
Herausforderung des Schlüsselwiderrufs bei CP-ABE
Der Schlüsselwiderruf ist bei CP-ABE eine erhebliche praktische Herausforderung. Wenn sich die Attribute eines Benutzers ändern, etwa weil er eine Abteilung verlässt oder seine Zugangsdaten widerrufen werden, ist die erneute Verschlüsselung aller Ciphertexts, die für seine früheren Attribute verschlüsselt wurden, aufwendig. Zu den praktischen Ansätzen gehören die Attributversionierung (Erhöhen einer Versionsnummer in jedem Attribut), die Verwendung von Proxy-Re-Verschlüsselung zum Aktualisieren von Ciphertexts oder die Kombination von CP-ABE mit zeitbasierten Attributen und einer regelmäßigen Schlüsselaktualisierung durch die Autorität.
Quiz zu CP-ABE-Richtlinien
Wo ist die Zugriffsr more?linie bei CP-ABE eingebettet?
Rückblick: CP-ABE
CP-ABE bettet Zugriffsr more?linien in Ciphertexts ein; Benutzerschlüssel kodieren Attributmengen. Die Entschlüsselung ist erfolgreich, wenn die Attribute die Richtlinie erfüllen (UND-, ODER- und Schwellwertgatter). Waters 2011 ist die wegweisende praktische Konstruktion auf Grundlage bilinearer Pairings. Varianten für große Universen unterstützen dynamische Attributräume. CP-ABE wird in Cloud-Speichern für eine fein abgestufte Zugriffskontrolle ohne serverseitige ACLs eingesetzt. Der Schlüsselwiderruf bleibt eine praktische Herausforderung, der mit Attributversionierung oder Proxy-Re-Verschlüsselung begegnet wird.
Häufig gestellte Fragen
Ist die Lektion „Ciphertext-Policy ABE (CP-ABE)“ kostenlos?
Ja — der vollständige Text von „Ciphertext-Policy ABE (CP-ABE)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ciphertext-Policy ABE (CP-ABE)“?
Untersuchen Sie CP-ABE, bei dem der Verschlüsseler eine Zugriffsrichtlinie einbettet und die Entschlüsselung Attribute erfordert, die diese Richtlinie erfüllen. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Ciphertext-Policy ABE (CP-ABE)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Jenseits öffentlicher Schlüssel: funktionale Verschlüsselung
- Ciphertext-Policy ABE (CP-ABE)
- Key-Policy ABE (KP-ABE) und Vergleich
- Praktische Anwendungen von ABE