kdc 被提出是為了解決對稱金鑰加密通訊在實際使用時存在的一些問題。為此,我們先了解一下私鑰加密通訊的一些窘境:
私鑰加密用來保證在不安全通道上進行通訊時,通訊雙方資訊的保密性和完整性。然而其前提是雙方擁有共享的金鑰。那麼問題來了,通訊的雙方如何安全地共享此金鑰呢?顯然私鑰的共享不能在公共的通道上進行。最初的方法是進行通訊雙方人與人,個體與個體的對接或委託可信任第三方的快遞服務,這不失為一種安全的解決辦法。但當需要通訊的實體增多,或是存在過長通訊實際距離時,便會產生巨大成本消耗。此外還需考慮金鑰的保管問題,金鑰的更新問題等。考慮乙個大的跨國公司,公司的員工間需要進行通訊,那麼處在不同辦公點的員工如何建立金鑰共享通道,員工間又如何保管通訊的金鑰(假如有n個員工,每個員工最多需儲存n-1個金鑰),隨需保管的金鑰數增加而增大的安全風險怎麼解決,在開放系統中的安全通訊又該如何…
kdc便是用來嘗試解決上述問題的一種金鑰分發機制。
在系統內確立乙個受通訊各方信任的實體(kdc),幫助所有需要進行安全通訊的通訊方之間進行通訊:kdc同每個通訊方共享乙個金鑰(不同通訊方同kdc共享不同的金鑰),並使用共享的金鑰為每個通訊方分配用於同其他通訊方進行通訊的金鑰。這樣,通訊方之間,通訊方與kdc之間,便可進行安全通訊。
考慮需要進行安全通訊的a, b,。a,b同kdc共享的金鑰分別為ka, kb。假設a希望同b通訊,a首先向kdc傳送需要同b通訊的請求(如果需要,可用ka加密以進行身份認證),然後kdc選擇乙個新的隨機的隨機金鑰,即會話金鑰k,並使用ka,kb加密傳送給a,b。當a,b恢復金鑰k,便可使用金鑰k進行加密通訊了。當通訊結束,便將金鑰k擦除,下次進行安全通訊時則需要再次訪問kdc。
優缺點 優點是顯而易見的,即通訊方只需儲存乙個長期的同kdc進行通訊的金鑰,乙個臨時產生的短期會話金鑰。當通訊實體增加時,金鑰的分發複雜度也極低。但kdc並未解決對稱密碼體制在最初的金鑰共享的安全通道的問題(當然,公鑰密碼體制解決了這個問題),同時,金鑰的集中管理分發決定了kdc安全重要程度,一旦對kdc攻擊得手,整個系統的安全通訊便失去了保障。此外,大量的單點訪問會使得kdc系統負載過大,而若嘗試增加kdc數量,則又為整個系統增加了易受攻擊的目標。
關於kdc使用的協議有很多,被設計用來減小kdc系統的負載的needham-schroeder是其中之一。needham-schroeder 協議是kerberos(kerberos是執行身份驗證和支援安全通訊的重要且廣泛使用的服務 )的核心組成部分之一,該協議的乙個feature是:當a需要同b通訊並向kdc傳送請求時,kdc並不同時向a,b傳送加密後的會話金鑰k, 而是向a傳送由金鑰ka加密的會話金鑰k以及金鑰kb加密的會話金鑰k兩份密文。當a使用ka恢復其中乙份密文得到k,並將另外乙份密文作為認證(也稱ticket, 票據)傳送給b, b使用kb解密得到k,之後,兩者可使用k進行安全通訊。並且,在通訊結束後,k可保留,一直到需要更新。
需要提及的一點是,ns協議雖然可以顯著緩解kdc系統的負載問題,但同樣存在一些大大小小的安全問題,這一點就不多贅述了。
《introduction to modern cryptography, second edition》
網路相關協議要點
tcp協議是面向連線,可靠的傳輸層協議,是基於全雙工通訊,並且是基於位元組流的。1 保證傳輸資料可靠性機制 a 定時器 當tcp發出乙個報文段,會啟動乙個定時器,等待目的端確認收到報文段,若一段時間之後,沒有收到確認資訊,就會重傳報文段。b 確認 當tcp收到發自tcp連線另一端的資料,將會傳送乙個...
USB硬體相關 協議
關於usb驅動協議那邊的事情 有的時候會感覺很奇怪,乙個usb咋麼就那麼牛逼,小可以給裝置充電,大還能傳播資料還那麼的多,而且巴拉巴拉 而且仔細觀察usb 也就只有4根pin腳,為什麼連線電腦居然可以出好多個埠?而且都可以往這些埠寫東西?這不科學啊 帶著這些疑問,我好好科普了一下自以為很了解的通訊知...
路由器相關協議
目前路由器協議的發展非常完善,路由表可以是由系統管理員固定設定好的,也可以由系統動態修改,可以由路由器協議自動調整,也可以由主機控制。隨著路由技術的發展,同時也推動了路由器協議的不斷完善,這裡我們主要講解了路由器協議的全面介紹,要解釋路由器的概念,首先要介紹什麼是路由。所謂 路由 是指把資料從乙個地...