(57)【特許請求の範囲】
【請求項１】
クライアント端末によって、ユーザの第１のデジタル証明書を収集することと、
前記第１のデジタル証明書の収集結果のダイジェスト計算を行って、前記第１のデジタル証明書のデジタル証明書ダイジェストを生成することと、
前記第１のデジタル証明書の前記デジタル証明書ダイジェストをクッキーファイルにキャッシュすることと、
前記ユーザの操作に応答して、前記キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信することと、
を含む方法。
【請求項２】
前記サービスサーバによって、前記サービス要求を受信することと、
前記サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスであるか否かを判断することと、
前記サービス要求に対応する前記サービスが前記デジタル証明書の検証が必要でないサービスであると判断したことに応答して、前記サービスを実行すること、または、
前記サービス要求に対応する前記サービスが、前記デジタル証明書の検証が必要なサービスであると判断したことに応答して、前記第１のデジタル証明書の前記デジタル証明書ダイジェストを前記サービスサーバに記憶された前記ユーザの第２のデジタル証明書を用いて検証することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記検証は、
前記第１のデジタル証明書の前記デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて、前記サービスサーバに記憶された前記ユーザの前記第２のデジタル証明書にダイジェスト計算を行うことと、
前記第２のデジタル証明書のダイジェスト計算によって計算された結果を前記第１のデジタル証明書の前記デジタル証明書ダイジェストと比較することと、
前記第２のデジタル証明書の前記ダイジェスト計算によって計算された前記結果が、前記第１のデジタル証明書の前記デジタル証明書ダイジェストと同じであると判断されたことに応答して、検証の結果が合格であると判断することと、
を含む、請求項２に記載の方法。
【請求項４】
前記ダイジェストアルゴリズムは、メッセージダイジェストアルゴリズム５（ＭＤ５）アルゴリズムである、請求項３に記載の方法。
【請求項５】
検証の結果が合格であると判断したことに応答して、前記サービスを実行することをさらに含む、請求項２に記載の方法。
【請求項６】
前記ユーザからログイン要求を受信すると、ログイン要求をログインサーバに送信することをさらに含み、前記ログインサーバ及び前記サービスサーバは、同じサーバまたは異なるサーバである、請求項１に記載の方法。
【請求項７】
前記ユーザの前記第１のデジタル証明書を収集することは、前記ユーザからログイン要求を受信するとき、前記ユーザの前記第１のデジタル証明書を収集することを含む、請求項１に記載の方法。
【請求項８】
クライアント端末を含むシステムであって、
前記クライアント端末は、
ユーザの第１のデジタル証明書を収集する収集モジュールと、
前記第１のデジタル証明書の収集結果のダイジェスト計算を行って、前記第１のデジタル証明書のデジタル証明書ダイジェストを生成するダイジェストモジュールと、
前記第１のデジタル証明書の前記デジタル証明書ダイジェストをクッキーファイルにキャッシュするキャッシュモジュールと、
前記ユーザの操作に応答して、前記キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する送信モジュールと、
を備える、前記システム。
【請求項９】
サービスサーバをさらに含み、前記サービスサーバは、
前記サービス要求を受信する受信モジュールと、
前記サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスであるか否かを判断し、前記サービス要求に対応する前記サービスが、前記デジタル証明書の検証を必要とするサービスであると判断されたことに応答して、前記第１のデジタル証明書の前記デジタル証明書ダイジェストを、前記サービスサーバに記憶された前記ユーザの第２のデジタル証明書を用いて検証する検証モジュールと、
を備える、請求項８に記載のシステム。
【請求項１０】
前記検証モジュールは、さらに、
前記第１のデジタル証明書の前記デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて、前記サービスサーバに記憶された前記ユーザの前記第２のデジタル証明書にダイジェスト計算を行い、
前記第２のデジタル証明書の前記ダイジェスト計算によって計算された結果を前記第１のデジタル証明書の前記デジタル証明書ダイジェストと比較し、
前記第２のデジタル証明書の前記ダイジェスト計算によって計算された前記結果が前記第１のデジタル証明書の前記デジタル証明書ダイジェストと同じであるという判断に応答して、検証の結果が合格であると判断する、
請求項９に記載のシステム。
【請求項１１】
前記ダイジェストアルゴリズムは、メッセージダイジェストアルゴリズム５（ＭＤ５）アルゴリズムである、請求項１０に記載のシステム。
【請求項１２】
前記サービスサーバは、検証の結果が合格であるという判断に応答して前記サービスを実行する実行モジュールをさらに備える、請求項９に記載のシステム。
【請求項１３】
前記サービスサーバは、前記サービス要求に対応する前記サービスが前記デジタル証明書の検証を必要としないサービスであるという判断に応答して、前記サービスを実行する実行モジュールをさらに備える、請求項９に記載のシステム。
【請求項１４】
前記送信モジュールは、前記クライアント端末が前記ユーザからログイン要求を受信すると、ログイン要求をログインサーバにさらに送信し、前記ログインサーバ及び前記サービスサーバは同じサーバまたは異なるサーバである、請求項８に記載のシステム。
【請求項１５】
前記収集モジュールは、前記ユーザからログイン要求を受信すると、前記ユーザの前記第１のデジタル証明書をさらに収集する、請求項８に記載のシステム。
【請求項１６】
コンピュータ実行可能命令を記憶する１または複数のメモリであって、前記コンピュータ実行可能命令は、１または複数のプロセッサによって実行されると、
ユーザの第１のデジタル証明書を収集することと、
前記第１のデジタル証明書の収集結果のダイジェスト計算を行って、前記第１のデジタル証明書のデジタル証明書ダイジェストを生成することと、
前記第１のデジタル証明書の前記デジタル証明書ダイジェストをクッキーファイルにキャッシュすることと、
前記ユーザの操作に応答して、前記キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信することと、
を含む操作をコンピュータに実行させる、１または複数のメモリ。
【請求項１７】
前記操作は、前記ユーザからログイン要求を受信すると、前記ユーザの前記第１のデジタル証明書を収集することをさらに含む、請求項１６に記載の１または複数のメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2014年5月26日出願の中国特許出願第201410225581.9号「Method and Apparatus for Processing and Validating Digital Certificate」の外国優先権を主張し、参照によりその全体を本明細書に組み込む。
【０００２】
本開示は、インターネット技術の分野に関し、より詳細には、デジタル証明書の処理及び検証の方法及び装置に関する。
【背景技術】
【０００３】
現在、高いセキュリティ要件を有する多くのウェブサイトは、ユーザにデジタル証明書製品の使用を要求する。デジタル証明書は、記憶モードに従って、２種類に分類し得る。一種類は、ハードウェア媒体に記憶されたＵＳＢキー等のデジタル証明書であり、「ハード証明書」と呼ばれることが多い。他方は、ローカルクライアント（デスクトップコンピュータ及びノートブックコンピュータ等）に記憶（インストール）されたデジタル証明書で、「ソフト証明書」と呼ばれることが多い。高いセキュリティ要件を有する操作に関して、デジタル証明書を採用して ユーザ操作のセキュリティを保証することによって、通常、第２の検証が行われる。しかしながら、デジタル証明書はローカルクライアントにインストールされ、証明書の検証及び処理ロジックはサーバ側にあるので、高いセキュリティ要件を有する操作を実行する前に、ローカルクライアントにインストールされた証明書を収集し、その証明書を証明書一致検証のためにサーバ側に提出する必要がある。このようなモードにおいては、大量のデータがネットワークで送信されて、ネットワークトラフィックを無駄にする原因となり、高いセキュリティ要件を有する各操作の前に、証明書収集及び提出ステップを追加する必要がある。
【０００４】
このような問題に関して、既存の解決法は、図１に詳細に示すように、ユーザがログイン後、証明書を収集、提出し、証明書を検証し、検証結果をキャッシュする。図１は、既存のデジタル証明書検証解決法における、ブラウザと対応するサーバ間のインタラクションを示す概略図である。デジタル証明書検証を行う必要があるので、ユーザのログイン完了のために行う必要のある操作は、ステップ１１０でログインを要求することと、ステップ１２０で証明書情報を収集することと、ステップ１３０で証明書情報を提出することと、ステップ１４０で証明書を検証して証明書検証結果をキャッシュすることと、ステップ１５０でユーザ操作に応答して対応するサービス要求を開始することと、ステップ１６０でサービスを実行することとを含む。
【０００５】
図１に示す既存の解決法は、以下の明らかな欠点を有する：（１）ユーザがログインするたびに、クライアント端末が、証明書の収集と提出の操作を行う必要がある。よって、ユーザの２０％のみが、高いセキュリティ要件の操作を行うために証明書の検証を行う必要がある場合、証明書の提出及び検証操作の８０％が無駄になることを意味する、（２）デジタル証明書の量が、比較的大きいので、収集した証明書コンテンツを検証のためサーバに提出する時、一般に、証明書は、フォーム項目の書式で配置され、ＰＯＳＴモードでサーバに提出される。
【発明の概要】
【０００６】
この概要は、概念の一部を簡単に紹介するものであり、発明を実施するための形態により詳しく記載する。この概要は、請求項に記載された主題の全ての重要な特徴や不可欠な特徴を特定することを意図しておらず、単独で請求項に記載された主題の範囲を決定する助けとして用いられることも意図していない。例えば、「技術」という語は、上記文脈によって、また、本開示を通して、装置（単数または複数）、システム（単数または複数）、方法（単数または複数）、及び／または、コンピュータ可読命令を指してよい。
【０００７】
本開示は、デジタル証明書を処理、検証する方法及び装置を提供して、先行技術の証明書の提出操作及び検証操作と大量のデジタル証明書との無駄の問題を解決する。
【０００８】
本開示は、デジタル証明書を処理する方法の例を提供する。ユーザのデジタル証明書を収集する。デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。デジタル証明書ダイジェストをキャッシュする。ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求がサービスサーバに送信され、その結果、サービス要求に対応するサービスがデジタル証明書の検証を必要とするサービスである時、デジタル証明書ダイジェストの検証を通して検証に合格すると、サービスサーバがサービスを実行する。
【０００９】
本開示は、デジタル証明書を処理する装置の例を提供する。装置は、以下のモジュールを備えてよい。収集モジュールは、ユーザのデジタル証明書を収集する。ダイジェストモジュールは、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。キャッシュモジュールは、デジタル証明書ダイジェストをキャッシュする。送信モジュールは、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する。サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスである時、デジタル証明書ダイジェストの検証を通して検証に合格すると、サービスサーバは、サービスを実行する。
【００１０】
本開示は、デジタル証明書を検証する方法の例も提供する。クライアント端末は、ユーザのデジタル証明書を収集し、デジタル証明書の収集結果のダイジェスト計算を行ってユーザのデジタル証明書ダイジェストを生成し、デジタル証明書ダイジェストをキャッシュし、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する。サービスサーバは、サービス要求を受信する。サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスである時、サービスサーバは、デジタル証明書ダイジェストを検証する。
【００１１】
本開示は、デジタル証明書を検証するシステムの例をさらに提供する。システムは、クライアント端末とサービスサーバを備えてよい。クライアント端末は、以下のモジュールを備える。収集モジュールは、ユーザのデジタル証明書を収集する。ダイジェストモジュールは、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。キャッシュモジュールは、デジタル証明書ダイジェストをキャッシュする。送信モジュールは、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する。サービスサーバは、以下のモジュールを備えてよい。受信モジュールは、サービス要求を受信する。検証モジュールは、サービス要求に対応するサービスがデジタル証明書の検証を必要とするサービスである時、デジタル証明書ダイジェストを検証する。
【００１２】
既存の技術と比較して、本開示の技術による解決法は、少なくとも以下の有益な技術的効果を有する：
１）デジタル証明書の検証操作と具体的なサービス操作が一緒に実行されることにより、証明書検証の数を低減する。
２）ＰＯＳＴページを通して証明書情報を提出する必要がないので、具体的なサービスを実行するための要求の数を低減する。
３）デジタル証明書がキャッシュされるので、ユーザがログイン後にユーザが行った各操作を証明書ダイジェストに添付することができ、その結果、必要に応じて、いつでも証明書検証を行ってよい。
【図面の簡単な説明】
【００１３】
本明細書に記載の図面は、本開示のさらなる理解のために使用されており、本開示の一部を構成する。本開示の実施形態の例、及び、その記載は、本開示の説明のために使用されており、本開示に不適切な制限を課すためではない。
【図１】既存のデジタル証明書検証解決法における、クライアント端末のブラウザと、対応するサーバとのインタラクションを示す概略図である。
【図２】本開示の実施形態例に係る、デジタル証明書を処理する方法の例を示すフローチャートである。
【図３】本開示の実施形態例に係る、デジタル証明書を検証する方法の例を示すフローチャートである。
【図４】本開示の別の実施形態例に係る、デジタル証明書を検証する方法の例におけるブラウザとサーバのインタラクションを示す概略図である。
【図５】本開示の実施形態例に係る、デジタル証明書を処理する装置の例を示す構造図である。
【図６】本開示の実施形態に係る、デジタル証明書を検証するシステムの例を示す構造図である。
【発明を実施するための形態】
【００１４】
本開示の技術は、デジタル証明書の収集結果のダイジェスト計算を行って、計算によって生成されたデジタル証明書ダイジェストをキャッシュし、その結果、ユーザが操作を行うたびに、ブラウザが、デジタル証明書ダイジェストを含む要求を対応するサーバに送信する。従って、ユーザの操作が、デジタル証明書の検証を必要とする操作である時、サーバは、デジタル証明書ダイジェストを収集して、デジタル証明書検証を行う。
【００１５】
本開示の目的、技術的解決法、及び長所を明らかにするために、本開示の技術的解決法を、本開示の実施形態例と対応する図とを参照して以下に記載する。明らかに、記載の実施形態は、実施形態の全てではなく、本開示の実施形態のほんの一部である。本開示の実施形態に基づいて当業者が創造的努力なしに取得した他の実施形態は全て、本開示の保護範囲に属するものとする。
【００１６】
本開示の実施形態例に従って、デジタル証明書を処理する方法を提供する。
【００１７】
図２は、本開示の実施形態例に係る、デジタル証明書を処理する方法の例を示す。本開示の技術的解決法は、ユーザのデジタル証明書の検証を行う高いセキュリティ要件を有するウェブサイトまたはウェブページアプリケーション（データインタラクションアプリケーション等）に適用されてよい。例えば、ブラウザを介してウェブページアプリケーションを使用する時、ユーザの特定の操作に関するデジタル証明書検証、即ち、ユーザのデジタル証明書に関する検証が行われる。
【００１８】
２１０において、ユーザのデジタル証明書が収集される。
【００１９】
例えば、ユーザが、クライアント端末（デスクトップコンピュータ、ラップトップコンピュータ等）のブラウザを介してウェブサイトを訪れると、ローカルクライアントにインストールされたデジタル証明書が、ブラウザコントロールを介して収集される。
【００２０】
本開示の実施形態例によると、ユーザがログイン操作を行うと、ログイン要求がログインサーバに送信される。ログインサーバ及びサービスサーバは、同じサーバであってもよく、異なるサーバであってもよい。
【００２１】
２２０において、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。言い換えると、特定のダイジェストアルゴリズムを用いて、デジタル証明書の収集結果に関するダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。
【００２２】
ダイジェスト計算を通して、大量のデジタル証明書コンテンツを計算して小さいコンテンツにする。例えば、デジタル証明書の収集結果は、ＭＤ５（メッセージダイジェストアルゴリズム５）アルゴリズムを用いて、固定長を有するメッセージダイジェスト（固定長を有する文字列等）、即ち、デジタル証明書ダイジェストとして、計算されてよい。
【００２３】
本開示は、それに限らず、本開示に適用可能な任意のダイジェストアルゴリズムを採用して、デジタル証明書の収集結果のダイジェスト計算を行ってよいことに留意されたい。例えば、ＭＤ５アルゴリズムに加えて、ＳＨＡ（セキュアハッシュアルゴリズム）等のアルゴリズムも採用してよい。
【００２４】
２３０において、デジタル証明書ダイジェストがキャッシュされる。例えば、生成されたデジタル証明書ダイジェストは、クッキーファイルにキャッシュされてよい。
【００２５】
２４０において、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求が、サービスサーバに送信される。サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスである時、サービスサーバは、デジタル証明書ダイジェストを検証し、検証に合格すると、サービスを実行する。
【００２６】
例えば、ユーザがブラウザを通してウェブページに行った各操作に関して、ブラウザは、ユーザの操作に応答して、操作に対応するサービス要求をサーバに送信する。ブラウザは、ユーザの生成されたデジタル証明書ダイジェストを要求内に入れて、一緒にサービスサーバに送信してよい。ブラウザの各要求は、クッキーと共に送信されてよいので、生成されたデジタル証明書ダイジェストは、クッキーファイルにキャッシュされてよい。ブラウザが、ユーザの操作に応答して、その操作に対応するサービス要求をサーバに送信すると、デジタル証明書ダイジェストを含むクッキーとサービス要求が、一緒にサービスサーバに送信されてよい。サービスサーバは、サービス要求を受信すると、サービス要求に対応するサービスがデジタル証明書の検証を必要とするサービスか否かを判断してよい。サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスでない場合、サービスサーバは、サービスを直接実行してよい。サービス要求に対応するサービスが、高いセキュリティ要件を有し、デジタル証明書の検証が必要なサービス（支払い、振替、及び、支払い申し込みによる引出等）の場合、サービスサーバは、ユーザのデジタル証明書ダイジェストを収集して、検証を行い、サービスを実行してよいか否かを判断してよい。検証に合格すると、サービスサーバは、サービスを実行し、検証に失敗すると、関連するプロンプトメッセージが返信される。
【００２７】
サービスサーバは、以下の操作に従ってデジタル証明書ダイジェストを検証してよい。サービスサーバに記憶されたユーザのデジタル証明書のダイジェスト計算は、デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて行われる。ダイジェスト計算の結果を、デジタル証明書ダイジェストと比較する。同じである場合、検証に合格したと判断される。相違がある場合、検証は失敗したと判断される。例えば、ユーザのデジタル証明書ダイジェストの生成に採用されたアルゴリズムがＭＤ５である場合、ＭＤ５アルゴリズムを用いてデジタル証明書に関するダイジェスト計算が行われ、ダイジェスト計算の結果を、要求から取得されたユーザのデジタル証明書ダイジェストと比較する。同じである場合、検証に合格と判断される。相違がある場合、検証は失敗したと判断される。
【００２８】
本開示の実施形態例によると、ユーザがログイン操作を行う（即ち、ユーザがアカウントとパスワードを使用してウェブサイトにログインする）と、ローカルクライアントにインストールされたデジタル証明書も収集される。言い換えると、ユーザがログインすると、２１０の操作が実行されてよく、次に、２２０〜２４０の操作が順に実行されてよい。
【００２９】
例えば、ユーザが、クライアント端末のブラウザを介して、ウェブサイトまたはウェブページアプリケーションにログインすると、ブラウザは、ウェブサイトのログインサーバにログイン要求を送信してよい。ログインサーバが、要求を受信すると、ユーザアカウント及びパスワード検証等の操作が行われ、ユーザのログイン操作が実行されると、ログインサーバは、スクリプトをブラウザに返信する。ブラウザは、スクリプトを実行して、ユーザのデジタル証明書を収集し、デジタル証明書ダイジェストを生成し、生成したデジタル証明書ダイジェストをキャッシュしてよい。スクリプトは、スクリプト言語で書かれたコンピュータ実行可能コードであってよく、ログインサーバは、クライアント端末に返信されるウェブページデータにスクリプトを配置して、それをクライアント端末のブラウザに返信してよい。ブラウザは、サービスサーバが返信したウェブページデータ（ユーザがログイン後のページデータ等）を受信すると、スクリプトを実行して、クライアント端末にインストールされたデジタル証明書を収集し、証明書収集結果に対してダイジェスト計算を行って証明書ダイジェストを生成し、証明書ダイジェストをクッキーにキャッシュする。デジタル証明書ダイジェストは既にキャッシュされているので、将来のログイン中、デジタル証明書を収集する必要はなく、デジタル証明書ダイジェストのみをキャッシュから読み出すだけでよい。
【００３０】
本開示は、デジタル証明書を検証する方法の例も提供する。
【００３１】
図３は、本開示の実施形態に係る、デジタル証明書を検証する方法の例を示すフローチャートである。
【００３２】
３１０において、クライアント端末は、ユーザのデジタル証明書を収集する。
【００３３】
例えば、ユーザが、クライアント端末のブラウザを介してウェブサイトを訪れると、ローカルクライアントにインストールされたデジタル証明書が、ブラウザコントロールを介して収集されてよい。ローカルクライアントにインストールされたデジタル証明書は、ユーザがログイン操作を行う（即ち、ユーザがアカウントとパスワードを用いてウェブサイトにログインする）時、収集されてよい。
【００３４】
３２０において、クライアント端末は、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。
【００３５】
例えば、クライアント端末は、特定のダイジェストアルゴリズムを用いてデジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成してよい。例えば、デジタル証明書の収集結果は、ＭＤ５（メッセージダイジェストアルゴリズム５）アルゴリズムを用いて、固定長を有するメッセージダイジェスト、即ち、デジタル証明書ダイジェストとして計算されてよい。
【００３６】
３３０において、クライアント端末はデジタル証明書ダイジェストをキャッシュする。
【００３７】
本開示の実施形態例によると、生成されたデジタルダイジェストは、クッキーファイルにキャッシュされてよい。
【００３８】
３４０において、クライアント端末は、ユーザ操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する。
【００３９】
ユーザがブラウザを介して行った各操作に関して、クライアント端末のブラウザは、ユーザの操作に応答して、操作に対応するサービス要求をサービスサーバに送信してよい。ブラウザは、ユーザの生成したデジタル証明書ダイジェストを要求内に配置して、一緒にサービスサーバに送信してよい。例えば、ブラウザの各要求は、クッキーと共に送信されてよいので、生成されたデジタル証明書ダイジェストは、クッキーファイルにキャッシュされてよい。ブラウザが、ユーザ操作に応答して、操作に対応するサービス要求をサービスサーバに送信する時、デジタル証明書ダイジェストを含むクッキーは、サービス要求に配置され、一緒にサービスサーバに送信されてよい。
【００４０】
３５０において、サービスサーバは、サービス要求を受信する。
【００４１】
３６０において、サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスである時、サービスサーバは、デジタル証明書ダイジェストを検証する。
【００４２】
例えば、サービスサーバは、サービス要求を受信すると、サービス要求に対応するサービスがデジタル証明書の検証が必要なサービスか否かを判断する。サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスでない場合、サービスサーバは、サービスを直接実行してよい。サービス要求に対応するサービスが、例えば、支払い、振替、及び引出等の高いセキュリティ要件を有するサービス等、デジタル証明書の検証が必要なサービスである場合、サービスサーバは、ユーザのデジタル証明書ダイジェストを要求（要求によって運ばれたクッキー等）から収集して検証を行い、サービスを実行してよいか否かを判断してよい。
【００４３】
サービスサーバは、以下の操作に従ってデジタル証明書ダイジェストを検証してよい。サービスサーバに記憶されたユーザのデジタル証明書のダイジェスト計算は、デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて行われる。ダイジェスト計算の結果をデジタル証明書ダイジェストと比較する。同じ場合、検証に合格したと判断される。相違がある場合、検証は失敗したと判断される。
【００４４】
３７０において、検証に合格した場合、サーバは、サービスを実行してよく、デジタル証明書の検証に失敗した場合、関連するプロンプトメッセージが、クライアント端末に返信されてよい。
【００４５】
本開示のデジタル証明書の検証方法を図４を参照して以下に詳細に記載する。図４は、本開示の別の実施形態による、デジタル証明書の検証方法の例における、ブラウザ４０２とサーバとのインタラクションを示す概略図である。ログインサーバ４０４及びサービスサーバ４０６は、同じサーバであってもよく、異なるサーバであってもよい。図４では２つのサーバとして示されている。ログインサーバ４０４は、ユーザのログインを実行するサーバであってよく、サービスサーバ４０６は、具体的なサービスを実行するサーバであってよい。
【００４６】
図４に示すように、４１０において、ユーザがログイン操作を行うと、ブラウザ４０２は、ログイン要求をログインサーバ４０４に送信して、ログインサーバ４０４にユーザのログインを実行するように要求してよい。ログインサーバ４０４は、ユーザのアカウント、パスワード等が一致するか否かを検証する。一致する場合、ユーザのログインが実行され、ログイン成功後、ページコンテンツがブラウザ４０２に返信される。ブラウザ４０２は、ログインサーバ４０４が返信したデータに従って、ページのレンダリングと表示を行ってよい。
【００４７】
４２０において、クライアント端末のブラウザ４０２は、ローカルクライアントにインストールされたデジタル証明書を収集し、デジタル証明書の収集結果のダイジェスト計算を行ってデジタル証明書ダイジェストを生成し、デジタル証明書ダイジェストをキャッシュする。ブラウザ４０２は、クッキーファイルに生成したデジタル証明書ダイジェストをキャッシュしてよい。
【００４８】
本開示の実施形態例によると、図４に示すように、４１０´において、ユーザがクライアント端末のブラウザ４０２を介してウェブサイトまたはウェブページアプリケーションにログインすると、ブラウザ４０２は、ウェブサイトのログインサーバ４０４にログイン要求を送信してよく、ログインサーバ４０４は、ログイン要求を受信して、ログイン要求に従ってユーザのログインを実行してよい。ログインサーバ４０４は、ユーザアカウント及びパスワード検証等の操作をさらに行って、検証に合格するとユーザのログイン操作を実行し、クライアント端末のブラウザ４０２にスクリプトを返信してよい。ブラウザ４０２は、スクリプト（図４の４１０´参照）を実行することによって、ユーザのデジタル証明書の収集、デジタル証明書ダイジェストの生成、及び、デジタル証明書ダイジェストのキャッシュ等の操作を行ってよい。スクリプトは、スクリプト言語で書かれたコンピュータ実行可能コードであってよく、スクリプトは、クライアント端末に返信されるウェブページデータに配置されて、クライアント端末のブラウザ４０２に返信されてよい。サーバによって返信されたウェブページデータ（ログイン後のページデータ等）を受信すると、ブラウザ４０２は、スクリプトを実行してクライアント端末にインストールされたデジタル証明書を収集し、証明書収集結果のダイジェスト計算を行って証明書ダイジェストを生成し、クッキーに証明書ダイジェストをキャッシュする。
【００４９】
下記は、本開示の実施形態例による証明書ダイジェストをキャッシュするスクリプトの例である。
Ｄｏｃｕｍｅｎｔ．ｃｏｏｋｉｅ＝“ｃｅｒｔＤｉｇｅｓｔ＝”＋ｃｅｒｔＤｉｇｅｓｔ
【００５０】
４３０において、クライアント端末のブラウザ４０２は、ユーザ操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバ４０６に送信する。サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスである時、サービスサーバ４０６は、デジタル証明書ダイジェストを検証し、検証に合格すると、サービスを実行する。
【００５１】
本開示の実施形態例によると、サービスサーバ４０６は、ユーザが行う操作の実行に用いられる対応するサービスサーバであってよい。例えば、ユーザが行う操作が口座振替である場合、サービスサーバ４０６は、振替サービスを実行するサーバ、即ち、振替サーバであってよい。ユーザが行う操作が支払いの場合、サービスサーバ４０６は、支払いサービスを実行するサーバ、即ち、支払いサーバであってよい。ブラウザ４０２は、デジタル証明書ダイジェストを含むサービス要求を、ユーザが行う操作に従って対応するサービスサーバ４０６に送信してよく、サービス要求が要求したサービスは、ユーザが行う操作に対応するサービスであってよい。例えば、ユーザが行う操作が口座振替である場合、ブラウザ４０２は、振替要求を振替サーバに送信して、ブラウザ４０２は、ユーザのデジタル証明書ダイジェストを含むクッキーファイルを要求に配置して、一緒に振替サーバに送信してよい。
【００５２】
４４０において、サービスサーバ４０６は、サービス要求を受信する。サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスである時、サービスサーバ４０６は、デジタル証明書ダイジェストを検証して、検証に合格すると、サービスを実行する。言い換えると、サービスサーバ４０６は、サービス要求を受信すると、サービス要求に対応するサービスがデジタル証明書の検証が必要なサービスであるか否かを判断する。サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスでない場合、サービスサーバは、サービスを直接実行してよい。サービス要求に対応するサービスが、例えば、支払い、振替、及び、引出等、高いセキュリティ要件を有するサービス等、デジタル証明書の検証が必要なサービスである場合、サービスサーバは、ユーザのデジタル証明書ダイジェストを要求から収集して、検証を行い、サービスを実行してよいか否かを判断してよい。例えば、ユーザが行う操作が口座振替である場合、振替サーバは、ユーザのデジタル証明書ダイジェストをブラウザ４０２が送信した振替要求に含まれたクッキーから収集して、デジタル証明書ダイジェストを検証してよい。
【００５３】
サービスサーバ４０６は、以下の操作に従ってデジタル証明書ダイジェストを検証してよい。サービスサーバに記憶されたユーザのデジタル証明書のダイジェスト計算は、デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて行われる。ダイジェスト計算の結果をデジタル証明書ダイジェストと比較する。同じである場合、検証に合格したと判断される。相違がある場合、検証は失敗したと判断される。
【００５４】
例えば、ユーザのデジタル証明書ダイジェストの生成に採用されたアルゴリズムがＭＤ５の場合、ＭＤ５アルゴリズムを用いてデジタル証明書に関するダイジェスト計算が行われ、ダイジェスト計算の結果は、要求から取得されたユーザのデジタル証明書ダイジェストと比較される。同じ場合、検証に合格と判断される。相違がある場合、検証は失敗したと判断される。
【００５５】
４５０において、検証に合格した場合、サービスサーバ４０６はサービスを実行する。言い換えると、デジタル証明書の検証に合格すると、サービスサーバ４０６は、ブラウザ４０２が送信したサービス要求に従って、ユーザが行った操作に対応するサービスを実行してよい。検証に失敗すると、検証失敗プロンプトメッセージ等の対応するプロンプトメッセージがブラウザに返信されてよい。
【００５６】
図４を図１と比較すると、本開示の技術の下で、クライアント端末のブラウザは、証明書を収集し、証明書ダイジェストを生成し、証明書ダイジェストをキャッシュすることだけを必要とし、ＰＯＳＴページを介して証明書情報を提出する必要はない。これは、サーバに送られる要求の数を低減する。ログインサーバは、ユーザのログイン操作を実行さえすればよく、ログイン以外の証明書の検証や証明書検証結果のキャッシュ等の操作を行う必要はない。
【００５７】
図５は、本開示の実施形態に係る、デジタル証明書を処理する装置５００の例の構造図を示す。図５に示すように、装置５００は、１つもしくは複数のプロセッサまたはデータ処理装置５０２と、メモリ５０４とを備えてよい。システム５００は、１または複数の入出力装置と、ネットワークインタフェース（図５には示さず）とをさらに備えてよい。メモリ５０４は、コンピュータ可読媒体の例である。
【００５８】
メモリ５０４は、収集モジュール５１０、ダイジェストモジュール５２０、キャッシュモジュール５３０、及び、送信モジュール５４０を含む、複数のモジュールまたはユニットをそこに記憶してよい。
【００５９】
収集モジュール５１０は、ユーザのデジタル証明書を収集する。ダイジェストモジュール５２０は、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。キャッシュモジュール５３０は、デジタル証明書ダイジェストをキャッシュする。送信モジュール５４０は、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信し、その結果、サービス要求に対応するサービスが、デジタル証明書の検証が必要なサービスである時、サービスサーバは、デジタル証明書ダイジェストを検証し、検証に合格すると、サービスを実行する。
【００６０】
本開示の実施形態例によると、ユーザがログイン操作を行うと、送信モジュール５４０は、ログイン要求をログインサーバにさらに送信してよい。ログインサーバ及びサービスサーバは、同じサーバであってもよく、異なるサーバであってもよい。
【００６１】
本開示の実施形態例によると、収集モジュール５１０は、ユーザがログイン操作を行うと、ユーザのデジタル証明書をさらに収集してよい。キャッシュモジュール５３０は、クッキーにデジタル証明書ダイジェストをさらにキャッシュしてよい。
【００６２】
本開示の実施形態例によると、デジタル証明書の収集結果に関してダイジェスト計算を行うために採用されるダイジェストアルゴリズムは、ＭＤ５を含んでよい。サービスサーバは、デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて、サービスサーバに記憶されたユーザのデジタル証明書のダイジェスト計算をさらに行ってよく、ダイジェスト計算によって収集された結果をデジタル証明書ダイジェストと比較してよい。同じ場合、サービスサーバは、検証に合格したと判断する。相違がある場合、サービスサーバは、デジタル証明書の検証は失敗したと判断する。
【００６３】
図６は、本開示の実施形態に係る、デジタル証明書を検証するシステム６００の例の構造図を示す。図６に示すように、システム６００は、クライアント端末６０２及びサービスサーバ６０４を備えてよい。
【００６４】
クライアント端末６０２は、１つもしくは複数のプロセッサまたはデータ処理装置６０６と、メモリ６０８とを備えてよい。クライアント端末６０２は、１または複数の入出力装置と、ネットワークインタフェース（図６には示さず）とをさらに備えてよい。メモリ６０４は、コンピュータ可読媒体の例である。メモリ６０８は、収集モジュール６１０、ダイジェストモジュール６１２、キャッシュモジュール６１４、及び、送信モジュール６１６を含む、複数のモジュールまたはユニットを記憶してよい。
【００６５】
収集モジュール６１０は、ユーザのデジタル証明書を収集する。ダイジェストモジュール６１２は、デジタル証明書の収集結果のダイジェスト計算を行って、ユーザのデジタル証明書ダイジェストを生成する。キャッシュモジュール６１４は、デジタル証明書ダイジェストをキャッシュする。送信モジュール６１６は、ユーザの操作に応答して、キャッシュされたデジタル証明書ダイジェストを含むサービス要求をサービスサーバに送信する。
【００６６】
サービスサーバ６０４は、１または複数のプロセッサもしくはデータ処理装置６１８と、メモリ６２０とを備えてよい。サービスサーバ６０４は、１または複数の入出力装置と、ネットワークインタフェース（図６には示さず）とをさらに備えてよい。メモリ６２０は、コンピュータ可読媒体の例である。メモリ６２０は、受信モジュール６２２と検証モジュール６２４とを含む複数のモジュールまたはユニットをそこに記憶してよい。
【００６７】
受信モジュール６２２は、サービス要求を受信する。検証モジュール６２４は、サービス要求に対応するサービスが、デジタル証明書の検証を必要とするサービスである時、デジタル証明書ダイジェストを検証する。
【００６８】
本開示の実施形態によると、送信モジュール６１６は、ユーザがログイン操作を行うと、ログイン要求をログインサーバにさらに送信してよい。システム６００は、ログイン要求を受信してログイン要求に従ってユーザのログイン操作を実行するログインサーバ（図６には示さず）をさらに備えてよい。
【００６９】
本開示の実施形態例によると、収集モジュール６１０は、ユーザがログイン操作を行うと、ユーザのデジタル証明書をさらに収集してよい。
【００７０】
本開示の実施形態例によると、サービスサーバ６０４は、検証に合格するとサービスを実行する実行モジュール（図６には示さず）をさらに備えてよい。
【００７１】
本開示の実施形態例によると、検証モジュール６２４は、デジタル証明書ダイジェストの生成に採用されたダイジェストアルゴリズムを用いて、サービスサーバに記憶されたユーザのデジタル証明書のダイジェスト計算をさらに行ってよく、ダイジェスト計算によって収集された結果をデジタル証明書ダイジェストと比較してよい。同じ場合、検証モジュール６２４は、検証に合格したと判断し、相違がある場合、検証モジュール６２４は、証明書の検証に失敗したと判断する。
【００７２】
この実施形態の装置によって実施された操作が、図１〜図４に示す方法の実施形態の操作に実質的に対応するので、上記装置の実施形態の関連する記載は、方法の実施形態に参照されてよく、ここで、繰り返し記載はしない。
【００７３】
典型的な構成においては、クライアント端末またはサーバ等のコンピュータ装置は、１つもしくは複数のプロセッサまたは中央処理装置（ＣＰＵ）、入出力インタフェース、ネットワークインタフェース、または、メモリを備える。
【００７４】
メモリは、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／または、例えば、リードオンリメモリ（ＲＯＭ）やフラッシュＲＡＭ等の不揮発性メモリを含む、コンピュータ可読媒体であってよい。メモリは、コンピュータ可読媒体の例である。
【００７５】
コンピュータ可読媒体は、永続的、一時的、モバイル、及び固定の媒体を含み、任意の方法または技術を用いて情報を実装してよい。情報は、コンピュータ可読またはコンピュータ実行可能な、命令、データ構造、プログラムモジュールまたは他のデータであってよい。コンピュータ可読媒体の例は、計算装置がアクセス可能な情報の記憶に使用し得る、相変化ＲＡＭ（ＰＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、他の種類のＲＡＭ、ＲＯＭ、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、もしくは、他の内部メモリ技術、ＣＤ‐ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学メモリ、カセット、カセット及びディスクメモリ、もしくは、他の磁気メモリ装置、または、任意の他の非伝送媒体を含むが、それらに限らない。本明細書での定義に従うと、コンピュータ可読媒体は、変調データ信号及び搬送波等の一過性の媒体は含まない。
【００７６】
「ｉｎｃｌｕｄｅ」という語、及び、その変形は、非排他的な包含を意図し、よって、一連の要素を含むプロセス、方法、品目、または、装置は、これらの要素だけでなく、明示的に列挙していない他の要素も含み、または、プロセス、方法、品目または装置に内在する要素をさらに含むことに留意されたい。「ｉｎｃｌｕｄｉｎｇ  ａ．．．」という記載で定義された要素は、その要素のプロセス、方法、品目、または、装置における追加の同じ要素を排除しない。
【００７７】
本開示の実施形態は、方法、システム、またはコンピュータプログラム製品として提供されてよいことを当業者は理解するであろう。従って、本開示は、ハードウェアの実施形態、ソフトウェアの実施形態、また、ソフトウェアとハードウェアを組み合わせた実施形態として実施されてよい。さらに、本開示は、コンピュータ実行可能命令を含む１または複数のコンピュータ可読媒体（磁気ディスクメモリ、ＣＤ‐ＲＯＭ、光学メモリ等を含むが、それらに限らない）で実施されるコンピュータプログラム製品の形態であってよい。
【００７８】
これまでの記載は、本開示の実施形態にすぎず、本開示を制限することを意図していない。当業者は、本開示が様々な修正及び変更を有してよいことを理解する。本開示の精神及び原理で行われた修正、同等の置き換え、改良等はいずれも、全て、本開示の請求項の範囲に属するものとする。
【図１】
0006533236.tif 000002
【図２】
0006533236.tif 000003
【図３】
0006533236.tif 000004
【図４】
0006533236.tif 000005
【図５】
0006533236.tif 000006
【図６】
0006533236.tif 000007