<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>認証 on Physical AI Hub</title>
    <link>https://physicalaihub.net/tags/%E8%AA%8D%E8%A8%BC/</link>
    <description>Recent content in 認証 on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sat, 26 Sep 2026 13:45:27 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E8%AA%8D%E8%A8%BC/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ROS 2のセキュリティ設計入門：DDS-Securityの適用範囲と性能評価</title>
      <link>https://physicalaihub.net/posts/ros2-dds-security-authentication-authorization-design/</link>
      <pubDate>Sat, 26 Sep 2026 13:45:27 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/ros2-dds-security-authentication-authorization-design/</guid>
      <description>&lt;p&gt;ROS 2の通信保護では、暗号化の有無だけでなく、どの情報を誰に許可するかまで設計する必要があります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;先に結論&#34;&gt;先に結論&lt;/h2&gt;&#xA;&lt;p&gt;ROS 2の通信を保護する場合は、SROS 2を入口としてDDS-SecurityをDDSのDomainParticipantとRTPS通信に適用します。ただし、すべての通信を一律に暗号化するのではなく、発見情報、RTPSメタデータ、トピックデータごとに保護レベルを選ぶことが重要です。&lt;/p&gt;&#xA;&lt;p&gt;性能は「有効・無効」の二択では評価できません。認証のみ、完全性保護、暗号化、発見情報の保護などを段階的に比較し、採用するROS 2ディストリビューション、RMW実装、DDS実装、メッセージ特性、ハードウェアを固定して測定します。運用負荷も、初期設定だけでなく証明書・秘密鍵・権限ファイルの更新や障害対応まで含めて判断します。&lt;/p&gt;&#xA;&lt;h2 id=&#34;なぜ適用範囲の設計が必要か&#34;&gt;なぜ適用範囲の設計が必要か&lt;/h2&gt;&#xA;&lt;p&gt;ロボットでは、センサーデータ、制御指令、状態情報などがDDSを通じて交換されます。通信相手が正しい参加者か、特定のノードにpublishやsubscribeを許すか、内容を第三者から読めなくするかは別々の課題です。認証に成功した参加者へ、すべてのトピックへのアクセスを許可する必要はありません。&lt;/p&gt;&#xA;&lt;p&gt;また、「暗号化を有効にした」という説明だけでは保護範囲が分かりません。DDS-Securityでは、発見情報、liveliness、RTPSメタデータ、トピックデータに異なる保護レベルを指定できます。署名にとどめるか暗号化まで行うかは、機密性、完全性、性能、運用負荷を合わせて決めます。&lt;/p&gt;&#xA;&lt;h2 id=&#34;用語と役割&#34;&gt;用語と役割&lt;/h2&gt;&#xA;&lt;p&gt;DDS-Securityは、DDSのDomainParticipantとRTPS通信層に適用されるセキュリティモデルです。認証、アクセス制御、暗号、ロギングなどをプラグインとして構成します。&lt;/p&gt;&#xA;&lt;p&gt;認証は参加者の識別と相互認証を担います。アクセス制御、つまり認可は、ドメイン、トピック、パーティションなどについて、その参加者がどの操作を実行できるかを判定します。暗号プラグインは、通信の暗号化や完全性保護を担当します。認証できたことと、アクセスを許可することは同じではありません。&lt;/p&gt;&#xA;&lt;p&gt;ROS 2ではSROS 2がDDS-Securityを利用するツールと統合機能を提供します。キーストアに証明書、秘密鍵、ガバナンス文書、権限文書などを格納し、エンクレーブをノードの論理的なセキュリティ境界として利用します。実行時には、キーストア、エンクレーブ、セキュリティ戦略などを環境変数やCLIで指定します。&lt;/p&gt;&#xA;&lt;h2 id=&#34;内部の仕組みと適用範囲&#34;&gt;内部の仕組みと適用範囲&lt;/h2&gt;&#xA;&lt;p&gt;処理の流れは、参加者の起動、証明書の検証と認証ハンドシェイク、権限検証、発見情報の保護、エンドポイントの許可、トピックデータの署名または暗号化という順序で整理できます。ガバナンス設定はドメインや保護対象の方針を定め、権限ファイルは参加者やエンクレーブ単位のアクセス範囲を定めます。&lt;/p&gt;&#xA;&lt;figure class=&#34;mermaid-figure&#34;&gt;&#xA;    &lt;pre class=&#34;mermaid&#34; role=&#34;img&#34; aria-label=&#34;ROS 2のDDS通信に対するDDS-Securityの適用範囲と、キーストア資材およびDDSを経由しない経路の扱いを示します。&#34;&gt;flowchart LR&#xA;  node[&#34;ROS 2ノード&#34;] --&gt; rclrmw[&#34;rcl / RMW&#34;]&#xA;  rclrmw --&gt; dp[&#34;DDS DomainParticipant&#34;]&#xA;&#xA;  subgraph sec[&#34;DDS-Security&#34;]&#xA;    auth[&#34;認証プラグイン&#34;]&#xA;    access[&#34;アクセス制御プラグイン&#34;]&#xA;    crypto[&#34;暗号プラグイン&#34;]&#xA;  end&#xA;&#xA;  dp --&gt; auth&#xA;  dp --&gt; access&#xA;  dp --&gt; crypto&#xA;&#xA;  subgraph ks[&#34;キーストア&#34;]&#xA;    cert[&#34;Identity certificate&#34;]&#xA;    key[&#34;Private key&#34;]&#xA;    gov[&#34;Governance文書&#34;]&#xA;    perm[&#34;Permissions文書&#34;]&#xA;  end&#xA;&#xA;  cert --&gt; auth&#xA;  key --&gt; auth&#xA;  gov --&gt; access&#xA;  perm --&gt; access&#xA;&#xA;  auth --&gt; participant[&#34;参加者の識別・相互認証&#34;]&#xA;  access --&gt; endpoint[&#34;ドメイン・トピック・パーティションの権限&#34;]&#xA;  crypto --&gt; discovery[&#34;発見情報・RTPSメタデータ&#34;]&#xA;  crypto --&gt; topic[&#34;トピックデータ&#34;]&#xA;&#xA;  participant --&gt; rtps[&#34;DDSを経由するRTPS通信&#34;]&#xA;  endpoint --&gt; rtps&#xA;  discovery --&gt; rtps&#xA;  topic --&gt; rtps&#xA;&#xA;  bypass[&#34;DDSをバイパスする経路\n独自トランスポート・実装依存のプロセス内通信など&#34;] -.-&gt; out[&#34;DDS-Securityの適用範囲外の可能性\n実装仕様の確認が必要&#34;]&lt;/pre&gt;&lt;figcaption&gt;ROS 2のDDS通信に対するDDS-Securityの適用範囲と、キーストア資材およびDDSを経由しない経路の扱いを示します。&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;DDS-Securityで自動的に保護されるのは、基本的にDDSを経由する通信です。独自トランスポートや、実装によってDDS通信をバイパスするプロセス内通信・共有メモリ経路まで保護されるとは限りません。コンポーネントコンテナや共有メモリを使う場合は、実際の経路をRMWとDDS実装の仕様で確認します。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
