永久在线亚洲观看|亚洲日韩久久AV无码|亚洲无码视频在线免费看|欧美亚洲一区二区三区视频|人人澡人人澡人人看添AV|动漫精品视频一区二区三区|亚洲国产另类久久久精品极度|极品美女熟妇又黄又爽视频一区

干貨分享(mqtt client 安卓apk)mqtt client java,深入解析 MQTT 中基于 Token 的認證和 OAuth 2.0,虛歲計算,

保健品 nanfang 2023-12-26 02:59 133 0

1.mqtt android 客戶端

參與OpenSSF軟件安全意識調查本調查旨在了解社區(qū)對 OpenSSF 及其倡議的看法本調查由 OpenSSF 與 Linux Foundation Research 合作進行誰應該參加本調查?任何在 IT 領域工作的人。

2.mqtt client app

本文將深入介紹基于亞瑟影院 Token 的認證和 OAuth 2.0,闡述它們的原理并展示它們在 MQTT 中的應用基于 Token 的認證讓我們先來認識一下基于 Token 的認證,了解它相較于傳統(tǒng)的用戶名和密碼認證的一些優(yōu)勢。

3.mqtt-client

▎什么是基于 Token 的認證?簡單來說,基于 Token 的認證使用 Token 來驗證客戶端身份,而不是使用傳統(tǒng)的憑據(jù)(如用戶名和密碼)這個過程類似于使用電子門卡進入酒店房間當您向前臺出示身份證時,他們會提供一張電子門卡,讓您能夠打開酒店房門。

4.mqtt jar

這張電子門卡在您入住期間起到了 Token 的作用,您無需每次進入房亞瑟影院間時都向前臺證明身份,只需刷卡即可Token 的一個重要特性是其具備有效期限制,可以在到期后失效例如,您的酒店門卡在退房后將失效然而,您可能會入住另一家酒店并拿到新房間的門卡。

5.mqtt客戶端軟件

因此,相較于用戶名和密碼,Token 更加靈活且易于管理酒店房門上的電子門卡閱讀器無需記錄有效的用戶名和密碼,只需驗證門卡上的房間號碼和有效期即可下面我們將深入研究一些適用于 MQTT 的基于 Token 的認證方法。

6.mqtt clientid

▎基于 Token 的 MQTT 認證方法在 MQTT 中,我們通常使用 JWT 來實現(xiàn)令牌認證JWT(JSON Web 亞瑟影院Token)是一種在 MQTT Broker 中驗證客戶端身份的簡潔方式客戶端向 Broker 發(fā)送一個簽名的 JWT Token,Broker 根據(jù)該 Token 驗證客戶端身份。

7.mqtt broker java

Broker 不需要保存客戶端的用戶名和密碼JWT Token 由以下部分組成:頭部:用 Base64 編碼 - 說明生成簽名所采用的算法有效載荷:用 Base64 編碼 - 攜帶可以驗證客戶端身份的聲明。

8.androidmqtt協(xié)議

簽名:將頭部和有效載荷連接后用 Base64 編碼,再用密鑰對其簽名。下圖顯示了 JWT 的結構:

9.mqtt工具安卓

請注意,頭部和有效載荷并沒有亞瑟影院加密,它們只是用 base64 二進制到文本編碼函數(shù)進行了編碼這是一個可逆的函數(shù),所以只要用 base64 解碼函數(shù)就能輕松地看到內容因此,不要在頭部和有效載荷部分放置敏感信息。

10.mqtt java客戶端

另外,最好使用 TLS 對客戶端連接進行加密JWT 使用 密鑰 進行簽名Broker 需要驗證 JWT 是否有效這可以通過兩種方式實現(xiàn):一種是在本地持有密鑰,可以是一個和客戶端共享的密鑰,也可以是一個與簽發(fā) JWT 使用的私鑰相對的公鑰;另一種是使用 JWKS (JSON Web Key Set),JWKS 是一組公鑰,可以用來檢驗密鑰是否有亞瑟影院效。

Broker 可以通過 JWKS 端點來獲取公鑰,而無需自己持有它JWT Token 在頒發(fā)后,就無法撤銷,只能等到它過期因此,一定要把它保存在安全的地方,如果落入他人之手,攻擊者就可以利用它來訪問 Broker。

可以通過使用認證服務器來獲取 JWT Token在這種情況下,客戶端先連接到認證服務器,認證服務器核實其身份后,向客戶端發(fā)放 JWT Token客戶端憑借這個令牌來連接 Broker下圖展示了這個過程:。

下面是一個 JWT 有效載荷的例子{"clientid": "client1","username": "user1","iat": 1516239022,"nbf": 1678亞瑟影院114325,"exp"。

: 1709649185}除了 clientid 和 username 字段外,JWT 令牌還可以包含一些時間字段,用于表示令牌的有效期這些時間字段以 Unix 時間的形式表示,即從 1970 年 1 月 1 日開始計算的秒數(shù)。

“iat”:頒發(fā)時間 - Token 頒發(fā)的日期和時間用 Unix 時間表示“nbf”:生效時間 - Token 開始生效的日期和時間用 Unix 時間表示“exp”:過期時間 - Token 失效的日期和時間。

用 Unix 時間表示請注意,通過使用 nbf 字段,您可以頒發(fā)一個在未來某個日期才生效的 JWTOAuth 2.0在上一節(jié)中,我們介亞瑟影院紹了 JWT Token 的格式,但是并沒有說明如何獲取 Token。

接下來,讓我們看看如何將 OAuth 2.0 和 JWT 結合使用,以使客戶能夠訪問 Broker▎什么是 OAuth 2.0?OAuth 2.0 是一個框架,它讓用戶可以用他們在一個獨立的認證和授權服務器(如 Google、Facebook、GitHub 等)注冊的憑證來訪問其他網(wǎng)站或應用的資源。

這樣,用戶就不需要為每個網(wǎng)站或應用設置不同的密碼,實現(xiàn)了單點登錄(SSO)的效果用戶可以在不同的應用程序中使用相同的 Google 憑證最初,OAuth 2.0 被設計為一種授權框架,用于授予第三方亞瑟影院應用程序對特定資源的有限訪問權限。

一個常見的例子是對 Gmail 聯(lián)系人的只讀權限我們可以允許應用程序讀取我們的聯(lián)系人,但不希望它能夠刪除它們OAuth 2.0 解決的一個問題是,它允許我們讓第三方應用程序訪問我們的聯(lián)系人,而無需將我們的 Gmail 密碼提供給該應用程序,從而提升了安全性。

為了方便使用 OAuth 2.0 協(xié)議進行認證,一個名為 OpenID Connect 的 OAuth 2.0 擴展應運而生該擴展定義了使用 OAuth 2.0 進行認證的標準方法考慮到認證是本文的主題,我們將 OAuth 2.0 和 OpenID 亞瑟影院 Connect 結合起來使用,共同實現(xiàn) MQTT 客戶端訪問 Broker 的授權機制。

▎OAuth 2.0 如何與 MQTT 配合?客戶端可以利用 OAuth 2.0 和 OpenID Connect 來獲取合適的 JWT,然后再將 JWT 發(fā)送給 Broker參考上面的圖片,第一步是 MQTT 客戶端向認證服務器申請 JWT Token。

我們這里假設認證服務器支持帶有 OpenID Connect 擴展的 OAuth 2.0OpenID Connect 規(guī)定了認證服務器返回的令牌必須是 JWT 格式客戶端拿到 JWT 后,就可以把它發(fā)送亞瑟影院給 Broker。

通常,JWT 放在 CONNECT 報文的密碼字段里發(fā)送給 Broker結語作為全球領先的 MQTT Broker,EMQX 提供了多種認證方式,其中包括 JWT 認證您可以選擇 HMAC 作為簽名方案,也可以選擇更安全的 RSA,或者直接為 EMQX 配置一個 JWKS 端點來啟用 JWT 認證。

通過使用這些額外的認證方式,您可以增強整個系統(tǒng)對未授權訪問和潛在安全威脅的防護。隨著技術的不斷進步,與最新的認證技術保持同步將變得更加重要。

點擊“閱讀原文”,了解更多文章轉載自EMQ中文社區(qū)。點擊這里閱讀原文了解更多。

立即掃碼注冊參會!

CNCF概況(幻燈片)

掃描二維碼聯(lián)系我們!CN亞瑟影院CF (Cloud Native Computing Foundation)成立于2015年12月,隸屬于Linux  Foundation,是非營利性組織 CNCF(云原生計算基金會。

)致力于培育和維護一個廠商中立的開源生態(tài)系統(tǒng),來推廣云原生技術。我們通過將最前沿的模式民主化,讓這些創(chuàng)新為大眾所用。請關注CNCF微信公眾號。

標簽列表