(57)【要約】【課題】  署名検証時における証明書の検証を不要として署名検証時間の時間短縮を目的とする。【解決手段】  署名作成ユーザＰＣ１０は、署名作成ユーザ証明書を使用して署名を作成するときに、受けるため署名作成ユーザ証明書を証明書検証サーバ２０に送信する。証明書検証サーバ２０は、受信した署名作成ユーザ証明書を検証し、その検証結果を含むサーバ署名データ１を署名作成ユーザＰＣ１０に返信する。署名作成ユーザＰＣ１０は、サーバ署名データ１及び署名したい本文とを署名対象として端末署名データ２を作成し、署名検証ユーザＰＣ３０に送信する。署名検証ユーザＰＣ３０は、署名作成ユーザＰＣ１０から端末署名データ２を受信し、端末署名データ２に含まれる署名を検証する。端末署名データ２に署名作成ユーザ証明書の検証結果が含まれるので、署名検証ユーザＰＣ３０では署名作成ユーザ証明書の検証が不要となる。【選択図】        図１
2006165881.tif 000002
【特許請求の範囲】
【請求項１】
証明書データを使用して電子署名を作成し、前記電子署名を含む署名データを作成し、作成した前記署名データを送信する署名データ作成端末と、前記証明書データを検証する証明書検証サーバとを備えた署名データ作成システムにおいて、
前記署名データ作成端末は、
前記証明書データを前記証明書検証サーバに送信し、
前記証明書検証サーバは、
前記証明書データを受信し、受信した前記証明書データを検証し、検証結果をサーバ側検証結果として前記署名データ作成端末に送信し、
前記署名データ作成端末は、
前記サーバ側検証結果を受信し、前記電子署名と受信した前記サーバ側検証結果とを含む前記署名データを作成し、作成した前記署名データを所定の端末に送信することを特徴とする署名データ作成システム。
【請求項２】
前記署名データ作成システムは、さらに、
前記署名データ作成端末が送信した前記署名データを受信し、受信した前記署名データに含まれる前記サーバ側検証結果に基づいて、受信した前記署名データに含まれる前記電子署名を検証する署名検証端末を備えたことを特徴とする署名データ作成システム。
【請求項３】
電子署名を作成し、作成した前記電子署名を含むデータを作成する署名データ作成端末において、
前記電子署名の作成に使用する証明書データを記憶する証明書データ記憶部と、
前記証明書データ記憶部が記憶する前記証明書データが正当かどうかを示す検証結果を記憶する検証結果記憶部と、
前記証明書データ記憶部が記憶する前記証明書データを使用して前記電子署名を作成し、作成した前記電子署名と前記検証結果記憶部が記憶する前記検証結果とを含む署名データを作成する署名作成部と、
前記署名作成部が作成した前記署名データを所定の端末に送信する署名作成側通信部と
を備えたことを特徴とする署名データ作成端末。
【請求項４】
前記署名作成側通信部は、
前記証明書データを検証する証明書検証サーバに前記証明書データ記憶部が記憶する前記証明書データを送信し、前記証明書検証サーバから前記証明書データの検証結果をサーバ側検証結果として受信し、
前記検証結果記憶部は、
前記署名作成側通信部が受信した前記サーバ側検証結果を記憶し、
前記署名作成部は、
前記署名データに含める前記検証結果として、前記検証結果記憶部が記憶した前記サーバ側検証結果を前記署名データに含めることを特徴とする請求項３記載の署名データ作成端末。
【請求項５】
前記署名作成側通信部は、
前記サーバ側検証結果を署名対象として前記証明書検証サーバにより作成された電子署名を示すサーバ側署名を前記証明書検証サーバから受信し、
前記署名作成部は、
前記署名作成側通信部が受信した前記サーバ側署名を前記署名データに含めることを特徴とする請求項４記載の署名データ作成端末。
【請求項６】
前記署名作成側通信部は、
前記サーバ側検証結果と前記サーバ側署名とを受信する場合には、前記サーバ側検証結果と前記サーバ側署名とを含むサーバ側署名包含データを前記証明書検証サーバから受信し、
前記署名作成部は、
前記署名作成側通信部が受信した前記サーバ側署名包含データと所定のデータとを署名対象として前記証明書データ記憶部が記憶する前記証明書データを使用して電子署名を作成し、作成した前記電子署名と、前記サーバ側署名包含データと、前記所定のデータとを含む前記署名データを作成することを特徴とする請求項５記載の署名データ作成端末。
【請求項７】
前記署名作成側通信部が受信する前記サーバ側署名包含データは、さらに、
前記証明書検証サーバが前記証明書データを検証した日時を示す時刻情報を含むことを特徴とする請求項６記載の署名データ作成端末。
【請求項８】
証明書データを検証する証明書検証サーバにおいて、
電子署名を作成するときに前記電子署名の作成に使用する前記証明書データの検証を求める署名データ作成端末から、前記証明書データを受信するサーバ側通信部と、
前記サーバ側通信部が受信した前記証明書データを検証する証明書検証部と
を備え、
前記サーバ側通信部は、
前記証明書検証部による前記証明書データの検証結果をサーバ側検証結果として前記署名データ作成端末に送信することを特徴とする証明書検証サーバ。
【請求項９】
証明書データを使用して電子署名を作成する署名データ作成端末から前記電子署名を含むデータを受信し、受信した前記データに含まれる電子署名を検証する署名検証端末において、
前記署名データ作成端末が前記証明書データを使用して作成した前記電子署名と、前記証明書データが正当かどうかを示す検証結果とを含む署名データを前記署名データ作成端末から受信する検証端末側通信部と、
前記検証端末側通信部が受信した前記署名データに含まれる前記検証結果に基づいて、前記署名データに含まれる前記電子署名を検証する端末側検証部と
を備えたことを特徴とする署名検証端末。
【請求項１０】
前記検証端末側通信部が前記署名データ作成端末から受信する前記署名データに含まれる前記検証結果は、
前記証明書データを検証する証明書検証サーバが検証したサーバ側検証結果であり、
前記検証端末側通信部が前記署名データ作成端末から受信する署名データは、さらに、
前記証明書検証サーバが自己の保有するサーバ側証明書データを使用することにより前記サーバ側検証結果を署名対象として作成した電子署名を示すサーバ側署名を含み、
前記端末側検証部は、
前記検証端末側通信部が受信した前記署名データに含まれる前記サーバ側署名を検証することを特徴とする請求項９記載の署名検証端末。
【請求項１１】
前記署名検証端末は、さらに、
前記サーバ側証明書データを格納する署名検証側記憶部を備え、
前記端末側検証部は、
前記署名検証側記憶部が格納する前記サーバ側証明書データに基づいて、前記サーバ側署名を検証することを特徴とする請求項１０記載の署名検証端末。
【請求項１２】
証明書データを使用して電子署名を作成する署名データ作成端末から前記電子署名を含むデータを受信し、受信した前記データに含まれる電子署名を検証する署名検証端末において、
前記署名データ作成端末が検証を受けていない証明書データである未検証証明書データを使用して作成した前記電子署名と、前記未検証証明書データを検証し検証済み証明書データとして出力する証明書検証サーバが出力した前記検証済み証明書データと、前記証明書検証サーバによる前記検証済み証明書データの検証結果であるサーバ側検証結果とを含む署名データを、前記署名データ作成端末から受信する検証端末側通信部と、
前記検証端末側通信部が受信した前記署名データに含まれる前記検証済み証明書データと前記サーバ側検証結果とに基づいて、前記署名データに含まれる前記電子署名を検証する端末側検証部と
を備えたことを特徴とする署名検証端末。
【請求項１３】
前記検証端末側通信部が前記署名データ作成端末から受信する前記署名データは、さらに、
前記未検証証明書データを含み、
前記端末側検証部は、
前記未検証証明書データを用いて前記署名データに含まれる前記電子署名を検証し、前記電子署名の検証が成功した場合に、前記署名データに含まれる前記未検証証明書データと前記検証済み証明書データとを比較し、比較結果に基づいて前記署名データに含まれる前記電子署名が正当かどうかをさらに検証することを特徴とする請求項１２記載の署名検証端末。
【請求項１４】
前記端末側検証部は、
前記未検証証明書データと前記検証済み証明書データとを比較する場合に、バイナリ値として比較するバイナリ値比較部を備えたことを特徴とする請求項１３記載の署名検証端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名を含む署名データを作成する署名データ作成システムに関する。
【背景技術】
【０００２】
従来のＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：公開鍵基盤）方式を用いた署名の検証は、署名値検証と証明書検証をあわせて行う事によって、検証を行っていた（署名値検証と証明書検証を組み合わせた一般的な署名検証方法）。
【０００３】
しかし、検証作業は時間がかかることもあり面倒なため、検証結果などの検証履歴をログとして署名付与して保管することで、過去に行われた検証処理を再度行う必要をなくすシステムなどがあった（例えば、特許文献１）。
【０００４】
特許文献１は、ある署名文書に対する署名検証の履歴を他の必要な情報とともに署名しておく事で、過去に署名検証が行われたことを保障し、再度署名検証する手間を省くシステムである。ただし、特許文献１では、署名作成検証の処理自体を短縮する手段については何も言及されておらず、署名検証処理自体の処理時間短縮を可能とするものではない。
【０００５】
証明書検証は、一般的に時間がかかる事が問題である。証明書を証明する機関の証明書、その機関を証明する機関の証明書などと、証明書を何件も遡って大元となる信頼できる署名機関まで辿って証明書検証が行なわれるからである。あるいは、失効された証明書のリストであるＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ：証明書失効リスト）との検証などと同時に行なわれるからである。
【０００６】
このため、重要度の低い文書に対する署名検証システムでは、検証処理は署名値検証しか行わないといったケースも存在する。しかし、証明書検証せず、署名値検証のみ行っただけでは、署名作成に使われた証明書が信頼できる証明書であるのかどうかの判断ができないため、電子データのセキュリティ面については問題がある。
【特許文献１】特開２００２−９９８４３
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は上記のような問題点を解決するためになされたもので、署名検証時の時間短縮を目的とする。
【課題を解決するための手段】
【０００８】
本発明の署名データ作成システムは、
証明書データを使用して電子署名を作成し、前記電子署名を含む署名データを作成し、作成した前記署名データを送信する署名データ作成端末と、前記証明書データを検証する証明書検証サーバとを備えた署名データ作成システムにおいて、
前記署名データ作成端末は、
前記証明書データを前記証明書検証サーバに送信し、
前記証明書検証サーバは、
前記証明書データを受信し、受信した前記証明書データを検証し、検証結果をサーバ側検証結果として前記署名データ作成端末に送信し、
前記署名データ作成端末は、
前記サーバ側検証結果を受信し、前記電子署名と受信した前記サーバ側検証結果とを含む前記署名データを作成し、作成した前記署名データを所定の端末に送信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、署名データ作成端末は署名データ作成時に証明書の検証を受け、検証結果を署名データに含める。このため、署名データを受信した端末は、署名検証作業時における証明書検証を省略することができ、検証作業の時間短縮が可能となる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１〜図７を用いて実施の形態１を説明する。図１は、簡易証明書検証システム１００（署名データ作成システムの一例）の全体を示す構成図である。図２は、証明書検証サーバ２０により作成されたサーバ署名データ１の構成を示す図である。図３は、署名作成ユーザＰＣ１０（署名データ作成端末の一例）により作成された端末署名データ２の構成を表している。図４は、図３の端末署名データ２のデータ構成をＸＭＬ署名に適用した場合の簡易的な表記法を示す図である。図５は、簡易証明書検証システム１００の動作を示す図である。図６は、簡易証明書検証システム１００の動作を示すフローチャートである。図７は、簡易証明書検証システム１００のシーケンス図である。
【００１１】
図１に示すように、簡易証明書検証システム１００は、署名作成ユーザＰＣ１０、証明書検証サーバ２０、及び署名検証ユーザＰＣ３０（署名検証端末の一例）を備える。署名作成ユーザＰＣ１０、証明書検証サーバ２０及び署名検証ユーザＰＣ３０は、図示しないネットワークに接続しており、相互に通信可能である。署名作成ユーザＰＣ１０及び証明書検証サーバ２０は、いずれも自己の作成した電子署名を含む署名データを作成する。以下、証明書検証サーバ２０の作成する署名データを「サーバ署名データ１」と呼び、署名作成ユーザＰＣ１０の作成する署名データを「端末署名データ２」と呼ぶ。
【００１２】
簡易証明書検証システム１００の概略を説明する。
（１）署名作成ユーザＰＣ１０は、署名作成ユーザ証明書（証明書データの一例）を使用して署名を作成するときに、署名作成ユーザ証明書の検証を受けるため、署名作成ユーザ証明書を証明書検証サーバ２０に送信する。
（２）証明書検証サーバ２０は、受信した署名作成ユーザ証明書を検証し、その検証結果（以下、サーバ側検証結果という）を含むサーバ署名データ１（サーバ側署名包含データの一例）を、署名作成ユーザＰＣ１０に返信する。なお、以下では、証明書検証サーバ２０が署名作成ユーザＰＣ１０から受信し、かつ、検証を行った「署名作成ユーザ証明書」を「検証済み証明書データ」という場合がある。また、証明書検証サーバ２０が受信しておらず検証を行っていない「署名作成ユーザ証明書」を「未検証証明書データ」という場合がある。
（３）署名作成ユーザＰＣ１０は、サーバ署名データ１及び署名したい本文とを署名対象として、端末署名データ２（署名データの一例）を作成し、署名検証ユーザＰＣ３０に送信する。
（４）署名検証ユーザＰＣ３０は、署名作成ユーザＰＣ１０から端末署名データ２を受信し、端末署名データ２に含まれる署名を検証する。
【００１３】
次に署名作成ユーザＰＣ１０の構成を説明する。署名作成ユーザＰＣ１０は、他の装置とデータのやりとりを行う署名作成側データ送受信部１１（署名作成側通信部の一例）、電子署名を作成し及び端末署名データ２を作成するユーザ側署名作成部１２（署名作成部の一例）、電子署名の作成に使用する署名作成ユーザ証明書を記憶する署名作成ユーザ証明書記憶部１３（証明書データ記憶部）、及び証明書検証サーバ２０から返信される検証結果を含むサーバ署名データ１を記憶する検証結果記憶部１４とを備える。
【００１４】
次に証明書検証サーバ２０の構成を説明する。証明書検証サーバ２０は、他の装置とデータのやりとりを行うサーバ側データ送受信部２１、署名作成ユーザＰＣ１０から受信した署名作成ユーザ証明書を検証する証明書検証部２２、電子署名を作成し及び検証結果を含むサーバ署名データ１を作成するサーバ側署名作成部２３、及び自己を証明する証明書検証サーバ証明書を記憶する証明書検証サーバ証明書記憶部２４を備える。
【００１５】
次に署名検証ユーザＰＣ３０の構成を説明する。署名検証ユーザＰＣ３０は、他の装置とデータのやりとりを行う署名検証側データ送受信部３１、署名作成ユーザＰＣ１０から受信した端末署名データ２の署名を検証する署名検証部３２、及び取得した証明書検証サーバ証明書を格納する検証端末側記憶部３４とを備える。また、署名検証部３２は「未検証証明書データ」と「検証済み証明書データ」とをバイナリ値として比較するバイナリ値比較部３３を備える。
【００１６】
次に、図５〜図７を参照して簡易証明書検証システム１００の具体的な動作を説明する。まず、証明書検証サーバ２０の動作を説明する。
（１）署名作成ユーザＰＣ１０は、ユーザによる署名に用いる「署名作成ユーザ証明書」を、署名作成側データ送受信部１１により証明書検証サーバ２０へ送信する（Ｓ１０１）。
（２）証明書検証サーバ２０は、サーバ側データ送受信部２１により、「署名作成ユーザ証明書」を受信する。
（３）証明書検証サーバ２０は、証明書検証部２２により、署名作成ユーザＰＣ１０から受信した「署名作成ユーザ証明書」に対して、「証明書検証」を行う（Ｓ１０２）。以下、証明書検証部２２による「署名作成ユーザ証明書」の検証を「証明書検証」という。
（４）その後、サーバ側署名作成部２３は、（ａ）証明書検証部２２による「証明書検証」によって得られた「署名作成ユーザ証明書の検証結果」（サーバ側検証結果）、（ｂ）「検証済み証明書データ」、（ｃ）「署名作成ユーザ証明書」を検証した時刻を示す「時刻情報」などを署名対象とし、「証明書検証サーバ証明書」を用いて署名値（サーバ側署名の一例）を作成し、及び「サーバ署名データ１」を作成する（Ｓ１０３）。署名対象については、（ａ）「サーバ側検証結果」、及び（ｂ）「検証済み証明書データ」は、必須の署名対象とする。その他、（ｃ）「時刻情報」などはオプションであり、任意の値を署名対象要素とする。また、サーバ側検証結果は、システム構築の際の取り決めに従った任意の値でよい。図２に、サーバ側署名作成部２３が作成する「サーバ署名データ１」の一例を示す。図２に示すように、（ａ）「サーバ側検証結果」、及び（ｂ）「検証済み証明書データ」を署名対象として署名がされている。すなわち、「サーバ署名データ１」は、（ａ）「サーバ側検証結果」、及び（ｂ）「検証済み証明書データ」を署名対象とし、証明書検証サーバ２０による署名値を含む。
（５）また、通常では署名に用いた証明書は署名データに添付することが主流である。しかし、本実施の形態１では、証明書検証サーバ２０が署名に用いた証明書である「証明書検証サーバ証明書」は、「サーバ署名データ１」に添付しない。「証明書検証サーバ証明書」は、検証の際に必要となるが、本実施の形態１では、後に署名検証ユーザＰＣ３０が証明書検証サーバ２０から直接「証明書検証サーバ証明書」を取得（後述するＳ１０８）して検証に用いること想定しており、不要である。
（６）証明書検証サーバ２０は、サーバ側署名作成部２３が作成した「サーバ署名データ１」を、サーバ側データ送受信部２１を使用して署名作成ユーザＰＣ１０へ返信する（Ｓ１０４）。
【００１７】
次に、証明書検証サーバ２０から「サーバ署名データ１」を返信された署名作成ユーザＰＣ１０の動作を説明する。
（１）署名作成ユーザＰＣ１０では、署名作成側データ送受信部１１が、証明書検証サーバ２０の返信した「サーバ署名データ１」を受信する。検証結果記憶部１４は、受信した「サーバ署名データ１」を格納する。
（２）ユーザ側署名作成部１２は、証明書検証サーバ２０から返信された「サーバ署名データ１」と、署名したい文書とを「署名対象要素」とし、「署名作成ユーザ証明書」（未検証証明書データである）を用いて署名値（電子署名の一例）を作成し及び「端末署名データ２」を作成する（Ｓ１０５）。
（３）ユーザ側署名作成部１２の作成する「端末署名データ２」の例を、図３に示す。図３の例では、ユーザ側署名作成部１２による署名の対象は、署名対象本文、「サーバ署名データ１」、及びユーザ側署名作成部１２が作成した署名作成に使用した「署名作成ユーザ証明書」（未検証証明書データ）である。また、端末署名データ２は、ユーザ側署名作成部１２の作成した署名値を含む。また、図４には、図３の構成をＸＭＬ署名に適用した場合のデータ構成を示す。図４の記述はＸＭＬ署名を簡略化したもので、詳細については標準化団体Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）のＸＭＬ署名標準に基づく。ＸＭＬ署名方式にはＥｎｖｅｌｏｐｅｄ、Ｄｅｔａｃｈｅｄ、Ｅｎｖｅｌｏｐｉｎｇの３種類あるが、そのうちのＥｎｖｅｌｏｐｉｎｇ形式を用いた例である。
（４）署名作成ユーザＰＣ１０は、署名作成側データ送受信部１１を介して、この「端末署名データ２」を署名検証ユーザＰＣ３０に送付する（Ｓ１０６）。
【００１８】
次に、署名作成ユーザＰＣ１０から「端末署名データ２」を受信する署名検証ユーザＰＣ３０の動作を説明する。
（１）署名検証ユーザＰＣ３０では、署名検証側データ送受信部３１が署名作成ユーザＰＣ１０の送付した「端末署名データ２」を受信する。
（２）署名検証部３２は、署名作成ユーザＰＣ１０から受信した「端末署名データ２」を検証するため、まず「署名値検証」を行う（Ｓ１０７〜Ｓ１１０）。この「署名値検証」により、データの改竄がないことなどが確認できる。署名検証部３２により「端末署名データ２」の「署名値検証」を行うためには、「署名作成ユーザ証明書」と「証明書検証サーバ証明書」とが必要となる。本実施の形態１では，署名検証ユーザＰＣ３０が、「未検証証明書データ」と「検証済み証明データ」とを使用して検証する。なお、実施の形態２では、「検証済み証明書データ」のみを使用する場合を述べる。
（３）「署名作成ユーザ証明書」は、「端末署名データ２」の中に存在する「未検証証明書データ」を用いる。
（４）「証明書検証サーバ証明書」については、署名検証ユーザＰＣ３０が直接に証明書検証サーバ２０から取得する。なお、その都度取得する必要はなく、所有していない場合（Ｓ１０７）に取得すればよい（Ｓ１０８）。
（５）署名検証部３２は、「未検証証明書データ」と「証明書検証サーバ証明書」とを用いて「署名値検証」を行う（Ｓ１０９、Ｓ１１０）。
（６）次に、署名検証部３２は、Ｓ１１０でＹｅｓの場合、「未検証証明書データ」が正当なものであるか確認するため、「未検証証明書データ」と「検証済み証明書データ」とを比較する（Ｓ１１１、Ｓ１１２）。「証明書検証サーバ証明書」については、署名検証ユーザＰＣ３０が証明書検証サーバ２０から直接取得したものであるため正当なものである。「未検証証明書データ」は署名作成ユーザＰＣ１０が署名に使用したものであるが、正当な証明書であるかどうかは証明書検証サーバ２０により未確認状態である。このため、「未検証証明書データ」が「端末署名データ２」の署名文書中に存在する「検証済み証明書データ」と同一であるかどうかを比較する（Ｓ１１１、Ｓ１１２）。この比較は、バイナリ値比較部３３が、「未検証証明書データ」と「検証済み証明書データ」とをバイナリ値として比較することにより行う。比較の結果、同一でなければ「検証済み証明書データ」と署名作成ユーザＰＣ１０が署名に用いた「未検証証明書データ」とは異なるものであることが分かる。この場合、署名検証は失敗となる（Ｓ１１５）。
（７）さらに、署名検証部３２は、「端末署名データ２」の中に存在する「検証済み証明書データ」のサーバ側検証結果をチェックし（Ｓ１１３、Ｓ１１４）、「検証済み証明書データ」の有効性を確認する。有効であれば署名検証は成功（Ｓ１１６）となる。
【００１９】
以上のように実施の形態１では、署名作成ユーザＰＣ１０の署名作成時に証明書検証サーバ２０が証明書検証作業を行う。そして署名作成ユーザＰＣ１０は、サーバ側検証結果を署名対象に含める。このため、署名検証ユーザＰＣ３０の署名検証作業時における証明書検証を省略することができ、検証作業の時間短縮が可能となる。特に、各種データを受け付けるシステムなどで大量に署名検証を行うといった場合、検証処理時間がかかることによりシステム性能の低下が起こる可能性が高いので有効である。
【００２０】
さらに、一つの署名文書が大量のあて先に送付され、それぞれ検証されるケースが多いが、この場合検証サーバへの負荷が集中しサーバシステム性能の低下が起こる可能性が高いため、検証処理の負荷軽減は重要である。
【００２１】
また、証明書検証サーバにて作成する署名対象に証明書を検証した時刻を示す時刻情報を含めることで、署名検証した時刻での証明書の有効性を確認することができる。具体的には、署名つき文書を扱うワークフローや、署名付き文書の長期保存を行う際など、署名作成から証明書検証までの時刻にタイムラグが発生する場合に有効である。
【００２２】
また、署名の事前に証明書検証サーバ２０により検証作業を行うため、誤って失効された証明書を用いて署名してしまうといった事柄が防止できる。
【００２３】
実施の形態２．
図８を参照して実施の形態２を説明する。実施の形態２は、図６のＳ１１１のステップを省略した実施形態である。実施の形態１では、署名検証ユーザＰＣ３０は、Ｓ１０９において「端末署名データ２」に含まれる「未検証証明書データ」を使用して署名作成ユーザＰＣ１０による署名値を検証した。これに対して実施の形態２では、署名検証ユーザＰＣ３０の署名検証部３２は、「端末署名データ２」に含まれる「検証済み証明書データ」を直接使用し、署名作成ユーザＰＣ１０による署名値を検証する。よって、図６のＳ１１１のステップにおける「未検証証明書データ」と「検証済み証明書データ」との比較のステップは、不要となる。
【００２４】
図８の動作を簡単に説明する。Ｓ２０１〜Ｓ２０８は、図６のＳ１０１〜Ｓ１０８と同じである。
（１）Ｓ２０９において、署名検証ユーザＰＣ３０の署名検証部３２は、「端末署名データ２」に含まれる「検証済み証明書データ」を使用して署名作成ユーザＰＣ１０による署名値を検証する。
（２）Ｓ２１０において、検証が失敗した場合はＳ２１１に進み、署名検証は失敗となり終了する。検証が成功した場合はＳ２１２に進む。
（３）Ｓ２１２において、署名検証部３２は、「端末署名データ２」に含まれるサーバ側検証結果を確認する。以下は図６と同様である。
【００２５】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、署名作成ユーザＰＣ１０、証明書検証サーバ２０、署名検証ユーザＰＣ３０が、それぞれネットワークに接続し、互いに通信可能な状態において、署名作成時に、署名作成ユーザＰＣ１０が証明書検証サーバ２０に署名に使用する署名作成ユーザ証明書を送付し、証明書検証サーバ２０では、署名作成ユーザＰＣ１０から送付された署名作成ユーザ証明書に対して検証を行い、証明書検証結果、時刻、検証した証明書などを署名対象として署名し、サーバ署名データ１を作成することを特徴とする。なお、サーバ署名データ１には証明書検証サーバ２０の証明書検証サーバ証明書は添付しないことを特徴とする。
【００２６】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、署名作成ユーザＰＣ１０は、証明書検証サーバ２０で作成されたサーバ署名データ１を受け取り、署名したい本文データを署名対象として署名し、「署名文書」を作成することを特徴とする。
【００２７】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、取得した正当な「証明書検証サーバの証明書」を使用して証明書検証サーバ２０の署名値検証を行い、署名作成ユーザＰＣ１０の署名値検証については、「署名文書」中にある「署名作成ユーザの証明書」（未検証証明書データ）を用いて検証することを特徴とする。
【００２８】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、「署名作成ユーザ証明書」（未検証証明書データ）が「検証済み証明書データ」と等しいことを確認するため、署名文書中にあり証明書検証サーバ２０の署名対象のデータである「検証済み証明書データ」と、「未検証証明書データ」とをバイナリ値比較することを特徴とする。
【００２９】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、証明書検証サーバ２０のサーバ署名データに「時刻情報」を含めることにより、検証日時の特定を可能とし、特定日時での「検証済み証明書データ」の有効性の保障を可能とすることを特徴とする。
【００３０】
以上実施の形態１、実施の形態２で説明した署名データ作成システムは、証明書検証サーバ２０は、検証を行った「署名作成ユーザ証明書」（検証済み証明書データ）、その検証結果（サーバ側検証結果）、及び検証を実施した時刻（時刻情報）などを署名対象として「サーバ署名データ１」を作成し、署名作成ユーザＰＣ１０は、「サーバ署名データ１」と署名したい本文を署名対象として、自己の有する「署名作成ユーザ証明書」（未検証証明書データ）を使用して署名した「端末署名データ２」を作成し、最終的な署名文書形式してデータ保持することを特徴とする。
【図面の簡単な説明】
【００３１】
【図１】実施の形態１における、簡易証明書検証システム１００の全体を示す構成図である。
【図２】実施の形態１における、証明書検証サーバ２０により作成されたサーバ署名データ１の構成を示す図である。
【図３】実施の形態１における、署名作成ユーザＰＣ１０により作成された端末署名データ２の構成を表している。
【図４】実施の形態１における、図３の端末署名データ２のデータ構成をＸＭＬ署名に適用した場合の簡易的な表記法を示す図である。
【図５】実施の形態１における、簡易証明書検証システム１００の動作を示す図である。
【図６】実施の形態１における、簡易証明書検証システム１００の動作を示すフローチャートである。
【図７】実施の形態１における、簡易証明書検証システム１００のシーケンス図である。
【図８】実施の形態２における、簡易証明書検証システム１００の動作を示すフローチャートである。
【符号の説明】
【００３２】
１  サーバ署名データ、２  端末署名データ、２ａ  ＸＭＬ署名、１０  署名作成ユーザＰＣ、１１  署名作成側データ送受信部、１２  ユーザ側署名作成部、１３  署名作成ユーザ証明書記憶部、１４  検証結果記憶部、１００  簡易証明書検証システム、２０  証明書検証サーバ、２１  サーバ側データ送受信部、２２  証明書検証部、２３  サーバ側署名作成部、２４  証明書検証サーバ証明書記憶部、３０  署名検証ユーザＰＣ、３１  署名検証側データ送受信部、３２  署名検証部、３３  バイナリ値比較部、３４  検証端末側記憶部。
【図１】
2006165881.tif 000003
【図２】
2006165881.tif 000004
【図３】
2006165881.tif 000005
【図４】
2006165881.tif 000006
【図５】
2006165881.tif 000007
【図６】
2006165881.tif 000008
【図７】
2006165881.tif 000009
【図８】
2006165881.tif 000010