香川県のゲーム1時間条例パブコメのアドレスが192.168.7.21だった件の技術的解説

こういうツイートが先日盛り上がりました。

結論を先に言うと、

  • 「プライベートIPが書かれていた」ことは、「内部から投稿された」という証拠にはなりません
  • 「パブコメが書かれた紙にプライベートIPも書かれていた」という事実からは「何も分からない」が技術的に正確な回答です
  • ただし、経験的には「たぶん設定や実装がミスってて、実際は違う端末からでの回答であってもほとんどの回答に同じローカルIPが記載されることになった」という背景が伺えます

以上、なぜそうなるかという技術的な詳細をITの知識ゼロな人たち向けに解説してみたいと思います。長文です。

本記事は何ら政治的な事柄は含んでおりません。政治的っぽく見えるキーワードは単に説明の例として使用しているだけで、もっぱら技術的な解説を目的とした記事になっています。なので、今後新しい事実が分かってもこの記事は特に修正しません(趣旨が技術解説なので修正する必要がありません)。なるべく分かりやすく説明するために、残念ながらすこし正確性を犠牲にした部分もありますが、まあ、じっくり読み物として読んで頂ければ。

IPアドレスとは何か

まず、IPアドレスというものがあります。これはコンピュータ(具体的にはサーバ、PC、ゲーム、TV、スマホなどをここでは意味します)のインターネット上での住所を表すための文字列で、「13.225.16.547」などのドットで区切られた4つの数字の組になってます。各数字は1〜255までを取りえます(なので左の例は現実には存在しないIPです。以降の例も同様)。厳密に言うと全ての数字をコンピュータに付与するアドレスとして使えるわけではないのですが、そのへんの説明は割愛します。インターネットに接続されたコンピュータには全てこれが与えられます。与えられないとインターネット上では通信ができません。また、住所ですからIPアドレスはありません(重複しないように国際的に管理されています)。

このIPアドレスは何に使うかと言うと、インターネット上でデータのやり取りをする時にデータの送受信先として指定するのに使います。住所が無ければ郵便でのやり取りが出来ないのと同じように、IPアドレスが無いとインターネットに繋ぐことは出来ません。

プライベートIPアドレス、グローバルIPアドレスとは何か

ここで困ったことが発生します。前述のIPアドレスの仕組みで扱える住所の数は255×255×255×255=約42億です。インターネットに接続できるコンピュータの数は約42億、これはちょっと心もとない数字ですね。世界人口は六十数億人いますし、企業や研究所は沢山のコンピュータを持ってますし、一人で何台もPCやスマホを持っている人もいます。42億では足りませんね。

それを緩和させる一つの方法として「プライベートIPアドレス」というのがあります。これは、

  • 10.0.0.0 – 10.255.255.255
  • 172.16.0.0 – 172.31.255.255
  • 192.168.0.0 – 192.168.255.255

のアドレス範囲は特別扱いとし、組織内や家庭で自由に使えるアドレスとしよう、と決めたものです(ちなみに通常のIPアドレスは日本の場合JPNICという管理機関に申請して割り当ててもらう必要があります)。自由に決めれるので、違う組織やネットワークで同じプライベートIPアドレスが割り当てられていても問題ありません。同じネットワーク内に同じプライベートIPアドレスがあると流石に問題ですが。

一方でプライベートIPアドレス以外の普通のIPアドレスを「グローバルIPアドレス」と呼ぶこともあります。グローバルIPアドレスはインターネット上に存在しますが、プライベートIPアドレスはインターネット上には存在しません。したがって、プライベートアドレスを割り当ててもそれだけでインターネットにつながってデータのやり取りが出来るわけではありません。

どうやってプライベートIPアドレスでインターネットと接続するのか

インターネットとつながらないのでは意味が無いのでは?という疑問が出ますね。それは、NAT(Network Address Port Translation)という仕組みを使うことで解決できます。NATというのは簡単に言うと、プライベートなネットワークの中で代表者を一人決め、その人にだけグローバルIPを付与し、その人に通信を中継してもらおうというアイディアです。複数のコンピュータに対して一人の代表者だけグローバルIPアドレスを付与すればいいなら、グローバルIPアドレスは節約できますね。現代のインターネットはこうやってグローバルIPアドレスをケチって使っているのです。

ちなみに、IPアドレスそのものを拡張して約340澗(1澗は1兆×1兆×1兆)個のコンピュータを接続できるようにしたIPv6というものがあり、普及がすこしずつ進んでいます。このアドレスは砂粒一つ一つに割り当てていった場合、太陽と同体積の砂まで割り当てが可能と聞いたことがあります。詳細は割愛します。

上図は一般的な家庭のネットワークの模式図です。普通はルーターがNAT(つまり仲介役)機能を担います。プロバイダ側がNATをする接続方法もあったりします。NATを行うデバイス(この場合はルーター)は、インターネット向けのグローバルIPとプライベートネットワーク向けのプライベートIPの2つを持っています。

ルーターには有線のLANやWifiでスマホやテレビ、ゲーム機、PCなどがつながっています。各機器にはプライベートIPアドレスがルーターの機能によって自動で割り当てられます(自分で決めることももちろん出来ます)。例えばIPアドレスが192.168.0.4のスマホがインターネット上のとあるWebサイトを提供する、13.223.45.256というIPアドレスをもつサーバ(これも「コンピュータ」の一つです)に向けてデータを送る時、

「送信元:192.168.0.4(スマホ)、送信先:13.223.45.256(サーバ)、データ:"http://xxx/yyy/zzz"のWebページを表示するのでデータを下さい」

と、このような通信を送ります(簡略化すると)。宛先と差出人が書かれた手紙とまったく同じですね。この通信はルーターのローカル側IPアドレスに到達し、ルータはNATでアドレスの変換を下記のように行います。

「送信元:123.45.56.789(ルーター)、送信先:13.223.45.256(サーバ)、データ:"http://xxx/yyy/zzz"のWebページを表示するのでデータを下さい」

つまり、「自分が送ったことにする」のですね。この通信がサーバに届き、サーバは「送信元」つまりルーターのグローバルIPアドレスに対して下記のような返事を送ります。

「送信元:13.223.45.256(サーバ)、送信先:123.45.56.789(ルーター)、データ:"http://xxx/yyy/zzz"のWebページのデータを送ります: xxxxxxxx....」

これは宛先がルーターになっています。サーバからは仲介者であるルーターが発信元に見えるからそこに返信するのは当然ですね。返信を受け取ったルーターは、スマホに対して

「送信元:13.223.45.256(サーバ)、送信先:192.168.0.4(スマホ)、データ:"http://xxx/yyy/zzz"のWebページのデータを送ります: xxxxxxxx....」

と、送信先をスマホに書き換えて返信を返します。このようにルーター(NAT)が送信元アドレスや送信先アドレスを変換しているので、NAT(Network Address Port Translation)と言います。

ちなみに、補足ですがローカルネットワーク上のコンピュータ同士はそれぞれ直接通信することが出来ます。例えばスマホのYouTubeアプリからテレビに動画をキャストできますが、これは「この動画を表示してね」という要求をスマホからテレビに直接送っているからです。

DNSとは何か

以上でみなさんはIPアドレスの基本的なところを理解しましたね。でも、「IPアドレスなんて見たこと無いよ!」と思う人がほとんどだと思います。それは当然です。

だって、「13.456.74.15」みたいな数字の羅列なんか覚えられないでしょ?だから、人間が分かりやすいように考え出されたのがDNS(Domain Name System)というやつです。この仕組みは非常に単純で、「人間が見てわかりやすい文字列とIPアドレスを対応付ける」ということです。電話帳と同じですね。最近は電話帳自体見ないので若い人は知らんかもしれませんが…。ともかく、人間が日常的によく使い、見る機会が多いのはこのIPアドレスに対応する「名前」のほうです。

電話帳でピンとこない人はスマホの中に入っている連絡帳でもいいです。連絡帳には人の名前と電話番号が入っていますね。電話番号を覚えるのは難しいですが人の名前ならば覚えやすいですね。だから電話番号を覚える代わりに人の名前を覚えておいて、人の名前と電話番号のペアをたくさん集めた連絡帳を引けば電話番号が分かるという仕組みにしておいたら便利ですね。だからインターネットもそのようになっています。(実際にDNSを使うことで得られる恩恵はこれだけではなくもっと色々ありますがそれも割愛します)

たとえばグーグルで検索したい、グーグルのホームページを表示したいという時は、GoogleのIPアドレスを知る必要がありますが、普通の人はそんなもん知りませんよね。私も知りません。でも、「https://www.google.com/」というアドレスは見たことありますよね。このアドレスをブラウザに入力するとグーグルのホームページが表示されますね。これは、裏で「www.google.com」というサーバの「名前」を「IPアドレス」に変換しているからです。それをやってるのがインターネット上に存在する巨大な連絡帳、DNSサーバーであります。DNSという連絡帳機能を提供するでっかいサーバーがあちこちにあって、その一つを使っていると思って下さい(正確な説明ではないですが、そんなイメージで大体合ってます)。また、DNSサーバー自体はIPアドレスで覚えておくしかありませんが、そのあたりの細かいことはOSその他がうまいことやってくれるので、人間が覚える必要はありません。

例えば、DNSサーバーに「www.google.comに対応するIPアドレスは?」と聞くとIPアドレスを教えてくれます。Linuxを使うとこのDNSの仕組みをダイレクトに触って「www.google.comに対応するIPアドレスは?」と聞くことができます。具体的には、「nslookup」というコマンドを打ちます。

すると、ちょっと知らないと分かりづらいですが「www.google.comというサーバー名に対応するIPアドレスは172.217.25.100です」という回答をDNSが返してくれました。ちなみに、自分もnslookupしてみたい!という奇特な方は、こちらでも同等のことができます。ブラウザのアドレス欄に「https://www.google.com/」と打ってEnterキーを押した時、裏ではこのDNSへの問い合わせが走ってIPアドレスを導き出し、そのIPアドレスに対して通信を行っています。

この、「www.google.com」をドメイン名と言います。正確にはこれはFQDNと呼びますが、ここではどうでも良いので詳細は省きます。

ドメイン名も当然ながら、重複は許されません。インターネット上にただ一つ存在します。このブログのアドレスはanopara.netになっていますが、これは私がお金を払ってこの名前を使う権利を買ってるからこのアドレスを使えます。私がちゃんとこの費用を払っている限り、他の誰もanopara.netを使う権利は無いわけです。

パブコメの発信元が「プライベートIP」だったということはどういうことなのか

さて、ようやく掲題の説明に入ります。

「プライベートIP」とはインターネット上には存在しない、家庭内や会社内など個人が組織が自由に使っていい(ただしそのままではインターネット上のサーバと通信できずNATなどの仕組みが要る)アドレスだと説明しました。

では、「プライベートIPからパブコメが飛んできた」とは何を意味するのかと言うと、「サーバと同一のネットワーク内にあるコンピュータから送られた」ということを意味しているので、内部の人間が好意的なパブコメを大量に送りつけたはずだ、というのが冒頭のツイートの主張です。図にするとこんな感じです。

以降、「心にもない賛成のパブコメを大量に送りつけた内部の人、おそらく行政機関職員」が居たと仮定し、彼のことを「工作員」、彼がやったことを「政治工作」と呼ぶことにします。

で、「サーバと同一のネットワーク内にあるコンピュータから送られた、つまり内部の工作員が政治工作した」という指摘の問題点は多くの仮定を置いているという点です。図中にも「たぶん」と書いていますが、ここが成り立ってないと説明が成り立たないのです。しかし、ここは外部の人間からはブラックボックスで推測するしか無いのです。ということで「政治工作員がプライベートネットワークからパブコメを投げた」と言うためにはあまりにも多くの都合のよい仮定を置いていると言えます。

そもそも、パブコメが書かれたあの紙に書いているIPアドレスが「発信元のIP」を意味しているかどうかもわからないのです。おそらく発信元だろうとは言えますが、あの紙に書かれている事は何か書式の決まった標準的な規格であるわけでもありませんし、単に発信元の情報の記録を取るために適当な仕様を決め、それを実装したもの(これも推測でしか無いです)なので「何のIPアドレスを表示しているか」なんて外部の人間には分かるはずがありません。このIPあどれすはこうだ、と決めている人は上に書いたように沢山の仮定を置いてしまっています。でも仮定は仮定で、それがどんなに自然と考えられる蓋然性の高いものだったとしても、証拠にはなりえません。裁判で証拠と認めさせれば司法上の証拠にはなりますが、ここで言っているのは技術的な話です。

ですから技術的に正確に言うならば、「分からない」というしかないのです。

そして、重要なことはたとえ内部のネットワークからアクセスしたとしても上図のような経路を辿るとは考えにくいのです。次はそれを説明します。

そもそもプライベートネットワーク内からアクセスしてもプライベートIPアドレスが記録されるとは思えない

ここで、あのパブコメの紙に書かれているIPアドレスが「発信元のIPアドレスである」ことが正しいと仮定しましょう。さらに、プライベートネットワーク内にはパブコメを送るフォームを提供するためのサーバがあり、同一のネットワークからそのフォームにパブコメが送った人が居たとしましょう。この2つはそこまで変な仮定ではありえません。でも、その仮定を置いたとしてもプライベートIPアドレスが発信元として記録されるという状況はそもそも考えにくいのです。言い方を変えると、たとえ組織内部の人がパブコメを送ったとしても、普通はプライベートIPアドレスが発信元として記録されないのです。それを説明します。

まず、前述の「たぶん」なプライベートネットワークをもうすこし詳細に書くと、下記のような感じになってると思われます。これは教科書的なネットワーク設計で、ほとんどの組織内ネットワークはこんな感じの設計になっているんじゃないでしょうか。

少し解説をすると、「ファイヤウォール」というのは聞いたことがある方も多いと思いますが、まあ「よろしくない通信を遮断するための機械」と思って下さい。インターネット、サーバ側、職員が使うPC側と3つに分かれているところがポイントです。これによって、「外部に公開するサーバ」と「外部に公開したくない、職員のPCなどがつながっているネットワーク」を論理的に分けることができます。分けると何が嬉しいのでしょうか?

例えば、内部情報を盗もうとする悪いハッカーが居たとしましょう。ハッカーはまず、攻撃しやすいサーバーを狙います。なぜならば外部に公開されていてアクセスを受け入れているコンピュータなので比較的侵入しやすいからです。そしてサーバーに侵入したとき、続けて目的の情報が格納されている職員のPCやファイルサーバーを狙うことでしょう。この時、もし職員のPCや重要な情報が格納されているサーバーが外部に公開されているサーバーと同じネットワークに入っていたら当然アクセスできてしまいますね?これはだめですね。

でも、上図のようにネットワークが分かれていたら、ファイヤウォールで「外部に公開するサーバから内部の職員のPCなどが所属するネットワークへのアクセスは遮断するよ」というルールを決めておくことで通信を遮断できて被害が外部に公開するサーバだけで抑えられますね。と、こういうことを狙ってこのような構成にすることが多いです。ちなみに、この外部に公開するサーバーが所属するネットワークのことを「DMZ」と呼んだりします。

あるいは、下記のように2回線引いて完全にネットワークを分けてるかも知れません。

そもそも「サーバが置いてあるネットワークと内部工作員が居るネットワークが同じ」というのも仮定ですからね。違う可能性もあります。ただ、重要なことは「ほとんどの組織では内部で使っているPCは直接インターネットに面しておらず、NAT(またはプロキシサーバ)を経由している」という事実です。そうなっていない組織は私は見たことがありませんし、絶対ないとは言いませんが9割9分くらいはNATもしくはプロキシサーバ越しにインターネットにアクセスしているはずです。プロキシサーバという単語は初めて出てきましたが、すごく雑な説明をするとNATと似たような仕組みをもった代理人の役割をする装置と思って下さい。以降の議論が説明が大変なので「NAT」だけ取り扱うことにしますが、プロキシサーバでも同様の結論になります。

で、上のどちらのパターン、あるいは他のパターンであったとしてもその「NATもしくはプロキシサーバ越しにアクセスしている」という前提が成り立つ限り、「内部からパブコメを送ったとしてもローカルIPが発信元になることは考えにくい」のです。

これは先に説明した「NAT」と「DNS」の仕組みを考えればわかります。

政治工作員が「ここのWebサイト(仮にhttps://www.pref.kagawa.lg.jp/だったとします)のフォームから条例の賛成意見を沢山送ってね」という司令を受け取ったとしましょう。そして内部のネットワークに所属したPCからそれをやったとしましょう。その時工作員が取る行動は、

  1. PCを立ち上げる
  2. ブラウザを立ち上げる
  3. https://www.pref.kagawa.lg.jp/ のWebサイトを表示する
  4. 賛成意見を送る
  5. 4.を繰り返す

になるはずですね。

ここで、3.を打った時に何が起きるか考えてみましょう。3.を打った時、裏側ではDNS問い合わせが走り、グローバルIPアドレスを取得します。ここではグローバルIPアドレスが上図の通り、「12.3.5.yy」だったとしましょう。すると、工作員の使っているブラウザは「12.3.5.yy」というグローバルIPアドレスと通信を始めようとします。このIPアドレスはグローバルIPアドレス、つまりインターネット上のサーバなので、組織内にある各種インターネット機器はインターネットの方向に通信を転送していきます。そして最終的にNATを経由し、アドレス変換がなされてからインターネットを経由してリクエストはサーバーに入ります。この時、サーバからはNATで使用しているグローバルIPアドレスから通信があったように見えます。プライベートIPアドレスはNATが隠蔽しているので分かりません。

では逆に、内部からパブコメを送ったときにローカルIPが発信元になるためにはどのような手順が必要でしょうか?

  • 工作員の使用したPCとサーバへプライベートネットワークでつながっていて(つながってない可能性もある)
  • ファイヤウォールで通信が許可されていて(職員のPCからはサーバに直接通信する必要がないのでそのような設定は行われないかも知れない)
  • 工作員が「http://192.168.0.x/」とサーバのプライベートIPアドレスを直接アドレス欄に入力してアクセスした

となります。そんな事するとは(そういうふうになっているとは)私は思えません。外部からの意見に見せかけなくてはならないのに、なぜ内部からアクセスしたことがわかるような方法を取るのでしょうか。

ちなみにこれは余談ですが、IPアドレスでアクセスするとTLSエラーになります。

TLSというのは、ブラウザ欄の左側に鍵マークがついているのを見たことがあると思いますが、それのことです。この鍵マークがついていると、通信路が暗号化され、かつ、通信対象のサーバーがアドレス欄に入力されたもので間違いないことが保証されます。

実際に香川県のWebサイトhttps://www.pref.kagawa.lg.jp/にドメイン名ではなくてIPアドレスで通信してみましょう。ドメイン名はIPアドレスに付けた名前なので、当然ながら対応するIPアドレスをアドレス欄に打ってもアクセスは可能です。まずは、nslookupで香川県のWebサイトのドメイン名のIPアドレスを引き出します。

「www.pref.kagawa.lg.jp」に対応するのは「101.102.218.38」です。では、https://101.102.218.38/へアクセスしてみましょう。

エラーになりました。説明に書いてあるとおり、このTLSで使っている証明書は「www.pref.kagawa.lg.jp」というWebサイトのために発行されたものなのに、今表示しているのは「101.102.218.38」だからおかしいよ、というエラーです。「www.pref.kagawa.lg.jp」も「101.102.218.38」も同じサーバーを指してはいますが、証明書にはドメイン名が記載されているのでエラーになってしまうのですね。まあ、こうなっても「安全でないことを承知でアクセスする」というのをクリックすればエラーを無視して表示することはできますが。

さらに余談ですが、http://101.102.218.38/にアクセスするとTLSを使わないような設定に出来ます。先程はhttpsでアクセスしましたが、このsを削除してアクセスするということですね。するとこうなります。

あれ?私はhttp://101.102.218.38/にアクセスしたはずなのに、勝手に「https://www.pref.kagawa.lg.jp/」を表示していることになってしまいました。

この秘密はChromeの開発者ツールというひみつ道具を使うとよく分かります。

上に書いてあることを翻訳すると、「このページはhttps://www.pref.kagawa.lg.jp/に移ったのでそっちを表示して下さい」という意味になります。つまり、せっかく暗号化してあるページがあるのだからそっちを使ってね、という意味です。だからブラウザが勝手にhttps://www.pref.kagawa.lg.jp/を表示したわけですね。

さらにさらに余談ですが、いくつか文句を言わせてもらうと「302 Moved Temporarily」をサーバが返していますが、これは表記の通り、「一時的に移りました」という意味です。「せっかく暗号化してあるページがあるのだからそっちを使ってね」というのは常識的に考えれば一時的ではないので、「301 Moved Permanently」を返すべきです。

ではローカルIPアドレスが発信元として記録されるとは何だったのか?

でも実際、発信元(たぶん)としてローカルIPアドレスが記載されてるわけですよね?なぜでしょう?一番もっともらしい説明は、「リバースプロキシ、ロードバランサ、WAFなどがサーバの前段に居た」ということです。図にするとこういうことです。

まず、「リバースプロキシ、ロードバランサ、WAF」とはそれぞれ何かを簡単に説明すると、

  • リバースプロキシ: 一つのIPアドレスで複数のWebサイトを運営することなどを目的として設置される中継サーバ
  • ロードバランサ: 大量のアクセスを処理するために届いたリクエストを複数のサーバに分散して配送することで負荷分散を行う装置
  • WAF: Web Application Firewall。ファイヤウォールの一種で、普通のファイヤウォールよりもより細かい判定ができる。よろしく無いアクセスをブロック

という装置のことです。そしてこれらを通過した通信(より正確にはHTTPリクエスト)は、これらの装置が発信元となります。つまり、これらの装置のIPアドレスが「192.168.7.21」だった場合、サーバーの視点では「すべての通信が192.168.7.21から届いた」ように見えます。これが一番考えられる最も自然と思われる説明です。

リバースプロキシ、ロードバランサ、WAFなどをWebサーバの前段に置くことは非常によくあります。特に香川県は以前、DDoSと呼ばれるサイバー攻撃を受けたと発表したことがありますが、このDDoSなどの攻撃を検知できるのはまさにWAFの一つの機能です。ちなみにこれも余談ですが、この攻撃の一件はSNS上では「ただ単にアクセスが集中しただけのことをDDoSと誤判定したのでは」という指摘があります。この攻撃を受けたと言われていた時間帯はゲーム規制条例が通ったと報道された直後だったためです。真相はわかりませんが。

また余談ですが、こういう場合に本当のアクセス元を調べるためにはどうすれば良いかと言うと、通常は「X-Forwarded-Forヘッダを見る」ことで解決可能です。「X-Forwarded-Forヘッダ」とは何かと言うと、WAFやリバースプロキシ、ロードバランサは発信元を書き換えてしまう代わりに、本当の発信元のIPアドレスを「X-Forwarded-For」という項目に記述し、セットでサーバーに送ります(標準でそのような動作になっていることもあれば、設定が必要なこともあります)。で、サーバーは発信元ではなくて「X-Forwarded-For」に記載されているIPアドレスが本当のIPアドレスだという判断を組み込むことで、正しく発信元を特定することが出来ます。

話を「プライベートIPアドレスからのアクセスと認識されるケース」に戻します。全く別の可能性として、ネットワーク機器がその経路の制御ルールとして内部ネットワークからサーバのグローバルIP「101.102.218.38」宛にアクセスがあった場合は、その経路情報を書き換えてサーバのプライベートIPアドレスに変更してしまうという処理が実装されていたという可能性も考えられます。私自身はやったことは無いですが、そのような設定をすれば「https://www.pref.kagawa.lg.jp/に内部ネットワークからアクセスした場合に発信元PCのプライベートIPアドレスがそのまま発信元としてサーバからは見える」という状態になるはずです。

しかし、普通はわざわざそんな設定をするとは思えません。少なくとも私は見たことも聞いたこともありません。ネットワーク向けのトラフィックが減る(※トラフィック総量から見れば効果はお察し)というメリットはあるので絶対にありえないとも言えませんが。

IPアドレスとUAが一緒だったので同一人物が送ったはずだ

というわけで、ここまでで「プライベートIPアドレスが発信元として記載されていた」ことからは内部工作員の工作であると証明することは不可能だということを説明しました。

ここで別の議論として、「IPアドレスとUAが一緒だったので同一人物が送ったはずだ」という説明もSNS上で見受けられます。UA(User Agent)というのは何かと言うと、これはブラウザがサーバにアクセスする際、使用しているOSやブラウザ、そのバージョンなどの情報を自己申告で勝手にサーバーに向けて送っているのですが、それのことです。自己申告なのでブラウザの拡張機能などを入れれば変更することもできます。その昔、お絵かき掲示板などが流行っていた時期は掲示板等々にこのUA文字列が表示されるので、顔文字などを設定してそれを表示させるのが流行りました。インターネット老人会の懐かしみです。

で、件の「IPアドレスとUAが一緒だったので同一人物が送ったはずだ」という彼らの主張を翻訳すると、「発信元のIPが同じ、かつUA文字列も同じということは、同一の環境(ブラウザ、OS)から大量のアクセスがあったことに違いない」という意味になります。

しかし、これも工作員が活動していた証拠にはなりえません。

前述した通り、複数のリクエストの発信元IPアドレスが同一のプライベートIPアドレスになってしまうことは、前段にWAF等が配置されていれば十分考えられます。なので、IPアドレスには発信元を特定するための情報量が含まれていない可能性が高いと言えます。では、同一のブラウザ、OSから沢山送られたということを持ってして工作員が活動していた証拠になるかというと、これもせいぜい「怪しい」とまでしか言えないと思います。OSやブラウザというのはそんなにたくさんの種類があるわけではありませんから、同じOS/ブラウザから違う人がアクセスするということは考えられます。

もしくは、どこかの組織(行政か民間かは問わない)の政治的な意識の高い長が職員に対して「みなさん、条例について思うことをパブコメを送ってくださいね。それが民主主義に参加するということです」と説明した可能性だって考えられます。そうした場合、普通は何らかの組織内では同じPCやブラウザを使うことが多いですから、同じUAからのアクセスが大量に発生することがあります。そして、前述の長の説明は「賛成意見を送れ」ではなく「自分の意見を送れ」だったので特に問題があるわけではありません。つまり、たまたま賛成意見の人が多数だった可能性を否定できません。

というかそもそも問題だと思うこと

それより私が問題だと思うのが、送られたパブコメと発信元と思われるIPアドレスがセットで報道されたことです。もしここにグローバルIPアドレスが入っていたらどうするのでしょうか?というか調べてないのでもしかしたら入ってるかも知れません。グローバルIPアドレスが分かれば、発信者を特定することが可能な場合もあります。要するにパブコメとそれを送った人がわかるかもしれない状態で報道がなされたということです。

もし、ここで大量の同じグローバルIPアドレスが「条例案に賛成します」という文言とセットで報道されていたらどうなるでしょう?当然、この発信元は誰だという犯人探しが始まります。しかるべき理由があればグローバルIPから発信者を割り出すのはそこまで難しくありません。もし、長から命令を受けて渋々パブコメ工作作業をした2歳と4歳の幼子を持つ家族4人ぐらしの県庁職員パパが犯人だと分かったらどうなるでしょう?

組織的な関与があったという追求を逃れるために、関与した政治家が圧力をかけ、長が「お前が耐えてくれるだけで他の職員皆が助かるんやで、お前、ほかの同僚全員を路頭に迷わせたいんか?」と圧力をかけ、この県庁職員パパが「私が良かれと思ってもっぱら私の判断によってパブコメを工作しました。政治家先生方および県庁の偉い人たちは何ら悪くなくて私一人が悪いです。県庁職員は依願退職します。ほな、さいなら…」と嘘の自供をさせられるかも知れません。その後遺書を残して家族を残して自殺してしまうかもしれません。夫のことを心から愛していた妻も後追い自殺をして子どもたちは施設に送られるかも知れません。そういう不幸な世界が発生する可能性は現代日本においてもゼロではないことが昨今の報道でも明らかになっています。

報道機関やこのパブコメを公開した職員はそういう可能性は考えないのでしょうか?ITのことよく知らかなったです、ゴメンゴメンでは済みません。もうちょっと責任感を持って頂きたいですね。

じゃあお前はあのパブコメに工作員が絡んでないと言うのか!

こういう記事を書くと、上記のように文句たれてくるバカが必ず湧くのであらかじめ書いておきますが、私が言っているのは「同一のプライベートIPアドレスとUAの文字列の組が大量にあったとしても、政治的工作があったことの決定的な証拠にはならない」ということです。それ以外のことはなんにも言ってないです。書いてないことを想像して文句たれないでください。たとえそういう事を思ったとしてもチラシの裏とかに筆ペンで書いて自分の部屋にセロハンテープで貼って鑑賞するなどに留め、私には送ってこないで下さい。なぜならばムカつくので。

と、書くと今度は「でも、殆ど同じ文言でUAも同じって、普通に考えたら少数の人が工作してるよね」と言ってくる人が出てくるんですよね。それはそうかもしれませんし、そうではないかもしれません。私には分かりません。関係者以外には決定的なことはわかりません。もし、「普通に考えれば工作されたと思われる」と憶測に基づき個人や団体やその他巨悪と思われる何かを批判したり捜査したいならば、それはat your own riskでご自由にどうぞ。ここは発言の自由が保証されている素晴らしい日本国なので。私はこの問題自体しょーもないと思ってますし、香川県に住む可能性も無いのでそんな事はどうでも良いのです。でもその過程で技術的に不正確な説明を広められるのはムカつくからこういう記事を書きました。

と、こう書くと「香川県だから自分に関係ないと思って前例を作ってしまっては、いつか自分のところで発生する…」みたいな事をわざわざご丁寧に指摘してくださる御仁が出てくるのですが(以下略)