2007.12.19 Wednesday
携帯サイトの著作物保護 〜画像転送禁止を厳しく設定する〜
5年ぶり位に携帯の公式サイトコンテンツの開発に関わっております。
3キャリア・全機種対応という条件の中, 昔のメモと記憶とキャリアの技術資料を頼りに何とか形になりました。
ホント, 昔の端末の仕様は無茶苦茶ですね。
特に SoftBank(旧 Vodafone, J-PHONE), そして HDML端末。
それはさておき, 携帯サイトの著作物保護は結構気を使わないといけません。
画像や音声を中心としたサイト, それが公式サイトなら尚更でしょう。
携帯サイトでダウンロードしたデータの“著作物保護”とは, 以下の 3つに分類されます。
画像データに関してのこれらの著作物保護を“厳密”にやろうとすると, 実はかなり面倒なのです。
とは言っても原因は全て SoftBank のせいなのですが。
画像データの著作物保護設定について, 以下に簡単にまとめます。
3キャリア・全機種対応という条件の中, 昔のメモと記憶とキャリアの技術資料を頼りに何とか形になりました。
ホント, 昔の端末の仕様は無茶苦茶ですね。
特に SoftBank(旧 Vodafone, J-PHONE), そして HDML端末。
それはさておき, 携帯サイトの著作物保護は結構気を使わないといけません。
画像や音声を中心としたサイト, それが公式サイトなら尚更でしょう。
携帯サイトでダウンロードしたデータの“著作物保護”とは, 以下の 3つに分類されます。
- 携帯内部の不揮発性メモリへのコピーの禁止
- メールへの添付禁止
- 外部メモリ(SD, メモリスティック)への転送禁止
画像データに関してのこれらの著作物保護を“厳密”にやろうとすると, 実はかなり面倒なのです。
とは言っても原因は全て SoftBank のせいなのですが。
画像データの著作物保護設定について, 以下に簡単にまとめます。
・DoCoMo
画像のコメント部に copy="NO" の文字列を入れるだけです。
・au
画像のコメント部に kddi_copyright=on の文字列を入れるだけです。
DoCoMo, au の場合はこの設定を行うだけで, コピー/メール添付/外部転送 の全てが出来なくなります。
まとめて指定する場合は, kddi_copyright=on,copy="NO" と画像コメントを入れれば OK です。
コメントの入れ方は参考サイト先を参照下さい。
動的に画像を生成する場合は ImageMagick を使えば簡単です。
・SoftBank
さて, 諸悪の根源, SoftBank です。
png を pnz に, jpg を jpz にするという解説が一般的ですが, 著作物保護という観点からは完全ではありません。
確かに拡張子を変更するだけでメール添付の禁止は出来ますが, 端末によってはコピー/外部転送が禁止できません。
著作物保護設定のやり方は端末の型番によって違います。
-C型
画像の拡張子を変えることで著作権保護設定ができます。
png → pnz, jpg → jpz
メール添付/外部転送 は禁止できますが, コピーを禁止することはできません。
(携帯本体内のみ複製できるということで, 外部への配布自体は不可能ですが)
-P/W型
x-jphone-copyright HTTPヘッダと画像の拡張子変更の両方で著作権保護設定ができます。
x-jphone-copyright ヘッダには以下の 3つの値を指定します。
no-store ・・・ コピー/メール添付/外部転送禁止
no-transfer ・・・ メール添付禁止
no-peripheral ・・・ 外部転送禁止
no-transfer と no-peripheral ヘッダは組み合わせることも可能です。
画像の拡張子変更のやり方は C型と同じなのですが, P/W型では何故か外部転送が禁止されません。
-3GC型
基本的には P/W型と同じ...です。
しかし, 何故なのか, x-jphone-copyrightヘッダの制御仕様が P/W型と違います。
no-store ・・・ コピー/メール添付/外部転送 禁止 (※一部端末で利用できない)
no-transfer ・・・ メール添付禁止
no-peripheral ・・・ メール添付禁止(えっ?)
910T で x-jphone-copyright: no-transfer,no-peripheral のヘッダを受け取ってもメモリカード転送は可になっていました。
画像拡張子変更に関しては P/W型と同じです。
SoftBank だけ複雑怪奇な設定方法で, しかも型番によって挙動もバラバラという...
腐った仕様の積み重ねでこうなったとしか思えませんが, それにしても酷すぎます。
これらを踏まえると SoftBank に関しては以下のことが言えます。
画像の拡張子を変えるだけでは P/W型, 3GC型の端末で外部への画像データ転送を禁止できない
ということは, メール添付で送信できなくても mini SD 等に保存して他の端末で読み込むことができちゃうってことになります(試してませんが)。
SoftBank で著作物保護を一番厳しく設定するには,
・C型
png → pnz, jpg → jpz
・P/W型, 3GC型
x-jphone-copyrightヘッダに no-store, no-transfer, no-peripheral を全て設定
とする他ないと思います。
それでも, 3GC の no-store が利用できない一部端末があることから, この一部端末ではどうやっても外部転送を禁止できません...バグとしか思えないのですが。
ちなみに“一部端末”がどの端末かは, 公式ドキュメントには書いてありません。
x-jphone-copyrightヘッダを返すには, mod_headersモジュールを使うと便利です。
png, jpg画像ファイルにアクセスした際にヘッダを付加してやるように Apache側で設定してあげればよいでしょう。
・・・疲れた。
参考)
画像の再配布を禁止する (コピーや転送を不可にする) - 携帯ホームページを作ろう!
再配布不可識別子の設定編集 - NTTドコモ
転送付加情報の付け方 - KDDI au
技術資料 HTTP編 - SoftBank
画像のコメント部に copy="NO" の文字列を入れるだけです。
・au
画像のコメント部に kddi_copyright=on の文字列を入れるだけです。
DoCoMo, au の場合はこの設定を行うだけで, コピー/メール添付/外部転送 の全てが出来なくなります。
まとめて指定する場合は, kddi_copyright=on,copy="NO" と画像コメントを入れれば OK です。
コメントの入れ方は参考サイト先を参照下さい。
動的に画像を生成する場合は ImageMagick を使えば簡単です。
$ convert -comment hogehoge input.png output.png
・SoftBank
さて, 諸悪の根源, SoftBank です。
png を pnz に, jpg を jpz にするという解説が一般的ですが, 著作物保護という観点からは完全ではありません。
確かに拡張子を変更するだけでメール添付の禁止は出来ますが, 端末によってはコピー/外部転送が禁止できません。
著作物保護設定のやり方は端末の型番によって違います。
-C型
画像の拡張子を変えることで著作権保護設定ができます。
png → pnz, jpg → jpz
メール添付/外部転送 は禁止できますが, コピーを禁止することはできません。
(携帯本体内のみ複製できるということで, 外部への配布自体は不可能ですが)
-P/W型
x-jphone-copyright HTTPヘッダと画像の拡張子変更の両方で著作権保護設定ができます。
x-jphone-copyright ヘッダには以下の 3つの値を指定します。
no-store ・・・ コピー/メール添付/外部転送禁止
no-transfer ・・・ メール添付禁止
no-peripheral ・・・ 外部転送禁止
no-transfer と no-peripheral ヘッダは組み合わせることも可能です。
画像の拡張子変更のやり方は C型と同じなのですが, P/W型では何故か外部転送が禁止されません。
-3GC型
基本的には P/W型と同じ...です。
しかし, 何故なのか, x-jphone-copyrightヘッダの制御仕様が P/W型と違います。
no-store ・・・ コピー/メール添付/外部転送 禁止 (※一部端末で利用できない)
no-transfer ・・・ メール添付禁止
no-peripheral ・・・ メール添付禁止(えっ?)
910T で x-jphone-copyright: no-transfer,no-peripheral のヘッダを受け取ってもメモリカード転送は可になっていました。
画像拡張子変更に関しては P/W型と同じです。
SoftBank だけ複雑怪奇な設定方法で, しかも型番によって挙動もバラバラという...
腐った仕様の積み重ねでこうなったとしか思えませんが, それにしても酷すぎます。
これらを踏まえると SoftBank に関しては以下のことが言えます。
画像の拡張子を変えるだけでは P/W型, 3GC型の端末で外部への画像データ転送を禁止できない
ということは, メール添付で送信できなくても mini SD 等に保存して他の端末で読み込むことができちゃうってことになります(試してませんが)。
SoftBank で著作物保護を一番厳しく設定するには,
・C型
png → pnz, jpg → jpz
・P/W型, 3GC型
x-jphone-copyrightヘッダに no-store, no-transfer, no-peripheral を全て設定
とする他ないと思います。
それでも, 3GC の no-store が利用できない一部端末があることから, この一部端末ではどうやっても外部転送を禁止できません...バグとしか思えないのですが。
ちなみに“一部端末”がどの端末かは, 公式ドキュメントには書いてありません。
x-jphone-copyrightヘッダを返すには, mod_headersモジュールを使うと便利です。
png, jpg画像ファイルにアクセスした際にヘッダを付加してやるように Apache側で設定してあげればよいでしょう。
<FilesMatch "\.(jpg|png)$">
Header set x-jphone-copyright no-store
Header append x-jphone-copyright no-transfer
Header append x-jphone-copyright no-peripheral
</FilesMatch>
・・・疲れた。
参考)
画像の再配布を禁止する (コピーや転送を不可にする) - 携帯ホームページを作ろう!
再配布不可識別子の設定編集 - NTTドコモ
転送付加情報の付け方 - KDDI au
技術資料 HTTP編 - SoftBank









Comments