公開鍵の信頼性
デジタル署名は、デジタル文書の完全性(改ざんされていないこと)と信頼性(署名者の身元が保証されていること)を与えるもので、インターネットの普及に伴い、SSL/TLS、電子商取引、電子申請・届出などに幅広く使われています。
ここで、公開鍵と秘密鍵を用いた署名方法について簡単に説明します。
最初に、使用する署名アルゴリズム(RSA署名、ECDSA署名、Schnorr署名など)に従って秘密鍵と公開鍵を生成します。次に、署名したいデジタル文書のハッシュ値(※)を求め、セキュリティパラメーター(ランダム変数値)、秘密鍵を基にデジタル署名値を算出します。このデジタル署名値は、デジタル文書と紐づけておきます
デジタル署名を検証するときは、デジタル文書と公開鍵を使い、検証アルゴリズムにより署名の真正性を検証します。
ここで重要なのが公開鍵の信頼性です。公開鍵は誰でも簡単に作れるため、なりすましなどの不正を受ける可能性があります。
そこで、公開鍵の真正性を保証する公開鍵証明書(デジタル証明書)が利用されます。
公開鍵証明書は 主体者(ここでは署名者)の公開鍵、主体者を同定する情報(名前、組織名等)、公開鍵証明書の発行者(認証局Aとします)、認証局Aによるデジタル署名(主体者の公開鍵へのデジタル署名)、認証局Aの公開鍵、等を記載しています。この公開鍵証明書の内容は標準形式規定X.509に従っています。公開鍵証明書に記載されている認証局Aの公開鍵ですが、この真正性を証明するために、別の認証局Bによる署名が必要になります。認証局Bの公開鍵は更に別の認証局Cが署名しなければなりません。
このように、公開鍵の真正性の証明には、連結した認証局のデジタル署名が必要になります。その最も上位の認証局をルート認証局といいます。この認証系により、ルート認証局を基点とするトラストチェーン(公開鍵基盤、PKI)が形成されます。
なお、公開鍵証明書(電子証明書)の発行・維持手数料は安価ではありません。信頼関係のあるグループであれは、コスト軽減のため、グループの一員が主体的に電子証明書を発行し、グループ内て限定的に使用することも可能です。
※一方向性ハッシュ関数とは、任意の長さのメッセージを固定長の文字列に変換する一方向性の関数をいいます。また、ハッシュ値とは、一方向性ハッシュ関数の値(文字列)をいいます。
マイナンバーカードによるMS Wordへの署名
マイナンバーカード(マイナカード)は、地方公共団体情報システム機構(J-LIS)が発行するもので、本人確認や署名に使われます。ここでは、マイナカードを使用したMS WordへのRSA署名について説明します。マイナカードには、カード所有者による署名のための秘密鍵と公開鍵が格納されており、公開鍵はルート認証局にあたるJ-LISによって保証されています。従って、マイナカードを利用すると、民間業者の発行する電子証明書(公開鍵証明書)を使用しなくて済み、コスト的に大きなメリットになります。
マイナカードによる署名(RSA署名)は、技術的には、マイナンバーカードのカード APライブラリと Java API を用い、MS Wordファイル (Office Open XMLファイル形式)に対して署名/検証するスキームです。このスキームの詳細は、拙著 [1]を参照してください。このスキームを使うと、テキストだけでなく、画像や動画の埋め込みがあるWordファイルへの署名が可能になります。
特に、この署名スキームは動画とその説明文の原本性をJ-LISを介して保証しますので、公的な認証の必要な動画資料やビデオ遺言などに有効です。
MS Wordファイルへの署名 概略
上図(上)は、署名対象のWordファイルです。署名者は、自身のマイナカードを用いて、このファイルに署名します。このとき、電子証明書とデジタル署名値をQRコードに変換して、上図(下)のようにWordファイルに挿入します。
検証するときは、この2つのQRコードを用いますので、マイナカードは必要ありません。
MS Wordファイルへの署名例
下図は署名済みのMS Wordファイルです。ドキュメントにはテキスト、画像、動画が含まれています。署名欄にはデジタル署名に対応するQRコードが挿入されています。電子証明書に対応するQRコードは不可視になっています。
MS ExcelファイルへのmRS署名
ここでは、mRS署名を用いてMS Excelファイルへの署名を紹介します。この署名手法は、署名を含めファイルのコンテンツすべてが署名の対象にします。従って、ファイルの偽造・改ざんは原理的に起こり得ません。下図はmRS署名の例です。署名欄に長方形の2次元コードが挿入されています。この2次元コードにはデジタル署名値が格納されています。 専用のアプリケーションにより署名・検証は手軽に行えます。
参考文献
[1]先名健一、"マイナンバーカードを用いた Office Open XML ファイルに対する署名と検証スキーム",第 23 回情報科学技術フォーラムFIT2024,第4分冊 pp.141~142, (2024.9).