Color Modes

画像の暗号化と復号化

画像の暗号化画像の復号化暗号化と復号化に関する注意点

ほとんどの画像は、設計上、多くの人によって頻繁に閲覧されるように作られています。例えば、ウェブ画像は、1日に何百回も多数の訪問者によって閲覧される可能性があります。しかし、場合によっては、特定の画像を非公開にして、自分自身または少数の友人やウェブ訪問者だけが閲覧できるようにしたい場合があります。ImageMagickを使用すると、パスフレーズを知らない限り、元のコンテンツを閲覧できないように、画像をスクランブルすることができます。

暗号化ユーティリティを使用して画像をスクランブルすることもできますが、通常はファイル全体をスクランブルするため、画像形式として認識できなくなります。ImageMagickでは、ピクセルのみがスクランブルされます。スクランブルされた画像は、引き続き画像として認識され、ウェブページにも表示されます。ただし、コンテンツは元のコンテンツとは全く異なる、意味不明なものとして表示されます。

画像の暗号化

-encipherオプションを使用して、画像を認識できないようにスクランブルします。このオプションには、パスフレーズを含むファイル名が必要です。この例では、画像をスクランブルしてPNG形式で保存します。

magick rose.jpg -encipher passphrase.txt rose.png 

ここでは、別の画像をパスフレーズとして使用して画像を暗号化します。

magick rose.jpg -encipher smiley.gif rose.png 

画像の復号化

-decipherオプションを使用して、画像を再び認識できる状態に復元します。このオプションには、パスフレーズを含むファイル名が必要です。この例では、画像を復元してJPEG形式で保存します。

magick rose.png -decipher passphrase.txt rose.jpg 

暗号化と復号化に関する注意点

JPEGやGIF形式など、一部の形式では暗号化されたピクセルをサポートしていません。画像形式がサポートされていることを確認するには、テスト画像を暗号化し、その形式で追加の画像を暗号化するに、元のコンテンツを復元できることを確認してください。

画像形式は、8ビットとRGB(TrueColor)のみをサポートする場合があります。そのため、出力ファイル名の前に「-depth 8 -type TrueColor」オプションを含めることをお勧めします。

パスフレーズには、文字と記号の任意の組み合わせを使用できます。画像は非公開のままにするために、少なくとも12文字の組み合わせにする必要があります。また、パスフレーズファイルのパーミッションにより、他人が読み取れないように設定してください。そうしないと、意図しないユーザーが元の画像コンテンツを表示できる可能性があります。

パスフレーズを知っている場合にのみ、元の画像コンテンツを復元できます。パスフレーズを紛失または忘れた場合、元の画像コンテンツは永久に失われます。

ImageMagickは画像ピクセルのみをスクランブルします。画像メタデータは変更されず、画像ファイルにアクセスできるユーザーは誰でも読み取ることができます。

ImageMagickは、カウンターモードのAES暗号化を使用します。パスフレーズの最初の半分を使用してノンスを導出し、後半を暗号化キーとして使用します。正しく使用すれば、AES-CTRは高い機密性を提供します。情報漏洩を避けるために、暗号化する各画像には新しいパスフレーズを使用する必要があります。

現在、暗号化された画像コンテンツを復元できるのはImageMagickのみです。標準的な暗号化とモードを使用しているため、他のベンダーも暗号化された画像コンテンツをサポートできる可能性があります。

画像暗号化のいくつかの小さな実践的な例は、IM Examplesの画像データの暗号化にあります。