PNG画像のメタデータを削除
02 JPEGとは異なるプライバシーの事情
ほとんどのPNGファイルはカメラ写真ではなく、スクリーンショットやグラフィック、編集ツールからの書き出し結
果です。これにより実際のリスクが変わります。PNGがGPSデータを運ぶことはめったにありません。そもそもスク
リーンショットには記録すべきカメラのGPSが存在しないからです。PNGが運ぶのは「補助データブロック」——
tEXt/iTXtの自由記述テキストフィールド(ファイルを作成したソフトウェア名や、
編集ツールが残したメモなど)、iCCPカラープロファイル、そしてそのPNGがスクリーンショットで
はなくカメラや携帯電話由来である場合には、時に本物のeXIfブロックも含まれます。
詳しく見る:なぜPNG自身の終端マーカーも常に付加データがないか確認されるのか
PNGにはJPEGの画像終端マーカーと同様、IENDという明確に定義されたファイル終端ブロックがあ
ります——そして同じ複数形式混合の手口がここにも当てはまります。IENDの後に付加されたデー
タは、普通の画像ビューアーには見えませんが、ファイル内には物理的に存在し続けます。完全なピクセル再構
築は、実際にそこに何が隠れていようとも、比較ページで説
明されているのと同じ保証のもとで、これを無条件に破棄します。
なぜステガノグラフィが実際に狙う形式がPNGなのか
PNGは無損失です——保存したすべてのピクセル値は、再圧縮によって何かが微妙に変化することなく、まったく同 じ値として読み戻されます。まさにこの性質のおかげで、ピクセル値の最下位ビットにデータを隠す古典的なLSBス テガノグラフィは、単純な「メタデータだけ削除する」処理を完全に無傷で生き延びてしまいます——ピクセル自体 は決して変化せず、変化するのはその周囲のメタデータだけだからです。本ツールの任意機能であるステガノグラフ ィ対策(各ピクセルの最下位ビットを消去する)は、まさにこの理由で存在しており、JPEGよりもPNGにとってはる かに重要な意味を持ちます。JPEGでは再圧縮そのものが副作用としてすでにこれらのビットを乱しているためです。
無損失形式における圧縮プリセット
PNGにはJPEGのような「画質」という概念がないため、ここでの圧縮プリセットはフィルタリングとdeflate圧縮の 強さを制御します——「超圧縮」は、品質を落とすのではなく、まったく同じピクセルに対してより小さなエンコー ディングを見つけるためにより多くの計算を投じます。どのプリセットでも、メタデータは100%削除されます。