デジタル署名 anchor.png

デジタル署名は紙文書におけるサイン(署名)や印鑑に相当するもので,電子文書ファイルやデータファイルにデジタル署名を行うことにより,間違いなくその文書が署名者本人の物であることと,内容が改ざんされていないことを証明する仕組みの事。

紙文書では押印したりサインすることでその文書が原本であることを証明するが,電子文書ファイルやデータファイルでは直接手書きのサインをしたり押印することは出来ないので,それが原本であること改ざんされていないこと,をどのようにして証明するかが課題となる。

そこでこの課題を,電子文書ファイルやデータファイルに対して電子証明書と秘密鍵を用いたデジタル署名を行うことで解決している。

電子証明書は紙文書での印鑑証明書身分証明書にあたり,認証局(CA)と呼ばれる第三者機関で本人認証と厳しい審査を経て後,発行されるようになっている。

この電子証明書と秘密鍵を使って電子文書ファイルやデータファイルにデジタル署名することで,デジタル署名された電子文書ファイルやデータファイルは間違いなくその人によって作成されたものと相手に信頼してもらうことが出来るようになる。

デジタル署名では,完全性を構成する要素である誰がいつ何をの中で,誰が何をを証明する事が出来る。しかし,いつを証明することが出来ない。
これはコンピュータを用いるデジタル署名では,そのコンピュータの時刻設定などを変更することで簡単に日時を変えたりすることが出来てしまうから。

そこで,このいつを証明するために,タイムスタンプを併用することが必要となる。

Page Top

デジタル署名の役割 anchor.png

デジタル署名の役割には,以下の2つがある。

  • デジタル署名で作成者を証明する。
    デジタル署名をするとその電子文書ファイルの作成者が記録されて,誰が作成した文書なのかの証明が出来る。
  • 改ざんの防止
    デジタル署名が付与された電子文書ファイルやデータファイルは,第三者によって変更することが出来にくくなる。
Page Top

デジタル署名の仕組み anchor.png

デジタル署名は,公開鍵秘密鍵を利用した公開鍵暗号(PKI)が使われていて,データの改ざん検知と署名者(文書作成者)の特定を行うことが出来る。

秘密鍵と公開鍵はペアになっていて,秘密鍵は作成者だけが保持している鍵なので,そのペアとなっている公開鍵でしか復号化は出来ない。

秘密鍵は持ち主以外知り得ないので,そのデジタル署名された電子文書ファイルやデータファイルはその持ち主の秘密鍵で暗号化されたデータであることがわかる。

Page Top

電子証明書を使ったデジタル署名の流れ anchor.png

作成者(送信する側)は,相手に渡す電子文書ファイルやデータファイルから計算されるハッシュ情報を秘密鍵で暗号化し,電子証明書として公開鍵を含めてデジタル署名として添付して受取者に渡す(送信する)。
すると受取者(受信者)は,電子証明書が有効なものかどうかを認証局に確認出来る。
電子証明書の有効性が確認出来たら,公開鍵を使ってハッシュ情報を復号化し,それと電子文書ファイルやデータファイルの中身から計算されたハッシュ情報と比較を行うことで,デジタル署名された本人からの電子文書ファイルやデータファイルであるということが確認できる。

  1. ハッシュ関数を使って電子文書ファイルやデータファイルのハッシュ値を作成する。
  2. 秘密鍵を使ってハッシュ値を暗号化。電子証明書と共にデジタル署名する。
  3. デジタル署名が付いた電子文書ファイルやデータファイルをを渡す(送信する)。
  4. デジタル署名に含まれている暗号化された電子文書ファイルやデータファイルのハッシュ値を,電子証明書にある公開鍵で復号化する。
  5. 送られてきた電子文書ファイルやデータファイルの中身を,ハッシュ関数を使ってハッシュ値の計算をする。
  6. 4で復号したハッシュ値と,5で作成したハッシュ値を比較する。
  7. 同じであれば,確実に作成者が作成した電子文書ファイルやデータであることが確認できる。
Page Top

改ざん検知について anchor.png

データの改ざんの有無は,ハッシュ値*1という電子データごとのユニークIDのようなものをつけることで確認が出来る。
上記のデジタル署名の流れでは,文書作成者の文書のハッシュ値を秘密鍵で暗号化し,デジタル署名をつけて相手に送る。
これを受けとった人は,文書作成者の公開鍵を使ってデジタル署名に入っている電子文書のハッシュ値を復号化する。次に受け取った電子文書のハッシュ値を別に計算して比較する。
この2つが一致すれば,改ざんされていないことが分かる。

なぜ2つのハッシュ値を比較して同一であれば改ざんされていないと証明できるのか。
それは,元データがちょっとでも異なれば同一のハッシュ値が出力される可能性が非常に低いというハッシュの特徴を利用している。
2つのハッシュ値を比較して同一であれば,元データも同一であるとほぼ言える。

Page Top

ペーパーレス時代におけるデジタル署名の必要性 anchor.png

契約・ワークフロー・決済処理・取引など,業務における様々な場面での電子文書(ペーパーレス)化が推奨されているが,単純にペーパーレス化を進めるだけでなく気を付けなければいけない点がいくつかある。
もし管理方法を誤りインシデントが発生した場合,会社の信用問題にも発展しかねない。

また紙文書では,契約書や見積書といった重要書類に印鑑や手書きのサインがされることで文書における証明性の効力が発揮されるが,電子文書ファイルへ直接手書きの署名・押印を行うことは出来ない。
仮に署名・押印を行った紙文書をスキャンして保存したとしても,画像となった署名・押印は容易にコピー出来てしまうため,証明性の効力は発揮出来ない。

Page Top

電子文書の管理の問題 anchor.png

  • 原本と同一のコピーが簡単
  • 改ざんがあっても痕跡がわからない
  • 作成日時が操作できる
  • データ消失や互換性喪失のリスク
  • 関連法律を遵守しないと効力が発揮されない

そこで電子文書が誰に作成されたのか,また作成後の改ざんが無いかを証明するために使用されるのがデジタル署名というわけです。

Page Top

ペーパーレス化におけるデジタル署名のメリット anchor.png

紙での文書管理の場合,印鑑や手書きのサインで本人が認めたという証明を行いますが,電子文書の場合は認証局から発行された電子証明書を使用してデジタル署名を電子文書に追加することにより,その文書に署名者本人が署名したこと(本人性)を保証する。
デジタル署名は文書全体を暗号化し第三者によって内容が改ざんされることは無いため,署名者本人がこの電子文書を作成したこと(非改ざん性)を担保し,不正に改ざんされた場合には検知することが出来る。

これらの事から,文書の真正な成立を保証出来るようになる。

Page Top

電子証明書を発行する認証局 anchor.png

電子証明書を発行する認証局には多くある。

Page Top

パブリック認証局 anchor.png

電子証明書はその人を特定するため,一般的には認証局と呼ばれる第三者によって,確かに本人だということを証明するために発行した電子証明書である必要がある。

文書での契約書等で従来行われている実印と印鑑証明書が揃ってないと意味をなさないと同様に,それを電子的に行うのがデジタル署名と電子証明書ということみたいだ。

日本では第三者(パブリック認証局)として法務省が運営する認証局と民間企業が運営する認証局がある。
パブリック認証局で証明書を発行してもらうには,かなりの費用(法務省:4300円/年,民間:10000円程度/年)と時間がかかる。
プログラム等で使用するコード証明書の場合はこの2倍ぐらいかかる。

パブリック認証局が発行する証明書には用途によって種類があって,価格も種類によって違う。

  • 特定認証業務向け証明書(日本認定)
  • SSLサーバ証明書
  • クライアント証明書
  • コードサイニング証明書
  • 文書署名用証明書

また用途によっては,民間企業のパブリック認証局が発行した証明書は使用できない場合もある。

Page Top

プライベート認証局 anchor.png

第三者ではなく個人で勝手に電子証明書を発行することもできる。プライベート認証局とかオレオレ証明書とか言っている。
しかし勝手に作成するので当然電子証明書としての信頼性は担保されない。このため公共的な契約などでこのような電子証明書を使用したデジタル署名は,実際には意味が無いことになる。

Page Top

マイナンバーカード anchor.png

マイナンバーカードは国の行政機関の「地方公共団体情報システム機構」が第三者として発行している証明書が保存されていて,それは住民票などのデータを元にしているため本人確認として信頼出来る証明書となっている。
マイナンバーカードに保存されている電子証明書は無料で利用でき,日本国民であれば大方持っているので利用しやすい環境でもある。


*1 あるデータをハッシュ関数を使って演算した結果。同じ元データからは同じハッシュ値が得られ,少しでも異なるデータからは同じハッシュ値が得られる可能性はほとんどない。また,ハッシュ値とハッシュ関数から元データを算出することは出来ない。

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 40, today: 2, yesterday: 0
最終更新: 2024-03-06 (水) 16:52:23 (JST) (53d) by yuji