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. 【JavaScript 封装库】Prototype 原型版发布!

    /* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...

  2. tensorflow与android编译

    我的过程: 1.下载tensorflow 2.下载ndk.sdk然后放到了tensorflow的目录下 3,修改workspace 4.运行命令:bazel build -c opt //tensor ...

  3. bootstrap suggest搜索建议插件

    近日因工作需要看了下此插件. 首先下载bootstrap js包.添加此插件的引用.注意css样式要引用,不能忘记. 前台页面代码,因为楼主做的是选项卡切换查询不同的结果. <tr> &l ...

  4. 14 - Log日志

    LOG https://www.cnblogs.com/yyds/p/6901864.html logging logging模块提供模块级别的函数记录日志 包括四大组件 1.日志相关概念 日志的级别 ...

  5. 第44章 MPU6050传感器—姿态检测—零死角玩转STM32-F429系列

    第44章     MPU6050传感器—姿态检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  6. C#接口定义

    C#接口定义 C#不支持多重继承,但是客观世界出现多重继承的情况又比较多.为了避免传统的多重继承给程序带来的复杂性等问题,C# 提出了接口的概念.通过接口可以实现多重继承的功能.  继承该接口的类或结 ...

  7. jQuery插件的使用和写法

    插件(plugin)也称为扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序. jQuery的易扩展性,吸引了来自全球的开发者来共同编写jQuery的插件. jQuery表单验 ...

  8. Python的socket编程

    我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要 ...

  9. JS学习笔记--变量类型

    1.js数据类型分为基本数据类型和引用数据类型 基本数据类型:string.number.boolean.null.undefined.symbol(ES6中新增) 引用数据类型:object.arr ...

  10. 【Java】常用数据类型转换(BigDecimal、包装类、日期等)

    新工作转到大数据方向,每天都要面对数据类型互相转换的工作,再加上先前面试发现这部分的知识盲点, 决定复习之余自己再写一套便捷的方法,以后会比较方便.(虽然公司有现成封装的类,里头还有些遗漏的地方,暂时 ...