Windows Rights Management Services SDK

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Rick Claus Conseiller professionnel en TI Microsoft Canada Rodney Buike Conseillère professionnelle en TI Microsoft Canada
Les technologies décisionnelles et le portail
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Les Web Services Schéma Directeur des Espaces numériques de Travail
Cyril VOISIN Chef de programme Sécurité Microsoft France
Botnet, défense en profondeur
RMS et la Fédération d’identité
Gestion de droits numériques en entreprise avec RMS SP1
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Université Nancy 2 - CRI Propositions de mécanisme de SSO dans un environnement d’applications web.
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Vue d'ensemble Création de comptes d'utilisateurs
Plan de formation Chapitre 1 : Présentation de SAP
La configuration Apache 2.2 Lhébergement virtuel.
Sécurité Informatique
Active Directory Windows 2003 Server
Plateforme de gestion de données de capteurs
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Administration de SharePoint
Web Services - ADFS Pellarin Anthony En collaboration avec : Sogeti 1.
Lycée Louis Vincent Séance 1
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Section 4 : Paiement, sécurité et certifications des sites marchands
Configuration de Windows Server 2008 Active Directory
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Mise en place d'un serveur SSL
GESTION DE PARCS D’ORDINATEURS
Les relations clients - serveurs
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
WINDOWS Les Versions Serveurs
1. SITE WEB DU SERVICE INFORMATIQUE DU RECTORAT
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Présentation 1. Consumer/Soho Small BusinessMidsize Business CorporateEnterprise Windows Home Server 1-4 employés 1-4 PCs 1-4 employés 1-4 PCs 5-49 employés.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 3 : Création d'un domaine Windows 2000
Assurer la confidentialité de vos documents
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
Module 1 : Installation de Microsoft Windows XP Professionnel
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
Bienvenue sur CAUTIONET l'outil On Line de gestion de caution
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Nouvelles technologies de système de fichiers dans Microsoft Windows 2000 Salim Shaker Ingénieur de support technique Support technique serveur Microsoft.
Sécurité et confidentialité dans Microsoft Internet Explorer William Keener Développement de contenu Global Service Automation Microsoft Corporation.
Tirer le meilleur parti d’Office /10/ Vincent Bippus IT/OIS 07 octobre 2014.
Erreurs commises couramment dans le domaine de la sécurité 1.Sensibilisation aux questions de sécurité 2.Suivi des incidents 3.Gestion déficiente des.
Introduction à la plateforme .NET
Windows 2003 Server Modification du mode de domaine
Technet Office System
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Module 3 : Création d'un domaine Windows 2000
Administration d'un serveur Windows 200x Partie 1
Citrix ® Presentation Server 4.0 : Administration Module 9 : Déploiement d'applications.
L’authentification Kerberos
Sécurité des Web Services
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Sécurité sur le GRID Ahmed Beriache (CGG)
Création d’applications distribuées.NET Ziriad Saibi Relation technique éditeurs de logiciels Microsoft France.
TWP Toolkit Formation 21/10/2009.
Installation du PGI – CEGID
Chapitre 3 Administration des accès aux ressources
Transcription de la présentation:

Windows Rights Management Services SDK Jean-Yves Poublan Microsoft France

Agenda Notions de base RMS Publication de contenu protégé Consommation de contenu protégé Spécificités applications « serveur » Sujets choisis Les informations de cette session concernent RMS SP1, disponible depuis mi 2005.

Windows Rights Management Services L’application crée du contenu Le contenu est protégé Chiffrement Les droits sont appliqués Licence de publication Quels droits (lecture, copie, impression, transfert…) A qui (jeand@sarl.fr, abonnes@pressco.fr, …) Sous quelles conditions (expire le 31/05/2004, …) Le contenu est stocké, transféré L’application consomme le contenu Licence d’utilisation En respectant les droits et conditions de la licence L’application s’appuie sur RMS pour La protection de l’information (publication) La consommation de l’information protégée (utilisation)

Windows Rights Management Services Exemples d’applications Programme de CAO (Conception Assistée par Ordinateur) Protection des plans Portail Web agence photo Tout le monde peut visualiser les images en basse résolution Les abonnés peuvent visualiser les images en haute résolution Portail Intranet ressources humaines ou dept. juridique Les utilisateurs ont accès à certaines informations, mais il ne peuvent copier ni transférer Passerelle de messagerie électronique Analyse et protège les messages selon des policies ou classification Un anti-virus basé sur le serveur Scanne les documents protégés Applications Microsoft Office 2003 Word, Excel, Powerpoint, Outlook Exchange OWA, Internet Explorer (RMA) Prochaines versions de Sharepoint… Application de la protection dynamiquement

Entités de confiance RMS met en œuvre le chiffrement… RSA 1024 et AES 128 Mais doit aller plus loin Contrôle de l’usage après déchiffrement Nécessite le soutien d’entités de confiance La machine Activation lockbox - certificat L’application Manifeste

Templates RMS permet de définir des modèles de droits Matérialise une politique de protection ou de classification Permet à l'utilisateur d'appliquer le modèle définit par l'administrateur, plutôt que de devoir définir les droits/conditions/utilisateurs individuellement à chaque protection Les templates sont déployées au sein de l’infrastructure (SMS, GPO, etc…) L’application peut utiliser les modèles de droits définis par l’administrateur lors la protection de l’information

XrML (eXtensible rights Markup Language) Rights Language -> expression des droits avec XML (1999) XML est le méta-langage – le langage utilisé pour spécifier XrML Partie fournisseur de ressource numérique exprime: Tiers pouvant accéder à la ressource Droits de ces tiers sur la ressource Termes et conditions pour l’exercice de ces droits Standard, gouverné par ContentGuard, Inc. Reconnu W3C et MPEG Travaux PARC (Xerox Palo Alto Research Center) DPRL (Digital Property Rights Language basé sur LISP en tant que méta-langage – 1996) SDK XrML disponible Version courante 2.0 RMS utilise la version 1.2.1 XrML12.pdf

Rights Management Services Système bâti sur XrML Tout est licence XrML <BODY type="LICENSE" version="3.0"> Certificat Machine <OBJECT type="Machine-Certificate"> Certificat Utilisateur <OBJECT type="Group-Identity-Credential"> Licence de publication <BODY type="Microsoft Rights Label" version="3.0"> <OBJECT> Licence d’utilisation <OBJECT type="Content-License"> Certificat client de licensor <OBJECT type="Client-Licensor-Certificate"> Certificat serveur de licensor <OBJECT type="Server-Licensor-Certificate"> Certificat CA <OBJECT type="DRM-CA-Certificate"> Tous les certificats et licences sont signés par leur "issuer" et contiennent la clé publique de l'issuer

Hiérarchie XrML Certification Licensing Machine RAC CLC Use Publishing Microsoft DRM Production Root DRM-Certificate-Authority Clé 2048 Microsoft DRM Production CA DRM-CA-Certificate Clé 1024 Microsoft DRM Production Server Enrollment CA Microsoft DRM Production Machine Activation Server CA Microsoft DRM Server Enrollment Service MS DRM Production Machine Activation Desktop Security Processor CA Server-Licensor-Certifcate Clé 1024 Certification Microsoft DRM Production Desktop Security Processor Activation Certificate Licensing Machine RAC CLC Use Publishing Owner Clés 1024

Application RMS Application RMS Proxy MSDRM.DLL Proxy SECPROC.DLL DRMCreateIssuanceLicense DRMAcquireLicense DRMEncrypt DRMDecrypt DRMCreateBoundLicense … Proxy Win32 RMS Server - SOAP AcquireLicense AcquireIssuanceLicense AcquirePreLicense EditIssuanceLicense GetLicensorCertificate MSDRM.DLL Proxy SECPROC.DLL CryptoAPI

Windows Rights Management Services Disponibilité RMS SP1 Il s’agit du Service Pack 1 de RMS 1.0 Attention: assez différent de RMS 1.0 Binaires disponibles par téléchargement sur le site Web Microsoft http://www.microsoft.com/windowsserver2003/technologies/rightsmgmt/default.mspx • Windows RMS • Windows RMS Client • Windows RMS Toolkit • Rights Management Add-on for Internet Explorer • Rights Management Services SDK • Rights-Managed HTML SDK

Publication Créer une licence de publication non signée DRMCreateIssuanceLicense() Droits spécifiés à l’aide d’un template Droits spécifiés individuellement Signer la licence de publication DRMGetSignedIssuanceLicense() Génération d’une clé de contenu DRM_AUTO_GENERATE_KEY Utilisation d’une clé de contenu existante Chiffrer le contenu Avec RMS (lockbox) DRMCreateBoundLicense DRMCreateEnablingBitsEncryptor DRMEncrypt Avec CryptoAPI Peut se faire n’importe quand puisqu’on contrôle la génération de la clé de contenu Utile pour une application « serveur » sans lockbox Attention: le déchiffrement se fait obligatoirement par la lockbox

Publication Il appartient à l’application de gérer (stockage/transport) la licence obtenue de DRMGetSignedIssuanceLicense PWSTR La licence de publication peut être stockée avec le contenu Office 2003 et RMA utilisent un stream dans un fichier Structured Storage (compound file) Recommandé… Si la licence de publication est conservée séparément, il faut un moyen de la lier au contenu L'attribut ContentID d'une licence de publication permet de faire cette liaison

Publication Création lors de la protection du fichier Licence publication Clé de contenu Chiffré avec clé publique serveur RSA 1024 Droits et ayants droits (adresses e-mail) Chiffré avec clé de contenu Contenu du fichier (Texte, Images, méta data, etc…) Chiffré avec clé de contenu AES128

Consommation Localiser une licence d’utilisation localement DRMEnumerateLicense Si pas de licence d’utilisation dans le store local Retrouver la licence de publication - PWSTR Obtenir une licence d’utilisation du serveur RMS DRMAcquireLicense Fourniture de la licence de publication DRMCreateLicenseStorageSession (PWSTR) Authentification de l’utilisateur (crédentiels) Par défaut l’API utilise une RAC appropriée si présente sur le disque Sinon, fourniture d’une RAC utilisateur spécifique

Consommation Création lors de la protection du fichier a Obtenue du serveur RMS Licence publication Licence utilisation Clé de contenu Droits pour l’utilisateur Chiffré avec clé publique serveur Chiffrés avec la clé de contenu Droits et ayants droits (adresses e-mail) Clé de contenu Chiffré avec clé de contenu Contenu du fichier (Texte, Images, méta data, etc…) Chiffrée avec la clé publique de l’utilisateur Chiffré avec clé de contenu AES128

Consommation On a la licence d’utilisation DRMEnumerateLicense Faire un bind de la licence d’utilisation DRMCreateBoundLicense On bind pour un principal On bind pour des droits spécifiques (e.g. « EDIT », « COPY ») Mais retourne tous les droits de l’utilisateurs On peut les mémoriser/activer/griser les menus Déchiffrer le contenu, l’exercice du droit DRMCreateEnablingBitsDecryptor Un seul décrypteur par droit à exercer Clé de contenu DRMDecrypt Obligatoirement avec la lockbox

Best practices Une fois déchiffré, il appartient à l’application de protéger le contenu contre un usage contraire au droit pour lequel le contenu a été déchiffré Se conformer au droit pour lequel le bind a été demandé On peut mémoriser les droits pour activer/griser les menus en fonction Mais refaire le bind au moment d’une action Conserver le contenu en clair le moins longtemps possible Déchiffrer, utiliser, détruire S’assurer que l’application est en mesure d’activer la machine et d’enrôler l’utilisateur, si nécessaire

Services RMS Services Web ASPNET Services Protocole SOAP sur HTTP/HTTPS Répertoire virtuel _wmcs dans le Default Web Site (ports 80 et 443) https://servername/_wmcs/Certification https://servername/_wmcs/Licensing Services Certification utilisateur – liaison machine/utilisateur Une fois par utilisateur par machine Certification/Certification.asmx Licensing – licence d'utilisation Une fois par contenu par utilisateur Licensing/Publish.asmx Licensing/License.asmx Enrôlement de serveurs de licences subordonnés Certification/SubEnrollService.asmx

Application Serveur Doit pouvoir supporter la charge Requêtes client Portail Web, Gestion de documents, Workflow… Taches à effectuer Anti-virus, Protection d’e-mail, Archivage Lockbox spécifique multi-threaded DRMSetGlobalOptions permet de spécifier la lockbox serveur secproc_ssp.dll, secproc_ssp_isv.dll Peut publier et consommer Peut obtenir des licences d’utilisation pour ses clients N’a pas besoin d’être authentifiée Pas de manifeste Services Web spécifiques pour les applications serveurs Certification/ServerCertification.asmx Licensing/Server.asmx Licensing/EditIssuanceLicense.asmx …

Application Serveur sans Lockbox Pas de consommation Publication de contenu protégé seulement Publication en ligne C’est le serveur RMS qui signe la licence de publication Permet de déplacer la charge CPU vers RMS Les librairies clientes RM sont quand même utilisées Pour celles qui ne nécessitent pas la lockbox Web services GetLicensorCertificate, AcquireIssuanceLicense

Publication en ligne Génération d’une clé de chiffrement et chiffrement du contenu CryptoAPI, Classes .Net GetLicensorCertificate (SOAP) Obtention du certificat serveur DRMGetSignedIssuanceLicense (local) Flag DRM_SERVER_ISSUANCELICENSE Protection de la licence non signée Chiffrement des droits avec la clé de contenu Chiffrement de la clé de session avec la clé publique du serveur AcquireIssuanceLicense (SOAP) Envoi de la licence non signée au serveur Réception en retour de la licence signée

RMH Rights Managed HTML Format (publié) pour la protection de contenu HTML avec RMS MHTML (MIME Encapsulation of Aggregate HTML) RMA – Rights Management Addon pour Internet Explorer Viewer de fichier RMH Une application crée du contenu protégé au format RMH L’utilisateur accède au contenu selon ses droits avec Internet Explorer Après avoir installé le module RMA Avantage Simplifie la problématique de l’accès au contenu protégé et sa consommation On peut protéger son contenu en ne développant que la partie « publication » de l’application

RMH Fichier extension .rmh OLE Structured Storage (Compound File) Peut être n’importe quelle autre extension, mais .rmh fait partie des extensions contrôlées par RMA OLE Structured Storage (Compound File) Stream \0x09DataSpaces Contient les licences (publication et –optionnel- utilisation) Stream \0x09DRMViewerContent Contenu au format MHTML (rendition HTML) Chiffré avec RMS Tant que RMA trouve ces deux streams, il peut traiter le fichier Rights-Managed HTML SDK Pour créer ces streams à partir d’une rendition MHTML MHTML peut contenir des messages RFC822

RMH Applications génèrent du RMH Office 2003 Outlook 2003 additional settings/allow users with earlier versions… Option par défaut Outlook 2003 Systématique RMH est le format natif pour un message protégé avec RM MHTML peut contenir des messages RFC822 Consommation IE/OWA

Application Serveur du SDK Application Web ASPNET - rmhstore SOAP GetLicensorCertificate AcquireIssuanceLicense Post (MHT) Serveur RMS Get RMH EditIssuanceLicense AcquirereLicense Publication avec mapping des ACLs NTFS sur les droits RMS Poste Client IE/RMA Client RMS Signature licences de publication Emission licences d’utilisation SecProc Admin ACLs //server/rep RAC Déchiffrement Fichiers RMH Serveur de fichiers (repository)

Document Library Sample Démo Document Library Sample

Activation Obtention d’un certificat machine Généré localement par le Security Processor RSA 1024 Ne nécessite pas les droits d’administrateur L’activation de la machine spécifique à chaque utilisateur (CryptoAPI – profil de l’utilisateur) DRMIsActivated(DRM_ACTIVATE_MACHINE) DRMActivate(DRM_ACTIVATE_MACHINE) Clé de registre indique la hiérarchie DRMSetGlobalOptions positionne la lockbox (client ou serveur) Si non activée, API telles que DRMGetSecurityProvider ou DRMInitEnvironment échouent E_DRM_NEEDS_MACHINE_ACTIVATION

Certification de l’utilisateur Obtention d’une RAC (Rights Account Certificate) Contient la clé privée et la clé publique de l’utilisateur (RSA 1024) La clé privée est chiffrée avec la clé publique de la machine Liée à une machine Logique identique à l’activation de la machine DRMIsActivated(DRM_ACTIVATE_GROUPIDENTITY) DRMGetServiceLocation(<service type> = Certification) DRMActivate(DRM_ACTIVATE_GROUPIDENTITY) Si l’utilisateur n’a pas de certificat, DRMInitEnvironment échoue E_DRM_NEEDS_GROUPIDENTITY_ACTIVATION

Client Licensor Certificate Nécessaire pour signer des licences de publication sans avoir à contacter le serveur Publication hors ligne Utilisé par les applications clientes DRMAcquireLicense

Manifeste Licence XrML Contient les condensés (SHA-1) de chaque module <MODULE type="required"> <OBJECT> <ID type="filename">InitILFromILTemplate.exe</ID> </OBJECT> <DIGEST> <ALGORITHM>SHA1</ALGORITHM> <VALUE encoding="base64" size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> </DIGEST> </MODULE> Signée avec clé privée du développeur Clé publique développeur doit être certifiée dans une hiérarchie RMS App-Signing CA http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnrmsdk/html/RM_LicensingInformation.asp DRMInitEnvironment Prend en entrée le manifeste Procède à la vérification

Hiérarchies Il faut obtenir… … dans la même hiérarchie! Un certificat (certificate chain) pour signer le manifeste Une lockbox et certificat machine Un certificat utilisateur … dans la même hiérarchie! Microsoft opère deux hiérarchies Pré-production Production Savoir dans quelle hiérarchie on est Certificat machine - Issuer <NAME>Machine Activation Server</NAME> « ISV »

Découverte des services Client RMS – DRMGetServiceLocation Distribution point dans la licence URL intranet URL extranet Clé registre Certification HKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\Activation Publication, Client Licensor HKLM\SOFTWARE\Microsoft\MSDRM\ServiceLocation\EnterprisePublishing Recherche AD (serviceConnectionPoint) Recherche UDDI Office 2003 Une application RMS peut avoir sa propre logique Office 2003 comporte des clés de registre qui ont précédence sur le client RMS HKLM\Software\Microsoft\Office\11.0\Common\DRM\CorpCertificationserver

Découverte des services Inscription dans AD Page d'administration Outil ADSCPRegister (toolkit) Global Catalog Partition de configuration Services\Rights Management Services Objet SCP (serviceConnectionPoint) MSRMRootCluster, MSDRMS2.0? serviceBindingInformation http://clustername/_wmcs/Certification

Services RMS sur l’Internet (MSN) UDDI Business Registry (UBR) HTTP://UDDI.MICROSOFT.COM HTTP://UDDI.IBM.COM HTTP://UDDI.SAP.COM Enrôlement serveur https://activation.drm.microsoft.com/enrollment/enrollservice.asmx Activation/certification production https://certification.drm.microsoft.com/certification/certification.asmx Activation/certification pré-production https://certification.isv.drm.microsoft.com/certification Licensing https://licensing.drm.microsoft.com/licensing

Questions?

Client – où sont les clés? En principe toutes les bi-clés RSA sont 1024, y compris celles de la machine Profil utilisateur la clé privée machine: machine_priv Protection DPAPI pour l’utilisateur Entropie supplémentaire issue des caractéristiques de la machine Certificat machine contient la clé publique machine_pub RAC contient clé publique user_pub clé privée user_priv chiffrée pour la machine user_privmachine_pub CLC contient publishing_pub et publishing_privuser_pub Licence publication contient Content_Keyserver_pub Licence utilisation contient Content_Keyuser_pub

Serveur – où sont les clés? Clé privée serveur (2 possibilités) Base SQL de configuration (si protection logicielle) Chiffrement avec mot de passe (saisie pages admin) Mot de passe chiffré avec mot de passe du compte de service Stockage dans base SQL de configuration Best practice -> mot de passe pour le compte de service CSP Boîtier HSM ou CSP logiciel Planifier utilisation en cluster Clé publique serveur: dans Server Licensor Certificate (SLC) Paire de clé des RAC Base SQL de configuration Chiffrement avec la clé publique du serveur RMS Trusts RM Serveurs de certification (SLC) Serveurs de licence (clé privée) Chiffrement avec clé publique du serveur RMS

Slides de référence RMS SP1

Nouveautés RMS SP1 Pas d’activation de la machine client auprès d’un serveur d’activation – le client RMS s’auto-active Bi-clé RSA 1024 pour le certificat machine Enrôlement hors ligne du serveur racine possible Utilisation de CryptoAPI par les lockbox Lockbox disponible coté serveur Applications serveur peuvent consommer du contenu protégé (anti-virus, etc…)

Trusts RMS Deux sortes de trusts Trusted User Domain Scénarios d'interopérabilité Entre organisations Entre forêts Avec Passport Ressemble à une CTL en PKI On truste une clé publique C'est un vrai trust Trusted Publishing Domain Scénario de migration ou de fusion Rachat de société Consolidation de serveurs Pas vraiment un trust Pas trivial Comment les comptes utilisateurs sont-ils transférés? Comment les templates sont-elles migrées?

Trusts RMS Trusted User Domain Un domaine utilisateurs RMS = un serveur racine d'entreprise, les RACs qu'il délivre (ses utilisateurs), et les serveurs licence qui lui sont subordonnés Par défaut un serveur de licence n'octroie de licence d'utilisation qu'à des RACs de son domaine Permet aux utilisateurs du domaine trusté (A) de consommer du contenu du domaine trustant (B) Permet aux utilisateurs du domaine trustant (B) de publier du contenu a destination d'utilisateurs du domaine trusté (A), sachant qu'il sera consommable S'établit au niveau de chaque cluster (serveur) de licence On importe la clé publique du domaine trusté (serveur de certification racine d'entreprise A) Entreprise B Entreprise A Certification racine d'entreprise (User domain A) Certification racine d'entreprise User domain B Trusts Licensing Utilisateurs (RAC) entreprise Licensing Utilisateurs (RAC) entreprise

Domaine de publication B Domaine de publication A Trusts RMS Trusted Publishing Domain Un domaine de publication RMS = un serveur de licence et les licences qu'il émet 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 siennes Clé de contenu chiffrée avec sa clé publique 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 de licence Permet aux utilisateurs de contenu d'un serveur de licence (A) d'utiliser un autre serveur de licence (B) pour accéder à ce contenu S'établit au niveau de chaque cluster (serveur) de licence 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 decommissioning Il faut rediriger l'URL du serveur décommissionné vers le nouveau serveur Domaine de publication B Domaine de publication A Serveur de licence A Serveur de licence B Clé privée Licences utilisation Licences utilisation Contenu domaine A Contenu domaine B

Trusts RMS Trust Passport C'est un trust de type User Domain Désactivé par défaut Si activé, les utilisateurs Passport peuvent consommer du contenu publiés par les utilisateurs de l'organisation Mais en principe pas l’inverse car le service de licence gratuit hosté par MSN ne truste pas les divers déploiements d’entreprise Attention: quand on truste Passport, il faut toujours exclure les domaines d'adresses e-mail de l'entreprise Sinon, un utilisateur externe avec une adresse e-mail prétendue peut consommer du contenu de l'entreprise qui ne lui était pas destiné E.g. OTG en interne exclut *.microsoft.com

Trusts RMS Autres remarques Les trusts sont établis out of band Les trusts ne requièrent aucune connexion Pas de réplication ou validation en ligne L'administrateur établit, détruit, et met à jour les trusts manuellement Les utilisateurs ont besoin d'accéder au serveur de licence RMS trustant (sur lequel l'administrateur a établit un trust)

Principes authentification Serveur de certification Windows Integrated – Kerberos (Entreprise) Cas d’obtention d’une RAC depuis Intranet – Valide 1 an (configurable) Basic sur HTTPS (Entreprise) Cas d’obtention d’une TRAC depuis Extranet – Valide 15 mn Passport (Particulier) Serveur de licensing Authentification à base de XrML (RAC) Service Web peut être accessible en anonyme Pour l’accès Intranet, une authentification Windows Integrated apporte un plus Sécurité en profondeur Meilleure pratique: protéger les échanges de certification et de 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é.

Principes Chaque serveur peut être un cluster NLB Cluster = serveur logique ou service Composé de deux (ou plus?) serveurs physiques Le cluster comporte une base SQL Base SQL Server peut aussi être en cluster C'est toujours le cluster (serveur) qui a émis la licence de publication qui émet la licence d'utilisation L'utilisateur doit accéder au serveur de licensing Sauf migration (Trusted Publishing Domain) Cluster RMS NLB Serveur SQL

Client – où sont les clés? En principe toutes les bi-clés RSA sont 1024, y compris celles de la machine Profile utilisateur la clé privée machine: machine_priv Protection DPAPI pour l’utilisateur Entropie supplémentaire issue des caractéristiques de la machine Certificat machine contient la clé publique machine_pub RAC contient clé publique user_pub clé privée user_priv chiffrée pour la machine user_privmachine_pub CLC contient publishing_pub et publishing_privuser_pub Licence publication contient Content_Keyserver_pub Licence utilisation contient Content_Keyuser_pub

Serveur – où sont les clés? Clé privée serveur (2 possibilités) Base SQL de configuration (si protection logicielle) Chiffrement avec mot de passe (saisie pages admin) Mot de passe chiffré avec mot de passe du compte de service Stockage dans base SQL de configuration Best practice -> mot de passe pour le compte de service CSP Boîtier HSM ou CSP logiciel Planifier utilisation en cluster Clé publique serveur: dans Server Licensor Certificate (SLC) Paire de clé des RAC Base SQL de configuration Chiffrement avec la clé publique du serveur RMS Trusts RM Serveurs de certification (SLC) Serveurs de licence (clé privée) Chiffrement avec clé publique du serveur RMS

Sécurité des pipelines SSL/TLS (authentification serveur seulement) recommandé sur les pipelines RMS Protection supplémentaire de l'authentification "Windows Integrated" Protection supplémentaire des RAC lors des requêtes SOAP Confidentialité des identifiants d'utilisateurs (RAC) et des identifiants de contenu (licence publication) Attention: SSL/TLS => impact performance Cartes accélératrices Configuration des permissions sur chaque pipeline Par défaut - Authenticated Users Best Practice: garder l'authentification Windows sur le pipeline License.asmx pour une utilisation intranet Cependant l'accès anonyme peut être requis lors de trusts RM (dont Passport)

Emplacement des licences RMS SP1 Client RMS lockbox WindowsDrive\Documents and Settings\UserId\Local Settings\Application Data\Microsoft\DRM Server RMS lockbox WindowsDrive\Documents and Settings\All Users\Application Data\Microsoft\DRM\Server\UserSid

Manifeste Applications doivent avoir leurs DLL et EXE signées par la clé privée du développeur La signature réside dans le manifeste de l'application: licence XrML <BODY type=“LICENSE" version="3.0"> <OBJECT type="Manifest"> Signée clé privée du dévelopeur Doit être distribuée avec l'application Contient les hash (SHA-1) de chaque module <MODULE type="required"> <OBJECT> <ID type="filename">InitILFromILTemplate.exe</ID> </OBJECT> <DIGEST> <ALGORITHM>SHA1</ALGORITHM> <VALUE encoding="base64" size="160">5ry9HovLxkUcwP/tlVL7CuQopIw=</VALUE> </DIGEST> </MODULE> Genmanifest.exe Fichier de configuration .mcf "Manifest chain" contient la clé publique certifiée par MS, et sa chaîne -chain <source chain path> 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 complète et valide Générer et signer le manifeste à chaque build

Best practice Placer dans un corps MIME dans un fichier MHTLM avec deux body parts Première body part détecte si RMA est installé Si oui, invoque RMA pour afficher la deuxième body part Si non, affiche un message indiquant que le contenu est protégé et nécessite le viewer RMA Deuxième body part comprend le contenu RMH

Composants clients RMS Librairies clientes RMS Msdrm.dll - Redistributable par les applications API « C » (win32) Security Processor – lockbox secproc.dll, secproc_ssp.dll, secproc_isv.dll, secproc_ssp_isv.dll Applications RMS utilisent ces API Chiffrement du contenu Génération de licence de publication Obtention de licence d’utilisation Accès au contenu et respect des droits Gestion des licences et certificats sur le disque Activation de la machine Localisation des services RMS Librairies clientes appellent la lockbox pour les opérations sensibles