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

SDR (Software Defined Radio) を使った無線の解析 @ 2023-02-11 SECCON 電脳会議 2022 / Wireless Analyzing using SDR @ SECCON 2022

chibiegg
February 11, 2023

SDR (Software Defined Radio) を使った無線の解析 @ 2023-02-11 SECCON 電脳会議 2022 / Wireless Analyzing using SDR @ SECCON 2022

SDRを用いて無線通信の受信や解析を行うことで、一般に販売されていない通信方式についても受信することが可能となっています。 現在では2.4GHzを超え6GHzちかくまでのサンプリング周波数のSDRフロントエンド (送受信装置) も容易に手に入るようになってきました。 今回は5.8GHz帯を利用しているETCを題材にSDRをつかった受信の実例をご紹介します。

chibiegg

February 11, 2023
Tweet

More Decks by chibiegg

Other Decks in Technology

Transcript

  1. © SAKURA internet Inc. SDR (Software Defined Radio) を使った無線の解析 2023-02-11

    @ SECCON 2022 電脳会議 さくらインターネット 執⾏役員 / CIO / CISO 江草 陽太
  2. 2 ⾃⼰紹介 @chibiegg 江草 陽太 【所属】 • さくらインターネット株式会社 執⾏役員 技術推進統括担当

    兼 CISO 兼 CIO 【経歴】 • ロボカップジュニア (中学・⾼校) / NHK⼤学ロボコン • ⼤阪⼤学⼯学部電⼦情報⼯学科情報通信⼯学専攻 • 個⼈事業主 (⼤学⽣時代に開業) • ⼤阪⼤学⼤学院⼯学研究科中退 • SECCON 2014 Final (Takedashi) 【趣味】 旅⾏/温泉/写真/電⼦⼯作/プログラミング/かわいい服
  3. © SAKURA internet Inc. Software Defined な無線受信⽅式 IQ⼆つの信号をAD変換してPCに取り込む 【出典】SDRの実験 :

    http://www.73net.sakura.ne.jp/radio/sdr/sdr.html SDRフロントエンド I信号 (in-Phase) Q信号 (Quadrature-Phase)
  4. © SAKURA internet Inc. Takahiko Saba Dept. of Computer Science,

    C.I.T. ෳૉแབྷઢ DPNQMFYFOWFMPQF ྖҬͰߟ͑Δ͜ͱ͕Ͱ͖Δ ʹ౳Ձ௿Ҭ৴߸ Takahiko Saba Dept. of Computer Science, C.I.T. *JOQIBTF ಉ૬ DPT੒෼ 2RVBESBUVSFQIBTF ௚ަҐ૬ TJO੒෼ ஫ DPOTUFMMBUJPO੕࠲ Takahiko Saba Dept. of Computer Science, C.I.T. 11 214,ͷ৴߸఺ભҠ I Q ༨ݭϩʔϧΦϑϑΟϧλ࢖༻ ʢϩʔϧΦϑ཰ʣ Ґ૬ͷભҠʹݪ఺Λ௨ա͢Δ৔߹ ͕͋ΔͨΊৼ෯มಈ͕େ͖͍ ʢޮ཰ͷѱ͍ઢܗ૿෯ثΛ࢖Θ͟ ΔΛಘͳ͍ʣ Takahiko Saba Dept. of Computer Science, C.I.T. Φϑηοτ214,ͱКγϑτ214, 12 I Q I Q Кγϑτ214, Φϑηοτ214, γϯϘϧຖʹК ͷҐ૬ࠩΛ͚ͭΔ *࣠ͱ2࣠ʹ࣌ؒࠩ Λ͚ͭͯมԽͤ͞Δ ݪ఺Λ௨ա͠ͳ͍ ৼ෯มಈ΋খ͍͞ Ӵ੕௨৴ͳͲͰ࢖༻ ܞଳి࿩ 1%$ Ͱ࢖༻ Takahiko Saba Dept. of Computer Science, C.I.T. ෳૉแབྷઢ DPNQMFYFOWFMPQF ྖҬͰߟ͑Δ͜ͱ͕Ͱ͖Δ ʹ౳Ձ௿Ҭ৴߸ Takahiko Saba Dept. of Computer Science, C.I.T. *JOQIBTF ಉ૬ DPT੒෼ 2RVBESBUVSFQIBTF ௚ަҐ૬ TJO੒෼ ஫ DPOTUFMMBUJPO੕࠲ Takahiko Saba Dept. of Computer Science, C.I.T. 11 214,ͷ৴߸఺ભҠ I Q ༨ݭϩʔϧΦϑϑΟϧλ࢖༻ ʢϩʔϧΦϑ཰ʣ Ґ૬ͷભҠʹݪ఺Λ௨ա͢Δ৔߹ ͕͋ΔͨΊৼ෯มಈ͕େ͖͍ ʢޮ཰ͷѱ͍ઢܗ૿෯ثΛ࢖Θ͟ ΔΛಘͳ͍ʣ Takahiko Saba Dept. of Computer Science, C.I.T. Φϑηοτ214,ͱКγϑτ214, 12 I Q I Q Кγϑτ214, Φϑηοτ214, γϯϘϧຖʹК ͷҐ૬ࠩΛ͚ͭΔ *࣠ͱ2࣠ʹ࣌ؒࠩ Λ͚ͭͯมԽͤ͞Δ ݪ఺Λ௨ա͠ͳ͍ ৼ෯มಈ΋খ͍͞ Ӵ੕௨৴ͳͲͰ࢖༻ ܞଳి࿩ 1%$ Ͱ࢖༻ 【出典】千葉⼯業⼤学 佐波孝彦 「デジタル変調⽅式(2)」 http://www.saba.cs.it-chiba.ac.jp/_userdata/AdvCom04.pdf
  5. © SAKURA internet Inc. SDRフロントエンド ⼀番有名なのは RTL-SDR ...? RealtekのSDRチップを積んだUSBドングル ⼀般的にはワンセグチューナーが多い

    局発周波数 500KHz ~ 1.7GHz ぐらい サンプリング周波数 28.8MHz など ワンセグ視聴ソフト⾃体もSDRでできている
  6. © SAKURA internet Inc. ETCの仕様 無線の通信⽅式については 「ARIB STD-T75 DSRC (狭域通信)

    システム」 として変調⽅式とMAC層が規定されている アプリケーションの仕様については 「 NEXCO総研 ETC⾞載器仕様書」 にて規定されている (今回は利⽤しない)
  7. © SAKURA internet Inc. 注意事項 本資料は公開されている無線⽅式や規格を学習しやすくするための 解説、および測定に⽤いられる機材の取り扱いノウハウを記述する ものであり、検証に伴って取得された通信の内容そのものは含めま せん。 ETCシステムは通常

    「ETCシステム利⽤規程」 に従ってETCカード の貸与を受けて利⽤するものであり、その通信はシステムの構成要 素同⼠での内部的な通信と思われます。よって、その通信に含まれ る情報を利⽤者が公開したり、その情報を窃⽤し何らかの便益を得 ることは違法となる可能性があるためです。 (参考:Wikipedia - 傍受)
  8. © SAKURA internet Inc. ETCの仕様 (無線) • 5.8GHz帯 • 下り⽅向(地上局から移動局)5795MHz

    および 5805MHz • 上り⽅向 5835MHz および 5845 MHz • 右旋円偏波 • 変調⽅式は ASK (ETC2.0 は π/4 シフト QPSK) • 符号化⽅式は 1024kbps マンチェスタ符号 • 帯域4MHz (1チャンネルあたり)
  9. © SAKURA internet Inc. ASK の コンスタレーション ASKは振れ幅のみに意味がある AM変調のデジタル版 ETCの場合は0%か100%か

    I信号 (in-Phase) Q信号 (Quadrature-Phase) 振れ幅が変わる 周波数が完全に⼀致していれば 位相は変わらない (が実際には回転している)
  10. © SAKURA internet Inc. ETCを受信できるフロントエンド サンプリング周波数 60MHz で全チャンネル⼀気に録る サンプリング周波数 5MHz

    で上り下り別々に録る HackRF One • 局発周波数 1MHz ~ 6GHz • サンプリング周波数 ~20MHz • 量⼦化ビット数 8bit • LNAゲイン 0dB ~ 40dB
  11. © SAKURA internet Inc. ETCの仕様 (MAC層) • パケット通信である • 地上局を起点とする1往復を「スロット」と呼ぶ

    • スロットには⼀種類、ないしは⼆種類の「チャネル (パケット)」 が含まれる • MDCパケットだけは簡易秘話スクランブルがかかっている
  12. © SAKURA internet Inc. スロットとチャネルの関係 • FCMS (フレームコントロールメッセージスロット) • FCMC

    (フレームコントロールメッセージチャネル) • MDS (メッセージデータスロット) • MDC (メッセージデータチャネル) • ACKC (アックチャネル) • ACTS (アクチベーションスロット) • ACTC (アクチベーションチャネル) • WCNS (ワイヤレスコールナンバースロット) • WCNC (ワイヤレスコールナンバーチャネル)
  13. © SAKURA internet Inc. シーケンス • 地上局からの通信を開始する • FCMSからはじまり、MDS, SCTS,

    WCNS をいくつか含む連続し た通信を⾏う • FCMSから始まるこの⼀連のシーケンスを「フレーム」と呼ぶ
  14. © SAKURA internet Inc. ACTS (アクティベーションスロット) • 6個のACTCを含むことができる • 移動局はこの中から⼀つ選びACTCを送信する

    • ACTCにはリンクアドレス(LID)フィールドを持ち、地上局が移動 局を識別するのに使う
  15. © SAKURA internet Inc. MDS (メッセージデータスロット) • 意味のある実際のデータを含むスロット • MDCとACKCを含む

    • データ送出側がMDCを送信し、受信側がACKCを送信する • MDCは71バイト固定⻑
  16. © SAKURA internet Inc. 秘話デスクランブラ • 16段M系列のPNパターン (シフトレジスタ) が利⽤されている •

    ⽣成多項式は 1+X+X^3+X^12+X^16 • 秘話 をシフトレジスタの初期値として⽤い、スクランブルされ たビット列をシフトレジスタに順番に⼊れていく • ブロードキャストの場合は はゼロ
  17. © SAKURA internet Inc. デコード結果 ---- #38 packet (len=58, time=0.456430,

    downlink) ---- parse UW : ASK UW1 (0xd815d27c) detected. calc CRC : calculated 0x1702 and reference 0x1702 matched. parse IMI : standard procedure (0x00) API #1 slot : type == 'Multi-purpose Toll Collection system (ETC)', Last Item parse FSI : Full Duplex, 4 x 2 slot occupied SCI #0 downlink : type == 'MDS', ask modulation, standard data channel, downlink, LID 0x5a0492b5, set 0xfba5 to MDS Key[0] SCI #0 uplink : type == 'MDS', ask modulation, empty data channel, uplink SCI #1 downlink : type == 'MDS', ask modulation, empty data channel, downlink SCI #1 uplink : type == 'ACTS' SCI #2 downlink : type == 'MDS', ask modulation, empty data channel, downlink SCI #2 uplink : type == 'ACTS' SCI #3 downlink : type == 'MDS', ask modulation, empty data channel, downlink SCI #3 uplink : type == 'ACTS'
  18. © SAKURA internet Inc. 原因 GNU Radioの保存では float32 (IQで8バイト) =

    640Mbps (80MB/sec) @ 20Msps 本来は 8bit (IQで2バイト) = 160Mbps (20MB/sec) @ 20Msps そのまま保存するツールを使って記録するべき SATA SSDの帯域が⾜りてなかった! (笑)
  19. © SAKURA internet Inc. まとめ SDRをつかうと⼀般に⼿に⼊らない通信も受信することができる 5GHzなどの⾼周波数はアンプとノイズに注意 いろんな仕様書読むの楽しい この内容は以下の記事に掲載しています SDRでETCの電波を受信しよう

    (フィールドワーク編) @homelith https://qiita.com/homelith/items/9acc6e307f33e73d676c SDRでETCの電波を受信しよう (デコード編) @chibiegg https://qiita.com/chibiegg/items/35f60ee8d4551905f603