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,选择收件人配 ...
随机推荐
- 通过HTTP响应头让浏览器自动刷新
以前如果需要让网页过几秒自动刷新一次,我都会在页面通过JS调用setTimeout来做,最近发现原来服务器通过添加响应头部信息来提示浏览器需要在多少时间之后重新加载页面. 代码很简单: respons ...
- 洛谷 P2814 家谱
题目背景 现代的人对于本家族血统越来越感兴趣. 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先. 输入输出格式 输入格式: 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组 ...
- MySQL安装和简单操作
MySQL数据库安装与配置详解 MySQL的安装请参考下面这篇博客,讲述的非常详细,各种截图也很清晰.http://www.cnblogs.com/sshoub/p/4321640.html MySQ ...
- *521. Longest Uncommon Subsequence I (bit manipulation 2^n)
Given a group of two strings, you need to find the longest uncommon subsequence of this group of two ...
- AFNetworking 使用总结 (用法+JSON解析
AFNetwork是一个轻量级的网络请求api类库.是以NSURLConnection, NSOperation和其他方法为基础的. 下面这个例子是用来处理json请求的: NSURL *url = ...
- 如何实现SQL Server临时表的创建?
以下的文章主要是对SQL Server临时表的创建的实际操作步骤,以及在实际操作中我们要用到的实际应用代码的介绍,我在一个信誉度很好的网站找到一个关于其相关内容今天拿出来供大家分享. 创建临时表 方法 ...
- 最长上升子序列&&最长不下降子序列
百练2757: 题目描述: 对于给定的序列,求出最长上升子序列的长度. 题目链接:http://bailian.openjudge.cn/practice/2757 解题思路 一.动态规划 1. 找子 ...
- 转:SSM框架——使用MyBatis Generator自动创建代码
转:https://blog.csdn.net/zhshulin/article/details/23912615 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的 ...
- 剑指offer39 平衡二叉树
剑指上用了指针传递,这里用的引用传递 class Solution { public: bool IsBalanced_Solution(TreeNode* pRoot) { ; return IsB ...
- Python-三元运算符和lambda表达式
一.三元运算符 #当满足条件1时,res=值1:否则res=值2 res = 值1 if 条件1 else 值2 举例说明: res=10 #简单的if else语句 if abs(res)>0 ...