• Keine Ergebnisse gefunden

Broadcast encryption with traitor tracing

N/A
N/A
Protected

Academic year: 2022

Aktie "Broadcast encryption with traitor tracing"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Broadcast encryption with traitor tracing

Chi-Thanh Christopher Nguyen <chithanh@cs.tu-berlin.de>

4. Januar 2006

Seminar Algorithmische Algebra und Zahlentheorie, TU Berlin Dozenten: Prof. Dr. M. Pohst und Prof. Dr. F. Heß

(2)

Ubersicht ¨

In diesem Vortrag wird ein Verfahren f¨ur die broadcast encryption vorgestellt, dass einen Verr¨ater (traitor) identifizieren kann, dessen Schl¨ussel kompromittiert ist [1]. Schließlich werden m¨ogliche Gr¨unde diskutiert, warum diese Verfahren derzeit nicht zum Einsatz kommen.

(3)

Traitor tracing

Ein traitor tracing Verfahren besitzt idealerweise folgende Eigenschaften:

• public traceability, d.h. die Information, die zum Identifizieren eines Verr¨aters notwendig ist, sollte nicht das Entschl¨usseln der Nachricht erm¨oglichen.

• black-box traceability, d.h. die Zuordnung eines Decoders zu einem Verr¨ater soll ohne Kenntnis des enthaltenen geheimen Schl¨ussels m¨oglich sein.

• collusion resistance, d.h. ein Verr¨ater soll auch dann identifiziert werden, wenn eine vorgegebene Anzahl Verr¨ater untereinander kommunizieren k¨onnen.

• constant transmission rate, d.h. der Chiffretext w¨achst asymptotisch h¨ochstens um einen konstanten Faktor.

(4)

Wiederholung Diffie-Hellman Problem

Seien G1 Gruppe von Primzahlordnung q, und P Erzeuger von G1.

• CDH (computational Diffie-Hellman)

Gegeben (P, aP, bP) f¨ur a, b ∈ Z×q , berechne abP

• CBDH1 (computational bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP) f¨ur a, b, c ∈ Z×q , berechne abcP

• DBDH1 (decisional bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP, U) f¨ur a, b, c ∈ Z×q und U ∈ G1, entscheide ob U = abcP

(5)

F¨ur den Fall b = c erhalten wir folgende modifizierte Probleme:

• CBDH1-M (modified computational bilinear Diffie-Hellman) Gegeben (P, aP, bP) f¨ur a, b ∈ Z×q , berechne ab2P

• DBDH1-M (modified decisional bilinear Diffie-Hellman)

Gegeben (P, aP, bP, U) f¨ur a, b ∈ Z×q und U ∈ G1, entscheide ob U = ab2P

(6)

Pairing-basierte Probleme

Sei G2 ebenfalls Gruppe von Primzahlordnung q. Eine Abbildung eˆ : G1×G1 → G2 heiße zul¨assig (admissible), wenn sie bilinear, also e(aP, bQ) = ˆˆ e(P, Q)ab f¨ur alle a, b ∈ Z×q und P, Q ∈ G1, nicht degeneriert und effizient zu berechnen ist. eˆ kann beispielsweise mittels Tate-Pairing konstruiert werden.

• CBDH2 (computational bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP) f¨ur a, b, c ∈ Z×q , berechne gabc, wobei g = ˆe(P, P).

• DBDH2 (decisional bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP, Z) f¨ur a, b, c ∈ Z×q und Z ∈ G2, entscheide ob Z = gabc, wobei g = ˆe(P, P).

(7)

• CBDH2-E (extended computational bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP, ab2P) f¨ur a, b, c ∈ Z×q , berechne gcb2, wobei g = ˆ

e(P, P).

• DBDH2-E (extended decisional bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP, ab2P, Z) f¨ur a, b, c ∈ Z×q und Z ∈ G2, entscheide ob Z = gcb2, wobei g = ˆe(P, P).

Eine Variante von CBDH2:

• CBDH2-V (variant computational bilinear Diffie-Hellman)

Gegeben (P, aP, bP, cP, a(a2 − b2)P, b(a2 − b2)P) f¨ur a, b, c ∈ Z×q , berechne gabc, wobei g = ˆe(P, P).

(8)

Mischprobleme

• MCDH (mixed computational Diffie-Hellman)

Gegeben (P, aP, a2P, gb) f¨ur a, b ∈ Z×q , berechne gba2, wobei g = ˆe(P, P).

• MDDH (mixed decisional Diffie-Hellman)

Gegeben (P, aP, a2P, gb, Z) f¨ur a, b ∈ Z×q und Z ∈ G2, entscheide ob Z = gba2, wobei g = ˆe(P, P).

(9)

2-user traitor tracing

Setup:

• Eingabe: Security parameter κ ∈ Z, Nachrichtenraum M = {0,1}κ

• Erzeuge κ-bit Primzahl q, zwei Gruppen G1, G2 der Ordnung q, und eine zul¨assige bilineare Abbildung eˆ : G1 × G1 → G2. W¨ahle einen Erzeuger P ∈ G1 und setze g := ˆe(P, P) (Anmerkung: g ist Erzeuger von G2).

• W¨ahle zuf¨allig a, z ∈ Z×q und setze Q := aP, Z := gz.

• W¨ahle eine Hashfunktion H : G1 → M.

(10)

Systemparameter sind (q, G1, G2,e, P, Hˆ ).

Private key: das Paar (a, z)

Encryption key: pk := (g, Q, Z)

User key: Benutzer ui mit i ∈ {0,1} wird zugeordnet (αi, βi) mit αi+aβi = z mod q

Proxy Quantity: Der Benutzer erh¨alt die Proxy Quantity Π = (α1, β1P)

Encrypt: Erzeuge k ∈ Zq zuf¨allig. C = (c1, c2, d) = (kP, k2Q, m ⊕ H(Zk2)).

(c1, c2, d) ist g¨ultiger Chiffretext, wenn k ∈ Zq existiert so dass c1 = kP, c2 = k2Q.

Decrypt: Berechne Zk2 = ˆe(αic1, c1) · e(βˆ iP, c2) und m = d ⊕ H(Zk2)).

(11)

Decrypt

Korrektheit:

ˆ

e(αc1, c1) · e(βP, cˆ 2)

= ˆe(αkP, kP) · e(βP, kˆ 2aP)

= ˆe(P, P)αk2 · e(P, Pˆ )aβk2

= g(α+aβ)k2

= (gz)k2

= Zk2.

Sicherheit: Im Zufallsorakelmodell ist die Verschl¨usselung IND-CPA sicher unter MCDH. Ist H eine universelle Hashfunktion, dann ist sie IND-CPA sicher unter MDDH.

(12)

Public black-box traitor tracing

• W¨ahle k, k0 ∈ Z×q zuf¨allig.

• Definiere u0 := α0k2 + aβ0k02 und u1 := α1k2 + aβ1k02

• Berechne gu0 = ˆe(a0P, k2P) · e(Q, kˆ 020P)) und gu1 = ˆe(a1P, k2P) · ˆ

e(Q, k021P)).

• Lasse den Piraten-Decoder folgendes entschl¨usseln: (kP, ak02P, d).

• Gibt der Decoder d/gu0 aus, ist Benutzer 0 der Verr¨ater, gibt er d/gu1 aus, ist Benutzer 1 der Verr¨ater. Ansonsten sind beide Verr¨ater.

(13)

Es gilt:

ˆ

e(αkP, kP) · e(βP, akˆ 02P)

= ˆe(P, P)αk2 · e(P, Pˆ )aβk02

= ˆe(αP, k2P) · e(aP, kˆ 02βP)

= ˆe(αP, k2P) · e(Q, kˆ 02(βP))

Notwendig zum Identifizieren des Verr¨aters ist also lediglich (αP, βP). Insbe- sondere bleibt der Private key geheim, und es wird keine Information zum Bau eines Decoders preisgegeben.

Sicherheit bei ¨offentlicher traitor tracing Information: IND-CPA unter CBDH2- E bzw. DBDH2-E

(14)

N -user c-traitor tracing

Das Verfahren l¨asst sich von zwei auf beliebig viele Nutzer erweitern:

Gegeben ein Code C = {ω1, . . . , ωN} ¨uber dem Alphabet {0,1}, der (N, c, l, )-sicher gegen collusion ist. Dieser erm¨oglicht es uns, l 2-user-Systeme zu kombinieren.

Setup:

• Eingabe: Security parameter κ, c, .

• Erzeuge κ-bit Primzahl q, zwei Gruppen G1, G2 der Ordnung q und eine zul¨assige bilineare Abbildung eˆ : G1 × G1 → G2. W¨ahle einen Erzeuger P ∈ G1.

(15)

• Erzeuge einen (N, c, l, )-collusion-secure Code C = {ω1, . . . , ωN}.

• F¨ur j = 1, . . . , l w¨ahle a, zj ∈ Z×q zuf¨allig. Setze Q = aP, Zj = gzj.

• W¨ahle eine Hashfunktion H : G1 → M. Die Systemparameter sind (q, G1, G2,e, P, Hˆ )

Private key: (a, (zj)j=1,...,l)

Encryption key: (g, Q,{Zj}j=1,...,l)

User key: Dem Benutzer ui wird das Codeword ωi und (αωi,j,j, βωi,j,j) mit αωi,j,j + aβωi,j,j) = zjmodq zugeordnet.

Proxy Quantity: Der Benutzer ui erh¨alt die Proxy Quantity Πi = (Πωi,1,1, . . . ,Πωi,l,l), wobei Πωi,j,j := (αωi,j,j, βωi,j,jP).

(16)

Encrypt: Nachricht (m1, . . . , ml) ∈ Ml. W¨ahle zuf¨alliges k ∈ Zq und berechne c1 = kP, c2 = k2P, dj = mj ⊕ H(Zjk2). Ausgabe (c1, c2, d1, . . . , dl) ∈ G21 × Gl2.

Decrypt: Aus (c1, c2, d1, . . . , dl) ∈ G21 × Gl2 berechne Zjk2 = ˆe(αωi,j,jc1, c1) × ˆ

e(βωi,j,jP, c2) und mj = dj ⊕ H(Zjk2).

(17)

Diskussion der Einsatzm¨ oglichkeiten

Warum setzen Pay-TV-Anbieter diese Verfahren bislang nicht ein?

• Traitor-tracing-Verfahren erzeugen einen gewissen Overhead [2], der die ¨Ubert- ragungskosten steigert. Eine Umstellung bestehender Systeme ist ebenfalls mit Kosten verbunden.

• Kosten f¨ur einen Satellitentransponder ca. 2,5 · 106 EUR pro Jahr [3]. Die Einnahmen von einem Komplett-Abonnenten eines großen deutschen Pay-TV- Senders betragen ca. 5,4 · 102 EUR pro Jahr [4].

• Verluste durch Verbreitung von geheimen Schl¨usseln sind mutmaßlich klein ge-

(18)

gen¨uber den Verlusten durch den Einsatz unsicherer Kryptographie (BetaCrypt- Crack f¨uhrte angeblich zu 500.000 Schwarzsehern [5])

• In Zukunft ist ein Einsatz jedoch denkbar, zumal ein Austausch von Ver- schl¨usselungsverfahren ohnehin gelegentlich notwendig ist (BetaCrypt 2003 [6], SECA-2 2004 [7], evtl. Nagravision)

• Die Situation ¨andert sich f¨ur Internet-Broadcasts, da dort die Menge der zu ubertragenden Daten von geringerer Bedeutung ist.¨

(19)

Literatur

[1] H. Chabanne, D. H. Phan, D. Pointcheval: Public Traceability in Traitor Tracing Schemes. In Advances in Cryptology - Proceedings of EUROCRYPT ’05. Springer-Verlag, 2005.

[2] B. Chor, A. Fiat, M. Naor: Tracing Traitor. In Advances in Cryptology - Proceedings of Crypto 1994. Springer, Verlag 1994.

[3] A. Voigt: Ubertragung von breitbandigen Multimediadiensten via Satellit. Diplomarbeit 1999,¨ Fachhochschule Darmstadt.

[4] Premiere: Abos & Preise im ¨Uberblick.

http://www.premiere.de/premweb/cms/de/paketeundpreise abonnieren.jsp [5] Premiere wechselt Verschl¨usselungssystem. Heise-Verlag, 2003.

http://www.heise.de/newsticker/meldung/35630 [6] Premiere Chronik 2003.

http://info.premiere.de/inhalt/de/unternehmen chronik 2003.jsp.

[7] NDS Press Room, Sky Italia to Stop Using SECA Encryption by End 2004 http://nds.com/press room/article sky italia 290404.html

Referenzen

ÄHNLICHE DOKUMENTE

– Shared tree created according to reverse path forwarding. – Nodes hold children tables

 Shared tree created according to reverse path forwarding.  Nodes hold children tables

Beachte: das Senden wird nicht als Empfang der Nachricht beim Sender selbst gewertet..

- mögliche teilweise Abhilfe: Empfänger leiten zusätzlich die Nachricht auch Wenn Broadcast implementiert ist durch Senden vieler Einzelnachrichtenv. - Uneinigkeit der Empfänger

• Kausale Reihenfolge (Def.): Wenn eine Nachricht N kausal von einer Nachricht M abhängt, und ein Prozess P die Nachrichten N und M empfängt, dann muss er M vor N empfangen

- Begründung: Da jedes visit-Ereignis vom init-Ereignis kausal abhängig ist, muss jeder andere Prozess mindestens eine Nachricht empfangen - mindestens n Nachrichten, falls

Es existiert eine einfache geschlossene algebraische Formel f¨ ur die Blockchiffre Rijndael. Die Gr¨ oße der Formel h¨ angt nur linear von der Anzahl der

Messaging Apps: WhatsApp, Snapchat, Facebook Messenger, Telegram, Viber, LINE and Skype, etc.. Types of protocols: HTTP + Push Notifications / Extensive Messaging and Presence