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总结的更多相关文章

  1. AD RMS 配置指南 附结合SharePoint使用

    本文的 RMS配置 是独立安装的配置手册,如果要和SharePoint结合使用可以作为参考指南. SharePoint安装可参考 点击链接 同样可提供给Office使用,当然Exchange也可以使用 ...

  2. AD RMS Bulk Protection Tool 批量加密解密office文档

    1.Active Directory Rights Management Services Bulk Protection Tool  http://www.microsoft.com/zh-cn/d ...

  3. 配置AD RMS及SharePoint 2013 IRM问题解决及相关资源

    最近配置AD RMS及SharePoint 2013 IRM遇到几个问题: 1. RMS配置好后,client端连不上, 一直要求输入用户名和密码. 后来换了台不是SP的机器,并用内部DB,搞定.   ...

  4. 添加AD RMS role时,提示密码不能被验证The password could not be validated

    "The password could not be validated" when attempting to provision an AD RMS server. Sympt ...

  5. AD RMS企业文件版权管理

    AD RMS (AD权限管理服务)能够确保企业内部数字文件的机密性,例如,用户即使有权限读取受保护的文件,但是如果未被许可,就无法复制与打印该文件. AD RMS概述 虽然可以通过NTFS权限来设置用 ...

  6. 配置AD RMS的一点心得

    基本上是按照下面的连接配置的,微软写的很好 AD RMS Step-by-Step Guide http://technet.microsoft.com/en-us/library/cc753531( ...

  7. [转译] AD RMS 安装最佳实践

    在安装活动目录权限管理服务(ADRMS)时,请牢记以下几点: 将 AD RMS服务单独安装在一台服务器上——将 AD RMS与域控制器.微软邮件服务器(Microsoft Exchange Serve ...

  8. SharePoint2013 中集成AD RMS 与Office Web App 2013集成

    SharePoint2010时Office Web App2010是一个让人又爱又恨的产品,尽管能够在WEB上查看与编辑文档,甚至能够多能协同编辑,但总会遇到两个看似普通的需求却需要给业务人员大费口舌 ...

  9. 整合AD RMS与EX 2010。

    1.点击开始菜单, 选择所有程 序,展开 Mi cros oft  Excha nge  Server  2010 ,打开Excha nge Ma na gement Cons ol e,选择收件人配 ...

随机推荐

  1. MySQL免安装版中 my-default.ini 的配置

    拷贝一份  “my-default.ini”  文件 重命名为 “my.ini” 这样根目录下就有两个.ini文件了 一个是my-default.ini 一个是my.ini 接下来我们只需修改my.i ...

  2. Nagios监控ActiveMQ插件开发和部署注意事项

    前提,监控服务器是Ubuntu14 操作系统.被监控服务器是RHEL6.5 RHEL7 1.自定义插件可以使用bash.python等脚本来实现. 2.通过nrpe插件来实现监控服务器和被监控主机之间 ...

  3. chromedp下载文件的方法,备忘一下。

    sect := `//a[@href="v/443.json"]` wd,_ := os.Getwd() fmt.Println(wd) return chromedp.Tasks ...

  4. IOS Git源代码管理工具

    .新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...

  5. 【CCPC-Wannafly Winter Camp Day3 (Div1) F】小清新数论(莫比乌斯反演+杜教筛)

    点此看题面 大致题意: 让你求出\(\sum_{i=1}^n\sum_{j=1}^n\mu(gcd(i,j))\). 莫比乌斯反演 这种题目,一看就是莫比乌斯反演啊!(连莫比乌斯函数都有) 关于莫比乌 ...

  6. 编译安装 mysql 5.5,运行 cmake报错Curses library not found

    是因为 curses库没有安装,执行下面的语句即可 yum -y install ncurses-devel 如果上述命令的结果是no package,则使用下面的命令安装 apt-get insta ...

  7. mac home brew install go

    mac利器home brew安装Go 首先你得需要安装home brew和ruby环境(因为home brew依赖ruby) 如果没有请自行到链接安装 准备好之后就开始安装go了 brew updat ...

  8. atoi简析

    原文链接 atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将 ...

  9. 3.初识Cron表达式

    Cron: 计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 cron 服务器来完成这项工作.cron服务器可以根据配置文件约定的时间来执行特定的作务. ...

  10. 当Java遇见了Html--Jsp详解篇

    ###一.什么是Jsp jsp是一种基于文本的程序,全名java server page,其特点是html和java程序共存.执行时jsp会被运行容器编译,编译后的jsp跟servlet一样,因此js ...