JP5371698B2 - 電子署名システム及び電子署名方法 - Google Patents

電子署名システム及び電子署名方法 Download PDF

Info

Publication number
JP5371698B2
JP5371698B2 JP2009250512A JP2009250512A JP5371698B2 JP 5371698 B2 JP5371698 B2 JP 5371698B2 JP 2009250512 A JP2009250512 A JP 2009250512A JP 2009250512 A JP2009250512 A JP 2009250512A JP 5371698 B2 JP5371698 B2 JP 5371698B2
Authority
JP
Japan
Prior art keywords
signature
certificate
counter
verification
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009250512A
Other languages
English (en)
Other versions
JP2011097424A5 (ja
JP2011097424A (ja
Inventor
千尋 大山
俊彦 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2009250512A priority Critical patent/JP5371698B2/ja
Publication of JP2011097424A publication Critical patent/JP2011097424A/ja
Publication of JP2011097424A5 publication Critical patent/JP2011097424A5/ja
Application granted granted Critical
Publication of JP5371698B2 publication Critical patent/JP5371698B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、署名鍵と検証鍵とを用いた電子署名を行なう電子署名システム及び電子署名方法に関する。
従来のPKI(Public Key Infrastructure、非特許文献1参照)ベースによる電子署名システムは、署名鍵を使用して電子署名を生成する署名端末と、署名鍵に対応する検証鍵の証明書を発行する第三者機関である認証局(CA:Certificate Authority)の証明局装置と、電子署名の検証を行なう検証端末とのコンピュータ装置を備えている。図は、従来のPKIベースによる電子署名システムの動作例を示すシーケンス図である。まず、署名端末110が自身の署名鍵skと検証鍵vkとの鍵のペアを生成する(ステップS51)。署名端末110は、生成した署名鍵skを秘密に管理する一方、予め定められたユーザIDとパスワードとを用いて認証局装置120にログインし、検証鍵vkを送信する。認証局装置120は、署名端末110から送信された検証鍵vkを受信すると、受信した検証鍵vkをユーザIDに対応付けて記憶し、署名端末110の検証鍵を登録する(ステップS52)。署名端末110が検証鍵vkを認証局装置120に送信すると(ステップS53)、認証局装置120は、受信した検証鍵vkが署名端末110の署名鍵skに対応するものであることを証明する証明書certを生成し、署名端末110に送信する(ステップS54)。
署名端末110は、予め定められたアルゴリズムにより、平文Mと署名鍵skとに基づいて電子署名σを生成する(ステップS55)。署名端末110は、平文Mと、電子署名σと、証明書certとを検証端末130に送信する(ステップS56)。ここで、証明書certには、同一の鍵が無限に利用されることを防ぐために、有効期間が設定されている。検証端末130は、このような有効期間と検証時の日時とを比較する(ステップS57)。検証端末130は、検証時の日時が証明書certに設定された有効期間内でない場合(ステップS57:NO)、検証を失敗させる。
一方、検証時の日時が証明書certに設定された有効期間内である場合(ステップS57:YES)、検証端末130は、ネットワークを介して認証局装置120に接続し、認証局装置120から失効リスト(CRL:Certificate Revocation List)を取得する(ステップS58)。CRLは、署名鍵skが漏洩した等の理由により、有効期間内であるが失効した証明書のリストである。検証端末130は、CRLと署名端末110の検証鍵vkに対応する証明書certとを照合して、CRLに署名端末110に対応する証明書certが含まれているか否かを判定する(ステップS59)。CRLに署名端末110の検証鍵vkに対応する証明書certが含まれている場合(ステップS59:NO)、検証端末130は、検証を失敗させる。一方、CRLに署名端末110の検証鍵vkに対応する証明書certが含まれていない場合(ステップS59:YES)、検証端末130は、予め定められたアルゴリズムにより、検証鍵vkを用いて電子署名σの検証処理を行なう(ステップS60)。検証処理は、平文M、検証鍵vk、および電子署名σに基づいて予め定められたアルゴリズムにより行なわれる。検証端末130は、検証鍵vkを用いた電子署名σの検証が失敗すれば(ステップS60:NO)、検証が失敗したこと示す検証結果を出力する。検証が成功すれば(ステップS60:YES)、検証が成功したことを示す検証結果を出力する(ステップS61)。
小松文子著、「PKIハンドブック」、ソフトリサーチセンター、2004年11月
しかしながら、従来のPKIベースによる電子署名システムでは、上述のように、署名端末110による署名時には証明書の有効性の確認を行なわず、検証端末130による検証時に、証明書の有効性の確認を行っている。このため、検証端末130は、検証時にネットワークを介して認証局装置120に接続し、CRLを取得する必要がある。ここで、検証端末130が検証時にネットワークに接続せず、オフラインで電子署名の検証を行なうことの要望がある。例えば、検証端末130がネットワークに接続されていない環境にある場合にも、電子署名の検証を行うようにすることが望ましい。また、PKIにおける認証局は階層構造を持ち、各認証局は自身が発行した証明書に関するCRLを公開する。そのため、検証端末130がCRLの取得を行なう場合には複数階層に亘る複数のCRLを取得して照合を行なうため、ネットワーク通信や照合の処理に過大な負荷がかかる場合がある。さらに、例えば、署名端末110によって生成された電子署名が複数の検証端末130によって検証される場合、複数の検証端末130がネットワークを介して認証局装置120からCRLの取得を行うこととなり、認証局装置120や検証端末130、または認証局装置120と検証端末130との間のネットワークなどに過大な負荷がかかる場合がある。
本発明は、このような状況に鑑みてなされたもので、検証端末がネットワークに接続することなく、電子署名の検証を行なうことを可能にする電子署名システムおよび電子署名方法を提供する。
上述した課題を解決するために、本発明は、定められた署名鍵と、署名鍵に対応する検証鍵とが記憶されている署名端末と、検証鍵に対応する証明書を生成する認証局装置と、署名鍵に基づいて生成された電子署名の検証を行なう検証端末とを備えた電子署名システムであって、署名端末は、電子署名を生成した回数を示す署名カウンタが記憶される署名カウンタ記憶部と、署名カウンタと検証鍵とが含まれる証明書取得要求を認証局装置に送信し、送信した証明書取得要求に応じて認証局装置から送信される証明書を受信する証明書取得部と、定められた平文と、署名鍵と、証明書とに基づいて電子署名を生成する電子署名部と、を備え、証明局装置は、検証鍵に対応する証明書を生成した回数を示す証明書発行カウンタが記憶される証明書発行カウンタ記憶部と、署名端末から送信される証明書取得要求を受信すると、証明書取得要求に含まれる署名カウンタが示す値と、証明書発行カウンタ記憶部に記憶された証明書発行カウンタが示す値とが一致するか否かを判定するカウンタ判定部と、カウンタ判定部によって、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致すると判定されると、検証鍵が含まれる証明書を生成して署名端末に送信し、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致しないと判定されると、証明書を生成しない証明書発行部と、を備え、検証端末は、電子署名と、検証鍵との入力を受け付ける検証情報入力部と、検証情報入力部に入力された検証鍵に基づいて電子署名の検証を行なう検証部と、を備えることを特徴とする。
また、本発明は、署名端末の証明書取得部は、署名カウンタが示す第1の署名カウンタ値に基づいて第1の証明書を取得し、第1の証明書に基づいて電子署名部によって第1の電子署名が生成された後、第1の電子署名が生成されたことに応じて増加された署名カウンタが示す第2の署名カウンタ値に基づいて第2の証明書を取得し、電子署名部は、第1の証明書に基づく第1の電子署名と、第2の証明書に基づく第2の電子署名とを生成し、検証端末の、検証情報入力部は、第1の電子署名と、第2の電子署名と、第1の署名カウンタ値を示す署名カウンタと、第2の署名カウンタ値を示す署名カウンタと、検証鍵との入力を受け付け、検証部は、第2の署名カウンタ値が、第1の署名カウンタ値以下である場合に検証を失敗させることを特徴とする。
また、本発明は、証明局装置の証明書発行カウンタ記憶部には、署名鍵を利用して署名を行なうことが可能である署名鍵の有効期限と、検証鍵が失効していることを示す失効フラグとが記憶され、証明書発行部は、署名鍵の有効期限と失効フラグとに基づいて、証明書を生成するか否かを判定することを特徴とする。
また、本発明は、署名端末の署名カウンタ記憶部は、定められた耐タンパ領域に構成されることを特徴とする請求項1から請求項3までのいずれか1項に記載の電子署名システム。
また、本発明の電子署名システムは、複数の署名端末を備え、証明局装置の証明書発行カウンタ記憶部には、複数の署名端末に対応する検証鍵毎に証明書発行カウンタが記憶されていることを特徴とする請求項1から請求項4までのいずれか1項に記載の電子署名システム。
また、本発明は、定められた署名鍵と、署名鍵に対応する検証鍵とが記憶され、署名鍵に基づいて電子署名を生成した回数を示す署名カウンタが記憶される署名カウンタ記憶部を備える署名端末と、検証鍵に対応する証明書を生成した回数を示す証明書発行カウンタが記憶される証明書発行カウンタ記憶部を備える認証局装置と、電子署名の検証を行なう検証端末とを備えた電子署名システムの電子署名方法であって、署名端末が、署名カウンタと検証鍵とが含まれる証明書取得要求を認証局装置に送信し、送信した証明書取得要求に応じて認証局装置から送信される証明書を受信するステップと、定められた平文と、署名鍵と、証明書とに基づいて電子署名を生成するステップと、証明局装置が、署名端末から送信される証明書取得要求を受信すると、証明書取得要求に含まれる署名カウンタが示す値と、証明書発行カウンタ記憶部に記憶された証明書発行カウンタが示す値とが一致するか否かを判定するステップと、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致すると判定すると、検証鍵が含まれる証明書を生成して署名端末に送信し、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致しないと判定すると、証明書を生成しないステップと、検証端末が、電子署名と、検証鍵との入力を受け付けるステップと、検証情報入力部に入力された検証鍵に基づいて電子署名の検証を行なうステップと、を備えることを特徴とする。
以上説明したように、本発明によれば、署名鍵と検証鍵とを有する署名端末が、電子署名を生成した回数を示す署名カウンタを記憶し、署名カウンタと検証鍵とが含まれる証明書取得要求を認証局装置に送信して証明書を受信し、定められた平文と、署名鍵と、証明書とに基づいて電子署名を生成し、証明局装置が、証明書を生成した回数を示す証明書発行カウンタを記憶し、署名端末から送信された証明書取得要求を受信し、署名カウンタが示す値と証明書発行カウンタが示す値とが一致すると判定すると証明書を生成して署名端末に送信し、一致しないと判定すると証明書を生成せず、検証端末は、電子署名と検証鍵との入力を受け付け、検証鍵に基づいて電子署名の検証を行なうようにしたので、検証端末がネットワークに接続することなく、電子署名の検証を行なうことが可能となる。
本発明の一実施形態による電子署名システムの構成例を示すブロック図である。 本発明の一実施形態による認証局装置の証明書発行カウンタ記憶部に記憶される情報のデータ例を示す図である。 本発明の第1の実施形態による電子署名システムの動作例を示すシーケンス図である。 本発明の第2の実施形態により電子署名を行なうタイミングの例を示す図である。 本発明の第2の実施形態による電子署名システムの動作例を示すシーケンス図である。 従来技術による電子署名システムの動作例を示すシーケンス図である。
以下、本発明の一実施形態について、図面を参照して説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態による電子署名システム1の構成を示すブロック図である。本実施形態による電子署名システム1は、定められた署名鍵と検証鍵とが記憶されている署名端末10と、署名端末10の検証鍵に対応する証明書を生成する認証局装置20と、署名端末10の署名鍵に基づいて生成された電子署名の検証を行なう検証端末30とを備えている。
まず、本実施形態の暗号処理における演算、記号を以下のように定義する。
(1)セットアップ処理:認証局装置20によって行なわれ、暗号処理に用いられる各値のセットアップ処理を示す。これにより、電子署名システム1によって用いられる各値が生成される。
(2)鍵生成処理:署名端末10による鍵生成処理を示す。これにより、署名鍵skと検証鍵vkとが生成される。
(3)証明書生成処理:認証局装置20による証明書生成処理を示す。ここで、後述する証明書発行カウンタ記憶部21に記憶される証明書発行カウンタCc1等に基づいて、証明書certが生成される。
(4)電子署名生成処理:署名端末10による電子署名生成処理を示す。ここで、後述する署名カウンタ記憶部11に記憶される署名カウンタCs1等に基づいて、平文Mに対応する電子署名σが生成される。
(5)電子署名の検証処理:検証端末30による電子署名の検証処理を示す。これにより、検証が成功したか否かを示す検証結果が出力される。ここでは、検証結果が「1」であれば検証が成功したことを示し、検証結果が「0」であれば検証が失敗したことを示す。
図1に戻り、署名端末10は、上述の(2)に示した鍵生成処理により署名鍵skと検証鍵vkとを生成し、自身の記憶領域に記憶させるとともに、認証局装置20に検証鍵を送信して認証局装置20の鍵記憶部24に記憶させ、生成した検証鍵を認証局に登録する。また、署名端末10は、署名カウンタ記憶部11と、証明書取得部12と、電子署名部13とを備えている。
署名カウンタ記憶部11には、署名鍵skに基づいて電子署名を生成した回数を示す署名カウンタCs1が記憶される。署名カウンタ記憶部11には、例えば署名カウンタCs1の初期値として0が記憶され、後述する電子署名部13によって電子署名が生成されると、電子署名部13によって1ずつインクリメントされ、更新されて記憶される。また、署名カウンタ記憶部11は、署名端末10が備える定められた耐タンパ領域に構成される。耐タンパ領域には、例えば、PCなどのマザーボードに直付けされたセキュリティチップであるTPM(Trusted Platform Module)が適用できる。この場合、TPMが備えるカウンタの機能を、署名カウンタCs1として適用するようにしても良い。ここで、署名端末10が複数の署名鍵skを保持する場合には、署名カウンタ記憶部11には、署名鍵sk毎に、対応する署名カウンタCs1が記憶される。
証明書取得部12は、署名カウンタCs1と検証鍵vkとが含まれる証明書取得要求を認証局装置20に送信し、送信した証明書取得要求に応じて認証局装置20から送信される証明書を受信する。
電子署名部13は、上述の(4)に示した電子署名生成処理により、定められた平文Mと、署名鍵skと、証明書certと、署名カウンタCs1と、ユーザを識別するユーザIDとに基づいて電子署名σを生成する。また、電子署名部13は、署名カウンタ記憶部11に記憶された署名カウンタをインクリメントし、記憶させる。また、電子署名部13は、ICカードリーダライタの機能を備えており、生成した電子署名σと、ユーザIDと、平文Mと、署名カウンタCs1と、検証鍵vkとが含まれる検証情報を、定められたIC(Integrated Circuit)カードに記憶させるようにしても良い。
認証局装置20は、証明書発行カウンタ記憶部21と、カウンタ判定部22と、証明書発行部23と、鍵記憶部24とを備えている。
証明書発行カウンタ記憶部21には、電子署名システム1による電子署名を行なう署名端末10に対応する検証鍵毎に、検証鍵と、ユーザIDと、証明書発行カウンタと、署名鍵の有効期間と、失効フラグとが対応付けられて記憶される。図は、証明書発行カウンタ記憶部21に記憶される情報のデータ例を示す図である。検証鍵は、署名端末10により生成され、送信されて登録された検証鍵である。ユーザIDは、電子署名システム1による電子署名を行なうユーザを識別する識別情報である。証明書発行カウンタは、証明書発行部23によって証明書が生成された回数を示す情報である。証明書発行カウンタは、例えば初期値として0が記憶され、後述する証明書発行部23によって対応する検証鍵に基づく証明書が生成されると、証明書発行部23によって1ずつインクリメントされ、更新されて記憶される。署名鍵の有効期間は、対応する署名鍵を利用することが可能である期間を示す情報である。署名鍵の有効期間には、例えば署名鍵の有効期間の始期を示す日時と、署名鍵の有効期間の終期を示す日時との情報が含まれる。失効フラグは、有効期間内である署名鍵であっても、鍵漏洩等の理由により検証鍵が失効されている場合に、その検証鍵が失効していることを示す情報である。失効フラグは、例えば従来のPKIベースの電子署名におけるCRLに対応する情報である。すなわち、署名鍵の有効期間内には「有効」を示す失効フラグが対応付けられるが、署名鍵の有効期間内であっても、鍵の漏洩などにより失効した鍵に対応する検証鍵には「無効」を示す失効フラグが対応付けられる。
図1に戻り、カウンタ判定部22は、署名端末10から送信される証明書取得要求を受信すると、証明書取得要求に含まれる署名カウンタが示す値と、証明書発行カウンタ記憶部21に記憶された証明書発行カウンタが示す値とが一致するか否かを判定する。
証明書発行部23は、カウンタ判定部22によって、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致すると判定されると、検証鍵が含まれる証明書を生成して署名端末10に送信し、署名カウンタが示す値と、証明書発行カウンタが示す値とが一致しないと判定されると、証明書を生成しない。ここで、証明書発行部23が証明書を生成する際には、上述の(3)に示した証明書生成処理により、検証鍵vkと、証明書発行カウンタCc1と、ユーザIDとに基づいて、証明書certを生成する。
また、証明書発行部23は、検証鍵に対応する署名鍵の有効期間と失効フラグとに基づいて、証明書を生成するか否かを判定する。ここでは、証明書発行部23は、自身が有する計時機能により現在日時を示す情報を取得し、現在日時が署名鍵の有効期間内であるか否かを判定する。現在日時が署名鍵の有効期間内であれば証明書を生成すると判定し、現在日時が署名鍵の有効期間内でなければ証明書を生成しないと判定する。また、証明書発行部23は、失効フラグが「有効」を示す情報であれば証明書を生成すると判定し、「無効」を示す情報であれば証明書を生成しないと判定する。また、証明書発行部23は、証明書を生成すると判定し、上述の証明書生成処理により証明書を生成した場合には、証明書発行カウンタ記憶部21に記憶された証明書発行カウンタをインクリメントする。
鍵記憶部24には、署名端末10から認証局装置20に送信された検証鍵が記憶される。
検証端末30は、検証情報入力部31と、検証部32とを備えている。
検証情報入力部31は、ユーザIDと、平文Mと、電子署名σと、署名カウンタCs1と、検証鍵vkとが含まれる検証情報の入力を受け付ける。ここで、検証情報入力部31は、例えばICカードリーダなどの機能を備えており、ICカードに記憶されている検証情報を読み込むことにより入力を受け付けるようにしても良い。
検証部32は、検証情報入力部31に入力された検証鍵に基づいて電子署名の検証を行なう。検証部32は、署名カウンタCs1と、ユーザIDと、平文Mと、電子署名σと、検証鍵vkとに基づいて、上述の(5)に示した検証処理を行い、検証結果を算出する。
次に、本実施形態による電子署名システム1の動作例を説明する。図は、電子署名システム1によって電子署名が生成され、検証される動作例を示すシーケンス図である。
まず、署名端末10は、上述の電子署名処理を動作させて、署名鍵skと検証鍵vkとを生成する(ステップS1)。また、署名端末10は、例えばユーザからの入力に応じて、予め定められたユーザID(例えば、「User1」)と、パスワードとを用いて認証局装置20にログインし、ステップS1において生成した検証鍵vkを認証局装置20に送信する。認証局装置20は、署名端末10から送信された検証鍵を受信すると、受信した検証鍵を鍵記憶部24に記憶させて登録する(ステップS2)。また、認証局装置20の証明書発行カウンタ記憶部21には、検証鍵に対応する初期値が記憶される。署名端末10の証明書取得部12は、署名カウンタ記憶部11に記憶されている署名カウンタCs1を読み出し、読み出した署名カウンタCs1と、検証鍵vkとが含まれる証明書取得要求を生成し、認証局装置20に送信する(ステップS3)。
認証局装置20が、署名端末10から送信された証明書取得要求を受信すると、カウンタ判定部22は、証明書発行カウンタ記憶部21に、証明書取得要求に含まれる検証鍵vkに対応付けられて記憶されている証明書発行カウンタCc1を読み出し、証明書取得要求に含まれる署名カウンタCs1と、読み出した証明書発行カウンタCc1との値を比較する(ステップS4)。カウンタ判定部22は、署名カウンタCs1と証明書発行カウンタCc1との値が一致しないと判定すると(ステップS4:NO)、証明書を発行せずにエラーとして処理を終了する。
一方、署名カウンタCs1と証明書発行カウンタCc1との値が一致すると判定すると(ステップS4:YES)、証明書発行部23は、ユーザID(「User1」)に対応する署名鍵の有効期間T1を読み出す。証明書発行部23は、自身が備える計時機能から取得する現在日時が、署名鍵の有効期間T1が示す期間内であるか否かを判定する(ステップS5)。証明書発行部23は、現在日時が、署名鍵の有効期間T1によって示される期間内でないと判定すると(ステップS5:NO)、証明書を発行せずにエラーとして処理を終了する。一方、現在日時が、署名鍵の有効期間T1によって示される期間内であると判定すると(ステップS5:YES)、証明書発行カウンタ記憶部21に記憶されている失効フラグを読み出す(ステップS6)。証明書発行部23は、読み出した失効フラグが「無効」を示すと判定すると、(ステップS6:NO)、証明書を発行せずにエラーとして処理を終了する。一方、読み出した失効フラグが「有効」を示すと判定すると、(ステップS6:YES)、証明書生成処理によって証明書certを生成し、生成した証明書certを署名端末10に送信する(ステップS7)。証明書発行部23は、証明書を生成すると、証明書を生成した検証鍵に対応付けられて証明書発行カウンタ記憶部21に記憶された証明書発行カウンタCc1をインクリメントさせ、記憶させる(ステップS8)。
署名端末10は、認証局装置20から送信された証明書certを受信すると、電子署名生成処理によって電子署名σを生成し(ステップS9)、署名カウンタ記憶部11に記憶された署名カウンタCs1をインクリメントさせる(ステップS10)。ここで、例えば、ユーザID、平文M、電子署名σ、署名カウンタCs1、検証鍵vkが含まれる検証情報が、ユーザが有するICカードに記憶される。
そして、検証端末30の検証情報入力部31は、ユーザのICカードに記憶されたユーザID、平文M、電子署名σ、署名カウンタCs1、検証鍵vkを読み出すことにより検証情報の入力を受け付ける(ステップS11)。そして、検証部32は、検証処理によって電子署名σを検証鍵vkにより検証する(ステップS12)。ここで、検証部32が、電子署名σと検証鍵vkとに基づいた検証に失敗すれば(ステップS12:NO)、検証失敗として処理を終了する。一方、電子署名σと検証鍵vkとに基づいた検証に成功すれば(ステップS12:YES)、検証成功として検証結果を出力する(ステップS13)。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態における電子署名システム1は、第1の実施形態と同様であるので、図1を参照して特に第1の実施形態と異なる点について説明する。
本実施形態における署名端末10の証明書取得部12は、署名カウンタが示す第1の書名カウンタ値に基づいて第1の証明書を取得し、第1の証明書に基づいて電子署名部13によって第1の電子署名が生成された後、第1の電子署名が生成されたことに応じて増加された署名カウンタが示す第2の署名カウンタ値に基づいて第2の証明書を取得する。
署名端末10の電子署名部13は、第1の証明書に基づく第1の電子署名(本署名)と、第2の証明書に基づく第2の電子署名(空署名)とを生成する。ここで、本書名とは、ユーザが本来署名を行ないたい平文に対して行なった電子署名である。これに対し、空署名とは、対応する本書名の有効性を確認する目的で用いられる電子署名である。ここで、空署名において署名を行なう対象である平文には、任意の情報を用いて良く、特に限定された情報を用いなくても良い。
検証端末30の検証情報入力部31は、第1の電子署名と、第2の電子署名と、第1の署名カウンタ値を示す署名カウンタと、第2の署名カウンタ値を示す署名カウンタと、検証鍵との入力を受け付ける。
検証端末30の検証部32は、第2の署名カウンタ値が、第1の署名カウンタ値以下である場合に検証を失敗させ、第2の署名カウンタ値が、第1の署名カウンタ値を超える場合に検証を成功させる。
これにより、例えば図に示すように、認証局装置20によって発行された証明書が、署名鍵の有効期間が途過した後に使用されることを防ぐことができる。例えば、署名端末10に対する署名生成権限が与えられる署名鍵の有効期間である符号p1と、署名生成権限がない期間である符号p2との期間が存在する。このとき、符号p1の期間内である時点t1において、署名端末10が認証局装置20に対して証明書発行要求を送信し、第1の証明書を取得する。署名端末10は、時点t2において第1の電子署名を生成した後、時点t3においてさらに認証局装置20に証明書発行要求を送信し、第2の証明書を取得する。認証局装置20は、時点t4において第2の電子署名を生成する。検証時には、このように生成された第1の電子署名と第2の電子署名とのいずれもの検証が成功することを以て、時点t2における電子署名が有効なものであると判断できる。すなわち、時点t4において署名された電子署名(空署名)の検証が成功したということは、時点t4における署名に利用した第2の証明書が、署名鍵の有効期間内(時点t3)に発行されたことを示しており、従って、時点t3以前の時点t2において署名された電子署名(本署名)に用いられた第1の証明書は当然に有効であることが判断できる。一方、例えば時点t1において取得された第1の証明書を用いて、期間p1が途過した期間p2内の時点t5において第1の電子署名が生成された場合、時点t6において署名端末10が証明書取得要求を認証局装置20に送信しても、第2の証明書を取得することができない。このようにして、署名鍵の有効期間が途過した後に証明書が使用されることを防ぐことができる。
次に、本実施形態による電子署名システム1の動作例を説明する。図は、電子署名システム1によって電子署名が生成され、検証される動作例を示すシーケンス図である。
図において、ステップS20からステップS25までの処理は、第1の実施形態において説明したステップS1からステップS10までの処理と同様である。ここで、図においては、第1の実施形態におけるステップS4からステップS6までの判定処理、およびステップS8におけるCc1のインクリメント処理を省略して示しているが、同様の処理を行う。
ここでは、ステップS22における時点での署名カウンタCs1の値(第1のカウンタ値)がステップS25においてインクリメントされ、増加された値(第2のカウンタ値)を示す署名カウンタCs1を、Cs1´と示す。署名端末10の証明書取得部12は、ステップS25においてインクリメントされた署名カウンタCs1´が含まれる証明書取得要求を、認証局装置20に送信する(ステップS26)。認証局装置20は、署名カウンタCs1´に基づく第2の証明書cert´を生成し、署名端末10に送信する(ステップS27)。署名端末10は、第2の平文M´、署名鍵sk、第2の証明書cert´、署名カウンタCs1´、ユーザIDに基づいて、第2の電子署名σ´を生成する(ステップS28)。署名端末10の電子署名部13は、署名カウンタCs1´をさらにインクリメントさせる(ステップS29)。
検証端末30の検証情報入力部31は、第1の平文M、第1の電子署名σ、第1の署名カウンタCs1、検証鍵vk、ユーザIDの入力を受け付ける(ステップS30)。また、検証情報入力部31は、第2の平文M´、第2の電子署名σ´、第2の署名カウンタCs1´、検証鍵vk、ユーザIDの入力を受け付ける(ステップS31)。そして、検証部32は、第1の電子署名σに対して検証鍵vkによる検証処理を行い、検証結果を算出する(ステップS32)。検証結果が失敗を示す場合には(ステップS32:NO)、処理を終了する。検証結果が成功を示す場合には(ステップS32:YES)、第2の電子署名σ´に対して検証鍵vkによる検証処理を行い、検証結果を算出する(ステップS33)。検証結果が失敗を示す場合には(ステップS33:NO)、処理を終了する。検証結果が成功を示す場合には(ステップS33:YES)、ステップS30において入力された署名カウンタCs1と、ステップS31において入力された署名カウンタCs1´とが示す値を比較する(ステップS34)。検証部32は、署名カウンタCs1´が示す値が、署名カウンタCs1が示す値以下である場合(ステップS34:NO)、検証失敗として処理を終了する。署名カウンタCs1´が、署名カウンタCs1が示す値を超える場合(ステップS34:YES)、検証成功を示す検証結果を出力する(ステップS35)。
以上説明したように、本実施形態によれば、検証端末30がネットワークに接続することなく、電子署名の検証を行なうことが可能となる。すなわち、認証局装置20が証明書を発行する際に、認証局装置20が、その時点で署名端末10の鍵が有効であるか否かを判定して有効である場合に証明書を発行し、署名端末10は発行された証明書に基づいて電子署名を生成するようにしたので、検証端末30における検証時には、電子署名が作成されていることを以て鍵の有効性を推定することができる。これにより、検証端末30は、ネットワークを介して認証局装置20に接続し、CRLを参照する等により電子署名の鍵自体の有効性を確認する必要がなくなり、オフラインで電子署名の検証を行なうことが可能となる。
また、これにより、従来は鍵自体の有効性の確認の処理負荷を検証端末30が負担していたが、この処理負荷を署名端末10側に移行させることができる。すなわち、例えば署名端末10によって生成された電子署名は、複数の検証端末30によって検証される場合がある。このような場合に、従来であれば複数の検証端末30のそれぞれが鍵の有効性を確認するための処理負荷を負担していたが、本実施形態によれば、署名端末10による電子署名作成に先立って認証局装置20が鍵の有効性の確認を行なえば足りる。
また、本発明の第1の実施形態によれば、署名端末10の署名カウンタと認証局装置20の証明書発行カウンタとの値が一致した場合にのみ証明書を発行することとしたので、発行された証明書は実質的に1回限りの利用が可能なものである。そのため、従来のPKIにおいて単に鍵の有効期限を廃した場合と異なり、同一の署名鍵により無限に電子署名が生成されることがない。
また、本発明の第2の実施形態によれば、第1の電子署名(本書名)の際に用いた署名カウンタの値Cs1と、第2の電子署名(空署名)の際に用いた署名カウンタの値Cs1´とが、Cs1<Cs1´である場合にのみ検証が成功することとしたので、署名鍵の有効期限が途過した後に、有効期限が過ぎた証明書を用いた電子署名の検証が成功することを防ぐことができる。これにより、従来のPKIと同等のセキュリティレベルを確保したまま、オフラインでの署名検証を実現することができる。
なお、本実施形態では、署名カウンタの値と証明書発行カウンタとの値は、それぞれ1ずつ増加するようにしたが、例えばひとつの証明書によって定められた回数の電子署名の生成を許可する場合には、証明書が発行された際の証明書発行カウンタの増加値を、その定められた回数分増加させるようにしても良い。
また、本実施形態における署名端末10の署名カウンタ記憶部11と電子署名部13との機能は、耐タンパ性のあるICカードなどに記憶させ、動作させるようにしても良い。
なお、従来のPKIベースの電子署名において、証明書の有効期間をCRLの更新頻度と同程度(例えば、数日)に短くすることにより、検証端末30が検証時にネットワークを介して認証局装置20に接続する必要をなくすことも考えられる。しかしこの場合には、検証端末30は、電子署名が生成されてから数日間の間にしか検証を行うことができなくなるため、現実的な利用は困難である。
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより電子署名を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1 電子署名システム
10 署名端末
11 署名カウンタ記憶部
12 証明書取得部
13 電子署名部
20 認証局装置
21 証明書発行カウンタ記憶部
22 カウンタ判定部
23 証明書発行部
24 鍵記憶部
30 検証端末
31 検証情報入力部
32 検証部

Claims (6)

  1. 定められた署名鍵と、当該署名鍵に対応する検証鍵とが記憶されている署名端末と、前記検証鍵に対応する証明書を生成する認証局装置と、前記署名鍵に基づいて生成された電子署名の検証を行なう検証端末とを備えた電子署名システムであって、
    前記署名端末は、
    前記電子署名を生成した回数を示す署名カウンタが記憶される署名カウンタ記憶部と、
    前記署名カウンタと前記検証鍵とが含まれる証明書取得要求を前記認証局装置に送信し、送信した当該証明書取得要求に応じて当該認証局装置から送信される証明書を受信する証明書取得部と、
    定められた平文と、前記署名鍵と、前記証明書とに基づいて電子署名を生成する電子署名部と、を備え、
    前記証明局装置は、
    前記検証鍵に対応する前記証明書を生成した回数を示す証明書発行カウンタが記憶される証明書発行カウンタ記憶部と、
    前記署名端末から送信される前記証明書取得要求を受信すると、当該証明書取得要求に含まれる前記署名カウンタが示す値と、前記証明書発行カウンタ記憶部に記憶された前記証明書発行カウンタが示す値とが一致するか否かを判定するカウンタ判定部と、
    前記カウンタ判定部によって、前記署名カウンタが示す値と、前記証明書発行カウンタが示す値とが一致すると判定されると、前記検証鍵が含まれる証明書を生成して前記署名端末に送信し、前記署名カウンタが示す値と、前記証明書発行カウンタが示す値とが一致しないと判定されると、前記証明書を生成しない証明書発行部と、を備え、
    前記検証端末は、
    前記電子署名と、前記検証鍵との入力を受け付ける検証情報入力部と、
    前記検証情報入力部に入力された前記検証鍵に基づいて前記電子署名の検証を行なう検証部と、を備える
    ことを特徴とする電子署名システム。
  2. 前記署名端末の、
    前記証明書取得部は、前記署名カウンタが示す第1の署名カウンタ値に基づいて第1の証明書を取得し、当該第1の証明書に基づいて前記電子署名部によって第1の電子署名が生成された後、当該第1の電子署名が生成されたことに応じて増加された前記署名カウンタが示す第2の署名カウンタ値に基づいて第2の証明書を取得し、
    前記電子署名部は、前記第1の証明書に基づく第1の電子署名と、前記第2の証明書に基づく第2の電子署名とを生成し、
    前記検証端末の、
    前記検証情報入力部は、前記第1の電子署名と、前記第2の電子署名と、前記第1の署名カウンタ値を示す前記署名カウンタと、前記第2の署名カウンタ値を示す前記署名カウンタと、前記検証鍵との入力を受け付け、
    前記検証部は、前記第2の署名カウンタ値が、前記第1の署名カウンタ値以下である場合に前記検証を失敗させる
    ことを特徴とする請求項1に記載の電子署名システム。
  3. 前記証明局装置の、
    前記証明書発行カウンタ記憶部には、前記署名鍵を利用して署名を行なうことが可能である署名鍵の有効期限と、当該検証鍵が失効していることを示す失効フラグとが記憶され、
    前記証明書発行部は、前記署名鍵の有効期限と前記失効フラグとに基づいて、前記証明書を生成するか否かを判定する
    ことを特徴とする請求項1または請求項2に記載の電子署名システム。
  4. 前記署名端末の、
    前記署名カウンタ記憶部は、定められた耐タンパ領域に構成される
    ことを特徴とする請求項1から請求項3までのいずれか1項に記載の電子署名システム。
  5. 前記電子署名システムは、複数の前記署名端末を備え、
    前記証明局装置の前記証明書発行カウンタ記憶部には、前記複数の前記署名端末に対応する検証鍵毎に前記証明書発行カウンタが記憶されている
    ことを特徴とする請求項1から請求項4までのいずれか1項に記載の電子署名システム。
  6. 定められた署名鍵と、当該署名鍵に対応する検証鍵とが記憶され、前記署名鍵に基づいて電子署名を生成した回数を示す署名カウンタが記憶される署名カウンタ記憶部を備える署名端末と、前記検証鍵に対応する証明書を生成した回数を示す証明書発行カウンタが記憶される証明書発行カウンタ記憶部を備える認証局装置と、前記電子署名の検証を行なう検証端末とを備えた電子署名システムの電子署名方法であって、
    前記署名端末が、
    前記署名カウンタと前記検証鍵とが含まれる証明書取得要求を前記認証局装置に送信し、送信した当該証明書取得要求に応じて当該認証局装置から送信される証明書を受信するステップと、
    定められた平文と、前記署名鍵と、前記証明書とに基づいて電子署名を生成するステップと、
    前記証明局装置が、
    前記署名端末から送信される前記証明書取得要求を受信すると、当該証明書取得要求に含まれる前記署名カウンタが示す値と、前記証明書発行カウンタ記憶部に記憶された前記証明書発行カウンタが示す値とが一致するか否かを判定するステップと、
    前記署名カウンタが示す値と、前記証明書発行カウンタが示す値とが一致すると判定すると、前記検証鍵が含まれる証明書を生成して前記署名端末に送信し、前記署名カウンタが示す値と、前記証明書発行カウンタが示す値とが一致しないと判定すると、前記証明書を生成しないステップと、
    前記検証端末が、
    前記電子署名と、前記検証鍵との入力を受け付けるステップと、
    前記検証情報入力部に入力された前記検証鍵に基づいて前記電子署名の検証を行なうステップと、を備える
    ことを特徴とする電子署名方法。
JP2009250512A 2009-10-30 2009-10-30 電子署名システム及び電子署名方法 Active JP5371698B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009250512A JP5371698B2 (ja) 2009-10-30 2009-10-30 電子署名システム及び電子署名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009250512A JP5371698B2 (ja) 2009-10-30 2009-10-30 電子署名システム及び電子署名方法

Publications (3)

Publication Number Publication Date
JP2011097424A JP2011097424A (ja) 2011-05-12
JP2011097424A5 JP2011097424A5 (ja) 2013-09-12
JP5371698B2 true JP5371698B2 (ja) 2013-12-18

Family

ID=44113854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009250512A Active JP5371698B2 (ja) 2009-10-30 2009-10-30 電子署名システム及び電子署名方法

Country Status (1)

Country Link
JP (1) JP5371698B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3987322B2 (ja) * 2001-11-13 2007-10-10 株式会社日立製作所 電子証明書の料金課金システム
JP2004164287A (ja) * 2002-11-13 2004-06-10 Matsushita Electric Ind Co Ltd 情報記録システム
JP2005252318A (ja) * 2004-03-01 2005-09-15 Hitachi Ltd 電子証明書有効性確認システムおよびその方法
JP4679163B2 (ja) * 2005-01-21 2011-04-27 株式会社東芝 デジタル署名情報生成装置、デジタル署名情報生成方法及びプログラム
KR20080104594A (ko) * 2007-05-28 2008-12-03 삼성전자주식회사 오프라인 장치를 위한 온라인 인증서 검증 장치 및 방법

Also Published As

Publication number Publication date
JP2011097424A (ja) 2011-05-12

Similar Documents

Publication Publication Date Title
US7689828B2 (en) System and method for implementing digital signature using one time private keys
JP4470071B2 (ja) カード発行システム、カード発行サーバ、カード発行方法およびプログラム
JP3971890B2 (ja) 署名検証支援装置、署名検証支援方法、及び電子署名検証方法
JP2002024177A (ja) 電子公証システムおよび電子公証方法
US20230006840A1 (en) Methods and devices for automated digital certificate verification
US20110231662A1 (en) Certificate validation method and validation server
CN112165382B (zh) 软件授权方法、装置、授权服务端及终端设备
JP2006340178A (ja) 属性証明書検証方法及び装置
US20220094542A1 (en) Methods and devices for public key management using a blockchain
JP2013175040A (ja) 認証権限移譲システム、情報端末、トークン発行局、サービス提供装置、認証権限移譲方法、及びプログラム
JP5785875B2 (ja) 公開鍵証明書の検証方法、検証サーバ、中継サーバおよびプログラム
US20190296918A1 (en) Method and system for issuing proof-equipped certificates for certificate authority
JP4846464B2 (ja) 複数公開鍵の証明書を発行及び検証するシステム、並びに、複数公開鍵の証明書を発行及び検証する方法
JP5115424B2 (ja) 時刻証明装置、時刻証明方法、及びプログラム
JP2004248220A (ja) 公開鍵証明書発行装置、公開鍵証明書記録媒体、認証端末装置、公開鍵証明書発行方法、及びプログラム
CN109257381A (zh) 一种密钥管理方法、系统及电子设备
JP2019036781A (ja) 認証システムおよび認証方法
JP5371698B2 (ja) 電子署名システム及び電子署名方法
JP4541740B2 (ja) 認証用鍵の更新システム、および認証用鍵の更新方法
CN110855442A (zh) 一种基于pki技术的设备间证书验证方法
KR100760028B1 (ko) 전자서명 인증서의 장기검증방법 및 시스템
JP5872588B2 (ja) トレースデバイスおよびトレース方法
KR101868564B1 (ko) 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법
JP5793593B2 (ja) ユーザ識別情報を安全に検証するためのネットワーク認証方法
JP4071474B2 (ja) 失効確認装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120220

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130730

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130917

R150 Certificate of patent or registration of utility model

Ref document number: 5371698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350