技術 法律

コンピュータ系の人のためのCoinhive最高裁の読み方(なぜ無罪だったか)

投稿日:

以下ですべて断定してますが、そもそもからしてすべて想定です。私は法律家ではないので。

前回の記事で、Coinhiveの高裁判決について書きました。

今回は、無罪と決まったCoinhiveの最高裁判決を説明してみます。特に何故無罪だったか、をコンピュータ系の人のために書いてみます。

先に結論

刑法168条(いわゆる「ウイルス罪」)では無罪。

  • 反意図性はある
  • 不正性がない

犯罪とするのには、両方の要件が必要なので無罪。

反意図性

  • 同意を得る仕様になっていないので反意図性はある。
  • プログラムの動作を一般の使用者が認識すべきとはいえないから。

不正性

  • 社会的に受容されている広告表示プログラムと比較しても、同じ利用方法
    • 社会的に供しえる範囲内なので、不正性はない。
  • 電子計算機の機能や電子計算機による情報処理に与える影響,その利用方法等を考慮すると、社会的に許容し得ないものとはいえず,不正性は認められない。

高裁と最高裁の違い

有罪だった高裁判決と、無罪だった最高裁の違いを見てみましょう。

逆に、変わらなかったのは以下です。

  • 憲法違反という主張は当たらなかった。
    • 憲法21条1項,31条違反である点は採用されなかった。
  • 反意図性はどちらも「ある」と判定されてる。

なので不正性に関する部分だけ抜き出して説明してみます。

原判決(高裁判断)の不正性について

不正性に関する、原判決(高裁判断)は以下の通りでした。

意図に反し電子計算機が使用されるプログラムであることが主な問題である
から,処理速度の低下等が使用者の気付かない程度であったとしても不正性を左右
しない。

実質上、反意図性をそのまま不正性と見なしていて判断をしていません。反意図性があるから、不正性がある、と認定してしまっています。

最高裁判決の不正性について

それに対して、最高裁の不正性は以下によって判断すると書いてあります。

その動作が電子計算機の機能や電子計算機によ
る情報処理に与える影響の有無・程度,当該プログラムの利用方法等を考慮する必
要がある。

高裁が反意図性==不正性と誤認しているのに比較すれば、最高裁が上記の判定をしていて真っ当なのは明らかです。

社会的に許容されている広告と同様

高裁でバッサリと切られていた、広告と同様という考えも、最高裁では採用されています。

ウェブサイト閲覧中に,閲覧者の電子計算機を一定程度使用して運営者が利益
を得るプログラムが実行され得ることは,想定の範囲内であるともいえる。

社会的に受容されている広告表示プログラムと比較して
も,閲覧者の電子計算機の機能や電子計算機による情報処理に与える影響において
有意な差異は認められず,事前の同意を得ることなく実行され,閲覧中に閲覧者の
電子計算機を一定程度使用するという利用方法等も同様であって,これらの点は社
会的に許容し得る範囲内といえるものである。

前記1の保護法益に照らして重要な事情である電子計算機の機能
や電子計算機による情報処理に与える影響は,閲覧中に閲覧者の電子計算機の中
央処理装置を一定程度使用することにとどまり,
  • ブラウザの裏で運営者の利益を得るプログラムが実行されえるのは想定の範囲内
  • 広告と同様に社会的に許容されてる
  • CPUを一定程度使用することは社会的許容範囲内

となっていて、プログラマは一安心という所です。高裁での無知で狂気の考え方からするとかけ離れています。

特に、高裁判決での違法性阻却事由がすべて却下されたのを見れば、違いが明らかです。

正直、言葉が悪いですが、ブラウザの裏で何が動いているか、一般の人は知らないでしょう。高裁はそれを一般と誤認しましたが、最高裁はちゃんと利益を得るプログラマが実行されえることは想定の範囲内であるとされました。正しい判断です。

保護法益の考えの違い

最高裁判決では、保護法益を考慮し、不正性に関して以下のように判断しています。

また,不正性は,電子計算機による情報処理に対する社会一般の信頼を保護し,
電子計算機の社会的機能を保護するという観点から,社会的に許容し得ないプログ
ラムについて肯定されるものと解するのが相当であり,その判断に当たっては,当
該プログラムの動作の内容に加え,その動作が電子計算機の機能や電子計算機によ
る情報処理に与える影響の有無・程度,当該プログラムの利用方法等を考慮する必
要がある。

高裁は、不正性をプログラムを作らない人が一方的に決めるものとみなしているのに比べ、最高裁は電子計算機の機能や電子計算機による情報処理に与える影響の有無・程度,当該プログラムの利用方法等を考慮する、つまりは作る人の事情も考慮しているところが違います。

プログラマが違反しないためには

結局のところ、裁判所の判断は以下だと思う必要があります。

すなわち,反意図性は,当該プログラムについて一般の使用者が認識すべき動作
と実際の動作が異なる場合に肯定されるものと解するのが相当であり,一般の使用
者が認識すべき動作の認定に当たっては,当該プログラムの動作の内容に加え,プ
ログラムに付された名称,動作に関する説明の内容,想定される当該プログラムの
利用方法等を考慮する必要がある。
また,不正性は,電子計算機による情報処理に対する社会一般の信頼を保護し,
電子計算機の社会的機能を保護するという観点から,社会的に許容し得ないプログ
ラムについて肯定されるものと解するのが相当であり,その判断に当たっては,当
該プログラムの動作の内容に加え,その動作が電子計算機の機能や電子計算機によ
る情報処理に与える影響の有無・程度,当該プログラムの利用方法等を考慮する必
要がある。

プログラマ的に解釈すれば以下だと言えるでしょう。

  • 反意図性: 一般の使用者の認識が優先される
    • もし一般の使用者と認識の乖離が考えられる場合、プログラム名、動作の説明、利用方法で明記するべき
  • 不正性: 電子計算機の機能や電子計算機による情報処理に与える影響の有無・程度,当該プログラムの利用方法等にて判断する
    • 要するに、作る方の事情も考慮に入る
    • 使う方だけではなく、社会全般も考慮して不正性が決まる

まぁ、当然と言えば当然です。

おわりに

無罪の裁判が無罪で終わってよかったと考えます。

-技術, 法律
-

執筆者:

関連記事

新規プロジェクト参入時に考えること

派遣における労働条件 就業予定時間(変形労働時間やフレックスタイム制の適用を含む)残業の有無と量就業場所(交通ルート、オフィスの配置等)業務の継続予定期間 制服の有無 (背広かどうか)福利厚生施設の有 …

Pythonでの勘違い(if A:)

勘違い 小ネタです。 Pythonでは、以下のように書くことができます。 a = [] if a: print(“not empty!”) else: print(“empty!”) 結果は以下になり …

SPAMチェック for OCN の開発

前回、Thunderbirdプラグインの概要を書いたので、今回は開発したプラグインについて書きます。 SPAMチェック for OCNとは 以下の機能を持ったThunderbirdのアドオン(プラグイ …

PythonでPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

CentOS7 + Django2.2 + uwsgi + nginx 連携方法

Djangoとnginx連携方法 以前はApache経由で連携しましたが、今回はnginxと連携する方法を記述します。 環境 設定した環境は以下です。 OS: CentOS7Python3.6.8 ( …

google オプトアウト Click here to opt-out.