Efficient design of interpretation of REL license using Expert Systems

Efficient design of
interpretation of REL
license using Expert
Systems
Chun Hui Suen,
Munich University of Technology,
Institute for Data Processing
Contents






Problems
Current solution
Proposed solution
Offline Demo
Comparison
Conclusion
1
Rights Expression Language
DRM System
Consumer
•Buy
•Rent
•Promotion
•Share
•Gift
Content Provider
2
Rights Expression Language
DRM System
•Direct payment
•Payment information
•Try before buying
.
.
.
Consumer
Content Provider
2
Rights Expression Language

Expressive REL needed for user-friendly DRM
Complicated REL license interpreter
2
Problem



Expressive Rights description – MPEG-21 REL
Tree-based XML
Root
Grant
Complicated
License
dependancies
Grant
Condition
Grant
Condition
License
…
3
Current solution


Inperative programming
Object-orientated mapping
Root
Grant
License
Grant
Condition
Grant
Condition
License
…
4
Current solution


Inperative programming
Object-orientated mapping
Root Grant Object
License
Object
Root
Grant
License
Grant Object
Grant
Condition Object
Condition
Grant Object
License
Object
Grant
Condition Object
Condition
License
…
…
4
Proposed Solution

Knowledge based parsing
Root
Grant
License
Grant
Condition
XML - Knowledge
parser
Knowledge
database
Grant
Condition
License
…
5
Proposed Solution
Root grant
Knowledge
database
xx
xx
xx
License xx
xx
xx
Grant
xx
xx
xx
Condition
Grant
xx
xx
Condition
License xx
xx
xx
xx
xx
xx
xx
xx
xx
xx
6
Rule-based matching
(Experts System)
Inference Engine
Pattern-matching
Rule
pattern
action
Root grant
xx
xx
xx
License xx
xx
xx
Grant
xx
xx
xx
Condition
xx
xx
xx
Rule
pattern
action
Grant
xx
Condition
...
Intelligence
License xx
xx
xx
xx
xx
xx
xx
xx
7
Rule-based matching
(Experts System)
Inference Engine
Add / Mod. /
Delete
Rule
pattern
action
Root grant
xx
xx
xx
License xx
xx
xx
Grant
xx
xx
xx
Condition
xx
xx
xx
Rule
pattern
action
Grant
xx
Condition
...
Intelligence
License xx
xx
xx
xx
xx
xx
xx
xx
7
Implementation
Input to inte rpre ta tion e ngine
XML
lice ns e
XML pa rs e r
in c++
Hypothe s is
S ta te s
Inte rpre ta tion re s ult
phas e1
CLIP S
e xpe rt s ys .
Rule s
ba s e
phas•System
e2
States
•counters
•What right is requested?
•Who can perform it?
•What resource to use?
•Under what conditions?
8
Implementation
Root Grant
Hypothesis is true?
License
Root grant
Grant
Issuer
valid?
Conditions
fulfilled?
Condition
keyholder
Principal
valid?
Grant
valid?
Operation
valid?
Resource
valid?
Resources
Right
9
Demo – Input License 1
<rootGrant>
<keyholder>Company A</keyholder>
<trustedRootIssuer/>
</rootGrant>

„Company A“ is a trusted issuer
<rootGrant>
<keyholder>john</keyholder>
<possessProperty/>
<propertyUri>Subscription</propertyUri>
</rootGrant>

“John” has property “Subscription”
10
Demo – Input License 2
<license>
<grant>
<keyholder>john</keyholder>
<play/>
<digitalresource>somewhere.mp3</digitalresource>
<prerequisiteRight>
<keyholder>john</keyholder>
<possessProperty/>
<propertyUri>Subscription</propertyUri>
</prerequisiteRight>
</grant>

“john” allowed to “play”, only if “john” has “Subscription” property
11
Demo – Input License 3
<issuer>Company A</issuer>
</license>

Issuer of license is “Company A”
13
Demo – Parsed License 1
(rootGrant g0)
(keyholder "Company A" g0)
(trustedRootIssuer g0)
(rootGrant g1)
(keyholder “john" g1)
(right possessProperty g1)
(property "Subscription" g1)
(license l0)
(grant g2 l0)
(keyholder “john" g2)
(right play g2)
(digitalresource "somewhere.mp3" g2)
14
Demo – Parsed License 2
(condition-or c0 g2)
(condition c0 prerequisiteRight p0)
(keyholder “john" p0)
(right possessProperty p0)
(property "Subscription" p0)
(issuer "Company A" l0)
(time 20060504)
(database-count 5 c2)
(predicate 0 “john" play "somewhere.mp3")
Hypothesis &
states
15
Demo – Interpretation 1
(authorized-grant g0 -1)
(authorized-grant g1 -1)
(authorized-grant g2 l0)
Grant blocks recognised as authorized/trusted
15
Demo – Interpretation 1
(authorized-grant g0 -1)
(authorized-grant g1 -1)
(authorized-grant g2 l0)
=> (predicate p0 “john" possessProperty "Subscription")
New hypothesis: Does john has the property Subscription
15
Demo – Interpretation 1
(authorized-grant g0 -1)
(authorized-grant g1 -1)
(authorized-grant g2 l0)
=> (predicate p0 “john" possessProperty "Subscription")
(keyholder_matched p0 g1)
- john
(op_matched p0 g1)
- possessProperty
(cond-fulfilled g1)
- none
(resource_matched p0 g1)
- “Subscription”
Conditions for new predicate fulfilled
15
Demo – Interpretation 1
(authorized-grant g0 -1)
(authorized-grant g1 -1)
(authorized-grant g2 l0)
=> (predicate p0 “john" possessProperty "Subscription")
(keyholder_matched p0 g1)
(op_matched p0 g1)
(cond-fulfilled g1)
(resource_matched p0 g1)
(predicate-success p0)
New hypothesis fulfilled
15
Demo – Interpretation 1
(authorized-grant g0 -1)
(authorized-grant g1 -1)
(authorized-grant g2 l0)
=> (predicate p0 “john" possessProperty "Subscription")
(keyholder_matched p0 g1)
(op_matched p0 g1)
(cond-fulfilled g1)
(resource_matched p0 g1)
(predicate-success p0)
(cond-true c0 prerequisiteRight p0)
(cond-satisfied c0)
Recursive condtion fulfilled
15
Demo – Interpretation 2
(keyholder_matched 0 g2)
(op_matched 0 g2)
(resource_matched 0 g2)
(cond-fulfilled g2)
- John
- play
- somewhere.mp3
- has property
Conditions of first grant block fulfilled
16
Demo – Interpretation 2
(keyholder_matched 0 g2)
(op_matched 0 g2)
(resource_matched 0 g2)
(cond-fulfilled g2)
(predicate-success 0)
Final hypothesis fulfilled.
16
Comparison - Advantages

Flat structure – aids in overcoming problems of
complex dependancies


Knowledge predicate is easily stored in database


OOP implementation requires global data to support recursive
condition
Support high-volume operation
“Proof” of authorization can be easily generated


Logging of reason for authorization
Helps in making intelligent authorization decisions
17
Comparison - Disadvantages


Additional knowledge creation stage
(XML – pre-processing)
Unable to support XML-related conditions in
MPEG-21 REL
18
Future work


Quantitative speed test
Optimization of knowledge-based approach


Partitioning of knowledge database into clearly
defined sets to reduce search range for rule
matching
Support more REL commands
19
Conclusion


Knowledge-based parsing is feasible
Reduce REL parser design complexity
20
Questions