Select Language

IHEP分散式運算系統中的Kerberos權杖實作

IHEP 分散式高能物理計算系統中基於 Kerberos token 的認證實作分析,包含工具組架構與多實驗部署
computingpowercoin.net | PDF 大小:0.5 MB
評分: 4.5/5
您的評分
您已對此文件評分
PDF 文件封面 - IHEP 分散式運算系統中的 Kerberos 權杖實作

目錄

3+

支援的實驗項目

2-7

Token 有效天數

4

Core Components

1. 緒論

基於令牌的認證方法在高能物理研究的分散式運算系統中日趨普及。全球LHC計算網格(WLCG)已升級所有服務以支援WLCG令牌,反映了此產業趨勢。在中國科學院高能物理研究所(IHEP),Kerberos令牌已成為本地計算集群的主要認證機制,並正擴展至分散式運算環境。

2. 背景與動機

IHEP正在開發分散式運算平台以整合多個中國研究站點。然而IHEP數個長期運行的實驗,特別是BES實驗,與本地集群環境(含資料庫系統、儲存服務和運算資源)緊密耦合。為解決此挑戰,IHEP實作了「集群擴展」方案,能將本地集群能力無縫延伸至分散式運算環境,使BES作業能以最小干擾遷移至遠端站點。

3. 技術挑戰

Kerberos 令牌實施的主要挑戰在於管理分散式環境中的令牌生命週期。IHEP 的 Kerberos 令牌通常具有 2 天有效期與 7 天續期限制,必須在三個關鍵節點確保令牌續期:

  • 工作提交階段
  • 工作佇列期間
  • 工作執行階段

4. 系統架構

IHEP 的 Kerberos token 生態系統由四個相互關聯的組件構成,這些組件協同運作,為分散式計算資源提供無縫驗證服務。

4.1 Token Producer

當使用者登入提交節點時,權杖產生器會生成 Kerberos 權杖並將這些權杖發布至權杖儲存庫。此元件負責處理具有適當有效性與續約參數的初始權杖建立工作。

4.2 Token Repository

此集中式儲存系統維護所有現行的 token 檔案,並包含定期更新 token 有效期的重新整理服務,以防止長時間運算任務期間發生過期問題

4.3 Token Transfer

傳輸機制能安全地將權杖檔案從儲存庫移動到分散式站點的工作節點,確保在作業執行需要時能於相應位置取得權令。

4.4 Token Client Engine

此元件會在工作節點上初始化權杖環境,並在作業執行期間管理權杖生命週期的更新,提供持續性的驗證能力。

5. Implementation Details

5.1 數學基礎

Kerberos 認證依賴對稱金鑰加密技術與時間戳記驗證機制。令牌有效性可表示為:

$V(t) = \begin{cases} 1 & \text{if } t_{current} \leq t_{creation} + t_{valid} \\ 0 & \text{otherwise} \end{cases}$

其中 $t_{valid}$ 代表有效期(IHEP 通常設定為 2 天),且允許續期至 $t_{creation} + t_{renew}$(通常為 7 天)。

5.2 程式碼實作

權杖續期服務實作以下邏輯:

class TokenRenewalService:
    def renew_token_if_needed(self, token, current_time):
        """Renew token if approaching expiration"""
        if token.is_expiring_within(threshold=3600):  # 1 hour threshold
            if current_time <= token.created_time + token.renewal_period:
                new_token = self.kinit_renew(token.principal)
                self.repository.update(token.principal, new_token)
                return new_token
        return token
    
    def kinit_renew(self, principal):
        """Execute Kerberos renewal command"""
        import subprocess
        result = subprocess.run(['kinit', '-R', principal], 
                              capture_output=True, text=True)
        if result.returncode == 0:
            return self.extract_current_token(principal)
        else:
            raise TokenRenewalError(f"Failed to renew token: {result.stderr}")

6. 實驗結果

Kerberos 令牌系統已成功部署於 IHEP 的分散式運算基礎架構。目前有三大實驗計畫採用此認證框架:

  • LHAASO (Large High Altitude Air Shower Observatory)
  • BES (北京譜儀實驗)
  • HERD (高能宇宙輻射探測)

這些實驗使用Kerberos令牌遠端存取分佈式站點中儲存於EOS與Lustre檔案系統的資料。該實作展現了可靠的認證機制,因令牌過期導致的作業失敗率極低。

7. 分析與討論

Kerberos tokens 在 IHEP 分散式計算環境中的實作,代表了高能物理研究認證機制的重大進展。此方法在維持與現有基礎架構相容性的同時,解決了跨站點安全性的關鍵挑戰。相較於許多網格計算環境中使用的傳統憑證式認證(如 WLCG 技術報告所記載),基於 token 的方法提供了更佳的使用性並降低管理負擔。

IHEP工作的技術貢獻在於其全面的工具組,能夠管理分散式環境中的整個令牌生命週期。此架構與網路服務中的OAuth 2.0令牌管理具有相似性,但特別針對科學計算工作負載進行優化。系統自動更新令牌的能力解決了Kerberos的根本限制——其對金鑰分發中心(KDCs)持續網路連線的依賴性。

根據Zhu等人(2017)發表的原始CycleGAN論文,成功的領域適應需要跨環境的穩健特徵表示。類似地,IHEP的令牌系統能在異構計算站點間實現安全的身份表示。Kerberos的數學基礎基於Needham-Schroeder協議變體,提供經過驗證的密碼學安全性,其實作則增添了實用的分散式系統工程。

跨三大實驗的部署驗證了該系統的可擴展性與可靠性。考慮到高能物理工作負載的計算密集性——通常涉及在數千個計算節點上處理PB級數據,此成就尤為顯著。IHEP的成功表明,基於令牌的類似方法或可惠及其他正面臨分散式認證挑戰的科學計算社群。

8. 未來應用

IHEP的Kerberos令牌框架在未來發展中具有多個潛在方向:

  • 與國際網格的聯盟整合:擴展與 WLCG 及其他國際研究網格的權杖互通性
  • 雲端整合: 調整權杖系統以適應混合雲環境和商業雲端服務供應商
  • 區塊鏈強化: 探索基於區塊鏈的權杖管理以提升可稽核性與去中心化程度
  • 機器學習工作負載:擴展對需要安全認證的分散式機器學習框架的支援
  • Quantum-Resistant Cryptography為代幣安全做好後量子密碼演算法的準備

9. 參考文獻

  1. WLCG Technical Design Report, Worldwide LHC Computing Grid, 2021
  2. Neuman, B. C., & Ts'o, T. (1994). Kerberos: An Authentication Service for Computer Networks. IEEE Communications
  3. EOS Storage System Documentation, CERN, 2022
  4. XRootD Documentation, 2023
  5. LHAASO 合作組. (2020). 大型高海拔空氣簇射觀測站
  6. BES III 合作組. (2022). Beijing Spectrometer Experiment 技術報告
  7. HERD Collaboration. (2021). 高能量宇宙輻射探測任務概述
  8. Lustre File System Documentation, 2023
  9. AFS Documentation, IBM, 2022
  10. XCache 文件, 2023
  11. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. IEEE ICCV