310 likes | 330 Views
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.
E N D
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 • Buy • Rent • Promotion • Share • Gift Content Provider Consumer 2
Rights Expression Language DRM System • Direct payment • Payment information • Try before buying . . . Content Provider Consumer 2
Rights Expression Language • Expressive REL needed for user-friendly DRM Complicated REL license interpreter 2
Root Grant License Grant Condition Grant Condition License … Problem • Expressive Rights description – MPEG-21 REL • Tree-based XML • Complicateddependancies 3
Root Grant License Grant Condition Grant Condition License … Current solution • Inperative programming • Object-orientated mapping 4
Root Grant Root Grant Object License License Object Grant Grant Object Condition Condition Object Grant Grant Object Condition Condition Object License License Object … … Current solution • Inperative programming • Object-orientated mapping 4
Root Grant License Knowledge database Grant XML - Knowledge parser Condition Grant Condition License … Proposed Solution • Knowledge based parsing 5
Proposed Solution Root grant xx xx xx Knowledge database License xx xx xx Grant xx xx xx Condition xx xx xx Grant xx xx xx Condition xx xx xx License xx xx xx 6
Inference Engine Pattern-matching Rule pattern action Rule pattern action . . . Rule-based matching(Experts System) Root grant xx xx xx License xx xx xx Intelligence Grant xx xx xx Condition xx xx xx Grant xx xx xx Condition xx xx xx License xx xx xx 7
Inference Engine Add / Mod. / Delete Rule-based matching (Experts System) Root grant xx xx xx License xx xx xx Intelligence Rule Grant xx xx xx pattern action Condition xx xx xx Rule Grant xx xx xx pattern action Condition xx xx xx . . . License xx xx xx 7
Implementation • System States • counters • What right is requested? • Who can perform it? • What resource to use? • Under what conditions? 8
Grant valid? Issuer valid? Hypothesis is true? Root grant Conditions fulfilled? Operation valid? Principal valid? Resource valid? Implementation Root Grant License Grant Condition keyholder 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
Hypothesis & states 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") 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) - John (op_matched 0 g2) - play (resource_matched 0 g2) - somewhere.mp3 (cond-fulfilled g2) - 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 • OOP implementation requires global data to support recursive condition • Knowledge predicate is easily stored in database • 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