Flashによる画像保護
 
 TOPページ
 コラム
 画像の保存と対策
 wmodeの問題点
 実験室
 Flashによる画像保護
 プログラム
 画像保護 imrage
 imrage設置例(その1)
 過去のプログラム
 imrage V0.9.0
 ImageCoder V1.0.2
 ImageCoder V1.0
 ImageLoader V2.0.1
 ImageLoader V2.0
 ImageLoader V1.0
 メール/掲示板



last modified 2009.8.26

Flashによる画像保護

画像の保存方法とその対策はこちら。

ホームページで写真やイラストを公開したいが、コピーはされたくない。そういうケースは多いと思います。 結論を先に書くと、コピーを完全に防ぐことは不可能です。 ですが、簡単に取られないように、対策を講じておく方がいいでしょう。

次の実験は、Flashを使った画像のコピー防止です。


実験1 (注意!クリップボードの内容が消えます)

解説:
  • Flashで画像を表示します
  • 画像ファイル名は引数で渡しますが、画像が保存されているフォルダは秘密です
  • PrintScrenを防ぐため、クリップボードを定期的にクリアします
  • Flashのファイル自体はコピーされますが、Flashのファイルの中に画像は含まれていないので、画像は取り出せません。

ソースを見ていただければ分かりますが、画像の表示部分はJavaScriptを利用して、簡単に設定できるようになっています。 画像ファイル名と、幅、高さを指定するだけです。スクリプト本体はヘッダ内にあります。

<script type="text/javascript">
<!--
imageLoader("001.jpg",400,300);
// -->
</script>

JavaScriptが利用できない場合、Objectタグを書く必要がありますが、表示は可能です。

この方法で、画像を保存することはかなり困難だと思いますが、クリップボードを経由しない、キャプチャソフトを使えばコピーを取られます。


実験2

解説:
  • クリップボードのクリアを止めました
  • 替わりにロゴを画像の上に重ねています

クリップボードのクリアは閲覧者に迷惑をかけますし、何れにせよキャプチャソフトによるコピーは防げません。キャプチャされる事を前提で、ロゴを重ねています。 画像ファイルの上にロゴ画像を重ねているので、画像ファイルにロゴを入れる必要はありません。

実験2で使用してるFlash公開しました、ダウンロードはこちらから


実験3

解説:
  • CGIを使いサーバサイドで画像を暗号化、Flashで復号化して表示しています
  • ロゴ画像を自動的に画像の上に重ねています

Safariの構成ファイル一覧や、ブラウザのキャッシュを漁る方法に対する対策です。HTTPでやり取りするファイルはどうしてもコピーされてしまうので、コピーされてもいいように画像を暗号化しています。

同様の画像保護のソフトはすでにありますが、そのほとんどが有料で、事前にファイルを暗号化する必要があります。また、閲覧者は専用のActiveXをダウンロードしないと画像を見ることが出来ません。

実験3は、サーバサイドでリアルタイムで暗号化するので、事前の暗号化は不要です。サーバの負荷を考慮し、簡単なアルゴリズムで、画像の一部のみ暗号化しています。閲覧者はFlashが見れる環境なら画像を見ることが出来ます。

暗号のアルゴリズムは、暗号化テーブルを使った単純なものですし、プログラムは公開していますので、解析される恐れはありますが、それなりのスキルと時間が必要です。コピーの難易度は、かなり高くなります。暗号化テーブルを定期的に更新することで、より安全になります。

実験3で使用してるFlash+CGI公開しました、ダウンロードはこちらから

コピー出来た方、情報お待ちしています。
(注:キャプチャによる保存は可能です。ロゴの入っていない画像を保存できますか?)