Post on 31-Dec-2015
description
Windows Rights Windows Rights Management Management
ServicesServicesSDKSDK
Jean-Yves PoublanJean-Yves PoublanMicrosoft FranceMicrosoft France
AgendaAgenda Notions de base RMSNotions de base RMS Publication de contenu protégéPublication de contenu protégé Consommation de contenu protégéConsommation de contenu protégé Spécificités applications « serveur »Spécificités applications « serveur » Sujets choisisSujets choisis
Les informations de cette session concernent RMS SP1, disponible depuis mi 2005.
3
Windows Rights Management ServicesWindows Rights Management Services
L’application crée du contenuL’application crée du contenu Le contenu est protégéLe contenu est protégé
ChiffrementChiffrement Les droits sont appliquésLes droits sont appliqués
Licence de publicationLicence de publication Quels droits (lecture, copie, impression, transfert…)Quels droits (lecture, copie, impression, transfert…) A qui (jeand@sarl.fr, abonnes@pressco.fr, …)A qui (jeand@sarl.fr, abonnes@pressco.fr, …) Sous quelles conditions (expire le 31/05/2004, …)Sous quelles conditions (expire le 31/05/2004, …)
Le contenu est stocké, transféréLe contenu est stocké, transféré L’application consomme le contenuL’application consomme le contenu
Licence d’utilisationLicence d’utilisation En respectant les droits et conditions de la licenceEn respectant les droits et conditions de la licence
L’application s’appuie sur RMS pourL’application s’appuie sur RMS pour La protection de l’information (publication)La protection de l’information (publication) La consommation de l’information protégée (utilisation)La consommation de l’information protégée (utilisation)
4
Windows Rights Management ServicesWindows Rights Management ServicesExemples d’applicationsExemples d’applications
Programme de CAO (Conception Assistée par Ordinateur)Programme de CAO (Conception Assistée par Ordinateur) Protection des plansProtection des plans
Portail Web agence photoPortail Web agence photo Tout le monde peut visualiser les images en basse résolutionTout le monde peut visualiser les images en basse résolution Les abonnés peuvent visualiser les images en haute résolutionLes abonnés peuvent visualiser les images en haute résolution
Portail Intranet ressources humaines ou dept. juridiquePortail Intranet ressources humaines ou dept. juridique Les utilisateurs ont accès à certaines informations, mais il ne Les utilisateurs ont accès à certaines informations, mais il ne
peuvent copier ni transférerpeuvent copier ni transférer Passerelle de messagerie électroniquePasserelle de messagerie électronique
Analyse et protège les messages selon des policies ou Analyse et protège les messages selon des policies ou classificationclassification
Un anti-virus basé sur le serveurUn anti-virus basé sur le serveur Scanne les documents protégésScanne les documents protégés
Applications MicrosoftApplications Microsoft Office 2003Office 2003
Word, Excel, Powerpoint, OutlookWord, Excel, Powerpoint, Outlook Exchange OWA, Internet Explorer (RMA)Exchange OWA, Internet Explorer (RMA) Prochaines versions de Sharepoint…Prochaines versions de Sharepoint…
Application de la protection dynamiquementApplication de la protection dynamiquement
5
Entités de confianceEntités de confiance RMS met en œuvre le chiffrement…RMS met en œuvre le chiffrement…
RSA 1024 et AES 128RSA 1024 et AES 128
Mais doit aller plus loinMais doit aller plus loin Contrôle de l’usage après déchiffrementContrôle de l’usage après déchiffrement
Nécessite le soutien d’entités de confianceNécessite le soutien d’entités de confiance La machineLa machine
Activation lockbox - certificatActivation lockbox - certificat L’applicationL’application
ManifesteManifeste
6
TemplatesTemplates RMS permet de définir des modèles de droitsRMS permet de définir des modèles de droits
Matérialise une politique de protection ou de classificationMatérialise une politique de protection ou de classification Permet à l'utilisateur d'appliquer le modèle définit par Permet à l'utilisateur d'appliquer le modèle définit par
l'administrateur, plutôt que de devoir définir les l'administrateur, plutôt que de devoir définir les droits/conditions/utilisateurs individuellement à chaque droits/conditions/utilisateurs individuellement à chaque protectionprotection
Les templates sont déployées au sein de Les templates sont déployées au sein de l’infrastructure (SMS, GPO, etc…)l’infrastructure (SMS, GPO, etc…)
L’application peut utiliser les modèles de droits L’application peut utiliser les modèles de droits définis par l’administrateur lors la protection de définis par l’administrateur lors la protection de l’informationl’information
7
XrML (eXtensible rights Markup XrML (eXtensible rights Markup Language)Language)
Rights LanguageRights Language -> expression des droits avec XML -> expression des droits avec XML (1999)(1999) XML est le méta-langage – le langage utilisé pour spécifier XML est le méta-langage – le langage utilisé pour spécifier
XrMLXrML Partie fournisseur de ressource numérique exprime:Partie fournisseur de ressource numérique exprime:
Tiers pouvant accéder à la ressourceTiers pouvant accéder à la ressource Droits de ces tiers sur la ressourceDroits de ces tiers sur la ressource Termes et conditions pour l’exercice de ces droitsTermes et conditions pour l’exercice de ces droits
Standard, gouverné par ContentGuard, Inc.Standard, gouverné par ContentGuard, Inc. Reconnu W3C et MPEGReconnu W3C et MPEG
Travaux PARC (Xerox Palo Alto Research Center)Travaux PARC (Xerox Palo Alto Research Center) DPRL (Digital Property Rights Language basé sur LISP en DPRL (Digital Property Rights Language basé sur LISP en
tant que méta-langage – 1996)tant que méta-langage – 1996) SDK XrML disponibleSDK XrML disponible Version courante 2.0Version courante 2.0
RMS utilise la version 1.2.1RMS utilise la version 1.2.1 XrML12.pdfXrML12.pdf
8
Rights Management ServicesRights Management ServicesSystème bâti sur XrMLSystème bâti sur XrML
Tout est licence XrMLTout est licence XrML <BODY type="LICENSE" version="3.0"><BODY type="LICENSE" version="3.0">
Certificat MachineCertificat Machine <OBJECT type="Machine-Certificate"><OBJECT type="Machine-Certificate">
Certificat UtilisateurCertificat Utilisateur <OBJECT type="Group-Identity-Credential"><OBJECT type="Group-Identity-Credential">
Licence de publicationLicence de publication <BODY type="Microsoft Rights Label" version="3.0"><BODY type="Microsoft Rights Label" version="3.0"> <OBJECT><OBJECT>
Licence d’utilisationLicence d’utilisation <OBJECT type="Content-License"><OBJECT type="Content-License">
Certificat client de Certificat client de licensorlicensor <OBJECT type="Client-Licensor-Certificate"><OBJECT type="Client-Licensor-Certificate">
Certificat serveur de Certificat serveur de licensorlicensor <OBJECT type="Server-Licensor-Certificate"><OBJECT type="Server-Licensor-Certificate">
Certificat CACertificat CA <OBJECT type="DRM-CA-Certificate"><OBJECT type="DRM-CA-Certificate">
Tous les certificats et licences sont signés par leur Tous les certificats et licences sont signés par leur "issuer" et contiennent la clé publique de l'issuer"issuer" et contiennent la clé publique de l'issuer
9
Hiérarchie XrMLHiérarchie XrML
MS DRM Production Machine
Activation Desktop Security
Processor CA
Microsoft DRM Production Machine
Activation Server CA
Microsoft DRM Production CA
Microsoft DRM Production
Root
DRM-Certificate-AuthorityClé 2048
Microsoft DRM Server
Enrollment Service
Microsoft DRM Production
Server Enrollment CA
Certification
Machine
RAC
Licensing
Publishing
CLC
Use
Owner
Microsoft DRM Production Desktop Security
Processor Activation Certificate
DRM-CA-CertificateClé 1024
Server-Licensor-CertifcateClé 1024
Clés 1024
10
Application RMSApplication RMS
Application RMS
MSDRM.DLL
SECPROC.DLL
CryptoAPI
Win32Proxy
Proxy
DRMCreateIssuanceLicenseDRMAcquireLicense
DRMEncryptDRMDecrypt
DRMCreateBoundLicense…
RMS Server - SOAP
AcquireLicenseAcquireIssuanceLicense
AcquirePreLicenseEditIssuanceLicense
GetLicensorCertificate
11
Windows Rights Management ServicesWindows Rights Management ServicesDisponibilitéDisponibilité
RMS SP1RMS SP1 Il s’agit du Service Pack 1 de RMS 1.0Il s’agit du Service Pack 1 de RMS 1.0 Attention: assez différent de RMS 1.0Attention: assez différent de RMS 1.0
Binaires disponibles par téléchargement sur le Binaires disponibles par téléchargement sur le site Web Microsoftsite Web Microsofthttp://www.microsoft.com/windowsserver2003/technologies/rightsmgmt/http://www.microsoft.com/windowsserver2003/technologies/rightsmgmt/
default.mspxdefault.mspx
• • Windows RMS Windows RMS • • Windows RMS Client Windows RMS Client • • Windows RMS Toolkit Windows RMS Toolkit • • Rights Management Add-on for Internet ExplorerRights Management Add-on for Internet Explorer
• • Rights Management Services SDKRights Management Services SDK• • Rights-Managed HTML SDKRights-Managed HTML SDK
12
PublicationPublication
Créer une licence de publication non signéeCréer une licence de publication non signée DRMCreateIssuanceLicense()DRMCreateIssuanceLicense() Droits spécifiés à l’aide d’un Droits spécifiés à l’aide d’un templatetemplate Droits spécifiés individuellementDroits spécifiés individuellement
Signer la licence de publicationSigner la licence de publication DRMGetSignedIssuanceLicenseDRMGetSignedIssuanceLicense()() Génération d’une clé de contenu Génération d’une clé de contenu DRM_AUTO_GENERATE_KEY Utilisation d’une clé de contenu existanteUtilisation d’une clé de contenu existante
Chiffrer le contenuChiffrer le contenu Avec RMS (lockbox)Avec RMS (lockbox)
DRMCreateBoundLicenseDRMCreateBoundLicense DRMCreateEnablingBitsEncryptorDRMCreateEnablingBitsEncryptor DRMEncryptDRMEncrypt
Avec CryptoAPIAvec CryptoAPI Peut se faire n’importe quand puisqu’on contrôle la génération de la Peut se faire n’importe quand puisqu’on contrôle la génération de la
clé de contenuclé de contenu Utile pour une application « serveur » sans lockboxUtile pour une application « serveur » sans lockbox
Attention: le déchiffrement se fait obligatoirement par la lockboxAttention: le déchiffrement se fait obligatoirement par la lockbox
13
PublicationPublication Il appartient à l’application de gérer Il appartient à l’application de gérer
(stockage/transport) la licence obtenue de (stockage/transport) la licence obtenue de DRMGetSignedIssuanceLicenseDRMGetSignedIssuanceLicense PWSTRPWSTR
La licence de publication peut être stockée avec le La licence de publication peut être stockée avec le contenucontenu Office 2003 et RMA utilisent un Office 2003 et RMA utilisent un streamstream dans un fichier dans un fichier
Structured StorageStructured Storage ( (compound filecompound file)) Recommandé…Recommandé…
Si la licence de publication est conservée Si la licence de publication est conservée séparément, il faut un moyen de la lier au contenuséparément, il faut un moyen de la lier au contenu L'attribut L'attribut ContentIDContentID d'une licence de publication permet de d'une licence de publication permet de
faire cette liaisonfaire cette liaison
14
PublicationPublication
aDroits et
ayants droits (adresses e-
mail)
Clé de contenu
Chiffré avec clé publique
serveurRSA 1024
Licence publicatio
n
Contenu du fichier(Texte, Images, méta data, etc…)
Création lors de la
protection du fichier
Chiffré avec clé de contenu
AES128
Chiffré avec clé de contenu
15
ConsommationConsommation Localiser une licence d’utilisation localementLocaliser une licence d’utilisation localement
DRMEnumerateLicenseDRMEnumerateLicense
Si pas de licence d’utilisation dans le store localSi pas de licence d’utilisation dans le store local Retrouver la licence de publication - PWSTRRetrouver la licence de publication - PWSTR Obtenir une licence d’utilisation du serveur RMSObtenir une licence d’utilisation du serveur RMS
DRMAcquireLicenseDRMAcquireLicense Fourniture de la licence de publicationFourniture de la licence de publication
• DRMCreateLicenseStorageSessionDRMCreateLicenseStorageSession (PWSTR) (PWSTR)
Authentification de l’utilisateur (crédentiels)Authentification de l’utilisateur (crédentiels) Par défaut l’API utilise une RAC appropriée si présente sur le Par défaut l’API utilise une RAC appropriée si présente sur le
disquedisque Sinon, fourniture d’une RAC utilisateur spécifiqueSinon, fourniture d’une RAC utilisateur spécifique
16
ConsommationConsommation
aDroits et
ayants droits (adresses e-
mail)
Clé de contenuChiffré avec
clé publique serveur
Licence publicatio
n
Contenu du fichier(Texte, Images, méta data, etc…)
Création lors de la
protection du fichier
Chiffré avec clé de contenu
AES128
Chiffré avec clé de contenu
Licence utilisatio
n
Clé de contenu
Droits pour l’utilisateur
Chiffrée avec la clé
publique de l’utilisateur
Obtenue du serveur RMS
Chiffrés avec la clé de contenu
17
ConsommationConsommation On a la licence d’utilisationOn a la licence d’utilisation
DRMEnumerateLicenseDRMEnumerateLicense
Faire un bind de la licence d’utilisationFaire un bind de la licence d’utilisation DRMCreateBoundLicenseDRMCreateBoundLicense On bind pour un principalOn bind pour un principal On bind pour des droits spécifiques (e.g. « EDIT », On bind pour des droits spécifiques (e.g. « EDIT »,
« COPY »)« COPY ») Mais retourne tous les droits de l’utilisateursMais retourne tous les droits de l’utilisateurs On peut les mémoriser/activer/griser les menusOn peut les mémoriser/activer/griser les menus
Déchiffrer le contenu, l’exercice du droitDéchiffrer le contenu, l’exercice du droit DRMCreateEnablingBitsDecryptorDRMCreateEnablingBitsDecryptor
Un seul décrypteur par droit à exercerUn seul décrypteur par droit à exercer Clé de contenuClé de contenu
DRMDecryptDRMDecrypt Obligatoirement avec la lockboxObligatoirement avec la lockbox
18
Best practicesBest practices Une fois déchiffré, il appartient à l’application de Une fois déchiffré, il appartient à l’application de
protéger le contenu contre un usage contraire au protéger le contenu contre un usage contraire au droit pour lequel le contenu a été déchiffrédroit pour lequel le contenu a été déchiffré Se conformer au droit pour lequel le Se conformer au droit pour lequel le bindbind a été demandé a été demandé
On peut mémoriser les droits pour activer/griser On peut mémoriser les droits pour activer/griser les menus en fonctionles menus en fonction Mais refaire le bind au moment d’une actionMais refaire le bind au moment d’une action
Conserver le contenu en clair le moins longtemps Conserver le contenu en clair le moins longtemps possiblepossible Déchiffrer, utiliser, détruireDéchiffrer, utiliser, détruire
S’assurer que l’application est en mesure d’activer S’assurer que l’application est en mesure d’activer la machine et d’enrôler l’utilisateur, si nécessairela machine et d’enrôler l’utilisateur, si nécessaire
19
Services RMSServices RMS
Services Web ASPNETServices Web ASPNET Protocole SOAP sur HTTP/HTTPSProtocole SOAP sur HTTP/HTTPS Répertoire virtuel _wmcs dans le Default Web Site (ports Répertoire virtuel _wmcs dans le Default Web Site (ports
80 et 443)80 et 443) https://servername/_wmcs/Certificationhttps://servername/_wmcs/Certification https://servername/_wmcs/Licensinghttps://servername/_wmcs/Licensing
ServicesServices Certification utilisateur – liaison machine/utilisateurCertification utilisateur – liaison machine/utilisateur
Une fois par utilisateur par machineUne fois par utilisateur par machine Certification/Certification.asmxCertification/Certification.asmx
LicensingLicensing – licence d'utilisation – licence d'utilisation Une fois par contenu par utilisateurUne fois par contenu par utilisateur Licensing/Publish.asmxLicensing/Publish.asmx Licensing/License.asmxLicensing/License.asmx
Enrôlement de serveurs de licences subordonnésEnrôlement de serveurs de licences subordonnés Certification/SubEnrollService.asmxCertification/SubEnrollService.asmx
20
Application ServeurApplication Serveur Doit pouvoir supporter la chargeDoit pouvoir supporter la charge
Requêtes clientRequêtes client Portail Web, Gestion de documents, Workflow…Portail Web, Gestion de documents, Workflow…
Taches à effectuerTaches à effectuer Anti-virus, Protection d’e-mail, ArchivageAnti-virus, Protection d’e-mail, Archivage
Lockbox spécifique multi-threadedLockbox spécifique multi-threaded DRMSetGlobalOptionsDRMSetGlobalOptions permet de spécifier la lockbox serveurpermet de spécifier la lockbox serveur secproc_ssp.dll, secproc_ssp_isv.dllsecproc_ssp.dll, secproc_ssp_isv.dll
Peut publier et consommerPeut publier et consommer Peut obtenir des licences d’utilisation pour ses clientsPeut obtenir des licences d’utilisation pour ses clients N’a pas besoin d’être authentifiéeN’a pas besoin d’être authentifiée
Pas de manifestePas de manifeste Services Web spécifiques pour les applications serveursServices Web spécifiques pour les applications serveurs
Certification/ServerCertification.asmxCertification/ServerCertification.asmx Licensing/Server.asmxLicensing/Server.asmx Licensing/EditIssuanceLicense.asmxLicensing/EditIssuanceLicense.asmx
……
21
Application Serveur sans LockboxApplication Serveur sans Lockbox Pas de consommationPas de consommation
Publication de contenu protégé seulementPublication de contenu protégé seulement
Publication en lignePublication en ligne C’est le serveur RMS qui signe la licence de publicationC’est le serveur RMS qui signe la licence de publication Permet de déplacer la charge CPU vers RMSPermet de déplacer la charge CPU vers RMS
Les librairies clientes RM sont quand même Les librairies clientes RM sont quand même utiliséesutilisées Pour celles qui ne nécessitent pas la lockboxPour celles qui ne nécessitent pas la lockbox
Web servicesWeb services GetLicensorCertificateGetLicensorCertificate, , AcquireIssuanceLicenseAcquireIssuanceLicense
22
Publication en lignePublication en ligne Génération d’une clé de chiffrement et chiffrement Génération d’une clé de chiffrement et chiffrement
du contenudu contenu CryptoAPI, Classes .NetCryptoAPI, Classes .Net
GetLicensorCertificateGetLicensorCertificate (SOAP) (SOAP) Obtention du certificat serveurObtention du certificat serveur
DRMGetSignedIssuanceLicenseDRMGetSignedIssuanceLicense (local) (local) Flag DRM_SERVER_ISSUANCELICENSEFlag DRM_SERVER_ISSUANCELICENSE Protection de la licence non signéeProtection de la licence non signée
Chiffrement des droits avec la clé de contenuChiffrement des droits avec la clé de contenu Chiffrement de la clé de session avec la clé publique du Chiffrement de la clé de session avec la clé publique du
serveurserveur
AcquireIssuanceLicenseAcquireIssuanceLicense (SOAP) (SOAP) Envoi de la licence non signée au serveurEnvoi de la licence non signée au serveur Réception en retour de la licence signéeRéception en retour de la licence signée
23
RMHRMH Rights Managed HTMLRights Managed HTML
Format (publié) pour la protection de contenu HTML avec RMSFormat (publié) pour la protection de contenu HTML avec RMS MHTML (MHTML (MIME Encapsulation of Aggregate HTML)MIME Encapsulation of Aggregate HTML)
RMA – Rights Management Addon pour Internet ExplorerRMA – Rights Management Addon pour Internet Explorer Viewer de fichier RMHViewer de fichier RMH
Une application crée du contenu protégé au format RMHUne application crée du contenu protégé au format RMH L’utilisateur accède au contenu selon ses droits avec Internet L’utilisateur accède au contenu selon ses droits avec Internet
ExplorerExplorer Après avoir installé le module RMAAprès avoir installé le module RMA
AvantageAvantage Simplifie la problématique de l’accès au contenu protégé et sa Simplifie la problématique de l’accès au contenu protégé et sa
consommationconsommation On peut protéger son contenu en ne développant que la partie On peut protéger son contenu en ne développant que la partie
« publication » de l’application« publication » de l’application
24
RMHRMH Fichier extension Fichier extension .rmh.rmh
Peut être n’importe quelle autre extension, mais Peut être n’importe quelle autre extension, mais .rmh.rmh fait fait partie des extensions contrôlées par RMApartie des extensions contrôlées par RMA
OLE Structured Storage (Compound File)OLE Structured Storage (Compound File) StreamStream \0x09DataSpaces \0x09DataSpaces
Contient les licences (publication et –optionnel- utilisation)Contient les licences (publication et –optionnel- utilisation) StreamStream \0x09DRMViewerContent \0x09DRMViewerContent
Contenu au format MHTML (rendition HTML)Contenu au format MHTML (rendition HTML) Chiffré avec RMSChiffré avec RMS
Tant que RMA trouve ces deux Tant que RMA trouve ces deux streamsstreams, il peut , il peut traiter le fichiertraiter le fichier
Rights-Managed HTML SDKRights-Managed HTML SDK Pour créer ces streams à partir d’une rendition MHTMLPour créer ces streams à partir d’une rendition MHTML MHTML peut contenir des messages RFC822MHTML peut contenir des messages RFC822
25
RMHRMH Applications génèrent du RMHApplications génèrent du RMH
Office 2003Office 2003 additional settings/allow users with earlier versions…additional settings/allow users with earlier versions… Option par défautOption par défaut
Outlook 2003Outlook 2003 SystématiqueSystématique RMH est le format natif pour un message protégé avec RMRMH est le format natif pour un message protégé avec RM MHTML peut contenir des messages RFC822MHTML peut contenir des messages RFC822
Consommation IE/OWAConsommation IE/OWA
26
Publication avec mapping des ACLs NTFS sur les droits
RMS
Application Web ASPNET - rmhstore Serveur
RMS
Application Serveur du SDKApplication Serveur du SDK
Poste ClientIE/RMA
Client RMS
Serveur de fichiers
(repository)
Get
SecProc
RMH EditIssuanceLicenseEditIssuanceLicenseAcquirereLicenseAcquirereLicense
Signature licences de publicationEmission licences d’utilisation
RACDéchiffrement
Fichiers Fichiers RMHRMH
Post (MHT)SOAP
GetLicensorCertificateGetLicensorCertificate AcquireIssuanceLicense AcquireIssuanceLicense
Admin
ACLs//server/rep
DémoDémo
Document Library SampleDocument Library Sample
28
ActivationActivation Obtention d’un certificat machineObtention d’un certificat machine
Généré localement par le Security ProcessorGénéré localement par le Security Processor RSA 1024RSA 1024
Ne nécessite pas les droits d’administrateurNe nécessite pas les droits d’administrateur L’activation de la machine spécifique à chaque utilisateur L’activation de la machine spécifique à chaque utilisateur
(CryptoAPI – profil de l’utilisateur)(CryptoAPI – profil de l’utilisateur)
DRMIsActivated(DRM_ACTIVATE_MACHINE)DRMIsActivated(DRM_ACTIVATE_MACHINE) DRMActivateDRMActivate((DRM_ACTIVATE_MACHINEDRM_ACTIVATE_MACHINE))
Clé de registre indique la hiérarchieClé de registre indique la hiérarchie DRMSetGlobalOptionsDRMSetGlobalOptions positionne la lockbox (client ou positionne la lockbox (client ou
serveur) serveur)
Si non activée, API telles que Si non activée, API telles que DRMGetSecurityProviderDRMGetSecurityProvider ou ou DRMInitEnvironmentDRMInitEnvironment échouentéchouent E_DRM_NEEDS_MACHINE_ACTIVATIONE_DRM_NEEDS_MACHINE_ACTIVATION
29
Certification de l’utilisateurCertification de l’utilisateur Obtention d’une RAC (Rights Account Certificate)Obtention d’une RAC (Rights Account Certificate)
Contient la clé privée et la clé publique de l’utilisateur Contient la clé privée et la clé publique de l’utilisateur (RSA 1024)(RSA 1024)
La clé privée est chiffrée avec la clé publique de la La clé privée est chiffrée avec la clé publique de la machinemachine
Liée à une machineLiée à une machine
Logique identique à l’activation de la machineLogique identique à l’activation de la machine DRMIsActivated(DRM_ACTIVATE_GROUPIDENTITY)DRMIsActivated(DRM_ACTIVATE_GROUPIDENTITY) DRMGetServiceLocationDRMGetServiceLocation(<service type> = Certification)(<service type> = Certification) DRMActivate(DRM_ACTIVATE_GROUPIDENTITY)DRMActivate(DRM_ACTIVATE_GROUPIDENTITY)
Si l’utilisateur n’a pas de certificat, Si l’utilisateur n’a pas de certificat, DRMInitEnvironmentDRMInitEnvironment échoue échoue E_DRM_NEEDS_GROUPIDENTITY_ACTIVATIONE_DRM_NEEDS_GROUPIDENTITY_ACTIVATION
30
Client Licensor CertificateClient Licensor Certificate Nécessaire pour signer des licences de publication Nécessaire pour signer des licences de publication
sans avoir à contacter le serveursans avoir à contacter le serveur Publication hors lignePublication hors ligne
Utilisé par les applications clientesUtilisé par les applications clientes DRMAcquireLicenseDRMAcquireLicense
31
ManifesteManifeste Licence XrMLLicence XrML
Contient les condensés (SHA-1) de chaque moduleContient les condensés (SHA-1) de chaque module <MODULE type="required"><MODULE type="required">
<OBJECT><OBJECT><ID <ID
type="filename">InitILFromILTemplate.exe</ID> type="filename">InitILFromILTemplate.exe</ID> </OBJECT></OBJECT><DIGEST><DIGEST>
<ALGORITHM>SHA1</ALGORITHM> <ALGORITHM>SHA1</ALGORITHM> <VALUE encoding="base64" <VALUE encoding="base64"
size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> </DIGEST></DIGEST></MODULE></MODULE>
Signée avec clé privée du développeurSignée avec clé privée du développeur Clé publique développeur doit être certifiée dans une Clé publique développeur doit être certifiée dans une
hiérarchiehiérarchie RMS App-Signing CARMS App-Signing CA http://msdn.microsoft.com/library/default.asp?url=/http://msdn.microsoft.com/library/default.asp?url=/
library/en-us/dnrmsdk/html/RM_LicensingInformation.asplibrary/en-us/dnrmsdk/html/RM_LicensingInformation.asp DRMInitEnvironmentDRMInitEnvironment
Prend en entrée le manifestePrend en entrée le manifeste Procède à la vérificationProcède à la vérification
32
HiérarchiesHiérarchies Il faut obtenir…Il faut obtenir…
Un certificat (Un certificat (certificate chaincertificate chain) pour signer le manifeste) pour signer le manifeste Une lockbox et certificat machineUne lockbox et certificat machine Un certificat utilisateurUn certificat utilisateur
… … dans la même hiérarchie!dans la même hiérarchie!
Microsoft opère deux hiérarchiesMicrosoft opère deux hiérarchies Pré-productionPré-production ProductionProduction
Savoir dans quelle hiérarchie on estSavoir dans quelle hiérarchie on est Certificat machine - Certificat machine - IssuerIssuer
<NAME>Machine Activation Server</NAME><NAME>Machine Activation Server</NAME> « ISV »« ISV »
33
Découverte des servicesDécouverte des services Client RMS – Client RMS – DRMGetServiceLocationDRMGetServiceLocation
Distribution pointDistribution point dans la licence dans la licence URL intranetURL intranet URL extranetURL extranet
Clé registreClé registre CertificationCertification
HKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\ActivationHKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\Activation Publication, Client LicensorPublication, Client Licensor
HKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\EnterprisePublishingHKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\EnterprisePublishing
Recherche AD (Recherche AD (serviceConnectionPointserviceConnectionPoint)) Recherche UDDIRecherche UDDI
Office 2003Office 2003 Une application RMS peut avoir sa propre logiqueUne application RMS peut avoir sa propre logique Office 2003 comporte des clés de registre qui ont précédence Office 2003 comporte des clés de registre qui ont précédence
sur le client RMSsur le client RMS HKLM\Software\Microsoft\Office\11.0\Common\DRM\HKLM\Software\Microsoft\Office\11.0\Common\DRM\
CorpCertificationserverCorpCertificationserver
34
Découverte des servicesDécouverte des services
Inscription dans ADInscription dans AD Page d'administrationPage d'administration Outil ADSCPRegisterOutil ADSCPRegister
(toolkit)(toolkit)
Global CatalogGlobal Catalog Partition de configurationPartition de configuration
Services\Rights Management ServicesServices\Rights Management Services Objet SCP (serviceConnectionPoint) Objet SCP (serviceConnectionPoint) MSRMRootCluster, MSRMRootCluster,
MSDRMS2.0?MSDRMS2.0? serviceBindingInformationserviceBindingInformation
• http://http://clusternameclustername/_wmcs/Certification/_wmcs/Certification
35
Services RMS sur l’Internet (MSN)Services RMS sur l’Internet (MSN)
UDDI Business Registry (UBR)UDDI Business Registry (UBR) HTTP://UDDI.MICROSOFT.COMHTTP://UDDI.MICROSOFT.COM HTTP://UDDI.IBM.COMHTTP://UDDI.IBM.COM HTTP://UDDI.SAP.COMHTTP://UDDI.SAP.COM
Enrôlement serveurEnrôlement serveur https://activation.drm.microsoft.com/enrollment/enrollservice.asmxhttps://activation.drm.microsoft.com/enrollment/enrollservice.asmx
Activation/certification productionActivation/certification production https://certification.drm.microsoft.com/certification/https://certification.drm.microsoft.com/certification/
certification.asmxcertification.asmx
Activation/certification pré-productionActivation/certification pré-production https://certification.isv.drm.microsoft.com/certificationhttps://certification.isv.drm.microsoft.com/certification
LicensingLicensing https://licensing.drm.microsoft.com/licensinghttps://licensing.drm.microsoft.com/licensing
Questions?Questions?
37
Client – où sont les clés?Client – où sont les clés? En principe toutes les bi-clés RSA sont 1024, y En principe toutes les bi-clés RSA sont 1024, y
compris celles de la machinecompris celles de la machine
Profil utilisateur la clé privée machine: Profil utilisateur la clé privée machine: machine_privmachine_priv Protection DPAPI pour l’utilisateurProtection DPAPI pour l’utilisateur Entropie supplémentaire issue des caractéristiques de la Entropie supplémentaire issue des caractéristiques de la
machinemachine Certificat machine contient la clé publique Certificat machine contient la clé publique
machine_pubmachine_pub RAC contientRAC contient
clé publique clé publique user_pubuser_pub clé privée clé privée user_privuser_priv chiffrée pour la machine chiffrée pour la machine
user_privuser_privmachine_pubmachine_pub
CLC contient CLC contient publishing_pubpublishing_pub et et publishing_privpublishing_privuser_pubuser_pub
Licence publication contient Licence publication contient Content_KeyContent_Keyserver_pubserver_pub
Licence utilisation contient Licence utilisation contient Content_KeyContent_Keyuser_pubuser_pub
38
Serveur – où sont les clés?Serveur – où sont les clés? Clé privée serveur (2 possibilités) Clé privée serveur (2 possibilités)
Base SQL de configuration (si protection logicielle)Base SQL de configuration (si protection logicielle) Chiffrement avec mot de passe (saisie pages admin)Chiffrement avec mot de passe (saisie pages admin)
Mot de passe chiffré avec mot de passe du compte de serviceMot de passe chiffré avec mot de passe du compte de service Stockage dans base SQL de configurationStockage dans base SQL de configuration
Best practice -> mot de passe pour le compte de serviceBest practice -> mot de passe pour le compte de service CSPCSP
Boîtier HSM ou CSP logicielBoîtier HSM ou CSP logiciel Planifier utilisation en clusterPlanifier utilisation en cluster
Clé publique serveur: dans Server Licensor Certificate (SLC)Clé publique serveur: dans Server Licensor Certificate (SLC) Paire de clé des RACPaire de clé des RAC
Base SQL de configurationBase SQL de configuration Chiffrement avec la clé publique du serveur RMSChiffrement avec la clé publique du serveur RMS
Trusts RMTrusts RM Serveurs de certification (SLC)Serveurs de certification (SLC)
Base SQL de configurationBase SQL de configuration Serveurs de licence (clé privée)Serveurs de licence (clé privée)
Base SQL de configurationBase SQL de configuration Chiffrement avec clé publique du serveur RMSChiffrement avec clé publique du serveur RMS
Slides de Slides de référenceréférence
RMS SP1RMS SP1
41
Nouveautés RMS SP1Nouveautés RMS SP1 Pas d’activation de la machine client auprès d’un Pas d’activation de la machine client auprès d’un
serveur d’activation – le client RMS s’auto-activeserveur d’activation – le client RMS s’auto-active Bi-clé RSA 1024 pour le certificat machineBi-clé RSA 1024 pour le certificat machine Enrôlement hors ligne du serveur racine possibleEnrôlement hors ligne du serveur racine possible Utilisation de CryptoAPI par les lockboxUtilisation de CryptoAPI par les lockbox Lockbox disponible coté serveurLockbox disponible coté serveur
Applications serveur peuvent consommer du contenu Applications serveur peuvent consommer du contenu protégé (anti-virus, etc…)protégé (anti-virus, etc…)
42
Trusts RMSTrusts RMSDeux sortes de trustsDeux sortes de trusts
Trusted User DomainTrusted User Domain Scénarios d'interopérabilitéScénarios d'interopérabilité
Entre organisationsEntre organisations Entre forêtsEntre forêts Avec Avec PassportPassport
Ressemble à une CTL en PKIRessemble à une CTL en PKI On truste une clé publiqueOn truste une clé publique
C'est un vrai trustC'est un vrai trust
Trusted Publishing DomainTrusted Publishing Domain Scénario de migration ou de fusionScénario de migration ou de fusion
Rachat de sociétéRachat de société Consolidation de serveursConsolidation de serveurs
Pas vraiment un trustPas vraiment un trust Pas trivialPas trivial
Comment les comptes utilisateurs sont-ils transférés?Comment les comptes utilisateurs sont-ils transférés? Comment les Comment les templatestemplates sont-elles migrées? sont-elles migrées?
43
Trusts RMSTrusts RMSTrusted User DomainTrusted User Domain
Un domaine utilisateurs RMS = un serveur racine d'entreprise, les Un domaine utilisateurs RMS = un serveur racine d'entreprise, les RACs qu'il délivre (ses utilisateurs), et les serveurs licence qui lui RACs qu'il délivre (ses utilisateurs), et les serveurs licence qui lui sont subordonnéssont subordonnés
Par défaut un serveur de licence n'octroie de licence d'utilisation Par défaut un serveur de licence n'octroie de licence d'utilisation qu'à des RACs de son domainequ'à des RACs de son domaine
Permet aux utilisateurs du domaine trusté (A) de consommer du Permet aux utilisateurs du domaine trusté (A) de consommer du contenu du domaine trustant (B)contenu du domaine trustant (B) Permet aux utilisateurs du domaine trustant (B) de publier du contenu a Permet aux utilisateurs du domaine trustant (B) de publier du contenu a
destination d'utilisateurs du domaine trusté (A), sachant qu'il sera destination d'utilisateurs du domaine trusté (A), sachant qu'il sera consommableconsommable
S'établit au niveau de chaque cluster (serveur) de licenceS'établit au niveau de chaque cluster (serveur) de licence On importe la clé publique du domaine trusté (serveur de certification On importe la clé publique du domaine trusté (serveur de certification
racine d'entreprise A)racine d'entreprise A)
Utilisateurs (RAC)
entreprise
Certification racine
d'entrepriseUser domain
B
LicensingUtilisateurs (RAC)
entreprise
Licensing
Certification racine
d'entreprise(User domain
A)
Entreprise A Entreprise B
TrustsTrusts
44
Trusts RMSTrusts RMSTrusted Publishing DomainTrusted Publishing Domain
Un domaine de publication RMS = un serveur de licence et les licences qu'il Un domaine de publication RMS = un serveur de licence et les licences qu'il émetémet
Par défaut un cluster (serveur) de licence ne peut octroyer de licence Par défaut un cluster (serveur) de licence ne peut octroyer de licence d'utilisation que pour du contenu dont les licences de publications sont les d'utilisation que pour du contenu dont les licences de publications sont les siennessiennes Clé de contenu chiffrée avec sa clé publiqueClé de contenu chiffrée avec sa clé publique
Permet à un serveur de licence (domaine de publication) d'émettre des Permet à un serveur de licence (domaine de publication) d'émettre des licences d'utilisation pour du contenu qui a été publié sur un autre serveur licences d'utilisation pour du contenu qui a été publié sur un autre serveur de licencede licence Permet aux utilisateurs de contenu d'un serveur de licence (A) d'utiliser un autre Permet aux utilisateurs de contenu d'un serveur de licence (A) d'utiliser un autre
serveur de licence (B) pour accéder à ce contenuserveur de licence (B) pour accéder à ce contenu S'établit au niveau de chaque cluster (serveur) de licenceS'établit au niveau de chaque cluster (serveur) de licence
On importe la clé privée du domaine trusté (serveur de licence A)On importe la clé privée du domaine trusté (serveur de licence A) N'a de sens que pour des fusions ou des consolidations, ou legacy suite à un N'a de sens que pour des fusions ou des consolidations, ou legacy suite à un
decommissioningdecommissioning Il faut rediriger l'URL du serveur décommissionné vers le nouveau serveurIl faut rediriger l'URL du serveur décommissionné vers le nouveau serveur
Serveur de licence B
Serveur de licence A
Domaine de Domaine de publication publication
AA
Domaine de Domaine de publication Bpublication B
Contenu Contenu domaine domaine
BB
Contenu Contenu domaine domaine
AA
Licences Licences
utilisationutilisation
Licences Licences utilisationutilisation
Clé privéeClé privée
45
Trusts RMSTrusts RMS
Trust PassportTrust Passport C'est un trust de type C'est un trust de type User DomainUser Domain
Désactivé par défautDésactivé par défaut Si activé, les utilisateurs Si activé, les utilisateurs PassportPassport peuvent consommer du peuvent consommer du
contenu publiés par les utilisateurs de l'organisationcontenu publiés par les utilisateurs de l'organisation Mais en principe pas l’inverse car le service de licence gratuit Mais en principe pas l’inverse car le service de licence gratuit
hostéhosté par MSN ne truste pas les divers déploiements par MSN ne truste pas les divers déploiements d’entreprised’entreprise
Attention: quand on truste Attention: quand on truste PassportPassport, il faut toujours , il faut toujours exclure les domaines d'adresses e-mail de l'entrepriseexclure les domaines d'adresses e-mail de l'entreprise Sinon, un utilisateur externe avec une adresse e-mail Sinon, un utilisateur externe avec une adresse e-mail
prétendue peut consommer du contenu de l'entreprise qui ne prétendue peut consommer du contenu de l'entreprise qui ne lui était pas destinélui était pas destiné
E.g. OTG en interne exclut *.microsoft.comE.g. OTG en interne exclut *.microsoft.com
46
Trusts RMSTrusts RMS
Autres remarquesAutres remarques
Les trusts sont établis Les trusts sont établis out of bandout of band Les trusts ne requièrent aucune connexionLes trusts ne requièrent aucune connexion
Pas de réplication ou validation en lignePas de réplication ou validation en ligne
L'administrateur établit, détruit, et met à jour les L'administrateur établit, détruit, et met à jour les trusts manuellementtrusts manuellement
Les utilisateurs ont besoin d'accéder au serveur de Les utilisateurs ont besoin d'accéder au serveur de licence RMS trustant (sur lequel l'administrateur a licence RMS trustant (sur lequel l'administrateur a établit un trust)établit un trust)
47
Principes authentificationPrincipes authentification Serveur de certificationServeur de certification
Windows Integrated – KerberosWindows Integrated – Kerberos (Entreprise) (Entreprise) Cas d’obtention d’une RAC depuis Intranet – Valide 1 an Cas d’obtention d’une RAC depuis Intranet – Valide 1 an
(configurable)(configurable) Basic Basic sur HTTPS (Entreprise)sur HTTPS (Entreprise)
Cas d’obtention d’une TRAC depuis Extranet – Valide 15 mnCas d’obtention d’une TRAC depuis Extranet – Valide 15 mn PassportPassport (Particulier) (Particulier)
Serveur de licensingServeur de licensing Authentification à base de XrML (RAC)Authentification à base de XrML (RAC) Service Web peut être accessible en anonymeService Web peut être accessible en anonyme Pour l’accès Intranet, une authentification Windows Integrated Pour l’accès Intranet, une authentification Windows Integrated
apporte un plusapporte un plus Sécurité en profondeurSécurité en profondeur
Meilleure pratique: protéger les échanges de certification et Meilleure pratique: protéger les échanges de certification et de licensing via SSL/TLSde licensing via SSL/TLS
Note: Avec RMS, l’identité est couramment matérialisée par l’adresse e-mail. Cependant l’utilisation de SID est possible, à la discrétion des applications RMS. Dans tous les cas l’authentification est faite par AD ou Passeport. On délivre une RAC à un compte utilisateur Active Directory ou Passport dûment authentifié.
48
PrincipesPrincipes Chaque serveur peut être un cluster NLBChaque serveur peut être un cluster NLB
Cluster = serveur logique ou serviceCluster = serveur logique ou service Composé de deux (ou plus?) serveurs physiquesComposé de deux (ou plus?) serveurs physiques
Le cluster comporte une base SQLLe cluster comporte une base SQL Base SQL Server peut aussi être en clusterBase SQL Server peut aussi être en cluster
C'est toujours le cluster (serveur) qui a émis la C'est toujours le cluster (serveur) qui a émis la licence de publication qui émet la licence licence de publication qui émet la licence d'utilisationd'utilisation L'utilisateur doit accéder au serveur de L'utilisateur doit accéder au serveur de licensinglicensing Sauf migration (Sauf migration (Trusted Publishing DomainTrusted Publishing Domain))
Cluster RMS
NLBNLB
Serveur SQL
49
Client – où sont les clés?Client – où sont les clés? En principe toutes les bi-clés RSA sont 1024, y En principe toutes les bi-clés RSA sont 1024, y
compris celles de la machinecompris celles de la machine
Profile utilisateur la clé privée machine: Profile utilisateur la clé privée machine: machine_privmachine_priv Protection DPAPI pour l’utilisateurProtection DPAPI pour l’utilisateur Entropie supplémentaire issue des caractéristiques de la Entropie supplémentaire issue des caractéristiques de la
machinemachine Certificat machine contient la clé publique Certificat machine contient la clé publique
machine_pubmachine_pub RAC contientRAC contient
clé publique clé publique user_pubuser_pub clé privée clé privée user_privuser_priv chiffrée pour la machine chiffrée pour la machine
user_privuser_privmachine_pubmachine_pub
CLC contient CLC contient publishing_pubpublishing_pub et et publishing_privpublishing_privuser_pubuser_pub
Licence publication contient Licence publication contient Content_KeyContent_Keyserver_pubserver_pub
Licence utilisation contient Licence utilisation contient Content_KeyContent_Keyuser_pubuser_pub
50
Serveur – où sont les clés?Serveur – où sont les clés? Clé privée serveur (2 possibilités) Clé privée serveur (2 possibilités)
Base SQL de configuration (si protection logicielle)Base SQL de configuration (si protection logicielle) Chiffrement avec mot de passe (saisie pages admin)Chiffrement avec mot de passe (saisie pages admin)
Mot de passe chiffré avec mot de passe du compte de serviceMot de passe chiffré avec mot de passe du compte de service Stockage dans base SQL de configurationStockage dans base SQL de configuration
Best practice -> mot de passe pour le compte de serviceBest practice -> mot de passe pour le compte de service CSPCSP
Boîtier HSM ou CSP logicielBoîtier HSM ou CSP logiciel Planifier utilisation en clusterPlanifier utilisation en cluster
Clé publique serveur: dans Server Licensor Certificate (SLC)Clé publique serveur: dans Server Licensor Certificate (SLC) Paire de clé des RACPaire de clé des RAC
Base SQL de configurationBase SQL de configuration Chiffrement avec la clé publique du serveur RMSChiffrement avec la clé publique du serveur RMS
Trusts RMTrusts RM Serveurs de certification (SLC)Serveurs de certification (SLC)
Base SQL de configurationBase SQL de configuration Serveurs de licence (clé privée)Serveurs de licence (clé privée)
Base SQL de configurationBase SQL de configuration Chiffrement avec clé publique du serveur RMSChiffrement avec clé publique du serveur RMS
51
Sécurité des pipelinesSécurité des pipelines SSL/TLS (authentification serveur seulement) SSL/TLS (authentification serveur seulement)
recommandé sur les pipelines RMSrecommandé sur les pipelines RMS Protection supplémentaire de l'authentification "Windows Protection supplémentaire de l'authentification "Windows
Integrated"Integrated" Protection supplémentaire des RAC lors des requêtes Protection supplémentaire des RAC lors des requêtes
SOAPSOAP Confidentialité des identifiants d'utilisateurs (RAC) et des Confidentialité des identifiants d'utilisateurs (RAC) et des
identifiants de contenu (licence publication)identifiants de contenu (licence publication) Attention: SSL/TLS => impact performanceAttention: SSL/TLS => impact performance
Cartes accélératricesCartes accélératrices
Configuration des permissions sur chaque pipelineConfiguration des permissions sur chaque pipeline Par défaut - Par défaut - Authenticated UsersAuthenticated Users Best Practice: garder l'authentification Windows sur le Best Practice: garder l'authentification Windows sur le
pipeline License.asmx pour une utilisation intranetpipeline License.asmx pour une utilisation intranet Cependant l'accès anonyme peut être requis lors de Cependant l'accès anonyme peut être requis lors de trusts trusts
RMRM (dont (dont PassportPassport))
52
Emplacement des licencesEmplacement des licences
RMS SP1RMS SP1
Client RMS lockboxClient RMS lockbox WindowsDriveWindowsDrive\Documents and Settings\\Documents and Settings\UserIdUserId\Local \Local
Settings\Application Data\Microsoft\DRMSettings\Application Data\Microsoft\DRM
Server RMS lockboxServer RMS lockbox WindowsDriveWindowsDrive\Documents and Settings\All Users\\Documents and Settings\All Users\
Application Data\Microsoft\DRM\Server\Application Data\Microsoft\DRM\Server\UserSidUserSid
53
ManifesteManifeste Applications doivent avoir leurs DLL et EXE signées par la clé privée Applications doivent avoir leurs DLL et EXE signées par la clé privée
du développeurdu développeur La signature réside dans le manifeste de l'application: licence XrMLLa signature réside dans le manifeste de l'application: licence XrML
<BODY type=“LICENSE" version="3.0"><BODY type=“LICENSE" version="3.0"> <OBJECT type="<OBJECT type="ManifestManifest"> ">
Signée clé privée du dévelopeurSignée clé privée du dévelopeur Doit être distribuée avec l'applicationDoit être distribuée avec l'application
Contient les hash (SHA-1) de chaque moduleContient les hash (SHA-1) de chaque module <MODULE type="required"><MODULE type="required">
<OBJECT><OBJECT><ID type="filename">InitILFromILTemplate.exe</ID> <ID type="filename">InitILFromILTemplate.exe</ID>
</OBJECT></OBJECT><DIGEST><DIGEST>
<ALGORITHM>SHA1</ALGORITHM> <ALGORITHM>SHA1</ALGORITHM> <VALUE encoding="base64" <VALUE encoding="base64"
size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> </DIGEST></DIGEST></MODULE></MODULE>
Genmanifest.exeGenmanifest.exe Fichier de configuration .mcfFichier de configuration .mcf "Manifest chain" contient la clé publique certifiée par MS, et sa chaîne"Manifest chain" contient la clé publique certifiée par MS, et sa chaîne
-chain <source chain path>-chain <source chain path> Sans cette option, le manifeste est XrML et non valide (pas de chaîne)Sans cette option, le manifeste est XrML et non valide (pas de chaîne) Avec cette option, le manifeste est XrML en base64 avec une chaîne Avec cette option, le manifeste est XrML en base64 avec une chaîne
complète et validecomplète et valide Générer et signer le manifeste à chaque buildGénérer et signer le manifeste à chaque build
54
Best practiceBest practice Placer dans un corps MIME dans un fichier MHTLM Placer dans un corps MIME dans un fichier MHTLM
avec deux body partsavec deux body parts Première body part détecte si RMA est installéPremière body part détecte si RMA est installé
Si oui, invoque RMA pour afficher la deuxième body partSi oui, invoque RMA pour afficher la deuxième body part Si non, affiche un message indiquant que le contenu est Si non, affiche un message indiquant que le contenu est
protégé et nécessite le viewer RMAprotégé et nécessite le viewer RMA Deuxième body part comprend le contenu RMHDeuxième body part comprend le contenu RMH
55
Composants clients RMSComposants clients RMS
Librairies clientes RMSLibrairies clientes RMS Msdrm.dll - Msdrm.dll - Redistributable par les applicationsRedistributable par les applications
API « C » (win32)API « C » (win32) Security Processor – lockboxSecurity Processor – lockbox
secproc.dllsecproc.dll, , secproc_ssp.dll, secproc_isv.dll, secproc_ssp_isv.dllsecproc_ssp.dll, secproc_isv.dll, secproc_ssp_isv.dll
Applications RMS utilisent ces APIApplications RMS utilisent ces API Chiffrement du contenuChiffrement du contenu Génération de licence de publicationGénération de licence de publication Obtention de licence d’utilisationObtention de licence d’utilisation Accès au contenu et respect des droitsAccès au contenu et respect des droits Gestion des licences et certificats sur le disqueGestion des licences et certificats sur le disque Activation de la machineActivation de la machine Localisation des services RMSLocalisation des services RMS
Librairies clientes appellent la Librairies clientes appellent la lockboxlockbox pour les opérations pour les opérations sensiblessensibles