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. wget无法建立SSL连接

    在使用wget工具的过程中,当URL使用HTTPS协议时,经常出现如下错误:“无法建立SSL连接”. 这是因为wget在使用HTTPS协议时,默认会去验证网站的证书,而这个证书验证经常会失败.加上&q ...

  2. node实现爬虫

    node实现获取到豆瓣电影排行榜页面. 准备工作: 1.新建一个文件夹node 在当前文件夹中打开cmd 下载 npm install 初始化 npm init(注意一下:如果你的npm init没有 ...

  3. 其他信息: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。在VS中的解决方法

    第一种,不使用dataaccess,使用通用的Oracle.ManagedDataAccess,可以忽略版本问题 第二种,在属性——生成——web中iis express换成用本地IIS执行,但是这样 ...

  4. CentOS下用rinetd做端口转发

    windows下的端口转发一般用的是自带的nat和porttunnel.portmap linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf  , ...

  5. ios相关配置

    Deployment Target,它控制着运行应用需要的最低操作系统版本.

  6. Maven 配置本地依赖jar

    现有json-1.0.jar,引入依赖方法如下: 1.  在项目下新建 lib 目录,复制json-1.0.jar到lib目录下 pom.xml中添加配置 <dependency> < ...

  7. [转]C++ explicit的作用

    explicit作用: 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换. explicit使用注意事项: * e ...

  8. Eclipse+Python环境配置

    Eclipse+Pydev 1.安装Eclipse Eclipse可以在它的官方网站Eclipse.org找到并下载,通常我们可以选择适合自己的Eclipse版本,比如Eclipse Classic. ...

  9. MySQL自增锁等待问题解决

    有网友再群里问:在做基准测试时候,批量插入数据时,有很多自增锁等待,我告诉他解决办法: 1.innodb_autoinc_lock_mode=2 2.innodb_autoextend_increme ...

  10. Linux下vim操作的一些使用技巧

    以下均为个人在编程时对vim编辑器的一些心得,大神请指点,新手可以看过来 1.多文本编辑 vim -On/-on filename_1 … filename_n 如上所示,在要编辑的文件名前加上“-O ...