発信者情報開示請求と IPv4 over IPv6 通信についてまとめてみた。

# 概要

先日、インターネットライブ配信サービスである「ツイキャス」を提供しているモイ株式会社に対して、発信者情報開示命令の申立てを行いました。  
今回は、その際に得られたインターネットの技術についてまとめてみます。  

なお、法律等に関する詳しい内容は、ここではアドバイスができませんので、参考文献に記載してある書籍等をご覧ください。  

# 発信者情報の特定をするには？

インターネット上で発生する誹謗中傷などの権利侵害への対応（損害賠償請求訴訟等）を行うには、その投稿や情報発信を誰が行ったのかを特定する必要があります。  

## 実名投稿の場合

実名投稿の場合は住所氏名を調べましょう。  
住所氏名が分かれば、内容証明郵便による裁判外での慰謝料請求ができます。  
また、裁判による損害賠償請求なども行えます。  

## 匿名投稿の場合

発信者が匿名の場合は、 **発信者情報開示請求** の提訴か **発信者情報開示命令** の申立てを行い、発信者の住所氏名を特定します。

具体的な特定の手順は

1. コンテンツプロバイダ（Webサービス提供元）
   → IPアドレスの開示請求

1. アクセスプロバイダ（ISP など）
   → 住所氏名の開示請求

となります。

## 発信者情報開示請求とは？

従前からの方法で、IPアドレスの開示と住所氏名の開示の2段階の手続きが必要な方法です。  

![発信者情報開示請求.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/212972/3caf0e07-1e70-50a9-48e8-87bfa5a4593e.png)

## 発信者情報開示命令とは？

2022年10月1日に施行された **改正プロバイダ責任制限法** で新設された裁判手続（非訟手続）です。  

発信者情報開示請求では、2段階の手続きが必要だったものを1つに併合できるのが特徴です。  

今回はこちらの発信者情報開示命令の申立てを行いました。  

![発信者情報開示命令.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/212972/71aed200-3959-963f-b238-b484cc516c3e.png)

# 特定に必要な情報とインターネット技術

発信者を特定するために必要なインターネット技術について、1つずつ見ていきましょう。  

## IPアドレスとは？

まず、必要になるのが **IPアドレス** です。  

IPアドレス（Internet Protocol Address）とは、インターネットで通信するために必要となる住所のようなものです。  
ネットワーク上の各機器に割り当てられ、通信相手を指定するために利用されます。  

## IPv4 とは？

IPv4（Internet Protocol version 4）とは、 `142.251.42.206` などの整数で表されるアドレスのことです。  

IPv4 では、IPアドレスを2進法の32桁で表しており、割り当てられるIPアドレスの総数は約43億個となります。  
インターネットが発展したこの現代では、この IPv4 アドレスは既に枯渇している状況です。  

## IPv6 とは？

IPv6（Internet Protocol Version 6）とは、 IPv4 に変わる新しい Internet Protocol のことです。  
IPv4 とは異なり、 IPv6 ではIPアドレスを2進法の128桁で表しています。  
そのため、割り当てられるIPアドレスの総数は約340澗となり、無限に近いIPアドレスが割り当てられるようになりました。  

IPアドレスの総数以外にも接続方式やセキュリティの強化が行われています。  

## ポート番号とは？

IPアドレスが住所だとすると、ポート番号は表札のようなものです。  

例えば、1つの家に家族で暮らしているとします。  
`東京都千代田区千代田1-1` という同じ住所に `山田太郎` , `山田次郎` , `山田三郎` , `山田花子` , `山田次子` , `山田亜子` と、6人分の宛先がある状態です。  

これをIPアドレスとポート番号に変えると、 `142.251.42.206` という同一のIPアドレスに対して、 `50001` , `50002` , `50003` , `50004` , `50005` , `50006` といった感じにポート番号で複数の宛先を管理しています。  

Webブラウザやアプリなどは、このポート番号が他のアプリと被らないようにして利用しています。  

例えば、  

- `CrhomeのタブA` ： `50001ポート`  
- `CrhomeのタブB` ： `50002ポート`  
- `CrhomeのタブC` ： `50003ポート`  
- `YouTubeアプリ` ： `50004ポート`  
- `TikTokアプリ` ： `50005ポート`  

といった感じです。  

## PPPoE とは？

PPPoE（Point-to-Point Protocol over Ethernet）とは、 IPv4 で用いられている接続方式です。  

PPPoE では、 PPP（Point-to-Point Protocol）をイーサネットを通して利用しています。  
本来、イーサネットでは PPPoE を利用せずにIPパケットを直接扱うことができますが、 PPPoE を用いることで PPP が持つユーザ認証やコネクション管理の機能が利用できるようになります。  

ルーターに PPPoE の設定を行う際、ユーザーID等を設定する必要があるのはこのためです。  

なお、 PPPoE では、インターネットの通信時にNTT網内のネットワーク終端装置（Network Termination Equipment）を必ず経由します。  
現在、光コラボレーションの登場により、家庭向けの光回線が急速に普及したことや動画サイトの普及に伴い、このネットワーク終端装置が輻輳し、通信速度が低下しやすいという状況に置かれています。  

## IPoE とは？

IPoE とは、 IPv6 で用いられている接続方式です。  
IPv6 に対応しているWebサイトやWebアプリなどのWebサービスに NTT NGN 網を利用してアクセスすることができます。  

NTT NGN 網とは、 IPv6 を利用した閉域網です。  
NTT NGN 網では IPoE を利用することで、 VNE（Virtual Network Enabler）と呼ばれる IPv6 インターネット接続をサービスする事業者のネットワークを経由し、利用者が IPv6 インターネットに接続できるようにしています。  

なお、今回の発信者情報開示命令の手続きで判明した上位アクセスプロバイダは、 VNE の1つである株式会社JPIXでした。

![NGN.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/212972/6aaa76df-c507-3a8a-3766-f2658fc6759d.png)

## IPv4 over IPv6 とは？

IPoE では、 IPv6 に対応しているWebサービスでしか利用できません。  
現在のWebサービスは IPv6 に対応しておらず、 IPv4 でしか接続できないものも多く存在します。  
この問題を解決するのが、 IPv4 over IPv6 と呼ばれる接続方式です。  

IPv4 over IPv6 を利用すると、 IPv6 対応のWebサービスへの通信は、そのまま IPv6 ネットワークを利用して、接続されます。
一方、 IPv4 のみに対応しているWebサービスへの通信は、そのままでは IPv6 ネットワークで利用することはできないため、 IPv4 通信を一度 IPv6 によってカプセル化します。  
カプセル化することで、 IPv6 ネットワークを利用することができるようになります。  
その後、 IPv6 ネットワークの出口に設置されている VNE のルーターで元の IPv4 パケットに変換されて、 IPv4 対応のWebサービスへ接続されます。  


なお、この IPv4 over IPv6 は **v6プラス** などの名称でサービス提供されています。  

![IPv4overIPv6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/212972/736bf1d5-6abb-872b-b6ec-8a57cbf52a0d.png)

## MAP-E とは？

IPv4 over IPv6 では、次の3種類のいずれかの通信技術を利用しています。  

- 4rd/SAM（Stateless Address Mapping）
- MAP-E（Mapping of Addresses and Ports with Encapsulation）
- DS-Lite（Dual-Stack Lite）

JPIX では、 MAP-E 方式を利用しています。  

MAP-E 方式では VNE の MAP ルール配信サーバーを利用することで下記のユーザー側機器の設定を簡素化しています。  

- IPv4 over IPv6 トンネルの設定
- ユーザーが利用可能な IPv4 アドレス
- TCP / UDP ポートの割り当て

また IPv4 のNAT処理をユーザー機器側で行うのも特徴です。  

## 半固定方式

JPIX の IPv4 over IPv6 で払い出される IPv4 アドレスは、 **v6プラス固定IPサービス** を利用しない限り、半固定方式となります。  

そして、この半固定方式はIPアドレスが基本的に変わることはないが、完全には固定されていないという意味になります。  
IPアドレスが変わる条件としては、以下のようなものがあります。  

- IPアドレスの払い出し時
- NTT側の故障時

など

## IPアドレスの共有

JPIX を含むNTT東西のフレッツ網で使用される MAP-E 方式の IPv4 over IPv6 接続サービス（v6プラス、v6アルファ、IPv6オプション、v6エクスプレス等）で払い出される IPv4 アドレスは、 **v6プラス固定IPサービス** を利用しない限り、1つのIPアドレスが複数のユーザーで共有されます。

通常、1つのIPアドレスを複数のユーザーで共有すると、誰がそのIPアドレスを使っているのかが分からなくなります。  
そのため、ポート番号を用いてユーザーを識別します。  

ネイティブな IPv4 アドレスの場合、1つのIPアドレスにつき、65,535個のポートを使用することができます。  
この 0～65535 のポートを一定の範囲ごとに分割して、それぞれのユーザーに割り当てることで、識別できるようにしています。  

なお、NTT東西のフレッツ網で使用される MAP-E 方式の IPv4 over IPv6 接続サービスで使用可能なポート数は240個に制限されています。  

# 実際に発信者情報開示命令の申立てを行ってみた結果

今回は2件の申立てを行いました。  
うち、1件は特定に成功しましたが、もう1件は失敗しました。  

ここからは特定に失敗した理由を整理してみます。  

## モイが保有している情報

モイが保有している情報は下記のとおりでした。

- 接続元のIPアドレス
- 接続時のタイムスタンプ
- 接続先のIPアドレス

::: note info
**【補足】接続先のIPアドレスとは？**  
接続先のIPアドレスとは、WebサーバーのIPアドレスのことになります。  
なお、ツイキャスのサーバーは負荷分散されているため、複数のIPアドレスが開示されました。  
:::

## モイからの回答

今回の発信者情報開示命令の手続きでは、IPアドレスは直接開示されません。  
そのため、モイからはアクセスプロバイダの名称が開示されました。  
提供命令で判明したアクセスプロバイダは VNE の1つである株式会社JPIXでした。  

## JPIX が保有している情報

JPIX で保有している情報は開通ログと呼ばれるもので、具体的には下記の通りでした。    

- IPv4 アドレスおよびポート番号が払い出されたタイミングのタイムスタンプ
- IPv4 アドレスおよびポート番号が変更されたタイミングのタイムスタンプ

そのため、個々の接続に対するログは保有していないとのことでした。  

::: note info
**【補足】開通ログと半固定方式**  
JPIX の IPv4 over IPv6 で払い出される IPv4 アドレスは、半固定方式のため、NTT東西の局舎設備の故障やメンテナンスなどが起こらない限り、めったに変わりません。  
ということは場合によっては、開通後からIPアドレスが1度も変わってないというユーザーも存在するかもしれません。  
:::

## JPIX からの回答

JPIX からは、開通ログしか保有していないため、下記の3つの情報がないと特定ができないという回答でした。  

- 接続元のIPアドレス
- 接続元のポート番号
- 接続時のタイムスタンプ

## 特定に失敗した理由

特定に失敗した理由をまとめてみます。

1. モイでは接続元のポート番号のログを保有していない
1. JPIX では特定を行う際に接続元のポート番号も必要となる

また、複数のタイムスタンプを使った絞り込みなどで特定ができないかと JPIX に確認しましたが、開通ログの範囲が広いため、不可能だという回答でした。  

## 発信者の特定ができる条件

特定できなかった理由がわかったので、特定ができる場合の条件も考えてみます。  

1. ネイティブな IPv4 での接続だった場合
1. ツイキャスが IPv6 に対応していた場合
1. ツイキャスが接続元ポート番号のログを保有していた場合
1. IPv4 over IPv6 通信でIPアドレスの共有が行われていなかった場合
1. JPIX で接続先ごとのログを保有していた場合

### ネイティブな IPv4 での接続だった場合

この場合は特定ができます。  
実際に特定に成功した1件はこのパターンでした。

### ツイキャスが IPv6 に対応していた場合

IPv6 アドレスは共有されていないため、ツイキャスが IPv6 に対応していれば、接続元のポート番号が不明な場合でも特定が可能でした。  
JPIX からも同様の回答を頂きました。  
しかしながら、 IPv6 に対応しているコンテンツプロバイダは少ないのが現状です。  

### ツイキャスが接続元ポート番号のログを保有していた場合

今回、不足していた接続元のポート番号のログをツイキャス側で保有していれば特定が可能でした。  
しかしながら、接続元のポート番号のログを保有しているコンテンツプロバイダは少ないのが現状です。  

### IPv4 over IPv6 通信でIPアドレスの共有が行われていなかった場合

**v6プラス固定IPサービス** を利用していればIPアドレスの共有が行われないため、特定が可能でした。  

### JPIX で接続先ごとのログを保有していた場合

JPIX で開通ログだけでなく、接続先ごとのログも保有していれば特定が可能でした。  
JPIX からは接続先ごとのログを保管するのはコスト的に難しいとの回答でした。  

# 総括

IPv4 と IPv6 の問題は色々なところに存在していますが、発信者情報開示請求を行う際にも問題になることが分かりました。  

昨今では、 IPv4 アドレスの枯渇の対策として、様々な技術が導入されてきました。  
しかし、それが却って IPv4 アドレスの延命措置になってしまい、 IPv6 への移行が遅れる状況を作っているのかもしれません。  

今年からは AWS のパブリック IPv4 アドレスに対する課金も始まりました。  
早く IPv6 アドレスに移行してほしいと思いました。  

https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/

# 参考文献

下記の書籍とサイトを参考にさせて頂きました。

## 書籍

- 井上直也・村山公保・竹下隆史・荒井透・苅田幸雄（1994）. マスタリングTCP/IP 入門編 第6版 . 株式会社オーム社
- 神田知宏（2021）. 第2版 インターネット削除請求・発信者情報開示請求の実務と書式 . 日本加除出版株式会社
- 深澤諭史（）. インターネット権利侵害 削除請求・発信者情報開示請求“後”の法的対応Q&A 第2版 . 第一法規株式会社
 
## Webサイト

- https://www.ntt.com/business/services/network/internet-connect/ocn-business/bocn/knowledge/archive_117.html
- https://ja.wikipedia.org/wiki/PPPoE
- https://biz.biglobe.ne.jp/column/hikari_pppoe.html
- https://hikari.faq.rakuten.net/faq/show/1168
- https://biz.nuro.jp/column/025/
- https://www.alaxala.com/jp/techinfo/archive/manual/AX7800R/HTML/10_10_/APGUIDE/0311.HTM
- https://www.allied-telesis.co.jp/support/list/awp/rel/5.4.8-2.1/613-002107_W/docs/overview-358.html
- https://note.com/noblehero0521/n/n8b08dcf67d25
- https://www.nttpc.co.jp/column/network/whats_ip.html
- https://isecj.jp/tools/portcheck-map-e/