Vers une formalisation des langages de DRM (Digital Right

Transcription

Vers une formalisation des langages de DRM (Digital Right
Vers une formalisation des langages de DRM
(Digital Right Management)
Thierry Sans
Frédéric Cuppens
{thierry.sans,frederic.cuppens}@enst-bretagne.fr
GET/ENST-Bretagne
2, rue de la Châtaigneraie
35576 Césson Sévigné - France
Résumé
La gestion des droits numérique (DRM) a pour objectif de contrôler l’accès, l’usage et la diffusion
de contenus numériques. Dans ce contexte, XrML est un langage permettant d’exprimer des droits
sous forme de licences. Ce langage a servi de support à la définition du langage MPEG-REL utilisé
dans la norme ISO MPEG-21. Cet article présente les concepts de XrML ainsi que la syntaxe pour
exprimer des licences. Nous dégageons certaines limites de XrML et justifions le besoin de définir une
sémantique formelle pour ce langage. L’objectif de ces travaux préliminaires est d’étudier comment
améliorer l’expressivité de XrML. Pour cela, nous voulons nous appuyer sur les concepts définis dans
le modèle Or-BAC pour étendre le langage XrML.
1
Introduction
Au cœur de l’économie numérique, le DRM (Digital Right Management), autrement dit la gestion
des droits numériques doit répondre aux exigences de contrôle d’accès et de diffusion de tout contenu
numérique. Afin de satisfaire ces exigences, il est nécessaire de spécifier un règlement énonçant les
conditions d’utilisation d’un contenu numérique et d’apporter les outils nécessaires afin d’appliquer ce
règlement. Ce règlement est souvent exprimé sous forme de licence. Une licence est une sorte de contrat
entre un fournisseur d’une ressource et un consommateur. Un langage permettant d’exprimer de telles
licences se doit d’être simple et expressif afin de couvrir les besoins exprimés dans le langage naturel.
David Parott en 2001 à mener une étude pour le groupe de travail sur la gestion des droits numérique
MPEG-21 [13]. Dans cette étude, il analyse les différents cas d’utilisation des licences et spécifie les exigences que doit satisfaire tout langage de droits REL (Rights Expression Language). Des langages comme
XrML (eXtensible Rights Markup Language) [3] ou ODRL (Open Digital Rights Language) [10] ont été
développés pour pouvoir exprimer de telles licences. Ces langages ont été proposés dans une perspective
de protéger des données telles que du son ou de la vidéo, de spécifier les conditions d’utilisation d’un
logiciel ou encore de contrôler l’accès à des web-services. Nous pouvons prendre pour exemple le système
de téléchargements de la FNAC1 . Une licence pourra exprimer une règle simple telle que “n’importe quel
utilisateur a la permission de lire un fichier audio en payant 2 euro” ou bien des licences plus complexes
telles que “un membre de la FNAC a la permission de lire 10 fichiers audio par mois” ou bien “lire un
nombre illimité de fois un certain fichier audio tant qu’il est membre en payant 1 euro”. Ces licences sont
vérifiées à l’aide du lecteur Windows Media Player de Microsoft. Sur le même principe, on peut citer le
système iTunes d’Apple pour ses baladeurs iPod ou bien encore le système mis en place dans RealPlayer
par RealNetworks. Tous ces systèmes sont aujourd’hui propriétaires et manquent d’interopérabilité, d’où
la nécessité d’un standard dans le domaine du DRM.
1 www.fnac.com
rubrique “télécharger”
1
Dans le cadre de cet article nous allons nous intéresser à XrML. XrML eXtensible Rights Markup
Language est un langage de droit développé par la société ContentGuard [3]. En 2000, XrML avait reçu le
soutien de plusieurs acteurs des technologies de l’information comme notamment Adobe, Microsoft, HP
labs, Xerox. Microsoft s’est inspiré de XrML pour implanter son système de gestion des droits numériques
utilisé dans Windows Media Player 9. De plus, le Moving Picture Group2 a choisi XrML comme langage
répondant aux spécifications du MPEG-21 Rights Expression Language. Depuis avril 2004, une norme
ISO concernant MPEG REL [11] est née. Le monde du DRM œuvre pour l’émergence d’un standard
pour l’expression et la gestion des droits numériques. MPEG REL pourrait bien être ce standard.
Dans la suite, la section 2 présentera plus en détails l’architecture XrML et la section 3 décrira la
syntaxe XrML. Nous verrons dans la section 4 les mécanismes pour mettre en application ces licences.
Ensuite la section 5 posera la problématique d’une sémantique formelle pour XrML. Dans la section 6,
nous aborderons le problème de la mise en œuvre de cette sémantique en étendant la syntaxe XrML
existante ainsi que les mécanismes à mettre en place pour pouvoir interpréter ces licences.
2
Architecture XrML
XrML se base sur les technologies XML du W3C. La définition de sa syntaxe et de sa grammaire s’appuie sur les schémas XML [16][17]. XML permet à XrML d’être un langage de haut niveau d’expressivité
et d’une grande interopérabilité. De plus, XML [19] apporte une grande souplesse pour étendre le langage.
Fig. 1 – Architecture XrML
Xrml se décompose en trois parties illustrés par la figure 1 :
– La partie noyau “core schema” définit les concepts liés aux notions de licence, de permission,
de sujet, d’action, de ressource et de condition. Nous reviendrons sur ces notions dans la section
suivante. Les définitions relatives à cette partie sont identifiées par le préfixe d’espace de nom XML
“r :”.
– La partie “standard extension schema” est une extension contenant les définitions permettant de
mettre en œuvre XrML dans des cas généraux. Elle s’appuie sur les définitions “abstraites” de la
partie noyau. Ces définitions sont apparues avec la version 2.0 de XrML. Les définitions relatives
à cette partie sont identifiées par le préfixe d’espace de nom XML “sx :”.
– La partie “content specific extension schema” est une extension contenant des définitions relatives
à la gestion de contenu numérique. Cette extension définit les notions de droit, de condition et de
ressource relatives à certains domaines d’application comme la diffusion de livres électroniques, du
son ou de vidéo. Les définitions relatives à cette partie sont identifiées par le préfixe d’espace de
nom XML “cx :”.
De la même manière que sont définies les extensions “standard extension” et “content specific extension”, l’utilisateur peut définir ses propres extensions pour une application spécifique. L’utilisation des
espaces de noms [15] pour définir de nouvelles extensions permet de garantir l’absence de conflit entre
les différentes définitions de schéma XML.
2 www.chiariglione.org/mpeg/
2
3
Les licences XrML
La partie noyau (core schema) contient les définitions abstraites de la syntaxe de base de XrML. Le
noyau définit donc les concepts liés aux notions de licence, de permission, de sujet, d’action, de ressource
et de condition. Le concept de licence est illustré par la figure 2. Dans cette section, nous allons d’abord
présenter la permission et revenir sur la licence elle-même.
Fig. 2 – Concept de XrML
3.1
La permission
La permission (grant) permet d’exprimer la relation “un sujet a la permission de faire une certaine
action sur une ressource sous une certaine condition.” La figure 3 représente la structure XML de la
permission. Les éléments sujet (principal), action (right), ressource (resource) et condition (condition)
sont “abstraits” au sens XrML. Ces éléments ne seront pas utilisés tels quels pour définir une permission.
On utilisera des élément de substitution à ces entités abstraites. Ce mécanisme de substitution est donné
dans la définition des schémas XML [16].
Le sujet (principal) permet de définir l’entité active de la permission, celle pour laquelle il est permis
d’exécuter une action sur un objet sous une certaine condition. Pour définir le sujet, XrML utilise le
concept de certificat et associe le sujet à une clé publique (keyholder)3 . Afin de représenter les informations relatives au certificat, XrML utilise la description XML des signatures électroniques [18], et plus
particulièrement de la description des certificat X.509.
Il est possible de définir l’entité active d’une permission comme un ensemble de sujets à l’aide de
l’élément allP rincipals. L’élément allP rincipals signifie que le droit est octroyé pour l’ensemble des
sujets du moment qu’ils agissent d’un commun accord. Une permission ayant pour sujet un élément
allP rincipals ne signifie donc pas que le droit est octroyé pour chaque sujet, mais que le droit est activé
si l’ensemble des sujets agissent de manière commune. Plusieurs parties doivent se mettre d’accord4
afin qu’une action soit possible. Néanmoins, un ensemble de sujets ne peut être vu actuellement comme
une entité à part entière. En effet, il est impossible de décrire un ensemble de sujets autrement qu’en
identifiant chacun des sujets de cet ensemble à l’aide du mécanisme de certificat pris en compte dans
3 L’élément
4 Comme
keyholder est donc un élément de substitution pour principal
par exemple dans le cas d’une signature de contrat
3
Fig. 3 – Schéma XML de la permission (grant)
XrML (keyholder). Chaque sujet de l’ensemble doit donc être identifié séparément pour que la permission
soit octroyée à l’ensemble des sujets.
L’utilisateur peut également définir ses propres mécanismes d’identification des sujets. Pour cela, il
devra définir une extension et un nouveau type de sujet comme élément de substitution de principal.
Remarque : l’absence de sujet dans une permission revient à définir une permission valable pour tout
le monde. De même lorsqu’on définit un élément allPrincipals vide5 .
L’action (right) est l’élément permettant de définir ce que peut faire le sujet avec la ressource. La
partie noyau de XrML définit quatre éléments de substitution à right.
– Le droit d’émission (issue) permet de donner une permission à un autre sujet. Considérons une
permission p telle que le sujet s a le droit d’émettre une nouvelle permission6 p′ . L’activation7 de la
permission p par le sujet s entraı̂ne, via le mécanisme d’interprétation des licences, la création d’une
nouvelle licence l signée par le sujet s de p (l/issuer = p/principal) et contenant la permission p′
(l/grant = p/resource = p′ ).
– Le droit de révocation (revoke) permet à un sujet d’invalider une signature de licence existante.
Ainsi toutes les licences concernées par cette signature seront alors révoquées.
– La définition de propriété (PossessProperty) permet de spécifier une caractéristique d’un sujet
comme une appartenance à un groupe ayant une propriété commune. Il est ainsi possible de définir
une permission s’appliquant à tout sujet ayant cette propriété en commun.
– L’obtention d’un droit (obtain) permet a un sujet de rendre effective une nouvelle permission p′
définie en tant qu’élément ressource de la permission initiale p. Dès lors que l’utilisateur active la
permission p, une nouvelle permission p′ est alors susceptible d’être activée.
L’extension “content specific extension” définit des actions spécifiques concernant la gestion des
documents numériques.
La ressource (resource) est l’objet sur lequel le sujet a la permission de faire une action. La ressource
peut être par exemple un contenu numérique (livre électronique, musique, image, vidéo ...), un serviceweb, une propriété ou une permission.
5 Sans
aucun sous-élément
groupe de permissions grantGroup
7 Une permission est dite activée quand l’utilisateur sollicite légitimement cette permission
6 Ou
4
La condition spécifie les contraintes qui devront être satisfaites afin que la permission soit effective. Ces
contraintes peuvent représenter un certain contexte d’utilisation de la ressource ou bien une obligation
dont le sujet doit s’acquitter pour bénéficier de la permission. L’absence de définition de condition se
traduit par une permission inconditionnelle et donc indépendante du contexte d’utilisation.
Pour décrire la condition, les éléments de substitution suivants sont définis dans le noyau :
– allConditions, une conjonction de conditions est requise.
– existsRight permet de vérifier qu’une certaine permission a été définie par un émetteur de confiance.
La notion de sujet de confiance peut être définie au niveau d’une licence grâce à l’élément T rustedP rincipal.
– prerequisiteRight permet de vérifier qu’une permission existe et qu’il est possible de l’activer.
– revocationFreshness permet de spécifier un temps de rafraı̂chissement de la validité de la signature
de la licence. Cette notion est rattachée a celles de révocation de certificat et de révocation de
licence.
– validityInterval, la permission est valable sur un certain intervalle de temps.
Parmi les autres champs de la permission, on trouve :
– delegationControl permet de déléguer une permission à un ou plusieurs sujets.
– forAll permet de définir des variables.
– encryptedGrant permet de chiffrer le contenu de la permission.
3.2
La licence (license)
Dans la pratique, en plus de définir un ensemble de permissions, il est parfois utile d’identifier l’entité
émettrice de ces permissions (the issuer). C’est pour cette raison que XrML définit le concept de licence
qui regroupe un ensemble de permissions et une description de l’entité qui a émis les permissions. La
licence est le concept le plus important dans XrML. La licence est un conteneur de permissions (ou un
groupe de permissions (grantGroup)). Le schéma XML de la licence est représenté par la figure 4.
Fig. 4 – Schéma XML de la licence (license)
Le titre (title) est une description de la licence. Cet élément n’apporte aucune information utile pour
le processus de traitement d’une licence XrML.
5
L’inventaire (inventory) est une commodité syntaxique qui peut être utilisée lorsqu’un même élément
(sujet, action, ressource ou condition) est utilisé plusieurs fois dans une même licence. Ce mécanisme
s’apparente à un mécanisme de définition de macros.
L’émetteur (issuer) est la signature numérique de l’entité émettrice de la licence. La signature est
définie par la recommandation du W3C sur la représentation de la signature en XML [18]. L’émetteur
est celui à l’origine de la (ou des) permission(s). Plusieurs entités peuvent signer la même licence. Actuellement aucune sémantique n’est associée à une signature multiple. Son interprétation dépend de
l’implémentation.
Parmi les autres champs de la licence, on trouve :
– other contient des informations supplémentaires sur la licence. La spécification XrML ne définit
rien sur cet élément. L’utilisateur peut utiliser cet élément comme il le souhaite.
– encryptedGrant, de la même manière que pour la permission, une licence peut avoir son contenu
chiffré.
3.3
Exemple sur un scénario multi-tiers
L’exemple8 illustré par la figure 5, nous montre comment mettre en œuvre ce système de licences
dans le cas d’un scénario multi-tiers.
Fig. 5 – Exemple de scénario multi-tiers
La première licence, écrite par une maison d’édition, décrit qu’un “distributeur” a la permission de
“diffuser” ses morceaux de musique à condition que ce dernier reverse 10% de royalties à la maison de
disque. Pour cela la maison de disque donne la permission au distributeur d’émettre des licences aux
utilisateurs sur ces morceaux de musique.
La seconde licence est celle que le distributeur émet à ses utilisateurs. Elle autorise l’utilisateur à lire
un morceau de musique sous la condition de payer une certaine somme au distributeur. Cette licence sera
signée par le distributeur et par la maison d’édition puisque cette dernière lui en a donné l’autorisation
grâce à la première licence.
8 extrait
de http ://www.contentguard.com/reference/docs/SimpleTierExample.htm
6
La dernière licence permet d’exprimer que le distributeur “jazz online” est un distributeur “reconnu”
par la maison de disque. Pour cela la maison d’édition donne une licence attestant que “jazz online” a
la propriété d’être un distributeur officiel.
Ainsi, grâce à ces trois licences, “jazz online” peut diffuser les morceaux de musique de la maison
d’édition. A chaque fois que “jazz online” émet une licence à ses utilisateurs, ce distributeur a l’obligation
de reverser 10% du montant de la transaction à la maison d’édition.
4
Utilisation des licences XrML
En complément du langage, ContentGuard fournit une plate-forme de développement XrML SDK
[4] pour exploiter les licences. Ce kit de développement permet d’écrire des licences XrML à partir de
modèles (templates XML), et fournit une interface de programmation pour utiliser ces licences.
Fig. 6 – Algorithme d’interprétation des licences XrML
Voici l’algorithme illustré par la figure 6 :
1 : Un utilisateur demande d’exécuter une action sur une ressource via l’application.
2 : L’application génère une requête (principal, resource, right) pour le “license interpreter”.
3 : Le “license interpreter” vérifie qu’une permission correspondant à la requête existe dans l’ensemble
des licences.
4 : Si cette permission existe, le “license interpreter” renvoie la condition à satisfaire à l’application.
5 : L’application va ensuite faire évaluer cette condition par le “condition validator”
6 : Si la condition est vérifiée, alors l’application autorise l’utilisateur à accéder à la ressource.
5
Vers une sémantique formelle pour XrML
Actuellement, XrML est un langage qui n’a pas de sémantique définie formellement. La sémantique de
XrML est seulement définie de manière informelle par l’algorithme d’interprétation des licences XrML.
Cet algorithme détermine à partir d’un ensemble de permissions si une action est permise ou pas.
L’implémentation de cet algorithme dans la SDK [4] est obscure et [9] montre que, dans certains cas,
les résultats fournies par cette implémentation ne correspondent pas à l’interprétation intuitive d’une
licence XrML.
De même, les conditions définies dans XrML n’ont aucune sémantique de sorte que le développeur
ne dispose d’aucune spécification pour implémenter les mécanismes permettant d’évaluer ces conditions.
On peut également constater que l’interprétation des licences n’est pas intuitive dès lors que la
ressource est elle-même une permission.
Un problème incontournable est donc, dans un premier temps, de définir une sémantique formelle
pour XrML et, ensuite, de démontrer que l’algorithme utilisé pour interpréter les licences est correct
vis-à-vis de cette sémantique.
Plusieurs articles soulignent déjà le manque de sémantique de XrML. Ainsi, Gunter et al [7] proposent
d’utiliser la sémantique des langages de programmation pour formaliser un langage de droits numériques.
7
Dans cette étude, une licence est modélisée comme un ensemble de traces, chaque trace étant un ensemble
d’actions autorisées par la licence.
[14] propose une approche basée sur la logique temporelle et la logique déontique pour définir des
licences et prouver certaines propriétés. L’approche est similaire à celle proposée par [7] ; une licence est
une description d’un ensemble d’actions autorisées. Un utilisateur est donc autorisé à faire une action si
cette action appartient à une séquence d’actions autorisées et qu’il a déjà effectué les actions précédant
celle-ci dans cette même séquence.
Halpern et Weissman dans [8] utilisent la logique du premier ordre pour décrire un langage de droits
basé sur les licences. Dans [9], ils reprennent la même démarche en enrichissant le langage à l’aide de la
logique déontique, et proposent une sémantique formelle pour XrML.
Une comparaison entre XrML et ODRL a été effectuée dans [2] pour mettre en évidence les limites
de ces langages. Sur ce constat, les auteurs proposent un nouveau langage de droit LicenceScript [1] basé
sur Prolog.
6
Vers des licences plus expressives
Nos travaux actuels ont pour objectif de proposer une formalisation en logique du premier ordre des
licences et de comparer ce formalisme à celui déjà défini dans Or-BAC [12]. Or-BAC est un modèle formel
de contrôle d’accès et d’usage reposant sur le concept d’organisation. Il permet d’exprimer des règles de
sécurité correspondant à des permissions, des interdictions, des obligations.
Intuitivement, notre démarche consiste à modéliser les licences comme des objets particuliers. On peut
dériver une permission de l’existence d’un tel objet. L’administration des licences est ainsi simplifiée. Le
droit de type issue proposé dans XrML pourrait alors être modélisé comme la création d’un objet de
type licence. C’est la démarche déjà proposée pour administrer les droits dans le modèle Or-BAC [5].
Nous envisageons également d’étendre le langage pour modéliser des licences plus expressives. Ainsi,
dans le langage XrML, il est actuellement difficile de spécifier une licence qui porte sur un ensemble de
ressources, par exemple l’ensemble des morceaux de jazz, sans avoir à énumérer toutes les ressources de
cet ensemble ou sans avoir recours à une description de l’ensemble de ces morceaux. De même, si l’on
souhaite définir une licence qui donne la permission de réaliser plusieurs actions, il faut énumérer dans
la licence ces différentes actions sous forme de right.
Pour augmenter l’expressivité des licences, nous pouvons nous inspirer de plusieurs concepts proposés
dans le modèle Or-BAC. Dans Or-BAC, les concepts d’organisation, de rôle, de vue et d’activité ont été
introduits. Une permission est émise par une organisation et relie un rôle, une activité et une vue. Une
telle permission est ensuite interprétée de la façon suivante : n’importe quel sujet jouant ce rôle a la
permission de réaliser n’importe quelle action correspondant à cette activité sur n’importe quel objet
appartenant à cette vue. On peut ainsi définir une permission qui concerne l’ensemble des morceaux de
jazz (en définissant une vue contenant les morceaux de jazz) ou qui porte sur un ensemble d’actions (en
définissant une activité qui regroupe cet ensemble d’actions).
Il parait donc intéressant d’utiliser ces différents concepts de rôle, d’activité et de vue pour étendre
la notion de licence XrML (voir figure 7). Le modèle Or-BAC introduit également la notion de contexte
pour définir des permissions conditionnelles. Nous avons modélisé cette notion dans [6], en particulier
nous avons proposé plusieurs types de contexte. L’utilisation de la notion de contexte permettrait de
formaliser les conditions associées à une licence XrML. XrML nous parait donc être un bon moyen de
traduire une modélisation Or-BAC afin de mettre en application un règlement de sécurité par ce système
de licences.
Enfin, la notion d’obligation est définie implicitement dans XrML. Par exemple, l’obligation de payer
1 euro pour écouter un certain fichier audio est représentée implicitement sous forme d’une condition
attachée à la licence. Cependant, dans certains cas, il parait nécessaire de représenter explicitement la
notion d’obligation, par exemple lorsque l’obligation de payer est déclenchée une fois que le fichier audio
a été écouté. Ce problème constitue une autre extension possible de XrML que nous souhaitons étudier.
8
Fig. 7 – L’extension OrBAC
7
Conclusion
XrML vise à répondre à des besoins commerciaux très divers qui nécessitent un langage de haute
expressivité. Du fait même de cette orientation commerciale de XrML, il est nécessaire de définir une
sémantique précise pour ce langage afin que les licences puissent être interprétées de façon non ambiguë.
Donner une sémantique formelle à XrML constitue donc un premier objectif de nos travaux.
On peut également constater que XrML peut probablement être appliqué à d’autres domaines non
commerciaux, par exemple pour contrôler l’accès à des données confidentielles ou contrôler l’utilisation
de données devant répondre à des exigences d’intégrité et de disponibilité élevées. Dans ce cas, des
adaptations de XrML sont probablement nécessaires pour augmenter son expressivité. Pour cela, certains
concepts déjà présents dans le modèle Or-BAC [12] semblent pertinents.
Signalons enfin que les travaux sur le langage XrML ont depuis avril 2004 abouti à une norme ISO
sous la dénomination MPEG-REL [11]. MPEG-REL a été défini par le groupe de travail MPEG-21 et
reprend les concepts déjà présents dans XrML. Nos travaux de recherche porteront donc dorénavant sur
la norme MPEG-REL.
Remerciements Pour ce travail, Thierry Sans et Frédéric Cuppens sont financés au travers de l’ACI
CASC du Ministère de la Recherche.
Références
[1] Cheun Ngen Chong, Ricardo Corin Sandro Etalle, and Pieter H. Hartel. LicenseScript : A Novel
Digital Rights Language and its Semantics. In 3rd International Conference on Web Delivering
Music (WEDELMUSIC’O3), Los Alamitos, California, September 2003.
9
[2] Cheun Ngen Chong, Sandro Etalle, and Pieter H. Hartel. Comparing Logic-based and XML-based
Rights Expression Languages. In Workshop on Metadata for Security, International Federated
Conferences (OTM’03), Catania, Italy, November 2003.
[3] ContentGuard.
eXtensible Rights Markup Language (XrML) 2.0 Specifications, 2001.
www.contentguard.org.
[4] ContentGuard. XrML Software Development Kit : User’s Guide, 2001. www.contentguard.com.
[5] Frédéric Cuppens and A Miège. adOr-BAC : An Administration Model for Or-BAC. In Workshop
on Metadata for Security, International Federated Conferences (OTM’03), Catania, Italy, November
2003.
[6] Frédéric Cuppens and Alexandre Miège. Modelling Contexts in the Or-BAC Model. In 19th Applied
Computer Security Associates Conference (ACSAC 2003), Las Vegas, Nevada, December 2003.
[7] Carl A. Gunter, Stephen T. Weeks, and Andrew K. Wright. Models and Languages for Digitals
Rights. In 34th Hawaii International Conference on System Sciences (HICSS’01), Maui, Hawaii,
January 2001.
[8] Joseph Y. Halpern and Vicky Weissman. Using First-Order Logic to Reason about policies. In 16th
IEEE Computer Security Foundation Workshop (CSFW’03), Pacific Grove, California, June 2003.
[9] Joseph Y. Halpern and Vicky Weissman. A Formal Foundation for XrML. In 17th IEEE Computer
Security Foundation Workshop (CSFW’04), Pacific Grove, California, June 2004.
[10] Renato Iannella. Open Digital Rights Management (ODRL). In World Wide Web Consortium
Workshop on Digital Rights Management for the Web (W3C DRM’01), Sophia-Antipolis, France,
January 2001.
[11] International Organization for Standardization (ISO). ISO/IEC 21000-5 :2004 Information
technology – Multimedia framework (MPEG-21) – Part 5 : Rights Expression Language, 2004.
www.iso.ch/iso/fr/prods-services/popstds/mpeg.html.
[12] A. Abou El Kalam, R. El Baida, P. Balbiani, S. Benferhat, F. Cuppens, Y. Deswarte, A. Miège,
C. Saurel, and G. Trouessin. Organization Based Access Control (Or-BAC). In IEEE 4th International Workshop on Policies for Distributed Systems and Networks (Policy 2003), Lake Come,
Italy, June 2003.
[13] David Parott. Requirements for a Rights Data Dictonary and Rights Expression Language. Technical
report, Reuters, June 2001.
[14] Riccardo Pucella and Vicky Weissman. A Logic For Reasoning about Digital Rights. In 15th IEEE
Computer Security Foundation Workshop (CSFW’02), Cape Breton, Canada, June 2002.
[15] World Wide Web Consortium (W3C). Namespaces in XML, 1999. www.w3.org/TR/REC-xmlnames/.
[16] World Wide Web Consortium (W3C).
XML
www.w3.org/TR/2001/REC-xmlschema-0-20010502/.
Primer,
2001.
[17] World Wide Web Consortium (W3C).
XML Schema Part 1 : Structures,
www.w3.org/TR/2001/REC-xmlschema-1-20010502/.
2001.
[18] World Wide Web Consortium (W3C).
www.w3.org/TR/xmldsig-core/.
Schema
Part
0
:
XML-Signature Syntax and Processing, 2002.
[19] World Wide Web Consortium (W3C). Extensible Markup Language (XML) 1.0 (Third Edition),
2004. www.w3.org/TR/REC-xml/.
10

Documents pareils