電子署名テクノロジーについて

公開鍵による暗号化

電子署名は、公開鍵 / 秘密鍵のペアを使用してテキストの暗号化および復号化が行われる、公開鍵による暗号化(または非対称の暗号化)に基づいています。

  • 秘密鍵は、テキストおよびドキュメントを暗号化するために使用します。秘密鍵は、安全な場所に保管します。

  • 対応する公開鍵は、秘密鍵によって暗号化されたテキストを復号化するために使用します。公開鍵で復号化できるのは、関連付けられている秘密鍵によって暗号化されたテキストのみです。公開鍵は、広範な配布先へ配布されることがあります。

例えば、Tony Blue が秘密鍵を使用して電子メールメッセージを暗号化してから受信者に送信するとします。受信者がメッセージ復号化して読むためには、公開鍵が必要です。受信者が電子メールメッセージを読むことができるようにするために、Tony はあらかじめ公開鍵を受信者に渡しておく必要があります。

電子証明書

電子証明書は、電子署名の信頼性を確認するために使用します。電子証明書は、公開鍵をユーザーの身元と関連付けます。

  • 証明書は、信頼できる第三者の認証局(CA)から発行されます。CA は、証明書を発行するユーザーの身元を証明します。CA を信頼するということは、その CA によって発行される証明書を信頼することになります。

  • 証明書は、自己署名することもできます。自己署名証明書は、通常、証明書の所有者によって生成されます。所有者を確実に信頼できる場合に、証明書は便利です。

CA は、現在無効になっている証明書のシリアル番号が含まれた証明書失効リスト(CRL)を発行します。CRL には有効期限があり、通常、定期的に更新されます。

CRL に似たオンライン証明書ステータスプロトコル(OCSP)は、X.509 証明書のステータスを取得するために使用されます。OCSP では、証明書のステータスを CRL システムよりもすばやく更新および取得できます。

CA は、証明書を発行する権限を下位レベルの CA に委任できます。その結果、CA の階層が構成されます。証明書チェーンは、下位レベルの CA からルート CA に至る階層におけるパスを示します。下位レベルの CA から発行される証明書には、証明書チェーンが含まれます。チェーン内の各 CA の信頼性を確認することができます。

電子秘密鍵証明書

秘密鍵証明書は、ドキュメントを電子署名するために使用します。秘密鍵証明書には、ユーザーの秘密鍵やエイリアスなどのその他の識別情報が含まれます。秘密鍵証明書のコンテンツにアクセスするには、パスワードが必要です。様々な標準によって秘密鍵証明書のコンテンツおよび形式が定義されています。例えば、次の標準があります。

  • Personal Information Exchange Syntax Standard(PKCS #12)では、秘密鍵および対応する電子証明書を格納するためのファイル形式を定義しています。

  • Cryptographic Token Interface(PKCS #11)では、ハードウェアに格納されている秘密鍵証明書を取得するためのインターフェイスを定義しています。

電子署名

電子署名は、署名されたドキュメントの暗号化されたダイジェストです。このダイジェストと署名者の証明書を使用して、ドキュメントの整合性が検証されます。

ドキュメントに電子署名すると、ハッシングアルゴリズムを使用してドキュメントコンテンツのダイジェストが作成されます。ダイジェストはドキュメントに対して一意であり、ダイジェストを使用してドキュメントを再構築することはできません。ダイジェストは、署名者が署名を作成するために使用した秘密鍵を使用して暗号化されます。

署名を作成するために使用された秘密鍵に対応する署名および証明書は、通常、ドキュメントにバンドルされます。

署名には、タイムスタンプを含めることができます。タイムスタンププロトコル(TSP)は、電子署名が作成された時刻を証明するために使用されます。この情報は、関連する証明書が失効する前に電子署名が作成されていることを確認する場合に便利です。タイムスタンプ局(TSA)は、タイムスタンプ情報を取得および確認するためのサービスを提供します。

ドキュメントの整合性の検証

署名を検証するために、証明書の公開鍵を使用してダイジェストが復号化されます。次に、ダイジェストは、復号化されたダイジェストに基づいて再計算および比較されます。2 つのダイジェストが同一の場合は、ドキュメントに変更が加えられていません。