(57)【要約】【課題】  属性保証元の負荷を軽減し、また、本人認証の有効性を向上させる。【解決手段】  ユーザ端末１では、メッセージに属性証明書を結合し、ハッシュ値を計算し、ＩＣカード２内の署名鍵（秘密鍵）で署名を施す。時刻認証局サーバ３は、時刻ｔ１における、当該時刻認証局サーバ３のタイムスタンプを発行する。属性認証局サーバ４は、当該属性認証局サーバ４の署名が施してある、時刻ｔ２（ｔ１＜ｔ２）時点での属性証明書に対する有効性証明書を発行する。ユーザ端末１は、メッセージとともに、検証に必要な情報（公開鍵、属性証明書、有効性証明書、タイムスタンプを、サービス提供者端末５に送信する。サービス提供者端末５は、メッセージおよび公開鍵、属性証明書、有効性証明書、タイムスタンプを用いて、検証を行う。【選択図】    図１
2006108917.tif 000002
【特許請求の範囲】
【請求項１】
デジタル文書を作成する文書作成手段と、
署名に用いる1つ以上の属性の各々に対応した、独立した属性認証局から発行される属性証明書をデジタル文書と結合する結合手段と、
前記属性証明書が結合されたデジタル文書のハッシュ値を算出してデジタル文書に属性署名を施す署名手段と、
前記属性証明書の発行元である前記属性認証局に、前記属性が署名時に失効していないことを証明する有効性証明書を申請する有効性証明書申請手段と、
前記属性認証局から発行される有効性証明書を取得する有効性証明書取得手段と、
前記デジタル文書とともに、前記属性証明書と前記有効性証明書とを検証者端末へ送信する送信手段と
を具備することを特徴とするデジタル署名装置。
【請求項２】
署名に対する第１の時刻でタイムスタンプの発行を、独立した時刻認証局に申請するタイムスタンプ申請手段と、
前記時刻認証局から発行される署名を施した時刻を保証するタイムスタンプを取得するタイムスタンプ取得手段を具備し、
前記有効性証明書申請手段は、第２の時刻で前記属性認証局に有効性証明書の発行を申請し、
前記送信手段は、前記デジタル文書とともに、前記属性証明書と前記タイムスタンプと前記有効性証明書とを、検証者端末へ送信することを特徴とする請求項１記載のデジタル署名装置。
【請求項３】
前記属性有効性証明は、少なくとも、対象となる前記属性証明書のシリアル番号と、有効性証明書が発行された第２の時刻と、当該属性証明書が有効であることを明記した記述と、前記ハッシュ値に対して施された前記属性認証局のデジタル署名とを含むことを特徴とする請求項２記載のデジタル署名装置。
【請求項４】
デジタル文書を作成するステップと、
署名に用いる1つ以上の属性の各々に対応した、独立した属性認証局から発行される属性証明書をデジタル文書と結合するステップと、
前記属性証明書が結合されたデジタル文書のハッシュ値を算出してデジタル文書に属性署名を施すステップと、
前記属性証明書の発行元である前記属性認証局に、前記属性が署名時に失効していないことを証明する有効性証明書を申請するステップと、
前記属性認証局から発行される有効性証明書を取得するステップと、
前記デジタル文書とともに、前記属性証明書と前記有効性証明書とを検証者端末へ送信するステップと
をコンピュータに実行させることを特徴とするデジタル署名プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル署名装置およびデジタル署名プログラムに関する。
【背景技術】
【０００２】
電子文書においては、現実社会における契約文書等への捺印、署名と同等のことを、デジタル署名技術によって実現している。しかし、このような個人認証用の秘密鍵を用いたデジタル署名は、その鍵を所有している本人が署名を施したことだけを保障するものであり、その個人が保有する資格などの属性による署名（例えば、医師免許を用いての電子カルテへの署名）を実現することはできない。そのため、現在、政府認証基盤で用いられている官職証明書のように、その役職（属性）毎に署名鍵を生成し、それを用いて署名を施す方式や、資格（属性）を管理する機関が文書に対してそれら属性を用いた署名を依頼される度に属性と時刻とに対する公証を行うといった方式がある（例えば特許文献１参照）。
【特許文献１】特開２０００−１５５５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来の官職証明方式では、その属性を用いて署名が施されたことを検証することは可能であるが、「誰が、どの属性を用いて署名を施したのか」といった部分までは検証することができない。また、一般社会においては、利用者が複数の属性を所有していることが考えられるため、その属性毎に署名鍵を所有する必要がある当該方式では、利用者の鍵管理コストの増加が考えられる。一方、特許文献１では、上記問題については解決されているが、保証者と検証者とが同一の属性であることが考慮されておらず、検印サーバが資格管理データベースによる属性管理を行う方式であるため、異なる機関が保障し、保証者と検証者とが異なる一般的な属性を用いて文書への署名を可能にすることは困難である。以下、具体的な課題を示す。
【０００４】
（１）内容あるいは提出先が異なるｍ個のデジタル文書に対し、同じ属性を用いた署名を施す場合、前述した特許文献１の方式を用いると、属性の保証元（特許文献１では、検印サーバ）の署名回数は、デジタル文書の数と同じｍ回必要となり、検印サーバに負担がかかる。
【０００５】
（２）特許文献１では、公証依頼人の属性の確認および保証を行うために、公証依頼人の本人確認をその都度行う必要があり、公証依頼回数（属性を用いてデジタル文書に署名を施す回数）ｎ回に対して検印サーバが本人確認（署名検証・証明書検証）をｎ回、行う必要があるため、検印サーバに負荷がかかる。
【０００６】
（３）上記特許文献１では、複数の検印サーバが保証する、異なる資格（属性）を用いる場合、その資格は、各検印サーバが各々の資格管理データベースに登録される。それらをある公証時間に検索・確認を行ったことを保証することで、その資格の正当性を保証するため、資格を保証する時間を公証データ内に含む方式としている。そのため、ある１つの文書に複数の属性を用いて署名を施したい場合には、それらデジタル文書に対し、各検印サーバから異なる時間が記載された公証データを受け取ることとなり、関連性のない複数の検印サーバが管理するデータベースに同時にアクセスし、保証を受けることができないため、同一時間での異なる属性の正当性を保証することができない。
【０００７】
本発明は、このような事情を考慮してなされたものであり、その目的は、属性保証元の負荷を軽減することができ、また、属性認証の有効性を向上させることができるデジタル署名装置およびデジタル署名プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明のデジタル署名装置は、デジタル文書を作成する文書作成手段と、署名に用いる1つ以上の属性の各々に対応した、独立した属性認証局から発行される属性証明書をデジタル文書と結合する結合手段と、前記属性証明書が結合されたデジタル文書のハッシュ値を算出してデジタル文書に属性署名を施す署名手段と、前記属性証明書の発行元である前記属性認証局に、前記属性が署名時に失効していないことを証明する有効性証明書を申請する有効性証明書申請手段と、前記属性認証局から発行される有効性証明書を取得する有効性証明書取得手段と、前記デジタル文書とともに、前記属性証明書と前記有効性証明書とを検証者端末へ送信する送信手段とを具備することを特徴とする。
【０００９】
本発明は、上記の発明において、署名に対する第１の時刻でタイムスタンプの発行を、独立した時刻認証局に申請するタイムスタンプ申請手段と、前記時刻認証局から発行される署名を施した時刻を保証するタイムスタンプを取得するタイムスタンプ取得手段を具備し、前記有効性証明書申請手段は、第２の時刻で前記属性認証局に有効性証明書の発行を申請し、前記送信手段は、前記デジタル文書とともに、前記属性証明書と前記タイムスタンプと前記有効性証明書とを、検証者端末へ送信することを特徴とする。
【００１０】
本発明は、上記の発明において、前記属性有効性証明は、少なくとも、対象となる前記属性証明書のシリアル番号と、有効性証明書が発行された第２の時刻と、当該属性証明書が有効であることを明記した記述と、前記ハッシュ値に対して施された前記属性認証局のデジタル署名とを含むことを特徴とする。
【００１１】
上述した課題を解決するために、本発明のデジタル署名プログラムは、デジタル文書を作成するステップと、署名に用いる1つ以上の属性の各々に対応した、独立した属性認証局から発行される属性証明書をデジタル文書と結合するステップと、前記属性証明書が結合されたデジタル文書のハッシュ値を算出してデジタル文書に属性署名を施すステップと、前記属性証明書の発行元である前記属性認証局に、前記属性が署名時に失効していないことを証明する有効性証明書を申請するステップと、前記属性認証局から発行される有効性証明書を取得するステップと、前記デジタル文書とともに、前記属性証明書と前記有効性証明書とを検証者端末へ送信するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
この発明によれば、署名に用いる１つ以上の属性の各々に対応した、独立した属性認証局から発行される属性証明書をデジタル文書と結合してハッシュ値を算出して、デジタル文書に属性署名を施し、属性証明書の発行元である前記属性認証局に、属性が署名時に失効していないことを証明する有効性証明書を申請し、該属性認証局から発行される有効性証明書を取得し、デジタル文書とともに、属性証明書と有効性証明書とを検証者端末へ送信する。これにより、属性保証機関に対して、デジタル文書毎に署名を依頼する必要がなく、また、属性の保証がデジタル文書に依存しないため、異なるデジタル文書に対して署名を施す場合であっても、属性保証機関が施す署名の回数を減らすことができる。
【００１３】
また、本発明によれば、署名に対する第１の時刻でタイムスタンプの発行を、独立した時刻認証局に申請し、該時刻認証局から発行される署名を施した時刻を保証するタイムスタンプを取得し、その後、第２の時刻で属性認証局に有効性証明書の発行を申請し、該属性認証局から発行される有効性証明書を取得し、デジタル文書とともに、属性証明書とタイムスタンプと有効性証明書とを、検証者端末へ送信する。これにより、保証元が異なる複数の属性に対しても、それら全ての属性が、タイムスタンプを押されているデジタル文書への署名時に確かに有効であったことを検証することができ、属性証明書の失効後においても、属性署名実行時の属性の有効性を検証することができる。
【００１４】
また、本発明によれば、属性有効性証明に、少なくとも、対象となる属性証明書のシリアル番号と、有効性証明書が発行された第２の時刻と、当該属性証明書が有効であることを明記した記述と、ハッシュ値に対して施された属性認証局のデジタル署名とを含める。これにより、シリアル番号を提示するだけで発行申請し、シリアル番号に対する属性証明書が保証する属性の内容については、有効性証明書からは得られないため、属性証明書の所有者以外がそれらを取得したとしても何ら問題は生じない。そのため、有効性証明書の発行時に本人認証を行う必要がなく、検証回数を減らすことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態による認証方法を、図面を参照して説明する。
Ａ．実施形態の構成
図１は、本発明の実施形態によるデジタル署名装置を用いたシステム構成を示す概略ブロック図である。ユーザ端末１の利用者は、図２に示すように、公開鍵証明書として、ＩＣカード２の署名鍵ＳＫ、これに対応する公開鍵ＰＫ、属性証明書ＡＣ、およびメッセージＭを所有している。ユーザ端末１は、利用者によって作成された、他の利用者（検証者）に配布するメッセージ（文書）Ｍに、利用者の属性（利用者の役職、所属など）を証明する属性証明書ＡＣを結合し、そのハッシュ値を取得して、ＩＣカード２内の署名鍵ＳＫ（秘密鍵）で署名（署名文）を施す（図３参照）。
【００１６】
このとき、ユーザ端末１は、署名に対する時刻ｔ１でのタイムスタンプの発行申請を時刻認証局サーバ３に対して行う一方、該時刻認証局サーバ３が発行したタイムスタンプＴＳを受け取る。また、ユーザ端末１は、時刻ｔ２（ｔ１＜ｔ２）での属性証明書ＡＣの有効性証明書の発行申請を、属性認証局サーバ４に対して行う一方、該属性認証局サーバ４が発行した有効性証明書を受け取る。また、ユーザ端末１は、上記署名されたメッセージＭとともに、検証に必要な情報（公開鍵、属性証明書、有効性証明書、タイムスタンプＴＳ）を、メッセージの受け取り手であるサービス提供者端末（検証者端末）６に送信する。
【００１７】
なお、属性証明書ＡＣについては、検証者が属性認証局サーバ４のリポジトリから取得してもよい。ただし、属性証明書ＡＣの失効後も検証したい場合には、リポジトリから消去される可能性があるため、検証者側で一緒に保管しておくことが望ましい。
【００１８】
時刻認証局サーバ３は、ユーザ端末１からタイムスタンプの発行申請があると、時刻ｔ１、メッセージＭにおける、当該時刻認証局サーバ３のタイムスタンプＴＳを発行する。属性認証局サーバ４は、ユーザ端末１から属性証明書ＡＣの有効性証明書の発行申請があると、当該属性認証局サーバ４の署名が施してある、時刻ｔ２時点での属性証明書ＡＣに対する有効性証明書を発行する。
【００１９】
サービス提供者端末５は、ユーザ端末１から受け取った、メッセージＭおよび検証に必要な情報（公開鍵、属性証明書、有効性証明書、タイムスタンプＴＳ）を用いて、検証を行う。検証としては、（１）タイムスタンプ発行時刻ｔ１と属性証明書ＡＣの有効証明時刻ｔ２が、ｔ１＜ｔ２を満たしているか、（２）有効性証明書の正当性の検証として、属性認証局の公開鍵を用いて署名検証する、（３）タイムスタンプの正当性の検証として、時刻認証局の公開鍵を用いて署名検証する、（４）メッセージ署名の正当性検証として、利用者の公開鍵を用いて署名検証する、（５）属性証明書ＡＣの検証として、属性認証局の公開鍵を用いて署名検証する、を行う。
【００２０】
Ｂ．実施形態の動作
次に、上述した実施形態の動作について説明する。ここで、図４は、本実施形態の動作を説明するためのフローチャートである。まず、ユーザ端末１では、他の利用者（検証者）に配布するメッセージ（文書）Ｍを作成する（Ｓ１０）。次に、該メッセージＭに利用者の属性を証明する属性証明書ＡＣを結合し（Ｓ１１）、ハッシュ値を計算し（Ｓ１２）、ＩＣカード２内の署名鍵ＳＫ（秘密鍵）で署名（署名文）を施す（Ｓ１３）。
【００２１】
次に、ユーザ端末１は、署名に対する時刻ｔ１でのタイムスタンプの発行申請を時刻認証局サーバ３に対して行い、時刻認証局サーバ３は、時刻ｔ１、メッセージＭにおける、当該時刻認証局サーバ３のタイムスタンプＴＳを発行する（Ｓ１４）。ユーザ端末１は、該時刻認証局サーバ３が発行したタイムスタンプＴＳを受け取る。
【００２２】
次に、ユーザ端末１は、時刻ｔ２（ｔ１＜ｔ２）での属性証明書ＡＣの有効性証明書の発行申請を、属性認証局サーバ４に対して行い、属性認証局サーバ４は、当該属性認証局サーバ４の署名が施してある、時刻ｔ２時点での属性証明書ＡＣに対する有効性証明書を発行する（Ｓ１５）。ユーザ端末１は、該属性認証局サーバ４が発行した有効性証明書を受け取る。
【００２３】
ここで、図５を参照して有効性証明書の発行処理について説明する。まず、ユーザ端末１では、有効性証明を発行してもらう属性証明書ＡＣのシリアル番号を取得する（Ｓａ１）。次に、属性証明書発行元である属性認証局サーバ４に対して上記シリアル番号のみを明示して属性有効性証明の発行を依頼する（Ｓａ２）。
【００２４】
属性認証局サーバ４では、属性証明書の管理データベース（図示略）よりシリアル番号を元に検索し、「有効」または「無効」を確認し（Ｓａ３）、有効であれば、有効性証明を作成する（Ｓａ４）。該有効性証明には、（１）対象とする属性証明書のシリアル番号、（２）有効性証明の発行時刻、（３）「シリアル番号○○の属性証明書は、有効である」ことの明記が記載されており、さらに、記載内容に対して発行元である属性認証局サーバ４のデジタル署名が施されている。そして、該有効性証明がユーザ端末１に対して発行される（Ｓａ５）。
【００２５】
有効性証明には、属性情報および個人情報が一切記載されておらず、有効性証明発行時にシリアル番号○○の属性証明書が有効であるかどうかしか分からない。このため、発行時に本人確認を行う必要がない。
【００２６】
そして、ユーザ端末１は、上記署名されたメッセージＭとともに、検証に必要な情報（公開鍵、属性証明書、有効性証明書、タイムスタンプＴＳ）を、メッセージの受け取り手であるサービス提供者端末（検証者端末）５に送信する（Ｓ１６）。サービス提供者端末５は、ユーザ端末１から受け取った、メッセージＭおよび検証に必要な情報（公開鍵、属性証明書、有効性証明書、タイムスタンプＴＳ）を用いて、検証を行う。以下、サービス提供者端末５での検証について詳細に説明する。
【００２７】
ここで、図６は、検証動作を説明するためのフローチャートである。サービス提供者端末５は、まず、タイムスタンプ発行時刻ｔ１と属性証明書ＣＡの有効証明時刻ｔ２とが、次式を満たしているか検証する（Ｓ１７１）。
【００２８】
【数１】
2006108917.tif 000003
【００２９】
次に、有効証明の時刻ｔ２における属性証明書の有効性証明書の正当性を検証するために、施されている署名が属性認証局サーバ４の署名鍵で正しく為されているかを、属性認証局サーバ４の公開鍵ＰＫＡＡを用いて、次式が満足するか検証する（Ｓ１７２）。
【００３０】
【数２】
2006108917.tif 000004
【００３１】
次に、タイムスタンプ発行の時刻ｔ１におけるタイムスタンプの正当性を検証するために、施されている署名が時刻認証局サーバ３の署名鍵で正しく為されているかを、時刻認証局サーバ３の公開鍵ＰＫＴＳＡを用いて、次式が満足するか検証する（Ｓ１７３）。
【００３２】
【数３】
2006108917.tif 000005
【００３３】
次に、サービス提供者端末５は、メッセージに施されている署名の正当性を検証するために、施されている署名が利用者の署名鍵で正しく為されているかを利用者の公開鍵を用いて、次式が満足するか検証する（Ｓ１７４）。
【００３４】
【数４】
2006108917.tif 000006
【００３５】
次に、属性証明書ＡＣの正当性を検証するために、施されている署名が属性認証局サーバ４の署名鍵で正しく為されているかを、属性認証局サーバ４の公開鍵を用いて、次式が満足するか検証する（Ｓ１７５）。
【００３６】
【数５】
2006108917.tif 000007
【００３７】
Ｃ.有効性の説明
次に、複数の異なる機関が保証している属性を用いて署名する場合、異なる検証者（提出先）の各々に送信する複数のメッセージに署名を施す場合における本発明による認証方法の有効性について説明する。ここで、図７は、本発明による認証方法の有効性を説明するためのシステム構成を示す概略ブロック図である。
【００３８】
この場合、ユーザ端末１の利用者は、図８に示すように、利用者の所有する情報として、ＩＣカード２の署名鍵ＳＫ、これに対応する公開鍵ＰＫ、属性証明書ＡＣ１（例えば、課長を証明）、ＡＣ２（例えば、ネットワークスペシャリストを証明）、および提出先の異なる複数のメッセージＭ１，Ｍ２，Ｍ３，Ｍ４を所有している。属性認証局サーバ４−１，４−２は、各々、異なる属性を証明する機関であり、属性認証局サーバ４−１は、課長を証明する機関、属性認証局サーバ４−２は、ネットワークスペシャリストを証明する機関である。検証者端末５−１〜５−４は、各々、上記メッセージＭ１〜Ｍ４を受け取り、検証を行う。
【００３９】
次に、上述したシステム構成での認証方法について説明する。まず、それぞれのメッセージＭ１〜Ｍ４に対して、図９に示すように、前述した第１実施形態でのステップＳ１０〜Ｓ１４までの処理を終え、それぞれのタイムスタンプを取得しているものとする。タイムスタンプは、それぞれ時刻ｔＡ＜ｔＢ＜ｔＣ＜ｔＤとする。
【００４０】
次に、ユーザ端末１は、時刻ｔＤ以降に、属性の保証元毎に、有効性証明書の発行依頼を一度行う（属性証明書のシリアル番号のみ提示）（ＳＳ１，ＳＳ２）。したがって、属性認証局サーバ４−１は、属性証明書ＡＣ１に対する有効性証明書を発行し（ＳＳ３）、属性認証局サーバ４−２は、属性証明書ＡＣ２に対する有効性証明書を発行する（ＳＳ４）。
【００４１】
ここで、有効性証明書の記載内容について説明する。記載内容は、（１）対象とする属性証明書のシリアル番号、（２）有効性証明の発行時刻、（３）「シリアル番号○○の属性証明書は、有効である」ことの明記、（４）上記ハッシュ値に対して施された発行元属性認証局のデジタル署名がある。記載内容に属性情報等の個人情報が含まれないため、有効性証明書の発行時に本人確認処理を必要とせず、また、利用者の公開鍵証明書の検証などの重い処理を削減することが可能である。
【００４２】
次に、ユーザ端末１は、上記署名されたメッセージＭ１〜Ｍ４のそれぞれを、検証に必要な情報（公開鍵ＰＫ、属性証明書ＡＣ１，ＡＣ２、有効性証明書、タイムスタンプＴＳ）を、メッセージの受け取り手であるサービス提供者端末（検証者端末）５−１〜５−４に送信する（ＳＳ５）。サービス提供者端末５−１〜５−４は、各々、ユーザ端末１から受け取った、メッセージＭ１〜Ｍ４および検証に必要な情報（（公開鍵ＰＫ、属性証明書ＡＣ１，ＡＣ２、有効性証明書、タイムスタンプＴＳ）を用いて、前述した検証を行う。
【００４３】
上述したシステムにおいて、属性証明書ＡＣ１，ＡＣ２、および有効性証明書は、メッセージに依存しないため、属性証明書ＡＣ１，ＡＣ２、および有効性証明書をコピーした同じものを、各サービス提供者端末（検証者端末）５−１〜５−４に送信するだけで証明することが可能である。また、属性認証局サーバ４−１，４−２は、メッセージ毎に属性証明書、有効性証明の発行を行う必要がないため、署名回数を削減することができる。
【００４４】
上述のユーザ端末１、時刻認証局サーバ３、属性認証局サーバ４、サービス提供者端末５は、コンピュータシステムからなる。そして、上述したユーザ端末１、時刻認証局サーバ３、属性認証局サーバ４、サービス提供者端末５の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態による認証方法を適応したシステム構成を示す概略ブロック図である。
【図２】ユーザ端末１の利用者が所有する各種情報を示す概念図である。
【図３】メッセージへの署名文の埋め込みを示す概念図である。
【図４】本実施形態の動作を説明するためのフローチャートである。
【図５】有効性証明書の発行処理を説明するための概念図である。
【図６】検証動作を説明するためのフローチャートである。
【図７】本発明による認証方法の有効性を説明するためのシステム構成を示す概略ブロック図である。
【図８】ユーザ端末１の利用者が所有する各種情報を示す概念図である。
【図９】メッセージへの署名文の埋め込みを示す概念図である。
【符号の説明】
【００４６】
１  ユーザ端末
２  ＩＣカード
３  時刻認証局サーバ
４、４−１，４−２  属性認証局サーバ
５、５−１〜５−４  サービス提供者端末
ＳＫ  署名鍵
ＰＫ  公開鍵
ＡＣ  属性証明書
Ｍ  メッセージ
【図１】
2006108917.tif 000008
【図２】
2006108917.tif 000009
【図３】
2006108917.tif 000010
【図４】
2006108917.tif 000011
【図５】
2006108917.tif 000012
【図６】
2006108917.tif 000013
【図７】
2006108917.tif 000014
【図８】
2006108917.tif 000015
【図９】
2006108917.tif 000016