デジタル署名は紙文書におけるサイン(署名)や印鑑に相当するもので,電子文書ファイルやデータファイルにデジタル署名を行うことにより,間違いなくその文書が署名者本人の物であることと,内容が改ざんされていないことを証明する仕組みの事。
紙文書では押印したりサインすることでその文書が原本であることを証明するが,電子文書ファイルやデータファイルでは直接手書きのサインをしたり押印することは出来ないので,それが原本であること・改ざんされていないこと,をどのようにして証明するかが課題となる。
そこでこの課題を,電子文書ファイルやデータファイルに対して電子証明書と秘密鍵を用いたデジタル署名を行うことで解決している。
電子証明書は紙文書での印鑑証明書や身分証明書にあたり,認証局(CA)と呼ばれる第三者機関で本人認証と厳しい審査を経て後,発行されるようになっている。
この電子証明書と秘密鍵を使って電子文書ファイルやデータファイルにデジタル署名することで,デジタル署名された電子文書ファイルやデータファイルは間違いなくその人によって作成されたものと相手に信頼してもらうことが出来るようになる。
デジタル署名では,完全性を構成する要素である誰が・いつ・何をの中で,誰がと何をを証明する事が出来る。しかし,いつを証明することが出来ない。
これはコンピュータを用いるデジタル署名では,そのコンピュータの時刻設定などを変更することで簡単に日時を変えたりすることが出来てしまうから。
そこで,このいつを証明するために,タイムスタンプを併用することが必要となる。
デジタル署名の役割には,以下の2つがある。
デジタル署名は,公開鍵と秘密鍵を利用した公開鍵暗号(PKI)が使われていて,データの改ざん検知と署名者(文書作成者)の特定を行うことが出来る。
秘密鍵と公開鍵はペアになっていて,秘密鍵は作成者だけが保持している鍵なので,そのペアとなっている公開鍵でしか復号化は出来ない。
秘密鍵は持ち主以外知り得ないので,そのデジタル署名された電子文書ファイルやデータファイルはその持ち主の秘密鍵で暗号化されたデータであることがわかる。
作成者(送信する側)は,相手に渡す電子文書ファイルやデータファイルから計算されるハッシュ情報を秘密鍵で暗号化し,電子証明書として公開鍵を含めてデジタル署名として添付して受取者に渡す(送信する)。
すると受取者(受信者)は,電子証明書が有効なものかどうかを認証局に確認出来る。
電子証明書の有効性が確認出来たら,公開鍵を使ってハッシュ情報を復号化し,それと電子文書ファイルやデータファイルの中身から計算されたハッシュ情報と比較を行うことで,デジタル署名された本人からの電子文書ファイルやデータファイルであるということが確認できる。
データの改ざんの有無は,ハッシュ値*1という電子データごとのユニークIDのようなものをつけることで確認が出来る。
上記のデジタル署名の流れでは,文書作成者の文書のハッシュ値を秘密鍵で暗号化し,デジタル署名をつけて相手に送る。
これを受けとった人は,文書作成者の公開鍵を使ってデジタル署名に入っている電子文書のハッシュ値を復号化する。次に受け取った電子文書のハッシュ値を別に計算して比較する。
この2つが一致すれば,改ざんされていないことが分かる。
なぜ2つのハッシュ値を比較して同一であれば改ざんされていないと証明できるのか。
それは,元データがちょっとでも異なれば同一のハッシュ値が出力される可能性が非常に低いというハッシュの特徴を利用している。
2つのハッシュ値を比較して同一であれば,元データも同一であるとほぼ言える。
契約・ワークフロー・決済処理・取引など,業務における様々な場面での電子文書(ペーパーレス)化が推奨されているが,単純にペーパーレス化を進めるだけでなく気を付けなければいけない点がいくつかある。
もし管理方法を誤りインシデントが発生した場合,会社の信用問題にも発展しかねない。
また紙文書では,契約書や見積書といった重要書類に印鑑や手書きのサインがされることで文書における証明性の効力が発揮されるが,電子文書ファイルへ直接手書きの署名・押印を行うことは出来ない。
仮に署名・押印を行った紙文書をスキャンして保存したとしても,画像となった署名・押印は容易にコピー出来てしまうため,証明性の効力は発揮出来ない。
電子証明書を発行する認証局には多くある。
電子証明書はその人を特定するため,一般的には認証局と呼ばれる第三者によって,確かに本人だということを証明するために発行した電子証明書である必要がある。
文書での契約書等で従来行われている実印と印鑑証明書が揃ってないと意味をなさないと同様に,それを電子的に行うのがデジタル署名と電子証明書ということみたいだ。
日本では第三者(パブリック認証局)として法務省が運営する認証局と民間企業が運営する認証局がある。
パブリック認証局で証明書を発行してもらうには,かなりの費用(法務省:4300円/年,民間:10000円程度/年)と時間がかかる。
プログラム等で使用するコード証明書の場合はこの2倍ぐらいかかる。
パブリック認証局が発行する証明書には用途によって種類があって,価格も種類によって違う。
また用途によっては,民間企業のパブリック認証局が発行した証明書は使用できない場合もある。
新しくコメントをつける