悪霊にさいなまれる世界 -The Demon-Haunted World

30代独身機械系技術者が雑記/セキュリティ/資産運用なんかを書きます/PGP・GPG Key:BC884A1C8202081B19A7A9B8AB8B419682B02FF8

MVNOを使っているSIMフリースマホでIPv6接続する方法

数日前、今さら(そう、2010年代もあと一ヶ月強の今さら!)IPv4枯渇についてTwitterが話題になっていた。発端となったのはヨーロッパでのIPv4が完全に枯渇し、割当が終了したというツイートである。

 日本を含むアジア太平洋地域は何年も前に割当が終了しているので関係はないのだが、話題とはだいたいそんなもんである。

さて、固定回線ではIPv6への以降がジワジワと進んでいるが、携帯回線、特にMVNOではどうなのかというのが本題である。結論的に言えば「ほとんどの場合IPv6が使えるが、デフォルトで設定されていないので使われてない」となる。

www.itmedia.co.jp

必要な情報は全て上のニュースで説明されているが、つまりAPNの設定を変更してIPv4とv6の両方を使うようにすればよい。下記説明する。

なお環境はAndroid 9.0、某社SIMフリースマホである。他バージョンやiPhoneでも多分似たような設定があるはずなので各位適当にトライして欲しい。また接続を確認したMVNOはDMM mobileとIIJ mioである。

まず、リモート診断君v6に接続して環境を確認してみる。"via IPv4"と表示されるはずだ。

リモート診断君v6 - IPv6対応ウェブ環境変数チェッカー

確認したならサクサク進めていこう。説明画像はアップロードが面倒なのでTwitterの呟きを利用する。

「設定」→「モバイルネットワーク」→「詳細設定」→「アクセスポイント名」→指定のAPNを選択→「APNプロトコル」と「APNローミングプロトコル」を「IPv4」から「IPv4/IPv6」に変更→「保存」

これでもう一度リモート診断君に繋ぎ直してみれば、"via IPv6"と表示されるはずだ。

言うまでもないがこれで得することは何もない。踊っているカメをみることができるぐらいである。あなたや私の人生と同程度の意味しかない。つまり無意味と言うことだが。

The KAME project

どのMVNOでは成功したか、しなかったかなどを適当に報告したり呟いてしてみてもいい。各位の健闘を祈る。

ETCのセキュリティを調べてみた(けどよく分からなかった)

かつて、「料金所渋滞」という概念が存在したらしい。

「これから話すことは、きみたちにはきっと信じられないことだろう」

いにしえのドライバーたちは笑いながら語る。

「しかし歴史を知らないと、過去の事実はたいてい信じられないことのように思えるのだよ」

つまり有料道路の料金所で、一台一台料金を現金で支払うことにより車両の流れが悪くなり、本線まで渋滞が生じるという現象が前世紀末~今世紀初頭まで起きてらしい。信じがたいことである。

さて現代では何故この言葉が死語となったのか、それはETCの使用が当然となったからだ。時速20kmまで減速しなければならないが、それでも一時停止、支払いというシーケンスが必要な手動決済よりははるかに効率が良い。

 

本題に入ろう。このETC、はっきりした年度は不明だが、遅くとも2030年頃までに古い車載器はセキュリティ上の理由から使用できなくなるとアナウンスがされている。

www.mlit.go.jp

いい機会なのでETCの(特に車載器の)セキュリティについて調べてみることにした。…が、結論から言うと守秘の壁が厚くて不明である、と言うことになる。

IPAの資料(末尾参照)や出典となった沖電気の資料によれば、車載器の基本構造は

    1. RFモジュール(送受信部)
    2. DSRC送受信信号処理部
    3. 課金情報処理部
    4. ヒューマンインターフェース部

f:id:scienceasacandleinthedark:20190907190506p:plain

 

となっている。問題のセキュリティは3の課金情報処理部、ICカードとデータをやりとりするSAM(Secure Application Module)が関連している。

…がしかし、このSAM、素性が全く分らない。耐タンパー性のある内容非公開のチップで、各車載器メーカは購入して使用しているとのことだが、製造メーカすら分らない。

それでは規格から攻めてみるか…と思いきや、こちらも完全にブロックされている。ETCシステムの管理運営を行う道路システム高度化推進機構(ORSC)とNDAを結ばない限り、規格書の類いは一切公開されないと言う。関係しそうな資料の目次だけはNEXCO総研のサイトでも見られるのだが。

www.ri-nexco.co.jp

と言うわけで内容を調べるのは諦める。が、何故変更となるのか、を推測することはある程度出来る。

日本でETCが一般に開放されたのが2001年3月。となると当時使われていた暗号アルゴリズムは公開鍵ならRSA-1024、共通鍵ならDES、ハッシュ関数MD5あたりと推測できる。これらは全て現代では安全とは見なされない…が、車載器のSAMチップに書き込まれているのであればアップデートは出来ない。そういうわけでどこかで更新が必要と判断されたのであろう。ではそれの判断はいつ頃か? ヒントとなりそうなのは車載器…特にETC2.0対応車載器の新旧セキュリティ見分け方である。

 

f:id:scienceasacandleinthedark:20190907192250p:plain

「旧」規格品には■マークが付けられて、「新」規格品ではそれはない。と言うことは、旧規格品を作ったときには既に新規格への移行を想定していたと考えるのが妥当だろう。ETC2.0は2009年に実験モニターが始まったらしい。また、当時は「暗号アルゴリズム2010年問題」というのも話題になってたはずである。となるとこの段階で新セキュリティ規格への移行を考え始めた、と考えられる。

 と言うわけで残念ながらすっきりしない結果に終わった。廃車から車載器を剥がしてこれればどれがくだんのSAMチップなのかわかるかもしれないが…さすがにそこまでする気力はないので誰かお願いします。

 

参考:

IPA 組込みシステムの脅威と対策に関するセキュリティ技術マップの調査報告書
「第9章ETC」
https://www.ipa.go.jp/files/000013819.pdf

ETC総合情報ポータルサイト 「ETCのセキュリティ規格の変更について」
https://www.go-etc.jp/support/pdf/security_standard.pdf

雑記:漫画「軍艦無駄話」を買った

www.hakusensha.co.jp

タイトルどおり。1年に3巻出る「楽園」と「楽園Web増刊」に連載されていた「軍艦無駄話」のコミック版である。

「楽園」は新感覚恋愛コミック(?)らしいがとにかく面白い作品が沢山あるのでオススメ。個人的に好きなのは久米田康治kashmir位置原光Zシギサワカヤpanpanya中村明日美子(敬称略)あたりである。

ちょうど夏のWeb増刊(試し読みではない)がリリースされているので、是非読んでみて欲しい。少し左下の「Web増刊へGo」というウサギのアイコンが入口である。

www.hakusensha.co.jp

小ネタ:RaspberryPi 3B+のWiFiとBluetoothを無効化した

f:id:scienceasacandleinthedark:20190801184150p:plain

大学時代、マクスウェルの方程式が理解できずに電磁気学の単位を落としたので無線通信を未だに信用できてない。というわけで可能な限り有線主義者なのでRaspberryPiも当然有線LANである。そして繰り返しになるが、使わない機能はOFFにするのがセキュリティの基礎となる。

そういうわけでRaspberryPi 3B+のWiFiBluetoothを無効化した。/boot/config.txtを開いて下記三行(最初の一行はコメント)を追加する。

#WiFi and Bluetooth Disable
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt

これで再起動する。WiFiの無効化はip a sでwlan0が無いことを、Bluetoothの無効化はsyslogを見ると再起動時にワヤワヤ出てなければ起動してないはずである(適当)

以上。

SyslogにDHCPv6 REPLY: No Addresses Availableというエラーが連発するのでdhcpd.confを弄ってみた

f:id:scienceasacandleinthedark:20190716212551p:plain

science-as-a-candle-in-the-dark.hatenablog.com1時間ほど前にRaspbianを最新版にして、様子を見てたところSyslogに下記のようなエラーが定期的に出ている。

Jul 16 21:00:31 raspberrypi dhcpcd[303]: eth0: DHCPv6 REPLY: No Addresses Available
Jul 16 21:00:31 raspberrypi dhcpcd[303]: eth0: DHCPv6 REPLY: No Addresses Available
Jul 16 21:00:32 raspberrypi dhcpcd[303]: eth0: DHCPv6 REPLY: No Addresses Available
Jul 16 21:00:32 raspberrypi dhcpcd[303]: eth0: DHCPv6 REPLY: No Addresses Available

なんぞようわからんが、ifconfigをかけてみると普通にIPv6は設定されている模様。うーむと思いつつArchLinuxWikiを見てみたところ、こんな記述が。

IPv6 - ArchWiki

dhcpcd は (無害ですが) IPv6ルーター要請を送信し続けます。

多分これだろうと見当を付けて/etc/dhcpcd.confに下記2行を追加

noipv6rs
noipv6

しかる後再起動。するとSyslogからエラーが消えた。IPv6が使えなくなったわけでもないので多分これで正解だろう。

RaspberryPi 3B+のRaspbianをDebian Busterベースの最新版(2019-07-10版)に変更して、TorのIdentity Keyをそのまま移し替える

f:id:scienceasacandleinthedark:20190716195635j:plain

Max Pixelより

RaspberryPi 4Bのリリースと、Debian Busterのリリースに合わせてRaspbianもBusterベースになった。丁度いい機会なのでRaspbianからまるごと入れ直す。

Download Raspbian for Raspberry Pi

基本的にはかつて書いたRaspberryPi 1B再設定と、RaspberryPi 3B+にTor公式リポジトリを追加したときと同じことをすれば良い。

RaspberryPi(初期モデル 1 Model B)初期設定、Ed25519鍵使用メモ - 悪霊にさいなまれる世界 -The Demon-Haunted World

RaspberryPi 3B+に公式リポジトリを追加して最新のTorを入れてリレーノードを構築した - 悪霊にさいなまれる世界 -The Demon-Haunted World

が、Tor公式リポジトリの指定をstrechではなくbusterにしなければならない。/etc/apt/sources.listは下記の通り変更する。

deb https://deb.torproject.org/torproject.org  buster main
deb-src https://deb.torproject.org/torproject.org  buster main

あとは前回と同じである。しかしこれで普通にTorをインストールしたままだと、新規に作成されたTorリレーのアイデンティティとなり、Torリレーとしての連続性が保たれない。

別に気にしないのであればそのままで良いのだが、せっかくなのでアイデンティティを引き継いでみよう。

前項記事ラストでバックアップしておいたtor_keys_raspi.tar.gzをコピーして解凍する。

tar -xzvf tor_keys_raspi3b.tar.gz

ディレクトリ構造がそのまま記録されているので、Identity Keysは結構下のディレクトリにある。バックアップするときに気を使えばよかったのだが今さら過ぎるので諦めよう。

cd var/lib/tor/keys/
sudo mv * /var/lib/tor/keys/

これで全てのファイル(9個ぐらいあるはず)が所定のディレクトリに移動された。ホームのディレクトリは邪魔なので消しておこう。

cd /home/pi/
sudo rm -r var/

さて、これで良し、というわけではない。Identity Keysの所有者を変更する必要がある。この状態ではユーザもグループもpiになっているはずだ。lsコマンドで確認してみる。

sudo ls -l /var/lib/tor/keys/

これを両方ともdebian-torに変更する。ユーザ・グループの変更はchownコマンドで行う。-Rオプションでディレクトリごと変更してしまおうのが簡単だ。

sudo chown -R debian-tor:debian-tor /var/lib/tor/keys/

再度lsコマンドで確認すれば所有者が変更されているはず。torを再起動して/var/log/syslogを見れば、" Your Tor server's identity key fingerprint is ホニャララ"でかつてと同じFingerprintが表示されているはずだ。いじょ。

Serow 250を整備した

足代わりの単車、セロー250(FI)を整備したので自分用メモ。

ODD:14626km

TRIP:5376.6km(前回オイル交換時リセット)

 

交換部品

プラグ:DR7EA 締付トルク18Nm

エアフィルタ:5XT-14451-00

オイルフィルタ:5TA-13440-00

オイルフィルタOリング3つ:

  • 93210-54175 ボルト締付トルク10Nm
  • 93210-07135 x2 ボルト締付トルク10Nm

ドレンボルト用銅ワッシャ:汎用品(在庫あり)  ボルト締付トルク20Nm

 

次回の注意点

オイル注ぎ口ボルト用Oリング:93210-19123も交換する。

プラグレンチは二面幅18mmのちゃんとしたやつを買って回転角でなくトルクも見る。