(57)【要約】ユーザの公開鍵と共に使用するために認証局（２００）が発行した電子証明書を認証するための方法が提供され、初期には、前記公開鍵から導出されたメッセージダイジェストに偽造防止秘密鍵を用いて署名し、それによって偽造防止署名を形づくるステップが含まれる。次に、電子証明書に関する要求に当該偽造防止署名が挿入される。最後に、その電子証明書に関する要求が認証局（２００）に転送される。
2005512395.tif 000002
【特許請求の範囲】
【請求項１】
認証局によって発行され、ユーザの公開鍵に関連付けられている電子証明書を認証する方法であって、
偽造防止秘密鍵を用いて、前記公開鍵から導出されたメッセージダイジェストに署名し、該署名によって偽造防止署名を形づくるステップと、
前記偽造防止署名を前記電子証明書に関する要求に挿入するステップと、
前記電子証明書に関する要求を前記認証局に転送するステップと
を備えたことを特徴とする方法。
【請求項２】
前記署名するステップは、
前記公開鍵を復号するステップと、
前記復号された公開鍵にハッシュ関数を適用し、該適用により前記メッセージダイジェストを形づくるステップと、
前記偽造防止鍵を用いて前記メッセージダイジェストに署名し、該署名により前記偽造防止署名を形づくるステップと、
前記偽造防止署名を暗号化するステップと
を含むことを特徴とする請求項２に記載の方法。
【請求項３】
前記電子証明書は、オブジェクト識別子フィールドを有し、
前記電子証明書に関する要求に前記偽造防止署名を挿入するステップは、
前記電子証明書の前記オブジェクト識別子フィールドに配置するための前記偽造防止署名を指定するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記電子証明書に関する要求は、前記ユーザの公開鍵を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記電子証明書に関する要求は、前記ユーザの識別情報を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記識別情報は、ユーザの名前および電子メールアドレスを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記電子証明書に関する要求を前記認証局に転送するステップは、
前記電子証明書に関する要求に秘密鍵を用いて署名するステップと、
前記認証局に属する公開鍵を用いて前記電子証明書に関する要求を暗号化するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記オブジェクト識別子フィールドに前記偽造防止署名を含む前記電子証明書を作成するステップをさらに備えたことを特徴とする請求項３に記載の方法。
【請求項９】
前記オブジェクト識別子フィールドに前記偽造防止署名を含む前記電子証明書は、前記認証局から受け取られることを特徴とする請求項３に記載の方法。
【請求項１０】
前記偽造防止秘密鍵は対応する偽造防止公開鍵を有し、
前記電子証明書の前記オブジェクト識別子フィールドから前記偽造防止署名を取り出すステップと、
前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて、第１のメッセージダイジェストを生成するステップと、
前記ハッシュ関数および前記ユーザの公開鍵に基づいて、第２のメッセージダイジェストを生成するステップと
前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書は真正であると決定するステップとをさらに備えたことを特徴とする請求項９に記載の方法。
【請求項１１】
前記偽造防止署名から前記公開鍵の少なくとも一部分を取り出すステップは、前記偽造防止署名を復号するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記公開鍵を復号するステップは、ｂａｓｅ６４を使用して前記公開鍵を復号するステップを含み、
前記偽造防止署名を暗号化するステップは、ｂａｓｅ６４を使用して前記偽造防止署名を暗号化するステップを含むことを特徴とする請求項２に記載の方法。
【請求項１３】
前記偽造防止署名を復号するステップは、ｂａｓｅ６４を使用して前記偽造防止署名を復号するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
認証局によって発行された電子証明書を認証する方法であって、前記電子証明書はユーザの公開鍵に関連付けられ、前記電子証明書は偽造防止署名を含み、前記偽造防止署名は前記ユーザの公開鍵、偽造防止秘密鍵、およびハッシュ関数の少なくとも一部から形づくられ、前記偽造防止秘密鍵は対応する偽造防止公開鍵を有し、
前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成するステップと、
前記ハッシュ関数および前記ユーザの公開鍵に基づいて第２のメッセージダイジェストを生成するステップと、
前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書は真正であると決定するステップと
を備えたことを特徴とする方法。
【請求項１５】
認証局によって発行され、ユーザの公開鍵に関連付けられている電子証明書を認証するシステムであって、
偽造防止秘密鍵を生成する偽造防止秘密鍵カードと、
前記電子証明書に関する要求を前記認証局宛に発行する登録局サーバであって、前記登録局は前記ユーザの公開鍵、偽造防止秘密鍵、およびハッシュ関数の少なくとも一部分から偽造防止署名を形づくり、前記登録局は、前記偽造防止署名を前記電子証明書に関する要求に挿入し、さらに前記電子証明書に関する前記要求を前記認証局に転送する登録局サーバと
を備えたことを特徴とするシステム。
【請求項１６】
前記電子証明書は、オブジェクト識別子フィールドを有し、
前記偽造防止署名は、前記電子証明書の前記オブジェクト識別子フィールドに配置するために前記登録局によって指示されることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記電子証明書に関する前記要求は、前記ユーザの公開鍵を含むことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記電子証明書に関する前記要求は、前記ユーザの識別情報を含むことを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記識別情報は、ユーザの名前および電子メールアドレスを含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
登録局秘密鍵をさらに備え、
前記登録局は前記電子証明書に関する要求に前記登録局秘密鍵を用いて署名し、さらに前記認証局の公開鍵を用いて前記要求を暗号化した後に前記要求を前記認証局に転送することを特徴とする請求項１５に記載のシステム。
【請求項２１】
前記認証局は、前記偽造防止署名を含む前記電子証明書を生成することを特徴とする請求項１５に記載のシステム。
【請求項２２】
前記登録局は、前記偽造防止署名を含む電子証明書を前記認証局から受け取ることを特徴とする請求項１５に記載のシステム。
【請求項２３】
前記電子証明書は、オブジェクト識別子フィールドを含み、
前記偽造防止署名は、前記オブジェクト識別子フィールドに含まれることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記偽造防止秘密鍵は、対応する偽造防止公開鍵を有し、
認証エンジンであって、前記電子証明書の前記オブジェクト識別子フィールドから前記偽造防止署名を取り出し、前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成し、前記ハッシュ関数および前記ユーザの公開鍵に基づいて第２のメッセージダイジェストを生成し、さらに前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書が真正であるものと決定する認証エンジンをさらに備えたことを特徴とする請求項２２に記載のシステム。
【請求項２５】
コンピュータ読取可能な媒体上に常駐するコンピュータ実行可能プログラムであって、
ユーザの公開鍵に関連付けられた認証局によって発行された電子証明書を認証するステップと、
前記公開鍵から導出されたメッセージダイジェストに偽造防止秘密鍵を用いて署名し、該署名によって偽造防止署名を形づくるステップと、
前記電子証明書に関する要求に前記偽造防止署名を挿入するステップと、
前記電子証明書に関する要求を前記認証局に転送するステップと
をコンピュータに実行させるための命令を備えたことを特徴とするコンピュータ実行可能プログラム。
【請求項２６】
前記プログラムは、
前記ユーザの公開鍵を復号するステップと、
前記復号された公開鍵の一部分を抽出するステップと、
前記偽造防止鍵を用いて前記一部分に署名し、該署名によって前記偽造防止署名を署名するステップと、
前記偽造防止署名を符号化するステップと
を前記コンピュータにさらに実行させることを特徴とする請求項２５に記載のコンピュータ実行可能プログラム。
【請求項２７】
前記電子証明書は、オブジェクト識別子フィールドを有し、
前記電子証明書の前記オブジェクト識別子フィールドに配置するための前記偽造防止署名を指示するステップを前記コンピュータにさらに実行させることを特徴とする請求項２６に記載のコンピュータ実行可能プログラム。
【請求項２８】
前記電子証明書に関する要求は、前記ユーザの公開鍵を含むことを特徴とする請求項２５に記載のコンピュータ実行可能プログラム。
【請求項２９】
前記電子証明書に関する要求は、前記ユーザの識別情報を含むことを特徴とする請求項２５に記載のコンピュータ実行可能プログラム。
【請求項３０】
前記識別情報は、ユーザの名前および電子メールアドレスを含むことを特徴とする請求項２９に記載のコンピュータ実行可能プログラム。
【請求項３１】
前記電子証明書に関する前記要求に登録局秘密鍵を用いて署名するステップと、
前記認証局に属する公開鍵を用いて前記電子証明書に関する要求を暗号化するステップと
を前記コンピュータにさらに実行させることを特徴とする請求項２５に記載のコンピュータ実行可能プログラム。
【請求項３２】
前記オブジェクト識別子フィールドに前記偽造防止署名を含む前記電子証明書を生成するステップを前記コンピュータにさらに実行させることを特徴とする請求項２７に記載のコンピュータ実行可能プログラム。
【請求項３３】
前記オブジェクト識別子フィールドに前記偽造防止署名を含む前記電子証明書を前記認証局から受け取るステップを前記コンピュータにさらに実行させることを特徴とする請求項２７に記載のコンピュータ実行可能プログラム。
【請求項３４】
前記電子証明書の前記オブジェクト識別子フィールドから前記偽造防止署名を取り出すステップと、
前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて、第１のメッセージダイジェストを生成するステップと、
前記ハッシュ関数および前記ユーザの公開鍵に基づいて、第２のメッセージダイジェストを生成するステップと、
前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書は真正であると決定するステップと
を前記コンピュータにさらに実行させることを特徴とする請求項３３に記載のコンピュータ実行可能プログラム。
【請求項３５】
前記偽造防止署名を復号するステップを前記コンピュータにさらに実行させることを特徴とする請求項３４に記載のコンピュータ実行可能プログラム。
【請求項３６】
ｂａｓｅ６４を使用して前記公開鍵を復号するステップと、
ｂａｓｅ６４を使用して前記偽造防止署名を暗号化するステップと
を前記コンピュータにさらに実行させることを特徴とする請求項２６に記載のコンピュータ実行可能プログラム。
【請求項３７】
ｂａｓｅ６４を使用して前記偽造防止署名を復号するステップを前記コンピュータにさらに実行させることを特徴とする請求項３５に記載のコンピュータ実行可能プログラム。
【請求項３８】
コンピュータ読取可能な媒体上に常駐するコンピュータ実行可能プログラムコードであって、
認証局によって発行された電子証明書を認証するステップであって、前記電子証明書はユーザの公開鍵に関連付けられ、前記電子証明書は偽造防止署名を含み、前記偽造防止署名は前記ユーザの公開鍵、偽造防止秘密鍵、およびハッシュ関数の少なくとも一部分から形づくられ、前記偽造防止秘密鍵は対応する偽造防止公開鍵を有し、認証局によって発行された電子証明書を認証するステップと、
前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成するステップと、
前記ハッシュ関数および前記ユーザの公開鍵に基づいて第２のメッセージダイジェストを生成するステップと、
前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書は真正であると決定するステップと
をコンピュータに実行させる命令を備えたことを特徴とするコンピュータ実行可能プログラムコード。
【請求項３９】
認証局によって発行された電子証明書を認証するための方法であって、前記電子証明書はユーザの公開鍵に関連付けられ、前記電子証明書は偽造防止署名を含み、前記偽造防止署名は前記ユーザの公開鍵、偽造防止秘密鍵、およびハッシュ関数の少なくとも一部分から形づくられ、前記偽造防止秘密鍵は対応する偽造防止公開鍵を有し、
前記電子証明書の前記オブジェクト識別子フィールドから前記偽造防止署名を取り出すステップと、
前記偽造防止署名および前記対応する偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成するステップと、
前記ハッシュ関数および前記ユーザの公開鍵に基づいて第２のメッセージダイジェストを生成するステップと、
前記第１のメッセージダイジェストが前記第２のメッセージダイジェストに等しい場合、前記電子証明書は真正であると決定するステップと
を備えたことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は安全な通信に関し、具体的に言えば、電子証明書の真正性を検証する方法およびシステムに関する。
【背景技術】
【０００２】
安全な通信は、ビジネスに不可欠なアプリケーションをインターネットを介して送達するために極めて重要なものである。インターネットを介した安全な通信の基礎として登場したのが、公開鍵基盤（ＰＫＩ）である。ＰＫＩは、インターネットなどの公衆媒体を介して伝送されるメッセージの認証および暗号化を容易にする。
【０００３】
ＰＫＩシステムの心臓部となるのが、ＰＫＩシステムにおける各ユーザに固有の公開／秘密鍵ペアである。各ユーザの秘密鍵はローカルに格納され、ユーザによって秘密裏に維持されるのに対して、公開鍵は公に使用することができる。公開／秘密鍵ペアは、ＰＩＫシステム内での通信の認証および暗号化に使用することができる。
【０００４】
ＰＫＩシステム内でメッセージを認証するために、送信されるメッセージにハッシュ関数が適用され、その結果として生じるメッセージダイジェストが送信者の秘密鍵を用いて署名され、それによって電子署名が形づくられる。メッセージおよび関連付けられた電子署名を受け取ると、受信者は送信者の公開鍵を電子署名に適用して、メッセージダイジェストを取り出す。電子署名から取り出したメッセージダイジェストが、受信者が直接計算したメッセージダイジェストと一致した場合、受信者は、メッセージが対応する公開鍵を管理する送信者からのものであると確信することができる。
【０００５】
ＰＫＩシステムの公開／秘密鍵ペアは、認証に加えてメッセージの暗号化にも使用される。受信者へのセキュア伝送のためにメッセージを暗号化する際、送信者は意図される受信者の公開鍵を使用してメッセージを符号化するため、該当する受信者のみが受信者の対応する公開鍵を用いてメッセージを復号することができる。
【０００６】
電子署名検証およびメッセージ暗号化の信頼性は、送信者の公開鍵の受信者のコピー（および暗号化の場合の受信者の公開鍵の送信者のコピー）の信頼性に依存する。通常、送信者は、オリジナルメッセージと共に送信者の公開鍵を伝送する。その結果、詐称者（ｉｍｐｏｓｔｏｒ）が送信元からのものと称されるメッセージを作成すること、および異なる秘密鍵に従ってメッセージのダイジェストを暗号化することによって、電子署名技法をひそかに攻撃することが可能となる。その後詐称者は、新しい暗号化ダイジェストおよび詐称者の秘密鍵に対応する公開鍵を用いて、メッセージを受信者に送信することになる。電子署名を検証するためにメッセージと共に送られた公開鍵を使用することによって、受信者はメッセージが送信元から来たものであると、誤った結論に達することになる。
【０００７】
この種の破壊を防止するための周知の方法の１つに、電子証明書（ｄｉｇｉｔａｌ  ｃｅｒｔｉｆｉｃａｔｅ）の使用が含まれる（例えば、参照により本明細書に組み込まれる非特許文献１参照）。この標準によれば、送信者は、送信者の公開鍵を含む電子証明書と共にオリジナルメッセージおよび暗号化ダイジェストを伝送する。
【０００８】
次に図１を参照すると、電子証明書を作成するための従来技術システム１００のブロック図が示されている。システム１００は、ユーザによって操作されるブラウザデバイス１０１を含む。例えばデバイス１０１は、ユーザの要求時に公開／秘密鍵ペアを生成するブラウザソフトウェアの動作するパーソナルコンピュータであってよい。次に公開鍵は、登録局（ＲＡ／Ｒｅｇｉｓｔｒａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）サーバ１０２に送られ、ユーザの公開鍵と共に使用するために電子証明書を形づくるプロセスが開始される。ＲＡサーバ１０２は、ユーザ認証データベース１０３にアクセスすることによって、要求側ユーザを認証することができる。さらにＲＡサーバ１０２は、非限定的な例を挙げると、電子証明書に含められるユーザ名および電子メールアドレスなどのユーザ識別情報を取り出すために、ＬＤＡＰなどのディレクトリ１０４にアクセスすることもできる。次にＲＡサーバ１０２は、ユーザの公開鍵および識別情報を含む認証書署名要求（ＣＳＲ／Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｉｇｎｉｎｇ  Ｒｅｑｕｅｓｔ）を公式化し、その後、ＲＡサーバ１０２に関連付けられた秘密鍵カード１０５によって生成された秘密鍵でＣＳＲに署名を行う。次にＲＡサーバ１０２は、認証局（ＣＡ／Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）１０６に属する公開鍵を用いてＣＳＲを暗号化する。次に暗号化されたＣＳＲは、要求された電子証明書を作成するためにＣＡ１０６に送信される。ＣＡ１０６はその秘密鍵を用いてＣＳＲを復号し、ＲＡサーバ１０２の公開鍵を用いて（カード１０５からの秘密鍵に対応する）ＣＳＲを検証し、要求側ユーザに関する電子証明書を生成する。次に電子証明書は署名および暗号化されてＲＡサーバ１０２に戻され、その結果ユーザが使用できるようになる。この方法で電子証明書を作成する認証局の一例がＶｅｒｉｓｉｇｎ（www.verisign.com）である。ユーザの電子証明書がいったん作成されると、ユーザはメッセージと共にユーザの電子証明書を指定の受信者に送信する。その後受信者は、ＣＡ１０６に送信者の電子証明書の検証を要求することによって、送信者の識別を検証することができる。
【０００９】
【非特許文献１】International Telecommunication Union, "Recommendation X.509--Information Technology--Open Systems Interconnection--the Directory: Authentication Framework" November 1993 ("Recommendation X.509")
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記の証明方式の欠点は、認証局が第三者（すなわち送信者または受信者でない）によって運営されている場合、受信者は認証局による送信者の電子証明書の検証を信用する必要があることである。しかしながら認証局は、電子証明書を公開／秘密鍵ペアに関連付け、実際には電子証明書および公開／秘密鍵ペアのどちらも一定のエンティティに属していないときに特定の電子証明書が一定のエンティティに属しているように表すことが可能である。その後ＣＡは電子証明書を使用して、当該エンティティが受信者と通信しているように見せかけることができる。このため、信用できないＣＡが存在する可能性があることから、インターネットを介した安全な通信がひそかに損なわれる可能性がある。
【００１１】
したがって、電子証明書の真正性を検証するためのシステムおよび方法を提供することが望まれる。
【課題を解決するための手段】
【００１２】
本発明は、従来技術の欠点を克服することを目的とするものである。本発明の下では、ユーザの公開鍵と共に使用するために認証局が発行した電子証明書を認証するための方法およびシステムが提供され、最初に、公開鍵から導出されたメッセージダイジェストに偽造防止（ａｎｔｉ−ｆｏｒｇｅｒｙ）秘密鍵を用いて署名し、それによって偽造防止署名を形づくるステップを備える。次に、電子証明書に関する要求に当該偽造防止署名が挿入される。最後に、当該電子証明書に関する要求が認証局に転送される。
【００１３】
例示的な実施形態において、偽造防止署名を用いて公開鍵に署名するステップは、公開鍵を復号するステップと、復号された公開鍵の一部分を抽出するステップと、偽造防止鍵を用いて当該一部分に署名し、それによって偽造防止署名を形づくるステップと、偽造防止署名を符号化するステップとを含む。
【００１４】
他の例示的な実施形態において、電子証明書はオブジェクト識別子フィールドを有し、電子証明書に関する要求に偽造防止署名を挿入するステップは、電子証明書のオブジェクト識別子フィールドに配置するための偽造防止署名を指定するステップを含む。
【００１５】
他の例示的な実施形態において、電子証明書に関する要求にユーザの公開鍵が含まれる。
【００１６】
他の例示的な実施形態において、電子証明書に関する要求にユーザの識別情報が含まれる。
【００１７】
例示的な実施形態において、識別情報にはユーザの名前および電子メールアドレスが含まれる。
【００１８】
他の例示的な実施形態において、電子証明書に関する要求を認証局に転送するステップには、電子証明書に関する要求に秘密鍵を用いて署名するステップと、認証局に属する公開鍵を用いて電子証明書に関する要求を暗号化するステップとが含まれる。
【００１９】
他の例示的な実施形態において、オブジェクト識別子フィールドに偽造防止署名を含む電子証明書は、認証局によって生成される。
【００２０】
他の例示的な実施形態において、オブジェクト識別子フィールドに偽造防止署名を含む電子証明書は、認証局から受け取られる。
【００２１】
他の例示的な実施形態において、偽造防止署名は電子証明書のオブジェクト識別子フィールドから取り出される。次に、当該偽造防止署名および対応する偽造防止公開鍵に基づく第１のメッセージダイジェストが生成される。次に、ハッシュ関数およびユーザの公開鍵に基づく第２のメッセージが生成される。最後に、第１のメッセージダイジェストが第２のメッセージダイジェストに等しければ、電子証明書が真正であることが決定される。
【００２２】
例示的な実施形態において、偽造防止署名から公開鍵の少なくとも一部分を取り出すステップは、偽造防止署名を復号するステップを含む。
【００２３】
他の例示的な実施形態において、公開鍵を復号するステップはｂａｓｅ６４を使用して前記公開鍵を復号するステップを含み、偽造防止署名を暗号化するステップはｂａｓｅ６４を使用して偽造防止署名を暗号化するステップを含む。
【００２４】
他の例示的な実施形態において、偽造防止署名を復号するステップは、ｂａｓｅ６４を使用して偽造防止署名を復号するステップを含む。
【００２５】
本発明の下では、認証局によって発行された電子証明書を認証するための方法は、電子証明書はユーザの公開鍵と共に使用され、電子証明書は偽造防止署名を含み、偽造防止署名はユーザの公開鍵の少なくとも一部分、偽造防止秘密鍵、およびハッシュ関数から形づくられ、偽造防止秘密鍵は対応する偽造防止公開鍵を有するものである。当該発明によれば、第１のメッセージダイジェストは偽造防止署名および対応する偽造防止公開鍵に基づいて生成される。次に、第２のメッセージダイジェストはハッシュ関数およびユーザの公開鍵に基づいて生成される。最後に、第１のメッセージダイジェストが第２のメッセージダイジェストに等しければ、電子証明書が真正であることが決定される。
【００２６】
本発明の下では、認証局によって発行された電子証明書を認証するためのシステムが提供され、このシステムでは電子証明書がユーザの公開鍵と共に使用される。システムには、偽造防止秘密鍵を生成するための偽造防止秘密鍵カードが含まれる。さらにシステムには、電子証明書に関する要求を認証局宛に発行するための登録局サーバも含まれる。登録局は、ユーザの公開鍵の少なくとも一部分、偽造防止秘密鍵、およびハッシュ関数から、偽造防止署名を形づくる。次に登録局は、偽造防止署名を電子証明書に関する要求に挿入し、この電子証明書に関する要求を認証局に転送する。
【００２７】
例示的な実施形態において、電子証明書はオブジェクト識別子フィールドを有し、電子証明書のオブジェクト識別子フィールド内に配置するために登録局によって偽造防止署名が指定される。
【００２８】
他の例示的な実施形態において、秘密鍵が含まれ、登録局は電子証明書に関する要求に秘密鍵を用いて署名し、認証局の公開鍵を用いて当該要求を暗号化した後、当該要求を認証局に転送する。
【００２９】
他の例示的な実施形態において、登録局は偽造防止署名を含む電子証明書を認証局から受け取る。
【００３０】
他の例示的な実施形態において、システムは、電子証明書のオブジェクト識別子フィールドから偽造防止署名を取り出す認証エンジンを含む。認証エンジンも、偽造防止署名および対応する偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成する。次に認証は、ハッシュ関数およびユーザの公開鍵に基づいて第２のメッセージダイジェストを生成する。次に認証エンジンは、第１のメッセージダイジェストが第２のメッセージダイジェストに等しければ、電子証明書が真正であるものと決定する。
【００３１】
本発明の下では、コンピュータ読取可能な媒体上に常駐するコンピュータ実行可能プログラムコードが提供され、当該プログラムコードは、ユーザの公開鍵と共に使用される認証局によって発行された電子証明書を認証すること、公開鍵の少なくとも一部分から導出されたメッセージダイジェストに偽造防止秘密鍵を用いて署名し、それによって偽造防止署名を形づくること、電子証明書に関する要求に偽造防止署名を挿入すること、ならびに電子証明書に関する要求を認証局に転送することを、コンピュータに実行させるための命令を含む。
【００３２】
このため、電子証明書の真正性を検証するためのシステムおよび方法が提供される。
【００３３】
したがって本発明は、以下の詳細な開示に例示される構造体の特徴、要素の組合せ、および部分の配置構成を含むものであり、本発明の範囲は特許請求の範囲に示される。本発明の他の特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【００３４】
本発明をより完全に理解するために、以下の説明は添付の図面と共に参照されたい。
【発明を実施するための最良の形態】
【００３５】
次に図２を参照すると、本発明に従って電子証明書を認証するためのシステム２００のブロック図を示している。図１に含まれる要素と同様の要素には同一のラベル表示がなされており、その詳細な説明は省略する。
【００３６】
図２には、偽造防止秘密鍵カード２０２を含む登録局（ＲＡ）サーバ２０１が含まれる。偽造防止秘密鍵カード２０２は、以下で説明するように、電子証明書を認証するためにＲＡサーバ２０１によって使用される偽造防止秘密／公開鍵を生成する。例示的な実施形態において、偽造防止秘密鍵カード２０２は、カードリーダに挿入されて秘密／公開鍵を生成するカードである。こうしたカードおよびカードリーダの一例は、Ｃｈｒｙｓａｌｉｓから商標名Ｌｕｎａで入手可能である（http://www.chrysalis-its.com/products/luna_ra.html）。例示的な実施形態において、秘密鍵カード１０５および偽造防止秘密鍵カード２０２はそれぞれＬｕｎａカードであり、ＲＡサーバ２０１に秘密鍵を提供するためにカードリーダにインストールされる。
【００３７】
次に図３は、後に認証可能な電子証明書を形づくる際のプロセスを示すフローチャートを示す図である。初めにステップ３１で、ＲＡサーバ２０１はユーザの操作するブラウザデバイス１０１から電子証明書に関する要求を受け取る。次にステップ３２で、ＲＡサーバ２０１は、ＣＡ１０６に転送されるＣＳＲを準備する。ＲＡサーバ２０１は、ユーザ名、電子メールアドレス、および公開鍵を含めることに加えて、ＣＳＲに含めるための偽造防止電子署名を形づくる（ステップ３３）。
【００３８】
次に図４は、ＲＡサーバ２０１によって偽造防止署名が形づくられる際のプロセスを説明するフローチャートを示す図である。初めにステップ４１で、（ＨＴＴＰ転送プロトコルに合致するために）ｂａｓｅ６４フォーマットで符号化されたユーザの公開鍵が、周知の復号技法を使用してＲＡサーバ２０１によって復号される。あるいは、ＯｐｅｎＳＳＬ通信プロトコルが使用されている場合は、ｂａｓｅ６４符号化は必要ない。次にステップ４２で、ハッシュ関数が公開鍵に適用され、その結果メッセージダイジェストが生じる。例示的な実施形態において、ハッシュ関数は、ＭＤ５ハッシュを生成するＭＤ５ハッシュ関数である。次にステップ４３で、ＲＡサーバ２０１は、例示するとこれに限定されないが、ＲＳＡの署名アルゴリズム、楕円曲線、エルガマルなどの、周知の技法を使用して、偽造防止秘密鍵カードによって生成された偽造防止秘密鍵を用いてメッセージダイジェストに署名することにより、偽造防止署名を生成する。ステップ４４で、ＲＡサーバ２０１のｂａｓｅ６４が偽造防止署名を符号化するため、その結果偽造防止署名はＷｅｂベースのプロトコル（ＨＴＴＰなど）を使用して通信することができる。あるいは、ＯｐｅｎＳＳＬ通信プロトコルが使用されている場合、ｂａｓｅ６４復号は必要ない。
【００３９】
いったん偽造防止署名が形づくられると、ステップ３４でＲＡサーバ２０１は、電子証明書に含めることに関するＣＳＲ要求に当該偽造防止署名を配置する。例示的な実施形態において、ＲＡサーバ２０１は、電子証明書のオブジェクト識別子（ＯＩＤ）フィールドに配置するための偽造防止フィールドを指定する。ＯＩＤフィールドは、ユーザ名および電子メールアドレスなどのユーザに関する固有の識別情報を含む識別名（ＤＮ）セクション内に偽造防止フィールドを配置するのとは対照的なので使用するのが望ましい。偽造防止フィールドがＤＮセクション内に配置され、ユーザが（ＲＡサーバ２０１から）第２の公開鍵を使用して第２の電子証明書を要求した場合、その第２の公開鍵に基づいて偽造防止署名をＤＮセクションに含めることは、この要求を前の要求と区別することになり、その結果、ユーザが第２の電子証明書を取得できることとなる。偽造防止署名をＯＩＤフィールドに配置する利点は、ＯＩＤフィールドのコンテンツの一意性がＲＡサーバ２０１またはＣＡ１０６によってチェックされることがなく、そのため、偽造防止署名をＯＩＤフィールドに配置しても、ユーザが第２の電子証明書を取得できるようなことにはならないことである。
【００４０】
次にステップ３５で、ＲＡサーバ２０１は、秘密鍵カード１０５によって生成された秘密鍵を用いてＣＳＲに署名し、ＣＡ１０６に属する公開鍵を用いてＣＳＲを暗号化する。ステップ３６でＲＡサーバ２０１は、インターネットなどの任意の周知の通信媒体およびプロトコルを使用して、ＣＳＲをＣＡ１０６に送る。次にステップ３７で、ＣＡ１０６はその秘密鍵を用いてＣＳＲを復号し、ＲＡサーバ２０１の公開鍵を用いてＣＳＲを検証する。ステップ３８でＣＡ１０６は、ＣＳＲに提供されたユーザ情報に基づいて、周知の技法を使用して電子証明書を生成する。したがって、結果として生じる電子証明書には、特定のＣＳＲに提供された仕様に従ってＯＩＤフィールドに配置された偽造防止署名が含まれる。次にステップ３９で、ＣＡ１０６はその秘密鍵を用いて電子証明書に署名し、ＲＡサーバ２０１の公開鍵を用いて電子証明書を暗号化する。最後にステップ４０で、ＲＡサーバ２０１はＣＡ１０６から電子証明書を受け取り、復号して、その秘密鍵およびＣＡ１０６の公開鍵をそれぞれ使用して電子証明書を検証し、要求側ユーザが当該電子証明書を使用できるようにする。
【００４１】
偽造防止秘密鍵はＲＡサーバ２０１のみに知られているものであり、偽造防止署名は偽造防止秘密鍵を用いてユーザの公開鍵のメッセージダイジェストに署名することによって形づくられるものであるため、偽造防止署名を含む電子証明書は、ＲＡサーバ２０１から発せられたＣＳＲに基づいてのみ作成することが可能である。たとえＣＡ１０６が、電子証明書を呼び出してそれに代わる他の電子証明書を再発行することを決めたとしても、偽造防止署名はオリジナルの電子証明書に関連付けられた公開／秘密鍵ペアにのみ対応するものであるため、オリジナルの電子証明書の偽造防止署名を再作成することはできない。したがって電子証明書は、ＯＩＤフィールドに有効な偽造防止署名を含んでいれば、真正である、すなわちＲＡサーバ２０１から発せられたものであると決定することができる。
【００４２】
次に図５は、本発明に従って形づくられた電子証明書を認証することが可能なプロセスのフローチャートを示す図である。ＲＡサーバ２０１には認証エンジン２０３が備えられ、これが電子証明書を認証するための偽造防止署名の妥当性を検査するプロセスを実行する。認証プロセスはステップ５１から始まり、認証される電子証明書のＯＩＤフィールドに含められた値が取り出される。
【００４３】
次にステップ５２で、偽造防止署名がｂａｓｅ６４復号される。ステップ５３で、認証される電子証明書から特定のユーザの公開鍵が取り出され、ステップ５４で、ＳｕｂｊｅｃｔＰｕｂｌｉｃＫｅｙＩｎｆｏ値を抽出するために、暗号化された公開鍵がｂａｓｅ６４復号される。（ＳｕｂｊｅｃｔＰｕｂｌｉｃＫｅｙＩｎｆｏとは、Ｘ．５０９標準によって定義された公開鍵に関するＡＳＮ．１データフォーマットの名前である。）次にステップ５５で、認証エンジン２０３は、検証される復号済み署名値および偽造防止公開鍵に基づいて第１のメッセージダイジェストを生成する。次にステップ５６で、最初にＯＩＤフィールド内の偽造防止署名を作成するために使用されたハッシュ関数を使用して、ＳｕｂｊｅｃｔＰｕｂｌｉｃＫｅｙＩｎｆｏ値から第２のメッセージダイジェストが形づくられる。さらにステップ５７で、第１のメッセージダイジェストと第２のメッセージダイジェストが比較され、ステップ５８でそれらが等しいことがわかれば、この電子証明書は真正である。ただし、第１のメッセージダイジェストと第２のメッセージダイジェストが等しくない場合、この電子証明書は真正でなく（すなわち、ＲＡサーバ２０１から発せられたＣＳＲに従って作成されなかった）、ユーザの公開鍵、識別情報、およびＣＡ１０６の秘密鍵へのアクセス権を有する第三者によって偽造されたものである。
【００４４】
例示的な実施形態において、認証エンジン２０３は、認証プロセスを実行するためにＲＡサーバ２０１上で実行されるソフトウェアプログラムである。あるいは、認証エンジン２０３は、認証プロセスに必要な偽造防止鍵を受け取るためにＲＡサーバ２０１と通信している、コンピュータなどの別のデバイスである。
【００４５】
したがって、電子証明書の真正性を検証するためのシステムおよび方法が提供される。電子証明書のＯＩＤフィールドに、ＲＡサーバ２０１のみが知る偽造防止秘密鍵から形づくられた偽造防止署名を含めることによって、電子証明書がＲＡサーバ２０１から発せられたＣＳＲに従って作成されたものであるかどうかを決定することができる。したがって、ＯＩＤフィールド内に有効な偽造防止署名が見つかった場合、当該電子証明書は真正であるとみなされる。ＯＩＤフィールド内に有効な偽造防止署名が見つからなかった場合、その電子証明書は偽造である。このように偽造防止署名を使用して、第三者の認証局が使用されている状況で、電子証明書の真正性を検証することができる。
【００４６】
以上、本発明のいくつかの実施形態について説明してきた。しかし、本発明の精神および範囲を逸脱することなく、様々な修正形態が実行可能であることを理解されよう。当業者であれば、上記の説明に基づいて、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスとの間で、データおよび命令を送受信するために結合された、少なくとも１つのプログラム可能プロセッサを含むプログラム可能なシステム上で実行可能な、１つまたは複数のコンピュータプログラム内で本発明のシステムおよび方法を実施することが明らかになろう。それぞれのコンピュータプログラムは、上位手続言語またはオブジェクト指向プログラミング言語で、あるいは所望であればアセンブリまたはマシン言語で実施可能であり、いずれの場合にも、言語はコンパイル型またはインタプリタ型言語である。好適なプロセッサには、例を挙げると、汎用および専用マイクロプロセッサが含まれる。さらに、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの両方の組合せでこのシステムを実施し、ならびに異なる様式でモジュールおよび／またはデータを配布する、本発明の代替の実施形態も、当業者であれば明らかであり、本発明の範囲内である。さらに、例としてこれに限定されないが、Ｓｙｂａｓｅ、Ｏｒａｃｌｅ、およびＤＢ２などの従来のデータベース管理システムを、本発明を実施するためのプラットフォームとして使用することも、当業者には明らかであろう。また、ネットワークアクセスドライブには、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）（商標）、Ｕｎｉｘ（登録商標）（商標）、またはＡｐｐｌｅ  Ｍａｃ  ＯＳ（商標）などのオペレーティングシステム、ならびにＪＡＶＡ（登録商標）プログラムまたはＷｅｂブラウザなどのソフトウェアアプリケーションを実行する、パーソナルコンピュータを含むことも可能である。ブラウザデバイス１０１は、ターミナルデバイス、パームタイプコンピュータ、モバイルＷＥＢアクセスデバイス、あるいは、インターネットプロトコルなどのポイントツーポイントまたはネットワーク通信プロトコルに準拠可能な他のデバイスであってもよい。コンピュータおよびネットワークアクセスデバイスは、プロセッサ、ＲＡＭおよび／またはＲＯＭメモリ、ディスプレイ機能、入力デバイス、およびハードディスクまたは他の比較的永続するストレージを含むことができる。したがって、他の実施形態は特許請求の範囲の範囲内である。
【００４７】
上記プロセスを実行する際に、記載された製品で、また本発明の精神および範囲を逸脱することなく記載された構造体で、一定の変更が可能であることから、上記の説明から明らかになった前述の目的が効率的に達成されることは明らかであり、添付の図面に示された上記の説明に含まれるすべての趣旨は例示的なものであり、限定的な意味ではないと、解釈すべきである。
【００４８】
添付の特許請求の範囲は、本明細書に記載された本発明のすべての一般的および特定の機能、ならびに言語の問題でそれらの間に入ると言うことができる本発明の範囲のすべての記載を包含するものであることも理解されたい。
【図面の簡単な説明】
【００４９】
【図１】電子証明書を作成するための従来技術のシステムを示すブロック図である。
【図２】本発明に従って、電子証明書を認証するためのシステムを示すブロック図である。
【図３】本発明に従って、認証可能な電子証明書を形づくる際のプロセスを示すフローチャートである。
【図４】本発明に従って、偽造防止署名を形づくる際のプロセスを示すフローチャートである。
【図５】本発明に従って形づくられた電子証明書を認証することが可能なプロセスを示すフローチャートである。
【図１】
2005512395.tif 000003
【図２】
2005512395.tif 000004
【図３】
2005512395.tif 000005
【図４】
2005512395.tif 000006
【図５】
2005512395.tif 000007
【国際調査報告】
2005512395.tif 000008