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中的用戶私鑰再用用戶私鑰解密使用許可中的內容密鑰和使用權限,最后使用內容密鑰解密受保護的文檔。