電子契約における公開鍵暗号とは?役割や仕組みをわかりやすく解説
目次を閉じる
電子契約における公開鍵とは
電子契約における公開鍵とは、電子文書にデジタル署名を付与する際に、本人性や非改ざん性を証明するために用いられる暗号化技術です。「公開鍵暗号方式」とも呼ばれており、基本的に公開鍵と秘密鍵をセットで利用します。
電子文書はデジタルデータである以上、「誰が文書を作成・署名したのか」「作成以降、情報が改変されていないか」といった真正性が問われます。とはいえ、たんに印影データを書面に付与するだけでは、本人性や非改ざん性を証明できません。
そこで署名を行う際に、パスワードのような情報が含まれた公開鍵と秘密鍵を発行し、文書の送信者と受信者との間で暗号化・復号の処理を行います。さらに、暗号化の過程で算出されたハッシュ値と呼ばれる数値を検証することで、当人が作成・署名した文書であり、改ざんされていないことを証明できる仕組みです。
公開鍵の仕組みを理解する際に必要な基礎知識
公開鍵の仕組みを理解するためには、デジタル署名やハッシュ値、電子証明書などの基礎知識を押さえることが重要です。それぞれの用語の意味や活用方法を解説します。
デジタル署名
デジタル署名とは、電子文書に署名を行い、文書の真正性を証明する技術です。紙の文書における直筆での署名や押印と同じ効力を発揮します。
電子署名と呼ばれるよく似た言葉もありますが、デジタル署名とは意味が異なります。特定の技術に固執しない電子署名に対し、デジタル署名では公開鍵と秘密鍵の暗号化技術を用いるのが基本です。公開鍵と秘密鍵を採用することで技術的に電子文書の真正性を証明できるため、使い方次第では法的効力も持ちあわせます。
公開鍵と秘密鍵
公開鍵と秘密鍵は、電子文書の本人性や非改ざん性を証明するために用いられます。公開鍵と秘密鍵を使ってデジタル署名を行う流れは次のとおりです。
- 認証機関に登録して公開鍵と秘密鍵を生成する
- 取得した公開鍵を文書の受信者に送付し、秘密鍵は自社で保管する
- 送信者側で専用の関数を使ってハッシュ値を算出する
- 秘密鍵によって暗号化したハッシュ値を受信者に送信する
- 受信者は受け取ったハッシュ値を公開鍵を使って復号する
- 送信者と同じ手順で受信者側でもハッシュ値を算出する
- 送信者と受信者が算出したそれぞれのハッシュ値を比較する
仮に、送信者と受信者が算出したハッシュ値が異なる場合は、電子文書の内容になんらかの齟齬があります。反対に両者が同様のハッシュ値であれば、間違いなく当人が文書を作成し、途中で情報が改変されていない証拠です。つまり、ハッシュ値を比較することで、電子文書の本人性と非改ざん性を証明できることを意味します。
ハッシュ値
ハッシュ値とは、特定のアルゴリズムをもとに生成された、「e5k8j2n7」といった不規則な文字列です。秘密鍵を使用することで、「e5k8j2n7」のハッシュ値を「%$:&!*$?」といった形で、英数字を読み取りにくい記号に変換できます。この変換作業を暗号化といいます。
ハッシュ値を変換せずに相手へ送信すると、第三者でも容易に情報の復元が可能です。そのため、デジタル署名を利用する際は、関数を用いたハッシュ値の算出と暗号化が欠かせません。
公開鍵基盤・電子証明書
公開鍵基盤(PKI)とは、秘密鍵の本人性を証明するための仕組みです。電子文書の送信者や受信者とは関係ない第三者機関が電子証明書を発行し、公開鍵の客観的な真正性を証明します。
電子証明書に記録される事項としては、証明書番号や有効期限、鍵の所有者に関する情報などが中心です。電子文書の受信者にとっては、電子証明書の内容を確認することで、秘密鍵や公開鍵が正当に取得されたものかを判別できます。そのため、電子証明書はデジタル署名とセットで利用するのが一般的です。
電子契約で用いる公開鍵の種類
電子契約で利用する公開鍵には、RSA暗号方式やDSA署名方式など、いくつかの種類があります。それぞれの特徴を詳しく解説します。
RSA暗号方式
RSA(Rivest Shamir Adleman)暗号方式は、公開鍵の最も一般的な方式です。秘密鍵を用いて情報を暗号化し、公開鍵で復号する、暗号化技術の基本となる仕組みを採用しています。
RSA暗号方式の特徴としては、ハッシュ値の文字数を自由に調整できる点です。非常に長い文字列を生成できるため、他者からの推測が難しく、安全性が高まります。
DSA署名方式
DSA(Digital Signature Algorithm)署名方式では、RSA暗号方式よりも短い文字列のハッシュ値を生成します。そのため、より効率的に情報の暗号化や復号が可能です。
ただし、文字列が短いため、RSA暗号方式よりもセキュリティレベルが見劣りします。電子契約をはじめとする一般的な暗号化手続きには利用できないため、採用する機会は限定的だといえるでしょう。
ECDSA署名方式
ECDSA(Elliptic Curve Digital Signature Algorithm)署名方式では、DSA署名方式の欠点が改良されています。短い文字列のハッシュ値でも安全性を確保できるのが特徴です。つまり、セキュリティレベルの高いRSA暗号方式と、処理速度の速いDSA署名方式の、両方のメリットを活かせます。
難点としてあげられるのは、ECDSA署名方式に採用されている楕円曲線暗号が複雑な点です。専門的な知識がなければ理解するのが困難なので、RSA暗号方式ほど一般的に普及しているわけではありません。
電子契約における公開鍵の役割を正しく理解しよう
暗号鍵は電子契約を行ううえで欠かせない技術の一つです。公開鍵と秘密鍵、ハッシュ値を活用することで、電子文書に本人性と非改ざん性を付与できます。そのため、重要な電子文書を扱うケースほど、公開鍵を利用する機会が増えるでしょう。
公開鍵や秘密鍵は、デジタル署名を行う際に利用するのが一般的です。電子契約システムには、デジタル署名や電子証明書などの機能が搭載されており、面倒な手続きなしで安全に電子契約を交わせます。こちらの記事で電子契約システムのメリットや機能などを紹介しているので、ぜひ参考にしてください。