麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種LEO衛星網絡內分布式的接入認證管理方法與流程

文檔序號:11234381閱讀:692來源:國知局
一種LEO衛星網絡內分布式的接入認證管理方法與流程

本發明涉及加解密、身份認證及分布式數據庫技術,特別是一種適用于leo衛星網絡中可以實現安全認證、快速切換以及分布式記錄和存儲注冊、注銷、登入、登出和切換等信息的方法。



背景技術:

基于身份標識的密碼體制(ibc)最早是在1984年由shamir提出,其最大的優點是每個節點可以使用其自身的身份標識生成公鑰,并可以相應由密鑰生成中心(kgc)計算出私鑰,當一位用戶需要向另一位用戶安全發送信息時,只需要利用接收方的身份標識計算其公鑰并用來加密,接收方利用kgc計算并返回給自己的私鑰進行解密即可,避免了傳統pki體系中關于密鑰管理和數字證書頒發/吊銷的開銷。另一方面,傳統的衛星網絡中使用的認證方法,其計算及通信開銷一般都較大,同時也十分不適合于具備動態拓撲、通信鏈路頻繁切換等特點的leo衛星網絡,以美國摩托羅拉公司的iridium銥系統為例,用戶可以看到一顆衛星的時間大約為10分鐘,因此需要研究出一種可以快速進行認證,同時在頻繁發生鏈路切換時,可以實現用戶節點在不同衛星之間快速切換的安全認證方法。同時衛星網絡內相關的分布式數據存儲技術較為落后,需要在滿足安全性的前提下進行改進。



技術實現要素:

本發明的目的在于提供一種能夠在leo衛星網絡體系內實現用戶快速認證及快速切換功能且同時分布式記錄用戶與衛星相關信息的方法。本方法將基于身份標識的密碼體制(ibc)應用于leo衛星網絡接入認證場景中,利用密鑰生成中心(kgc)的私鑰快速生成用戶及衛星節點的公私鑰對,并在標識字段中約定角色信息來實現系統內角色區分。同時利用ibc機制,構建以kgc和衛星為信任主體的可信鏈,采用區塊鏈的鏈式分布式數據結構存儲用戶及衛星相關信息,實現用戶快速接入認證以及星間快速切換的身份驗證功能,適應leo衛星網絡內動態拓撲、星地鏈路頻繁切換的特點。另一方面,本方法利用ibc體制及區塊鏈技術的優勢,以kgc及衛星的私鑰簽名作為共識機制,記錄系統內產生的注冊、注銷、登入、登出及切換等相關信息并打包進相應區塊進行存儲,提供了健壯高效的日志功能。

實現本發明目的的技術解決方案為:一種leo衛星網絡內分布式的接入認證管理方法,應用場景為近地衛星網絡,以類銥星星座為例,劃分系統內所有節點為樹形邏輯結構并以此來約定用戶信息塊歸并以及分發的流向,具體包括以下步驟:

步驟1:新用戶憑借身份證明,提供自身的身份標識,密鑰生成中心kgc核實后,利用自身系統私鑰及相關參數計算用戶公私鑰對,構造權限令牌并簽名,然后返回給用戶;接著kgc將用戶注冊信息打包進區塊,并存儲在本地區塊鏈中;如若是已注冊用戶,則直接與衛星進行接入認證過程;

步驟2:認證階段,用戶驗證欲接入衛星的標識并計算對應公鑰,接著利用此公鑰與當前衛星進行挑戰應答,衛星利用挑戰應答過程中用戶發來的身份標識計算其公鑰,并加密返回衛星自己選擇的隨機數及會話密鑰,用戶收到后利用自身私鑰解密,獲取會話密鑰;

步驟3:用戶利用會話密鑰加密發送衛星選擇的隨機數、自身信息和權限令牌給當前衛星,當前衛星收到后,解密并驗證隨機數及權限令牌的簽名和時限,搜索包含最新注銷信息的區塊,查看有無當前用戶,如果有則拒絕連接,接著比對權限令牌中的用戶標識與步驟2中用戶發送的標識是否一致,核實申請服務是否在權限內,如果有誤則拒絕連接;

步驟4:衛星檢查無誤后,返回認證成功信息,并利用會話密鑰正式同用戶間建立安全會話,同時衛星將用戶的登入信息打包進區塊,存儲在本地區塊鏈中;

步驟5:用戶獲取衛星的返回消息,如果是成功則利用與衛星間的安全會話開始使用衛星提供的服務;

步驟6:切換階段,用戶向切換前的衛星發送欲進行切換的信息,衛星返回確認,同時將用戶切換登出信息打包進區塊,存儲在本地區塊鏈中;接著此衛星將用戶的切換登出信息區塊轉發給用戶下一刻欲切換登入的那顆相鄰衛星,切換后的那顆衛星相應的將此切換登出信息塊存儲進本地區塊鏈中;

步驟7:用戶收到切換前的衛星的確認后,斷開與其的連接,向欲切換登入的衛星發送切換信息;當前衛星收到后,搜索本地區塊鏈,查找有無相符用戶切換登出區塊,沒有則詢問用戶切換前所連衛星,若仍沒有,則拒絕連接;若當前衛星查找到,則搜索本地區塊鏈中包含最新注銷信息的區塊,查找有無當前用戶,如果沒有,則計算用戶公鑰并加密返回隨機數以及新會話密鑰;

步驟8:用戶利用自身私鑰解密獲得會話密鑰,計算當前衛星的公鑰,并利用此公鑰加密返回隨機數;衛星收到后驗證隨機數,無誤則憑新會話密鑰正式建立與用戶間的安全會話,并將用戶的切換登入信息打包進區塊,存儲在本地區塊鏈中,同時返回切換認證成功消息;用戶驗證消息,利用衛星與自身的安全會話使用衛星提供的服務。

本方法采用基于以kgc及每顆衛星為信任主體的信任鏈共識機制實現合法區塊的共識。當用戶登入、切換或登出時衛星會將用戶對應的信息打包進區塊并在區塊鏈內進行存儲,同時定期按照邏輯結構向鄰接節點發送這些新的區塊,鄰接節點收到后進行歸并,并繼續向除來源外的鄰接節點發送這些區塊,最終完成在系統內所有節點處的更新。

本發明與現有技術相比,其顯著優點:

(1)借助引用基于身份標識的密碼機制(ibc)省去了證書頒發/注銷及管理的開銷,用戶及衛星可以方便的提交自身的身份標識由kgc快速生成對應公私鑰。同時,得益于以身份標識來生成公鑰,所以可以利用在身份標識中的固定字段來進行角色區分,提供了高可擴展性。

(2)借鑒ibc機制和區塊鏈思想,依賴于以衛星與kgc為信任主體的信任鏈,實現了去中心化的用戶接入認證以及星間快速切換的功能。同時用戶接入認證與切換的過程完全離線,即整個認證或切換過程只需要衛星和用戶本身,不需要kgc的參與,避免了集中式認證帶來的性能瓶頸。

(3)本方法中接入認證及切換認證的計算開銷十分小,接入認證過程只需要兩次哈希、兩次對稱加解密、兩次公私鑰加解密以及一次驗證簽名的計算,切換認證過程只需要兩次公私鑰加解密的計算,因而是十分高效的。

(4)基于對私鑰簽名的信任共識機制,采用區塊鏈技術存儲用戶及衛星的相關信息,保證區塊內信息的準確性、完整性、一致性、可回溯性及不可篡改性,避免了比特幣所采用的區塊鏈中基于算力的共識機制帶來的過大計算開銷及算力浪費問題,以及確保了只有有效用戶在有效衛星處才可接入。

(5)借鑒區塊鏈思想實現的分布式存儲結構,可以在不影響業務的同時有效減少衛星端存儲和數據交換的開銷。

附圖說明

圖1是本發明方法的協議流程。

圖2是存儲注冊、登入、登出、切換及注銷這五種記錄的區塊結構。

圖3是用戶注銷及重新注冊的流程。

圖4是本系統的邏輯結構,用于指明區塊的流向。

圖5是用戶切換認證流程。

圖6是用戶接入認證流程。

具體實施方式

本發明leo衛星網絡內分布式的接入認證管理方法,主要有以下步驟:為方便說明,指定本方法中涉及到的利用公私鑰加解密的方法全部采用的是ibc加解密方法,且協議涉及到的所有消息包都會包含時間戳,當系統內任一節點收到消息包后都會進行時間戳檢驗,在接下來敘述原理及流程時關于時間戳將不再贅述。

為方便具體闡述,首先指明以下符號含義:

其中kgc是用來負責計算用戶公私鑰對及簽發權限令牌(authorizationtoken)的可信中心。如果用戶已經注冊并獲得了自身的公私鑰對及權限令牌,則可在權限令牌有效期內隨時同衛星進行接入認證的過程,否則用戶前往kgc處,證實自身身份,提交自身身份標識ida并經過kgc審核合法后,由kgc計算其公私鑰。計算過程如下:用戶提供kgc審核后的身份標識ida(如user:alice@gmail.com),kgc利用雜湊函數及其公鑰pkgc,計算用戶a的公鑰pa,接著利用其私鑰dkgc計算用戶a的私鑰da,衛星在升空之前內置公私鑰的過程與之近似。

與此同時,kgc構造用戶a的權限令牌,并利用自身私鑰dkgc進行簽名,權限令牌的格式為:ida||ii_authority||start_time||stap_time||kgc_sign,其中kgc_sign為kgc對權限令牌中前四個字段的簽名。kgc隨后將用戶a的公私鑰對及權限令牌返回給用戶,并將用戶的注冊信息打包進區塊保存在本地區塊鏈中。至此,用戶a便已完成了認證前所需要的準備過程。

當用戶a想要同當前上空所處的衛星進行認證以便合法接入獲取服務的時候,此時,用戶a先驗證欲接入衛星的身份標識,接著利用雜湊函數計算得到此衛星的公鑰ps,并利用ps加密自身身份標識ida發送給衛星。

當此衛星收到后,便利用自身私鑰ds進行解密,然后根據用戶的身份標識ida計算得到用戶的公鑰pa,并隨機生成隨機數r以及會話密鑰k。接著此衛星利用用戶的公鑰pa加密返回給用戶a隨機數r和會話密鑰k。用戶a收到此消息包后,利用自身私鑰da進行解密,保存返回的隨機數r以及會話密鑰k。接著,用戶a利用此會話密鑰加密發送給此衛星隨機數r、kgc給用戶a簽發的權限令牌、用戶a申請的服務以及用戶a的相關信息。其結構如下:r||token||service||userinfo,其中userinfo包含用戶當前接入時的地點、時刻、申請的服務以及用戶的標識,衛星收到后,利用會話密鑰k進行解密,驗證隨機數r的正確性并搜索本地區塊鏈中包含最新注銷信息的區塊,查看有無當前用戶,接著利用kgc的公鑰驗證權限令牌的簽名。會話密鑰k采用的加解密方式為對稱加解密算法,如sm4算法。然后利用權限令牌中的用戶a的身份標識ida核對最開始時用戶a發送的其身份標識,一致則說明沒有問題。隨后衛星判斷用戶申請使用的服務是否在其權限內,且其權限令牌未過期,則衛星利用會話密鑰k加密返回成功認證的信息給用戶a,此時衛星正式分配相關資源,利用此會話密鑰與用戶a之間建立安全通信連接,同時相應的將此用戶的登入信息打包進區塊,記錄的具體內容以userinfo為主,也可以根據業務需要進行相應的擴展,然后存儲進衛星本地的區塊鏈。否則,衛星返回登入認證失敗,然后拒絕連接。

用戶a收到衛星返回的消息后,利用會話密鑰k解密,如果得到的是登入認證成功的信息,則通過與衛星間的安全連接取得衛星的服務,完成認證。

當用戶a欲進行鏈路切換時,用戶a向切換登出前的衛星發送欲進行切換的信息,包括用戶a的標識以及切換后欲登入的衛星標識。切換登出前的衛星收到后,驗證標識的有效性以及審核用戶切換后欲登入的衛星是否為自身相鄰的衛星,如果不是,則拒絕,否則將用戶的切換登出信息打包進區塊并存儲在本地區塊鏈中,其中記錄的用戶切換登出信息,具體包括用戶切換的時間、地點、切換前使用的服務、切換后欲登入的衛星標識、切換登出前的衛星標識以及用戶的標識,當然也可以根據業務需要記錄相關的其他信息。然后將包含此信息的區塊轉發給指定的切換后欲登入的衛星,同時向用戶返回確認信息。

隨后,用戶a收到此確認消息后,則斷開與切換登出前的衛星的連接,向切換后欲登入的衛星明文發送切換登入信息,包括自身的標識及切換登出前的衛星的標識。此衛星收到后,驗證用戶發送的切換登出前的衛星標識是否為自己相鄰衛星,不是則拒絕,否則根據用戶標識在本地區塊鏈中的一段處于切換合理時間范圍內(即用戶維持切換狀態的最長時間)的區塊中查找有無符合的最新切換登出信息,是否符合,主要依據于所查找的信息內,用戶切換時間與當前時間差值是否合理、切換后欲登入的衛星標識與此衛星標識是否一致以及切換登出前的衛星標識與用戶發來的是否一致。如果本地區塊鏈中沒有查找到,則此衛星會向用戶切換登出前的衛星詢問,用戶切換登出前的衛星會進行查找,如果找到則發送給此衛星,否則告知此衛星沒有查找到。如果詢問之后依舊沒有符合的包含用戶切換登出信息的區塊,則此衛星拒絕連接。如果成功查找或詢問到,則此衛星搜索本地包含最新注銷信息的區塊,查看有無此用戶,如果有,則拒絕,否則,計算此用戶的公鑰,并利用此公鑰加密返回新的會話密鑰k′給用戶,同時利用此會話密鑰正式建立與用戶間的安全連接并提供與切換前一樣的服務。另外,此衛星會將用戶的切換登入信息打包為區塊,并存儲在本地區塊鏈中,其中切換登入信息具體包括,用戶切換登出前的衛星標識、用戶切換登入的時間及地點、用戶切換后登入的衛星標識、用戶切換后使用的服務以及用戶標識。

隨后用戶a收到當前衛星的返回消息后,利用自身私鑰da解密,如果是切換認證成功,則可以得到新的會話密鑰k′,并通過衛星與自身間的安全連接繼續獲得服務,從而完成快速切換的過程。如果切換流程中任一步驟出現問題,則衛星主動拒絕連接。

如上所述,當用戶登入、登出或者在星間發生切換的時候,衛星都要相應保存此用戶的相關信息(userinfo),并打包進對應的一個用戶信息區塊中,其結構參見附圖圖2。當用戶注冊或者注銷時,則kgc要相應的保存此用戶的相關信息,并打包進對應的用戶信息區塊中。所以用戶相關信息包含注冊、注銷、登入、登出以及切換五種類型的記錄,衛星的相關信息則會包含注冊及注銷這兩種類型的記錄。其中區塊內建立merkle樹的時候需采用雜湊函數,如sha1算法、sm3算法。

每到達更新周期時,每顆衛星按照劃定好的邏輯結構向鄰接節點發送自身最新的區塊信息(即那些未向鄰接節點發送過的區塊),收到的衛星或kgc將此信息以時間戳為序與自己本地的區塊鏈內信息進行歸并,從而完成新的區塊在系統內的更新。最終在衛星端的數據量達到閾值時,每顆衛星各自移除本地滿足約定條件的所有區塊(如當前所處日期所在日之前的所有區塊),但必須保證移除的區塊中的每個區塊都至少發出去過一次。

當用戶或者衛星注銷并通知了kgc之后,kgc相應的將用戶或衛星的注銷信息打包進區塊并存儲進本地的區塊鏈中。且kgc需要固定周期(也可主動)推送包含最新注銷信息的區塊給每個軌道的邏輯頭結點,再由每個軌道的邏輯頭節點依據附圖圖4的結構分發給鄰接的節點并逐層分發下去,從而完成注銷信息塊在衛星端的更新。

無論是歸并或分發,節點收到區塊后,需驗證區塊簽名的正確性,無誤后再與本地區塊鏈進行整合。

本協議劃分的邏輯結構是應用層角度上的,在實際物理連接中,kgc可能只同少數軌道上的衛星可以直接進行連接,因而本協議涉及到的區塊在整個系統內的歸并及分發,會涉及到星間的路由。

在重新注冊方面,用戶掛失后,其需要以新的身份標識進行注冊,流程同新用戶注冊一致。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 电白县| 开远市| 遂平县| 六安市| 新丰县| 微博| 益阳市| 葫芦岛市| 皋兰县| 临海市| 富宁县| 麦盖提县| 秦安县| 东阳市| 夹江县| 宽城| 磐安县| 大余县| 紫金县| 石家庄市| 文登市| 镇安县| 麟游县| 高碑店市| 和林格尔县| 澜沧| 抚松县| 开封县| 全州县| 雷山县| 秦安县| 万州区| 忻城县| 禄丰县| 民丰县| 贡嘎县| 玛曲县| 吴旗县| 化州市| 呼玛县| 天台县|