[go: up one dir, main page]

JP4291970B2 - 暗号処理装置 - Google Patents

暗号処理装置 Download PDF

Info

Publication number
JP4291970B2
JP4291970B2 JP2001388439A JP2001388439A JP4291970B2 JP 4291970 B2 JP4291970 B2 JP 4291970B2 JP 2001388439 A JP2001388439 A JP 2001388439A JP 2001388439 A JP2001388439 A JP 2001388439A JP 4291970 B2 JP4291970 B2 JP 4291970B2
Authority
JP
Japan
Prior art keywords
key
encryption
processing unit
cryptographic processing
unit
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.)
Expired - Fee Related
Application number
JP2001388439A
Other languages
English (en)
Other versions
JP2003188871A (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.)
Fujitsu Ltd
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Frontech Ltd
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 Fujitsu Ltd, Fujitsu Frontech Ltd filed Critical Fujitsu Ltd
Priority to JP2001388439A priority Critical patent/JP4291970B2/ja
Priority to US10/101,274 priority patent/US20030118189A1/en
Publication of JP2003188871A publication Critical patent/JP2003188871A/ja
Application granted granted Critical
Publication of JP4291970B2 publication Critical patent/JP4291970B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、平文の暗号化、暗号文の復号化に用いられる暗号処理装置に関するものであり、特に、暗号処理の負荷分散を図ることができる暗号処理装置に関するものである。
【0002】
【従来の技術】
近年、電話回線、ISDN(Integrated Services Digital Network)、LAN(Local Area Network)、無線通信網、光通信網等のオープンなネットワークにおいては、第三者による情報の盗聴、改ざん、成りすまし等の脅威に対処するための種々の技術が検討されている。
【0003】
その最も代表的な例としては、RSA(Rivest Shamir Adleman)やDES(Data Encryption Standard)等の暗号アルゴリズムにより、平文を暗号化し、この暗号化された暗号文を実際のネットワーク上の伝送や、情報端末への保存に用いるようにした暗号化技術が知られている。
【0004】
この種の暗号化技術を適用した暗号処理システムでは、平文を暗号文に暗号化する暗号処理部と、暗号文を平文に復号化する復号処理部とを備えており、暗号化および復号化に鍵が用いられる。従って、暗号処理システムでは、鍵の外部漏洩による解読を防止すべく、厳重な鍵の管理がセキュリティ上、必須とされている。
【0005】
図22は、従来の暗号処理システムの構成を示すブロック図である。この図において、暗号処理装置10は、セキュリティ保護されたn枚の暗号処理ユニット200 〜20n を実装しており、外部から入力される平文の暗号化、暗号文の復号化、暗号化/復号化に用いられる鍵の生成等を行う装置である。
【0006】
ドライバ40は、上位装置50からの命令に従って、PCI(Peripheral Component Interconnect)バス30を介して、暗号処理ユニット200 〜20n を駆動制御する。上位装置50は、暗号化/復号化用のアプリケーションプログラムを実行するコンピュータ装置であり、鍵の生成、暗号化、復号化に関する各種命令をドライバ40に対して発行する。
【0007】
暗号処理ユニット200 〜20n のそれぞれは、ドライバ40の制御の下で、暗号化/復号化に用いられる鍵を生成する機能と、鍵を識別するための鍵IDを発行する機能と、暗号アルゴリズム(RSA、DES等)により上記鍵で平文を暗号化する機能と、上記鍵で暗号文を復号化する機能とを備えている。
【0008】
図23は、図22に示した暗号処理ユニット200 および201 の構成を示すブロック図である。この図において、図22の各部に対応する部分には同一の符号を付ける。同図に示した暗号処理ユニット200 において、セキュリティガード210 は、暗号処理ユニット200 に対する外部からのアタック(鍵の不正取得を目的とした物理的な破壊等)を検出する機能と、検出時に、内部に保持されている鍵を強制消去する機能とを備えている。
【0009】
PCI制御部220 は、ドライバ40(図22参照)と暗号処理ユニット200 との通信インタフェースであるPCIバス30を制御する。制御部230 は、プログラムを実行し各部を制御するMPU(Micro Processing Unit)や、記憶領域としてのROM(Read Only Memory)、RAM(Random Access Memory)等から構成されている。
【0010】
計時部240 は、リアルタイムクロックであり、鍵生成部250 へ時々刻々、時刻情報を出力する。鍵生成部250 は、鍵生成命令に従って、乱数、時刻情報、積算タイマ等を用いて、ユニークな鍵600 を生成する。また、鍵生成部250 は、鍵600 を識別するための鍵ID610 (図24参照)をドライバ40へ送信する。RAM260 は、鍵を鍵IDと対応づけて格納する。
【0011】
ここで、注意すべきは、暗号処理ユニット200 から外部へは、鍵ID610 が送信されるのであって、鍵600 自体は送信されない点である。このように、従来の暗号処理システムにおいては、鍵の生成および保持を暗号処理ユニット200 でクローズさせて、外部に鍵を流出させないことにより、高いセキュリティが維持される。
【0012】
バッテリ270 は、計時部240 およびRAM260 のバックアップ電源である。暗号/復号処理部280 は、外部からの命令および鍵IDに従って、鍵IDに対応する鍵を用いて、平文を暗号化する機能と、該鍵を用いて、暗号文を復号化する機能とを備えている。
【0013】
暗号処理ユニット201 は、上述した暗号処理ユニット200 と同一構成とされており、セキュリティガード211 、PCI制御部221 、制御部231 、計時部241 、鍵601 を生成する鍵生成部251 、RAM261 、バッテリ271 および暗号/復号処理部281 から構成されている。
【0014】
ここで、暗号処理ユニット200 の鍵生成部250 で生成される鍵600 と、暗号処理ユニット201 の鍵生成部251 で生成される鍵601 とは、別異である。従って、暗号処理ユニット200 で暗号化された暗号文は、暗号処理ユニット200 のみで復号化が可能であり、暗号処理ユニット201 での復号化は不可能である。
【0015】
なお、その他の暗号処理ユニット(暗号処理ユニット202(図示略)〜20n)は、上述した暗号処理ユニット200 と同一構成とされている。但し、その他の暗号処理ユニットでそれぞれ生成される鍵は、ユニークなものである。
【0016】
つぎに、従来の暗号処理システムの鍵生成処理について、図24を参照して説明する。まず、上位装置50により、暗号処理ユニット200 に対応する鍵生成命令700 が発行されると、ドライバ40は、暗号処理ユニット200 に鍵生成を依頼する。
【0017】
これにより、鍵生成部250 は、鍵600 および鍵ID610 を生成し、RAM260 (図23参照)に格納する。つぎに、鍵生成部250 は、ドライバ40へ鍵ID610 を送信する。この鍵ID610 は、ドライバ40により上位装置50へ渡される。
【0018】
続いて、上位装置50により、暗号処理ユニット201 に対応する鍵生成命令701 が発行されると、ドライバ40は、暗号処理ユニット201 に鍵生成を依頼する。
【0019】
これにより、鍵生成部251 は、鍵601 および鍵ID611 を生成し、RAM261 (図23参照)に格納する。つぎに、鍵生成部251 は、ドライバ40へ鍵ID611 を送信する。この鍵ID611 は、ドライバ40により上位装置50へ渡される。
【0020】
つぎに、従来の暗号処理システムの暗号化処理について、図25を参照して説明する。まず、上位装置50により、暗号処理ユニット200 に対応する暗号化命令710 が発行されると、ドライバ40は、暗号処理ユニット200 に暗号化を依頼する。また、暗号処理ユニット200 には、上位装置50からの平文720 および鍵ID610 も渡される。
【0021】
これにより、暗号/復号処理部280 は、鍵ID610 に対応する鍵600 を用いて、平文720 を暗号文730 に暗号化し、ドライバ40へ暗号文730 を送信する。この暗号文730 は、ドライバ40により上位装置50へ渡される。
【0022】
続いて、暗号処理ユニット201 に対応する暗号化命令711 が発行されると、ドライバ40は、暗号処理ユニット201 に暗号化を依頼する。また、暗号処理ユニット201 には、上位装置50からの平文721 および鍵ID611 も渡される。
【0023】
これにより、暗号/復号処理部281 は、鍵ID611 に対応する鍵601 を用いて、平文721 を暗号文731 に暗号化し、ドライバ40へ暗号文731 を送信する。この暗号文731 は、ドライバ40により上位装置50へ渡される。
【0024】
つぎに、従来の暗号処理システムの復号化処理について、図26を参照して説明する。まず、上位装置50により、暗号処理ユニット200 に対応する復号化命令740 が発行されると、ドライバ40は、暗号処理ユニット200 に復号化を依頼する。また、暗号処理ユニット200 には、上位装置50からの暗号文730 および鍵ID610 も渡される。
【0025】
これにより、復号化/復号処理部280 は、鍵ID610 に対応する鍵600 を用いて、暗号文730 を平文720 に復号化し、ドライバ40へ平文720 を送信する。この平文720 は、ドライバ40により上位装置50へ渡される。
【0026】
続いて、上位装置50により、暗号処理ユニット201 に対応する復号化命令741 が発行されると、ドライバ40は、暗号処理ユニット201 に復号化を依頼する。また、暗号処理ユニット201 には、上位装置50からの暗号文731 および鍵ID611 も渡される。
【0027】
これにより、復号化/復号処理部281 は、鍵ID611 に対応する鍵601 を用いて、暗号文731 を平文721 に復号化し、ドライバ40へ平文721 を送信する。この平文721 は、ドライバ40により上位装置50へ渡される。
【0028】
【発明が解決しようとする課題】
ところで、前述したように、従来の暗号処理システムにおいては、鍵IDと暗号処理ユニットとが1対1で対応しているため、暗号化処理または復号化処理(総称して暗号処理とする)の依頼時に当該暗号処理ユニットが別の処理を実行中である場合、該処理が完了するまでの間、ビジー(処理待ち)状態となる。
【0029】
具体的には、図25に示した暗号処理ユニット200 に対して暗号化命令710 が発行されたとき、既に、暗号処理ユニット200 で別の処理が実行中である場合、この別の処理が完了するまで、暗号化命令710 に基づく暗号化処理が開始されず、ビジー状態となる。
【0030】
なお、従来の暗号処理システムでは、鍵IDと暗号処理ユニットとが1対1で対応しているため、上記ビジー状態で他の暗号処理ユニット(例えば、暗号処理ユニット201 )に暗号化処理を依頼することができない。復号化処理の場合にも同様の問題が発生する。
【0031】
このように、従来の暗号処理システムでは、暗号処理装置10にn枚の暗号処理ユニット200 〜20n が実装されているにもかかわらず、暗号化処理または復号化処理に関する負荷分散を行うことができず、特定の1枚の暗号処理ユニットに暗号化処理または復号化処理が集中する可能性が高いという問題があった。
【0032】
本発明は、上記に鑑みてなされたもので、暗号処理の負荷分散を図ることができる暗号処理装置を提供することを目的とする。
【0033】
【課題を解決するための手段】
上記目的を達成するために、本発明は、暗号化処理もしくは復号化処理を行う第1の暗号処理部と、暗号化処理もしくは復号化処理を行う第2の暗号処理部と、前記第1の暗号処理部および前記第2の暗号処理部を制御する制御部とを有する暗号処理装置であって、前記制御部は、前記第1の暗号処理部に鍵の生成を指示する鍵生成指示手段と、前記鍵生成指示手段の指示に応じて前記第1の暗号処理部から応答された情報に含まれる暗号化鍵を前記第2の暗号処理部へ転送し、該暗号化鍵を復号化して記憶するように指示する鍵記憶指示手段とを備え、前記第1の暗号処理部は、前記鍵生成指示手段から鍵の生成を指示された場合に鍵を生成する鍵生成手段と、前記鍵生成手段によって生成された鍵を予め記憶された第1の鍵を用いて暗号化し、前記暗号化鍵を作成する鍵暗号化手段と、前記暗号化鍵を含む情報を前記制御部へ応答する暗号化鍵応答手段と、前記鍵生成手段によって生成された鍵を記憶する第1の記憶手段とを備え、前記第2の暗号処理部は、前記鍵記憶指示手段から送信された前記暗号化鍵を予め記憶された第2の鍵を用いて復号化する鍵復号化手段と、前記鍵復号化手段によって復号化された鍵を記憶する第2の記憶手段とを備えたことを特徴とする
【0034】
この発明によれば、複数の暗号処理ユニットのうち鍵を生成した暗号処理ユニットは、生成した鍵を暗号化し、暗号化鍵を他の暗号処理ユニットへ配り、他の暗号処理ユニットのそれぞれは、暗号化鍵を復号し、上記暗号処理ユニットで生成された鍵と同一の鍵を保持するようにしたので、複数の暗号処理ユニット間で同一の鍵が共有化され、複数の暗号処理ユニットのうちいずれの暗号処理ユニットでも同一の暗号処理が実行でき、暗号処理の負荷分散を図ることができる。
【0035】
また、本発明は、前記第1の暗号処理部は、前記鍵生成手段によって鍵が生成されるたびに、予め記憶されている第1のカウンタ値をインクリメントすることにより、該鍵に対応する第1のIDを生成する第1のID生成手段をさらに備え、前記暗号化鍵応答手段は、前記第1のID生成手段によって生成された第1のIDと、該第1のIDに対応する鍵を前記鍵暗号化手段が暗号化することにより作成された暗号化鍵とを含む情報を前記制御部へ応答し、前記第2の暗号処理部は、前記鍵復号化手段によって鍵が復号化されるたびに、予め記憶されている第2のカウンタ値をインクリメントすることにより、該鍵に対応する第2のIDを生成する第2のID生成手段と、前記第2のID生成手段によって生成された前記第2のIDを前記制御部へ応答する第2のID応答手段とをさらに備え、前記制御部は、前記暗号化鍵応答手段によって応答された情報に含まれる前記第1のIDと、前記第2のID応答手段によって応答された前記第2のIDとを比較することにより、前記第1の暗号処理部と前記第2の暗号処理部の整合性を確認することを特徴とする
【0036】
この発明によれば、各暗号処理部が鍵と対応付けて生成したIDが一致することを制御部が確認することとしたので、制御部は、IDを指定することにより、全ての暗号処理部に対しても、同じ鍵による暗号化処理もしくは復号化処理を実行させることができる
【0037】
また、本発明は、前記制御部は、前記第1の暗号処理部の処理状態を判断する処理状態判断手段と、前記処理状態判断手段によって前記第1の暗号処理部が暗号化処理もしくは復号化処理を実行中であると判断された場合に、新たな暗号化処理もしくは復号化処理を前記第2の暗号処理部に実行させる暗号処理部選択手段とをさらに備えたことを特徴とする
【0038】
この発明によれば、前記第1の暗号処理部が暗号化処理もしくは復号化処理を実行中の場合は、新たな暗号化処理もしくは復号化処理を前記第2の暗号処理部に実行させることとしたので、新たな暗号化処理もしくは復号化処理の実行完了を早めることができる。
【0039】
【発明の実施の形態】
以下、図面を参照して本発明にかかる暗号処理装置の一実施の形態について詳細に説明する。
【0040】
図1は、本発明にかかる一実施の形態の構成を示すブロック図である。同図には、暗号処理装置100、PCIバス300、ドライバ400および上位装置500から構成された暗号処理システムが図示されている。暗号処理装置100は、セキュリティ保護されたn枚の暗号処理ユニット2000 〜200n を実装しており、外部から入力される平文の暗号化、暗号文の復号化、暗号化/復号化に用いられる鍵の生成等を行う装置である。
【0041】
ドライバ400は、上位装置500からの命令に従って、PCIバス300を介して、暗号処理ユニット2000 〜200n を駆動制御する。上位装置500は、暗号化/復号化用のアプリケーションプログラムを実行するコンピュータ装置であり、鍵の登録、削除、暗号化、復号化等に関する各種命令をドライバ400に対して発行する。
【0042】
暗号処理ユニット2000 〜200n のそれぞれは、ドライバ400の制御の下で、暗号化/復号化に用いられる鍵を生成する機能、鍵を識別するための鍵IDを発行する機能、暗号アルゴリズムにより上記鍵で平文を暗号化する機能、上記鍵で暗号文を復号化する機能に加えて、鍵を共有化する機能や、鍵の整合を採る機能等を備えている。ここで、暗号処理ユニット2000 で生成された鍵は、暗号処理ユニット2001 〜200n に配られる。
【0043】
図2は、図1に示した暗号処理ユニット2000 および2001 の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。同図に示した暗号処理ユニット2000 において、セキュリティガード2010 は、暗号処理ユニット2000 に対する外部からのアタックを検出し、鍵を強制消去する機能を備えている。
【0044】
PCI制御部2020 は、ドライバ400(図1参照)と暗号処理ユニット2000 との通信インタフェースであるPCIバス300を制御する。制御部2030 は、プログラムを実行し各部を制御するMPUや、記憶領域としてのROM、RAM等から構成されている。この制御部2030 の詳細については、後述する。
【0045】
計時部2040 は、リアルタイムクロックであり、必要に応じて鍵生成部2050 へ時刻情報を出力する。鍵生成部2050 は、乱数、時刻情報、積算タイマ等を用いて、ユニークな鍵6000 を生成する。また、鍵生成部2050 は、鍵6000 を識別するための鍵IDを発行しドライバ400へ送信する。
【0046】
RAM2060 は、図3および図4に示した鍵管理テーブル700を格納する。この鍵管理テーブル700には、生成された鍵が鍵IDと対応づけて登録されている。具体的には、鍵管理テーブル700には、例えば、図4に示した鍵情報7001〜7003 が登録されている。これらの鍵情報7001〜7003 は、アドレスのリンクにより、図3に示した鍵情報キュー群を構成しており、鍵ID、鍵(24バイト)、NULL、次アドレス、前アドレスの情報からなる。
【0047】
また、鍵管理テーブル700において、鍵情報が無い状態では、空キュー群が存在する。鍵および鍵IDの登録時には、空キュー群のうちいずれかの空キューに鍵および鍵IDが登録され、鍵情報とされる。
【0048】
ここで、注意すべきは、暗号処理ユニット2000 から上位装置500へは、鍵IDが送信されるのであって、鍵6000 自体は送信されない点である。なお、後述するように、暗号処理ユニット2000 からドライバ400へは、鍵6000 が暗号化された暗号化鍵が送信される。このように、一実施の形態では、前述した従来の暗号処理システムと同様にして、鍵の生成および保持を暗号処理ユニット2000 でクローズさせて、外部に鍵を流出させないことにより、高いセキュリティが維持される。
【0049】
さらに、RAM2060 は、図5に示した鍵シーケンス情報800と同一のフォーマットである鍵シーケンス情報8000(図18参照)を格納している。この鍵シーケンス情報800は、鍵の登録または削除の命令実行に関するシーケンスの履歴に関する情報であり、シーケンス履歴情報801、装置番号802、ユニット番号803および時刻情報804から構成されている。
【0050】
シーケンス履歴情報801は、命令実行時に1インクリメントされるシーケンス番号および履歴(鍵登録または削除、鍵ID)から構成されており、最大四世代分の情報からなる。装置番号802は、当該暗号処理ユニットが実装されている暗号処理装置100(図1参照)を識別するための番号である。ユニット番号803は、当該暗号処理ユニットを識別するための番号である。時刻情報804は、命令が実行された時刻である。
【0051】
図2に戻り、バッテリ2070 は、計時部2040 およびRAM2060 のバックアップ電源である。暗号/復号処理部2080 は、外部からの命令および鍵IDに従って、鍵IDに対応する鍵を用いて、平文を暗号化する機能と、該鍵を用いて、暗号文を復号化する機能とを備えている。また、暗号/復号処理部2080 は、鍵生成部2050 により生成された鍵を暗号化する機能も備えている。
【0052】
暗号処理ユニット2001 は、上述した暗号処理ユニット2000 と同一構成、同一機能を有しており、セキュリティガード2011 、PCI制御部2021 、制御部2031 、計時部2041 、鍵6001 を生成する鍵生成部2051 、RAM2061 、バッテリ2071 および暗号/復号処理部2081 から構成されている。但し、暗号/復号処理部2081 は、鍵6000 が暗号化された暗号化鍵を復号する機能も備えている。
【0053】
なお、その他の暗号処理ユニット(暗号処理ユニット2002(図示略)〜200n )は、上述した暗号処理ユニット2000 および2001 と同一構成、同一機能を有している。
【0054】
つぎに、一実施の形態の動作について、図6〜図17に示したフローチャート、図18〜図20を参照しつつ説明する。図6は、図1に示したドライバ400の動作を説明するフローチャートである。図11は、図1に示した暗号処理ユニット2000 の動作を説明するフローチャートである。図16は、図1に示した暗号処理ユニット2001 〜200n の動作を説明するフローチャートである。
【0055】
図6に示したステップSA1では、ドライバ400は、上位装置500からの暗号化鍵生成命令を受信したか否かを判断し、この場合、判断結果を「No」とする。この暗号化鍵生成命令は、暗号処理ユニット2000 で鍵生成および生成された鍵の暗号化を実行させるための命令である。
【0056】
ステップSA2では、ドライバ400は、上位装置500からの暗号化命令(または復号化命令)とともに鍵IDおよび平文(または暗号文)を受信したか否かを判断し、この場合、判断結果を「No」とする。暗号化命令は、暗号処理ユニット2000 〜200n のうち処理に空きがある暗号処理ユニットで平文の暗号化を実行させるための命令である。一方、復号化命令は、暗号処理ユニット2000 〜200n のうち処理に空きがある暗号処理ユニットで暗号文の復号化を実行させるための命令である。
【0057】
ステップSA3では、ドライバ400は、暗号処理システムが電源投入またはリブートにより起動されたか否かを判断し、この場合、判断結果を「No」とする。以後、ドライバ400は、ステップSA1〜ステップSA3の判断を繰り返す。
【0058】
一方、図11に示したステップSE1では、暗号処理ユニット2000 の制御部2030 (図2参照)は、ドライバ400からの暗号化鍵生成命令を受信したか否かを判断し、この場合、判断結果を「No」とする。ステップSE2では、制御部2030 は、ドライバ400からの暗号化命令または復号化命令を受信したか否かを判断し、この場合、判断結果を「No」とする。
【0059】
ステップSE3では、制御部2030 は、ドライバ400から、後述するシーケンス命令を受信したか否かを判断し、この場合、判断結果を「No」とする。ステップSE4では、制御部2030 は、ドライバ400からの後述する鍵整合命令を受信したか否かを判断し、この場合、判断結果を「No」とする。以後、制御部2030 は、ステップSE1〜ステップSE4の判断を繰り返す。
【0060】
また、図16に示したステップSJ1では、暗号処理ユニット2001 の制御部2031 (図2参照)は、ドライバ400からの暗号化鍵復号化命令、暗号化鍵を受信したか否かを判断し、この場合、判断結果を「No」とする。暗号化鍵復号化命令は、暗号処理ユニット2000 で生成され、ドライバ400経由で配られた暗号化鍵を暗号処理ユニット2001 で復号化させるための命令である。
【0061】
ステップSJ2では、制御部2031 は、ドライバ400からの暗号化命令(または復号化命令)を受信したか否かを判断し、この場合、判断結果を「No」とする。ステップSJ3では、制御部2031 は、ドライバ400からのシーケンス命令を受信したか否かを判断し、この場合、判断結果を「No」とする。
【0062】
ステップSJ4では、制御部2031 は、ドライバ400からの鍵整合命令を受信したか否かを判断し、この場合、判断結果を「No」とする。以後、制御部2031 は、ステップSJ1〜ステップSJ4の判断を繰り返す。なお、他の暗号処理ユニット2002 (図示略)〜200n においても、暗号処理ユニット2001 と同様にして、図16に示したフローチャートに従って処理が実行される。
【0063】
ここで、上位装置500により発行された暗号化鍵生成命令がドライバ400に受信されると、ドライバ400は、図6に示したステップSA1の判断結果を「Yes」とする。ステップSA4では、ドライバ400は、暗号化鍵生成処理を実行する。
【0064】
具体的には、図7に示したステップSB1では、ドライバ400は、ユニット番号0の暗号処理ユニット2000 に対して、暗号化鍵生成命令を発行する。これにより、暗号処理ユニット2000 の制御部2030(図2参照)は、図11に示したステップSE1の判断結果を「Yes」とする。ステップSE5では、暗号化鍵生成処理が実行される。
【0065】
なお、本一実施の形態では、ユニット番号0に対応する暗号処理ユニット2000 における暗号化鍵生成処理について説明したが、他の暗号処理ユニットも同一の構成、機能を有しており、暗号化鍵生成処理を実行することが可能である。
【0066】
具体的には、図12に示したステップSF1では、制御部2030 は、受信された命令を解読し、該命令が暗号化鍵生成命令であることを認識する。ステップSF2では、制御部2030 は、暗号化鍵生成命令のパラメータに異常があるか否かを判断し、この場合、判断結果を「No」とする。
【0067】
ステップSF3では、鍵生成部2050 は、計時部2040 の時刻情報、乱数、積算タイマ等に基づいて、鍵を生成する。ステップSF4では、鍵生成部2050 は、生成された鍵を識別するためのユニークな鍵IDを発行する。なお、この鍵IDは、暗号処理ユニット2000 内で鍵が生成されたり、他の暗号処理ユニットより受信した暗号化鍵を復号する都度、鍵IDカウンタ(図示略)をインクリメントして発行されるものである。
【0068】
ステップSF5では、制御部2030 は、図4に示した鍵管理テーブル700にステップSF3で生成された鍵と、ステップSF4で発行された鍵ID、アドレスを、例えば、鍵情報7003 として登録する。
【0069】
つぎに、制御部2030 は、図5に示した鍵シーケンス情報800と同一のフォーマットの鍵シーケンス情報8000(図18参照)を更新する。具体的には、制御部2030 は、シーケンス履歴情報(シーケンス履歴情報801:図5参照)に1インクリメントしたシーケンス番号、履歴(鍵登録(鍵ID))を追加するとともに、時刻情報(時刻情報804:図5参照)を更新する。
【0070】
図12に戻り、ステップSF6では、暗号/復号処理部2080 は、共通鍵を用いて、ステップSF3で生成された鍵を暗号化する。ステップSF7では、制御部2030 は、ステップSF6で暗号化された暗号化鍵、およびステップSF4で生成された鍵IDをドライバ400へ送信する。
【0071】
ステップSF8では、制御部2030 は、ドライバ400に対して正常終了を通知する。なお、ステップSF2の判断結果が「Yes」である場合、ステップSF9では、制御部2030 は、ドライバ400に対して異常終了を通知する。
【0072】
図7に戻り、ステップSB2では、ドライバ400は、暗号処理ユニット2000 から正常終了の応答があるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSB3では、ドライバ400は、暗号処理ユニット2000 からの暗号化鍵および鍵IDを受信する。
【0073】
ステップSB4では、ドライバ400は、ユニットカウンタCcに1を代入する。このユニットカウンタCcは、暗号化鍵復号化命令の発行先である暗号処理ユニットに対応している。例えば、ユニットカウンタCc=0は、暗号処理ユニット2000 に対応しており、ユニットカウンタCc=nは、暗号処理ユニット200n に対応している。
【0074】
ステップSB5では、ドライバ400は、ユニットカウンタCc(=1)に対応する暗号処理ユニット2001 に対して暗号化鍵復号化命令を発行するとともに、暗号化鍵を送信する。
【0075】
そして、上記暗号化鍵復号化命令および暗号化鍵が暗号処理ユニット2001 に受信されると、制御部2031 (図2参照)は、図16に示したステップSJ1の判断結果を「Yes」とする。ステップSJ5では、暗号化鍵復号化処理が実行される。
【0076】
具体的には、図17に示したステップSK1では、制御部2031 は、受信された命令を解読し、該命令が暗号化鍵復号化命令であることを認識する。ステップSK2では、制御部2031 は、暗号化鍵復号化命令のパラメータに異常があるか否かを判断し、この場合、判断結果を「No」とする。
【0077】
ステップSK3では、暗号/復号処理部2081 は、共通鍵を用いて暗号化鍵を復号する。ステップSK4では、制御部2031 は、鍵管理テーブル(図示略)に鍵情報(復号化された鍵、受信された鍵ID、アドレス)を登録する。なお、鍵IDは、暗号処理ユニット2000 内の鍵生成時の処理(ステップSF4:図12参照)と同様にして、鍵IDカウンタ(図示略)をインクリメントして発行される。
【0078】
つぎに、制御部2031 は、図5に示した鍵シーケンス情報800と同一のフォーマットである鍵シーケンス情報8001(図18参照)を更新する。具体的には、制御部2031 は、シーケンス履歴情報(シーケンス履歴情報801:図5参照)に1インクリメントしたシーケンス番号、履歴(鍵登録(鍵ID))を追加するとともに、時刻情報(時刻情報804:図5参照)を更新する。ステップSK5では、制御部2031 は、復号化された鍵に対応する鍵IDをドライバ400へ送信する。
【0079】
ステップSK6では、制御部2031 は、ドライバ400に対して正常終了を通知する。なお、ステップSK2の判断結果が「Yes」である場合、ステップSK7では、制御部2031 は、ドライバ400に対して異常終了を通知する。
【0080】
図7に戻り、ステップSB6では、ドライバ400は、暗号化鍵復号化命令の発行先の暗号処理ユニット(この場合、暗号処理ユニット2001 )から正常終了の応答があるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSB7では、ドライバ400は、上記暗号処理ユニット(この場合、暗号処理ユニット2001 )より鍵IDを受信する。
【0081】
ステップSB8では、ドライバ400は、ステップSB5で送信された鍵IDと、ステップSB7で受信された鍵IDとが一致するか否かを判断し、この場合、判断結果を「Yes」とする。両鍵IDが一致した場合には、暗号処理ユニット2000 で生成された鍵と同一の鍵が暗号処理ユニット2001 に正常に配られたことを意味する。
【0082】
ステップSB9では、ドライバ400は、ユニットカウンタCcを1インクリメント(1+1=2)とする。ステップSB10では、ドライバ400は、ユニットカウンタCc(=2)が、n(暗号処理ユニットの全数)+1であるか否かを判断し、この場合、判断結果を「No」とする。
【0083】
以後、ステップSB4〜ステップSB10が繰り返され、暗号処理ユニット2002 (図示略)→暗号処理ユニット2003 (図示略)→・・・→暗号処理ユニット200n の順に暗号化鍵復号化命令の発行、暗号化鍵の復号、鍵の登録という一連の処理が実行される。これにより、以後、暗号処理ユニット2000 で生成された鍵が暗号処理ユニット2002 (図示略)〜200n に順次配られる。
【0084】
このように、1つの暗号処理ユニット内で生成された鍵は、必ず他の全ての暗号処理ユニット内にも存在することになる。つまり、いずれの暗号処理ユニットにおいても、保有する鍵が同一である。また、鍵IDは、各暗号処理ユニット内で鍵が登録される都度、鍵IDカウンタをインクリメントして発行されるものである。従って、理論上、同一の鍵についての鍵IDは、いずれの暗号処理ユニットにおいても同一となる。
【0085】
そして、ステップSB10の判断結果が「Yes」になると、ステップSB11では、ドライバ400は、暗号化鍵生成命令の正常終了を上位装置500へ通知する。なお、ステップSB2、ステップSB6またはステップSB8の判断結果が「No」である場合、ステップSB12では、ドライバ400は、上位装置500に対して暗号化鍵生成命令の異常終了を通知する。また、暗号処理ユニット2000 〜200n で同一鍵を順次削除する場合は、鍵削除命令が発行される。
【0086】
ここで、上位装置500により発行された暗号化命令(平文)または復号化命令(暗号文)とともに、鍵IDがドライバ400に受信されると、ドライバ400は、図6に示したステップSA2の判断結果を「Yes」とする。ステップSA5では、ドライバ400は、暗号化/復号化処理を実行する。
【0087】
具体的には、図8に示したステップSC1では、ドライバ400は、ユニットカウンタCcに0を代入する。ステップSC2では、ドライバ400は、ユニットカウンタCc(=0)に対応する暗号処理ユニット(この場合、暗号処理ユニット2000 )の処理に空きがあるか否かを判断する。
【0088】
ここで、暗号処理ユニット2000 で、例えば、別の暗号化処理が実行されていた場合、ドライバ400は、ステップSC2の判断結果を「No」とする。ステップSC3では、ドライバ400は、ユニットカウンタCcを1インクリメント(0+1=1)する。ステップSC4では、ドライバ400は、ユニットカウンタCcが、n+1であるか否かを判断し、この場合、判断結果を「No」とする。
【0089】
ステップSC2では、ドライバ400は、ユニットカウンタCc(=1)に対応する暗号処理ユニット(この場合、暗号処理ユニット2001 )の処理に空きがあるか否かを判断する。ここで、暗号処理ユニット2001 でいずれの処理も実行されていない場合、ドライバ400は、ステップSC2の判断結果を「Yes」とする。
【0090】
ステップSC5では、ドライバ400は、ユニットカウンタCcに対応する暗号処理ユニット(この場合、暗号処理ユニット2001 )に対して、暗号化命令(または復号化命令)を発行するとともに、鍵IDおよび平文(または暗号文)を送信する。
【0091】
そして、暗号化命令(または復号化命令)、鍵IDおよび平文(または暗号文)が暗号処理ユニット2001 に受信されると、暗号処理ユニット2001 の制御部2031(図2参照)は、図16に示したステップSJ2の判断結果を「Yes」とする。ステップSJ6では、暗号化/復号化処理が実行される。
【0092】
具体的には、図13に示したステップSG1では、制御部2031 は、受信された命令を解読し、該命令が暗号化命令(または復号化命令)であることを認識する。
【0093】
ステップSG2では、制御部2031 は、暗号化命令(または復号化命令)のパラメータに異常があるか否かを判断し、この場合、判断結果を「Yes」とする。
【0094】
ステップSG3では、制御部2031 は、RAM2061 の鍵管理テーブル700(図4参照)から、鍵IDに対応する鍵を取得する。ステップSG4では、制御部2031 は、命令が暗号化命令または復号化命令のうちいずれであるかを判断する。
【0095】
命令が暗号化命令である場合、ステップSG5では、制御部2031 は、ステップSG3で取得した当該鍵を用いて平文を暗号化する。ステップSG6では、制御部2031 は、暗号文をドライバ400へ送信する。ステップSG7では、制御部2031 は、ドライバ400に対して、正常終了を通知する。
【0096】
一方、命令が復号化命令である場合、ステップSG8では、制御部2031 は、ステップSG3で取得した当該鍵を用いて暗号文を復号化する。ステップSG9では、制御部2031 は、平文をドライバ400へ送信する。ステップSG7では、制御部2031 は、ドライバ400に対して、正常終了を通知する。
【0097】
図8に戻り、ステップSC6では、ドライバ400は、暗号処理ユニット2001 から正常終了の応答があるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSC7では、ドライバ400は、暗号化命令(または復号化命令)の正常終了を上位装置500へ通知する。
【0098】
一方、図13に示したステップSG2の判断結果が「Yes」である場合、ステップSG10では、制御部2031 は、ドライバ400に対して異常終了を通知する。これにより、ドライバ400は、図8に示したステップSC6の判断結果を「No」とする。ステップSC8では、ドライバ400は、暗号化命令(または復号化命令)の異常終了を上位装置500へ通知する。
【0099】
また、図1に示した暗号処理システムが電源投入またはリブートにより起動されると、ドライバ400は、図6に示したステップSA3の判断結果を「Yes」とする。ステップSA6では、ドライバ400は、暗号処理ユニット2000 〜200n 間で鍵の整合を採るための鍵整合処理を実行する。
【0100】
ここで、暗号処理ユニット2000 〜200n 間で同一の鍵の登録または削除の処理が実行されている最中に、いずれかの暗号処理ユニットで電源異常等が発生した場合には、当該暗号処理ユニットでの鍵登録または削除ができなくなる。
【0101】
この場合には、電源異常が発生した暗号処理ユニットと、その他の暗号処理ユニットとの間では、保持されている鍵に差異が生じる。以下に説明する鍵整合処理は、鍵の差異を是正し、暗号処理ユニット間で保持されている鍵の整合を採るための処理である。
【0102】
具体的には、図9に示したステップSD1では、ドライバ400は、ユニットカウンタCcに0を代入する。ステップSD2では、ドライバ400は、ユニットカウンタCc(=0)に対応する暗号処理ユニット(この場合、暗号処理ユニット2000 )に対してシーケンス命令を発行する。
【0103】
そして、上記シーケンス命令が暗号処理ユニット2000 に受信されると、暗号処理ユニット2000 の制御部2030 は、図11に示したステップSE3の判断結果を「Yes」とする。ステップSE7では、鍵シーケンス情報をドライバ400へ送信するためのシーケンス処理が実行される。
【0104】
具体的には、図14に示したステップSH1では、制御部2030 は、受信された命令を解読し、該命令がシーケンス命令であることを認識する。ステップSH2では、制御部2030 は、シーケンス命令のパラメータに異常があるか否かを判断し、この場合、判断結果を「No」とする。
【0105】
ステップSH3では、制御部2030 は、鍵シーケンス情報8000(図18参照)の時刻情報(時刻情報804:図5参照)を更新する。ステップSH4では、制御部2030 は、鍵シーケンス情報8000 をドライバ400へ送信する。ステップSH5では、制御部2030 は、ドライバ400に対して、正常終了を通知する。なお、ステップSH2の判断結果が「Yes」である場合、ステップSH6では、制御部2030 は、ドライバ400に対して異常終了を通知する。
【0106】
図9に戻り、ステップSD3では、ドライバ400は、暗号処理ユニット2000 からの応答が正常終了であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、ドライバ400は、暗号処理ユニット2000 からの鍵シーケンス情報8000(図18参照)を受信する。
【0107】
ステップSD5では、ドライバ400は、ユニットカウンタCcを1インクリメント(0+1=1)する。ステップSD6では、ドライバ400は、ユニットカウンタCcが、n+1であるか否かを判断し、この場合、判断結果を「No」とする。
【0108】
再び戻って、ステップSD2では、ドライバ400は、ユニットカウンタCc(=1)に対応するつぎの暗号処理ユニット(この場合、暗号処理ユニット2001 )に対してシーケンス命令を発行する。
【0109】
そして、上記シーケンス命令が暗号処理ユニット2001 に受信されると、暗号処理ユニット2001 の制御部2031 は、図16に示したステップSJ3の判断結果を「Yes」とする。ステップSJ7では、鍵シーケンス情報をドライバ400へ送信するためのシーケンス処理が実行される。
【0110】
具体的には、図14に示したステップSH1では、制御部2031 は、受信された命令を解読し、該命令がシーケンス命令であることを認識する。ステップSH2では、制御部2031 は、シーケンス命令のパラメータに異常があるか否かを判断し、この場合、判断結果を「No」とする。
【0111】
ステップSH3では、制御部2031 は、鍵シーケンス情報8001(図18参照)の時刻情報(時刻情報804:図5参照)を更新する。ステップSH4では、制御部2031 は、鍵シーケンス情報8001 をドライバ400へ送信する。ステップSH5では、制御部2031 は、ドライバ400に対して、正常終了を通知する。
【0112】
図9に戻り、ステップSD3では、ドライバ400は、暗号処理ユニット2001 からの応答が正常終了であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、ドライバ400は、暗号処理ユニット2001 からの鍵シーケンス情報8001(図18参照)を受信する。
【0113】
ステップSD5では、ドライバ400は、ユニットカウンタCcを1インクリメント(1+1=2)する。ステップSD6では、ドライバ400は、ユニットカウンタCcが、n+1であるか否かを判断し、この場合、判断結果を「No」とする。以後、ステップSD2〜ステップSD6が繰り返されることにより、ドライバ400は、暗号処理ユニット2002(図示略)〜200n からの鍵シーケンス情報8002(図示略)〜800n(図18参照)を順次受信する。
【0114】
そして、ステップSD6の判断結果が「Yes」になると、ステップSD7では、ドライバ400は、図18に示したように、受信された全ての鍵シーケンス情報8000 〜800n を結合し、結合鍵シーケンス情報900を生成する。
【0115】
図10に示したステップSD8では、ドライバ400は、ユニットカウンタCcに0を代入する。ステップSD9では、ドライバ400は、ユニットカウンタCc(=0)に対応する暗号処理ユニット(この場合、暗号処理ユニット2000 )に対して鍵整合命令を発行するとともに、結合鍵シーケンス情報900(図18参照)を送信する。
【0116】
そして、上記鍵整合命令および結合鍵シーケンス情報900が暗号処理ユニット2000 に受信されると、暗号処理ユニット2000 の制御部2030 は、図11に示したステップSE4の判断結果を「Yes」とする。ステップSE8では、鍵整合処理が実行される。
【0117】
具体的には、図15に示したステップSI1では、制御部2030 は、受信された命令を解読し、該命令が鍵整合命令であることを認識する。ステップSI2では、制御部2030 は、鍵整合命令のパラメータに異常があるか否かを判断し、この場合、判断結果を「No」とする。
【0118】
ステップSI3では、制御部2030 は、結合鍵シーケンス情報900に基づいて、鍵の整合を採る。具体的には、制御部2030 は、図18に示した結合鍵シーケンス情報900における鍵シーケンス情報8000 〜800n 間の「装置番号」(装置番号802:図5参照)、「ユニット番号」(ユニット番号803)、「時刻情報」(時刻情報804)、「シーケンス履歴情報」(シーケンス履歴情報801)について整合性を検証する。
【0119】
「装置番号」については、鍵シーケンス情報8000 〜800n のそれぞれの装置番号が一致するか否かが判断される。一致の場合には、「装置番号」の整合が採られていると判断される。一方、不一致の場合には、エラーと判断される。
【0120】
「ユニット番号」については、鍵シーケンス情報8000 〜800n のそれぞれのユニット番号に重複があるか否かが判断される。重複しない場合には、「ユニット番号」の整合が採られていると判断される。一方、重複する場合には、エラーと判断される。
【0121】
「時刻情報」については、鍵シーケンス情報8000 〜800n のそれぞれの時刻情報のバラツキが一定時間以内(例えば、2分以内)であるか否かが判断される。バラツキが一定時間以内である場合には、「時刻情報の整合が採られていると判断される。一方、バラツキが一定時間を超えた場合には、エラーと判断される。
【0122】
「シーケンス履歴情報」については、自鍵シーケンス情報(この場合、鍵シーケンス情報8000 )を基準として、他鍵シーケンス情報(この場合、鍵シーケンス情報8001 〜800n )との比較で、それぞれの最終のシーケンス番号の差が許容値(例えば、1)であるか否か、および履歴が一致するか否かが判断される。
【0123】
最終のシーケンス番号に差が無く、履歴が一致する場合には、シーケンス履歴情報の整合が採られていると判断される。一方、最終のシーケンス番号の差が許容値を超え、かつ履歴情報が不一致である場合には、エラーと判断される。
【0124】
また、最終のシーケンス番号の差が許容値以内である場合には、鍵シーケンス情報8000 〜800n のうち、鍵の保持数が最も少ないシーケンス情報に合わせるように、情報が調整される。
【0125】
図19には、鍵整合処理の例1が図示されている。同図において、シーケンス履歴情報8010a 、8011a および8012a は、図18に示した鍵シーケンス情報8000 、8001 および800n(n=2)の鍵シーケンス履歴情報に対応している。
【0126】
シーケンス履歴情報8010a を基準とした場合に、シーケンス履歴情報8010a の最終のシーケンス番号(=08)と、シーケンス履歴情報8012a の最終のシーケンス番号(=07)との差が1である。なお、シーケンス履歴情報8010a の最終のシーケンス番号(=08)と、シーケンス履歴情報8011a の最終のシーケンス番号(=08)との差は、0である。
【0127】
この場合には、制御部2030 は、シーケンス番号を00として、鍵ID=4の鍵を鍵管理テーブルから削除する。これにより、鍵の保持数が最も少ない鍵シーケンス情報8012a に合わせるように、鍵シーケンス情報8010a が調整される。なお、シーケンス履歴情報8011a に対応する制御部2031 においても同様の鍵調整が実行される。また、シーケンス履歴情報8012a に対応する制御部においては、シーケンス番号が00に更新されるが、鍵調整が実行されない。
【0128】
図20には、鍵整合処理の例2が図示されている。同図において、シーケンス履歴情報8010b 、8011b および8012b は、図18に示した鍵シーケンス情報8000 、8001 および800n(n=2)のシーケンス履歴情報に対応している。
【0129】
シーケンス履歴情報8010b を基準とした場合に、シーケンス履歴情報8010b の最終のシーケンス番号(=12)と、シーケンス履歴情報8011b およびシーケンス履歴情報8012b の最終のシーケンス番号(=11)との差は、1である。
【0130】
この場合には、制御部2030 は、シーケンス番号12に対する命令が「鍵削除」であることから、シーケンス番号を00に更新するが、鍵調整を実行しない。なお、シーケンス履歴情報8011b に対応する制御部2031 においては、シーケンス番号を00として、鍵ID=3の鍵を鍵管理テーブルから削除する。
【0131】
これにより、鍵の保持数が最も少ない鍵シーケンス情報8010b に合わせるように、鍵シーケンス情報8011b が調整される。また、シーケンス履歴情報8012b に対応する制御部2032 においても、制御部2031 と同様の鍵調整が実行される。
【0132】
図15に戻り、ステップSI4では、制御部2030 は、ステップSI3でエラー(鍵調整不可)となったか否かを判断し、この場合、判断結果を「No」とする。ステップSI5では、制御部2030 は、鍵削除の有無、削除された鍵に対応する鍵IDを含む鍵調整結果情報をドライバ400へ送信する。
【0133】
ステップSI6では、制御部2030 は、ドライバ400に対して、正常終了を通知する。なお、ステップSI2またはステップSI4の判断結果が「Yes」である場合、ステップSI7では、制御部2030 は、ドライバ400に対して、異常終了を通知する。
【0134】
図10に戻り、ステップSD10では、ドライバ400は、暗号処理ユニット2000 から正常終了の応答があるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD11では、ドライバ400は、暗号処理ユニット2000 からの鍵調整結果情報を受信する。
【0135】
ステップSD12では、ドライバ400は、ユニットカウンタCcを1インクリメント(0+1=1)する。ステップSD13では、ドライバ400は、ユニットカウンタCcが、n+1であるか否かを判断し、この場合、判断結果を「No」とする。
【0136】
再び戻って、ステップSD9では、ドライバ400は、ユニットカウンタCc(=1)に対応する暗号処理ユニット(この場合、暗号処理ユニット2001 )に対して鍵整合命令を発行するとともに、結合鍵シーケンス情報900(図18参照)を送信する。
【0137】
そして、上記鍵整合命令および結合鍵シーケンス情報900が暗号処理ユニット2001 に受信されると、暗号処理ユニット2001 の制御部2031 は、図16に示したステップSJ4の判断結果を「Yes」とする。ステップSJ8では、鍵整合処理(図15参照)が実行される。以後、図10に示したステップSD9〜ステップSD13が繰り返されることにより、暗号処理ユニット2002 (図示略)〜200n で鍵整合処理が実行される。
【0138】
そして、ステップSD13の判断結果が「Yes」になると、ステップSD14では、ドライバ400は、鍵調整結果情報を上位装置500へ送信し、鍵調整処理を正常終了とする。一方、ステップSD10の判断結果が「No」である場合、ステップSD15では、ドライバ400は、鍵調整処理を異常終了とする。なお、図11に示したステップSE2の判断結果が「Yes」である場合、ステップSE6では、前述した復号化/暗号化処理(図13参照)が実行される。
【0139】
以上説明したように、一実施の形態によれば、複数の暗号処理ユニット2000 〜200n のうち特定の暗号処理ユニット2000 は、生成した鍵を暗号化し、暗号化鍵を他の暗号処理ユニットへ配り、他の暗号処理ユニット2001 〜200n のそれぞれは、暗号化鍵を復号し、特定の暗号処理ユニット2000 で生成された鍵と同一の鍵を保持するようにしたので、複数の暗号処理ユニット2000 〜200n 間で同一の鍵が共有化され、複数の暗号処理ユニット2000 〜200n のうちいずれの暗号処理ユニットでも同一の暗号処理が実行でき、暗号処理の負荷分散を図ることができる。
【0140】
また、一実施の形態によれば、複数の暗号処理ユニット2000 〜200n のそれぞれで、保持されている鍵の整合を採るようにしたので、同一の鍵の共有処理時における電源異常等に起因する鍵の不整合を是正することができる。
【0141】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0142】
例えば、前述した一実施の形態においては、図1に示したドライバ400、暗号処理装置100、暗号処理ユニット2000 〜200n のそれぞれの機能を実現するためのプログラムを図21に示したコンピュータ読み取り可能な記録媒体1000に記録して、この記録媒体1000に記録されたプログラムを同図に示したコンピュータ901に読み込ませ、実行することにより前述した各機能を実現してもよい。
【0143】
同図に示したコンピュータ901は、上記プログラムを実行するCPU(Central Processing Unit)910と、キーボード、マウス等の入力装置920と、各種データを記憶するROM930と、演算パラメータ等を記憶するRAM940と、記録媒体1000からプログラムを読み取る読取装置950と、ディスプレイ、プリンタ等の出力装置960と、装置各部を接続するバス970とから構成されている。
【0144】
CPU910は、読取装置950を経由して記録媒体1000に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した各機能を実現する。なお、記録媒体1000には、光ディスク、フレキシブルディスク、ハードディスク等の可搬型の記録媒体が含まれる。
【0145】
(付記1)暗号処理を実行する複数の暗号処理ユニットを備え、
前記複数の暗号処理ユニットのうち鍵を生成した暗号処理ユニットは、生成した鍵を暗号化し、暗号化鍵を他の暗号処理ユニットへ配り、
他の暗号処理ユニットのそれぞれは、前記暗号化鍵を復号し、前記暗号処理ユニットで生成された鍵と同一の鍵を保持することを特徴とする暗号処理装置。
(付記2)前記複数の暗号処理ユニットのそれぞれは、保持されている鍵の整合を採る整合手段を備えたことを特徴とする付記1に記載の暗号処理装置。
(付記3)暗号処理を実行する複数の暗号処理ユニットのうち特定の暗号処理ユニットに対して、鍵を生成、生成された鍵を暗号化、暗号化鍵を送信させるための指示を出す暗号化鍵生成指示手段と、
他の暗号処理ユニットに対して、前記暗号化鍵を配り、該暗号化鍵を復号し前記特定の暗号処理ユニットで生成された鍵と同一の鍵を保持させる指示を出す暗号化鍵復号指示手段と、
を備えたことを特徴とする暗号処理ユニット制御装置。
(付記4)前記複数の暗号処理ユニットのそれぞれに対して、保持されている鍵の整合処理を指示する整合処理指示手段を備えたことを特徴とする付記3に記載の暗号処理ユニット制御装置。
(付記5)外部からの鍵生成指示に従って、鍵を生成する鍵生成手段と、
外部からの暗号化鍵生成指示に基づき、他の暗号処理ユニットへ配られる、前記鍵が暗号化された暗号化鍵を生成した後、該暗号化鍵を外部へ送信する暗号化鍵生成手段と、
外部からの暗号化鍵復号指示に基づき、配られた前記暗号化鍵を復号し、生成元の暗号処理ユニットで保持されている鍵と同一の鍵を保持する暗号化鍵復号手段と、
を備えたことを特徴とする暗号処理ユニット。
(付記6)コンピュータを、
暗号処理を実行する複数の暗号処理ユニットのうち特定の暗号処理ユニットに対して、鍵を生成、生成された鍵を暗号化、暗号化鍵を送信させるための指示を出す暗号化鍵生成指示手段、
他の暗号処理ユニットに対して、前記暗号化鍵を配り、該暗号化鍵を復号し前記特定の暗号処理ユニットで生成された鍵と同一の鍵を保持させる指示を出す暗号化鍵復号指示手段、
として機能させるための暗号処理ユニット制御プログラム。
(付記7)コンピュータを、
外部からの鍵生成指示に従って、鍵を生成する鍵生成手段、
外部からの暗号化鍵生成指示に基づき、他の暗号処理ユニットへ配られる、前記鍵が暗号化された暗号化鍵を生成した後、該暗号化鍵を外部へ送信する暗号化鍵生成手段、
外部からの暗号化鍵復号指示に基づき、配られた前記暗号化鍵を復号し、生成元の暗号処理ユニットで保持されている鍵と同一の鍵を保持する暗号化鍵復号手段、
として機能させることを特徴とする暗号処理ユニット用プログラム。
【0146】
【発明の効果】
以上説明したように、本発明によれば、複数の暗号処理ユニットのうち鍵を生成した暗号処理ユニットは、生成した鍵を暗号化し、暗号化鍵を他の暗号処理ユニットへ配り、他の暗号処理ユニットのそれぞれは、暗号化鍵を復号し、上記暗号処理ユニットで生成された鍵と同一の鍵を保持するようにしたので、複数の暗号処理ユニット間で同一の鍵が共有化され、複数の暗号処理ユニットのうちいずれの暗号処理ユニットでも同一の暗号処理が実行でき、暗号処理の負荷分散を図ることができるという効果を奏する。
【0147】
また、本発明によれば、複数の暗号処理ユニットのそれぞれで、保持されている鍵の整合を採るようにしたので、同一の鍵の共有処理時における電源異常等に起因する鍵の不整合を是正することができるという効果を奏する。
【0148】
また、本発明によれば、暗号処理を実行する複数の暗号処理ユニットのうち特定の暗号処理ユニットに対して、鍵を生成、生成された鍵を暗号化、暗号化鍵を送信させるための指示を出し、また、他の暗号処理ユニットに対して、暗号化鍵を配り、該暗号化鍵を復号し特定の暗号処理ユニットで生成された鍵と同一の鍵を保持させる指示を出すようにしたので、複数の暗号処理ユニット間で同一の鍵が共有化され、複数の暗号処理ユニットのうちいずれの暗号処理ユニットでも同一の暗号処理が実行でき、暗号処理の負荷分散を図ることができるという効果を奏する。
【0149】
また、本発明によれば、複数の暗号処理ユニットのそれぞれに対して、保持されている鍵の整合処理を指示するようにしたので、同一の鍵の共有処理時における電源異常等に起因する鍵の不整合を是正することができるという効果を奏する。
【0150】
また、本発明によれば、外部からの暗号化鍵生成指示に基づき、他の暗号処理ユニットへ配られる、鍵が暗号化された暗号化鍵を生成した後、該暗号化鍵を外部へ送信し、外部からの暗号化鍵復号指示に基づき、配られた暗号化鍵を復号し、生成元の暗号処理ユニットで保持されている鍵と同一の鍵を保持するようにしたので、複数の暗号処理ユニットで構成される場合に、複数の暗号処理ユニット間で同一の鍵が共有化され、複数の暗号処理ユニットのうちいずれの暗号処理ユニットでも同一の暗号処理が実行でき、暗号処理の負荷分散を図ることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】図1に示した暗号処理ユニット2000 および2001 の構成を示すブロック図である。
【図3】同一実施の形態で用いられる鍵管理テーブル700の概要を説明する図である。
【図4】同一実施の形態で用いられる鍵管理テーブル700を示す図である。
【図5】同一実施の形態で用いられる鍵シーケンス情報800を示す図である。
【図6】図1に示したドライバ400の動作を説明するフローチャートである。
【図7】図6に示した暗号化鍵生成処理を説明するフローチャートである。
【図8】図6に示した暗号化/復号化処理を説明するフローチャートである。
【図9】図6に示した鍵整合処理を説明するフローチャートである。
【図10】図6に示した鍵整合処理を説明するフローチャートである。
【図11】図1に示した暗号処理ユニット2000 の動作を説明するフローチャートである。
【図12】図11に示した暗号化鍵生成処理を説明するフローチャートである。
【図13】図11および図16に示した暗号化/復号化処理を説明するフローチャートである。
【図14】図11および図16に示したシーケンス処理を説明するフローチャートである。
【図15】図11および図16に示した鍵整合処理を説明するフローチャートである。
【図16】図1に示した暗号処理ユニット2001 〜200n の動作を説明するフローチャートである。
【図17】図16に示した暗号化鍵復号化処理を説明するフローチャートである。
【図18】同一実施の形態で用いられる結合鍵シーケンス情報900を示す図である。
【図19】図15に示した鍵整合処理の例1を示す図である。
【図20】図15に示した鍵整合処理の例2を示す図である。
【図21】同一実施の形態の変形例の構成を示すブロック図である。
【図22】従来の暗号処理システムの構成を示すブロック図である。
【図23】図22に示した暗号処理ユニット200 および201 の構成を示すブロック図である。
【図24】従来の暗号処理システムの鍵生成処理を説明する図である。
【図25】従来の暗号処理システムの暗号化処理を説明する図である。
【図26】従来の暗号処理システムの復号化処理を説明する図である。
【符号の説明】
100 暗号処理装置
2000 〜200n 暗号処理ユニット
2030 、2031 制御部
2050 、2051 鍵生成部
2080 、2081 暗号/復号処理部
400 ドライバ
500 上位装置

Claims (2)

  1. 暗号化処理もしくは復号化処理を行う第1の暗号処理部と、暗号化処理もしくは復号化処理を行う第2の暗号処理部と、前記第1の暗号処理部および前記第2の暗号処理部を制御する制御部とを有する暗号処理装置であって、
    前記制御部は、
    前記第1の暗号処理部に鍵の生成を指示する鍵生成指示手段と、
    前記鍵生成指示手段の指示に応じて前記第1の暗号処理部から応答された情報に含まれる暗号化鍵を前記第2の暗号処理部へ転送し、該暗号化鍵を復号化して記憶するように指示する鍵記憶指示手段とを備え、
    前記第1の暗号処理部は、
    前記鍵生成指示手段から鍵の生成を指示された場合に鍵を生成する鍵生成手段と、
    前記鍵生成手段によって生成された鍵を予め記憶された第1の鍵を用いて暗号化し、前記暗号化鍵を作成する鍵暗号化手段と、
    前記暗号化鍵を含む情報を前記制御部へ応答する暗号化鍵応答手段と、
    前記鍵生成手段によって生成された鍵を記憶する第1の記憶手段とを備え、
    前記第2の暗号処理部は、
    前記鍵記憶指示手段から送信された前記暗号化鍵を予め記憶された第2の鍵を用いて復号化する鍵復号化手段と、
    前記鍵復号化手段によって復号化された鍵を記憶する第2の記憶手段とを備え
    前記制御部は、
    前記第1の暗号処理部の処理状態を判断する処理状態判断手段と、
    前記処理状態判断手段によって前記第1の暗号処理部が暗号化処理もしくは復号化処理を実行中であると判断された場合に、新たな暗号化処理もしくは復号化処理を前記第2の暗号処理部に実行させる暗号処理部選択手段とを含むことを特徴とする暗号処理装置。
  2. 前記第1の暗号処理部は、前記鍵生成手段によって鍵が生成されるたびに、予め記憶されている第1のカウンタ値をインクリメントすることにより、該鍵に対応する第1のIDを生成する第1のID生成手段をさらに備え、
    前記暗号化鍵応答手段は、前記第1のID生成手段によって生成された第1のIDと、該第1のIDに対応する鍵を前記鍵暗号化手段が暗号化することにより作成された暗号化鍵とを含む情報を前記制御部へ応答し、
    前記第2の暗号処理部は、
    前記鍵復号化手段によって鍵が復号化されるたびに、予め記憶されている第2のカウンタ値をインクリメントすることにより、該鍵に対応する第2のIDを生成する第2のID生成手段と、
    前記第2のID生成手段によって生成された前記第2のIDを前記制御部へ応答する第2のID応答手段とをさらに備え、
    前記制御部は、前記暗号化鍵応答手段によって応答された情報に含まれる前記第1のIDと、前記第2のID応答手段によって応答された前記第2のIDとを比較することにより、前記第1の暗号処理部と前記第2の暗号処理部の整合性を確認することを特徴とする請求項1に記載の暗号処理装置。
JP2001388439A 2001-12-20 2001-12-20 暗号処理装置 Expired - Fee Related JP4291970B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001388439A JP4291970B2 (ja) 2001-12-20 2001-12-20 暗号処理装置
US10/101,274 US20030118189A1 (en) 2001-12-20 2002-03-20 Encryption processing apparatus, encryption processing unit control apparatus, encryption processing unit, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001388439A JP4291970B2 (ja) 2001-12-20 2001-12-20 暗号処理装置

Publications (2)

Publication Number Publication Date
JP2003188871A JP2003188871A (ja) 2003-07-04
JP4291970B2 true JP4291970B2 (ja) 2009-07-08

Family

ID=19188153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001388439A Expired - Fee Related JP4291970B2 (ja) 2001-12-20 2001-12-20 暗号処理装置

Country Status (2)

Country Link
US (1) US20030118189A1 (ja)
JP (1) JP4291970B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742845A (en) * 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
JP4103611B2 (ja) * 2003-02-03 2008-06-18 ソニー株式会社 無線アドホック通信システム、端末、その端末における認証方法、暗号化方法及び端末管理方法並びにそれらの方法を端末に実行させるためのプログラム
JP2005173197A (ja) * 2003-12-11 2005-06-30 Buffalo Inc 暗号復号処理システム及び暗号復号処理装置
JP2006099697A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報プログラム保護方法及び装置
JP4658657B2 (ja) * 2005-03-28 2011-03-23 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 記憶システム、情報を記憶装置に記憶させるための方法及び関連する方法並びにコンピュータ・プログラム・プロダクト
JP2006339988A (ja) * 2005-06-01 2006-12-14 Sony Corp ストリーム制御装置、ストリーム暗号化/復号化装置、および、ストリーム暗号化/復号化方法
US7941640B1 (en) * 2006-08-25 2011-05-10 Marvell International Ltd. Secure processors having encoded instructions
JP2008129811A (ja) * 2006-11-20 2008-06-05 Ricoh Co Ltd 暗号処理管理方法、暗号処理管理装置及び暗号処理管理プログラム
JP5050842B2 (ja) * 2007-12-26 2012-10-17 沖電気工業株式会社 暗号化装置、暗号化プログラム、データ提供装置及びデータ提供システム
US20090296926A1 (en) * 2008-06-02 2009-12-03 Sun Microsystems, Inc. Key management using derived keys
JP5146156B2 (ja) * 2008-06-30 2013-02-20 富士通株式会社 演算処理装置
US9444622B2 (en) * 2008-09-15 2016-09-13 Hewlett Packard Enterprise Development Lp Computing platform with system key
US10255463B2 (en) 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture
JP5206866B2 (ja) 2009-03-30 2013-06-12 富士通株式会社 光伝送システム及び光伝送方法
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US9306743B2 (en) * 2012-08-30 2016-04-05 Texas Instruments Incorporated One-way key fob and vehicle pairing verification, retention, and revocation
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US9300464B1 (en) 2013-02-12 2016-03-29 Amazon Technologies, Inc. Probabilistic key rotation
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US20140229732A1 (en) * 2013-02-12 2014-08-14 Amazon Technologies, Inc. Data security service
US10210341B2 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9832171B1 (en) 2013-06-13 2017-11-28 Amazon Technologies, Inc. Negotiating a session with a cryptographic domain
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
JP2016092669A (ja) * 2014-11-07 2016-05-23 Necプラットフォームズ株式会社 情報システム、パーソナルコンピュータ、ドライブ装置、制御方法及びプログラム
US9715462B2 (en) * 2015-04-02 2017-07-25 International Business Machines Corporation Protecting contents of storage
US9798678B2 (en) * 2015-04-02 2017-10-24 International Business Machines Corporation Protecting storage from unauthorized access
US10152612B2 (en) * 2015-09-25 2018-12-11 Intel Corporation Cryptographic operations for secure page mapping in a virtual machine environment
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016277A (en) * 1988-12-09 1991-05-14 The Exchange System Limited Partnership Encryption key entry method in a microcomputer-based encryption system
US5185795A (en) * 1991-02-27 1993-02-09 Motorola, Inc. Authentication of rekey messages in a communication system
US5150408A (en) * 1991-02-27 1992-09-22 Motorola, Inc. Key distribution communication system
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5278905A (en) * 1992-05-13 1994-01-11 At&T Bell Laboratories Method and apparatus for processor base encryption
US5455862A (en) * 1993-12-02 1995-10-03 Crest Industries, Inc. Apparatus and method for encrypting communications without exchanging an encryption key
US6002694A (en) * 1994-02-17 1999-12-14 Hitachi, Ltd. Interactive chargeable communication system with billing system therefor
JP2812312B2 (ja) * 1996-01-12 1998-10-22 三菱電機株式会社 暗号化システム
EP0840476B1 (en) * 1996-10-31 2005-08-17 Matsushita Electric Industrial Co., Ltd. Encrypted communication system that limits the damage caused when a secret key has been leaked
EP0840477B1 (en) * 1996-10-31 2012-07-18 Panasonic Corporation Secret key transfer method which is highly secure and can restrict the damage caused when the secret key is leaked or decoded
US6185308B1 (en) * 1997-07-07 2001-02-06 Fujitsu Limited Key recovery system
WO1999038078A1 (fr) * 1998-01-21 1999-07-29 Tokyo Electron Limited Dispositif de stockage, dispositif de cryptage/decryptage et procede permettant d'acceder a une memoire remanente
EP1018733B1 (en) * 1998-07-22 2003-09-10 Matsushita Electric Industrial Co., Ltd. Digital data recording device and method for protecting copyright and easily reproducing encrypted digital data and computer readable recording medium recording program
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
US7216110B1 (en) * 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
WO2001076136A1 (en) * 2000-03-30 2001-10-11 Sanyo Electric Co., Ltd. Content data storage
US6931131B1 (en) * 2000-11-17 2005-08-16 Youbet.Com, Inc. Method and apparatus for online geographic and user verification and restriction using a GPS system
JP2003069547A (ja) * 2001-08-29 2003-03-07 Fujitsu Ltd マルチキャスト通信システム

Also Published As

Publication number Publication date
JP2003188871A (ja) 2003-07-04
US20030118189A1 (en) 2003-06-26

Similar Documents

Publication Publication Date Title
JP4291970B2 (ja) 暗号処理装置
US9251380B1 (en) Method and storage device for isolating and preventing access to processor and memory used in decryption of text
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
CN101951316B (zh) 操作系统的受保护的网络引导
US7987374B2 (en) Security chip
TW200903215A (en) Program update method and server
WO2000057290A1 (en) Information processor
TW201101039A (en) Method and memory device for performing an operation on data
JP7669309B2 (ja) 量子暗号通信システム、鍵管理装置及び鍵管理方法
CN110889123A (zh) 一种认证方法及密钥对的处理方法、装置与可读存储介质
US8233628B2 (en) Information processing apparatus and information processing method
US8081761B2 (en) Communication encryption processing apparatus
JP2001103045A (ja) 暗号鍵バックアップ記憶装置
JP2019121884A (ja) 集積回路、制御装置、情報配信方法及び情報配信システム
US20210194705A1 (en) Certificate generation method
US8281130B2 (en) Authentication system and authentication object device
JP2001111539A (ja) 暗号鍵生成装置および暗号鍵伝送方法
US8332658B2 (en) Computer system, management terminal, storage system and encryption management method
JP6348273B2 (ja) 情報処理システム
JP2003110544A (ja) 暗復号装置及び方法
JP3810966B2 (ja) 暗号通信センター装置及び暗号通信システム並びに記録媒体
JPH11265318A (ja) 相互認証システム、相互認証方法及び記録媒体
CN113261038A (zh) 保密计算装置以及客户端装置
JP2002261749A (ja) 通信システム
JP2004297755A (ja) 暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090331

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees