<address id="xpn9n"></address>
<p id="xpn9n"></p>
      <dfn id="xpn9n"><nobr id="xpn9n"><menuitem id="xpn9n"></menuitem></nobr></dfn>

        <form id="xpn9n"></form>

        <address id="xpn9n"></address>

        <address id="xpn9n"><listing id="xpn9n"><meter id="xpn9n"></meter></listing></address>

            <dfn id="xpn9n"><listing id="xpn9n"><menuitem id="xpn9n"></menuitem></listing></dfn>

                教育行業A股IPO第一股(股票代碼 003032)

                全國咨詢/投訴熱線:400-618-4000

                Kerberos是如何做身份認證的?

                更新時間:2022年08月12日10時34分 來源:傳智教育 瀏覽次數:

                好口碑IT培訓

                在大數據領域,安全永遠是一個繞不開的話題。

                對于一個簡單安裝上線的 hadoop 集群,我們可以認為有如下安全隱患:

                如,可以人為的添加一個客戶端節點,并以此假冒的客戶端來獲取集群數據。對于一個假冒的客戶端節點,成功加入集群就能夠偽裝 datanode 讓得到 namenode 指派的任務和數據。創建一個HDFS賬戶,就可以得到 hadoop 文件系統的最高權限。Kerberos 主要用來做網絡通訊中的身份認證,幫助我們高效、安全的識別訪問者。那么 Kerberos 是如何做身份認證的呢?


                我們來看一個現實中的例子:

                小明要去電影院觀看一場電影

                那么對于這樣一個流程來說就有:

                1. 前期需求,確定了自己想要看什么電影,位于哪個影院,什么時間后使用自己的賬戶密碼登錄票務中心。

                2. 購票機制,通過付費(發送請求)來讓小明從未授權的影院訪問者變成被授權訪問的狀態。

                3. 驗票機制,驗證票據持有者的身份,和票務中心核對驗證票據的合法性、時間、以及訪問的位置。

                4. 觀看電影,一切驗證通過后得到想要的內容。

                5. 再次觀看,需要重新購票走流程。

                那么對于這樣一個例子,相信大家應該都很好理解。 Kerberos的認證流程基本上和上述的例子差不多,我們來對上述例子進行一個轉換一一對應:

                 發送請求,表明要訪問什么服務,使用自己的密碼來對請求進行加密
                 驗證身份后,得到一個ticket(票據)
                 服務提供者和Kerberos進行通訊驗證ticket的合法性、有效期
                 驗證通過提供服務
                 超出ticket的有效期后再次訪問需要重新申請

                基于這樣一個轉換,我們可以得到一個關鍵信息: Kerberos 的身份認證其實是基于 ticket 來完成 的,就像看電影是基于電影票來進行驗證的一樣。 那么我們客戶端,想要訪問某些服務,最主要的是得到一張 ticket.

                理解了上述的概念之后,來看一下具體的 Kerberos 的執行流程:

                Kerberos 的執行流程

                在如上的流程里有如下關鍵字:

                1. KDC (秘鑰分發中心), KDC (也就是 Kerberos Server )提供提供 AS 和 TGS 兩個服務

                ① AS: authorization server , 授權服務,對于上面流程1,提供初始授權認證,用戶表明需求并使用密碼對請求進行加密,AS用提供的密碼對請求進行解密后得到請求內容,返回給用戶一個TGT(ticket granting tickets)(用一個秘鑰加密)

                ② 用戶得到TGT后使用TGT去訪問TGS( Ticket Granting Server ),TGS驗證TGT后(使用秘鑰解密)返回一個Ticket給用戶

                2. 用戶(圖中John),得到ticket后去訪問server,server收到ticket和KDC進行驗證,通過后提供服務

                如上是一個典型的Kerberos運行流程,對于 hadoop 的授權認證來說,就是把server換為具體的服務,如 namenode resourcemanager 等想要訪問 namenode (也就是 hdfs )需要拿到對應 hdfs 的 ticket 才可以訪問

                0 分享到:
                你有多久没被C过了

                <address id="xpn9n"></address>
                <p id="xpn9n"></p>
                    <dfn id="xpn9n"><nobr id="xpn9n"><menuitem id="xpn9n"></menuitem></nobr></dfn>

                      <form id="xpn9n"></form>

                      <address id="xpn9n"></address>

                      <address id="xpn9n"><listing id="xpn9n"><meter id="xpn9n"></meter></listing></address>

                          <dfn id="xpn9n"><listing id="xpn9n"><menuitem id="xpn9n"></menuitem></listing></dfn>