無線端安全登入與鑑權一之Kerberos

2022-05-27 03:51:21 字數 1462 閱讀 2057

無線端登入與鑑權是安全登入以及保證使用者資料安全的第一步,也是最重要的一步。之前做過乙個安全登入與鑑權的方案,借這個機會,系統的思考一下,與大家交流交流

一、概念介紹

kerberos:起源於希臘神話,是一支守護著冥界長著3個頭顱的神犬,在keberos authentication中,kerberos的3個頭顱代表中認證過程中涉及的3方:client、server和kdc,而kerberos的認證過程就是通過這3方協作完成。

kdc:kerberos distribution center,kdc在整個kerberos authentication中作為client和server共同信任的第三方起著重要的作用,kdc有兩個模組,乙個是authenticationservice,鑑權模組,就是用來認證使用者身份的,另乙個叫grantingservice,授權模組,頒發訪問service的ticket給客戶端;

tgt:ticket granting ticket,獲取ticket的授權,類似**中的認購證;

ticket:票據,入場券,訪問伺服器資源的憑證

masterkey:主金鑰,使用者的明文密碼經過hash演算法後儲存在資料庫的密碼,不可逆;

sessionkey:會話金鑰,客戶端與服務端通訊期間的金鑰;

skdc_client:kdc和client之間的sessionkey

skdc_service:kdc和service之間的sessionkey

sserver_client:service和client之間的sessionkey

二、原理

整個kerberos是基於ticket(票據的),先借用乙個形象的例子解釋下原理

kerberos原理:我(client)到遊樂場去玩,在遊樂場的售票處(kdc的authenticationservice模組)買了一張門票(ticket),遊樂場有很多娛樂專案,像摩天輪啊、過山車、海盜船……等等的,我先排隊玩摩天輪(service),然後到摩天輪的入口處,驗票員美女要驗我的票,她就拿著我的票到授權伺服器(kdc的grantingservice模組)去刷一下,然後滴……學生卡,出來了乙個座位號(ticket),然後就拿著座位號去玩摩天輪(service),摩天輪的驗票員檢查我的座位號(ticket),能過後,我就可以開心地玩過山車了;然後我又來到摩天輪的地方,按照同樣的流程去玩……

kerberos就是實現了這樣的乙個過程

三、時序圖

有乙個有意思的地方,tgt本來是應該kdc直接發給server的,這裡kdc交給了client**,為什麼?因為kdc懶,哈哈……

如果同時發給client和server會存在乙個先後的問題,必須保證server在client之前收到,這個是沒辦法的,所以比較好的方式是client帶過去。

以上這個就是kerberos最基本的認證方式,叫域內認證模式,這種方式是有點問題的,就是伺服器金鑰加密的資料直接返回給客戶端了,違背了longtermkey/masterkey加密的資料不在網上傳輸的原則,所以有一種改進方案,請看 無線端安全登入與鑑權二 

單點登入與安全

以下內容學習自 白帽子講web安全 單單登入的英文全稱是single sign on,簡稱sso。它希望使用者只登入一次,就可以訪問所有系統,從使用者無疑讓使用者使用更加的方便,從安全的角度看,sso把風險集中在單點上,這樣做有好處也有壞處 sso的優點在風險集中化,如果每個系統各自實現登入功能,由...

無線的安全威脅與認證加密技術

一 wlan安全威脅 wlan以無線通道作為傳輸媒介,利用電磁波在空氣中收發資料實現了傳統有線區域網的功能。和傳統的有線接入方式相比,wlan網路布放和實施相對簡單,維護成本也相對低廉,因此應用前景十分廣闊。然而由於wlan傳輸媒介的特殊性和其固有的安全缺陷,使用者的資料面臨被竊聽和篡改的威脅,因此...

WebApi與手機客戶端通訊安全機制

最近公司有幾個專案需要開發手機客戶端,伺服器端選用webapi,那麼如何保證手機客戶端在請求伺服器端時資料不被篡改,如何保證乙個http請求的失效機制,下面總結一下我們在專案中針對這兩個問題的解決方案。基本思路如下 具體實現如下 客戶端的實現,手機客戶端生成下面兩個引數的思路是一樣的 1 ts時間戳...