🫕

   画像の新しいデジタル署名スキーム

に公開

はじめに

生成AIの進化により、本物の画像と偽画像との判別が困難になってきています。AIによる判別もできますが、完全ではありません。今回紹介するデジタル署名スキームは、誤り訂正符号とデジタル署名を用いて画像と署名の一体化を実現するもので、完全な真偽判定を与えます。

従来のスキーム

署名したいデジタル画像をAとします。Aのデジタル署名を求めるアルゴリズムとしては楕円曲線デジタル署名アルゴリズム(ECDSA)を始めいくつもありますが、どのアルゴリズムでもAのハッシュ値が必要になります。そのため画像Aとは別に署名を保存するファイル等を用意しなければなりません。何故ならば、署名をAに挿入(LSBなどを利用)するとAのハッシュ値が変化してしまいAの原本性の検証ができなくなるためです。このようにAと署名の一体化した「署名付き画像」を生成することは従来のスキームでは不可能と言えます。実際、そのような研究や事例は見たことがありません。

新しいスキーム

上述の理由で、署名を画像に直接埋め込むことはできません。そこで、ここではReed-Solomon(RS)符号を利用するスキームを以下に紹介します。
<署名付き画像の生成>

  1. RS符号化するメッセージをMとします。Mはテキストであれば何でも構いません。MをRS符号化した符号語をWとします。
  2. RS符号語Wを画像AのLSBに埋め込み,それをA'とします。
  3. A'に対するデジタル署名を求め、それをσとします。
  4. 排他的論理和を用いて、σをWにを埋め込み、それをW'とします。
    そのときA'のWをW'に置換えた画像をA''とします。
    ただし、σの大きさ(ビット長)はWの誤り訂正能力を超えないことが必要条件になります。
  5. このスキームでは、A'が署名対象の画像で、A''は「署名付きの画像」になります。
    <署名付き画像A''の検証>
  6. A''からW'を抽出し、ユークリッド復号法などを用いてW'を復号します。この復号により、W'は、Wとσに分離します。
  7. A''のW'をWに置換してA'を取得し、署名σの検証を行います。
  8. 署名σが真であれば、A'の原本性が証明されたことになります。
  9. 後述しますが、3つの画像、A,A'及びA''には視覚的な差異はなく、全く同じに見えます。

なお、符号理論を用いた署名スキーム(code-based signature scheme)の研究はいくつか報告されていますが[1][2]、実行パフォーマンスが悪かったり、或いは秘密鍵の漏洩リスクがあったりで、これまで実用化されていません。

実験

実験では、38.3kバイトのPNG写真を用いました。

図1 画像A

<RS符号Wの生成>
5個のメッセージM: ID,Title,Signer,Issuer,Date
各メッセージに対して符号長42バイトのRS符号語生成
=> 全体で210バイトのRS符号W

<画像A'の生成>
画像Aの適当なピクセル群のLSBに210バイトのRS符号を埋め込み画像A'を生成します。この画像A'を署名対象とします。

<画像A''の生成>
画像A'に対して、ECDSAを用い160ビット長のデジタル署名σを生成します。次に、RS符号Wにσを排他的論理和で埋め込み、それをW'とします。最後に、画像A'のWをW'に置換して「署名付き画像A''」を生成します。
次の画像はA''です。画像Aと画像A''の視覚的な差異は認められません。なお、Aに対するA''のPSNRは82.2dBですのでノイズは極めて小さいことが分かります。

図2 署名付き画像 A''

<署名の検証>
前述しましたが、署名σは画像A'に対するものです。そこで、検証フェーズでは、まず、A''からW'を抽出してW'に復号アルゴリズムを適用します。この復号によってW'はWとσ'に分離されます:

W' -> W + σ'

次に、A''に埋め込まれているW'をWに置換するとA'が得られます。
最後に、ECDSAの検証アルゴリズムによって、A'の署名σが正当かどうか判定します。

検証Webアプリケーション

画僧A'を検証するための試験的なWebアプリケーションを公開しています:
https://galoaimage.com

このサイトに署名付き画像A''をアップロードすると、署名が真正のときRS符号のメッセージが表示されます。また、画像Aに事前にテキストを埋め込むと、このテキストの真正性も確認できます。このテキストも画像同様に改ざんできません。
次の図3は、図2のA''をこのWebサイトにアップロードしたときの結果を示しています(A'の真正性確認)。

図3 画像A'の検証結果

おわりに

最近、デジタルデータの偽造・改ざん事案が多発しています。特に、生成AIの進化に伴い、偽の画像が悪用されるリスクは非常に高くなっています。今回ここで紹介しました基礎技術は、画像の真偽判定を厳密に行うもので、偽画像の悪用を未然に防ぐのに効果的です。この技術が社会に少しでも役立つことを願っています。なお、署名付き画像A''は、ご希望の方にお渡ししますので、お知らせください。

脚注
  1. N. T. Courtois, M. Finiasz, and N. Sendrier, “How to
    achieve a McEliece-based digital signature scheme,” in
    Proc. of the 7th Int. Conf. on the Theory and Application
    of Cryptology and Information Security-Advances in
    Cryptology-ASIACRYPT 2001. Gold Coast, Australia:
    Springer-Verlag, Berlin, 9-13 December 2001, pp. 157-174 ↩︎

  2. Farshid Makoui, Thomas Aaron Gulliver, Mohammad
    Dakhilalian,”A new code-based digital signature based on
    the McEliece cryptosystem”, IET Commun. 17(10), 1199
    1207 (2024) ↩︎

Discussion