電子上で文書を送受信する機会が増え、情報の保護がより重要視されるようになりました。法的に有効かつ高いセキュリティで保護された電子データ作成ができるとして、特殊な技術を用いてデータを保護するデジタル署名に注目が集まっています。
このデジタル署名とは一体どのようなものなのでしょうか。この記事ではデジタル署名の仕組みや電子署名との違い、メリット・デメリットを紹介します。データの送受信や契約業務にぜひお役立てください。
目次
デジタル署名とは何か?
デジタル署名は、「公開鍵暗号方式」という特殊な暗号技術を使った電子署名の1つです。データを暗号化して保護するので書類の改ざんや作成者のなりすましの防止に有効で、データが間違いなく作成者によって生成されたことや、改ざんをしていないことを証明できます。
デジタル署名は、契約業務の簡素化においても効果的な技術です。契約書は、双方の契約者の署名または押印で作成されます。かつては、電子文書もデータを印刷し署名や押印をして返送するかたちをとっていました。しかし、非効率な事務作業が増えることから、電子文書での契約をすべてオンライン上で完結できるようにデジタル署名の技術が開発されました。
デジタル署名は高いセキュリティの維持と事務の簡素化を実現できる技術として、企業の注目を集めています。2001年には電子署名法が施行されており、次のとおり電子署名の有効性について謳われています。
電子署名及び認証業務に関する法律
第三条 電磁的記録であって情報を表すために作成されたもの(公務員が職務上作成したものを除く。)は、当該電磁的記録に記録された情報について本人による電子署名(これを行うために必要な符号及び物件を適正に管理することにより、本人だけが行うことができることとなるものに限る。)が行われているときは、真正に成立したものと推定する。
引用元:電子署名及び認証業務に関する法律 | e-Gov法令検索
実印や契約印と同様の法的効果を有すると認められています。電子契約を行うには、デジタル署名が導入されている電子契約サービスを利用して、署名を付与するとよいでしょう。
デジタル署名と電子署名の違い
デジタル署名と似た言葉として、「電子署名」があります。電子署名の代表的な技術がデジタル署名であることから、2つは同じ意味の言葉と混同されがちです。しかし、実は両者が全く同じことを意味しているというわけではありません。デジタル署名と電子署名の違いについて、解説します。
デジタル署名とは、「公開鍵暗号方式」を応用した電子署名の技術の1つです。対して、電子署名は紙の契約書での署名や捺印と同等の役割を果たす電子データのことを指します。デジタル署名は署名の技術を指す言葉であるのに対し、電子署名は電子による署名技術の総称を指す言葉です。つまりデジタル署名は、電子署名とは異なる意味の言葉だといえます。
以下は、デジタル署名と電子署名の関係性を図に示したものです。
デジタル署名は電子署名と同義ではなく、電子署名の1つであるといえます。
デジタル署名の仕組み
デジタル署名に使われている「公開鍵暗号方式」はどのような仕組みの技術なのでしょうか。また、デジタル署名はどのような流れで行われるのでしょうか。デジタル署名の仕組みについて解説します。
公開鍵暗号方式とは
データの暗号化と復号(暗号から元データへ復元すること)の代表的な技術として「共通鍵暗号方式」と「公開鍵暗号方式」があります。このうち、デジタル署名に使われているのは「公開鍵暗号方式」です。ここではデジタル署名の根幹となる公開鍵暗号方式についての特徴や共通鍵暗号方式との違いについて説明します。
ポイントは秘密鍵と公開鍵
公開鍵暗号方式のポイントは2つの鍵です。
データの暗号化と復号にはパスワードのような鍵が必要となり、公開鍵暗号方式では「秘密鍵」と「公開鍵」の2つを用意します。秘密鍵と公開鍵は対となっており、どちらか片方の鍵で暗号化したデータは対となる鍵でのみ復号可能です。
また、秘密鍵から公開鍵の生成はできますが、公開鍵から秘密鍵の生成はできません。そのため、公開鍵が第三者に知られてしまっても、秘密鍵さえ知られなければセキュリティ上は問題がありません。公開鍵は複数送付できるため、複数人にデータを送信する場合でも1セットの秘密鍵と公開鍵があれば安全にデータのやりとりができます。
共通鍵暗号方式との比較
公開鍵暗号方式と共通鍵暗号方式の違いは、鍵の本数です。
共通鍵暗号方式は、1本の秘密鍵を相手と共有してファイルの暗号化・復号を行う方式です。データと併せてファイル解凍用のパスワードを送付したり受け取ったりした経験はありませんか?これは共通鍵暗号方式のやり取りの代表例です。
共通鍵暗号方式には、暗号化・復号の作業が短時間で済む利点があります。一方で、鍵が1本しかなく自身も相手も同じ1つのパスワードでデータの暗号化・復号を行うため、第三者にパスワードを知られてしまうと勝手にデータを復号され悪用される危険性があります。
この危険性を解決する手段として、互いに対となる1セットの鍵を使って暗号化・復号する公開鍵暗号方式が生まれました。公開鍵暗号方式はデータの本人性と非改ざん性が担保される技術であることから、デジタル署名へ活用されました。
データ送信者のデジタル署名の流れ
ここからはデジタル署名の流れを紹介します。データ送信者がデジタル署名で行うタスクは以下の3つです。
・秘密鍵・公開鍵を作成し、受信者へ公開鍵を渡す
・ハッシュ関数でハッシュ値を算出する
・秘密鍵を利用してハッシュ値を暗号化し、受信者へ送信する
それぞれの手順について説明します。
STEP
秘密鍵・公開鍵を作成し、受信者へ公開鍵を渡す
はじめに、認証機関に登録して秘密鍵・公開鍵を生成します。認証機関とは、電子署名法に定められた要件を満たし認定された機関のことです。
公開鍵暗号方式では、秘密鍵及び公開鍵の生成をデータ受信者が行いますが、デジタル署名の場合はデータ送信者が鍵の生成を行います。送信者は認証機関へ登録を行い、電子署名の有効性を証明する電子証明書の発行と秘密鍵・公開鍵の生成を行いましょう。
公開鍵は事前に受信者へ渡し、暗号化したデータを復号する際に使用してもらいます。秘密鍵は、送信者本人が厳正に管理しましょう。
STEP
ハッシュ関数でハッシュ値を算出する
鍵の準備ができたら、ハッシュ関数を用いて送信する電子データのハッシュ値を算出します。ハッシュ関数およびハッシュ値については、次のとおりです。
ハッシュ関数:データに一定の手順の計算を行い、決まった長さの文字列に変換する関数のこと
ハッシュ値:ハッシュ関数で算出されたデータの数値。元のデータを特定のルールに則りぐちゃぐちゃにしたもの。同じデータを入れれば同じハッシュ値が算出される
たとえば、「契約書」というデータをハッシュ関数で計算し「abcdef」と変換されたとしましょう。ハッシュ関数によって算出されたものがハッシュ値になるので、「契約書」データのハッシュ値は「abcdef」となります。このハッシュ値が、デジタル署名では重要です。
STEP
秘密鍵を利用してハッシュ値を暗号化し、受信者へ送信する
ハッシュ値が算出できたら、秘密鍵を使って算出したハッシュ値を暗号化します。先ほどの「契約書」データを例に挙げると、ハッシュ値「abcdef」を「?#?#?#」のように暗号化するイメージです。
ハッシュ関数は誰でも使えるため、ハッシュ値をそのまま相手方へ送ってしまうと、第三者へ流出してしまった際にデータを復元されてしまう可能性があります。ハッシュ値を必ず暗号化したうえで、相手方へ送信しましょう。
暗号化したハッシュ値を署名として、送信する電子データとともに受信者へ送付します。「契約書」データを例にすると、「契約書」データと「?#?#?#」の暗号化されたハッシュ値の両方を受信者へ送付するイメージです。暗号化したハッシュ値の送付を忘れないように注意しましょう。
データ受信者のデジタル署名の流れ
データ受信者がデジタル署名で行うタスクは以下の3つです。
・公開鍵を利用して、値を復号する
・ハッシュ関数でハッシュ値を算出する
・復号したハッシュ値と算出したハッシュ値を確認する
それぞれの手順について説明します。
STEP
公開鍵を利用して、値を復号する
はじめに、送信者から事前に渡された公開鍵を利用して暗号化されたハッシュ値を復号します。復号ができるのは秘密鍵と対になる公開鍵のみなので、安心して復号することが可能です。反対に、この時点で復号ができない場合は送信者に問い合わせた方がよいでしょう。
「契約書」データの話を例にすると「?#?#?#」の暗号を「abcdef」に戻すイメージです。送信者が行う作業と反対の作業を行うと捉えておくとよいでしょう。
STEP
ハッシュ関数でハッシュ値を算出する
次に、送信者から送られてきた電子データのハッシュ値を確認します。送信者が使ったものと同じハッシュ関数を用いてデータのハッシュ値を算出しましょう。同じデータを同じハッシュ関数に当てると同じハッシュ値が算出されるため、「契約書」データの場合だとハッシュ値は必ず「abcdef」の値が出る仕組みになっています。
STEP
復号したハッシュ値と算出したハッシュ値を確認する
最後に、復号して出てきたハッシュ値と、送られてきた電子データのハッシュ値が一致するかを確認しましょう。一致すれば間違いなく送信者が送ったデータであることが証明されます。
「契約書」データを例にすると、復号したハッシュ値と算出したハッシュ値が「abcdef」で一致すれば、送信者が送ったデータで間違いないでしょう。ハッシュ値の一致が確認できれば、受信者は安心して送付された電子データを開封できます。
デジタル署名のメリット・デメリット
デジタル署名のメリット・デメリットにはどのようなものがあるでしょうか。それぞれ解説します。
デジタル署名のメリット
デジタル署名のメリットは次の2つです。
・本人性・非改ざん性が担保される
・電子契約は印紙が不要なため、印紙代等を節約できる
デジタル署名は高度なセキュリティで、送信された電子データの本人性と非改ざん性が担保されます。法的効力を得る書類の作成をするのであれば、2つの要素が担保されるのは非常に重要です。電子データに対して異議申し立てがあったとしても、法的に有効な署名がされていればデータの本人性と非改ざん性を証明できます。
加えて、電子契約では印紙の貼付が必要ありません。そのため印紙税が課されず節税ができます。郵送の手間もかからないため、切手代や印刷費もかかりません。コストダウンを図ることができるのもデジタル署名の特徴です。
デジタル署名のデメリット
デジタル署名のデメリットとしては、以下の3つが挙げられます。
・デジタル署名の利用には認証機関への登録が必要
・デジタル証明書の更新が必要
・鍵の生成・管理を安全に行うことが必要
デジタル署名を利用するには、認証機関への登録が必須です。すぐに導入して使えるものではない点に注意が必要です。
また、認証機関に登録する際に受け取るデジタル証明書には有効期限が定められており、継続して利用するには期限内の更新が必要になります。期限が切れてしまうと面倒な手間が多数発生するため、有効期限が切れる前に更新するのを忘れないようにしましょう。
加えて、秘密鍵・公開鍵の生成や鍵の管理の仕方には気をつける必要があります。第三者が勝手に操作できてしまわないように、鍵を管理しているパソコンにはロックをかけたり専用パスワードを付与したりして、厳重な管理を行いましょう。
デジタル署名と電子署名を上手に使い分けよう
ここまで、デジタル署名についての仕組みや電子署名との違い、メリット・デメリットについて紹介しました。デジタル署名は電子署名の中でも高度なセキュリティを誇り、機密性の高いデータに効果を発揮する技術です。データの機密性に合わせて、デジタル署名と電子署名を上手に使い分けるとよいでしょう。
GMOサインでは、重視するポイントに合わせた2つの署名方法を利用できます。強固なセキュリティや大手電子認証局との連携により、信頼性の高い電子署名を実現します。短時間で契約の締結ができてコスト削減にもなるため、電子署名が気になる方はぜひこちらをご覧ください。