(57)【要約】【課題】一のグループに属する複数ユーザに暗号データを送信したい場合や一のグループに属する複数ユーザの署名を検証したい場合、証明書の検証作業を軽減すること。【解決手段】複数ユーザに対する暗号データの送信又は複数ユーザによる署名の検証を行うＰＫＩ認証システムにおいて、複数ユーザの属する一のグループに対して一枚の証明書を登録し、一枚の証明書には、一のグループ名と複数ユーザ毎の公開鍵とがバインドされ、且つ証明書の発行者による認証がされていること。また、複数のユーザに対して暗号データを送信する際に、登録された一枚の証明書を取得して、発行者を検証するとともに複数ユーザ毎の公開鍵を取り出して各ユーザへの暗号データを作成すること。また、複数のユーザの署名を検証する際に、一枚の証明書を取得して、発行者の検証とユーザ毎の公開鍵の取り出しで各ユーザの署名を検証すること。【選択図】        図１
2004242025.tif 000002
【特許請求の範囲】
【請求項１】
複数ユーザに対する暗号データの送信又は複数ユーザによる署名の検証を行うＰＫＩ認証システムにおいて、
前記複数ユーザの属する一のグループに対して一枚の証明書を登録し、
前記一枚の証明書には、前記一のグループ名と前記複数ユーザ毎の公開鍵とがバインドされ、且つ証明書の発行者による認証がされている
ことを特徴とするＰＫＩ認証システム。
【請求項２】
請求項１において、
前記一のグループに属する複数のユーザに対して暗号データを送信する際に、前記登録された一枚の証明書を取得して、前記発行者を検証するとともに複数ユーザ毎の公開鍵を取り出して各ユーザへの暗号データを作成する
ことを特徴とするＰＫＩ認証システム。
【請求項３】
請求項１において、
前記一のグループに属する複数のユーザによって施された署名を検証する際に、前記登録された一枚の証明書を取得して、前記発行者を検証するとともに複数ユーザ毎の公開鍵を取り出して各ユーザの署名を検証する
ことを特徴とするＰＫＩ認証システム。
【請求項４】
請求項３において、
前記一のグループに属する複数のユーザには、作成されたデータに対する承認者を含み、前記承認者による署名の検証によって前記作成データに対する承認を得る
ことを特徴とするＰＫＩ認証システム。
【請求項５】
請求項１において、
前記一枚の証明書の登録は、予めリポジトリに登録された複数ユーザの各証明書を取り出し、前記各証明書における各ユーザの公開鍵の組に対して前記一枚の証明書を発行して登録することを特徴とするＰＫＩ認証システム。
【請求項６】
複数ユーザに対する暗号データの送信又は複数ユーザによる署名の検証を行うＰＫＩ認証システムの運用方法において、
前記複数ユーザの属する一のグループに対する一枚の証明書をリポジトリより取得し、
前記一枚の証明書の発行者の検証を行うとともに前記一枚の証明書に記入された各ユーザ毎の公開鍵を取り出し、
前記公開鍵によって複数ユーザに対する暗号データの送信又は複数ユーザによる署名の検証を行う
ことを特徴とするＰＫＩ認証システムの運用方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、証明書を利用したＰＫＩ認証システムに用いられる証明書の発行方法及びＰＫＩ認証システムの運用方法に関する。
【０００２】
【従来の技術】
従来の暗号技術において、送り主Ａとあて先Ｂは互いに公開鍵と秘密鍵をペアとして保持していて（いずれか一方の鍵で暗号化したメッセージは他の鍵で復号できる）、送り主Ａがあて先Ｂに対してあて先Ｂの公開鍵を用いてメッセージを暗号化して送り、あて先Ｂにおいてこの暗号化されたメッセージはあて先Ｂの秘密鍵でしか復号できないようになっている。ここにおいて、送り主Ａがあて先Ｂの公開鍵を使用する場合に、この公開鍵があて先Ｂの真正な公開鍵であることを証明した証明書（本人情報と本人の公開鍵とをバインドしたものを第３者が認証したもの）を検証する必要がある。そうでないと、悪意のある者Ｃが他人であるＢと悪意者Ｃの公開鍵をバインドしてリポジトリ（証明書格納庫）に登録していた場合、送り主Ａによりあて先Ｂに向けて悪意者Ｃの公開鍵で暗号化して送られたメッセージは、あて先Ｂの公開鍵では復号できず、盗聴した悪意者Ｃの秘密鍵によって復号されてしまうこととなる。ここで、この第３者の証明書は、一つの公開鍵に対して一枚の公開鍵証明書を発行している。
【０００３】
また、従来の署名技術において、送り主Ａが作成した文書を署名してあて先Ｂに送る場合、この文書は送り主Ａが真正に作成したものであることを暗号技術を用いて行っており、具体的には、Ａの作成した文書（平文）をＡの秘密鍵で署名した（暗号化した）署名文を作成し、この署名文を元の作成文書（平文）とともにＢに送る。次に、ＢではＡの公開鍵を用いて当該署名文を復号し、同時送付の前記元の作成文書（平文）と比較して一致していれば、Ａのみが知る秘密鍵で作成したＡによる文書であることをＢは確認することができる。この署名の技術においても、暗号技術と同様に、ＢはＡの公開鍵がＡのものであることを証明書で検証する必要がある。
【０００４】
このように、証明書に含まれる公開鍵を使用してデータを暗号化したり、対応する秘密鍵によって施された署名の検証を行えるが、公開鍵を使用するにあたって証明書の検証が必要となる。ここで、証明書を検証することとは、当該証明書に第３者の認証があるか否か、証明書の有効期限の範囲内のものか否か、その他の検証事項等を検証することである。
【０００５】
したがって、従来技術において、複数人に暗号データを送信する場合や複数人の署名が施されたデータ（回覧データ）を検証する場合には、暗号や検証に必要な当該複数人の公開鍵証明書をリポジトリより取得して、それぞれの証明書を検証（第３者の署名、有効期限等）する必要がある。
【０００６】
【発明が解決しようとする課題】
従来技術においては、リポジトリ（証明書格納庫）から取得した公開鍵証明書を使用するにあたって、証明書発行者（第３者署名者）や証明書の有効期限等を検証しなければならない。そのため、暗号や署名に際して、複数人ｎが対象となった場合、暗号や署名検証に必要な公開鍵証明書の数がｎ倍になり、証明書の検証の手順操作に関する手間もコストもｎ倍になってしまう。
【０００７】
本発明の目的は、特定グループに属する複数人に暗号データを送信したい場合、又は特定グループに属する複数人の署名が施されたデータを検証したい場合、証明書をリポジトリから一枚取得するのみで、暗号又は署名データの検証が可能となるシステムを提供することにある。
【０００８】
【課題を解決するための手段】
前記課題を解決するために、本発明は主として次のような構成を採用する。  複数ユーザに対する暗号データの送信又は複数ユーザによる署名の検証を行うＰＫＩ認証システムにおいて、
前記複数ユーザの属する一のグループに対して一枚の証明書を登録し、
前記一枚の証明書には、前記一のグループ名と前記複数ユーザ毎の公開鍵とがバインドされ、且つ証明書の発行者による認証がされている構成とする。
【０００９】
また、前記ＰＫＩ認証システムにおいて、前記一のグループに属する複数のユーザに対して暗号データを送信する際に、前記登録された一枚の証明書を取得して、前記発行者を検証するとともに複数ユーザ毎の公開鍵を取り出して各ユーザへの暗号データを作成する構成とする。
【００１０】
また、前記ＰＫＩ認証システムにおいて、前記一のグループに属する複数のユーザによって施された署名を検証する際に、前記登録された一枚の証明書を取得して、前記発行者を検証するとともに複数ユーザ毎の公開鍵を取り出して各ユーザの署名を検証する構成とする。
【００１１】
このような構成とすることによって、本発明は、グループ内のユーザに暗号データを送信する場合やグループ内のユーザによって署名が施されたデータを検証する場合に、一枚の証明書を取得し、一枚の証明書の発行者や有効期限等を検証するだけでよく証明書の検証作業が軽減できる。
【００１２】
【発明の実施の形態】
本発明の実施形態に係るＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：公開鍵暗号基盤又は公開鍵暗号方式を利用したセキュリティインフラ）認証システムについて、図１〜図４を参照しながら以下説明する。図１は本発明の実施形態に係るＰＫＩ認証システムの全体構成を示すブロック図である。図２は本実施形態に関する、グループに属する複数ユーザの各公開鍵の組に対する証明書発行処理のフローチャートであり、図３は本実施形態に関する、グループに属する各ユーザに暗号データを送信する処理のフローチャートであり、図４は本実施形態に関する、グループに属する各ユーザによって施される署名を検証する処理のフローチャートである。
【００１３】
図１において、本実施形態のＰＫＩ認証システムは、証明書発行システム（１００）と、ユーザ（３００）と、リポジトリ（証明書の格納庫）（４００）と、及びそれらを結ぶネットワーク（２００）と、から構成され、証明書発行システム（１００）の認証局（１１０）によって発行された証明書はリポジトリ（４００）に登録され、ユーザ（３００）はこの証明書を利用してデータの暗号や署名検証を行うことができる。
【００１４】
証明書発行システム（１００）は、認証局（１１０）と証明書申請アプリケーション（１２０）で構成されている。また、証明書申請アプリケーション（１２０）は、リポジトリ管理部（１２３）、証明書申請部（１２１）、証明書申請リクエスト作成部（１２２）から構成されており、リポジトリ管理部（１２３）がリポジトリ（４００）のユーザ情報（４０１）を管理し、ユーザ情報（４０１）を表示、取得、登録する機能を持っていて、それぞれの機能はユーザ情報表示部（１２４）、ユーザ情報取得部（１２５）、ユーザ情報登録部（１２６）で実行することができる。また、証明書申請部（１２１）は認証局（１１０）に証明書を申請する機能を持ち、証明書申請リクエスト作成部（１２２）は認証局（１１０）に送信するための証明書申請リクエストを作成する機能を持っている。
【００１５】
また、リポジトリ（４００）にはユーザ（３００）に関するユーザ情報（４０１）が登録されている。なお、図１では証明書登録用のリポジトリ（４００）は証明書申請アプリケーション（１２０）と別設されているが、付設するものであっても良い。
【００１６】
図２に公開鍵の組に対する証明書発行処理のフローチャートを示す。本実施形態では、図１に示すユーザ（３００）を参照して、グループ１（３１０）に属するユーザ（３１１，３１２，３１３）の公開鍵を組とした証明書（１つのグループ名、即ちグループ１と各公開鍵の組をバインドした一枚の証明書）を発行するものとする。ここで、グループ１（３１０）に属するユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）の各公開鍵証明書は予め発行されており、リポジトリ（４００）に登録されているものとする。
【００１７】
まずはじめに、ユーザ情報表示部（１２４）よりグループ１に属するユーザを判断し、ユーザ情報取得部（１２５）よりユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）の証明書をリポジトリ（４００）から取得する（５０２）。次に、取得した各証明書に対して発行者（証明書に署名した署名者）（第３者であって公的機関又は私的機関を含む）を検証し（５０３）、発行者の正当性チェックに成功すれば証明書に含まれる公開鍵を取り出し、証明書申請リクエスト作成部（１２２）において公開鍵の組に対する証明書申請リクエストを作成する（５０４）。
【００１８】
続いて、証明書申請部（１２１）は作成したリクエストを認証局（１１０）に送信し（５０５）、認証局（１１０）は公開鍵の組に対する一枚の証明書を発行する（５０６）。発行された証明書は、ユーザ情報登録部（１２６）により、グループ１（３１０）の公開鍵組証明書としてリポジトリ（４００）に登録される（５０７）。
【００１９】
このように、複数ユーザの公開鍵の組み（複数の公開鍵）に対してグループ名とのペアで一枚の証明書を発行する場合、各ユーザの証明書をリポジトリから取得し、各公開鍵を取り出して公開鍵組を発行し、登録することができる（一のグループに属する複数のユーザは、それぞれの公開鍵を既にリポジトリに登録済みである）。
【００２０】
図３に、図１のユーザ３００を参照して、ユーザＡ（３０１）からグループ１（３１０）に属するユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）に暗号データを送信する処理のフローチャートを示す。各ユーザに暗号データを送信するためには、各ユーザの公開鍵が必要である。
【００２１】
まず、ユーザＡ（３０１）は、リポジトリ（４００）よりグループ１（３１０）の公開鍵組証明書を取り出す（６０２）。取り出した証明書の発行者（署名者）を検証し（６０３）、検証の結果、証明書の発行者が信頼できる認証局であれば証明書に含まれるユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）の公開鍵をそれぞれ取り出し、送信したいデータを各ユーザの公開鍵で暗号化する（６０５）。続いて、ユーザＡ（３０１）は、作成した暗号データをグループ１（３１０）の各ユーザ（３１１，３１２，３１３）に送信する（６０６）。暗号データを受け取った各ユーザは、保持している秘密鍵によりデータを復号する。
【００２２】
このように、ユーザＡからグループの複数ユーザに暗号データを送信する場合、従来ではグループ内の各ユーザ毎に発行された証明書をそれぞれ取り出して、各証明書を発行した発行者の署名を検証したり、それらの証明書の有効期限を検証する等の煩雑な検証作業を要するものであったが、本実施形態によれば、複数ユーザの属する１つのグループに一枚の証明書が発行されているので、その一枚の証明書を取り出すだけで各ユーザの公開鍵を取得でき、更に、証明書の署名の認証や証明書有効期限の検証も一度で済ますことができる。
【００２３】
図４にグループ１（３１０）に属するユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）によって署名が施されたデータをユーザＡ（３０１）が検証する処理のフローチャートを示す。署名を検証するには、署名をおこなった各ユーザの公開鍵が必要である（従来技術の欄の記載参照）。
【００２４】
まず、ユーザＡ（３０１）がグループ１（３１０）の複数人（図示の例では３つのユーザＢ、Ｃ、Ｄ）によって署名されたデータを取り出す（６０２）。次に、ユーザＡ（３０１）はリポジトリ（４００）よりグループ１（３１０）の一枚の公開鍵組証明書を取り出す（６０３）。取り出した証明書の発行者（署名者）を検証し（６０４）、発行者が信頼できる認証局であれば（６０５）、証明書に含まれるユーザＢ（３１１）、ユーザＣ（３１２）、ユーザＤ（３１３）の公開鍵を取り出し、ユーザＡ（３０１）はこれらの公開鍵を使って、各ユーザによって施された署名を検証する（６０６）。
【００２５】
このように、ユーザＡがグループ内の複数ユーザによって署名の施されたデータを検証する場合（例えば、グループ内の各ユーザが回覧されてきた文書に署名し承認したことを検証する場合であり、単なる押印だけでなく回覧文書に追加データを付加する場合も当然に含む）、従来ではグループ内の各ユーザ毎に発行された証明書をそれぞれ取り出して、各証明書を発行した発行者の署名を検証したり、それらの証明書の有効期限を検証する等の煩雑な検証作業を要するものであったが、本実施形態によれば、複数ユーザの属する１つのグループに一枚の証明書が発行されているので、その一枚の証明書を取り出すだけで各ユーザの公開鍵を取得でき、更に、証明書の署名の認証や証明書有効期限の検証も一度で済ますことができる。ここで、署名データの検証というのは、例えば、図１のユーザを参照すると、ユーザＡからグループ１に送られたデータについて、ユーザＢ，Ｃ，Ｄが署名して回覧したことをユーザＡが検証することと、ユーザＤがグループ１の責任者であって回覧したデータ（ユーザＡからのデータに手を加えずにそのままのデータか、手を加えたデータかを問わずに）に最終的にユーザＤが承認したことをユーザＡが検証することとを含む。
【００２６】
【発明の効果】
本発明によれば、特定グループに属している複数人の公開鍵の組に対して予め一枚の証明書を発行しているので、このグループの人に暗号データを送信する場合やこのグループの人によって署名が施されたデータを検証する場合に、一枚の証明書をリポジトリ取得し、一枚の証明書の発行者や有効期限等を検証することにより証明書の検証作業が軽減できる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＰＫＩ認証システムの全体構成を示すブロック図である。
【図２】本実施形態に関する、グループに属する複数ユーザの各公開鍵の組に対する証明書発行処理のフローチャートである。
【図３】本実施形態に関する、グループに属する各ユーザに暗号データを送信する処理のフローチャートである。
【図４】本実施形態に関する、グループに属する各ユーザによって施される署名を検証する処理のフローチャートである。
【符号の説明】
１００  証明書発行システム
１１０  認証局
１２０  証明書申請アプリケーション
１２１  証明書申請部
１２２  証明書申請リクエスト作成部
１２３  リポジトリ管理部
１２４  ユーザ情報表示部
１２５  ユーザ情報取得部
１２６  ユーザ情報登録部
２００  ネットワーク
３００  ユーザ
３０１  ユーザＡ
３１０  グループ１
３１１  ユーザＢ
３１２  ユーザＣ
３１３  ユーザＤ
４００  リポジトリ
４０１  ユーザ情報
【図１】
2004242025.tif 000003
【図２】
2004242025.tif 000004
【図３】
2004242025.tif 000005
【図４】
2004242025.tif 000006