電子
署名とは、
電子文書に付与される電子的なサインであり、紙の文書における印鑑や
署名と同等の役割を果たします。これは、
電子文書の作成者を特定し、内容が改ざんされていないことを証明するために用いられます。電子
署名は、特にオンラインでの取引や契約において、文書の真正性を保証するために不可欠な技術となっています。
電子署名の必要性
紙の文書では、印鑑や
署名によって作成者が保証され、内容の改ざんを防ぐことができます。しかし、
電子文書ではこれらの物理的な手段を用いることができません。電子
署名は、この問題を解決し、
電子文書の信頼性を確保します。
作成者の保証
電子
署名は、
電子文書の作成者を特定するための重要な手段です。
署名された
電子文書は、特定の人物によって作成されたことを証明します。これにより、文書の信頼性が向上し、なりすましや
偽造を防ぐことができます。
内容の同一性
電子
署名は、
電子文書が改ざんされていないことを保証する役割も担います。
署名された文書の内容が変更された場合、
署名が無効になるため、改ざんを検知することができます。これにより、文書の信頼性がさらに高まります。
電子署名のモデル
電子
署名方式は、鍵生成アルゴリズム、
署名アルゴリズム、検証アルゴリズムの3つの要素で構成されています。
鍵生成
鍵生成アルゴリズムは、
署名を行うための準備段階で用いられます。このアルゴリズムによって、公開鍵と秘密鍵のペアが生成されます。秘密鍵は
署名を行うために使用され、公開鍵は
署名を検証するために使用されます。秘密鍵は実印、公開鍵は印鑑証明書のような役割を果たすと考えると理解しやすいでしょう。鍵生成にはセキュリティパラメータと乱数が用いられ、これによりユーザーごとに異なる鍵ペアが生成されます。
署名生成アルゴリズムは、
電子文書に
署名をする際に使用します。
署名者は、
電子文書と自分の秘密鍵を入力することで、
署名文を作成します。
署名文は、文書の内容と
署名者の秘密鍵に基づいて生成されるため、
署名者以外が同じ
署名文を作成することはできません。作成された
署名文は、文書とともに受信者に送信されます。
検証アルゴリズムは、受信した文書と
署名文が正しいかどうかを検証する際に使用します。検証者は、文書、
署名文、および
署名者の公開鍵を入力することで、
署名が正当なものであるかどうかを確認できます。検証に成功した場合、
署名文が正当なものであり、文書が改ざんされていないことが保証されます。もし検証に失敗した場合、
署名文が
偽造されたか、文書が改ざんされた可能性が高いと判断できます。
公開鍵の認証
公開鍵は、誰でも利用できる情報であるため、その正当性を保証する必要があります。信頼できる第三者機関(TTP)を通じて公開鍵を公開する方法が一般的です。具体的には、公開鍵簿を作成して公開する方法や、
認証局(CA)が公開鍵とIDを対応付けるPKI(
公開鍵基盤)の仕組みを利用する方法があります。
改ざんの防止
電子
署名は、文書の改ざんを防止するための重要な手段です。一般的に、
署名生成アルゴリズムには、文書そのものではなく、文書の改ざん検出符号が入力されます。これにより、
署名のサイズを小さく抑えながら、改ざんを検出しやすくすることができます。改ざん検出符号には、CRCのような誤り検出符号ではなく、より強力なものが用いられるべきです。
電子文書の真正な成立の推定
民事訴訟法では、文書を証拠として使用する場合、その文書が作成者によって真正に作成されたことを証明する必要があります。紙の文書の場合、
署名や押印がその証明として用いられますが、
電子文書にも同様の仕組みが必要です。電子
署名法は、電子
署名が付与された
電子文書は、真正に成立したものと推定することを規定しており、これにより
電子文書の証拠能力を確保しています。
電子署名方式の定義
電子
署名方式は、鍵生成アルゴリズム(G)、
署名アルゴリズム(S)、検証アルゴリズム(V)の3つのアルゴリズムで構成されます。
鍵生成アルゴリズム(G):セキュリティパラメータを入力として、公開鍵と秘密鍵のペアを生成します。
署名アルゴリズム(S):平文と秘密鍵を入力として、
署名文を生成します。
検証アルゴリズム(V):平文、署名文、公開鍵を入力として、署名文が正当かどうかを判定します。
要件
電子署名方式は、以下の2つの要件を満たす必要があります。
正当性(Correctness):正当な
署名者が作成した
署名文は、検証を通過する必要があります。
安全性(Security):検証を通過するのは、正当な署名者が作成した署名文に限る必要があります。
要件の厳密な定義
正当性の厳密な定義:任意の平文に対し、正当な
署名者が作成した
署名文が検証を通過する確率が極めて高い(overwhelming)ことを保証します。
安全性の厳密な定義:攻撃者が署名オラクルを利用して、正当な署名者以外が作成した署名文を偽造できないことを保証します。これは、選択文書攻撃に対する存在的偽造不能性(EU-CMA)として定義され、安全性の標準的な指標となっています。
代表的な電子署名方式
様々な電子署名方式が存在しますが、代表的なものとしてRSA署名、ElGamal署名、DSA署名、Schnorr署名、Cramer-Shoup署名、楕円ElGamal署名、楕円曲線DSA署名、楕円Schnorr署名などが挙げられます。これらの方式は、異なる数学的な問題に基づいており、それぞれ異なる特性を持っています。
RSA署名:
素因数分解問題に基づいており、初期に提案された方式として有名です。ただし、教科書的なRSA
署名は、安全性に問題があることが知られています。
ElGamal署名:素体の乗法群上の離散対数問題に基づいており、RSA署名と同様に初期に提案された方式です。しかし、安全性については未解明な部分も残っています。
DSA署名:ElGamal
署名の変形版であり、米国の標準暗号として利用されています。しかし、安全性についてはElGamal
署名と同様の課題があります。
Schnorr署名:離散対数問題の困難性を基に、ランダムオラクル仮定の下で安全性が証明された方式です。
Cramer-Shoup署名:ランダムオラクル仮定を用いずに安全性が証明できる方式であり、強RSA仮定の下で安全性が証明されています。
楕円曲線署名:上記の署名方式を楕円曲線群に適用することで、計算量を削減し、署名長を短くすることができる方式です。
関連事項
電子署名に関連する技術や法律として、暗号理論、公開鍵証明書、電子証明書、電子署名及び認証業務に関する法律(電子署名法)、個人番号カード、公的個人認証サービス、データ完全性、改竄検出などが挙げられます。
外部リンク
電子署名についてより詳しく知りたい場合は、以下のリンクをご参照ください。
電子署名 - デジタル庁