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,选择收件人配 ...
随机推荐
- 通过windows计划任务和Dos批处理备份文件
目的: 1.计划每天每半小时备份1次,每天8点开始,执行12小时,20点结束. 2.定期删除历史备份文件,由于每天有多个时间段备份,删除前只保留当天最后一个备份. 说明: 由于删除的操作只有每天第一次 ...
- oracle 11g expdp impdp详细使用方法
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法如下图: 二.oracle10g以后提供了expdp/impdp工具,同样可以解决此问题 1.导出expdp工具使用方法: ...
- char 与 signed char 和 unsigned char三者之间的关系
# char 与 signed char 和 unsigned char三者之间的关系 三者都占用 1个字节,即 8 bit signed char取值范围(-128, 127) unsigned c ...
- IOS 分页(pagingEnabled)
self.scrollView.pagingEnabled = YES; - (void)nextImage { // 1.增加pageControl的页码 ; ) { page = ; } else ...
- eclips新建Maven Web项目
一.创建项目 1.Eclipse中用Maven创建项目 上图中Next 2.继续Next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Packaged是默认创建 ...
- 97: Address family not supported by protocol,nginx服务启动失败
1.启动nginx服务报错 环境:centos 6.9,yum安装的nginx,启动报错 [root@lnmp ~]# nginx -tnginx: the configuration file /e ...
- Centos 5.5 编译安装mysql 5.5.9
下载mysql wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.5/mysql-5.5.9.tar.gz 创建mysql用户 [root@x ...
- hadoop中使用的Unsafe.java
今天查看hadoop源代码, 发现有个Unsafe.java 稍微总结下 优势 1 减少线程调度开销, Unsafe.java 通过采用非堵塞原子方式来减少线程调度开销 2 传统线程通信 ...
- cuda数组的拷贝
原文链接 简单描述一下自己要做的事情:(1)CPU三维的vector--->(2)CPU三维数组--->(3)转换到GPU中的三维数组--->(4)转换到CPU中的三维数组,而其中问 ...
- python的模块
前言 在开发过程中,为了编写可维护的代码,我们会将很多函数进行分组,放到不同的文件中去.这样每个包的代码相对来说就会减少,也利于后期的维护和重复的使用.很多编程语言都采用这样的组织代码方式,在pyth ...