999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SM3 算法在基于OAuth2.0 的微服務認證授權中的應用*

2023-02-26 09:36:14梁正華弓曉鋒
中國科技縱橫 2023年24期
關鍵詞:資源用戶服務

梁正華 弓曉鋒 黃 琳 周 慧

(1.貴州省科技創新中心有限責任公司,貴州貴陽 550002;2.貴州省科技信息中心,貴州貴陽 550002)

0 引言

傳統軟件設計一般采用單體結構,隨著業務場景越來越復雜,應用范圍越來越廣,分布式軟件架構的應用場景越來越多。近幾年,微服務架構映入開發者的眼簾,微服務架構將軟件系統設計為若干個獨立的、通過網絡通信的服務[1]。傳統軟件設計一般使用在服務端,以保存Session 會話的方式實現用戶的認證授權,但微服務架構中的微服務數量眾多,且常常部署在不同的服務器上,服務之間難以實現Session 的共享。因此,傳統基于Session 的認證授權方式無法用于微服務架構體系,基于令牌Token 的認證授權方式成為一種合理的微服務認證授權體系解決方案,它能夠提供一種合理的方法對微服務的訪問權限進行管理。令牌Token 包含用戶的身份信息和授權信息,并且可以通過加密和簽名確保其完整性和真實性。同時,令牌的發放和驗證過程也可以使用各種安全機制,如隨機數、時間戳等,以防止令牌被篡改或重放。同時,令牌的發放和驗證過程都有記錄,從而可以提供完整的審計跟蹤,便于追蹤和管理用戶訪問權限。基于令牌的認證授權方式還具有良好的擴展性,當需要添加新的微服務或者擴展現有系統時,只需要對令牌進行相應處理即可,無需對每個服務都進行單獨的認證和授權。

1 OAuth2.0 協議

OAuth2.0 協議又稱為開放授權2.0 協議,是一種開放的認證授權協議,為各類程序提供了一種簡單、安全的訪問機制。該協議允許用戶授權第三方應用訪問其受保護的資源,而無需直接提供其用戶名和密碼。這種授權方式是通過使用訪問令牌(Access Token)實現的,訪問令牌是由授權服務器頒發給客戶端的,代表用戶對資源進行訪問。OAuth2.0 協議實現了在客戶端不獲取用戶敏感信息(如用戶名、密碼等)的前提下,能夠在一定授權范圍內獲取受保護的資源[2]。OAuth2.0 協議中有4 種執行角色,OAuth2.0 協議中各執行角色進行認證授權的時序圖如圖1 所示。

圖1 各執行角色認證授權時序圖

OAuth2.0 協議用戶進行認證授權的流程如下。(1)客戶端向資源擁有者請求受保護資源的訪問授權。(2)資源擁有者返回受保護資源的授權許可到客戶端。(3)客戶端將獲得的授權許可發送到授權服務器。(4)授權服務器驗證客戶端發送的授權許可。若通過驗證,則返回受保護資源的訪問令牌到客戶端。(5)客戶端將獲得的訪問令牌發送到資源服務器,試圖獲取受保護資源。(6)資源服務器驗證客戶端發送的訪問令牌。若通過驗證,則返回受保護資源,供客戶端使用。

同時,OAuth 2.0 協議定義了4 種授權模式。(1)授權碼模式。該模式是要求最高、訪問流程加密性最高的訪問模式,客戶端與授權服務器根據需要進行相應互動。當用戶登錄授權后,向資源擁有者獲取授權碼,再利用該授權碼從授權服務器得到受保護資源的訪問令牌,最后才能訪問受保護資源。(2)密碼模式。在該模式中,用戶向客戶端輸入用戶名和密碼。客戶端再根據這些信息向權限系統申請受限制資源的訪問權限。該模式由于要求客戶輸入敏感信息(用戶名和密碼),使用時具有較大的局限性,只適用于用戶對客戶端高度信任的環境中。(3)隱藏模式。該模式可以省略用戶向資源擁有者獲取授權碼的步驟,直接向授權服務器要求令牌,授權服務器直接向客戶端頒發令牌。該模式安全性不如授權碼模式,只能用于令牌會話期有效的場景,每次令牌的有效期不長,過期則失效。(4)客戶端憑證模式。該模式不對用戶進行任何驗證,只對客戶端進行驗證,并向客戶端頒發憑證,也就是客戶端令牌。若不同的用戶在同一客戶端登錄,則將共享同一個客戶端令牌。

2 SM3 國產密碼算法

2010 年,SM3 國產密碼算法由中國國家密碼管理局發布,是我國具有自主知識產權的密碼雜湊算法[3]。SM3國產密碼算法將輸入的消息經過消息填充、消息分組和迭代壓縮等步驟,生成256bit 雜湊值,即散列值。

SM3 算法的實施流程主要包含4 個步驟。一是消息填充。將輸入數據按照512 位的大小分成若干組,最后一組不足512 位時,按規則填充至512 位。填充規則包括先填充一個“1”,后面加上k個“0”,其中k是滿足(n+1+k) mod512=448 的最小正整數。再追加64 位的數據長度(bit 為單位,大端序存放)。二是消息擴展。將一個512 位數據分組劃分為16 個消息字,作為生成的132個消息字的前16 個,再用這16 個消息字遞推生成剩余的116 個消息字。三是迭代壓縮。經過多輪迭代壓縮后,輸出長度為256 位的摘要值。四是輸出結果。將摘要值輸出,作為SM3 算法的結果。

SM3 算法的壓縮函數與國際常用的SHA256 雜湊算法的壓縮函數具有相似性,但SM3 雜湊算法的壓縮函數具有自己的特點,其結構及消息擴展流程設計思路更加復雜。SM3 算法的壓縮函數采用了Merkle-Damg?rd 結構,該結構將輸入的消息分組劃分為多個512 位的塊,然后對每個塊進行迭代壓縮處理。在壓縮過程中,SM3 算法使用了布爾函數、循環移位、模加運算等操作,以確保輸出的哈希值具有高度的混淆和擴散特性。例如,SM3 算法的壓縮函數每一輪使用2 個消息字,消息擴展使用5 個消息字。因此,SM3 國產密碼算法相對于MD5、SHA0、SHA1、SHA256 等常見雜湊算法,在安全性方面優勢突出。

3 SM3 算法在基于OAuth2.0 的微服務認證授權中的應用

基于OAuth 2.0 的微服務認證授權體系是一種安全機制,可以在多個微服務之間實現授權和訪問控制。該體系利用OAuth 2.0 協議實現對資源的保護和授權,同時支持跨平臺、跨語言應用程序之間的集成和互操作。這種機制下,通過訪問令牌實現對資源的訪問控制,令牌的發放和使用都經過嚴格的授權和驗證,有效防止了未經授權的訪問和數據泄露。同時,這種方式也支持自定義擴展和插件化開發,可以根據實際需求進行個性化定制。

在基于OAuth2.0 的微服務認證授權體系中[4],存在令牌可能被竊取或惡意篡改等風險,具有較大的安全隱患。為解決類似安全問題,可嘗試將SM3 雜湊算法運用于該認證授權體系中,具體流程如下。

(1)OAuth2.0 的微服務認證授權中的授權服務器與資源服務器,協商密鑰SecretKey,該密鑰將用于SM3國產密碼雜湊算法,生成雜湊值,該密鑰只有授權服務器與認證服務器知曉。

(2)授權服務器給客戶端發送授權令牌前,先調用SM3 國產密碼,雜湊算法為該令牌生成雜湊值。例如,AuthCode1=SM3(Token,SecretKey),將該客戶端ID 及對應的令牌雜湊值AuthCode1 發送給資源服務器,資源服務器對該信息進行記錄。

(3)當客戶端向資源服務器發送訪問令牌,試圖訪問受保護資源時,資源服務器使用之前與授權服務器協商好的密鑰SecretKey,調用SM3 國產密碼雜湊算法對客戶端發過來的令牌進行雜湊值生成。例如,AuthCode2=SM3(Token,SecretKey),資源服務器通過客戶端ID,查詢存儲的雜湊值信息,找到該客戶端ID 對應的記錄雜湊值AuthCode1。若AuthCode1 與AuthCode2 相同,則令牌未被篡改,客戶端可進行后續步驟,拿到受保護資源;若AuthCode1 與AuthCode2 不相同,則令牌已被篡改,資源服務器回傳錯誤信息,客戶端獲取受保護資源失敗[5-7]。

用以上步驟改造后的OAuth2.0 協議中各執行角色進行認證授權的時序圖如圖2 所示,第5 和第7 步為改造后增加的步驟。

圖2 改造后的各執行角色進行認證授權時序圖

4 結語

在基于OAuth2.0 的微服務認證授權體系中,使用自主可控的國產密碼雜湊算法SM3 生成和驗證令牌Token,解決了令牌可能被竊取或惡意篡改的問題,大幅提高了該認證授權體系的安全性。在令牌的驗證過程中,使用SM3 算法可以快速地驗證令牌的有效性,減少系統的響應時間,提高整個系統的性能。國產密碼算法SM3 自主安全可控,完全滿足國家信創要求。

同時,SM3 算法面臨多方面的挑戰。一是密碼分析攻擊。SM3 算法是一種密碼哈希函數,其安全性取決于對輸入數據的哈希能力和對哈希值的抗沖突能力。攻擊者可能會對SM3 算法的內部機制進行攻擊。二是應用于加密貨幣的壓力。SM3 算法作為數字簽名和交易驗證的重要工具,面臨來自黑客和惡意攻擊者的威脅。攻擊者可能會對SM3 算法進行破解,以竊取加密貨幣或破壞交易驗證過程。三是技術更新和兼容性問題。SM3 算法是一種相對較新的密碼算法,其開發和實現需要一定的技術水平和資源投入。同時,一些傳統的密碼算法和系統存在一定的兼容性問題,需要進行技術更新和升級改造。

猜你喜歡
資源用戶服務
基礎教育資源展示
一樣的資源,不一樣的收獲
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
資源回收
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 亚洲熟女中文字幕男人总站| 国产香蕉一区二区在线网站| 色综合天天综合中文网| 毛片免费在线视频| 亚洲人成影院在线观看| 亚洲一道AV无码午夜福利| 欧美精品黑人粗大| 天堂在线视频精品| 国产丝袜丝视频在线观看| 伊人精品成人久久综合| 亚洲—日韩aV在线| 精品久久香蕉国产线看观看gif| 亚洲人视频在线观看| 熟女视频91| 婷婷中文在线| 久久久久久尹人网香蕉 | 精品视频在线观看你懂的一区| 国产另类视频| 2019国产在线| 欧美成人h精品网站| 国产精品女人呻吟在线观看| 99精品在线看| 扒开粉嫩的小缝隙喷白浆视频| 国产一级裸网站| 看你懂的巨臀中文字幕一区二区 | 丁香五月激情图片| 在线中文字幕日韩| 婷婷五月在线视频| 亚洲欧美不卡中文字幕| 免费A∨中文乱码专区| 天天躁夜夜躁狠狠躁图片| 成人午夜视频免费看欧美| 亚洲欧美自拍中文| 国产乱人激情H在线观看| 久久婷婷六月| 久草青青在线视频| 色AV色 综合网站| 国产成人1024精品下载| 国产精品亚洲精品爽爽| 日韩欧美视频第一区在线观看| 精品国产自在在线在线观看| 欧美日韩精品一区二区在线线| 色噜噜狠狠狠综合曰曰曰| 日本成人在线不卡视频| 特级aaaaaaaaa毛片免费视频| 91成人在线免费视频| 亚洲日韩图片专区第1页| 亚洲国产天堂在线观看| 欧美性猛交一区二区三区| 精品久久香蕉国产线看观看gif | 亚洲日韩AV无码一区二区三区人 | av免费在线观看美女叉开腿| 网久久综合| 久久国产精品国产自线拍| 999在线免费视频| 91精品啪在线观看国产60岁 | 好紧好深好大乳无码中文字幕| 不卡无码网| 午夜不卡视频| 思思热精品在线8| 亚洲另类国产欧美一区二区| 精品亚洲国产成人AV| 欧美不卡视频在线观看| 国产小视频免费| 国产日韩欧美在线视频免费观看| 免费在线观看av| 毛片网站在线看| 国产黄网站在线观看| 欧美在线精品一区二区三区| 国产中文一区二区苍井空| 少妇精品久久久一区二区三区| 自拍亚洲欧美精品| 婷婷激情亚洲| 日韩免费毛片视频| 国产91高跟丝袜| 色窝窝免费一区二区三区| 久久频这里精品99香蕉久网址| 日本免费一级视频| 亚洲 日韩 激情 无码 中出| 毛片久久久| 乱色熟女综合一区二区| 国产超薄肉色丝袜网站|