高周波基板設計の基礎(8)電磁波ノイズ対策・回路 「スクランブル」

スクランブル

スクランブラは、100Mbps 以上の撚対線を使用する Ethernet 動作時に、コネクタやケーブルから放射する電磁妨害波(EMI)を抑えるために実装された機能だ。電磁妨害波が他の機器の誤動作を引き起こすため、米国の FCC や日本の VCCI 等で厳しく規制されている。

日本の VCCI では、「図1 放射妨害波の測定例」の様に被測定物を回転させ、測定物から放射される 30MHz から 1GHz 迄の電波を測定する。測定範囲の電波強度を積算し、規制値を超えると製品を出荷できない。米国の FCC は法規制で、適合しないと米国に輸出できない。日本の VCCI は業界の自主規制だが、実質的に適合しない製品は流通できない。「図2 放射妨害波の強度イメージ(不適合)」の様に平均レベルに十分余裕があっても、1箇所でも規制値を超えると「不適合」になる。放射妨害波の総エネルギーを抑えることが難しいため、エネルギーを分散させピークを下げる手法をとることが多い。スクランブラは伝送媒体上のデータをランダムに変換し、特定の周波数へのエネルギー集中を回避する手法だ(周波数プペクトルの拡散)。特にフレーム間ギャップは「1」が連続するため同じ周波数の変化が続き、一部の周波数にエネルギーが集中する。スクランブラでフレーム自体とフレーム間ギャップ信号をランダム化することで「図3 放射妨害波の強度イメージ(適合)」の様にピークを下げることができる。

VCCI 放射エミッション測定周波数 𝐹𝑥内部使用最大周波数
𝐹𝑥 ≦ 108 MHz30MHz ~ 1 GHz
108 MHz < 𝐹𝑥 ≦ 500 MHz30MHz ~ 2 GHz
500 MHz < 𝐹𝑥 ≦ 1 GHz30MHz ~ 5 GHz
1 GHz < 𝐹𝑥30MHz ~ 𝐹𝑥 の5倍または 6 GHz の何れか低い方
表1 VCCI 周波数範囲
図1 放射妨害波の測定例
図1 放射妨害波の測定例
図2 放射妨害波の強度イメージ(不適合)
図2 放射妨害波の強度イメージ(不適合)
図3 放射妨害波の強度イメージ(適合)
図3 放射妨害波の強度イメージ(適合)

スクランブラへの入力を平文ストリーム(Plaintext Stream)と呼ぶ。スクランブラは平文ストリームとキーストリーム(Key Stream)の演算を行い、暗号文ストリーム(Ciphertext Stream)を作る(図4 スクランブラの構造)。演算は一般的な EXOR(Exclusive or:排他的論理和)だ。キーストリームの生成には、LFSR(Linear Feedback Shift Register :線形フィードバックレジスタ)と呼ばれる仕組みを使用する。この仕組みはハードウェアで簡単に安く作れるため、100BASE-TX だけではなく、放送や通信などの様々なところで使われている。LFSR は平文ストリームが分かると簡単にキーストリームを解読できる。この特性を使い 100BASE-TX はスクランブル解除を行うが、暗号としては脆弱だ。単独の LFSR は線形システムで比較的簡単に解読されるため、様々な工夫を加え今でも携帯電話等の暗号等に使われているようだ。

図4 スクランブラの構造
図4 スクランブラの構造

LFSR はビット長により幾つかの方式がある(表2 LFSR 一覧(抜粋))。100BASE-TX は 11ビット長の多項式を使用する(赤枠内)。11ビット多項式の見方は、 「表2 LFSR 一覧(抜粋)」 Taps 項のように右端が1ビット目で、9ビット目と11ビット目が「1」になる2進数を表している。この多項式で生成される数列は一定の周期で繰り返される。

100BASE-T1 スクランブラ生成多項式:𝑿𝟏𝟏+𝑿𝟗+1

表1 LFSR 一覧(抜粋)
表2 LFSR 一覧(抜粋)

100BASE-TX の LFSR は 11ビット長だが、キーストリーム生成は「図5 11ビット長 LFSR キーストリーム生成」の構造になっている。先ず、ランダムなキーストリームを発生させるために11 ビット2進数の「種(Seed)」を「Seed」に設定する。設定値は特に制約は無いがオール「0」を設定するとキーストリームに変化がなくランダム化できない。 「種」は Master が決定し Slave に伝えることで送受信が一致するようなる。

次に、S8 と S10 の EXOR(排他的論理和)を行い、全体が 1 ビットシフトする。初期状態が、S0/S1/S2/S3/S4/S5/S6/S7/S8/S9/S10 が 1 ビットシフトすることで、S8 と S10 のEXOR/ S0/S1/S2/S3/S4/S5/S6/S7/S8/S9 となる。キーストリームは 2047回(211-1)で一巡する。

図5 11ビット長 LFSR キーストリーム生成
図5 11ビット長 LFSR キーストリーム生成

次に、生成したキーストリーム(Key Stream)と平文ストリーム(Plaintext Stream)を EXOR 演算し、暗号文ストリーム(Ciphertext Stream)が生成される(図6 サイファーストリーム生成)。EXOR の論理式は「図7 EXOR 論理式」だが、2入力の一方が「1」の時他方が反転し、2入力の一方が「0」の時他方は変化しない。

LFSR は平文ストリームが分かっていると簡単にキーストリームを割り出すことができる。この特性を使い、受信側はキーストリームを割り出すことになる。都合の良いことに、フレーム間ギャップの「Idle」状態では、4B5B 変換された 5B データは常に「11111」であることが分かっている。

図6 サイファーストリーム生成
図6 サイファーストリーム生成
図7 EXOR 論理式
図7 EXOR 論理式

図6 サイファーストリーム生成」のスクランブル構造を数式に書き換えると「図8 スクランブルと解除演算式」の様になる。フレーム間の「Idle」状態では、暗号文ストリームはキーストリームの反転信号になっている。つまり、「Idle」期間に受け取った暗号文を反転すれば、そのままキーストリームに使用できる。

図6 サイファーストリーム生成
【再掲】図6 サイファーストリーム生成
図8 スクランブルと解除演算式
図8 スクランブルと解除演算式

11 ビットの LFSR での動作検証はデータ量が大きすぎるため、「図10 3ビットLFSRモデル図」の 3 ビットLFSR モデル(表2 LFSR 一覧(抜粋)青枠)で検証してみたい。

表1 LFSR 一覧(抜粋)
【再掲】表2 LFSR 一覧(抜粋)
図10 3ビットLFSRモデル図
図10 3ビットLFSRモデル図

図11 3ビットLFSRモデル検証例」は、3ビットモデルの初期値には「110」を与えた検証例だ。①と②は、Key Stream/Plaintext Stream から Ciphertext Stream を演算する手順だ。③と④は、Key Stream をシフトし再構成する手順だ。⑤と⑥は、出力( Ciphertext Stream )を反転させると、次の Key Stream になることを示している。「表3 3ビットLFSRモデル検証例(4サイクル)」は、3ビットモデルで初期値が「110」のケースで4サイクル実行した例だ。縦の橙枠が、「11111」の Idle コードがスクランブルされた結果だが、期待通りランダム化されている。また、Key Stream は、-1=7 サイクルで循環していることが分かる。

図11 3ビットLFSRモデル検証例
表3 3ビットLFSRモデル検証例
  • Key Streamの EXOR 演算結果
  • Key Stream演算結果と入力(全て「1」 )の EXOR 演算結果
  • スクランブルキーは全ビット右にシフト
  • 空いた左端ビットに直前の演算結果を挿入
  • Key Streamを抽出するため、Ciphertext Stream を受信側で反転
  • 反転出力は、次のKey Streamと一致
表2 3ビットLFSRモデル検証例(4サイクル)
表4 3ビットLFSRモデル検証例(4サイクル)

スプリットライン

マイクロストリップラインとストリップラインの計算式は下記を参照いただきたい。

図12 マイクロストリップライン
図12 マイクロストリップライン
図12 マイクロストリップライン
図13 ストリップライン

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。