AD RMS总结
AD RMS 认识篇
AD RMS(Active Directory Right Mangement Servic)活动目录权限服务。
首先我通过了解AD RMS的用途去深入学习AD RMS。在过去用户只要对文件有了读取权限就能过对文件进行copy,并可以随时带出公司,任何人都能够读取,这对于机密资料的保护是十分不利的。AD RMS就是为了解决这样的问题而产生的,它提供了与应用程序协作(office2007 exchange2007 sharepoint等)的对机密数据进行保护的安全技术,可以严格的控制哪些用户可以打开,读取,修改,和复制,打印等权限。它的最大特点是,权限是内置在文件的内部,一直伴随着文件。
在了解了AD RMS的主要用途之后,我开始深入到它的工作过程,简单的描述一下:
首先创建受权限保护的文档,创建者向RMS服务器请求发布许可,服务器验证之后返回发布许可证给创建者,创建者使用的应用程序会将发布许可整合到文件的内部对文件进行保护,接着当有用户使用该文件的时候,使用者会向RMS服务器请求使用许可,当服务器验证之后返回使用许可即可对文件进行定义好的访问。
这其中涉及了比较多的组件,总结成了一个表:
|
组件 |
包含信息 |
存放点 |
用途 |
|
服务器许可方证书(SLC) |
RMS服务器的公钥 |
RMS服务器 |
加密发布许可中的内容加密密钥 颁发:CLC,RAC,发布许可证,使用许可证等权限 |
|
客户端许可方证书(CLC) |
RMS服务器的公钥 客户端许可方公钥和私钥 (私钥由请求者的公钥加密) |
客户端 |
加密发布许可中的内容加密密钥(未连接网络时) |
|
计算机证书 |
激活的计算机的公钥和私钥 |
客户端 |
标识RMS系统信任的计算机设备. |
|
权限帐户证书(RAC) |
用户的公钥和私钥 (用户的私钥被其使用的计算机的公钥加密) |
RMS服务器 |
标识特定计算机或设备上下文中的用户 |
|
发布许可证 |
使用RMS服务器公钥加密的内容加密密钥 |
客户端 |
指定应用于受 RMS保护的内容的权限。 |
|
使用许可证 |
使用用户公钥加密的内容加密密钥 |
客户端 |
在通过身份验证的特定用户的上下文中,指定应用于受RMS 保护的内容的权限。 |
|
密码箱 |
已激活计算机的私钥 |
客户端 |
生成对称密钥(内容加密密钥) 标识计算机 |
在了解了各个证书的用途和信息之后,就可以更加清楚的去深入了解AD RMS各个环节的工作过程了。
第一个环节:受权限保护文档的创建
分两种情况,
1、在线能连上RMS服务器
①由密码箱生成对称密钥作为内容密钥 (在客户端上完成)
②内容密钥被授权服务器的公钥加密(在客户端上完成)
③加密后的内容密钥和权限被发送到请求发布许可的授权服务器(在RMS服务器上完成)
④授权服务器使用它的私钥解开密的内容密钥(在RMS服务器上完成)
⑤授权服务器使用它的公钥加密内容密钥和使用权限(在RMS服务器上完成)
⑥加密后内容和使用权限被添加到发布许可(在RMS服务器上完成)
⑦授权服务器使用它的私钥签署发布许可(在RMS服务器上完成)
⑧发布许可返回到申请的客户端
⑨支持RMS的应用程序将发布许可合并到受保护的文档(在客户端上完成)
一句话表述:现在客户端的密码箱上生成内容密钥(对称密钥),然后用RMS服务器的公钥加密内容密钥和权限再发给RMS服务器,接着RMS服务器用自己的私钥解密出内容密钥和权限,然后再用授权服务器的公钥加密内容密钥和使用权限(为什么要重复?猜测:RMS服务器与授权服务器是分离的)并添加到发布许可当中,用授权服务器的私钥签名发布许可后返回给客户端。
疑问:授权服务器=RMS服务器?猜测,应该是可以同在一台服务器(用同一张计算机证书?),也可以分开。
2、离线情况下。(全程在客户端上完成)
①由密码箱生成对称密钥作为内容密钥
②客户端从CLC中取出授权服务器的公钥
③客户端使用授权服务器的公钥加密内容密钥和使用权限
④客户端使用CLC公钥对内容密钥和使用权限进行加密
⑤加密后的内容密钥和使用权限放在发布许可中
⑥客户端使用RAC中的用户私钥解密CLC中的私钥
⑦客户使用CLC的私钥签署发布许可
⑧支持RMS的应用程序将发布许可合并到受保护的文档
一句话表述:在客户端的密码箱上生成内容密钥,然后用CLC中的授权服务器公钥加密内容密钥和使用权限,同时也用CLC的公钥加密内容密钥和使用权限,再将加密后的内容密钥和使用权限放在发布许可中,客户端用RAC中的用户私钥解密CLC中的私钥,并用CLC私钥签名发布许可,最后发布许可合并到受保护的文档。
疑问:在离线状态下,由于CLC的私钥是由请求该证书的用户的公钥加密的所以说当要其它(有适当权限的)用户要使用该文档将会是个怎样的工作过程(通过实验求解)。
第二个环节:受权限保护文档的使用
①客户端将RAC和文档的发布许可发送到颁发发布许可的授权服务器
②授权服务器使用它的私钥解密发布许可中的内容密码
③授权服务器使用RAC中用户公钥加密内容密钥
④加密后的内容和用户的使用权限密钥被添加到使用使用许可
⑤授权服务器使用它的私钥签署使用许可
⑥使用许可被发送到客户端
⑦密码箱使用计算机的私钥解密保存在RAC中的用户私钥
⑧密码箱使用用户私钥解密内容密钥
⑨密码箱使用内容密钥解密受保护的文档
一句话表述:客户端将RAC和发布许可发送到授权服务器,然后授权服务器解密发布许可中的内容密钥和使用权限,再用RAC中的用户公钥加密内容密钥和使用权限并添加到使用许可当中,接着授权服务器用私钥签名使用许可返回给客户端,客户端使用密码箱中计算机证书的私钥解密RAC中的用户私钥再用用户私钥解密使用许可中的内容密钥和使用权限,最后使用内容密钥解密受保护的文档。
AD RMS总结的更多相关文章
- AD RMS 配置指南 附结合SharePoint使用
本文的 RMS配置 是独立安装的配置手册,如果要和SharePoint结合使用可以作为参考指南. SharePoint安装可参考 点击链接 同样可提供给Office使用,当然Exchange也可以使用 ...
- AD RMS Bulk Protection Tool 批量加密解密office文档
1.Active Directory Rights Management Services Bulk Protection Tool http://www.microsoft.com/zh-cn/d ...
- 配置AD RMS及SharePoint 2013 IRM问题解决及相关资源
最近配置AD RMS及SharePoint 2013 IRM遇到几个问题: 1. RMS配置好后,client端连不上, 一直要求输入用户名和密码. 后来换了台不是SP的机器,并用内部DB,搞定. ...
- 添加AD RMS role时,提示密码不能被验证The password could not be validated
"The password could not be validated" when attempting to provision an AD RMS server. Sympt ...
- AD RMS企业文件版权管理
AD RMS (AD权限管理服务)能够确保企业内部数字文件的机密性,例如,用户即使有权限读取受保护的文件,但是如果未被许可,就无法复制与打印该文件. AD RMS概述 虽然可以通过NTFS权限来设置用 ...
- 配置AD RMS的一点心得
基本上是按照下面的连接配置的,微软写的很好 AD RMS Step-by-Step Guide http://technet.microsoft.com/en-us/library/cc753531( ...
- [转译] AD RMS 安装最佳实践
在安装活动目录权限管理服务(ADRMS)时,请牢记以下几点: 将 AD RMS服务单独安装在一台服务器上——将 AD RMS与域控制器.微软邮件服务器(Microsoft Exchange Serve ...
- SharePoint2013 中集成AD RMS 与Office Web App 2013集成
SharePoint2010时Office Web App2010是一个让人又爱又恨的产品,尽管能够在WEB上查看与编辑文档,甚至能够多能协同编辑,但总会遇到两个看似普通的需求却需要给业务人员大费口舌 ...
- 整合AD RMS与EX 2010。
1.点击开始菜单, 选择所有程 序,展开 Mi cros oft Excha nge Server 2010 ,打开Excha nge Ma na gement Cons ol e,选择收件人配 ...
随机推荐
- JavaScript 获取数组的最大值和最小值
js获取数组最大值和最小值 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(M ...
- API:什么是API?API与interface的区别
我们都知道,API就是接口,那是什么鬼呢? 1.什么是API? api接口开发,其实和平时开发逻辑差不多:但是也有略微差异: 平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据 ...
- mac 下使用 ikbcG87 及使用 karabiner 改大小写键
前言 一直使用 mac ,对于机械键盘还处于刚入坑阶段,作为小白还是选择能够兼容 mac 的机械键盘,于是选择了 ikbcG87 "双子座" 1.使用 ikbc G87 mac 模 ...
- VMware 12安装Mac OS X 10.11
去年写了一篇安装Mac OS X 10.10的文章,看到大家都想体验OS X,大多数都能成功,但也在其中发现了一些问题,所以更新一下,希望对大家有所帮助. 1048VMware 11安装Mac O ...
- php中的脚本加速扩展opcache
今儿在azure里装php5.5.4,发现原先php5.4.php5.3中的zend guard laoder以及php5.2中的Zend Optimizer均不能再用,一直很喜欢用的eacceler ...
- JAVA通用BaseServlet的产生和代码实现
BaseServlet的作用: 我们先写一个工具类:BaseServlet. 我们知道,写一个项目可能会出现N多个Servlet,而且一般一个Servlet只有一个方法(doGet或doPost),如 ...
- ios xmppFramework框架的导入步骤和介绍
一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 第一种方法直接拖 1> 拖入文件夹 ...
- 写一个addEventListener以及removeEventListener
第一步:对象属性赋值为函数,对象内部函数控制年龄这一参数变化,同时成长事件也执行. class Person{ constructor(){ this.name = ''; this.age = 0; ...
- Jenkins持续化集成
Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...
- python中的文件操作小结2
''' #-----------文件修改---------- f=open("test_1",'r',encoding="utf-8") f2=open(&qu ...