PAC特權屬性證書

2022-03-13 23:13:38 字數 1247 閱讀 6244

在 kerberos 最初設計的幾個流程裡說明了如何證明 client 是 client 而不是由其他人來冒充的,但並沒有宣告 client 有沒有訪問 server 服務的許可權,因為在域中不同許可權的使用者能夠訪問的資源是有區別的。

所以微軟為了解決這個問題在實現 kerberos 時加入了 pac 的概念,pac 的全稱是 privilege attribute certificate(特權屬性證書)。可以理解為火車有一等座,也有二等座,而 pac 就是為了區別不同許可權的一種方式。

(1)pac 的實現

當使用者與 kdc 之間完成了認證過程之後,client 需要訪問 server 所提供的某項服務時,server 為了判斷使用者是否具有合法的許可權需要將 client 的 user sid 等資訊傳遞給 kdc,kdc 通過 sid 判斷使用者的使用者組資訊,使用者許可權等,進而將結果返回給 server,server 再將此資訊與使用者所索取的資源的 acl 進行比較,最後決定是否給使用者提供相應的服務。

pac 會在 krb_as_rep 中 as 放在 tgt 裡加密傳送給 client,然後由 client **給 tgs 來驗證 client 所請求的服務。

在 pac 中包含有兩個數字簽名 pac_server_checksum 和 pac_privsvr_checksum,這兩個數字簽名分別由 server 端密碼 hash 和 kdc 的密碼 hash 加密。

同時 tgs 解密之後驗證簽名是否正確,然後再重新構造新的 pac 放在 st 裡返回給客戶端,客戶端將 st 傳送給服務端進行驗證。

(2)server 與 kdc

pac 可以理解為一串校驗資訊,為了防止被偽造和串改,原則上是存放在 tgt 裡,並且 tgt 由 kdc hash 加密。同時尾部會有兩個數字簽名,分別由 kdc 密碼和 server 密碼加密,防止數字簽名內容被篡改。

同時 pac 指定了固定的 user sid 和 groups id,還有其他一些時間等資訊,server 的程式收到 st 之後解密得到 pac 會將 pac 的數字簽名傳送給 kdc,kdc 再進行校驗然後將結果已 rpc 返回碼的形式返回給 server。

參考文章:

更新PAC期初成本

1 建立臨時表,存放期初資料 create table cux bh cost ny7 item id number,item num varchar2 260 item des varchar2 260 cost group id number,pac period id number,quant...

PAC 期間平均成本

期間平均成本 上一期的期末數量 上一期的期末成本 本期成本獲得事務處理數量 本期獲得單價 本期pac庫存值更新 上一期的期末數量 本期成本獲得事務處理數量 成本獲取事務 成本獲取事務處理是指業務本身自帶單價,並且參與期間加權平均計算的事務處理。我們把這類事務處理稱為成本獲取事務處理。u 成本獲取事務...

PAC極簡例子

1 1 1 99 1 1 1 delta 99 1 1 1 2 2 epsilon 2 如圖1所示,樣本屬性值域 實數區間 0,1 標籤 負 三角形表示 正 圓圈表示 兩類。已知所有的負例均在正例左邊,且資料服從均勻分布 即在任何點取樣的概率密度相同 求乙個分類器,使得它把負 正樣本分開。圖中資料從...