www.wikidata.de-de.nina.az
Ciphertext Indistinguishability englisch fur Ununterscheidbarkeit von Geheimtexten ist ein Begriff der bei Sicherheitsbeweisen von Verschlusselungsverfahren verwendet wird Bei einem Verfahren mit dieser Eigenschaft kann ein Angreifer nicht zwischen den Geheimtexten zweier Klartexte unterscheiden selbst wenn er die Klartexte kennt Inhaltsverzeichnis 1 Motivation 2 IND CPA 2 1 Motivation 2 2 Definition 3 IND CCA 4 Literatur 5 EinzelnachweiseMotivation BearbeitenUm uber die Sicherheit von Verschlusselungsverfahren zu sprechen muss man sich zuerst im Klaren sein was mit Sicherheit genau gemeint ist Der erste Gedanke dass der Angreifer aus dem Geheimtext nicht den Klartext ableiten konnen darf ist zu kurz gegriffen Damit ist namlich nicht ausgeschlossen dass ein Angreifer Informationen uber Teile des Klartextes erhalt auch wenn er nicht den ganzen Klartext ableiten kann Es muss also mindestens gefordert werden dass der Angreifer keine Information uber den Klartext lernen kann Aber auch diese Formulierung ist unter manchen Umstanden nicht ausreichend Wenn ein Public Key Verschlusselungsverfahren namlich deterministisch ist also bei gleicher Eingabe immer die gleiche Ausgabe liefert wie das beispielsweise bei der Lehrbuch RSA Verschlusselung der Fall ist und der Angreifer den Klartextraum einschranken kann er weiss z B dass die verschlusselte Nachricht entweder ja oder nein ist kann er alle moglichen Klartexte mit dem offentlichen Schlussel verschlusseln Dann kann er durch einfaches Vergleichen des Geheimtexts mit den Geheimtexten die er selbst erzeugt hat den zugehorigen Klartext bestimmen Es gilt also einen Sicherheitsbegriff zu definieren bei dem dies nicht moglich ist IND CPA BearbeitenMotivation Bearbeiten Es ist im Allgemeinen nicht sinnvoll bei kryptologischen Verfahren von Sicherheit zu sprechen ohne diese genauer zu qualifizieren Ein Sicherheitsbegriff besagt dass ein Angreifer ein bestimmtes Ziel nicht erreichen kann Die Definition besteht also aus zwei Teilen Einem Angreifer mit genau beschriebenen Fahigkeiten und dem Sicherheitsziel Ciphertext indistinguishability IND ist ein Sicherheitsziel namlich dass es einem Angreifer nicht moglich sein soll zwischen der Verschlusselung zweier beliebiger Klartexte gleicher Lange zu unterscheiden die Verschlusselungen zweier Klartexte unterschiedlicher Lange konnen sich durch die Lange des Chiffrats unterscheiden daher wird die Geheimhaltung der Lange des Klartextes im Allgemeinen nicht gefordert Damit das auch bei ungunstiger Wahl der Klartexte zutrifft darf der Angreifer sich zwei Klartexte aussuchen von denen einer verschlusselt wird Dazu konnen verschiedene Angreiferstarken definiert werden In der Regel wird der Angreifer in seiner Laufzeit beschrankt um zu verhindern dass er den ganzen Schlusselraum durchsucht oder Aufgaben lost die in der realen Welt wo Rechenleistung nicht unbegrenzt verfugbar ist praktisch unlosbar sind Bei einem asymmetrischen Verschlusselungsverfahren muss zudem immer angenommen werden dass der Angreifer den offentlichen Schlussel kennt Damit kann er selbst beliebige Klartexte seiner Wahl verschlusseln und mit dem Geheimtext vergleichen um so etwas uber den unbekannten Klartext zu lernen Dieser Angriff heisst Chosen plaintext Angriff CPA Ein Verschlusselungsverfahren hat also das Sicherheitsniveau IND CPA ciphertext indistinguishability under chosen plaintext attacks wenn es keinem CPA Angreifer gelingen kann das Ziel IND zu erreichen also die Geheimtexte zweier selbstgewahlter Klartexte zu unterscheiden Definition Bearbeiten Um das formal auszudrucken wird das Experiment IND CPA definiert das zwischen zwei probabilistischen Algorithmen mit polynomialer in einem Sicherheitsparameter k displaystyle k nbsp Laufzeitbeschrankung dem Angreifer A und der Umgebung U in funf Schritten ablauft Zuerst erzeugt die Umgebung zu dem gegebenen Sicherheitsparameter k displaystyle k nbsp ein Schlusselpaar aus einem geheimen und einem offentlichen Schlussel Der Angreifer erhalt den offentlichen Schlussel Nun darf der Angreifer beliebige Berechnungen ausfuhren Am Ende dieses Schritts muss er zwei Klartexte gleicher Lange M 0 displaystyle M 0 nbsp und M 1 displaystyle M 1 nbsp ausgeben Die Umgebung zieht ein zufalliges Bit b displaystyle b nbsp und verschlusselt M b displaystyle M b nbsp Diesen Geheimtext erhalt nun der Angreifer Der Angreifer darf wiederum beliebige Berechnungen oder Verschlusselungen ausfuhren Am Ende gibt er ein Bit b displaystyle b nbsp aus Falls b b displaystyle b b nbsp so gibt die Umgebung 1 aus sonst 0 Falls die Umgebung eine 1 ausgibt hat der Angreifer richtig geraten Ein Angreifer der im vierten Schritt unabhangig von allem was vorher passiert ist ein Zufallsbit zieht und es ausgibt liegt mit Wahrscheinlichkeit 1 2 richtig Ein Verschlusselungsverfahren wird IND CPA sicher genannt wenn kein Angreifer eine Erfolgswahrscheinlichkeit hat die wesentlich hoher als 1 2 liegt wenn also P r U 1 1 2 displaystyle Pr U 1 1 2 nbsp vernachlassigbar klein ist wenn sie fur jedes Polynom p displaystyle p nbsp ab einer bestimmten Grosse von k displaystyle k nbsp kleiner bleibt als 1 p k displaystyle 1 p k nbsp Ein vernachlassigbarer Unterschied muss zugelassen werden weil es fur einen Angreifer sehr leicht ist seine Erfolgswahrscheinlichkeit uber 1 2 zu steigern Er rat einfach einen geheimen Schlussel und versucht damit den Geheimtext zu entschlusseln Die Erfolgswahrscheinlichkeit dabei ist sehr klein aber grosser als 0 Es ist bei der Definition wichtig dass uber den Angreifer bis auf seine Laufzeitbeschrankung keinerlei Annahmen getroffen werden Der Begriff IND CPA taucht schon 1984 bei Goldwasser und Micali unter dem Namen polynomiale Sicherheit polynomial security auf 1 Die oben gegebene Definition ist formal nicht ganz korrekt weil ein Algorithmus in der Informatik nach der Ausgabe stoppt Ein Angreifer besteht also aus zwei Algorithmen von denen der erste die zwei Klartexte und seinen Zustand ausgibt Der zweite erhalt als Eingabe die beiden Klartexte den Zustand und den Geheimtext und gibt ein Bit aus Durch die Ubergabe des Zustandes kann der zweite Algorithmus aber auch als Fortsetzung des ersten verstanden werden IND CCA BearbeitenDer oben eingefuhrte CPA Angreifer ist nicht der starkstmogliche Den starkeren Sicherheitsbegriff IND CCA erhalt man wenn dem Angreifer zusatzlich zu dem offentlichen Schlussel noch ein Entschlusselungsorakel zugestanden wird Ein Orakel ist ein Algorithmus der nur zu Eingaben Ausgaben liefert aber nicht analysiert werden kann Dadurch ist der im Entschlusselungsorakel enthaltene geheime Schlussel dem Angreifer nicht zuganglich Der Angreifer kann dann in Schritt 2 und 4 beliebige Geheimtexte entschlusseln lassen mit Ausnahme des Geheimtexts den er in Schritt 3 bekommen hat Dieses Angreifermodell heisst adaptiver chosen ciphertext Angriff CCA Seine praktische Relevanz wurde 1998 vorgefuhrt als es Daniel Bleichenbacher gelang gegen die in PKCS 1 definierte IND CPA sichere RSA Variante einen realistischen Angriff in diesem Modell zu fuhren 2 In der Literatur wird gelegentlich zwischen CCA1 und CCA2 Angreifern unterschieden Der CCA2 Angreifer ist der oben als CCA beschriebene wahrend der CCA1 Angreifer das Entschlusselungsorakel nur in Schritt 2 zur Verfugung hat Weil dadurch die Anfragen an das Entschlusselungsorakel nicht vom Geheimtext in Schritt 3 abhangen konnen wird dieser Angriff auch nichtadaptiver chosen ciphertext Angriff genannt Literatur BearbeitenMihir Bellare Anand Desai David Pointcheval and Phillip Rogaway Relations Among Notions of Security for Public Key Encryption Schemes In Advances in Cryptology Proceedings of CRYPTO 98 1998 S 26 45 ens fr Einzelnachweise Bearbeiten Shafi Goldwasser and Silvio Micali Probabilistic encryption In Journal of Computer and System Sciences Band 28 Nr 2 1984 S 270 299 mit edu PDF 7 8 MB Daniel Bleichenbacher Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS 1 In CRYPTO 98 1998 S 1 12 bell labs com Abgerufen von https de wikipedia org w index php title Ciphertext Indistinguishability amp oldid 221454282