スクランブラ
スクランブラは、100BASE-T1 が動作時にコネクタやケーブルから放射する妨害波(EMI)を抑えるために実装された機能だ。電磁妨害波が他の機器の誤動作を引き起こすため、米国の FCC や日本の VCCI 等で厳しく規制されている。
日本の VCCI では、「図1 放射妨害波の測定例」の様に被測定物を回転させ、測定物から放射される 30MHz から 1GHz 迄の電波を測定する。測定範囲の電波強度を積算し、規制値を超えると製品を出荷できない。米国の FCC は法規制で、適合しないと米国に輸出できない。日本の VCCI は業界の自主規制だが、実質的に適合しない製品は流通できない。「図2 放射妨害波の強度イメージ(不適合)」の様に平均レベルに十分余裕があっても、1箇所でも規制値を超えると「不適合」になる。放射妨害波の総エネルギーを抑えることが難しいため、エネルギーを分散させピークを下げる手法をとることが多い。スクランブラは伝送媒体上のデータをランダムに変換し、特定の周波数へのエネルギー集中を回避する手法だ。特にフレーム間ギャップは「1」が連続するため同じ周波数の変化が続き、一部の周波数にエネルギーが集中する。スクランブラでフレーム自体とフレーム間ギャップ信号をランダム化することで「図3 放射妨害波の強度イメージ(適合)」の様にピークを下げることができる。
スクランブラへの入力を平文ストリーム(Plaintext Stream)と呼ぶ。スクランブラは平文ストリームとキーストリーム(Key Stream)の演算を行い、暗号文ストリーム(Ciphertext Stream)を作る( 「図4スクランブラの構造」 )。演算は一般的な EXOR(Exclusive or:排他的論理和)だ。キーストリームの生成には、LFSR(Linear Feedback Shift Register :線形フィードバックレジスタ)と呼ばれる仕組みを使用する。この仕組みはハードウェアで簡単に安く作れるため、100BASE-TX だけではなく、放送や通信などの様々なところで使われている。LFSR は平文ストリームが分かると簡単にキーストリームを解読できる。この特性を使い 100BASE-TX はスクランブル解除を行うが、暗号としては脆弱だ。単独の LFSR は線形システムで比較的簡単に解読されるため、様々な工夫を加え今でも携帯電話等の暗号等に使われているようだ。
LFSR はビット長により幾つかの方式がある( 「表2 LFSR 一覧(抜粋)」 )。100BASE-T1 は 11ビット長の多項式を使用する(赤枠内)。11ビット多項式の見方は、 「表2 LFSR 一覧(抜粋)」Taps 項のように右端が1ビット目で、9ビット目と11ビット目が「1」になる2進数を表している。この多項式で生成される数列は一定の周期で繰り返される。
100BASE-T1 スクランブラ生成多項式:++1
100BASE-T1 の 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回(-1)で一巡する。

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

LFSR は平文ストリームが分かっていると簡単にキーストリームを割り出すことができる。この特性を使い、受信側はキーストリームを割り出すことになる。都合の良いことに、フレーム間ギャップの「Idle」状態では、4B3B 変換された 3B データは常に「111」であることが分かっている。
「図5 11ビット長 LFSR キーストリーム生成」のスクランブル構造を数式に書き換えると「図7スクランブルと解除演算式」の様になる。フレーム間の「Idle」状態では、暗号文ストリームはキーストリームの反転信号になっている。つまり、「Idle」期間に受け取った暗号文を反転すれば、そのままキーストリームに使用できる。

11 ビットの LFSR での動作検証はデータ量が大きすぎるため、「図8 3ビットLFSRモデル図」の 3 ビットLFSR モデル( 「表2 LFSR 一覧(抜粋)」青枠 )で検証してみたい。
「図9 3ビットLFSRモデル検証例」は、3ビットモデルの初期値には「110」を与えた検証例だ。①と②は、Key Stream/Plaintext Stream から Ciphertext Stream を演算する手順だ。③と④は、Key Stream をシフトし再構成する手順だ。⑤と⑥は、出力( Ciphertext Stream )を反転させると、次の Key Stream になることを示している。「表4 3ビットLFSRモデル検証例(4サイクル)」は、3ビットモデルで初期値が「110」のケースで4サイクル実行した例だ。縦の橙枠が、「11111」の Idle コードがスクランブルされた結果だが、期待通りランダム化されている。また、Key Stream は、-1=7 サイクルで循環していることが分かる。
- Key Streamの EXOR 演算結果
- Key Stream演算結果と入力( 全て「1」 )の EXOR 演算結果
- スクランブルキーは全ビット右にシフト
- 空いた左端ビットに直前の演算結果を挿入
- Key Streamを抽出するため、Ciphertext Stream を受信側で反転
- 反転出力は、次のKey Streamと一致


送信側スクランブラは「疑似ランダム値」でスクランブルをかける。「本当のランダム値」でスクランブルをかけると、受信側で解読できないからだ。スクランブルの目的は暗号化ではなく、放射ノイズを抑えることが目的で、この目的に合致している。
疑似ランダム値は局所的にはランダムに見えるが、実際には周期的に変化しているだけだ。3ビット LFSR では 7 コードパターン「0010111」を繰り返すかなり繰返し周期が短い。
繰り返しサイクルは伝送速度により異なる。100BASE-T1 は 11 ビット、1000BASE-T1 は15 ビットで、伝送速度が 10 倍で繰り返しサイクルは 16 倍になる。つまり、 1000BASE-T の繰り返し時間は 100BASE-T の 1.6 倍になる。これを考えると、1000BASE-T は 33 ビットと異常に長く、繰り返し時間もかなり長い。
基礎から学ぶ車載 Ethernet
-
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(1)車載 Ethernet 物理層
概要 Ethernet を底辺で支えているのが物理層だ。物理層の基本機能は、0と1で表現されるデジタルデータを電気信号や光パルスに変換し媒体を介して通信することだ。OSI 階層では最下層に相当する。第2層以上の論理層と最 […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(2)SPE( Single twisted Pair Ethernet )
SPE( Single twisted Pair Ethernet ) 従来の汎用 Ethernet は、RJ45 コネクタと 2対または 4対の UTP ケーブルで機器間を 1対1 接続するトポロジを採用している。車載 […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(3)物理層規格
解説対象規格 Ethernet は40年以上に渡り規格が追加・修正された歴史がある。10Mbps の 10BASE5 から始まり、400Gbpsまで拡張されている。車載ネットワークを対象とする 10Mbps から1000 […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(4)「10BASE-T1S」 概要
10BASE-T1 登場の背景 汎用 Ethernet はオフィス、産業分野や通信キャリアで広く使われている業界標準の通信規格だ。パソコンやプリンタなどの機器にも標準実装されている。技術的にも完成し最も低価格な通信方式の […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(5)「10BASE-T1S」 4B5B/DME/PAM2 変換 / フレーム構造
4B5B/DME/PAM2 変換 汎用 Ethernet の 10BASE5/2/-T は、伝送路上のフレーム間ギャップは無信号状態になっている。これは、1本の伝送路を複数ノードで共有する方式のため、信号の衝突を避けるた […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(6)「10BASE-T1S」 PLCA
PLCA 10BASE-T1S のマルチドロップ環境(Mixing Segment)では、複数ノードが半 2重通信でバス接続される。複数のノードが同時に通信を開始しようとした場合に衝突回避のため、衝突回避機能 PLCA( […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(7)「100BASE-T1 」概要
100BASE-T1 登場の背景 永年に渡り車載ネットワークの主役は CAN だ。2012年に CAN FD が公開されるまでは、CAN の伝送速度は 1Mbps だった。2002年に CAN より高速な FlexRay […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(8)「100BASE-T1 」4B3B/3B2T/PAM3 変換 / フレーム構造
4B3B/3B2T/PAM3 変換 初期の 10BASE5/2/-T は、伝送路上のフレーム間ギャップは無信号状態になっている。これは、1本の伝送路を複数ノードで共有するバス方式のため信号の衝突を避けるためにはデータを送 […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(9)「100BASE-T1 」スクランブラ
スクランブラ スクランブラは、100BASE-T1 が動作時にコネクタやケーブルから放射する妨害波(EMI)を抑えるために実装された機能だ。電磁妨害波が他の機器の誤動作を引き起こすため、米国の FCC や日本の VCCI […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(10)「1000BASE-T1」概要
1000BASE-T1 登場の背景 2015年に 100BASE-T1 の標準化が完了したが、当時から 100Mbps では帯域不足との指摘があった。主な理由はカメラ映像の伝送だ。既に実用化された 100BASE-T1 […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(11)「1000BASE-T1」符号変換の概要 80B81B / RS FEC
初期の 10BASE5/2/-T は、伝送路上のフレーム間ギャップは無信号状態になっている。これは1本の伝送路を複数ノードで共有するバス方式のため、信号の衝突を避けるにはデータを送信していない期間を無信号にする必要がある […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(12)「1000BASE-T1」符号変換 スクランブル/3B2T/PAM3 変換
3B2T/PAM3 次に、3B2T/PAM3 変換の手順を説明する。 「図1 1000BASE-T1 符号化処理」は、3B2T/PAM3 の一連の信号変換の例だ。伝送クロックは 750MHz で、GMII の 125MH […] -
4-4.基礎から学ぶ車載 Ethernet 技術
基礎から学ぶ車載 Ethernet 技術(13)「1000BASE-T1」OAM / フレーム構造 / 上位層制約事項
OAM OAM(Operation / Administration / Maintenance)は、送信側 PHY と受信側 PHY がお互いの PHY リンクの健全性ステイタスを交換するために使用する。OAM は 1 […]