Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【IoT-Tech Meetup #5】IoTとは?WireGuard概要とIoTで通信を守る理由

SORACOM
September 26, 2023

【IoT-Tech Meetup #5】IoTとは?WireGuard概要とIoTで通信を守る理由

2023年9月26日開催『IoT-Tech Meetup 第5回【オープンソースVPN "WireGuard"】』で、ソラコム松下(max)が発表した資料です。

SORACOM

September 26, 2023
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. IoTとは? WireGuard 概要 と IoT で通信を守る理由 Sep. 26, 2023 IoT-Tech

    Meetup【WireGuard】 株式会社ソラコム テクノロジー・エバンジェリスト 松下 享平 (Max / @ma2shita) #5-1
  2. 株式会社ソラコム / テクノロジー・エバンジェリスト 松下 享平 (まつした こうへい) “Max” • 静岡県民

    🗻 新幹線通勤族 🚅 • 講演や執筆を中心に活動、登壇数600以上/累計 • 経歴: 東証二部ハードウェアメーカーで情シス部門、 EC 事業、IoT 事業開発を経て2017年より現職 • 好きな言葉「論よりコード」 • AWS ヒーロー (2020年受賞)
  3. SORACOM は IoT の「つなぐ」を簡単に IoT デバイス クラウドサービス ✓ 遠隔操作 ✓

    メンテナンス ✓ 蓄積・見える化 ✓ アラート通知 センサ キット IoT 通信 IoT SIM LPWA パートナー デバイス パートナークラウド (AWS / Microsoft / Google) Wi-Fi / 有線 3G / LTE / 5G LTE-M 通信 デバイス クラウド型 カメラ 衛星通信
  4. 様々な要素が関係するのが IoT デジタル化 対象 デバイス ネットワーク クラウド 利用者 全てがつながって 「IoT」

    セキュリティ・監視 物流・在庫管理 支払い・課金 法令順守 受発注・保守 アプリケーション ストレージ データ 処理 ゲートウェイ パケット交換 (ISP/IX) バックホール アクセス ポイント 通信 モジュール マイコン センサー
  5. IoT の攻撃ポイントは、デバイス自体と 要素間の境界 デジタル化 対象 デバイス ネットワーク クラウド 利用者 アプリケーション

    ストレージ データ 処理 ゲートウェイ パケット交換 (ISP/IX) バックホール アクセス ポイント 通信 モジュール マイコン センサー ネットワークやクラウド接続の 認証情報の奪取 パブリック IP への攻撃 ※デバイスやエントリーポイント保護のお話は、別の機会に
  6. 情報セキュリティの三要素と VPN 技術 機密性 完全性 可用性 情報が不正アクセスから 守られること 《暗号化等》 情報が改ざんから

    保護されること 《電子署名等》 必要時に情報へのアクセスが 可能なこと 《冗長化等》 この二要素に加えて「真正性」(通信相手が正しいこと) を 技術的に実現
  7. https://www.wireguard.com/ Fast Modern Secure ✓ 既存 VPN を上回る スループットとレイテンシ ✓

    軽量でマイコンでも動作 ✓ 接続認証、暗号化、メッセー ジ認証は最新の標準技術 ✓ 実装もコンパクト ✓ IP が変化し続けるモバイル環境 でも安定した接続性 WireGuard (ワイヤーガード)
  8. WireGuard “Modern” 通信の継続は、受信パケット内の “送信元 IP アドレス” を使用 • 初期接続こそ「接続先アドレス」を 使うが、通信開始後はパケット自体

    が接続先情報として利用される • 頻繁な鍵交換、パケット毎に行って いる “メッセージ認証” が《真正性》 を担保
  9. WireGuard “Secure” 接続認証(識別)は、Curve25519 による公開鍵認証(ECDH) ※他の方式(e.g., ユーザーID/パスワード) の認証方式はない Curve25519… 公開鍵のサイズは32バイト (Base64エンコーディング後で44バイト)

    暗号化とメッセージ認証は、ChaCha20-Poly1305 ChaCha20-Poly1305は、ストリーム暗号(ChaCha20) 《機密性》と メッセージ認証(Poly1305) 《完全性》を組み合わせた暗号アルゴリ ズム。この組み合わせは RFCになっている TLS や IPSecVPN でも ChaCha20-Poly1305 が選択可能
  10. WireGuard の注意点 通信は UDP のみ 特徴のところでも紹介しましたが、WireGuard の通信は UDP (Port 51820)。

    TCP は「パフォーマンスに懸念がある」と明記されているため、今後もサポー トの可能性は低そう クリプトアジリティが無い クリプトアジリティとは、VPNで採用しているアルゴリズムで問題があった場 合に、他のアルゴリズムへ簡単に変更できることを指す。VPN自体を長く安全 に使うための設計ですが、実装や設定が複雑になるデメリットがある WireGuard は、クリプトアジリティを採用しないことでシンプルさを実現しま した。WireGuard で使用している技術に問題があったら、WireGuard 自体を バージョンアップすることで対応することになる
  11. サーバーが無くとも試せる ― demo.wireguard.com $ apt install netcat-openbsd $ sudo cat

    /etc/wireguard/wg_demo_client.pub | nc demo.wireguard.com 42912 OK:JRI8Xc0z(省略)n4g+/PFs=:12912:192.168.84 [Interface] PrivateKey = クライアントの秘密鍵(wg_demo_client.key の内容) Address = サーバー側から得たクライアントへの割り当てIPアドレス [Peer] PublicKey = サーバーの公開鍵 EndPoint = demo.wireguard.com:サーバー側から得たポート番号 AllowedIPs = 0.0.0.0/0 wg_demo0.conf
  12. https://soracom.connpass.com/event/294746/ connpass ページが オープンしてます! 次回の IoT-Tech Meetup は? お会いできることを、楽しみにしております! 10/24(火)

    19:00~ 今後 ➢ SIM と 5G Core & SORACOM の コアネットワーク ➢ AWS re:Invent 2023 振り返り ➢ IoT-Tech Meetup 振り返り ― ChatGPT や 位置情報などなど