結論から言う。我が国では、リバースエンジニアリング禁止条項が設定されているソフトウェアのリバースエンジニアリングは基本的に違法であるが、個々の案件ごとに著作権法や独占禁止法との兼ね合いでの判断が必要になると思われる。


以下は資料より列挙。(資料:企業法学研究 2020 第 9 巻第 2 号の論文「プログラムのリバースエンジニアリングの法的課題」。)

1)米国では違法とされている。リバースエンジニアリングの禁止条項が、著作権法に優越するという司法の結論が出たためである。

2)EUでは、合法とされている。契約書の中のリバースエンジニアリング禁止条項を無効としている。

3)我が国(日本)では、著作権法が改正され、30条の4によりリバースエンジニアリングが適法となり、かつ、公正取引委員会は、独占禁止法の観点から検討し、禁止条項を不公正な取引方法と判断しているが、それにも関わらず、経済産業省は禁止条項を有効と判断し、多数説としても禁止条項が有効とされているため、全体としては、米国に追従し、リバースエンジニアリングを違法としていると言える。


このことを考えていて思い出したのが、 Ultra-HD Blu-ray のPCでの再生である。

御存知の通り、Ultra-HD Blu-ray は、著作権の保護の観点から、DRM(デジタル著作権管理)の技術のうちの AACS(Advanced Access Content System)により暗号化処理が施されており、メモリ上に読み込んだ状態で他のプロセスからアクセスできないようにするためにハードウェア機能である Intel SGX(Software Guard Extensions) を使用している。

そのため、ハードウェアの構成に条件が加わる。詳しく書くと、 SGX 対応の CPU (第7~10世代で、かつ、SGX対応のもの)、対応マザーボード、対応 BIOS、 windows 用の対応ドライバ(新しいバージョンに上げると非対応になってしまうので古いままにする必要がある)、そして、CPU内蔵の HDMI/DisplayPort出力がHDCP2.2をサポートしているグラフィックを使用する必要がある。

大変な困難さだ。ここまでの負担を動画視聴者に強いては、PCで視聴しようと考える者もほとんどいなくなるだろう。この問題の根本的な原因は著作権保護である。SGX を使用せず DRM に従った暗号化データの再生が可能なプレイヤーが開発できれば、 Intel SGX は必ずしも必要ではなくなる。だが、 SGX を用いずに著作権の違反にならないようDRM(デジタル著作権管理)の技術として暗号化することができるかどうか。できなければ、リバースエンジニアリングの例のように、「違法な行為(を行うプレイヤー)」とされる恐れがあるだろう。


apache と PHP 8.2.11 の ini ファイルの設定、特に PHP を動作させるための設定は下の通り。


1)apache

Define SRVROOT "c:/…/Apache24"

DocumentRoot "${SRVROOT}/htdocs"

LoadModule php_module "C:/…/php8apache2_4.dll"

<FilesMatch "\.php$">

  AddHandler php-script .php

  AddType application/x-httpd-php .php

</FilesMatch>

PHPIniDir "c:/…/php8.2.11"


2)PHP

extension_dir = "ext" ( extension_dir = "c:/…/ext" のように、フルパス記述でも可。)

extension=mbstring

extension=openssl

date.timezone = Asia/Tokyo

[mbstring]

mbstring.language = Japanese

mbstring.encoding_translation = On

mbstring.detect_order = ASCII,UTF-8,ISO-2022-JP,eucJP-win,SJIS-win

mbstring.substitute_character = none

下の3つは確実にコメントアウトしておく。(あるだけで起動しなくなる。)

;mbstring.internal_encoding = UTF-8

;mbstring.http_input = auto

;mbstring.http_output = UTF-8

キーワード: apache php8


windows の php での話。

mbstring.internal_encoding を設定すると、エラーで php が起動しなくなる。mbstring.http_input なども同様かも知れない。


pho.net の「PHPマニュアル」では、「非推奨になりました。」となっており、まだ削除されておらず、 phpinfo() でも表示はされるのだが、 ini ファイルに記述があるだけで起動しなくなる。 php の設定状態によるのかも知れないが、起動しなくなったら要確認。

ローカル環境の php の動作がおかしくなり、これに気づくまで時間がかかった。

[コメントの受付は終了しています ]
この記事のリンク元 | 2 |

キーワード: php8 mbstring