1. 電子文書時代の基礎知識「電子証明書」「電子署名」とは何か?

電子文書時代の基礎知識「電子証明書」「電子署名」とは何か?

  • このエントリーをはてなブックマークに追加

電子文書のやり取りが当たり前になった今、「電子証明書」や「電子署名」についての知識は必要不可欠です。これらを活用することで、企業として情報の改ざんを検知することが可能です。とはいえ「電子証明書や電子署名ってそもそもなに?」という人もいるのではないでしょうか。ここではそうした人のために電子証明書・電子署名の基本と3種類ある電子署名の方式について解説します。

電子証明書・電子署名とは何か?

電子証明書と電子署名

電子証明書が実社会における「印鑑証明書」なら、電子署名は「印鑑」と同じ役割を果たしています。例えば企業の公式な書類には作成者の名前や企業の印鑑が押され、これが本物であることを印鑑証明書で証明します。

しかし電子文書には直接捺印したり、署名したりすることはできません。「捺印や署名をした書類をスキャナなどで取り込めば可能では?」と思うかもしれませんが、それでは簡単に複製できてしまいます。そこで電子証明書と電子署名が役立つのです。

電子証明書と電子署名はなぜ必要か?

電子文書の信頼性を保つ以外にも電子証明書と電子署名はセキュリティ面で活用できます。例えばインターネットを通じて情報をやり取りしていると、ハッカーなどによって文書が盗聴されたり、改ざんされたりするリスクがあります。

もしくは有名な銀行やショッピングサイトなどを装った電子メールや偽サイトを作り、それを悪用して個人情報やクレジットカード番号などを入手する「フィッシング詐欺」などのリスクもあります。電子証明書と電子署名を使えば、こうした被害も未然に防ぐことが可能なのです。

電子署名の仕組み

電子署名の流れ
<電子署名の流れ>

電子文書への捺印、つまり電子署名には「PKI(Public Key Infrastructure 公開鍵暗号基盤)」という暗号化技術が使われています。この技術は「秘密鍵」と「公開鍵」という2つの鍵によって成立しています。秘密鍵とは電子文書の情報を暗号化する鍵で、公開鍵は秘密鍵によって暗号化された情報を解読するための鍵です。

送信する側は相手に渡す情報を秘密鍵で暗号化し、公開鍵と電子証明書を添付して送信します。すると受信者側は電子証明書が有効なものかどうかを認証局に確認します。電子証明書の有効性が確認できたうえで、公開鍵を使って情報を解読できれば、電子署名の本人からの電子文書であるということが確認できるのです。

この時、秘密鍵は「印鑑」、公開鍵は「印影」、電子証明書が「印鑑証明書」に相当します。証明ができる印鑑は書類作成者側だけが持っており、それが本物かどうかを確認できるものとして印影と印鑑証明書がある、というイメージです。

ここまでの内容を前提として、引き続き3種類の電子署名の特徴と必要性について見ていきましょう。

ドキュメントサイン(文書署名)の特徴と必要性

ドキュメントサインとは?

1つ目は「ドキュメントサイン」と呼ばれる電子署名です。これはPDF文書やWord・Excel・PowerPointで作成された電子文書に行う電子署名を指します。この電子署名は、クライアント証明書などを用いて行います。さらに電子文書にタイムスタンプを付与することで、「いつ」「誰が」書類を作成・編集したかを証明することも可能です。

ドキュメントサインを利用し、署名後に文書を編集すると改ざんがされたという警告が表示されます。これにより改ざんの有無を検知することができるため、セキュリティ対策として利用可能です。また紙で保管していた文書を電子文書に置き換える際の仕組みとしても採用されています。

ドキュメントサインはなぜ必要?

電子文書は常に改ざんのリスクにさらされているのは、社内で管理しているPDF文書やWord・Excel・PowerPointなども同じです。例えば第三者によって社内に保管していた納品書が改ざんされれば、顧客との取引でトラブルが生じます。

ドキュメントサインを導入していれば、そうしたリスクを軽減することができるのです。

コードサイン署名の特徴と必要性

コードサイン署名とは?

2つ目はコードサイン署名と呼ばれる電子署名です。これはソフトウェアそのものに電子署名をすることで、ソフトウェアの配布元を認証するためのものです。この電子署名を証明する証明書を「コードサイニング証明書」と呼びます。

コードサイニング署名(配布側)の流れ
<コードサイニング証明書の署名の流れ>
コードサイニング検証(受信側)の流れ
<コードサイニング証明書の検証の流れ>

ソフトウェアの配布元が最初に行うのは認証局からの証明書の取得です。次に配布するソフトウェアのコードから「ハッシュ値※」を生成し、暗号化します。そしてコードサイニング証明書・ソフトウェアのコード・ハッシュ値を1セットとして配布します。

これを受け取った受信者は、コードサイニング証明書の有効性の確認と公開鍵の取得を行います。続いて暗号化されたハッシュ値を、公開鍵を使って解読すると同時に、ソフトウェアのコードからハッシュ値を計算して両者をつき合わせます。2つが一致すればソフトウェアが正規の配布元から配布されたものだということが判明するというわけです。

※ハッシュ値とは、あるデータを、ハッシュ関数を使って計算した値のことです。同じデータからは同じハッシュ値が得られますが、少しでも違う場合は同じハッシュ値が得られる可能性は限りなくゼロに近くなります。しかもハッシュ値とハッシュ関数を使っても元データの算出はできないため、暗号化技術には多用されている数値です。

コードサイン署名はなぜ必要?

電子文書と同じようにソフトウェアにもプログラムの改ざんや偽造のリスクが存在します。こうした改ざんや偽造が増えると、ユーザとしては安心してソフトウェアをダウンロードすることができません。その結果ソフトウェアのダウンロード数や売上に悪影響が出たり、カスタマーサービスなどへの問い合わせが増加して対応コストが増えたりするなどのデメリットが生じます。

コードサイン署名を利用すればソフトウェアが正規かどうかを簡単に保証することができるため、こうしたデメリットが解消されるのです。CD-ROMなどのパッケージでのソフトウェア流通から、オンラインでのダウンロードによるソフトウェア流通への移行が進む現在において、コードサイン署名は必要不可欠な電子署名といえます。

S/MIMEの特徴と必要性

S/MIMEとは?

S/MIMEはSecure / Multipurpose Internet Mail Extensionsの略称で、電子メールの暗号化と電子署名を行うことができます。メールの送信者と受信者の両方がS/MIMEに対応している電子メールソフトを使用し、お互いが電子証明書を所有していれば、暗号化したメールのやり取りが可能になるため、仮に第三者が盗聴したとしてもそれを解読することはできません。

またS/MIMEを使ってメールに電子署名をしておけば、送り主の身元を証明できるため、なりすましなどによる被害を防ぐことが可能です。メールの暗号化や電子署名には他の電子署名にも利用されているPKIが採用されています。

S/MIMEはなぜ必要?

機密情報を含んだメールのやり取りは常に機密漏洩と背中合わせです。暗号化してしまえばこのリスクを回避できます。

またフィッシング詐欺はメールのなりすましによる被害の代表例です。例えばあるショッピングサイト利用者に対して正規のサイト管理者を装って「至急パスワードを変更してください」というメールを送ります。メールを偽造すること自体は、文面を真似するだけなので難しくありません。そのメールにはフィッシングサイトへのリンクが貼られていて、騙された利用者はパスワード変更のためにパスワードとIDを入力してしまうのです。

フィッシング詐欺の手口
<フィッシング詐欺の手口>

しかしS/MIMEを利用してメールに電子署名が添付されていれば、その有無を確認するだけで被害を防ぐことができます。

必要に応じて電子証明書・電子署名を使いわけよう

PDF文書や電子メールなど電子文書を取り扱うにあたって、電子証明書・電子署名の活用は必須です。これらを利用してセキュリティ対策を取っていなければ、簡単に改ざん・盗聴・なりすましなどの被害に遭ってしまいます。電子証明書・電子署名の基本的な役割を理解するとともに、ドキュメントサイン・コードサイン署名・S/MIMEそれぞれの特徴を把握し、状況に応じたセキュリティ対策を行いましょう。

  • このエントリーをはてなブックマークに追加

この記事を書きました

グローバルサインブログ編集部

グローバルサインブログ編集部
所属:GMOグローバルサイン マーケティング部
当ブログの運営・管理を担当。マーケティング部=なんでも屋。
>>グローバルサインブログ編集部の記事一覧