いわゆるマイニングスクリプトと�不正指令電磁的記録に関する罪
〜コインハイブ事件判決の論点と課題〜
2019.6.3 情報処理学会
報告/平野敬
2
自己紹介
2014年に弁護士登録(第二東京弁護士会)
大学卒業 → 日立製作所 → 留学 → アクセンチュア → 司法試験
2018年1月に独立,電羊法律事務所(町田)を開設
Twitter: @stdaux
3
目次
4
目次
5
要件というもの
6
法律学の考え方
前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する
7
法律学の考え方
前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する
民法882条 「相続は死亡によって開始する」
要件:死亡
効果:相続の開始
8
要件
効果
法律学の考え方
前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する
刑法では,
要件:一定の行為をした者に対して
効果:国家に一定の刑罰権が生ずる
という構造をとる。「一定の行為」を犯罪と呼んでいる。
9
要件
効果
犯罪構成要件
条文解釈によって導かれる,「一定の行為」の要素
ある行為を犯罪として処罰するための必要条件となる(not 十分条件)
10
詐欺罪の例
刑法246条1項
人を欺いて財物を交付させた者は,十年以下の懲役に処する。
11
詐欺罪の例
刑法246条1項
人を欺いて財物を交付させた者は,十年以下の懲役に処する。
12
構成要件
効果(法定刑)
詐欺罪の例
刑法246条1項
人を欺いて財物を交付させた者は,十年以下の懲役に処する。
13
構成要件
効果(法定刑)
不正指令電磁的記録の構成要件
14
刑法改正(2011)
刑法に「第19章の2 不正指令電磁的記録に関する罪」という章が新設される
刑法168条の2� 第1項(不正指令電磁的記録作成,提供)� 第2項(供用)
刑法168条の3(取得,保管)
15
条文
刑法168条の2第1項
正当な理由がないのに,人の電子計算機における実行の用に供する目的で,次に掲げる電磁的記録その他の記録を作成し,又は提供した者は,三年以下の懲役又は五十万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか,同号の不正な指令を記述した電磁的記録その他の記録
16
条文
刑法168条の2第1項
正当な理由がないのに,人の電子計算機における実行の用に供する目的で,次に掲げる電磁的記録その他の記録を作成し,又は提供した者は,三年以下の懲役又は五十万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか,同号の不正な指令を記述した電磁的記録その他の記録
17
「何か」を作ったりしてはいけない
「何か」の定義
構成要件(赤線の部分)
168条の2第2項では「何か」の供用,
168条の3では「何か」の取得・保管が処罰されているが,基本的な構造は同じ。
18
「何か」の定義(青線の部分)
19
何か=不正指令電磁的記録
を満たす実行可能ファイルやソースコードやその印刷物
20
まとめると
21
さっぱりわからない……
22
反意図性
23
反意図性?
「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき…」
どんなユーザの,どんな使い方を基準に「意図」を認定するのか?
24
反意図性?
25
反意図性?
立法担当者
「個別具体的な使用者の実際の認識を基準として判断するのではなく,当該プログラムの機能の内容や,機能に関する説明内容,想定される利用方法等を総合的に考慮して,その機能につき一般に認識すべきと考えられるところを基準として判断することとなる。」
26
不正性
27
不正性?
「不正な」指令
新明解国語辞典 第七版�「正しくないこと(様子)」
正しいプログラムとは? 正しくないプログラムとは??
28
不正性?
立法担当者
「そのプログラムによる指令が「不正な」ものに当たるか否かは,その機能を踏まえ,社会的に許容し得るものであるか否かという観点から判断することとなる」
29
つまり,不正指令電磁的記録とは
30
つまり,不正指令電磁的記録とは
31
やっぱりわからない……
32
明確性の原則
構成要件は明確でなければならない。曖昧不明確な要件は憲法31条に反し無効。
33
明確性の原則
構成要件は明確でなければならない。曖昧不明確な要件は憲法31条に反し無効。
「その規定が通常の判断能力を有する一般人に対して,禁止される行為とそうでない行為とを識別するための基準を示すところがなく,そのため,その適用を受ける国民に対して刑罰の対象となる行為をあらかじめ告知する機能を果たさず,また,その運用がこれを適用する国又は地方公共団体の機関の主観的判断にゆだねられて恣意に流れる等,重大な弊害を生ずるからである…」(最高裁昭和50年9月10日,徳島市公安条例事件)
34
立法当時の情報処理学会の懸念
2011年6月17日「情報処理の高度化等に対処するための刑法等の一部を改正する法律案」 に対する要望
35
立法当時の情報処理学会の懸念
2011年6月17日「情報処理の高度化等に対処するための刑法等の一部を改正する法律案」 に対する要望
「新規性のあるプログラムの開発や新たなサービスの創造を委縮させてしまうことがないよう,また,ソフトウエア等の開発・公開やソフトウエア関連サービスの提供を行う者にとって過剰な負担となるような運用が行われることのないよう,本改正法の施行前に,どのような場合が犯罪の構成要件に該当するのかについて,逐条解説などの形で明示していただきたい」
36
目次
37
Coinhive
38
Coinhive
JavaScriptで実装された暗号通貨のマイニングプログラム。
Webサイト閲覧者の計算資源を用いて暗号通貨Moneroを採掘する。
広告や会費制に代わる,Webのマネタイズ手段として開発された。
2019年6月現在は公開停止。
39
Coinhive
40
制作・�アップロード
Webサーバ
クライアントPC
コンテンツ要求
表示・閲覧
coinhive.js
モネロ採掘�計算結果
採掘報酬
Coinhiveサーバ
ダウンロード
警察が引っかかったポイント
→反意図かつ不正な指令では!?
41
時系列
42
時系列
2017年9月14日 Coinhiveの提供開始
9月20日 GigaZineに紹介記事が掲載される
9月27日 警察官のネットパトロール中に,� Coinhiveについて説明しているはてなブログを発見。� 不正指令電磁的記録ではないかとの疑いを抱く。
11月~12月 「Coinhive」などをキーワードにしてWebやTwitterを検索。� Coinhiveを利用している者をリストアップ。
2018年2月~ 被疑者に対する捜索差押スタート
43
時系列
2018年3月28日 被疑者の一人が略式起訴され,罰金を命じられる
3月29日 納得できず,平野に相談メールを出す
4月2日 略式に対して異議を申し立て正式裁判に移行
6月9日 読売新聞でCoinhive関係の摘発が相次いでいるとの報道
6月14日 警察庁が「仮想通貨を採掘するツール(マイニングツール)に� 関する注意喚起」を公表
44
時系列
2018年4月~ 正式裁判を開く前に,7回にわたり公判前整理手続� Webサイトはどのような仕組みなのか,JavaScriptとは何か,� 技術的な説明からおこなう
2019年1月9日 第1回公判期日
1月15日 第2回公判期日 高木証人尋問
1月17日 第3回公判期日 被告人質問
2月18日 最終期日 求刑(罰金10万円)
3月27日 無罪判決
45
目次
46
裁判における争点
47
反意図性
48
反意図性/弁護人の主張
反意図性は認められない。
49
反意図性/弁護人の主張
サイト内にどんなスクリプトが設置されているか,閲覧者はあらかじめ知らない
JavaScript がWeb上で使用されるとき,個別的に許諾をとる文化はない
∵サンドボックスで一定の安全性が担保されている� ブラウザの設定で実行を拒否できる
→Webの閲覧者は,自分のブラウザでスクリプトが実行されることについて� 包括的に許諾していると言える
50
反意図性/検察官の主張
Coinhiveは閲覧者の意図に反するもの。
51
反意図性/検察官の主張
52
不正性
53
不正性/検察官の主張
Coinhiveは不正な指令である。
54
不正性/検察官の主張
55
不正性/弁護人の主張
不正な指令とは言えない。
56
不正性/弁護人の主張
57
実行の用に供する目的
58
実行供用目的/検察官の主張
プログラムの機能を認識・認容していれば,「人の電子計算機における実行の用に供する目的」があったと言える。
59
実行供用目的/弁護人の主張
実行の用に供する目的があったというためには,プログラムが不正指令電磁的記録にあたることの認識が必要。本件では認められない。
60
実行供用目的/弁護人の主張
参議院附帯決議
「人の電子計算機における実行の用に供する目的」とは,「単に他人の電子計算機において電磁的記録を実行する目的ではなく,人が電子計算機を使用するに際してその意図に沿うべき動作をさせない電磁的記録であるなど当該電磁的記録が不正指令電磁的記録であることを認識認容しつつ実行する目的」 をいう。
61
まとめ/当事者の主張
62
| 検察官 | 弁護人 |
反意図性 | 一般に周知されていない演算 閲覧者は気づかない | Web閲覧者はJavaScriptの実行について包括的承諾がある |
不正性 | 反意図性があれば,ごく一部の例外を除いて当然に認められる | 権利侵害の危険が必要 |
実行供用目的 | プログラムの機能を認識・認容していれば足る | 不正指令電磁的記録であることの認識が必要 |
裁判所の判断
63
反意図性/裁判所の判断
→反意図性あり
64
反意図性/裁判所の判断
閲覧者がマイニングを認知・容認していたとみることはできない
65
不正性/裁判所の判断
→不正性なし
66
不正性/裁判所の判断
(枠組み)
あるプログラムによる指令が「不正な」ものであるかどうかは…
を総合的に考慮して判断する
67
不正性/裁判所の判断
(あてはめ)
→社会的に許容されていなかったと断定することはできない
68
実行供用目的/裁判所の判断
(なお念のために付言すると)
不正指令電磁的記録に当たることを認識認容しつつこれを実行する目的があったものと認定するには合理的な疑いが残るというべきである
→実行供用目的を否定
69
まとめ/裁判所の判断
70
| 検察官 | 弁護人 |
反意図性 | 一般に周知されていない演算 閲覧者は気づかない | Web閲覧者はJavaScriptの実行について包括的承諾がある |
不正性 | 反意図性があれば,ごく一部の例外を除いて当然に認められる | 権利侵害の危険が必要 |
実行供用目的 | プログラムの機能を認識・認容していれば足る | 不正指令電磁的記録であることの認識が必要 |
目次
71
反意図性
72
判断枠組み
「個別具体的な使用者の実際の認識を基準として判断するのではなく,当該プログラムの機能の内容や,機能に関する説明内容,想定される利用方法等を総合的に考慮して,その機能につき一般に認識すべきと考えられるところを基準として判断するのが相当である。」(立法担当者の説明どおりのライン)
73
JavaScript の特性について
「意図に反するかどうかは,プログラム言語一般の性質ではなく,個々のプログラムの機能に照らして判断すべきであり,本罪の成立範囲を不当に限定することにつながる弁護人の主張には賛同できない。」
74
考慮された事由
75
考慮された事由
→認知度が低く,サイトのサービス内容と関連性が低い演算を,ユーザに明示しない形で実行すると,反意図性が認められる。
→開発時に個別に検討することが必要
76
巻き添え範囲が広すぎるのでは?
77
不正性
78
条文趣旨の解釈
「「不正な」指令に限定することとされた趣旨は,電子計算機の使用者の「意図に反する動作をさせる」べき指令を与えるプログラムであれば,多くの場合,それだけで,その指令の内容を問わず,プログラムに対する社会の信頼を害するものとして,その保管等の行為に当罰性があるようにも考えられるものの,そのような指令を与えるプログラムの中には,社会的に許容し得るものが例外的に含まれることから,このようなプログラムを処罰対象から除外するためである。」
79
不正性の判断枠組み(再掲)
あるプログラムによる指令が「不正な」ものであるかどうかは…
を総合的に考慮して判断する
80
併せて考えると
反意図性が認められた時点で,不正性が認められやすい方向に傾く。
「不正でない」ことを証明するために,開発者は,ユーザにとっての有益性や弊害の少なさ,関係者から肯定的評価を受けていることについてロジックを用意しておかなければならない。
→非常に負担が大きい
81
控訴審でがんばりたい点
82
反意図性の枠組み
「あるプログラムが使用者の「意図に沿うべき動作をさせず,又はその意図に反する動作をさせる」…ものであるか否かが問題となる場合における,その「意図」についても,そのような信頼を害するものであるか否かという観点から規範的に判断されるべきであると考えられる」(大コンメ8.345)
→地裁判決では十分に判断されていないように見える
→JavaScript の特性を踏まえて,反意図性の枠組みを見直していきたい
83
目次
84
①立法に対する働きかけ
85
②司法に対する働きかけ
86