Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo...

33
Nuovo DRM Introducing Fair Exchange in Digital Rights Management Hugo Jonker, Mohammad Torabi Dashti, Srijith Krishnan Nair SaToSS group, University of Luxembourg FM group, Eindhoven University of Technology

Transcript of Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo...

Page 1: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

Nuovo DRMIntroducing Fair Exchange in Digital Rights Management

Hugo Jonker, Mohammad Torabi Dashti, Srijith Krishnan NairSaToSS group, University of Luxembourg

FM group, Eindhoven University of Technology

Page 2: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness-DRM-requirements-fair exchange

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 2/21

Digital Rights Management

idea: trade digital “content”

problem: unlimited, perfect copying

generalisation: access control needed

DRM: bundle access control with content

Page 3: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness-DRM-requirements-fair exchange

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 3/21

Requirements of DRM systems

G1. effectiveness

G2. secrecy

G3. resist content masquerading

G4. strong fairness

Page 4: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness-DRM-requirements-fair exchange

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 4/21

fair exchange

Alice: A ←→ Bob: B

Page 5: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness-DRM-requirements-fair exchange

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 4/21

fair exchange

Alice: A ←→ Bob: B

Two fair endings:- Alice: B; Bob: A- Alice: A; Bob: B

recovery protocol

TTP needed

optimistic fair exchange: TTP hardly needed

Page 6: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM-P2P exchange-NPGCT05 issues

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 5/21

P2P exchange

Buying content c with rights r′:

1. d2 → d1 : Request content2. d1 ↔ d2 : Mutual authentication3. d1 → d2 : cK′ , K′pk(d2), Rd1 (c), r′, σ,Λ,Λ′

Λ′ = h(d1 , d2 , c, σ, r′)sk(d1)

4. d2 : Verifies σ, Λ′ and Rd1 (c) using Λ

5. d2 → d1 : ψ, [payment]

ψ = h(d1 , P, cK′ , σ, r′)sk(d2)

— from [NPGCT05]

Page 7: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM-P2P exchange-NPGCT05 issues

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 6/21

NPGCT05 issues

replay of rights

no fairness

Page 8: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM-concept-assumptions-fair exchange-recovery

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 7/21

concept

address NPGCT05’s flaws

verified security

practical security

Page 9: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM-concept-assumptions-fair exchange-recovery

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 8/21

assumptions and limits

A1. trusted devices

A2. resilient communication

A3. PKI hierarchy

A4. price negotiations

Page 10: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM-concept-assumptions-fair exchange-recovery

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 9/21

fair exchange

1. owner(d2 )→ d2 : d1 , h(c), r′

2. d2 → d1 : d2 , nd2

3. d1 → d2 : n′d1 , nd2 , d2sk(d1)

4. d2 → d1 : nd2 , n′

d1 , h(c), r′, d1sk(d2)

5. d1 → d2 : cK′ , K′pk(d2), r′, nd2sk(d1)

where:

d1 , d2 : devices h(c): hash of content c nx: nonce of X r′: rights

Page 11: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM-concept-assumptions-fair exchange-recovery

Formalising Nuovo

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 10/21

recovery

1. owner(d2 )→ d2 : d1 , h(c), r′

2. d2 → d1 : d2 , nd2

3. d1 → d2 : n′d1 , nd2 , d2sk(d1 )

4. d2 → d1 : nd2 , n′

d1 , h(c), r′, d1sk(d2)

5r. d2 : resolves(d2 )

6r. d2 → P : d2 , n′d27r. P → d2 : n′

P, n′d2 , d2sk(P )

8r. d2 → P : n′d2 , n′P , 〈nd2 , n′

d1 , h(c), r′, d1 〉, r′′, Psk(d2)

9r. P → d2 : cK′′ , K′′pk(d2), r′′, n′d2SK(P )

Page 12: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo-approach-abstract actions-fair exchange-recovery-intruder model

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 11/21

approach

formalise processes in µCRLabstract actions highlight processing steps

Intruder model that respects RCC

formalise goals in regular µ-calculus

finite model checking: limited instance2 scenario’s.

Page 13: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo-approach-abstract actions-fair exchange-recovery-intruder model

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 12/21

abstract actions

request() start of exchange for receiving device

update() successful termination of exchange

lastttp no more TTP available

Page 14: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

SRM, 28 Apr 2009 Nuovo DRM - p. 13/21

fair exchange

d1(Ω, nd1 ) =X

r∈Rgtsc∈Cont

recv(d2 ; d2 , h(c), r) · send(d2 ; d1 , nd1 ) ·

X

n∈Nonce

recv(d2 ; n, nd1 , d1sk(d2)) · send(d2 ; nd1 , n, h(c), r, d2sk(d1)) ·

request(d1 , h(c), r, d2 ) ·

X

K∈Key

recv(d2 ; cK , Kpk(d1), r, nd1sk(d2)) ·

update(d1 , h(c), r, d2 ) · d1(Ω ∪ 〈c, r〉,nxt(nd1 ))

+ RESOLVE(Ω, nd1 , (nd1 , n, h(c), r, d2 ))

Page 15: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

SRM, 28 Apr 2009 Nuovo DRM - p. 14/21

recovery

RESOLVE(Ω, nd1 , (nd1 , n, h(c), r, d2 )) = resolves(d1 ) ·

X

r∈Rgtsc∈Cont

send(P ; d1 , nd1 ) ·

X

n′∈Nonce

recv(P ; n′, nd1 , d1sk(P )) ·

send(P ; nd1 , n′, (nd1 , n, h(c), r, d2 ), Psk(d1)) ·

request(d1 , h(c), r, P ) ·

X

K∈Key

recv(P ; cK , Kpk(d1), r, nd1sk(P )) ·

update(d1 , c, r, P ) · d1 (Ω ∪ 〈c, r〉, nxt(nd1 ))

Page 16: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo-approach-abstract actions-fair exchange-recovery-intruder model

Model checking

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 15/21

intruder model

I(X,Y ) =X

p∈Agentm∈Msg

recv(p, m, I) · I(X ∪ m, Y ∪ m) +

X

p∈Agentm∈Msg

send(I,m, p) · I(X, Y \ m) ⊳ m ∈ Y ⊲ δ +

X

p∈Agentm∈Msg

send⋄(I, m, p) · I(X,Y ) ⊳ m ∈ synth(X) \ Y ⊲ δ +

X

c∈Cont

revealed(c) · δ ⊳ c ∈ synth(X) ⊲ δ

— From [CT06]

Page 17: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 16/21

Scenarios

S0: one provider P , d1 , d2 , trusted network, no intruder.

S1: three providers, d1 , d2 , untrusted network, intrudercontrols d1 .

Both:

content: c1, c2, c3

rights: r1, r2, r1 allows resale of r2

Page 18: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 17/21

goals

G1. effectiveness

[T∗ · request(d1 , c, r, P )] µX.(〈T〉T ∧ [¬update(d1 , c, r, P )]X)

Page 19: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 17/21

goals

G1. effectiveness

[T∗ · request(d1 , c, r, P )] µX.(〈T〉T ∧ [¬update(d1 , c, r, P )]X)

G2. secrecy[T∗ · revealed(c)]F

Page 20: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 17/21

goals

G1. effectiveness

[T∗ · request(d1 , c, r, P )] µX.(〈T〉T ∧ [¬update(d1 , c, r, P )]X)

G2. secrecy[T∗ · revealed(c)]F

G3. resist content masquerading

[(¬request(d1 , c, r, P ))∗ · update(d1 , c, r, P )]F

Page 21: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 18/21

fairness

for provider for d2 when buying from provider for d2 when reselling

for d2 when buying from d1

Page 22: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 18/21

fairness

for provider for d2 when buying from provider for d2 when reselling

for d2 when buying from d1

[T∗ · request(d2 , c, r, d1 ) · (¬(resolves(d2 ) ∨ update(d2 , c, r, d1 )))∗]

〈(¬com⋄(−,−,−))∗ · (resolves(d2 ) ∨ update(d2 , c, r, d1 ))〉T

Page 23: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 18/21

fairness

for provider for d2 when buying from provider for d2 when reselling

for d2 when buying from d1

[T∗ · request(d2 , c, r, d1 ) · (¬(resolves(d2 ) ∨ update(d2 , c, r, d1 )))∗]

〈(¬com⋄(−,−,−))∗ · (resolves(d2 ) ∨ update(d2 , c, r, d1 ))〉T

[(¬lastttp)∗ · request(d2 , c, r, d1 ) · (¬lastttp)∗ · resolves(d2 )·

(¬(update(d2 , c, r, P ) ∨ lastttp))∗]

〈(¬com⋄(−,−,−))∗ · update(d2 , c, r, P )〉T

Page 24: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

Page 25: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

Page 26: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

Page 27: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

G4. strong fairness:

Page 28: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

G4. strong fairness:- for provider:

Page 29: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

G4. strong fairness:- for provider:

√- for d2 when buying from provider:

Page 30: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

G4. strong fairness:- for provider:

√- for d2 when buying from provider:

√- for d2 when reselling:

Page 31: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking-Scenarios-goals-fairness-results

Conclusions

SRM, 28 Apr 2009 Nuovo DRM - p. 19/21

results

G1. effectiveness:√

G2. secrecy:√

G3. resist content masquerading:√

G4. strong fairness:- for provider:

√- for d2 when buying from provider:

√- for d2 when reselling:

√- for d2 when buying from d1 :

Page 32: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions-final remarks

SRM, 28 Apr 2009 Nuovo DRM - p. 20/21

final remarks

Nuovo beyond this talk:

attention to practical security proof-of-concept implementation

Closing remarks:

fair exchange in DRM seems possible formal modelling & verification helps only finite instances checked DRM also needs practical security (done for Nuovo)

Page 33: Nuovo DRM - satoss.uni.lusatoss.uni.lu/seminars/srm/pdfs/hugo-nuovo.pdfNuovo DRM-concept-assumptions-fair exchange-recovery Formalising Nuovo Model checking Conclusions SRM, 28 Apr

DRM & Fairness

Fairness in DRM

Nuovo DRM

Formalising Nuovo

Model checking

Conclusions-final remarks

SRM, 28 Apr 2009 Nuovo DRM - p. 21/21

last slide

Thank you for your attention.

Questions?