Skip to main content
QUICK REVIEW

[論文レビュー] JSON Web Token (JWT) based client authentication in Message Queuing Telemetry Transport (MQTT)

Krishna Shingala|arXiv (Cornell University)|Mar 7, 2019
Arduino and IoT Applications参考文献 7被引用数 9
ひとこと要約

本稿では、IoTシステムにおけるMQTTクライアントのJSON Web Token (JWT)およびTLSベースの相互認証を評価し、制限付きデバイスに適した軽量でプライバシーを守る認証がJWTによって実現可能であることを示している一方で、TLSは強固なセキュリティを提供するがリソースの消費が大きいことを明らかにしている。主な貢献は、IoT環境におけるセキュリティ、パフォーマンス、導入の複雑さのトレードオフを明らかにする比較分析である。

ABSTRACT

This paper is an overview of JSON Web Token (JWT) and Transport Layer Security (TLS) as two primary approaches for authentication of the things on the Internet. JSON Web Token (JWT) is used extensively today for authorization and authentication within the OAuth and the OpenId framework. Recently, the Google Cloud IoT has mandated the use of JWT for both HTTP and Message Queuing Telemetry Transport (MQTT) protocol based clients connecting to the cloud service securely over TLS. MQTT is the protocol of choice in IoT devices and is the primary focus of this paper as the application protocol. Another popular cloud platform Amazon Web Service (AWS) uses the TLS mutual authentication for client authentication. Any comparison provided here between the two approaches is primarily from a constrained device client perspective.

研究の動機と目的

  • MQTTベースのIoTクライアントの認証メカニズムとしてのJWTおよびTLSの評価を目的とする。
  • 制限付きIoTデバイスの視点から、JWTとTLSのセキュリティ、パフォーマンス、リソース消費の比較を目的とする。
  • JWTと証明書ベースのTLS認証の間のプライバシーの影響および信頼モデルの違いを評価することを目的とする。
  • 実世界のIoTシステムにおける各アプローチに関連する導入の課題およびリスクを特定することを目的とする。
  • ユースケース、デバイスの制約、脅威モデルに基づいて認証スキームを選択するためのガイダンスを提供することを目的とする。

提案手法

  • 本稿では、トークンベースの認証に用いられるJWT標準(RFC 7519)およびOAuthとOpenID Connectとの統合を分析している。
  • AWS IoTで実装されたものと同様に、証明書チェーンおよび相互認証を含むTLSハンドシェイクプロセスを検討している。
  • Google Cloud IoTで使用されているJWTベースの認証と、TLSクライアント証明書認証を、計算コスト、メモリ使用量、鍵管理の複雑さの観点から比較している。
  • 整合性および真正性を保証するためのHMAC-SHA256および公開鍵署名(例:ECDSA)がJWTでどのように使用されるかを評価している。
  • 安全なチャネル(TLS)がJWTの交換を保護する役割を果たす一方で、適切に保護されていない場合、中間者攻撃のリスクが生じることを説明している。
  • 安全な時刻同期の重要性と、TLS上で予測可能なMQTTペイロードに対して発生する可能性のある既知の平文攻撃のリスクを強調している。

実験結果

リサーチクエスチョン

  • RQ1制限付きIoTデバイスにおいて、JWTベースの認証はTLS相互認証と比べて計算およびメモリ消費の点でどの程度異なるか?
  • RQ2IoTシステムにおけるデバイス認証にJWTとクライアント証明書を使用する場合のプライバシーへの影響は何か?
  • RQ3JWTとTLSの信頼モデルはどのように異なり、鍵管理およびデバイスライフサイクルにどのような影響を及えるか?
  • RQ4非セキュアなチャネル上でJWTを使用する場合のセキュリティリスクは何か?また、TLSはそれらをどのように軽減するか?
  • RQ5TLS 1.3は、IoTデプロイメントにおけるJWTと証明書ベース認証の間のパフォーマンス格差をどの程度縮小できるか?

主な発見

  • JWTベースの認証は、証明書を通じてクライアントIDを露呈しないため、TLS相互認証よりもクライアントのプライバシーが保たれる。
  • TLS相互認証は、複雑な証明書チェーン管理を要し、特にリソースが制限されたデバイスでは計算コストが高くなる。
  • JWTはステートレスであり、独立して検証可能であるため、TLSにおける証明書失効リストに比べてサーバーサイドの状態管理が軽減される。
  • TLS上でのJWTの使用は、安全なトークン交換を保証するが、チャネル全体の整合性は強力なTLS設定と実装に依存する。
  • 両方のスキームは通信を保護するためにTLSに依存しており、TLSプロトコルの欠陥や実装上の欠陥に対して脆弱である。
  • MQTTでは、予測可能なメッセージパターンのため、特にCBCモードでのブロック暗号を使用する場合、既知の平文攻撃が可能になる可能性がある。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。