デジタル署名と公開鍵の信頼性
デジタル署名の仕組みと、それに関連する公開鍵証明書について、分かりやすく説明します。
**デジタル署名とは?**
デジタル署名は、公開鍵と共に以下の2つを保証する技術です:
1. 文書の改ざんがないこと(完全性の保証)
2. 署名者が誰であるかの確認(信頼性の保証)
この技術は、電子文書が改ざんされていないことを確認したり、オンライン上でデータを安全にやり取りしたりするのに役立ちます。 例として、インターネット上の通信(SSL/TLS)や電子申請、オンラインショッピングなどで利用されています。
**デジタル文書保証の仕組み:デジタル署名を使う**
デジタル署名には、公開鍵暗号の仕組みが使われます。以下の手順で行います:
1. 鍵の生成
署名アルゴリズム(例:RSAやECDSA)を使い、
- 秘密鍵(署名を作る鍵)
- 公開鍵(署名を検証する鍵)
のペアを作成します。
2. デジタル署名の作成
- 文書の内容を「ハッシュ関数」で要約して短い数値(ハッシュ値)にします。
- ハッシュ値と秘密鍵を使って、デジタル署名を作ります。
3. デジタル署名の添付
デジタル文書にデジタル署名を添付し、受信者に送ります。
4. デジタル署名の検証
- 受け取った文書、添付されたデジタル署名、そして署名者の公開鍵を使います。
- 公開鍵で検証し、文書が改ざんされていないことと、署名者が正しいことを確認します。
**公開鍵証明書(デジタル証明書)とは?**
署名の検証に使う公開鍵は誰でも作れるため、不正に使われる危険性があります。そこで、「この公開鍵は正しい持ち主のものです!」と保証する仕組みが「公開鍵証明書」です。
公開鍵証明書には次の情報が含まれています:
- 公開鍵の持ち主(名前や組織名)
- 公開鍵
- 証明書を発行した認証局(CA:Certificate Authority)の情報
- 認証局によるデジタル署名(公開鍵の保証)
**トラストチェーンと認証局**
公開鍵証明書を信頼するには、発行元である認証局(CA)が信頼できる必要があります。この信頼性は「トラストチェーン」という構造で確立されます。
1. 認証局の署名
認証局Aが署名者の公開鍵を証明。
2. さらに上位の認証局Bの署名
認証局Aの公開鍵も認証局Bが署名して保証。
3. ルート認証局
トラストチェーンの最上位にある認証局。すべての信頼の基点。
**コストやグループ内利用**
公開鍵証明書の発行や維持には費用がかかるため、限定的な環境では、グループ内で独自の証明書を発行して使うこともあります。これによりコストを抑えつつ、信頼性を確保できます。
このように、デジタル署名と公開鍵証明書は、インターネットの安全な通信やデータの信頼性を支える重要な技術です。
マイナンバーカードによるMS Wordへの署名
マイナンバーカードを使って、MS Wordファイルに署名を付与する方法について、簡単に説明します。この方法では、マイナンバーカードの電子証明書機能を活用して、ファイルの安全性や信頼性を保証できます。
**マイナンバーカードの基本**
- 発行元: 地方公共団体情報システム機構(J-LIS)。
- 機能:
・本人確認:カード所有者が本当にその人であることを確認(PINによる確認)。
・ 署名生成:ファイルやデータに対する「デジタル署名」を行う。
マイナンバーカードには、以下のデータが含まれています:
1. 秘密鍵:デジタル署名を作成するためのデータ。
2. 公開鍵:デジタル署名を検証するためのデータ(J-LISが信頼性を保証)。
これにより、他の有料の電子証明書を使わずに署名が行えるので、コストを削減できます。
**MS Wordファイルに署名する仕組み**
1. 使用する技術:
- カードのAPI:マイナンバーカードにアクセスしてデジタル署名の生成に使用。
- Java API:デジタル署名を検証するためのプログラムに使用。
2. 対象ファイル:Word形式(Office Open XML形式)ファイル。
- 文字だけでなく、画像や動画が埋め込まれたファイルにも対応。
**この署名方法の特長**
- J-LISが保証:デジタル署名やデータが改ざんされていないことを公的に証明。
- 応用例:
- 公式資料:重要な公的文書。
- ビデオ遺言:動画と説明文を一緒に署名することで、改ざんを防止。
この仕組みを活用すれば、ファイルの信頼性を高め、重要な情報を保護することができます!
MS Wordファイルへの署名 概略
上図(上)は、署名対象のWordファイルです。署名者は、自身のマイナンバーカードを用いて、このファイルに署名します。このとき、電子証明書(公開鍵証明書)とデジタル署名値をQRコードに変換して、上図(下)のようにWordファイルに挿入します。
検証するときは、この2つのQRコードを用いますので、マイナンバーカードは必要ありません。
MS Wordファイルへの署名例
下図は署名済みのMS Wordファイルです。ドキュメントにはテキスト、画像、動画が含まれています。署名欄にはデジタル署名に対応するQRコードが挿入されています。電子証明書に対応するQRコードは不可視になっています。
MS ExcelファイルへのmRS署名
**mRS署名を使ったMS Excelファイルの署名方法**
mRS署名を使うと、Excelファイル全体の内容が署名の対象となります。このため、ファイルが改ざんされたり、偽造されたりする心配がありません。署名が挿入されたExcelファイルには、次の特徴があります。
**署名と検証の仕組み**
- 署名:専用のアプリケーションを使って簡単に行えます。
- 検証:同じアプリケーションを使って、ファイルが改ざんされていないことを確認できます。
**ポイント**
- mRS署名では、Excelファイルの内容すべてが対象なので、どんな改ざんも検出可能です。
- 2次元コード形式で署名が保存されるため、直感的に署名の有無を確認できます。
これにより、安全かつ手軽にExcelファイルの信頼性を保つことができます。
**ExcelファイルへのmRS署名の例**
-下図のように 署名欄に2次元コード(QRコードのようなもの)が表示されます。
- この2次元コードには、ファイルのデジタル署名値が格納されています。
参考文献
[1]先名健一、"マイナンバーカードを用いた Office Open XML ファイルに対する署名と検証スキーム",第 23 回情報科学技術フォーラムFIT2024,第4分冊 pp.141~142, (2024.9).