大事な画像ならHTTPS通信で配信するべきだって話になっちゃうのかな、、、
本来、土管であるべきのキャリアが、途中で品質を変えてしまったってあたりが今回の問題点かなあ、とも。
多分、ダウンロードしてきた画像データの改ざんチェックにハッシュ値を使っていたんじゃないですかね。アプリを設計する過程で、データの改ざんチェックが問題になることがありまして、海賊版とかに乗っ取られたり、中継されたりすると不味いというのが主に法務の人とかが気にするんですよええ。
後、もう一点。画像データであることを認識するためには、画像データであることを認識する必要があってつまり中継点で一度画像データを保存してキャッシュしているってこと。HTTP経由でしょうから、パブリックなデータでキャッシュしてもよかろう、という判断もあろうかとは思うのですが、気分がイイキャッシュではないですよね。
Gmailでも同様のことをやっていることは知られていますけど、Gmailは使わないという選択肢がある分、逃げ道はあります。が、土管でそれをやられると逃げようがないというのが苦しいところでしょう。
今回のバッドノウハウは以下のとおり。
- 暗号化通信ではない画像データは完全一致しない場合がある
画像データにデジタル署名やタグデータなどを埋め込むサービスは破綻する場合がありますね。Exif情報も壊れていそう。高品質な写真共有サービスを提供しているサイトも影響を受けそうだ。 - 守りたいデータはHTTPではなくHTTPS通信で
これ、ブラウザでは問題ないんですけど、チープな携帯電話ですとHTTPS通信の負荷は結構高いんですよ。サーバー側はもうそんなことを言ってらんなくなっているというか、Googleが推奨し始めているので、HTTPS通信かHTTP/2の流れになるでしょう。
だけど携帯だとまだ辛い。ブラウザで実装されている様々なテクニックを移植するってのも、これはこれで辛い。アプリは色々辛いんですよ。 - 折衷案として独自データ方式か可逆圧縮にまとめるとか
土管に画像データであることを認識させなければいいわけです。多分、頭の部分だけ見ているかと思われますので、頭の数10byteをXORするか、もしくはzipで固めてダウンロードするか、ですかね。tarだと画像データだってことがバレそう。
少なくともlibjpegのデコード品質の問題では無いよ。
0 件のコメント:
コメントを投稿