<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-314  評論-209  文章-0  trackbacks-0

    1.  Kerberos簡介

    1.1. 功能

    1. 一個安全認證協議

    2. 用tickets驗證

    3. 避免本地保存密碼和在互聯網上傳輸密碼

    4. 包含一個可信任的第三方

    5. 使用對稱加密

    6. 客戶端與服務器(非KDC)之間能夠相互驗證

    Kerberos只提供一種功能——在網絡上安全的完成用戶的身份驗證。它并不提供授權功能或者審計功能。

    1.2. 概念

    首次請求,三次通信方

    • the Authentication Server
    • the Ticket Granting Server
    • the Service or host machine that you’re wanting access to.

     

    圖 1‑1 角色

    其他知識點

    • 每次通信,消息包含兩部分,一部分可解碼,一部分不可解碼
    • 服務端不會直接有KDC通信
    • KDC保存所有機器的賬戶名和密碼
    • KDC本身具有一個密碼

    2.  3次通信

     

      我們這里已獲取服務器中的一張表(數據)的服務以為,為一個http服務。

    2.1. 你和驗證服務

      如果想要獲取http服務,你首先要向KDC表名你自己的身份。這個過程可以在你的程序啟動時進行。Kerberos可以通過kinit獲取。介紹自己通過未加密的信息發送至KDC獲取Ticket Granting Ticket (TGT)。

    (1)信息包含

    • 你的用戶名/ID
    • 你的IP地址
    • TGT的有效時間

      Authentication Server收到你的請求后,會去數據庫中驗證,你是否存在。注意,僅僅是驗證是否存在,不會驗證對錯。

      如果存在,Authentication Server會產生一個隨機的Session key(可以是一個64位的字符串)。這個key用于你和Ticket Granting Server (TGS)之間通信。

    (2)回送信息

      Authentication Server同樣會發送兩部分信息給你,一部分信息為TGT,通過KDC自己的密碼進行加密,包含:

    • 你的name/ID
    • TGS的name/ID
    • 時間戳
    • 你的IP地址
    • TGT的生命周期
    • TGS session key

    另外一部分通過你的密碼進行加密,包含的信息有

    • TGS的name/ID
    • 時間戳
    • 生命周期
    • TGS session key

     

    圖 2‑1 第一次通信

      如果你的密碼是正確的,你就能解密第二部分信息,獲取到TGS session key。如果,密碼不正確,無法解密,則認證失敗。第一部分信息TGT,你是無法解密的,但需要展示緩存起來。

    2.2. 你和TGS

    如果第一部分你已經成功,你已經擁有無法解密的TGT和一個TGS Session Key。

    (1)    請求信息

     a)  通過TGS Session Key加密的認證器部分:

    • 你的name/ID
    • 時間戳

    b)       明文傳輸部分:

    • 請求的Http服務名(就是請求信息)
    • HTTP Service的Ticket生命周期

    c)        TGT部分

      Ticket Granting Server收到信息后,首先檢查數據庫中是否包含有你請求的Http服務名。如果無,直接返回錯誤信息。

      如果存在,則通過KDC的密碼解密TGT,這個時候。我們就能獲取到TGS Session key。然后,通過TGS Session key去解密你傳輸的第一部分認證器,獲取到你的用戶名和時間戳。

    TGS再進行驗證:

    1. 對比TGT中的用戶名與認證器中的用戶名
    2. 比較時間戳(網上有說認證器中的時間錯和TGT中的時間錯,個人覺得應該是認證器中的時間戳和系統的時間戳),不能超過一定范圍
    3. 檢查是否過期
    4. 檢查IP地址是否一致
    5. 檢查認證器是否已在TGS緩存中(避免應答攻擊)
    6. 可以在這部分添加權限認證服務

      TGS隨機產生一個Http Service Session Key, 同時準備Http Service Ticket(ST)。

    (2)    回答信息

      a)        通過Http服務的密碼進行加密的信息(ST):

    • 你的name/ID
    • Http服務name/ID
    • 你的IP地址
    • 時間戳
    • ST的生命周期
    • Http Service Session Key

      b)       通過TGS Session Key加密的信息

    • Http服務name/ID
    • 時間戳
    • ST的生命周期
    • Http Service Session Key

      你收到信息后,通過TGS Session Key解密,獲取到了Http Service Session Key,但是你無法解密ST。

     

    圖 2‑2 第二次通信

    2.3. 你和Http服務

      在前面兩步成功后,以后每次獲取Http服務,在Ticket沒有過期,或者無更新的情況下,都可直接進行這一步。省略前面兩個步驟。

    (1)    請求信息

      a)        通過Http Service Session Key,加密部分

    • 你的name/ID
    • 時間戳

      b)       ST

       Http服務端通過自己的密碼解壓ST(KDC是用Http服務的密碼加密的),這樣就能夠獲取到Http Service Session Key,解密第一部分。

    服務端解密好ST后,進行檢查

    1. 對比ST中的用戶名(KDC給的)與認證器中的用戶名
    2. 比較時間戳(網上有說認證器中的時間錯和TGT中的時間錯,個人覺得應該是認證器中的時間戳和系統的時間戳),不能超過一定范圍
    3. 檢查是否過期
    4. 檢查IP地址是否一致
    5. 檢查認證器是否已在HTTP服務端的緩存中(避免應答攻擊)

    (2)    應答信息

    a)        通過Http Service Session Key加密的信息

    • Http服務name/ID
    • 時間戳

     

    圖 2‑3 第三次通信

      你在通過緩存的Http Service Session Key解密這部分信息,然后驗證是否是你想要的服務器發送給你的信息。完成你的服務器的驗證。

    至此,整個過程全部完成。

    posted on 2017-04-25 15:56 xzc 閱讀(256) 評論(2)  編輯  收藏 所屬分類: Java 、linux/unixhadoop

    評論:
    # re: Kerberos簡介 2017-04-25 15:57 | xzc
    krb5kdc --認證
    kadmin --管理賬戶  回復  更多評論
      
    # re: Kerberos簡介 2017-04-25 17:44 | xzc
    kerberos認證過程(3次通信)
    1.次通信
    [客戶端] -> [明文]用戶ID -> [KDC](Authentication Server) -> [KDC密碼]TGT(TGS會話密碼)+[客戶端密碼]用戶ID/TGS會話密碼 -> [客戶端]
    2.次通信
    [客戶端] -> [TGS會話密碼]用戶ID+[明文]HTTP服務名+TGT(TGS會話密碼) ->[KDC](Ticket Granting Server) -> [服務端密碼]ST(服務會話密碼)+[TGS會話密碼]HTTP服務名/服務會話密碼 -> [客戶端]
    3.次通信
    [客戶端] -> [服務會話密碼]用戶ID+[服務端密碼]ST(服務會話密碼) -> [服務端] -> [服務會話密碼]HTTP服務名 -> [客戶端]
    注:客戶端:java代碼客戶端
    KDC:kerberos認證服務器
    服務端:HTTP服務器  回復  更多評論
      
    主站蜘蛛池模板: 18禁免费无码无遮挡不卡网站| 免费国内精品久久久久影院| 亚洲中文字幕久久无码| 深夜国产福利99亚洲视频| 免费播放在线日本感人片| 亚洲欧洲日韩综合| 亚洲不卡AV影片在线播放| 99re热精品视频国产免费| 亚洲aⅴ无码专区在线观看| 国产精品亚洲一区二区三区在线| 久久国内免费视频| 成年免费a级毛片免费看无码| 亚洲剧场午夜在线观看| 久久久久久久亚洲精品| 成人黄页网站免费观看大全| 拍拍拍无挡视频免费观看1000| 亚洲三级视频在线| 337p日本欧洲亚洲大胆裸体艺术 | 久久久久久久久久久免费精品| 亚洲国产理论片在线播放| 亚洲人成国产精品无码| 国产又黄又爽又猛免费app| 中文字幕的电影免费网站| 亚洲色精品VR一区区三区| 亚洲AV成人片色在线观看| 免费va人成视频网站全| 免费看美女裸露无档网站| 国产午夜成人免费看片无遮挡| 色偷偷噜噜噜亚洲男人| 亚洲妓女综合网99| 久久久久久a亚洲欧洲aⅴ| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲成a人片在线观看日本| 国产成人无码区免费A∨视频网站| 99精品一区二区免费视频| 本道天堂成在人线av无码免费| 7777久久亚洲中文字幕| 亚洲专区在线视频| 亚洲AV无码乱码国产麻豆 | 亚洲精品无码Av人在线观看国产| 国产人成免费视频|