JP2012175187A - Key managing apparatus, encryption processing system, computer program, and key managing method - Google Patents

Key managing apparatus, encryption processing system, computer program, and key managing method Download PDF

Info

Publication number
JP2012175187A
JP2012175187A JP2011032518A JP2011032518A JP2012175187A JP 2012175187 A JP2012175187 A JP 2012175187A JP 2011032518 A JP2011032518 A JP 2011032518A JP 2011032518 A JP2011032518 A JP 2011032518A JP 2012175187 A JP2012175187 A JP 2012175187A
Authority
JP
Japan
Prior art keywords
key
password
unit
update
reverse
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.)
Withdrawn
Application number
JP2011032518A
Other languages
Japanese (ja)
Inventor
Hideyuki Sunada
英之 砂田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011032518A priority Critical patent/JP2012175187A/en
Publication of JP2012175187A publication Critical patent/JP2012175187A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To facilitate updating of a key as well as preventing a key for use in encryption processing from being leaked.SOLUTION: A key-and-password generating management apparatus 100 creates password information for generation and management of a key to be used by a business application apparatus 500. A key storing apparatus 200 controls accessing of key information held therein by a password. A password storing apparatus 300 controls accessing of the password information held therein by the password. The key-and-password generating management apparatus 100 creates a key storing password from call information (such as a call stack) of the business application apparatus 500, in which it is difficult for even a manager or developer to obtain the call information, and from the password information, which is input by the manager. The key-and-password generating management apparatus 100 creates a password storing password from the created key information.

Description

この発明は、暗号処理に使用する鍵を管理する鍵管理装置に関する。   The present invention relates to a key management device that manages keys used for cryptographic processing.

アプリケーションプログラムで鍵を管理する方式には、例えば、アプリケーションプログラムのなかに鍵を埋め込む(ハードコーディング)ことにより、外部から鍵を読み出すことができないようにする方式や、アプリケーションプログラムのなかに埋め込んだデータと、管理者が入力する管理パスワードとを合成することにより、鍵を生成する方式がある。また、鍵を管理する鍵管理装置で鍵を管理し、パスワードを使って鍵にアクセスする方式がある。パスワードは、例えば、管理者が入力する方式、アプリケーションプログラムに埋め込む方式、外部ファイルに記述しておきアプリケーションプログラムが読み込む方式などがある。   The key management method in the application program includes, for example, a method in which the key cannot be read from the outside by embedding the key in the application program (hard coding), or data embedded in the application program And a management password input by the administrator are combined to generate a key. In addition, there is a method in which a key is managed by a key management device that manages the key, and the key is accessed using a password. For example, the password may be entered by an administrator, embedded in an application program, or written in an external file and read by an application program.

特開2003−304237号公報JP 2003-304237 A

アプリケーションプログラムに鍵を埋め込む方式は、アプリケーションプログラム自体を更新しなければ、鍵を更新できない。また、アプリケーションプログラムの開発者が鍵を知っているので、内部犯行による情報漏洩の可能性がある。
アプリケーションプログラムに埋め込んだデータと管理パスワードとを合成して鍵を生成する方式は、管理パスワードを変えれば鍵を更新できるが、管理者が知っている管理パスワードが漏洩するなどして、埋め込みデータを知っている開発者が管理パスワードを知った場合などには、やはり情報漏洩の可能性がある。
鍵管理装置が鍵を管理する方式の場合、管理者や開発者がパスワードを知っている場合、鍵管理装置から鍵を読み出す可能性がある。
In the method of embedding a key in an application program, the key cannot be updated unless the application program itself is updated. Moreover, since the application program developer knows the key, there is a possibility of information leakage due to an internal crime.
The method of generating a key by combining the data embedded in the application program and the management password can update the key by changing the management password, but the management password known by the administrator leaks, etc. When a developer who knows knows the management password, there is a possibility of information leakage.
In the case where the key management device manages the key, there is a possibility that the key is read from the key management device if the administrator or developer knows the password.

この発明は、例えば上記のような課題を解決するためになされたものであり、鍵を容易に更新できるとともに、鍵の漏洩を防ぐことを目的とする。   The present invention has been made, for example, in order to solve the above-described problems, and an object thereof is to easily update a key and prevent leakage of the key.

この発明にかかる鍵管理装置は、データを記憶する記憶装置と、データを処理する処理装置と、鍵記憶部と、取得要求入力部と、鍵パスワード算出部と、鍵取得部と、新規鍵生成部と、鍵登録部と、鍵出力部と、更新要求入力部と、更新鍵生成部と、鍵更新部と、更新鍵出力部とを有し、
上記鍵記憶部は、上記記憶装置を用いて、暗号処理に使用する鍵と上記鍵にアクセスするための鍵パスワードとを記憶し、
上記取得要求入力部は、上記処理装置を用いて、取得すべき鍵の管理に使用する管理パスワードを入力し、
上記鍵パスワード算出部は、上記処理装置を用いて、上記取得要求入力部が入力した管理パスワードに基づいて、鍵パスワードを算出し、
上記鍵取得部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵を取得し、
上記新規鍵生成部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、鍵を生成し、
上記鍵登録部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを上記鍵記憶部に記憶させ、
上記鍵出力部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵取得部が取得した鍵を出力し、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵を出力し、
上記更新要求入力部は、上記処理装置を用いて、更新すべき鍵を入力し、
上記更新鍵生成部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、鍵を生成し、
上記鍵更新部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記鍵記憶部に記憶させ、
上記更新鍵出力部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記更新鍵生成部が生成した鍵を出力することを特徴とする。
A key management device according to the present invention includes a storage device that stores data, a processing device that processes data, a key storage unit, an acquisition request input unit, a key password calculation unit, a key acquisition unit, and a new key generation A key registration unit, a key output unit, an update request input unit, an update key generation unit, a key update unit, and an update key output unit,
The key storage unit uses the storage device to store a key used for cryptographic processing and a key password for accessing the key,
The acquisition request input unit uses the processing device to input a management password used for managing a key to be acquired,
The key password calculation unit calculates the key password based on the management password input by the acquisition request input unit using the processing device,
The key acquisition unit acquires the key stored in the key storage unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored in the key storage unit. And
The new key generation unit generates a key using the processing device when the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit,
When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the key registration unit uses the processing device to generate the key generated by the new key generation unit. The key password calculated by the key password calculation unit is stored in the key storage unit,
The key output unit outputs the key acquired by the key acquisition unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored by the key storage unit. When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the processing device is used to output the key generated by the new key generation unit,
The update request input unit inputs a key to be updated using the processing device,
The update key generation unit generates a key using the processing device when the key input by the update request input unit matches the key stored by the key storage unit,
When the key input by the update request input unit matches the key stored by the key storage unit, the key update unit uses the processing device to replace the key stored by the key storage unit, Storing the key generated by the update key generation unit in the key storage unit;
The update key output unit outputs the key generated by the update key generation unit using the processing device when the key input by the update request input unit matches the key stored in the key storage unit. It is characterized by doing.

この発明にかかる鍵管理装置によれば、鍵を容易に更新できるとともに、鍵の漏洩を防ぐことができる。   According to the key management device according to the present invention, the key can be easily updated and the leakage of the key can be prevented.

実施の形態1における暗号処理システム800の全体構成の一例を示すシステム構成図。1 is a system configuration diagram illustrating an example of an overall configuration of a cryptographic processing system 800 according to Embodiment 1. FIG. 実施の形態1における鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600の外観の一例を示す斜視図。FIG. 3 is a perspective view showing an example of the appearance of the key management device 10, the encryption / decryption device 400, the business application device 500, and the client application device 600 in the first embodiment. 実施の形態1における鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600のハードウェア資源の一例を示す図。2 is a diagram illustrating an example of hardware resources of a key management apparatus 10, an encryption / decryption apparatus 400, a business application apparatus 500, and a client application apparatus 600 according to Embodiment 1. FIG. 実施の形態1における暗号処理システム800の初期処理の流れの一例を示すシーケンス図。FIG. 3 is a sequence diagram illustrating an example of an initial processing flow of the cryptographic processing system 800 according to the first embodiment. 実施の形態1におけるキーストアパスワードの作成手順の一例を示す図。FIG. 6 shows an example of a key store password creation procedure in the first embodiment. 実施の形態1におけるキーストアパスワードの作成例を示す図。FIG. 5 is a diagram showing an example of creating a key store password in the first embodiment. 実施の形態1におけるパスワードストアパスワードの作成手順の一例を示す図。FIG. 6 is a diagram illustrating an example of a procedure for creating a password store password in the first embodiment. 実施の形態1におけるパスワードストアパスワードの作成例を示す図。FIG. 5 is a diagram showing an example of creating a password store password in the first embodiment. 実施の形態1における暗号処理システム800の再起動時の処理の流れの一例を示すシーケンス図。FIG. 3 is a sequence diagram illustrating an example of a processing flow when the cryptographic processing system 800 according to the first embodiment is restarted. 実施の形態1における暗号処理システム800の鍵更新時の処理の流れの一例を示すシーケンス図。FIG. 4 is a sequence diagram illustrating an example of a processing flow when updating a key in the cryptographic processing system 800 according to the first embodiment. 実施の形態2における暗号処理システム800の機能ブロックの構成の一例を示すブロック構成図。FIG. 6 is a block configuration diagram illustrating an example of a functional block configuration of a cryptographic processing system 800 according to a second embodiment. 実施の形態2における暗号処理システム800全体の処理の流れの一例を示すフローチャート図。The flowchart figure which shows an example of the flow of a process of the encryption processing system 800 in Embodiment 2 whole. 実施の形態2における鍵管理装置10の処理の詳細な流れの一例を示すフローチャート図。The flowchart figure which shows an example of the detailed flow of a process of the key management apparatus 10 in Embodiment 2. FIG. 実施の形態2における実行装置501の処理の詳細な流れの一例を示すフローチャート図。FIG. 10 is a flowchart showing an example of a detailed flow of processing of the execution device 501 in the second embodiment. 実施の形態3における暗号処理システム800の機能ブロックの構成の一例を示すブロック構成図。FIG. 10 is a block configuration diagram illustrating an example of a functional block configuration of a cryptographic processing system 800 according to a third embodiment. 実施の形態3における暗号処理システム800全体の処理の流れの一例を示すフローチャート図。FIG. 10 is a flowchart showing an example of a processing flow of the entire cryptographic processing system 800 according to the third embodiment. 実施の形態3における鍵管理装置10の処理の詳細な流れの一例を示すフローチャート図。FIG. 10 is a flowchart showing an example of a detailed flow of processing of the key management apparatus 10 in the third embodiment. 実施の形態3における実行装置501の処理の詳細な流れの一例を示すフローチャート図。FIG. 10 is a flowchart showing an example of a detailed flow of processing of the execution device 501 in the third embodiment.

実施の形態1.
実施の形態1について、図1〜図10を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.

図1は、この実施の形態における暗号処理システム800の全体構成の一例を示すシステム構成図である。
暗号処理システム800は、この実施の形態における鍵管理方式を用いたシステムの一例である。
暗号処理システム800は、鍵管理装置10と、業務アプリケーション装置500と、暗号/復号化装置400と、クライアントアプリケーション装置600とを有する。
FIG. 1 is a system configuration diagram showing an example of the overall configuration of the cryptographic processing system 800 in this embodiment.
The cryptographic processing system 800 is an example of a system that uses the key management method in this embodiment.
The cryptographic processing system 800 includes a key management device 10, a business application device 500, an encryption / decryption device 400, and a client application device 600.

鍵管理装置10は、業務アプリケーション装置500が暗号処理に使用する鍵を管理する。鍵管理装置10は、鍵・パスワード生成管理装置100と、キーストア装置200と、パスワードストア装置300とを有する。鍵管理装置10は、API(Apprication Programming Interface)やネットワークなどにより、外部の業務アプリケーション装置500と接続されている。   The key management apparatus 10 manages keys used by the business application apparatus 500 for encryption processing. The key management device 10 includes a key / password generation management device 100, a key store device 200, and a password store device 300. The key management device 10 is connected to an external business application device 500 via an API (Application Programming Interface), a network, or the like.

業務アプリケーション装置500(実行装置)は、業務アプリケーションを実行する装置である。1つの鍵管理装置10に対して、複数の業務アプリケーション装置500がある構成であってもよいし、1つの業務アプリケーション装置500が、複数の業務アプリケーションを実行する構成であってもよい。
業務アプリケーション装置500は、管理者や定義ファイルなどからパスワード情報を取得する。業務アプリケーション装置500(取得要求部)は、渡されたパスワード情報を用いて、鍵管理装置10に対して、情報の暗号/復号化を行う鍵の取得を要求する。業務アプリケーション装置500は、クライアントアプリケーション装置600からの処理要求の延長やその他の処理をする際、鍵・パスワード生成管理装置100から取得した暗号/復号鍵を暗号/復号化装置400に渡して、暗号処理を要求する。
暗号/復号化装置400(暗号処理部)は、業務アプリケーション装置500からの要求に応じて、業務アプリケーション装置500から受け取った鍵を使って、情報の暗号/復号化などの暗号処理を行う。
The business application device 500 (execution device) is a device that executes a business application. There may be a configuration in which there are a plurality of business application devices 500 for one key management device 10, or a configuration in which one business application device 500 executes a plurality of business applications.
The business application apparatus 500 acquires password information from an administrator or a definition file. The business application apparatus 500 (acquisition request unit) requests the key management apparatus 10 to acquire a key for performing encryption / decryption of information using the passed password information. The business application device 500 passes the encryption / decryption key acquired from the key / password generation management device 100 to the encryption / decryption device 400 when extending the processing request from the client application device 600 or performing other processing. Request processing.
The encryption / decryption device 400 (encryption processing unit) performs encryption processing such as encryption / decryption of information using the key received from the business application device 500 in response to a request from the business application device 500.

キーストア装置200(順記憶部)は、鍵を記憶している。キーストア装置200は、例えば、鍵情報を保持するファイルや、ハードウェアデバイスなどである。キーストア装置200が記憶した鍵にアクセスするためには、キーストアパスワード(鍵パスワード)が必要である。キーストア装置200(順記憶部)は、鍵を記憶するにあたり、鍵と一緒にその鍵のキーストアパスワードを記憶する。キーストア装置200(鍵登録部、鍵取得部)は、キーストアパスワードによって、内部に管理する鍵情報の登録/取得/更新/削除のアクセス制御を行う。例えば、キーストア装置200(鍵取得部)は、記憶した鍵の読み出し要求とともにキーストアパスワードを入力し、入力したキーストアパスワードが、記憶したキーストアパスワードと一致した場合のみ、鍵を返す。
パスワードストア装置300(逆記憶部)は、キーストアパスワードを記憶している。パスワードストア装置300は、例えば、パスワード情報を保持するファイルや、ハードウェアデバイスなどである。パスワードストア装置300が記憶したキーストアパスワードにアクセスするためには、パスワードストアパスワード(逆パスワード)が必要である。パスワードストア装置300(逆記憶部)は、キーストアパスワードを記憶するにあたり、キーストアパスワードと一緒にそのキーストアパスワードのパスワードストアパスワードを記憶する。パスワードストア装置300(パスワード登録部、パスワード取得部)は、パスワードストア・パスワードによって内部に管理するパスワード情報の登録/取得/更新/削除のアクセス制御を行う。例えば、パスワードストア装置300(パスワード取得部)は、記憶したキーストアパスワードの読み出し要求とともにパスワードストアパスワードを入力し、入力したパスワードストアパスワードが、記憶したパスワードストアパスワードと一致した場合のみ、キーストアパスワードを返す。
The key store device 200 (order storage unit) stores a key. The key store device 200 is, for example, a file that holds key information, a hardware device, or the like. In order to access the key stored in the key store device 200, a key store password (key password) is required. When storing the key, the key store device 200 (sequential storage unit) stores the key store password of the key together with the key. The key store device 200 (key registration unit, key acquisition unit) performs access control for registration / acquisition / update / deletion of key information managed therein by a key store password. For example, the key store device 200 (key acquisition unit) inputs the key store password together with the stored key read request, and returns the key only when the input key store password matches the stored key store password.
The password store device 300 (reverse storage unit) stores a key store password. The password store device 300 is, for example, a file that holds password information, a hardware device, or the like. In order to access the key store password stored in the password store device 300, a password store password (reverse password) is required. When storing the key store password, the password store device 300 (reverse storage unit) stores the password store password of the key store password together with the key store password. The password store device 300 (password registration unit, password acquisition unit) performs access control for registration / acquisition / update / deletion of password information managed internally by the password store / password. For example, the password store device 300 (password acquisition unit) inputs the password store password together with the read request for the stored key store password, and only when the input password store password matches the stored password store password. return it.

鍵・パスワード生成管理装置100は、業務アプリケーション装置500からの鍵取得要求に対して、キーストア装置200から鍵を取得する。キーストア装置200に鍵がない場合、鍵・パスワード生成管理装置100は、鍵を新規に生成し、生成した鍵をキーストア装置200に登録する。鍵・パスワード生成管理装置100は、取得あるいは生成した鍵を、業務アプリケーション装置500に対して戻す。
鍵・パスワード生成管理装置100は、業務アプリケーション装置500の呼び出し情報とパスワード情報とに基づいて、キーストアパスワードを生成し、キーストア装置200にアクセスする。また、鍵・パスワード生成管理装置100は、鍵情報に基づいて、パスワードストアパスワードを生成し、パスワードストア装置300にアクセスする。
The key / password generation management apparatus 100 acquires a key from the key store apparatus 200 in response to a key acquisition request from the business application apparatus 500. When there is no key in the key store device 200, the key / password generation management device 100 newly generates a key and registers the generated key in the key store device 200. The key / password generation management device 100 returns the acquired or generated key to the business application device 500.
The key / password generation management device 100 generates a key store password based on the call information and password information of the business application device 500 and accesses the key store device 200. Further, the key / password generation management device 100 generates a password store password based on the key information, and accesses the password store device 300.

図2は、この実施の形態における鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600の外観の一例を示す斜視図である。
鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
なお、上記の構成は一例である。鍵管理装置10などは、プリンタ装置906やファクシミリ機932などの出力装置を有さない最小限の構成であってもよい。不要な出力装置がない最小限の構成とすることで、情報漏洩を防止することができる。
FIG. 2 is a perspective view showing an example of the appearance of the key management device 10, the encryption / decryption device 400, the business application device 500, and the client application device 600 in this embodiment.
The key management device 10, the encryption / decryption device 400, the business application device 500, and the client application device 600 are a system unit 910, a display device 901 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard. 902 (Key / Board: K / B), mouse 903, FDD904 (Flexible / Disk / Drive), compact disk device 905 (CDD), printer device 906, scanner device 907, etc. Connected with signal lines.
The system unit 910 is a computer, and is connected to the facsimile machine 932 and the telephone 931 via a cable, and is connected to the Internet 940 via a local area network 942 (LAN) and a gateway 941.
The above configuration is an example. The key management device 10 or the like may have a minimum configuration that does not include an output device such as the printer device 906 or the facsimile machine 932. Information leakage can be prevented by using a minimum configuration without unnecessary output devices.

図3は、この実施の形態における鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600のハードウェア資源の一例を示す図である。
鍵管理装置10及び暗号/復号化装置400及び業務アプリケーション装置500及びクライアントアプリケーション装置600は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904、CDD905などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 3 is a diagram illustrating an example of hardware resources of the key management apparatus 10, the encryption / decryption apparatus 400, the business application apparatus 500, and the client application apparatus 600 in this embodiment.
The key management device 10, encryption / decryption device 400, business application device 500, and client application device 600 are a CPU 911 (Central Processing Unit, Central Processing Unit, Processing Unit, Arithmetic Unit, Microprocessor, Microcomputer that executes a program. , Also referred to as a processor). The CPU 911 is connected to a ROM 913, a RAM 914, a communication device 915, a display device 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer device 906, a scanner device 907, and a magnetic disk device 920 via a bus 912, and the hardware thereof. Control the device. Instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit. A communication device 915, a keyboard 902, a scanner device 907, an FDD 904, a CDD 905, and the like are examples of an input unit and an input device.
Further, the communication device 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication device 915 is connected to a facsimile machine 932, a telephone 931, a LAN 942, and the like. The communication device 915 is not limited to the LAN 942, and may be connected to the Internet 940, a WAN (wide area network) such as ISDN, or the like. When connected to a WAN such as the Internet 940 or ISDN, the gateway 941 is unnecessary.
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータは、「〜ファイル」や「〜データベース」の各項目として磁気ディスク装置920などの不揮発性メモリが記憶し、あるいは、RAM914など揮発性メモリが一時的に記憶する。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores programs that execute functions described as “˜units” in the description of the embodiments described below. The program is read and executed by the CPU 911.
The file group 924 includes information, data, signal values, variable values, and parameters that are described as “determination results of”, “calculation results of”, and “processing results of” in the description of the embodiments described below. Is stored in a nonvolatile memory such as the magnetic disk device 920 as each item of “˜file” and “˜database”, or temporarily stored in a volatile memory such as the RAM 914. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
In addition, the arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals. The data and signal values are the RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the magnetic field. The data is recorded on a recording medium such as a magnetic disk of the disk device 920, another optical disk, a mini disk, and a DVD (Digital Versatile Disk). Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In the description of the embodiments described below, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described below. Alternatively, the procedure or method of “to part” described below is executed by a computer.

図4は、この実施の形態における暗号処理システム800の初期処理の流れの一例を示すシーケンス図である。   FIG. 4 is a sequence diagram showing an example of the initial processing flow of the cryptographic processing system 800 according to this embodiment.

「1:パスワード設定」において、業務アプリケーション装置500(取得要求部)は、管理者または定義ファイルなどからパスワード情報を取得する。
「1.1:鍵取得要求」において、業務アプリケーション装置500(取得要求部)は、取得したパスワード情報を用いて、鍵・パスワード生成管理装置100に対して、鍵取得要求を行う。この際、業務アプリケーション装置500は、鍵・パスワード生成管理装置100に対して、パスワード情報と一緒に、呼び出し情報(文脈)としてコールスタックの情報を渡す。
「1.1.1:キーストアパスワードの生成」において、鍵・パスワード生成管理装置100(鍵パスワード算出部)は、業務アプリケーション装置500からの呼び出し情報(コールスタックなど)とパスワード情報とに基づいて、キーストアパスワードを算出する。
In “1: password setting”, the business application apparatus 500 (acquisition request unit) acquires password information from an administrator or a definition file.
In “1.1: Key acquisition request”, the business application apparatus 500 (acquisition request unit) makes a key acquisition request to the key / password generation management apparatus 100 using the acquired password information. At this time, the business application device 500 passes the call stack information as call information (context) to the key / password generation management device 100 together with the password information.
In “1.1.1: Key store password generation”, the key / password generation management device 100 (key password calculation unit) is based on the call information (call stack or the like) from the business application device 500 and the password information. , Calculate the keystore password.

「1.1.2:鍵取得要求」において、鍵・パスワード生成管理装置100(パスワード算出部)は、キーストア装置200(鍵取得部)に対して、生成したキーストアパスワードを用いて鍵の取得要求を行う。鍵・パスワード生成管理装置100は、キーストア装置200に対して、キーストアパスワードを通知する。なお、鍵・パスワード生成管理装置100は、キーストアパスワードに加えて、例えばエイリアス名をキーストア装置200に対して通知する構成であってもよい。エイリアス名は、1つの鍵管理装置10が鍵を管理する業務アプリケーションが複数ある場合に、業務アプリケーションを区別するためのデータである。鍵・パスワード生成管理装置100は、例えば、業務アプリケーションから渡されるパラメータや、鍵パスワード生成管理装置で呼び出し情報などから生成する値を、エイリアス名として、キーストア装置200に対して通知する。   In “1.1.2: Key acquisition request”, the key / password generation management device 100 (password calculation unit) uses the generated key store password to the key store device 200 (key acquisition unit). Make an acquisition request. The key / password generation management device 100 notifies the key store device 200 of the key store password. Note that the key / password generation management device 100 may be configured to notify the key store device 200 of, for example, an alias name in addition to the key store password. The alias name is data for distinguishing business applications when there are a plurality of business applications for which one key management apparatus 10 manages keys. The key / password generation management device 100 notifies the key store device 200 of, for example, a parameter passed from a business application or a value generated from call information by the key password generation management device as an alias name.

初回起動時など、キーストア装置200(順記憶部)に鍵が登録されていない場合、キーストア装置200(鍵取得部)は、鍵・パスワード生成管理装置100に対して、鍵の取得に失敗したことを通知する。その場合、「1.1.3:鍵生成」において、鍵・パスワード生成管理装置100(新規鍵生成部)は、新規に鍵の生成を行う。
鍵・パスワード生成管理装置100(新規鍵生成部)は、鍵アルゴリズムや鍵長などのパラメータにしたがって、鍵を生成する。鍵・パスワード生成管理装置100は、例えば、設定ファイル等に保持されているパラメータを読み出して鍵を生成する構成であってもよいし、業務アプリケーションから指定されるパラメータを用いて鍵を生成する構成であってもよい。
When the key is not registered in the key store device 200 (sequential storage unit) such as at the first activation, the key store device 200 (key acquisition unit) fails to acquire the key from the key / password generation management device 100. Notify you. In this case, in “1.1.3: Key generation”, the key / password generation management device 100 (new key generation unit) newly generates a key.
The key / password generation management device 100 (new key generation unit) generates a key according to parameters such as a key algorithm and a key length. For example, the key / password generation management device 100 may be configured to read a parameter stored in a setting file or the like to generate a key, or to generate a key using a parameter specified by a business application It may be.

「1.1.4:鍵登録要求」において、鍵・パスワード生成管理装置100(鍵登録部)は、生成した鍵を、同じく生成したキーストアパスワードを用いて、キーストア装置200(順記憶部)に対して登録する。これ以降、この鍵情報にアクセスするには、登録時に設定したキーストアパスワードが必要になる。   In “1.1.4: Key registration request”, the key / password generation management device 100 (key registration unit) uses the generated key store password to generate the key store device 200 (sequential storage unit). ). Thereafter, in order to access this key information, the key store password set at the time of registration is required.

「1.1.5:パスワードストアパスワードの生成」において、鍵・パスワード生成管理装置100(逆パスワード算出部)は、生成した鍵情報に対して符号化を行うことにより、パスワードストアパスワードを算出する。
「1.1.6:パスワード登録要求」において、鍵・パスワード生成管理装置100(パスワード登録部)は、パスワードストア装置300(逆記憶部)に対して、生成したパスワードストア・パスワードを用いてキーストアパスワードを登録する。
In “1.1.5: Password store password generation”, the key / password generation management device 100 (reverse password calculation unit) calculates the password store password by encoding the generated key information. .
In “1.1.6: Password registration request”, the key / password generation management device 100 (password registration unit) uses the generated password store / password to the password store device 300 (reverse storage unit). Register the store password.

この処理の後、鍵・パスワード生成管理装置100(鍵出力部)は、業務アプリケーション装置500に対して、生成した鍵を、鍵取得要求の結果として返す。
業務アプリケーション装置500(暗号鍵記憶部)は、返された鍵を受け取って、オンメモリ(揮発性記憶装置)で保持する。
After this processing, the key / password generation management device 100 (key output unit) returns the generated key to the business application device 500 as a result of the key acquisition request.
The business application device 500 (encryption key storage unit) receives the returned key and holds it in the on-memory (volatile storage device).

「2:処理要求」において、クライアントアプリケーション装置600は、業務アプリケーション装置500に対して、処理を要求する。業務アプリケーション装置500は、要求された処理の実行にあたり暗号化処理が必要な場合、暗号/復号化装置400(暗号処理部)に対して、平文と、オンメモリに保持している鍵とを通知して、暗号化を要求する。暗号/復号化装置400は、通知された鍵を使って、平文を暗号化し、暗号文を返す。   In “2: processing request”, the client application device 600 requests the business application device 500 to perform processing. The business application device 500 notifies the encryption / decryption device 400 (encryption processing unit) of the plain text and the key held in the on-memory when the encryption processing is necessary for executing the requested processing. Request encryption. The encryption / decryption device 400 encrypts the plaintext using the notified key and returns the ciphertext.

「3:処理要求」において、クライアントアプリケーション装置600は、業務アプリケーション装置500に対して、処理を要求する。業務アプリケーション装置500は、要求された処理の実行にあたり復号処理が必要な場合、暗号/復号化装置400(暗号処理部)に対して、暗号文と、オンメモリに保持している鍵とを通知して、復号を要求する。暗号/復号化装置400は、通知された鍵を使って、暗号文を復号し、復号した平文を返す。   In “3: processing request”, the client application device 600 requests the business application device 500 to perform processing. The business application device 500 notifies the encryption / decryption device 400 (encryption processing unit) of the ciphertext and the key held in the on-memory when the decryption processing is necessary for executing the requested processing. And request decryption. The encryption / decryption device 400 decrypts the ciphertext using the notified key and returns the decrypted plaintext.

図5は、この実施の形態におけるキーストアパスワードの作成手順の一例を示す図である。
例えば、鍵・パスワード生成管理装置100(取得要求入力部)は、業務アプリケーション装置500からパスワード701と、呼び出し情報702(コールスタック)とを受け取る。鍵・パスワード生成管理装置100(鍵パスワード算出部)は、受け取ったパスワード701と、呼び出し情報702とを連結した情報(連結データ703)を作成する。鍵・パスワード生成管理装置100(鍵パスワード算出部)は、作成した情報を、一方向性関数を使って、キーストアパスワードとして利用可能な文字列等(キーストアパスワード705)に変換する。例えば、鍵・パスワード生成管理装置100(鍵パスワード算出部)は、この連結した値に対してハッシュ値を取り、それをBase64エンコードするなどの符号化を行い、その結果をキーストアパスワードとする。
FIG. 5 is a diagram showing an example of a procedure for creating a key store password in this embodiment.
For example, the key / password generation management device 100 (acquisition request input unit) receives the password 701 and the call information 702 (call stack) from the business application device 500. The key / password generation management device 100 (key password calculation unit) creates information (concatenated data 703) by concatenating the received password 701 and the call information 702. The key / password generation management device 100 (key password calculation unit) converts the created information into a character string or the like (key store password 705) that can be used as a key store password using a one-way function. For example, the key / password generation management device 100 (key password calculation unit) takes a hash value for the concatenated value, performs encoding such as Base64 encoding, and sets the result as a key store password.

図6は、この実施の形態におけるキーストアパスワードの作成例を示す図である。
パスワード701は、例えば、管理者が業務アプリケーション装置500に入力する。
業務アプリケーション装置500は、例えば、パスワード701を引数として、鍵・パスワード生成管理装置100が提供する鍵管理オブジェクトの鍵取得要求メソッドを呼び出す。このとき、業務アプリケーション装置500には、引数であるパスワード701だけでなく、呼び出し情報702が渡される。
呼び出し情報702(コールスタック)は、例えば、業務アプリケーション装置500が提供するオブジェクトのメソッドがどのような順で呼び出されているかなどを表わすデータである。例えば、この図に示した呼び出し情報702は、クラス「jp.co.mitsubishielectric.key.App」のメソッド「main」が、ソースコード「App.java」の18行目で、クラス「jp.co.mitsubishielectric.key.App」のメソッド「initialize」を呼び出したことを表わしている。更に、この図に示した呼び出し情報702は、呼び出されたメソッド「initialize」が、そのソースコード「App.java」の27行目で、クラス「jp.co.mitsubishielectric.key.KeyManage」のメソッド「getKeyPair」を呼び出したことを表わしている。このように、呼び出し情報702は、業務アプリケーション装置500が実行しているプログラムが自動的に生成するものであり、プログラムの構造によって定まる固有のデータであって、業務アプリケーション装置500の管理者などが任意に設定できるものではない。業務アプリケーション装置500や他の装置が実行する他のプログラムが、鍵取得要求メソッドを呼び出したとすると、異なる呼び出し情報702が鍵・パスワード生成管理装置100に渡される。
連結データ703は、鍵・パスワード生成管理装置100がパスワード701と呼び出し情報702とを連結して生成したデータである。鍵・パスワード生成管理装置100は、例えば、パスワード701を表わす文字列データの後ろに、呼び出し情報702を表わす文字列データを結合して、連結データ703を生成する。
ハッシュ値704は、鍵・パスワード生成管理装置100が連結データ703をハッシュして算出したハッシュ値(16進表記)である。
キーストアパスワード705は、鍵・パスワード生成管理装置100がハッシュ値704をエンコードした文字列データである。
FIG. 6 is a diagram showing an example of creating a key store password in this embodiment.
For example, the administrator inputs the password 701 into the business application apparatus 500.
For example, the business application apparatus 500 calls the key acquisition request method of the key management object provided by the key / password generation management apparatus 100 using the password 701 as an argument. At this time, not only the password 701 as an argument but also the call information 702 is passed to the business application apparatus 500.
The call information 702 (call stack) is data representing, for example, in what order the methods of the objects provided by the business application apparatus 500 are called. For example, in the call information 702 shown in this figure, the method “main” of the class “jp.co.mitsubishielectric.key.App” is the 18th line of the source code “App.java”, and the class “jp.co. This means that the method “initialize” of “mitsubishielectric.key.App” is called. Further, in the call information 702 shown in this figure, the called method “initialize” is the 27th line of the source code “App.java”, and the method “class.jp.co.mithielectricity.key.KeyManager” of the method “ "getKeyPair" is called. As described above, the call information 702 is automatically generated by a program executed by the business application apparatus 500, and is unique data determined by the structure of the program. It cannot be set arbitrarily. If the business application device 500 or another program executed by another device calls the key acquisition request method, different call information 702 is passed to the key / password generation management device 100.
The concatenated data 703 is data generated by concatenating the password 701 and the call information 702 by the key / password generation management device 100. For example, the key / password generation management device 100 combines the character string data representing the call information 702 with the character string data representing the password 701 to generate the concatenated data 703.
The hash value 704 is a hash value (hexadecimal notation) calculated by hashing the concatenated data 703 by the key / password generation management device 100.
The key store password 705 is character string data obtained by encoding the hash value 704 by the key / password generation management device 100.

図7は、この実施の形態におけるパスワードストアパスワードの作成手順の一例を示す図である。
例えば、鍵・パスワード生成管理装置100(逆パスワード算出部)は、一方向性関数を使って、鍵706に対するハッシュ値を生成する。鍵・パスワード生成管理装置100(逆パスワード算出部)は、その結果に対してBase64エンコードを行うことで、パスワードストアパスワード708として利用可能な文字列等に変換する。
FIG. 7 is a diagram showing an example of a procedure for creating a password store password in this embodiment.
For example, the key / password generation management device 100 (reverse password calculation unit) generates a hash value for the key 706 using a one-way function. The key / password generation management device 100 (reverse password calculation unit) converts the result into a character string that can be used as the password store password 708 by performing Base64 encoding on the result.

図8は、この実施の形態におけるパスワードストアパスワードの作成例を示す図である。
鍵706は、例えば、RSA(登録商標)のプライベート鍵(16進表記)である。鍵・パスワード生成管理装置100が鍵706を生成する。
ハッシュ値707は、鍵・パスワード生成管理装置100が鍵706をハッシュして算出したハッシュ値(16進表記)である。
パスワードストアパスワード708は、鍵・パスワード生成管理装置100がハッシュ値707をエンコードした文字列データである。
FIG. 8 is a diagram showing an example of creating a password store password in this embodiment.
The key 706 is, for example, an RSA (registered trademark) private key (in hexadecimal notation). The key / password generation management device 100 generates the key 706.
The hash value 707 is a hash value (hexadecimal notation) calculated by hashing the key 706 by the key / password generation management device 100.
The password store password 708 is character string data obtained by encoding the hash value 707 by the key / password generation management device 100.

図9は、この実施の形態における暗号処理システム800の再起動時の処理の流れの一例を示すシーケンス図である。
再起動などにより、業務アプリケーション装置500のオンメモリ上から鍵が削除された場合、再び鍵・パスワード生成管理装置100から鍵を取得する必要が生じる。
FIG. 9 is a sequence diagram showing an example of the flow of processing when the cryptographic processing system 800 in this embodiment is restarted.
When the key is deleted from the on-memory of the business application apparatus 500 due to restart or the like, it becomes necessary to acquire the key from the key / password generation management apparatus 100 again.

「1:パスワード設定」において、業務アプリケーション装置500(取得要求部)は、管理者などからパスワードを取得する。
「1.1:鍵取得要求」において、業務アプリケーション装置500(取得要求部)は、取得したパスワード情報を用いて、鍵・パスワード生成管理装置100に対して、鍵取得要求を行う。この際、業務アプリケーション装置500は、鍵・パスワード生成管理装置100に対して、パスワード情報と一緒に、呼び出し情報としてコールスタックの情報を渡す。
In “1: password setting”, the business application apparatus 500 (acquisition request unit) acquires a password from an administrator or the like.
In “1.1: Key acquisition request”, the business application apparatus 500 (acquisition request unit) makes a key acquisition request to the key / password generation management apparatus 100 using the acquired password information. At this time, the business application apparatus 500 passes the call stack information as call information to the key / password generation management apparatus 100 together with the password information.

「1.1.1:キーストアパスワードの生成」において、鍵・パスワード生成管理装置100(鍵パスワード算出部)は、業務アプリケーション装置500からの呼び出し情報(コールスタックなど)とパスワード情報とに基づいて、キーストアパスワードを算出する。
業務アプリケーション装置500が鍵・パスワード生成管理装置100に渡すコールスタックは、初期処理のときと同じである。したがって、業務アプリケーション装置500が管理者などから取得したパスワードが初期処理のときと同じであれば、鍵・パスワード生成管理装置100が算出するキーストアパスワードは、初期処理のときと同じになる。
In “1.1.1: Key store password generation”, the key / password generation management device 100 (key password calculation unit) is based on the call information (call stack or the like) from the business application device 500 and the password information. , Calculate the keystore password.
The call stack that the business application apparatus 500 passes to the key / password generation management apparatus 100 is the same as that in the initial processing. Therefore, if the password acquired by the business application device 500 from the administrator or the like is the same as that in the initial processing, the key store password calculated by the key / password generation management device 100 is the same as that in the initial processing.

「1.1.2:鍵取得要求」において、鍵・パスワード生成管理装置100(パスワード算出部)は、キーストア装置200(鍵取得部)に対して、生成したキーストアパスワードを用いて鍵の取得要求を行う。
今回は、キーストア装置200(順記憶部)に登録済の鍵情報がある。キーストア装置200(鍵取得部)は、鍵・パスワード生成管理装置100から通知されたキーストアパスワードが、登録されたキーストアパスワードと一致すれば、登録された鍵を、鍵・パスワード生成管理装置100に対して返す。
鍵・パスワード生成管理装置100(鍵出力部)は、キーストア装置200から取得した鍵を、業務アプリケーション装置500に対して返す。
In “1.1.2: Key acquisition request”, the key / password generation management device 100 (password calculation unit) uses the generated key store password to the key store device 200 (key acquisition unit). Make an acquisition request.
This time, there is registered key information in the key store device 200 (sequential storage unit). If the key store password notified from the key / password generation management device 100 matches the registered key store password, the key store device 200 (key acquisition unit) uses the registered key as the key / password generation management device. Return to 100.
The key / password generation management device 100 (key output unit) returns the key acquired from the key store device 200 to the business application device 500.

図10は、この実施の形態における暗号処理システム800の鍵更新時の処理の流れの一例を示すシーケンス図である。   FIG. 10 is a sequence diagram showing an example of a processing flow at the time of key update in the cryptographic processing system 800 according to this embodiment.

機密の漏洩を防ぐには、鍵を定期的に更新することが望ましい。管理者が鍵を更新すべき時期が来たと判断した場合、業務アプリケーション装置500に対して鍵の更新を要求する。
「1:鍵更新要求」において、業務アプリケーション装置500(更新要求部)は、管理者からの鍵更新要求を受ける。
「1.1:鍵更新要求」において、業務アプリケーション装置500(更新要求部)は、鍵・パスワード生成管理装置100に対して、オンメモリに保持している更新前の古い鍵を通知して、鍵の更新要求を行う。なお、業務アプリケーション装置500は、タイマーなどを用いて鍵を生成・更新してからの経過時間を測定し、所定の期間(例えば一週間や一か月)が経過した場合に、管理者からの要求によらず自動的に、鍵・パスワード生成管理装置100に対して鍵の更新を要求する構成であってもよい。
It is desirable to update the key regularly to prevent leakage of confidential information. If the administrator determines that it is time to update the key, it requests the business application apparatus 500 to update the key.
In “1: Key update request”, the business application apparatus 500 (update request unit) receives a key update request from the administrator.
In “1.1: Key update request”, the business application device 500 (update request unit) notifies the key / password generation management device 100 of the old key before update stored in the on-memory, Request key update. The business application device 500 measures the elapsed time since the key was generated / updated using a timer or the like, and when a predetermined period (for example, one week or one month) has elapsed, The key / password generation management device 100 may automatically request a key update regardless of the request.

業務アプリケーション装置500のコールスタックは、鍵取得要求時と異なる。このため、鍵・パスワード生成管理装置100は、業務アプリケーション装置500からパスワードと呼び出し情報とを受け取ったとしても、初期処理時や再起動時と同じキーストアパスワードを生成することはできない。その代わりとして、鍵・パスワード生成管理装置100は、パスワードストア装置300にアクセスして、キーストアパスワードを入手する。   The call stack of the business application device 500 is different from that at the time of key acquisition request. For this reason, even if the key / password generation management device 100 receives the password and the call information from the business application device 500, it cannot generate the same key store password as that at the time of initial processing or at the time of restart. Instead, the key / password generation management device 100 accesses the password store device 300 to obtain the key store password.

「1.1.1:パスワードストアパスワードの生成」において、鍵・パスワード生成管理装置100(逆パスワード算出部)は、業務アプリケーション装置500から通知された鍵に基づいて、パスワードストアパスワード(逆パスワード)を生成する。業務アプリケーション装置500から通知された鍵が、キーストア装置200(順記憶部)に登録されている古い鍵と同一であれば、鍵・パスワード生成管理装置100が生成するパスワードストアパスワードは、初期処理のときと同じになるから、パスワードストア装置300(逆記憶部)に登録されているパスワードストアパスワードと一致する。
「1.1.2:パスワード取得要求」において、鍵・パスワード生成管理装置100(逆パスワード算出部)は、パスワードストア装置300(パスワード取得部)に対して、生成したパスワードストアパスワードを通知して、パスワードの取得を要求する。パスワードストア装置300(パスワード取得部)は、鍵・パスワード生成管理装置100から通知されたパスワードストアパスワードが、初期処理時に登録されたパスワードストアパスワードと一致すれば、初期処理時に登録されたキーストアパスワードを、鍵・パスワード生成管理装置100に対して返す。鍵・パスワード生成管理装置100は、パスワードストア装置300が返したキーストアパスワードを取得する。これにより、鍵・パスワード生成管理装置100は、初期処理時や再起動時と同じキーストアパスワードを入手する。
In “1.1.1: Password store password generation”, the key / password generation management device 100 (reverse password calculation unit) determines the password store password (reverse password) based on the key notified from the business application device 500. Is generated. If the key notified from the business application device 500 is the same as the old key registered in the key store device 200 (sequential storage unit), the password store password generated by the key / password generation management device 100 is initialized. Therefore, it matches the password store password registered in the password store device 300 (reverse storage unit).
In “1.1.2: Password acquisition request”, the key / password generation management device 100 (reverse password calculation unit) notifies the password store device 300 (password acquisition unit) of the generated password store password. , Request password acquisition. If the password store password notified from the key / password generation management device 100 matches the password store password registered during the initial processing, the password store device 300 (password acquisition unit) registers the key store password registered during the initial processing. Is returned to the key / password generation management device 100. The key / password generation management device 100 acquires the key store password returned by the password store device 300. Thereby, the key / password generation management device 100 obtains the same key store password as that at the time of initial processing or at the time of restart.

「1.1.3:鍵生成」において、鍵・パスワード生成管理装置100(更新鍵生成部)は、更新後の新しい鍵を生成する。
「1.1.4:鍵更新登録要求」において、鍵・パスワード生成管理装置100(更新鍵生成部)は、キーストア装置200に対して、パスワードストア装置300から入手したキーストアパスワードと、生成した更新後の新しい鍵とを通知して、鍵の更新登録を要求する。キーストア装置200(鍵更新部)は、鍵・パスワード生成管理装置100から通知されたキーストアパスワードが、初期処理時に登録されたキーストアパスワードと一致すれば、更新要求を受け入れる。キーストア装置200(順記憶部)は、初期処理時に登録された古い鍵を削除し、その代わりとして、鍵・パスワード生成管理装置100から通知された新しい鍵を記憶する。なお、更新されるのは鍵だけであり、キーストアパスワードは、更新前と変わらず、初期処理時に登録されたキーストアパスワードのままである。
「1.1.5:パスワードストアパスワードの生成」において、鍵・パスワード生成管理装置100(逆パスワード算出部)は、生成した新しい鍵に基づいて、パスワードストアパスワードを生成する。鍵・パスワード生成管理装置100が生成するパスワードストアパスワードは、鍵が更新されたので、更新前のパスワードストアパスワードと異なる。
「1.1.6:パスワード更新登録要求」において、鍵・パスワード生成管理装置100は、パスワードストア装置300に対して、生成したパスワードストアパスワードと、パスワードストア装置300から入力したキーストアパスワードとを通知して、パスワードの更新登録を要求する。パスワードストア装置300(鍵更新部)は、鍵・パスワード生成管理装置100から通知されたキーストアパスワードが、初期処理時に登録されたキーストアパスワードと一致すれば、更新要求を受け入れる。パスワードストア装置300(逆記憶部)は、初期処理時に登録された古いパスワードストアパスワードを削除し、その代わりとして、鍵・パスワード生成管理装置100から通知された新しいパスワードストアパスワードを記憶する。なお、更新されるのはパスワードストアパスワードだけであり、キーストアパスワードは、更新前と変わらず、初期処理時に登録されたキーストアパスワードのままである。
In “1.1.3: Key generation”, the key / password generation management device 100 (update key generation unit) generates a new key after update.
In “1.1.4: Key update registration request”, the key / password generation management device 100 (update key generation unit) generates a key store password obtained from the password store device 300 and generates the key store device 200. The updated new key is notified and a key update registration is requested. The key store device 200 (key update unit) accepts an update request if the key store password notified from the key / password generation management device 100 matches the key store password registered during the initial processing. The key store device 200 (sequential storage unit) deletes the old key registered during the initial processing, and stores the new key notified from the key / password generation management device 100 instead. Note that only the key is updated, and the key store password is the same as that before the update and remains the key store password registered at the initial processing.
In “1.1.5: Password store password generation”, the key / password generation management device 100 (reverse password calculation unit) generates a password store password based on the generated new key. The password store password generated by the key / password generation management device 100 is different from the password store password before the update because the key has been updated.
In “1.1.6: Password update registration request”, the key / password generation management device 100 sends the generated password store password and the key store password input from the password store device 300 to the password store device 300. Notify and request password update registration. The password store device 300 (key update unit) accepts the update request if the key store password notified from the key / password generation management device 100 matches the key store password registered during the initial processing. The password store device 300 (reverse storage unit) deletes the old password store password registered during the initial process, and stores the new password store password notified from the key / password generation management device 100 instead. Note that only the password store password is updated, and the key store password is the same as that before the update and remains the key store password registered at the initial processing.

その後、鍵・パスワード生成管理装置100(更新鍵出力部)は、業務アプリケーション装置500に対して、新しく作成した鍵を返す。
業務アプリケーション装置500(暗号鍵更新部)は、更新された新しい鍵をオンメモリに保持して、暗号処理をする。業務アプリケーション装置500(暗号更新部)は、例えば、既に暗号化したデータを古い鍵を使って復号し、復号した平文を新しい鍵を使って再暗号化するなどの処理を行う。
Thereafter, the key / password generation management device 100 (update key output unit) returns the newly created key to the business application device 500.
The business application apparatus 500 (encryption key update unit) holds the updated new key in the on-memory and performs encryption processing. The business application apparatus 500 (encryption update unit) performs processing such as decrypting already encrypted data using an old key and re-encrypting the decrypted plaintext using a new key.

この実施の形態における暗号処理システム800(鍵管理方式)は、鍵を用いて情報の暗号/復号化を行う暗号/復号化装置400と、内部に管理する鍵情報の登録/取得/更新/削除のアクセス制御をエイリアス名とパスワードによって管理するキーストア装置200と、内部に管理するパスワード情報の登録/取得/更新/削除のアクセス制御をエイリアス名とパスワードによって管理するパスワードストア装置300と、鍵/パスワードの生成および上記装置への情報の登録/取得/更新/削除を行う鍵・パスワード生成管理装置100とを備え、アプリケーション(業務アプリケーション装置500)からの呼び出し情報と管理者(設定ファイル等を含む)からのパスワード情報を組み合わせてキーストア装置用のパスワード(キーストア・パスワード)を生成し、生成した鍵情報を、本キーストアパスワードを用いて登録する。   The cryptographic processing system 800 (key management method) in this embodiment includes an encryption / decryption device 400 that performs encryption / decryption of information using a key, and registration / acquisition / update / deletion of key information managed internally. A key store device 200 that manages access control of a user by using an alias name and password, a password store device 300 that manages access control of registration / acquisition / update / deletion of password information managed internally, and a key / And a key / password generation management device 100 for generating a password and registering / acquiring / updating / deleting information to / from the above-mentioned device, including call information from an application (business application device 500) and an administrator (including a setting file) The password information for the key store device (key) Toa password) to generate, the generated key information, to register using this key store password.

暗号処理システム800は、鍵管理装置10に登録する鍵情報を符号化してパスワードを生成し、キーストアパスワードを管理するパスワードストア装置300のパスワード(パスワードストア・パスワード)として用いる。   The cryptographic processing system 800 generates a password by encoding the key information registered in the key management device 10 and uses it as a password (password store / password) of the password store device 300 that manages the key store password.

これにより、プログラムに埋め込んだ情報など開発者が知る情報を使わないので、管理者および開発者による内部からの不正なアクセスを防ぐことができる。これにより、管理者/開発者からの不正アクセスに対する強度が向上する。また、鍵情報の更新が可能なので、危殆化を防ぐことができる。   As a result, information that the developer knows, such as information embedded in the program, is not used, so that unauthorized access from the inside by the administrator and the developer can be prevented. This improves the strength against unauthorized access from the administrator / developer. Moreover, since the key information can be updated, the compromise can be prevented.

暗号・復号および鍵管理装置10は、業務アプリケーション装置500の利用する鍵の生成および管理用のパスワード情報を作成する鍵・パスワード生成管理装置100と、パスワードにより保持する鍵情報へのアクセス制御を行うキーストア装置200と、パスワードにより保持するパスワード情報へのアクセス制御を行うパスワードストア装置300とを備え、管理者/開発者にも入手が困難な業務アプリケーションの呼び出し情報(コールスタック等)と管理者の入力するパスワード情報からキーストアパスワードを作成することにより、管理者/開発者からの不正アクセスに対する強度を向上させることができる。
また、作成した鍵情報からパスワードストア・パスワードを作成することにより、業務アプリケーションからの鍵の更新要求に応じてキーストア装置内の鍵を更新することができる。
The encryption / decryption and key management apparatus 10 controls access to key / password generation management apparatus 100 that generates password information for generation and management of keys used by the business application apparatus 500 and key information held by the password. A key store device 200 and a password store device 300 that controls access to password information held by a password, call information (call stack, etc.) of business applications that are difficult for an administrator / developer to obtain and an administrator By creating a key store password from the password information entered by the user, the strength against unauthorized access from the administrator / developer can be improved.
Further, by creating a password store / password from the created key information, the key in the key store device can be updated in response to a key update request from the business application.

これにより、情報を暗号/復号化するシステムにおいて、鍵情報の更新を可能にするとともに、管理者/開発者の不正アクセスによる情報漏えいのリスクを低減することが可能となる。   As a result, in the system for encrypting / decrypting information, it is possible to update key information and to reduce the risk of information leakage due to unauthorized access by an administrator / developer.

実施の形態2.
実施の形態2について、図11〜図14を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1, the same code | symbol is attached | subjected and description is abbreviate | omitted.

図11は、この実施の形態における暗号処理システム800の機能ブロックの構成の一例を示すブロック構成図である。   FIG. 11 is a block configuration diagram showing an example of the functional block configuration of the cryptographic processing system 800 in this embodiment.

暗号処理システム800は、例えば、実行装置501と、鍵管理装置10とを有する。
実行装置501は、平文データを入力し、入力した平文データを暗号化して暗号化データを生成し、生成した暗号化データを記憶しておく。実行装置501は、必要に応じて、記憶した暗号化データを復号して、平文データを復元し、復元した平文データ(復元平文データ)を出力する。実行装置501のハードウェア構成は、例えば、図3を用いて説明した鍵管理装置10のハードウェア構成と同様である。
The cryptographic processing system 800 includes, for example, an execution device 501 and a key management device 10.
The execution device 501 inputs plaintext data, encrypts the input plaintext data to generate encrypted data, and stores the generated encrypted data. The execution device 501 decrypts the stored encrypted data as necessary, restores plaintext data, and outputs the restored plaintext data (restored plaintext data). The hardware configuration of the execution device 501 is the same as the hardware configuration of the key management device 10 described with reference to FIG. 3, for example.

鍵管理装置10は、実行装置501が暗号化や復号などの暗号処理に使用する鍵を管理する。
鍵管理装置10は、例えば、鍵記憶部110と、取得要求入力部121と、更新要求入力部122と、応答出力部123と、鍵パスワード算出部131と、鍵取得部132と、鍵生成部133と、応答生成部134と、鍵登録部135と、逆パスワード算出部136と、パスワード取得部137とを有する。
The key management device 10 manages keys used by the execution device 501 for encryption processing such as encryption and decryption.
The key management device 10 includes, for example, a key storage unit 110, an acquisition request input unit 121, an update request input unit 122, a response output unit 123, a key password calculation unit 131, a key acquisition unit 132, and a key generation unit. 133, a response generation unit 134, a key registration unit 135, a reverse password calculation unit 136, and a password acquisition unit 137.

鍵記憶部110は、磁気ディスク装置920(記憶装置)を用いて、鍵管理装置10が管理している鍵を表わす鍵データを記憶している。また、鍵データに対するアクセスを制限するため、鍵記憶部110は、鍵データにアクセスするための鍵パスワードを記憶している。
また、1つの鍵管理装置10が鍵を管理する実行装置501が複数ある場合や、1つの実行装置501が複数の鍵を使用する場合などが想定されるため、鍵管理装置10は、複数の鍵を管理する場合がある。このため、鍵記憶部110は、複数の鍵データを記憶する。それぞれの鍵データを識別するため、鍵記憶部110は、それぞれの鍵の識別データを記憶する。
The key storage unit 110 stores key data representing a key managed by the key management device 10 using a magnetic disk device 920 (storage device). In order to restrict access to key data, the key storage unit 110 stores a key password for accessing key data.
In addition, since it is assumed that there is a plurality of execution devices 501 for managing a key by one key management device 10 or a case where one execution device 501 uses a plurality of keys, the key management device 10 includes a plurality of execution devices 501. May manage keys. For this reason, the key storage unit 110 stores a plurality of key data. In order to identify each key data, the key memory | storage part 110 memorize | stores the identification data of each key.

鍵記憶部110は、順記憶部201と、逆記憶部301とを有する。
順記憶部201は、磁気ディスク装置920(記憶装置)を用いて、鍵を表わす鍵データと、その鍵の鍵パスワードと、その鍵の識別データとを対応づけて記憶する。
逆記憶部301は、磁気ディスク装置920(記憶装置)を用いて、順記憶部201が記憶した鍵パスワードと、その鍵パスワードにアクセスするための逆パスワードと、その鍵パスワードによってアクセスされる鍵の識別データとを対応づけて記憶する。
The key storage unit 110 includes a sequential storage unit 201 and a reverse storage unit 301.
Using the magnetic disk device 920 (storage device), the sequential storage unit 201 stores key data representing a key, a key password for the key, and identification data for the key in association with each other.
The reverse storage unit 301 uses the magnetic disk device 920 (storage device) to store the key password stored in the sequential storage unit 201, the reverse password for accessing the key password, and the key accessed by the key password. The identification data is stored in association with each other.

取得要求入力部121は、CPU911(処理装置)を用いて、実行装置501が通知した鍵取得要求メッセージを入力する。鍵取得要求メッセージは、鍵管理装置10が管理している鍵の取得を要求することを表わす。鍵取得要求メッセージは、取得したい鍵の識別データと、その鍵に対応する管理パスワードとを含む。また、鍵取得要求メッセージは、実行装置501が本物であることを証明するための証明データを含む。これは、実行装置501になりすました偽物に鍵管理装置10が管理する鍵を窃取されないためである。証明データには、例えば、実行装置501に固有の識別データや、公開鍵暗号を利用した署名データなどがある。また、証明データは、取得要求入力部121が入力した鍵取得要求メッセージを実行装置501が通知した文脈を表わす文脈データであってもよい。
ここでいう「文脈」とは、例えば、コンピュータがプログラムを実行する際、サブルーチンや関数、メソッドなどの呼び出し時に、保存しておく戻り先などを表わす情報のことである。すなわち、「文脈」は、実行装置501が実行装置501として機能するために実行しているプログラムの構造によって定まるものであり、偽造することができない。例えば、実行装置501が実行しているプログラム内において、鍵管理装置10は、一つのオブジェクトとして認識され、そのオブジェクトの鍵取得要求メソッドを呼び出すことによって、鍵管理装置10に対する鍵取得要求メッセージが通知される。「文脈」は、プログラム言語の仕様によって、鍵管理装置10に通知される。
このため、文脈データを証明データとして利用すると、単なる識別データを利用する場合と違って、なりすましが困難になる。文脈データを証明データとして利用すると、公開鍵暗号を利用した署名データを利用する場合と違って、計算量が少ないなど、実行装置501が本物であることを証明するためのコストを抑えることができる。
The acquisition request input unit 121 inputs a key acquisition request message notified by the execution device 501 using the CPU 911 (processing device). The key acquisition request message indicates that acquisition of a key managed by the key management apparatus 10 is requested. The key acquisition request message includes identification data of a key to be acquired and a management password corresponding to the key. The key acquisition request message includes certification data for proving that the execution device 501 is genuine. This is because the key managed by the key management device 10 is not stolen by a fake pretending to be the execution device 501. The certification data includes, for example, identification data unique to the execution apparatus 501 and signature data using public key cryptography. Further, the proof data may be context data representing a context in which the execution apparatus 501 has notified the key acquisition request message input by the acquisition request input unit 121.
The “context” here refers to information indicating a return destination to be saved when a computer executes a program or calls a subroutine, function, method, or the like. In other words, the “context” is determined by the structure of the program being executed in order for the execution device 501 to function as the execution device 501, and cannot be forged. For example, in the program executed by the execution device 501, the key management device 10 is recognized as one object, and a key acquisition request message to the key management device 10 is notified by calling a key acquisition request method of the object. Is done. The “context” is notified to the key management apparatus 10 according to the specification of the programming language.
For this reason, when context data is used as proof data, impersonation becomes difficult unlike the case where simple identification data is used. When the context data is used as proof data, unlike the case where signature data using public key cryptography is used, the cost for certifying that the execution device 501 is authentic, such as a small amount of calculation, can be suppressed. .

更新要求入力部122は、CPU911(処理装置)を用いて、実行装置501が通知した鍵更新要求メッセージを入力する。鍵更新要求メッセージは、鍵管理装置10が管理している鍵の更新を要求することを表わす。鍵更新要求メッセージは、更新したい鍵の識別データと、更新前の古い鍵そのものを表わす鍵データとを含む。鍵更新要求メッセージは、証明データを含む必要はない。なぜなら、鍵更新要求メッセージは更新前の鍵データを含むので、鍵更新要求メッセージを通知してきた装置は、更新前の鍵を知っている。鍵の秘密性が守られている限りにおいて、更新前の鍵を知っているのは、実行装置501だけであるから、実行装置501が本物であることを証明する必要はない。   The update request input unit 122 inputs a key update request message notified by the execution device 501 using the CPU 911 (processing device). The key update request message indicates that an update of a key managed by the key management apparatus 10 is requested. The key update request message includes key identification data to be updated and key data representing the old key itself before the update. The key update request message does not need to include certification data. This is because the key update request message includes key data before update, and the device that has notified the key update request message knows the key before update. As long as the confidentiality of the key is protected, only the execution device 501 knows the key before the update, and therefore it is not necessary to prove that the execution device 501 is genuine.

応答出力部123(鍵出力部、更新鍵出力部)は、CPU911(処理装置)を用いて、実行装置501に対して、取得要求入力部121が入力した鍵取得要求メッセージや、更新要求入力部122が入力した鍵更新要求メッセージに対する応答メッセージを出力する。応答メッセージは、鍵の取得や更新が成功したか否かを表わす成否データを含む。また、鍵の取得や更新が成功した場合、応答メッセージは、取得した鍵あるいは更新後の新しい鍵を表わす鍵データを含む。   The response output unit 123 (key output unit, update key output unit) uses the CPU 911 (processing device) to send a key acquisition request message input by the acquisition request input unit 121 to the execution device 501 and an update request input unit. A response message to the key update request message input by 122 is output. The response message includes success / failure data indicating whether acquisition or update of the key is successful. When the key acquisition or update is successful, the response message includes key data representing the acquired key or the new key after update.

鍵パスワード算出部131は、CPU911(処理装置)を用いて、鍵パスワードを算出する。鍵パスワード算出部131は、取得要求入力部121が入力した鍵取得要求メッセージに含まれる管理パスワードと証明データとに基づいて、鍵パスワードを算出する。鍵パスワード算出部131は、例えば、管理パスワードと証明データとを連結し、ハッシュ関数などの一方向性関数を使用して、連結したデータを変換することにより、鍵パスワードを算出する。鍵パスワード算出部131が鍵パスワードを算出するために使用する関数は、衝突困難性と予測困難性とを有する関数であることが望ましい。衝突困難性とは、管理パスワードと証明データとのいずれか一方が1ビットでも異なれば、異なる鍵パスワードが算出されることをいう。また、予測困難性とは、管理パスワードと証明データとのいずれか一方が1ビットでも不明であれば、算出される鍵パスワードを1ビットも予測できないことをいう。   The key password calculation unit 131 uses the CPU 911 (processing device) to calculate the key password. The key password calculation unit 131 calculates a key password based on the management password and the certification data included in the key acquisition request message input by the acquisition request input unit 121. For example, the key password calculation unit 131 concatenates the management password and the proof data, and calculates the key password by converting the concatenated data using a one-way function such as a hash function. The function used by the key password calculation unit 131 to calculate the key password is preferably a function having a collision difficulty and a prediction difficulty. Collision difficulty means that if one of the management password and the certification data is different even by 1 bit, a different key password is calculated. Further, the difficulty of predicting means that if any one of the management password and the certification data is unknown even if it is 1 bit, the calculated key password cannot be predicted even 1 bit.

鍵取得部132は、CPU911(処理装置)を用いて、順記憶部201から鍵データを取得する。鍵取得部132は、順記憶部201が記憶した識別データのなかから、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致するものを探す。一致する識別データがある場合、鍵取得部132は、その識別データに対応づけて順記憶部201が記憶した鍵パスワードと、鍵パスワード算出部131が算出した鍵パスワードとが一致するか否かを判定する。鍵取得部132は、鍵パスワードが一致する場合、その鍵パスワード及び識別データに対応づけて順記憶部201が記憶した鍵データを取得する。それ以外の場合、鍵取得部132は、鍵データの取得に失敗する。   The key acquisition unit 132 acquires key data from the sequential storage unit 201 using the CPU 911 (processing device). The key acquisition unit 132 searches the identification data stored in the sequential storage unit 201 for data that matches the identification data included in the key acquisition request message input by the acquisition request input unit 121. When there is matching identification data, the key acquisition unit 132 determines whether the key password stored in the sequential storage unit 201 in association with the identification data matches the key password calculated by the key password calculation unit 131. judge. When the key passwords match, the key acquisition unit 132 acquires the key data stored in the sequential storage unit 201 in association with the key password and the identification data. In other cases, the key acquisition unit 132 fails to acquire the key data.

鍵生成部133(新規鍵生成部、更新鍵生成部)は、CPU911(処理装置)を用いて、新たな鍵を表わす鍵データを生成する。鍵生成部133が鍵データを生成する場合には、新規登録時と、更新時との2つの場合がある。新規登録時とは、鍵取得部132が鍵データの取得に失敗した場合のうち、順記憶部201が記憶した識別データのなかに、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致する識別データがなかった場合である。更新時については、後述する。   The key generation unit 133 (new key generation unit, update key generation unit) uses the CPU 911 (processing device) to generate key data representing a new key. When the key generation unit 133 generates key data, there are two cases: new registration and update. When newly registering, when the key acquisition unit 132 fails to acquire key data, the identification data stored in the sequential storage unit 201 is included in the key acquisition request message input by the acquisition request input unit 121. This is a case where there is no identification data that matches the identification data. The update time will be described later.

応答生成部134は、CPU911(処理装置)を用いて、応答出力部123が出力する応答メッセージを生成する。鍵取得部132が鍵データを取得した場合、応答生成部134は、鍵取得部132が取得した鍵データを含む応答メッセージを生成する。また、鍵生成部133が鍵データを生成した場合、応答生成部134は、鍵生成部133が生成した鍵データを含む応答メッセージを生成する。それ以外の場合、応答生成部134は、鍵の取得あるいは更新に失敗したことを表わす応答メッセージを生成する。   The response generation unit 134 generates a response message output by the response output unit 123 using the CPU 911 (processing device). When the key acquisition unit 132 acquires key data, the response generation unit 134 generates a response message including the key data acquired by the key acquisition unit 132. When the key generation unit 133 generates key data, the response generation unit 134 generates a response message including the key data generated by the key generation unit 133. In other cases, the response generation unit 134 generates a response message indicating that the key acquisition or update has failed.

鍵登録部135は、CPU911(処理装置)を用いて、順記憶部201に鍵データを登録する。鍵登録部135が鍵データを登録する場合には、新規登録時と更新時との2つの場合がある。新規登録時において、鍵登録部135は、CPU911(処理装置)を用いて、順記憶部201が記憶した識別データのなかから、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致するものを探す。新規登録時とは、鍵取得部132が鍵データの取得に失敗した場合のうち、順記憶部201が記憶した識別データのなかに、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致する識別データがなかった場合であるから、一致する識別データは存在しないはずである。一致する識別データが存在しない場合、鍵生成部133は、鍵生成部133が生成した鍵データと、鍵パスワード算出部131が算出した鍵パスワードと、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとを、順記憶部201に新たに記憶させる。順記憶部201は、磁気ディスク装置920(記憶装置)を用いて、鍵生成部133が生成した鍵データと、鍵パスワード算出部131が算出した鍵パスワードと、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとを対応づけて、新たに記憶する。更新時については、後述する。   The key registration unit 135 registers key data in the sequential storage unit 201 using the CPU 911 (processing device). When the key registration unit 135 registers key data, there are two cases of new registration and update. At the time of new registration, the key registration unit 135 uses the CPU 911 (processing device) to identify the identification data included in the key acquisition request message input by the acquisition request input unit 121 from among the identification data stored by the sequential storage unit 201. Find what matches. When newly registering, when the key acquisition unit 132 fails to acquire key data, the identification data stored in the sequential storage unit 201 is included in the key acquisition request message input by the acquisition request input unit 121. Since there is no identification data that matches the identification data, there should be no matching identification data. When there is no matching identification data, the key generation unit 133 displays the key data generated by the key generation unit 133, the key password calculated by the key password calculation unit 131, and the key acquisition request message input by the acquisition request input unit 121. Is newly stored in the sequential storage unit 201. The sequential storage unit 201 uses the magnetic disk device 920 (storage device) to generate the key data generated by the key generation unit 133, the key password calculated by the key password calculation unit 131, and the key input by the acquisition request input unit 121. The identification data included in the acquisition request message is associated and newly stored. The update time will be described later.

逆パスワード算出部136(旧逆パスワード算出部、新逆パスワード算出部)は、CPU911(処理装置)を用いて、逆パスワードを算出する。例えば、逆パスワード算出部136は、ハッシュ関数などの一方向性関数を使用して、鍵データを変換することにより、逆パスワードを算出する。逆パスワード算出部136が逆パスワードの算出に使用する関数は、鍵パスワード算出部131が鍵パスワードの算出に使用する関数と同一の関数であってもよいし、異なる関数であってもよい。逆パスワード算出部136が逆パスワードの算出に使用する関数は、衝突困難性と予測困難性とを有することが望ましい。
逆パスワード算出部136が逆パスワードを算出する場合には、新規登録時と更新時との2つの場合がある。新規登録時において、逆パスワード算出部136は、CPU911(処理装置)を用いて、鍵登録部135が順記憶部201に記憶させた鍵データに基づいて、逆パスワードを算出する。
更新時において、逆パスワード算出部136は、逆パスワードを2回算出する。1回目は、更新要求入力部122が鍵更新要求メッセージを入力したときである。逆パスワード算出部136(旧逆パスワード算出部)は、CPU911(処理装置)を用いて、更新要求入力部122が入力した鍵更新要求メッセージに含まれる更新前の古い鍵データに基づいて、逆パスワードを算出する。2回目については、後述する。
The reverse password calculation unit 136 (old reverse password calculation unit, new reverse password calculation unit) calculates the reverse password using the CPU 911 (processing device). For example, the reverse password calculation unit 136 calculates a reverse password by converting key data using a one-way function such as a hash function. The function used by the reverse password calculation unit 136 to calculate the reverse password may be the same function as the function used by the key password calculation unit 131 to calculate the key password, or may be a different function. It is desirable that the function used by the reverse password calculation unit 136 to calculate the reverse password has difficulty in collision and difficulty in prediction.
When the reverse password calculation unit 136 calculates the reverse password, there are two cases: new registration and update. At the time of new registration, the reverse password calculation unit 136 uses the CPU 911 (processing device) to calculate a reverse password based on the key data stored in the sequential storage unit 201 by the key registration unit 135.
At the time of update, the reverse password calculation unit 136 calculates the reverse password twice. The first time is when the update request input unit 122 inputs a key update request message. The reverse password calculation unit 136 (old reverse password calculation unit) uses the CPU 911 (processing device) to reverse password based on old key data before update included in the key update request message input by the update request input unit 122. Is calculated. The second time will be described later.

新規登録時において、逆記憶部301は、磁気ディスク装置920(記憶装置)を用いて、鍵登録部135が順記憶部201に記憶させた鍵パスワードと、逆パスワード算出部136が算出した逆パスワードと、取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとを対応づけて記憶する。   At the time of new registration, the reverse storage unit 301 uses the magnetic disk device 920 (storage device) to store the key password stored in the sequential storage unit 201 by the key registration unit 135 and the reverse password calculated by the reverse password calculation unit 136. And the identification data included in the key acquisition request message input by the acquisition request input unit 121 are stored in association with each other.

パスワード取得部137は、CPU911(処理装置)を用いて、鍵記憶部110から鍵パスワードを取得する。逆パスワード算出部136が更新時1回目の逆パスワードを算出した場合、パスワード取得部137は、逆記憶部301が記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致するものを探す。一致する識別データがある場合、パスワード取得部137は、その識別データに対応づけて逆記憶部301が記憶した逆パスワードと、逆パスワード算出部136が算出した逆パスワードとが一致するか否かを判定する。逆パスワードが一致する場合、パスワード取得部137は、その逆パスワード及び識別データに対応づけて逆記憶部301が記憶した鍵パスワードを取得する。それ以外の場合、パスワード取得部137は、鍵パスワードの取得に失敗する。   The password acquisition unit 137 acquires a key password from the key storage unit 110 using the CPU 911 (processing device). When the reverse password calculation unit 136 calculates the first reverse password at the time of update, the password acquisition unit 137 adds the key update request message input by the update request input unit 122 from the identification data stored in the reverse storage unit 301. Look for a match with the included identification data. When there is matching identification data, the password acquisition unit 137 determines whether the reverse password stored in the reverse storage unit 301 in association with the identification data matches the reverse password calculated by the reverse password calculation unit 136. judge. When the reverse passwords match, the password acquisition unit 137 acquires the key password stored in the reverse storage unit 301 in association with the reverse password and the identification data. In other cases, the password acquisition unit 137 fails to acquire the key password.

更新時において、パスワード取得部137が鍵パスワードを取得した場合、鍵生成部133(更新鍵生成部)は、CPU911(処理装置)を用いて、更新後の新しい鍵データを生成する。
鍵登録部135(鍵更新部)は、CPU911(処理装置)を用いて、順記憶部201が記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致するものを探す。順記憶部201は、逆記憶部301と同じ識別データを記憶しているので、一致する識別データがあるはずである。一致する識別データがある場合、鍵登録部135(鍵更新部)は、その識別データに対応づけて順記憶部201が記憶した鍵パスワードと、パスワード取得部137が取得した鍵パスワードとが一致するか否かを判定する。順記憶部201は、逆記憶部301と同じ鍵パスワードを同じ識別データに対応づけて記憶しているので、鍵パスワードは一致するはずである。鍵パスワードが一致する場合、鍵登録部135(鍵更新部)は、その鍵パスワード及び識別データに対応づけて順記憶部201が記憶した鍵データに代えて、鍵生成部133が生成した更新後の新しい鍵データを、順記憶部201に記憶させる。
順記憶部201は、磁気ディスク装置920(記憶装置)を用いて、鍵パスワード及び識別データはそのままにして、鍵データだけを鍵生成部133が生成した鍵データに置き換えて、その鍵パスワード及び識別データに対応づけて記憶する。
逆パスワード算出部136(新逆パスワード算出部)は、CPU911(処理装置)を用いて、更新時2回目の逆パスワードを算出する。逆パスワード算出部136(新逆パスワード算出部)は、鍵登録部135(鍵更新部)が順記憶部201に登録した更新後の新しい鍵データに基づいて、逆パスワードを算出する。
逆記憶部301(鍵更新部)は、CPU911(処理装置)を用いて、記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データに一致するものを探す。パスワード取得部137が鍵パスワードを取得しているので、一致する識別データがあるはずである。一致する識別データがある場合、逆記憶部301は、CPU911(処理装置)を用いて、その識別データに対応づけて記憶した鍵パスワードと、鍵登録部135が順記憶部201に記憶させた鍵パスワードとが一致するか否かを判定する。鍵登録部135が順記憶部201に記憶させた鍵パスワードは、パスワード取得部137が逆記憶部301から取得したものなので、鍵パスワードは一致するはずである。鍵パスワードが一致する場合、逆記憶部301は、磁気ディスク装置920(記憶装置)を用いて、その鍵パスワード及び識別データに対応づけて記憶した逆パスワードに代えて、逆パスワード算出部136(新逆パスワード算出部)が算出した更新後の新しい逆パスワードを記憶する。逆記憶部301は、記憶した鍵パスワード及び識別データはそのままにして、逆パスワードだけを逆パスワード算出部136(新逆パスワード算出部)が算出した更新後の新しい逆パスワードに置き換えて、その鍵パスワード及び識別データに対応づけて記憶する。
When the password acquisition unit 137 acquires the key password at the time of update, the key generation unit 133 (update key generation unit) generates new updated key data using the CPU 911 (processing device).
The key registration unit 135 (key update unit) uses the CPU 911 (processing device) to identify the identification data included in the key update request message input by the update request input unit 122 from the identification data stored in the sequential storage unit 201. Find what matches. Since the sequential storage unit 201 stores the same identification data as the reverse storage unit 301, there should be matching identification data. When there is matching identification data, the key registration unit 135 (key update unit) matches the key password stored in the sequential storage unit 201 in association with the identification data and the key password acquired by the password acquisition unit 137. It is determined whether or not. Since the sequential storage unit 201 stores the same key password as the reverse storage unit 301 in association with the same identification data, the key passwords should match. If the key passwords match, the key registration unit 135 (key update unit) replaces the key data stored in the sequential storage unit 201 in association with the key password and the identification data, after the update generated by the key generation unit 133 The new key data is stored in the sequential storage unit 201.
The sequential storage unit 201 uses the magnetic disk device 920 (storage device), replaces only the key data with the key data generated by the key generation unit 133 without changing the key password and the identification data, and the key password and the identification data. Store it in association with the data.
The reverse password calculation unit 136 (new reverse password calculation unit) uses the CPU 911 (processing device) to calculate the second reverse password at the time of update. The reverse password calculation unit 136 (new reverse password calculation unit) calculates a reverse password based on the updated new key data registered in the sequential storage unit 201 by the key registration unit 135 (key update unit).
The reverse storage unit 301 (key update unit) uses the CPU 911 (processing device) to match the identification data included in the key update request message input by the update request input unit 122 from the stored identification data. look for. Since the password acquisition unit 137 has acquired the key password, there should be matching identification data. When there is matching identification data, the reverse storage unit 301 uses the CPU 911 (processing device) to store the key password stored in association with the identification data and the key stored by the key registration unit 135 in the sequential storage unit 201. Determine whether the password matches. Since the key password stored in the sequential storage unit 201 by the key registration unit 135 is acquired from the reverse storage unit 301 by the password acquisition unit 137, the key passwords should match. When the key passwords match, the reverse storage unit 301 uses the magnetic disk device 920 (storage device) to replace the reverse password stored in association with the key password and the identification data, and the reverse password calculation unit 136 (new The updated new reverse password calculated by the reverse password calculation unit) is stored. The reverse storage unit 301 replaces only the reverse password with the updated new reverse password calculated by the reverse password calculation unit 136 (new reverse password calculation unit) without changing the stored key password and identification data. And stored in association with the identification data.

実行装置501は、例えば、取得要求部510と、更新要求部520と、応答取得部531と、暗号鍵記憶部532と、暗号処理部540とを有する。   The execution device 501 includes, for example, an acquisition request unit 510, an update request unit 520, a response acquisition unit 531, an encryption key storage unit 532, and an encryption processing unit 540.

取得要求部510は、実行装置501の起動時などに、鍵管理装置10に対して、鍵取得要求メッセージを通知する。取得要求部510は、例えば、管理パスワード取得部511と、取得要求生成部512と、取得要求通知部513とを有する。
管理パスワード取得部511は、CPU911(実行処理装置)を用いて、管理パスワードを取得する。例えば、管理パスワード取得部511は、管理者がキーボード902などを操作することにより実行装置501に入力した管理パスワードを取得する。あるいは、管理パスワード取得部511は、設定ファイルを読み込んで、設定ファイルに記録された管理パスワードを取得する。
取得要求生成部512は、CPU911(実行処理装置)を用いて、鍵取得要求メッセージを生成する。取得要求生成部512が生成する鍵取得要求メッセージは、管理パスワード取得部511が取得した管理パスワードを含む。また、取得要求生成部512が生成する鍵取得要求メッセージは、文脈データなどの証明データを含む。更に、取得要求生成部512が生成する鍵取得要求メッセージは、実行装置501(または、取得すべき鍵)を識別する識別データを含む。なお、鍵管理装置10に鍵が登録されていない場合は、鍵管理装置10が鍵を生成する。このため、取得要求生成部512が生成する鍵取得要求メッセージは、更に、鍵アルゴリズムや鍵長など鍵生成に必要なパラメータを含む構成であってもよい。
取得要求通知部513は、CPU911(実行処理装置)を用いて、取得要求生成部512が生成した鍵取得要求メッセージを、鍵管理装置10に対して通知する。
The acquisition request unit 510 notifies the key management device 10 of a key acquisition request message when the execution device 501 is activated. The acquisition request unit 510 includes, for example, a management password acquisition unit 511, an acquisition request generation unit 512, and an acquisition request notification unit 513.
The management password acquisition unit 511 acquires a management password using the CPU 911 (execution processing device). For example, the management password acquisition unit 511 acquires the management password input to the execution apparatus 501 by the administrator operating the keyboard 902 or the like. Alternatively, the management password acquisition unit 511 reads the setting file and acquires the management password recorded in the setting file.
The acquisition request generation unit 512 generates a key acquisition request message using the CPU 911 (execution processing device). The key acquisition request message generated by the acquisition request generation unit 512 includes the management password acquired by the management password acquisition unit 511. Further, the key acquisition request message generated by the acquisition request generation unit 512 includes proof data such as context data. Furthermore, the key acquisition request message generated by the acquisition request generation unit 512 includes identification data for identifying the execution device 501 (or the key to be acquired). If no key is registered in the key management device 10, the key management device 10 generates a key. For this reason, the key acquisition request message generated by the acquisition request generation unit 512 may further include parameters necessary for key generation, such as a key algorithm and a key length.
The acquisition request notification unit 513 notifies the key management device 10 of the key acquisition request message generated by the acquisition request generation unit 512 using the CPU 911 (execution processing device).

更新要求部520は、鍵管理装置10に対して、鍵更新要求メッセージを通知する。更新要求部520は、例えば、更新判定部521と、更新要求生成部522と、更新要求通知部523とを有する。
更新判定部521は、CPU911(実行処理装置)を用いて、鍵を更新すべきか否かを判定する。例えば、更新判定部521は、磁気ディスク装置920(不揮発性記憶装置)を用いて、鍵を更新した日付を記憶しておく。更新判定部521は、記憶した日付と、今の日付とを比較して、所定の日数が経過したとき、鍵を更新すべきと判定する。あるいは、更新判定部521は、管理者がキーボード902などを操作することにより鍵を更新すべきことを実行装置501に入力した場合に、鍵を更新すべきと判定する。
更新要求生成部522は、鍵を更新すべきと更新判定部521が判定した場合、CPU911(実行処理装置)を用いて、鍵更新要求メッセージを生成する。更新要求生成部522が生成する鍵更新要求メッセージは、暗号鍵記憶部532が記憶した鍵データを含む。また、更新要求生成部522が生成する鍵更新要求メッセージは、実行装置501(または、更新すべき鍵)を識別する識別データを含む。
更新要求通知部523は、CPU911(実行処理装置)を用いて、更新要求生成部522が生成した鍵更新要求メッセージを、鍵管理装置10に対して通知する。
The update request unit 520 notifies the key management device 10 of a key update request message. The update request unit 520 includes, for example, an update determination unit 521, an update request generation unit 522, and an update request notification unit 523.
The update determination unit 521 uses the CPU 911 (execution processing device) to determine whether or not the key should be updated. For example, the update determination unit 521 stores the date when the key is updated using the magnetic disk device 920 (nonvolatile storage device). The update determination unit 521 compares the stored date with the current date, and determines that the key should be updated when a predetermined number of days have elapsed. Alternatively, the update determination unit 521 determines that the key should be updated when the administrator inputs to the execution device 501 that the key should be updated by operating the keyboard 902 or the like.
When the update determination unit 521 determines that the key should be updated, the update request generation unit 522 generates a key update request message using the CPU 911 (execution processing device). The key update request message generated by the update request generation unit 522 includes the key data stored in the encryption key storage unit 532. Further, the key update request message generated by the update request generation unit 522 includes identification data for identifying the execution device 501 (or the key to be updated).
The update request notification unit 523 notifies the key management device 10 of the key update request message generated by the update request generation unit 522 using the CPU 911 (execution processing device).

応答取得部531(暗号鍵取得部、暗号鍵更新部)は、CPU911を用いて、取得要求部510が通知した鍵取得要求メッセージや、更新要求部520が通知した鍵更新要求メッセージに対する応答として、鍵管理装置10が出力した応答メッセージを取得する。取得した応答メッセージが、鍵の取得あるいは更新に成功したことを表わし、鍵データを含む場合、応答取得部531は、CPU911(実行処理装置)を用いて、応答メッセージに含まれる鍵データを、暗号鍵記憶部532に記憶させる。
暗号鍵記憶部532は、RAM914(揮発性記憶装置)を用いて、応答取得部531が取得した応答メッセージに含まれる鍵データを記憶する。なお、1つの実行装置501が複数の鍵を使用する場合、暗号鍵記憶部532は、複数の鍵データを記憶する。複数の鍵は、識別データによって区別される。暗号鍵記憶部532は、取得要求部510が生成した鍵取得要求メッセージや更新要求部520が生成した鍵更新要求メッセージに含まれる識別データと、それに対する応答である応答メッセージに含まれる鍵データとを対応づけて記憶する。
The response acquisition unit 531 (encryption key acquisition unit, encryption key update unit) uses the CPU 911 as a response to the key acquisition request message notified by the acquisition request unit 510 or the key update request message notified by the update request unit 520. The response message output by the key management apparatus 10 is acquired. When the acquired response message indicates that the key has been successfully acquired or updated and includes key data, the response acquisition unit 531 uses the CPU 911 (execution processing device) to encrypt the key data included in the response message. It is stored in the key storage unit 532.
The encryption key storage unit 532 stores the key data included in the response message acquired by the response acquisition unit 531 using the RAM 914 (volatile storage device). When one execution device 501 uses a plurality of keys, the encryption key storage unit 532 stores a plurality of key data. The plurality of keys are distinguished by identification data. The encryption key storage unit 532 includes identification data included in the key acquisition request message generated by the acquisition request unit 510 and the key update request message generated by the update request unit 520, and key data included in a response message as a response thereto. Are stored in association with each other.

暗号処理部540は、CPU911(実行処理装置)を用いて、暗号鍵記憶部532が記憶した鍵データを使用して、暗号処理をする。暗号処理部540は、例えば、平文入力部541と、暗号化部401と、暗号記憶部542と、復号部402と、平文出力部543とを有する。   The encryption processing unit 540 uses the CPU 911 (execution processing device) to perform encryption processing using the key data stored in the encryption key storage unit 532. The encryption processing unit 540 includes, for example, a plaintext input unit 541, an encryption unit 401, an encryption storage unit 542, a decryption unit 402, and a plaintext output unit 543.

平文入力部541は、CPU911(実行処理装置)を用いて、実行装置501が暗号化して記憶すべき平文データを入力する。
暗号化部401は、CPU911(実行処理装置)を用いて、暗号鍵記憶部532が記憶した鍵データを使用して、平文入力部541が入力した平文データを暗号化し、暗号化データを生成する。
暗号記憶部542は、磁気ディスク装置920(不揮発性記憶装置)を用いて、暗号化部401が暗号化した暗号化データを記憶する。
復号部402は、CPU911(実行処理装置)を用いて、暗号鍵記憶部532が記憶した鍵データを使用して、暗号記憶部542が記憶した暗号化データを復号し、復元平文データを生成する。
平文出力部543は、CPU911(実行処理装置)を用いて、復号部402が生成した復元平文データを出力する。
The plaintext input unit 541 uses the CPU 911 (execution processing device) to input plaintext data that the execution device 501 should encrypt and store.
Using the CPU 911 (execution processing device), the encryption unit 401 uses the key data stored in the encryption key storage unit 532 to encrypt the plaintext data input by the plaintext input unit 541 and generate encrypted data. .
The encryption storage unit 542 stores the encrypted data encrypted by the encryption unit 401 using a magnetic disk device 920 (nonvolatile storage device).
Using the CPU 911 (execution processing device), the decryption unit 402 decrypts the encrypted data stored in the encryption storage unit 542 using the key data stored in the encryption key storage unit 532, and generates restored plaintext data. .
The plaintext output unit 543 outputs the restored plaintext data generated by the decryption unit 402 using the CPU 911 (execution processing device).

図12は、この実施の形態における暗号処理システム800全体の処理の流れの一例を示すフローチャート図である。   FIG. 12 is a flowchart showing an example of the processing flow of the entire cryptographic processing system 800 in this embodiment.

鍵管理装置10は、例えば、取得要求入力処理S710と、鍵取得処理S720と、更新要求入力処理S750と、鍵更新処理S760とを実行する。
取得要求入力処理S710において、鍵管理装置10は、実行装置501から鍵取得要求メッセージが通知されたか否かを判定する。実行装置501から鍵取得要求メッセージが通知された場合、鍵管理装置10は、通知された鍵取得要求メッセージを入力して、鍵取得処理S720へ処理を進める。実行装置501から鍵取得要求メッセージが通知されない場合、鍵管理装置10は、更新要求入力処理S750へ処理を進める。
鍵取得処理S720において、鍵管理装置10は、取得要求入力処理S710で入力した鍵取得要求メッセージにしたがって、鍵を取得する。なお、鍵管理装置10に鍵が登録されていない場合、鍵管理装置10は、鍵を生成して登録する。鍵管理装置10は、実行装置501に対して、応答メッセージを出力する。鍵管理装置10は、更新要求入力処理S750へ処理を進める。
更新要求入力処理S750において、鍵管理装置10は、実行装置501から鍵更新要求メッセージが通知されたか否かを判定する。実行装置501から鍵更新要求メッセージが通知された場合、鍵管理装置10は、通知された鍵更新要求メッセージを入力して、鍵更新処理S760へ処理を進める。実行装置501から鍵更新要求メッセージが通知されない場合、鍵管理装置10は、取得要求入力処理S710に処理を戻す。
鍵更新処理S760において、鍵管理装置10は、更新要求入力処理S750で入力した鍵更新メッセージにしたがって、鍵を更新し、実行装置501に対して、応答メッセージを出力する。鍵管理装置10は、取得要求入力処理S710に処理を戻す。
The key management apparatus 10 executes, for example, an acquisition request input process S710, a key acquisition process S720, an update request input process S750, and a key update process S760.
In the acquisition request input process S <b> 710, the key management apparatus 10 determines whether a key acquisition request message is notified from the execution apparatus 501. When the key acquisition request message is notified from the execution apparatus 501, the key management apparatus 10 inputs the notified key acquisition request message, and proceeds to the key acquisition process S720. If the key acquisition request message is not notified from the execution device 501, the key management device 10 advances the processing to update request input processing S750.
In the key acquisition process S720, the key management apparatus 10 acquires a key according to the key acquisition request message input in the acquisition request input process S710. When no key is registered in the key management apparatus 10, the key management apparatus 10 generates and registers a key. The key management device 10 outputs a response message to the execution device 501. The key management apparatus 10 advances the process to the update request input process S750.
In the update request input process S750, the key management apparatus 10 determines whether or not a key update request message has been notified from the execution apparatus 501. When the key update request message is notified from the execution device 501, the key management device 10 inputs the notified key update request message, and proceeds to the key update processing S 760. If the key update request message is not notified from the execution apparatus 501, the key management apparatus 10 returns the process to the acquisition request input process S710.
In the key update process S760, the key management apparatus 10 updates the key according to the key update message input in the update request input process S750, and outputs a response message to the execution apparatus 501. The key management apparatus 10 returns the process to the acquisition request input process S710.

実行装置501は、例えば、取得要求処理S810と、暗号処理S820と、更新判定処理S830と、更新要求処理S840と、暗号更新処理S850とを実行する。
実行装置501が起動すると、まず、取得要求処理S810を実行する。
取得要求処理S810において、実行装置501は、鍵管理装置10に対して、鍵取得要求メッセージを通知する。実行装置501は、通知した鍵取得要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。
暗号処理S820において、実行装置501は、取得要求処理S810で取得した応答メッセージに含まれる鍵データを使用して、暗号処理をする。
更新判定処理S830において、実行装置501は、鍵を更新するか否かを判定する。更新すると判定した場合、実行装置501は、更新要求処理S840へ処理を進める。更新しないと判定した場合、実行装置501は、暗号処理S820に処理を戻す。
更新要求処理S840において、実行装置501は、鍵管理装置10に対して、鍵更新要求メッセージを通知する。実行装置501は、通知した鍵更新要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。
暗号更新処理S850において、実行装置501は、更新要求処理S840で取得した応答メッセージに含まれる更新後の新しい鍵データを使用して、記憶している暗号化データを更新する。実行装置501は、暗号処理S820に処理を戻す。
The execution apparatus 501 executes, for example, an acquisition request process S810, an encryption process S820, an update determination process S830, an update request process S840, and an encryption update process S850.
When the execution device 501 is activated, the acquisition request process S810 is first executed.
In the acquisition request process S810, the execution apparatus 501 notifies the key management apparatus 10 of a key acquisition request message. The execution device 501 acquires the response message output by the key management device 10 as a response to the notified key acquisition request message.
In encryption processing S820, the execution apparatus 501 performs encryption processing using the key data included in the response message acquired in acquisition request processing S810.
In the update determination process S830, the execution device 501 determines whether to update the key. If it is determined to update, the execution apparatus 501 advances the process to the update request process S840. If it is determined not to update, the execution apparatus 501 returns the process to the encryption process S820.
In the update request process S840, the execution device 501 notifies the key management device 10 of a key update request message. The execution device 501 acquires the response message output by the key management device 10 as a response to the notified key update request message.
In the encryption update process S850, the execution apparatus 501 updates the stored encrypted data using the updated new key data included in the response message acquired in the update request process S840. The execution device 501 returns the process to the encryption process S820.

図13は、この実施の形態における鍵管理装置10の処理の詳細な流れの一例を示すフローチャート図である。   FIG. 13 is a flowchart showing an example of a detailed flow of processing of the key management apparatus 10 in this embodiment.

取得要求入力処理S710は、例えば、取得要求入力工程S711を有する。
取得要求入力工程S711において、取得要求入力部121は、実行装置501から新たに通知された鍵取得要求メッセージがあれば、CPU911を用いて、通知された鍵取得要求メッセージを入力し、鍵取得処理S720へ処理を進める。実行装置501から通知された鍵取得要求メッセージがない場合、取得要求入力部121は、CPU911を用いて、更新要求入力処理S750へ処理を進める。
Acquisition request input process S710 has acquisition request input process S711, for example.
In the acquisition request input step S <b> 711, if there is a key acquisition request message newly notified from the execution apparatus 501, the acquisition request input unit 121 inputs the notified key acquisition request message using the CPU 911 and performs key acquisition processing. The process proceeds to S720. When there is no key acquisition request message notified from the execution apparatus 501, the acquisition request input unit 121 uses the CPU 911 to advance the process to the update request input process S750.

鍵取得処理S720は、例えば、鍵パスワード算出工程S721と、鍵取得工程S722と、鍵生成工程S723と、鍵登録工程S724と、鍵出力工程S725と、失敗出力工程S726とを有する。
鍵パスワード算出工程S721において、鍵パスワード算出部131は、CPU911を用いて、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる管理パスワードと証明データとに基づいて、鍵パスワードを算出する。
鍵取得工程S722において、鍵取得部132は、CPU911を用いて、鍵パスワード算出工程S721で鍵パスワード算出部131が算出した鍵パスワードと、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとを使って、順記憶部201から鍵データを取得する。鍵データの取得に成功した場合、鍵取得部132は、CPU911を用いて、鍵出力工程S725へ処理を進める。識別データの不一致により鍵データの取得に失敗した場合、鍵取得部132は、CPU911を用いて、鍵生成工程S723へ処理を進める。鍵パスワードの不一致により鍵データの取得に失敗した場合、鍵取得部132は、CPU911を用いて、失敗出力工程S726へ処理を進める。
The key acquisition process S720 includes, for example, a key password calculation step S721, a key acquisition step S722, a key generation step S723, a key registration step S724, a key output step S725, and a failure output step S726.
In the key password calculation step S721, the key password calculation unit 131 uses the CPU 911 based on the management password and the certification data included in the key acquisition request message input by the acquisition request input unit 121 in the acquisition request input step S711. Calculate the key password.
In the key acquisition step S722, the key acquisition unit 132 uses the CPU 911, and the key password calculated by the key password calculation unit 131 in the key password calculation step S721 and the key input by the acquisition request input unit 121 in the acquisition request input step S711. Key data is acquired from the sequential storage unit 201 using the identification data included in the acquisition request message. If the key data acquisition is successful, the key acquisition unit 132 uses the CPU 911 to advance the process to the key output step S725. When the key data acquisition fails due to the mismatch of the identification data, the key acquisition unit 132 uses the CPU 911 to advance the process to the key generation step S723. If the key data acquisition fails due to the mismatch of the key password, the key acquisition unit 132 uses the CPU 911 to advance the process to the failure output step S726.

鍵生成工程S723において、鍵生成部133(新規鍵生成部)は、CPU911を用いて、新たな鍵データを生成する。鍵生成部133は、取得要求入力部121が入力した鍵取得要求メッセージに含まれる鍵アルゴリズムや鍵長などのパラメータにしたがって、鍵データを生成する構成であってもよいし、あらかじめ固定されたパラメータを使って、鍵データを生成する構成であってもよい。鍵取得要求メッセージがパラメータを含む構成であれば、実行装置501の側で、扱う情報の機密レベルに応じて鍵生成のパラメータを変更することができるので、好ましい。
鍵登録工程S724において、鍵登録部135は、CPU911を用いて、鍵生成工程S723で鍵生成部133が生成した鍵データを、鍵記憶部110に登録する。順記憶部201は、磁気ディスク装置920を用いて、鍵生成工程S723で鍵生成部133が生成した鍵データと、鍵パスワード算出工程S721で鍵パスワード算出部131が算出した鍵パスワードと、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとの組を、新たに記憶する。逆パスワード算出部136は、CPU911を用いて、鍵生成工程S723で鍵生成部133が生成した鍵データに基づいて、逆パスワードを算出する。逆記憶部301は、鍵パスワード算出工程S721で鍵パスワード算出部131が算出した鍵パスワードと、逆パスワード算出部136が算出した逆パスワードと、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データとの組を、新たに記憶する。鍵登録部135は、CPU911を用いて、鍵出力工程S725へ処理を進める。
なお、なんらかのエラーにより、鍵データの登録に失敗した場合は、鍵登録部135は、CPU911を用いて、失敗出力工程S726へ処理を進める。
In the key generation step S723, the key generation unit 133 (new key generation unit) uses the CPU 911 to generate new key data. The key generation unit 133 may be configured to generate key data in accordance with parameters such as a key algorithm and a key length included in the key acquisition request message input by the acquisition request input unit 121, or parameters fixed in advance. The key data may be generated using. If the key acquisition request message includes a parameter, it is preferable that the execution device 501 can change the key generation parameter according to the confidential level of the information to be handled.
In the key registration step S724, the key registration unit 135 uses the CPU 911 to register the key data generated by the key generation unit 133 in the key generation step S723 in the key storage unit 110. The sequential storage unit 201 uses the magnetic disk device 920 to generate the key data generated by the key generation unit 133 in the key generation step S723, the key password calculated by the key password calculation unit 131 in the key password calculation step S721, and the acquisition request. A pair with the identification data included in the key acquisition request message input by the acquisition request input unit 121 in the input step S711 is newly stored. The reverse password calculation unit 136 uses the CPU 911 to calculate a reverse password based on the key data generated by the key generation unit 133 in the key generation step S723. The reverse storage unit 301 receives the key password calculated by the key password calculation unit 131 in the key password calculation step S721, the reverse password calculated by the reverse password calculation unit 136, and the acquisition request input unit 121 input in the acquisition request input step S711. A pair with the identification data included in the key acquisition request message is newly stored. Using the CPU 911, the key registration unit 135 advances the process to the key output step S725.
If registration of key data fails due to some error, the key registration unit 135 uses the CPU 911 to advance the process to the failure output step S726.

鍵出力工程S725において、応答生成部134は、CPU911を用いて、鍵取得工程S722で鍵取得部132が取得した鍵データ、もしくは、鍵生成工程S723で鍵生成部133が生成した鍵データを含む応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、更新要求入力処理S750へ処理を進める。   In the key output step S725, the response generation unit 134 uses the CPU 911 to include the key data acquired by the key acquisition unit 132 in the key acquisition step S722 or the key data generated by the key generation unit 133 in the key generation step S723. Generate a response message. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 advances the process to the update request input process S750.

失敗出力工程S726において、応答生成部134は、CPU911を用いて、鍵の取得に失敗したことを表わす応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、更新要求入力処理S750へ処理を進める。   In the failure output step S726, the response generation unit 134 uses the CPU 911 to generate a response message indicating that the key acquisition has failed. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 advances the process to the update request input process S750.

更新要求入力処理S750は、例えば、更新要求入力工程S751を有する。
更新要求入力工程S751において、更新要求入力部122は、実行装置501から新たに通知された鍵更新要求メッセージがあれば、CPU911を用いて、通知された鍵更新要求メッセージを入力し、鍵更新処理S760へ処理を進める。実行装置501から通知された鍵更新要求メッセージがない場合、更新要求入力部122は、CPU911を用いて、取得要求入力処理S710に処理を戻す。
The update request input process S750 includes, for example, an update request input process S751.
In the update request input step S751, if there is a key update request message newly notified from the execution apparatus 501, the update request input unit 122 uses the CPU 911 to input the notified key update request message, and performs key update processing. The process proceeds to S760. When there is no key update request message notified from the execution apparatus 501, the update request input unit 122 uses the CPU 911 to return the process to the acquisition request input process S710.

鍵更新処理S760は、例えば、逆パスワード算出工程S761と、パスワード取得工程S762と、鍵生成工程S763と、鍵更新工程S764と、鍵出力工程S765と、失敗出力工程S766とを有する。
逆パスワード算出工程S761において、逆パスワード算出部136(旧逆パスワード算出部)は、CPU911を用いて、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる更新前の古い鍵データに基づいて、逆パスワードを算出する。
パスワード取得工程S762において、パスワード取得部137は、CPU911を用いて、逆パスワード算出工程S761で逆パスワード算出部136が算出した逆パスワードと、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データとを使って、逆記憶部301が記憶した鍵パスワードを取得する。鍵パスワードの取得に成功した場合、パスワード取得部137は、CPU911を用いて、鍵生成工程S763へ処理を進める。識別データの不一致や逆パスワードの不一致により鍵パスワードの取得に失敗した場合、パスワード取得部137は、CPU911を用いて、失敗出力工程S766へ処理を進める。
The key update process S760 includes, for example, a reverse password calculation step S761, a password acquisition step S762, a key generation step S763, a key update step S764, a key output step S765, and a failure output step S766.
In the reverse password calculation step S761, using the CPU 911, the reverse password calculation unit 136 (old reverse password calculation unit) uses the CPU 911 to update the key update request message included in the key update request message input by the update request input unit 122 in the update request input step S751. A reverse password is calculated based on the old key data.
In the password acquisition step S762, the password acquisition unit 137 uses the CPU 911, the reverse password calculated by the reverse password calculation unit 136 in the reverse password calculation step S761, and the key input by the update request input unit 122 in the update request input step S751. The key password stored in the reverse storage unit 301 is acquired using the identification data included in the update request message. When acquisition of the key password is successful, the password acquisition unit 137 uses the CPU 911 to advance the process to the key generation step S763. If acquisition of the key password fails due to a mismatch in identification data or a mismatch in reverse password, the password acquisition unit 137 uses the CPU 911 to advance the process to a failure output step S766.

鍵生成工程S763において、鍵生成部133(更新鍵生成部)は、CPU911を用いて、新たな鍵データを生成する。
鍵更新工程S764において、鍵登録部135(鍵更新部)は、CPU911を用いて、鍵記憶部110に登録された鍵データを、鍵生成工程S763で鍵生成部133が生成した鍵データに更新する。順記憶部201は、磁気ディスク装置920を用いて、対応づけられた識別データが、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致し、かつ、対応づけられた鍵パスワードが、パスワード取得工程S762でパスワード取得部137が取得した鍵パスワードと一致する鍵データを、鍵生成工程S763で鍵生成部133が生成した鍵データに置き換えて記憶する。逆パスワード算出部136(新逆パスワード算出部)は、CPU911を用いて、鍵生成工程S763で鍵生成部133が生成した鍵データに基づいて、新たな逆パスワードを算出する。逆記憶部301は、磁気ディスク装置920を用いて、対応づけられた識別データが、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致し、かつ、対応づけられた鍵パスワードが、パスワード取得工程S762でパスワード取得部137が取得した鍵パスワードと一致する逆パスワードを、逆パスワード算出部136が算出した新たな逆パスワードで置き換えて記憶する。なお、なんらかのエラーにより鍵データの更新に失敗した場合、鍵登録部135は、CPU911を用いて、失敗出力工程S766へ処理を進める。
In the key generation step S763, the key generation unit 133 (update key generation unit) uses the CPU 911 to generate new key data.
In the key update step S764, the key registration unit 135 (key update unit) uses the CPU 911 to update the key data registered in the key storage unit 110 to the key data generated by the key generation unit 133 in the key generation step S763. To do. The sequential storage unit 201 uses the magnetic disk device 920 to match the identified identification data with the identification data included in the key update request message input by the update request input unit 122 in the update request input step S751. The key data in which the associated key password matches the key password acquired by the password acquisition unit 137 in the password acquisition step S762 is replaced with the key data generated by the key generation unit 133 in the key generation step S763 and stored. The reverse password calculation unit 136 (new reverse password calculation unit) uses the CPU 911 to calculate a new reverse password based on the key data generated by the key generation unit 133 in the key generation step S763. The reverse storage unit 301 uses the magnetic disk device 920 to match the associated identification data with the identification data included in the key update request message input by the update request input unit 122 in the update request input step S751, and The reverse password in which the associated key password matches the key password acquired by the password acquisition unit 137 in the password acquisition step S762 is replaced with the new reverse password calculated by the reverse password calculation unit 136 and stored. If the key data update fails due to some error, the key registration unit 135 uses the CPU 911 to advance the process to the failure output step S766.

鍵出力工程S765において、応答生成部134は、CPU911を用いて、鍵生成工程S763で鍵生成部133が生成した新たな鍵データを含む応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、取得要求入力処理S710に処理を戻す。   In the key output step S765, the response generation unit 134 uses the CPU 911 to generate a response message including the new key data generated by the key generation unit 133 in the key generation step S763. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 returns the process to the acquisition request input process S710.

失敗出力工程S766において、応答生成部134は、CPU911を用いて、鍵の更新に失敗したことを表わす応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、取得要求入力処理S710に処理を戻す。   In the failure output step S766, the response generation unit 134 uses the CPU 911 to generate a response message indicating that the key update has failed. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 returns the process to the acquisition request input process S710.

図14は、この実施の形態における実行装置501の処理の詳細な流れの一例を示すフローチャート図である。   FIG. 14 is a flowchart showing an example of a detailed flow of processing of the execution apparatus 501 in this embodiment.

取得要求処理S810は、例えば、管理パスワード取得工程S811と、鍵取得要求生成工程S812と、鍵取得要求通知工程S813と、応答取得工程S814と、鍵記憶工程S815とを有する。
管理パスワード取得工程S811において、管理パスワード取得部511は、CPU911を用いて、管理パスワードを取得する。
鍵取得要求生成工程S812において、取得要求生成部512は、CPU911を用いて、管理パスワード取得工程S811で管理パスワード取得部511が取得した管理パスワードと、識別データと、証明データとを含む鍵取得要求メッセージを生成する。
鍵取得要求通知工程S813において、取得要求通知部513は、CPU911を用いて、鍵取得要求生成工程S812で取得要求生成部512が生成した鍵取得要求メッセージを、鍵管理装置10に対して通知する。
応答取得工程S814において、応答取得部531(暗号鍵取得部)は、CPU911を用いて、鍵取得要求通知工程S813で取得要求通知部513が通知した鍵取得要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。取得した応答メッセージが、鍵の取得に成功したことを表わす場合、応答取得部531は、CPU911を用いて、鍵記憶工程S815へ処理を進める。取得した応答メッセージが、鍵の取得に失敗したことを表わす場合、応答取得部531は、CPU911を用いて、管理パスワード取得工程S811に処理を戻す。
鍵記憶工程S815において、暗号鍵記憶部532は、RAM914を用いて、応答取得工程S814で応答取得部531が取得した応答メッセージに含まれる鍵データを記憶する。
The acquisition request process S810 includes, for example, a management password acquisition step S811, a key acquisition request generation step S812, a key acquisition request notification step S813, a response acquisition step S814, and a key storage step S815.
In the management password acquisition step S811, the management password acquisition unit 511 uses the CPU 911 to acquire a management password.
In the key acquisition request generation step S812, the acquisition request generation unit 512 uses the CPU 911 to obtain a key acquisition request including the management password acquired by the management password acquisition unit 511 in the management password acquisition step S811, identification data, and certification data. Generate a message.
In the key acquisition request notification step S813, the acquisition request notification unit 513 uses the CPU 911 to notify the key management apparatus 10 of the key acquisition request message generated by the acquisition request generation unit 512 in the key acquisition request generation step S812. .
In the response acquisition step S814, the response acquisition unit 531 (encryption key acquisition unit) uses the CPU 911 as a response to the key acquisition request message notified by the acquisition request notification unit 513 in the key acquisition request notification step S813. Get the output response message. If the acquired response message indicates that the key has been successfully acquired, the response acquisition unit 531 uses the CPU 911 to advance the process to the key storage step S815. When the acquired response message indicates that the key acquisition has failed, the response acquisition unit 531 uses the CPU 911 to return the process to the management password acquisition step S811.
In the key storage step S815, the encryption key storage unit 532 uses the RAM 914 to store key data included in the response message acquired by the response acquisition unit 531 in the response acquisition step S814.

暗号処理S820において、暗号処理部540は、CPU911を用いて、暗号鍵記憶部532が記憶した鍵データを使って、暗号処理をする。   In cryptographic processing S820, the cryptographic processing unit 540 uses the CPU 911 to perform cryptographic processing using the key data stored in the cryptographic key storage unit 532.

更新判定処理S830において、更新判定部521は、CPU911を用いて、鍵の更新をするか否かを判定する。鍵の更新をすると判定した場合、更新判定部521は、CPU911を用いて、更新要求処理S840へ処理を進める。まだ鍵の更新をしないと判定した場合、更新判定部521は、CPU911を用いて、暗号処理S820に処理を戻す。   In the update determination process S830, the update determination unit 521 uses the CPU 911 to determine whether to update the key. If it is determined that the key is to be updated, the update determination unit 521 uses the CPU 911 to advance the process to the update request process S840. If it is determined that the key has not yet been updated, the update determination unit 521 uses the CPU 911 to return the process to the encryption process S820.

更新要求処理S840は、例えば、鍵更新要求生成工程S841と、鍵更新要求通知工程S842と、応答取得工程S843と、新鍵記憶工程S844とを有する。
鍵更新要求生成工程S841において、更新要求生成部522は、CPU911を用いて、暗号鍵記憶部532が記憶した鍵データと、識別データとを含む鍵更新要求メッセージを生成する。
鍵更新要求通知工程S842において、更新要求通知部523は、CPU911を用いて、鍵更新要求生成工程S841で更新要求生成部522が生成した鍵更新要求メッセージを、鍵管理装置10に対して通知する。
応答取得工程S843において、応答取得部531(更新鍵取得部)は、CPU911を用いて、鍵更新要求通知工程S842で更新要求通知部523が通知した鍵更新要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。取得した応答メッセージが、鍵の更新に成功したことを表わす場合、応答取得部531は、CPU911を用いて、新鍵記憶工程S844へ処理を進める。取得した応答メッセージが、鍵の更新に失敗したことを表わす場合、応答取得部531は、CPU911を用いて、管理パスワード取得工程S811に処理を戻す。
新鍵記憶工程S844において、暗号鍵記憶部532(暗号鍵更新部)は、RAM914を用いて、応答取得工程S843で応答取得部531が取得した応答メッセージに含まれる更新後の新しい鍵データを記憶する。なお、次の暗号更新処理S850で更新前の古い鍵データを使うので、暗号鍵記憶部532は、更新前の古い鍵データも、まだ保持しておく。
The update request process S840 includes, for example, a key update request generation step S841, a key update request notification step S842, a response acquisition step S843, and a new key storage step S844.
In the key update request generation step S841, the update request generation unit 522 uses the CPU 911 to generate a key update request message including the key data stored in the encryption key storage unit 532 and the identification data.
In the key update request notification step S842, the update request notification unit 523 uses the CPU 911 to notify the key management apparatus 10 of the key update request message generated by the update request generation unit 522 in the key update request generation step S841. .
In the response acquisition step S843, the response acquisition unit 531 (update key acquisition unit) uses the CPU 911 and the key management apparatus 10 as a response to the key update request message notified by the update request notification unit 523 in the key update request notification step S842. Get the output response message. If the acquired response message indicates that the key has been successfully updated, the response acquisition unit 531 uses the CPU 911 to advance the process to the new key storage step S844. When the acquired response message indicates that the key update has failed, the response acquisition unit 531 uses the CPU 911 to return the process to the management password acquisition step S811.
In the new key storage step S844, the encryption key storage unit 532 (encryption key update unit) uses the RAM 914 to store the updated new key data included in the response message acquired by the response acquisition unit 531 in the response acquisition step S843. To do. Since the old key data before update is used in the next cipher update process S850, the encryption key storage unit 532 still holds the old key data before update.

暗号更新処理S850は、例えば、暗号選択工程S851と、復号工程S852と、暗号化工程S853と、暗号記憶工程S854と、旧鍵削除工程S855とを有する。
暗号選択工程S851において、復号部402(暗号更新部)は、CPU911を用いて、暗号記憶部542が記憶した暗号化データのなかから、まだ処理していない暗号化データを一つ選択する。暗号記憶部542が記憶した暗号化データがすべて処理済であり、選択できる暗号化データがない場合、復号部402は、CPU911を用いて、旧鍵削除工程S855へ処理を進める。暗号記憶部542が記憶した暗号化データのなかに、まだ処理していない暗号化データがある場合、復号部402は、CPU911を用いて、まだ処理していない暗号化データのなかから暗号化データを一つ選択し、復号工程S852へ処理を進める。
復号工程S852において、復号部402は、CPU911を用いて、暗号鍵記憶部532が記憶している更新前の古い鍵データを使って、暗号選択工程S851で選択した暗号化データを復号し、復元平文データを生成する。
暗号化工程S853において、暗号化部401(更新暗号化部)は、CPU911を用いて、暗号鍵記憶部532が記憶している更新後の新しい鍵データを使って、復号工程S852で復号部402が生成した復元平文データを暗号化し、更新後の新しい暗号化データを生成する。
暗号記憶工程S854において、暗号記憶部542(暗号更新部)は、磁気ディスク装置920を用いて、暗号選択工程S851で復号部402が選択した更新前の古い暗号化データを、暗号化工程S853で暗号化部401が生成した更新後の新しい暗号化データに置き換えて記憶する。暗号記憶部542は、CPU911を用いて、暗号選択工程S851に処理を戻す。
The cipher update process S850 includes, for example, a cipher selection step S851, a decryption step S852, an encryption step S853, a cipher storage step S854, and an old key deletion step S855.
In the encryption selection step S851, the decryption unit 402 (encryption update unit) uses the CPU 911 to select one encrypted data that has not yet been processed from among the encrypted data stored in the encryption storage unit 542. If all the encrypted data stored in the encryption storage unit 542 has been processed and there is no encryption data that can be selected, the decryption unit 402 uses the CPU 911 to advance the process to the old key deletion step S855. When there is encrypted data that has not yet been processed in the encrypted data stored in the encryption storage unit 542, the decrypting unit 402 uses the CPU 911 to encrypt the encrypted data from the encrypted data that has not been processed yet. Is selected, and the process proceeds to the decoding step S852.
In the decryption step S852, the decryption unit 402 uses the CPU 911 to decrypt and restore the encrypted data selected in the cipher selection step S851 using the old key data before update stored in the encryption key storage unit 532. Generate plain text data.
In the encryption step S853, the encryption unit 401 (update encryption unit) uses the updated new key data stored in the encryption key storage unit 532 using the CPU 911, and the decryption unit 402 in the decryption step S852. Encrypt the restored plaintext data generated by, and generate new encrypted data after update.
In the encryption storage step S854, the encryption storage unit 542 (encryption update unit) uses the magnetic disk device 920 to store the old encrypted data before update selected by the decryption unit 402 in the encryption selection step S851 in the encryption step S853. The new encrypted data after update generated by the encryption unit 401 is replaced and stored. Using the CPU 911, the encryption storage unit 542 returns the process to the encryption selection step S851.

旧鍵削除工程S855において、暗号鍵記憶部532は、RAM914を用いて記憶した更新前の古い鍵データを削除する。暗号鍵記憶部532は、CPU911を用いて、暗号処理S820に処理を戻す。   In the old key deletion step S855, the encryption key storage unit 532 deletes the old key data before update stored using the RAM 914. Using the CPU 911, the encryption key storage unit 532 returns the process to the encryption process S820.

このように、識別データ及び鍵パスワードが一致しなければ、順記憶部201から鍵データを取得したり、順記憶部201が記憶した鍵データを更新したりできないことにより、鍵データの秘密性・安全性を担保する。また、証明データからの情報を鍵パスワードに埋め込むことにより、本物の実行装置501しか鍵データを取得できない。特に、証明データとして文脈データを使用することにより、実行装置501が本物であることの証明が容易にできるとともに、偽造を防ぐことができる。鍵更新時には、証明データではなく、更新前の古い鍵データそのものによって実行装置501が本物であることを証明する。順記憶部201が記憶した鍵データを更新するために必要な鍵パスワードは、逆記憶部301から取得する。識別データ及び逆パスワードが一致しなければ、逆記憶部301から鍵パスワードを取得したり、逆記憶部301が記憶した鍵パスワードを更新したりできないことにより、鍵パスワードの秘密性・安全性を担保する。逆パスワードは、鍵データに基づいて算出されるので、鍵データがわかれば鍵パスワードを取得でき、鍵データを更新することができる。   Thus, if the identification data and the key password do not match, the key data cannot be obtained from the sequential storage unit 201 or the key data stored in the sequential storage unit 201 cannot be updated. Ensure safety. Also, by embedding information from the certification data in the key password, only the real execution device 501 can acquire the key data. In particular, by using the context data as the proof data, it is possible to easily prove that the execution device 501 is genuine and to prevent forgery. At the time of key update, it is proved that the execution device 501 is authentic by not the proof data but the old key data itself before the update. The key password necessary for updating the key data stored in the sequential storage unit 201 is acquired from the reverse storage unit 301. If the identification data and reverse password do not match, the key password cannot be obtained from the reverse storage unit 301 or the key password stored in the reverse storage unit 301 cannot be updated, thereby ensuring the confidentiality and security of the key password. To do. Since the reverse password is calculated based on the key data, if the key data is known, the key password can be acquired and the key data can be updated.

なお、鍵更新要求メッセージに鍵データを含めるのではなく、実行装置501の側で逆パスワードを算出し、鍵更新要求メッセージに逆パスワードを含める構成としてもよい。その場合、パスワード取得部137は、鍵更新要求メッセージに含まれる識別データと一致する識別データに対応づけて逆記憶部301が記憶した逆パスワードと、鍵更新要求メッセージに含まれる逆パスワードとが一致するか否かを判定し、一致する場合に、その逆パスワード及び識別データに対応づけて逆記憶部301が記憶した鍵パスワードを取得する。   Instead of including key data in the key update request message, the execution device 501 may calculate a reverse password and include the reverse password in the key update request message. In that case, the password acquisition unit 137 matches the reverse password stored in the reverse storage unit 301 in association with the identification data matching the identification data included in the key update request message and the reverse password included in the key update request message. If it matches, the key password stored in the reverse storage unit 301 in association with the reverse password and the identification data is acquired.

また、鍵管理装置10は、逆記憶部301を有さない構成であってもよい。その場合、パスワード取得部137は、CPU911を用いて、順記憶部201が記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致するものを探す。一致する識別データがある場合、パスワード取得部137は、CPU911を用いて、その識別データに対応づけて順記憶部201が記憶した鍵データと、更新要求入力部122が入力した鍵更新要求メッセージに含まれる鍵データとが、一致するか否かを判定する。鍵データが一致する場合、パスワード取得部137は、CPU911を用いて、その鍵データに対応づけて順記憶部201が記憶した鍵パスワードを取得する。
鍵更新要求メッセージに逆パスワードを含める構成の場合は、鍵更新要求メッセージに含まれる識別データと一致する識別データに対応づけて順記憶部201が記憶した鍵データに基づいて、逆パスワード算出部136が逆パスワードを算出する。パスワード取得部137は、逆パスワード算出部136が算出した逆パスワードと、鍵更新要求メッセージに含まれる逆パスワードとが一致するか否かを判定し、一致する場合に、その鍵データに対応づけて順記憶部201が記憶した鍵パスワードを取得する。
Further, the key management device 10 may be configured without the reverse storage unit 301. In this case, the password acquisition unit 137 uses the CPU 911 to search the identification data stored in the sequential storage unit 201 for a match with the identification data included in the key update request message input by the update request input unit 122. . When there is matching identification data, the password acquisition unit 137 uses the CPU 911 to associate the key data stored in the sequential storage unit 201 with the identification data and the key update request message input by the update request input unit 122. It is determined whether or not the included key data matches. When the key data matches, the password acquisition unit 137 uses the CPU 911 to acquire the key password stored in the sequential storage unit 201 in association with the key data.
In the case where the reverse password is included in the key update request message, the reverse password calculation unit 136 is based on the key data stored in the sequential storage unit 201 in association with the identification data that matches the identification data included in the key update request message. Calculates the reverse password. The password acquisition unit 137 determines whether or not the reverse password calculated by the reverse password calculation unit 136 matches the reverse password included in the key update request message. If they match, the password acquisition unit 137 associates the reverse password with the key data. The key password stored in the sequential storage unit 201 is acquired.

更に、鍵管理装置10は、パスワード取得部137を有さない構成であってもよい。その場合、鍵登録部135(鍵更新部)は、CPU911を用いて、順記憶部201が記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データと一致するものを探す。一致する識別データがある場合、鍵登録部135は、CPU911を用いて、その識別データに対応づけて順記憶部201が記憶した鍵データと、更新要求入力部122が入力した鍵更新要求メッセージに含まれる鍵データとが、一致するか否かを判定する。鍵データが一致する場合、鍵登録部135は、CPU911を用いて、その鍵データを更新する。
鍵更新要求メッセージに逆パスワードを含める構成の場合は、鍵更新要求メッセージに含まれる識別データと一致する識別データに対応づけて順記憶部201が記憶した鍵データに基づいて、逆パスワード算出部136が逆パスワードを算出する。鍵登録部135(鍵更新部)は、逆パスワード算出部136が算出した逆パスワードと、鍵更新要求メッセージに含まれる逆パスワードとが一致するか否かを判定し、一致する場合に、その鍵データを更新する。
Furthermore, the key management apparatus 10 may be configured without the password acquisition unit 137. In that case, the key registration unit 135 (key update unit) uses the CPU 911 to identify the identification data included in the key update request message input by the update request input unit 122 from the identification data stored in the sequential storage unit 201. Find a match. When there is matching identification data, the key registration unit 135 uses the CPU 911 to associate the key data stored in the sequential storage unit 201 with the identification data and the key update request message input by the update request input unit 122. It is determined whether or not the included key data matches. If the key data matches, the key registration unit 135 uses the CPU 911 to update the key data.
In the case where the reverse password is included in the key update request message, the reverse password calculation unit 136 is based on the key data stored in the sequential storage unit 201 in association with the identification data that matches the identification data included in the key update request message. Calculates the reverse password. The key registration unit 135 (key update unit) determines whether or not the reverse password calculated by the reverse password calculation unit 136 matches the reverse password included in the key update request message. Update the data.

実施の形態3.
実施の形態3について、図15〜図18を用いて説明する。
なお、実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 3 FIG.
The third embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 2, the same code | symbol is attached | subjected and description is abbreviate | omitted.

図15は、この実施の形態における暗号処理システム800の機能ブロックの構成の一例を示すブロック構成図である。
鍵管理装置10は、実施の形態2で説明した構成に加えて、更に、削除要求入力部125を有する。実行装置501は、実施の形態2で説明した構成に加えて、更に、削除要求部550を有する。
FIG. 15 is a block configuration diagram illustrating an example of a functional block configuration of the cryptographic processing system 800 according to this embodiment.
The key management apparatus 10 further includes a deletion request input unit 125 in addition to the configuration described in the second embodiment. The execution apparatus 501 further includes a deletion request unit 550 in addition to the configuration described in the second embodiment.

鍵管理装置10は、鍵を更新しても、更新前の古い鍵データを残しておき、実行装置501から鍵の削除を要求されて初めて、鍵データを削除する。削除要求入力部125は、CPU911(処理装置)を用いて、実行装置501が通知した鍵削除要求メッセージを入力する。鍵削除要求メッセージは、鍵の削除を要求することを表わす。鍵削除要求メッセージは、削除したい鍵そのものを表わす鍵データと、削除したい鍵の識別データとを含む。   Even after the key is updated, the key management device 10 keeps the old key data before the update, and deletes the key data only when the execution device 501 requests deletion of the key. The deletion request input unit 125 inputs a key deletion request message notified by the execution device 501 using the CPU 911 (processing device). The key deletion request message indicates that a key deletion is requested. The key deletion request message includes key data representing the key to be deleted and identification data for the key to be deleted.

削除要求部550は、CPU911(実行処理装置)を用いて、鍵管理装置10に対して、鍵削除要求メッセージを通知する。削除要求部550は、例えば、削除要求生成部552と、削除要求通知部553とを有する。
削除要求生成部552は、CPU911(実行処理装置)を用いて、鍵削除要求メッセージを生成する。例えば、削除要求生成部552は、暗号処理部540が暗号更新処理を完了した場合に、暗号鍵記憶部532がまだ記憶している更新前の古い鍵データを含む鍵削除要求メッセージを生成する。
削除要求通知部553は、CPU911(実行処理装置)を用いて、削除要求生成部552が生成した鍵削除要求メッセージを、鍵管理装置10に対して通知する。
The deletion request unit 550 notifies the key management device 10 of a key deletion request message using the CPU 911 (execution processing device). For example, the deletion request unit 550 includes a deletion request generation unit 552 and a deletion request notification unit 553.
The deletion request generation unit 552 generates a key deletion request message using the CPU 911 (execution processing device). For example, when the encryption processing unit 540 completes the encryption update process, the deletion request generation unit 552 generates a key deletion request message including old key data before update that is still stored in the encryption key storage unit 532.
The deletion request notification unit 553 notifies the key management device 10 of the key deletion request message generated by the deletion request generation unit 552 using the CPU 911 (execution processing device).

実行装置501が暗号更新処理をしている途中でダウンして再起動した場合などにおいて、暗号鍵記憶部532がRAM914を用いて記憶した鍵データが消えてしまう。実行装置501は、再起動後、鍵取得要求メッセージを鍵管理装置10に対して通知する。このとき、鍵管理装置10は、更新後の新しい鍵データだけでなく、更新前の古い鍵データも保持している。鍵管理装置10は、鍵取得要求メッセージに対する応答として、更新前の古い鍵データと、更新後の新しい鍵データとの2つの鍵データを含む応答メッセージを出力する。実行装置501は、更新前の古い鍵データと、更新後の新しい鍵データを取得して、暗号更新処理を続けることができる。   When the execution device 501 is down and restarted during the encryption update process, the key data stored in the encryption key storage unit 532 using the RAM 914 is erased. After restarting, the execution device 501 notifies the key management device 10 of a key acquisition request message. At this time, the key management apparatus 10 holds not only the new key data after the update but also the old key data before the update. As a response to the key acquisition request message, the key management device 10 outputs a response message that includes two key data, the old key data before update and the new key data after update. The execution apparatus 501 can acquire the old key data before the update and the new key data after the update, and can continue the cryptographic update process.

また、この実施の形態における暗号処理システム800は、管理パスワードを更新することができる。管理者が管理パスワードを更新しようと考えた場合、管理者は、実行装置501の起動時に、キーボード902などを操作して、更新前の古い管理パスワードと、更新後の新しいパスワードとの2つの管理パスワードを実行装置501に入力する。
取得要求部510(パスワード更新要求部)の管理パスワード取得部511は、CPU911(実行処理装置)を用いて、管理者が入力した2つの管理パスワードを取得する。
取得要求生成部512(パスワード更新要求生成部)は、CPU911(実行処理装置)を用いて、管理パスワード取得部511が取得した2つの管理パスワードを含む鍵取得要求メッセージを生成する。
取得要求通知部513(パスワード更新要求通知部)は、CPU911(実行処理装置)を用いて、取得要求生成部512が生成した2つの管理パスワードを含む鍵取得要求メッセージ(パスワード更新要求メッセージ)を、鍵管理装置10に対して通知する。
Also, the cryptographic processing system 800 in this embodiment can update the management password. When the administrator wants to update the management password, the administrator operates the keyboard 902 or the like when the execution device 501 is started, and manages two managements, an old management password before the update and a new password after the update. The password is input to the execution device 501.
The management password acquisition unit 511 of the acquisition request unit 510 (password update request unit) acquires two management passwords input by the administrator using the CPU 911 (execution processing device).
The acquisition request generation unit 512 (password update request generation unit) generates a key acquisition request message including the two management passwords acquired by the management password acquisition unit 511 using the CPU 911 (execution processing device).
The acquisition request notification unit 513 (password update request notification unit) uses the CPU 911 (execution processing device) to generate a key acquisition request message (password update request message) including two management passwords generated by the acquisition request generation unit 512. The key management device 10 is notified.

取得要求入力部121(パスワード更新要求入力部)は、CPU911(処理装置)を用いて、実行装置501が通知した鍵取得要求メッセージを入力する。取得要求入力部121は、入力した鍵取得要求メッセージが管理パスワードを2つ含む場合、鍵の取得と同時に管理パスワードの更新を要求されたと判定する。
鍵パスワード算出部131(旧パスワード算出部、新パスワード算出部)は、CPU911(処理装置)を用いて、取得要求入力部121が入力した鍵取得要求メッセージに含まれる2つの管理パスワードそれぞれに基づいて、鍵パスワードを算出する。すなわち、鍵パスワード算出部131は、更新前の古い鍵パスワードと、更新後の新しい鍵パスワードとを算出する。
鍵取得部132は、CPU911(処理装置)を用いて、鍵パスワード算出部131(旧パスワード算出部)が算出した更新前の古い鍵パスワードを使って、順記憶部201から鍵データを取得する。
鍵生成部133は、識別データの不一致により鍵取得部132が鍵データの取得に失敗した場合でも、新たな鍵データを生成しない。管理パスワードの更新は、古い鍵データを順記憶部201が記憶していることが前提だからである。
鍵登録部135(パスワード更新部)は、鍵取得部132が鍵データの取得に成功した場合、CPU911(処理装置)を用いて、鍵取得部132が取得した鍵データに対応づけられた鍵パスワードを更新する。例えば、鍵登録部135は、順記憶部201が記憶した識別データのなかから、取得要求入力部121が入力した鍵取得要求データに含まれる識別データと一致するものを探す。一致する識別データがある場合、鍵登録部135は、その識別データに対応づけて順記憶部201が記憶した鍵パスワードと、鍵パスワード算出部131(旧パスワード算出部)が算出した更新前の古い鍵パスワードとが一致するか否かを判定する。鍵パスワードが一致する場合、鍵登録部135は、その鍵パスワードに代えて、鍵パスワード算出部131(新パスワード算出部)が算出した更新後の新しい鍵パスワードを、順記憶部201に記憶させる。順記憶部201は、磁気ディスク装置920(記憶装置)を用いて、鍵データ及び識別データはそのままにして、鍵パスワードだけを鍵パスワード算出部131が算出した更新後の新しい鍵パスワードに置き換えて、その鍵データ及び識別データに対応づけて記憶する。
逆パスワード算出部136は、CPU911(処理装置)を用いて、鍵取得部132が取得した鍵データに基づいて、逆パスワードを算出する。
逆記憶部301(パスワード更新部)は、CPU911(処理装置)を用いて、記憶した識別データのなかから、更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データに一致するものを探す。一致する識別データがある場合、逆記憶部301は、CPU911(処理装置)を用いて、その識別データに対応づけて記憶した逆パスワードと、逆パスワード算出部136が算出した逆パスワードとが一致するか否かを判定する。逆パスワードが一致する場合、逆記憶部301は、磁気ディスク装置920(記憶装置)を用いて、その逆パスワード及び識別データに対応づけて記憶した鍵パスワードに代えて、鍵パスワード算出部131(新パスワード算出部)が算出した更新後の新しい鍵パスワードを記憶する。逆記憶部301は、記憶した逆パスワード及び識別データはそのままにして、鍵パスワードだけを鍵パスワード算出部131(新パスワード算出部)が算出した更新後の新しい鍵パスワードに置き換えて、その逆パスワード及び識別データに対応づけて記憶する。
The acquisition request input unit 121 (password update request input unit) uses the CPU 911 (processing device) to input the key acquisition request message notified by the execution device 501. When the input key acquisition request message includes two management passwords, the acquisition request input unit 121 determines that updating of the management password is requested at the same time as acquiring the key.
The key password calculation unit 131 (old password calculation unit, new password calculation unit) uses the CPU 911 (processing device), based on each of the two management passwords included in the key acquisition request message input by the acquisition request input unit 121. Calculate the key password. That is, the key password calculation unit 131 calculates an old key password before update and a new key password after update.
The key acquisition unit 132 uses the CPU 911 (processing device) to acquire key data from the sequential storage unit 201 using the old key password before update calculated by the key password calculation unit 131 (old password calculation unit).
The key generation unit 133 does not generate new key data even when the key acquisition unit 132 fails to acquire the key data due to the mismatch of the identification data. This is because the management password is updated on the premise that the sequential storage unit 201 stores old key data.
When the key acquisition unit 132 succeeds in acquiring key data, the key registration unit 135 (password update unit) uses the CPU 911 (processing device) to associate the key password associated with the key data acquired by the key acquisition unit 132. Update. For example, the key registration unit 135 searches the identification data stored in the sequential storage unit 201 for data that matches the identification data included in the key acquisition request data input by the acquisition request input unit 121. When there is matching identification data, the key registration unit 135 associates the identification data with the key password stored in the sequential storage unit 201 and the old before update calculated by the key password calculation unit 131 (old password calculation unit). It is determined whether or not the key password matches. If the key passwords match, the key registration unit 135 causes the sequential storage unit 201 to store the updated new key password calculated by the key password calculation unit 131 (new password calculation unit) instead of the key password. The sequential storage unit 201 uses the magnetic disk device 920 (storage device), replaces only the key password with the updated new key password calculated by the key password calculation unit 131 while keeping the key data and the identification data as it is, The key data and identification data are stored in association with each other.
The reverse password calculation unit 136 uses the CPU 911 (processing device) to calculate a reverse password based on the key data acquired by the key acquisition unit 132.
The reverse storage unit 301 (password update unit) uses the CPU 911 (processing device) to store the identification data that matches the identification data included in the key update request message input by the update request input unit 122 from the stored identification data. look for. When there is matching identification data, the reverse storage unit 301 uses the CPU 911 (processing device) to match the reverse password stored in association with the identification data and the reverse password calculated by the reverse password calculation unit 136. It is determined whether or not. When the reverse passwords match, the reverse storage unit 301 uses the magnetic disk device 920 (storage device) to replace the key password stored in association with the reverse password and identification data, and the key password calculation unit 131 (new The updated new key password calculated by the password calculation unit) is stored. The reverse storage unit 301 replaces only the key password with the updated new key password calculated by the key password calculation unit 131 (new password calculation unit) without changing the stored reverse password and identification data. It is stored in correspondence with the identification data.

図16は、この実施の形態における暗号処理システム800全体の処理の流れの一例を示すフローチャート図である。
鍵管理装置10は、実施の形態2で説明した処理に加えて、更に、パスワード更新処理S730と、削除要求入力処理S780と、鍵削除処理S790とを実行する。
FIG. 16 is a flowchart showing an example of the processing flow of the entire cryptographic processing system 800 in this embodiment.
In addition to the process described in the second embodiment, the key management apparatus 10 further executes a password update process S730, a delete request input process S780, and a key delete process S790.

取得要求入力処理S710において、鍵管理装置10は、鍵取得要求メッセージを入力した場合、入力した鍵取得要求メッセージに含まれる管理パスワードの数に基づいて、管理パスワードの更新が要求されているか否かを判定する。鍵取得要求メッセージに管理パスワードが2つ含まれる場合、鍵管理装置10は、鍵の取得だけでなく、管理パスワードの更新が要求されていると判定し、パスワード更新処理S730へ処理を進める。鍵取得要求メッセージに管理パスワードが1つしか含まれない場合、鍵管理装置10は、管理パスワードの更新は要求されず、鍵の取得だけが要求されていると判定し、鍵取得処理S720へ処理を進める。
パスワード更新処理S730において、鍵管理装置10は、古い管理パスワードによってアクセスできる鍵データに対応づけられた鍵パスワードを更新して、新しい管理パスワードによってアクセスできるようにする。鍵管理装置10は、更新要求入力処理S750へ処理を進める。
In the acquisition request input process S710, when the key management apparatus 10 inputs a key acquisition request message, whether or not the management password update is requested based on the number of management passwords included in the input key acquisition request message. Determine. When two management passwords are included in the key acquisition request message, the key management apparatus 10 determines that not only key acquisition but also management password update is requested, and advances the processing to password update processing S730. When only one management password is included in the key acquisition request message, the key management apparatus 10 determines that the management password update is not requested and only the key acquisition is requested, and the process proceeds to the key acquisition process S720. To proceed.
In the password update process S730, the key management apparatus 10 updates the key password associated with the key data that can be accessed with the old management password so that it can be accessed with the new management password. The key management apparatus 10 advances the process to the update request input process S750.

更新要求入力処理S750において、実行装置501から鍵更新要求メッセージが通知されない場合、鍵管理装置10は、削除要求入力処理S780へ処理を進める。
また、鍵更新処理S760における処理が終わったあとも、鍵管理装置10は、削除要求入力処理S780へ処理を進める。
If the key update request message is not notified from the execution apparatus 501 in the update request input process S750, the key management apparatus 10 advances the process to the delete request input process S780.
Further, even after the process in the key update process S760 is completed, the key management apparatus 10 advances the process to the delete request input process S780.

削除要求入力処理S780において、鍵管理装置10は、実行装置501から鍵削除要求メッセージが通知されたか否かを判定する。実行装置501から鍵削除要求メッセージが通知された場合、鍵管理装置10は、通知された鍵削除要求メッセージを入力して、鍵削除処理S790へ処理を進める。実行装置501から鍵削除要求メッセージが通知されない場合、鍵管理装置10は、取得要求入力処理S710に処理を戻す。
鍵削除処理S790において、鍵管理装置10は、削除要求入力処理S780で入力した鍵削除要求メッセージにしたがって、鍵を削除し、実行装置501に対して、応答メッセージを出力する。鍵管理装置10は、取得要求入力処理S710に処理を戻す。
In the deletion request input process S780, the key management apparatus 10 determines whether or not a key deletion request message has been notified from the execution apparatus 501. When the key deletion request message is notified from the execution apparatus 501, the key management apparatus 10 inputs the notified key deletion request message, and proceeds to the key deletion process S790. If the key deletion request message is not notified from the execution apparatus 501, the key management apparatus 10 returns the process to the acquisition request input process S710.
In the key deletion process S790, the key management apparatus 10 deletes the key according to the key deletion request message input in the deletion request input process S780, and outputs a response message to the execution apparatus 501. The key management apparatus 10 returns the process to the acquisition request input process S710.

取得要求処理S810において、実行装置501は、鍵管理装置10が出力した応答メッセージに含まれる鍵データの数に基づいて、暗号更新処理の途中であるか否かを判定する。応答メッセージに鍵データが2つ含まれる場合、実行装置501は、暗号更新処理の途中であると判定し、暗号更新処理S850へ処理を進める。応答メッセージに鍵データが1つしか含まれない場合、実行装置501は、暗号更新処理の途中ではないと判定し、通常どおり、暗号処理S820へ処理を進める。   In the acquisition request process S810, the execution apparatus 501 determines whether the encryption update process is in progress based on the number of key data included in the response message output by the key management apparatus 10. When two key data are included in the response message, the execution device 501 determines that the encryption update process is in progress, and advances the process to the encryption update process S850. When only one key data is included in the response message, the execution apparatus 501 determines that the encryption update process is not in progress, and proceeds to the encryption process S820 as usual.

暗号更新処理S850が終了したのち、実行装置501は、削除要求工程S860へ処理を進める。
削除要求工程S860において、実行装置501は、鍵管理装置10に対して、鍵削除要求メッセージを通知する。実行装置501は、通知した鍵削除要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。実行装置501は、暗号処理S820に処理を戻す。
After the encryption update process S850 ends, the execution apparatus 501 advances the process to the deletion request process S860.
In the deletion request step S860, the execution device 501 notifies the key management device 10 of a key deletion request message. The execution device 501 acquires the response message output by the key management device 10 as a response to the notified key deletion request message. The execution device 501 returns the process to the encryption process S820.

図17は、この実施の形態における鍵管理装置10の処理の詳細な流れの一例を示すフローチャート図である。
取得要求入力処理S710は、実施の形態2で説明した工程に加えて、更に、パスワード更新判定工程S712を有する。
パスワード更新判定工程S712において、取得要求入力部121は、CPU911を用いて、入力した鍵取得要求メッセージに管理パスワードが2つ含まれているか、1つしか含まれていないかを判定する。鍵取得要求メッセージに管理パスワードが2つ含まれている場合は、管理パスワードの更新要求なので、取得要求入力部121は、CPU911を用いて、パスワード更新処理S730へ処理を進める。鍵取得要求メッセージに管理パスワードが1つしか含まれていない場合は、通常どおり鍵の取得要求なので、取得要求入力部121は、CPU911を用いて、鍵取得処理S720へ処理を進める。
FIG. 17 is a flowchart showing an example of a detailed flow of processing of the key management apparatus 10 in this embodiment.
The acquisition request input process S710 further includes a password update determination process S712 in addition to the processes described in the second embodiment.
In the password update determination step S712, the acquisition request input unit 121 uses the CPU 911 to determine whether the input key acquisition request message includes two management passwords or only one. When two management passwords are included in the key acquisition request message, it is an update request for the management password, so the acquisition request input unit 121 uses the CPU 911 to advance the process to the password update process S730. When only one management password is included in the key acquisition request message, it is a key acquisition request as usual, so the acquisition request input unit 121 uses the CPU 911 to advance the process to key acquisition processing S720.

パスワード更新処理S730は、例えば、旧パスワード算出工程S731と、鍵取得工程S732と、新パスワード算出工程S733と、パスワード更新工程S734と、鍵出力工程S735と、失敗出力工程S736とを有する。
旧パスワード算出工程S731において、鍵パスワード算出部131(旧パスワード算出部)は、CPU911を用いて、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる更新前の古い管理パスワードと証明データとに基づいて、更新前の古い鍵パスワードを算出する。
鍵取得工程S732において、鍵取得部132は、CPU911を用いて、旧パスワード算出工程S731で鍵パスワード算出部131が算出した更新前の古い鍵パスワードを使って、順記憶部201から鍵データを取得する。鍵データの取得に成功した場合、鍵取得部132は、CPU911を用いて、新パスワード算出工程S733へ処理を進める。識別データの不一致や鍵パスワードの不一致により鍵データの取得に失敗した場合、鍵取得部132は、CPU911を用いて、失敗出力工程S736へ処理を進める。
The password update process S730 includes, for example, an old password calculation step S731, a key acquisition step S732, a new password calculation step S733, a password update step S734, a key output step S735, and a failure output step S736.
In the old password calculation step S731, the key password calculation unit 131 (old password calculation unit) uses the CPU 911 to update the old before update included in the key acquisition request message input by the acquisition request input unit 121 in the acquisition request input step S711. Based on the management password and the certification data, the old key password before update is calculated.
In the key acquisition step S732, the key acquisition unit 132 uses the CPU 911 to acquire key data from the sequential storage unit 201 using the old key password before update calculated by the key password calculation unit 131 in the old password calculation step S731. To do. When acquisition of the key data is successful, the key acquisition unit 132 uses the CPU 911 to advance the process to the new password calculation step S733. When acquisition of key data fails due to mismatch of identification data or key password, the key acquisition unit 132 uses the CPU 911 to advance the process to the failure output step S736.

新パスワード算出工程S733において、鍵パスワード算出部131(新パスワード算出部)は、CPU911を用いて、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる更新後の新しい管理パスワードと証明データとに基づいて、更新後の新しい鍵パスワードを算出する。
パスワード更新工程S734において、鍵登録部135(パスワード更新部)は、CPU911を用いて、鍵記憶部110に登録された鍵パスワードを、新パスワード算出工程S733で鍵パスワード算出部131が算出した更新後の新しい鍵パスワードに更新する。順記憶部201は、磁気ディスク装置920を用いて、対応づけられた識別データが、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致し、かつ、対応づけれられた鍵データが、鍵取得工程S732で鍵取得部132が取得した鍵データと一致する鍵パスワードを、新パスワード算出工程S733で鍵パスワード算出部131が算出した更新後の新しい鍵パスワードに置き換えて記憶する。逆パスワード算出部136は、CPU911を用いて、鍵取得工程S732で鍵取得部132が取得した鍵データに基づいて、逆パスワードを算出する。逆記憶部301は、磁気ディスク装置920を用いて、対応づけられた識別データが、取得要求入力工程S711で取得要求入力部121が入力した鍵取得要求メッセージに含まれる識別データと一致し、かつ、対応づけられた逆パスワードが、逆パスワード算出部136が算出した逆パスワードに一致する鍵パスワードを、新パスワード算出工程S733で鍵パスワード算出部131が算出した更新後の新しい鍵パスワードに置き換えて記憶する。なお、なんらかのエラーにより鍵パスワードの更新に失敗した場合、鍵登録部135は、CPU911を用いて、失敗出力工程S736へ処理を進める。
In the new password calculation step S733, the key password calculation unit 131 (new password calculation unit) uses the CPU 911 to update the new updated key acquisition message included in the acquisition request input unit 121 in the acquisition request input step S711. Based on the management password and the certification data, a new updated key password is calculated.
In the password update step S734, the key registration unit 135 (password update unit) uses the CPU 911 to update the key password registered in the key storage unit 110 by the key password calculation unit 131 in the new password calculation step S733. Update to a new key password for. The sequential storage unit 201 uses the magnetic disk device 920 so that the associated identification data matches the identification data included in the key acquisition request message input by the acquisition request input unit 121 in the acquisition request input step S711, and , A key password whose key data matched with the key data acquired by the key acquisition unit 132 in the key acquisition step S732 is the updated new key calculated by the key password calculation unit 131 in the new password calculation step S733. Replace with password and remember. The reverse password calculation unit 136 uses the CPU 911 to calculate a reverse password based on the key data acquired by the key acquisition unit 132 in the key acquisition step S732. The reverse storage unit 301 uses the magnetic disk device 920 so that the associated identification data matches the identification data included in the key acquisition request message input by the acquisition request input unit 121 in the acquisition request input step S711, and The key password whose associated reverse password matches the reverse password calculated by the reverse password calculation unit 136 is replaced with the updated new key password calculated by the key password calculation unit 131 in the new password calculation step S733 and stored. To do. If the key password update fails due to some error, the key registration unit 135 uses the CPU 911 to advance the process to the failure output step S736.

鍵更新処理S760は、実施の形態2で説明した工程のうち、鍵更新工程S764に換えて、新鍵登録工程S767を有する。
新鍵登録工程S767において、鍵登録部135は、更新前の古い鍵データを鍵記憶部110に残したまま、更新後の新しい鍵データを鍵記憶部110に新たに登録する。順記憶部201は、磁気ディスク装置920を用いて、鍵生成工程S763で鍵生成部133(更新鍵生成部)が生成した鍵データと、パスワード取得工程S762でパスワード取得部137が取得した鍵パスワードと、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データとを対応づけて新たに記憶する。なお、更新前の古い鍵データと、更新後の新しい鍵データとを区別する必要があるので、順記憶部201は、例えば鍵データの生成順を表わすデータを、鍵データに対応づけて更に記憶する。逆パスワード算出部136(新逆パスワード算出部)は、CPU911を用いて、鍵生成工程S763で鍵生成部133が生成した更新後の新しい鍵データに基づいて、更新後の新しい逆パスワードを算出する。逆記憶部301は、磁気ディスク装置920を用いて、パスワード取得工程S762でパスワード取得部137が取得した鍵パスワードと、逆パスワード算出部136が算出した更新後の新しい逆パスワードと、更新要求入力工程S751で更新要求入力部122が入力した鍵更新要求メッセージに含まれる識別データとを対応づけて新たに記憶する。なお、逆記憶部301も順記憶部201と同様、例えば鍵データの生成順を表わすデータを、鍵パスワードに対応づけて更に記憶する構成であってもよい。
The key update process S760 includes a new key registration process S767 instead of the key update process S764 among the processes described in the second embodiment.
In the new key registration step S767, the key registration unit 135 newly registers the updated new key data in the key storage unit 110 while leaving the old key data before the update in the key storage unit 110. The sequential storage unit 201 uses the magnetic disk device 920 to generate the key data generated by the key generation unit 133 (update key generation unit) in the key generation step S763 and the key password acquired by the password acquisition unit 137 in the password acquisition step S762. And the identification data included in the key update request message input by the update request input unit 122 in the update request input step S751 are newly stored in association with each other. Since it is necessary to distinguish old key data before update and new key data after update, the order storage unit 201 further stores, for example, data representing the generation order of key data in association with the key data. To do. The reverse password calculation unit 136 (new reverse password calculation unit) uses the CPU 911 to calculate an updated new reverse password based on the updated new key data generated by the key generation unit 133 in the key generation step S763. . The reverse storage unit 301 uses the magnetic disk device 920, the key password acquired by the password acquisition unit 137 in the password acquisition step S762, the updated new reverse password calculated by the reverse password calculation unit 136, and the update request input step In step S751, the identification data included in the key update request message input by the update request input unit 122 is newly stored in association with each other. Similar to the sequential storage unit 201, the reverse storage unit 301 may be configured to further store, for example, data representing the generation order of key data in association with the key password.

削除要求入力処理S780は、例えば、削除要求入力工程S781を有する。
削除要求入力工程S781において、削除要求入力部125は、実行装置501から新たに通知された鍵削除要求メッセージがあれば、CPU911を用いて、通知された鍵削除要求メッセージを入力し、鍵削除処理S790へ処理を進める。実行装置501から通知された鍵削除要求メッセージがない場合、削除要求入力部125は、CPU911を用いて、取得要求入力処理S710に処理を戻す。
The deletion request input process S780 includes, for example, a deletion request input step S781.
In the deletion request input step S781, if there is a key deletion request message newly notified from the execution apparatus 501, the deletion request input unit 125 uses the CPU 911 to input the notified key deletion request message to perform key deletion processing. The process proceeds to S790. If there is no key deletion request message notified from the execution apparatus 501, the deletion request input unit 125 uses the CPU 911 to return the process to the acquisition request input process S710.

鍵削除処理S790は、例えば、逆パスワード算出工程S791と、パスワード取得工程S792と、鍵削除工程S794と、成功出力工程S795と、失敗出力工程S796とを有する。
逆パスワード算出工程S791において、逆パスワード算出部136(削除逆パスワード算出部)は、CPU911を用いて、削除要求入力工程S781で削除要求入力部125が入力した鍵削除要求メッセージに含まれる鍵データに基づいて、逆パスワードを算出する。
パスワード取得工程S762において、パスワード取得部137(削除パスワード取得部)は、CPU911を用いて、逆パスワード算出工程S791で逆パスワード算出部136が算出した逆パスワードと、削除要求入力工程S781で削除要求入力部125が入力した鍵削除要求メッセージに含まれる識別データとを使って、逆記憶部301が記憶した鍵パスワードを取得する。鍵パスワードの取得に成功した場合、パスワード取得部137は、CPU911を用いて、鍵削除工程S794へ処理を進める。識別データの不一致や逆パスワードの不一致により鍵パスワードの取得に失敗した場合、パスワード取得部137は、CPU911を用いて、失敗出力工程S796へ処理を進める。
The key deletion process S790 includes, for example, a reverse password calculation step S791, a password acquisition step S792, a key deletion step S794, a success output step S795, and a failure output step S796.
In the reverse password calculation step S791, the reverse password calculation unit 136 (deletion reverse password calculation unit) uses the CPU 911 to add the key data included in the key deletion request message input by the deletion request input unit 125 in the deletion request input step S781. Based on this, a reverse password is calculated.
In the password acquisition step S762, the password acquisition unit 137 (deletion password acquisition unit) uses the CPU 911 to input the reverse password calculated by the reverse password calculation unit 136 in the reverse password calculation step S791 and the deletion request input in the deletion request input step S781. The key password stored in the reverse storage unit 301 is acquired using the identification data included in the key deletion request message input by the unit 125. If acquisition of the key password is successful, the password acquisition unit 137 uses the CPU 911 to advance the process to the key deletion step S794. If acquisition of the key password fails due to a mismatch in identification data or a mismatch in reverse password, the password acquisition unit 137 uses the CPU 911 to advance the process to a failure output step S796.

鍵削除工程S794において、鍵登録部135(鍵削除部)は、CPU911を用いて、鍵記憶部110に登録された鍵データを削除する。順記憶部201は、磁気ディスク装置920を用いて記憶した鍵データ及び鍵パスワード及び識別データのなかから、対応づけられた識別データが、削除要求入力工程S781で削除要求入力部125が入力した鍵削除要求メッセージに含まれる識別データと一致し、かつ、対応づけられた鍵パスワードが、パスワード取得工程S792でパスワード取得部137が取得した鍵パスワードと一致する鍵データと、その鍵データに対応づけられた鍵パスワード及び識別データとを削除する。逆記憶部301は、磁気ディスク装置920を用いて記憶した鍵パスワード及び逆パスワード及び識別データのなかから、対応づけられた識別データが、削除要求入力工程S781で削除要求入力部125が入力した鍵削除要求メッセージに含まれる識別データと一致し、かつ、対応づけられた逆パスワードが、逆パスワード算出工程S791で逆パスワード算出部136が算出した逆パスワードと一致する鍵パスワードと、その鍵パスワードに対応づけられた逆パスワード及び識別データとを削除する。なお、なんらかのエラーにより鍵データの削除に失敗した場合、鍵登録部135は、CPU911を用いて、失敗出力工程S796へ処理を進める。   In the key deletion step S794, the key registration unit 135 (key deletion unit) uses the CPU 911 to delete the key data registered in the key storage unit 110. The sequential storage unit 201 stores the identification data associated with the key data, the key password, and the identification data stored using the magnetic disk device 920 as the keys input by the deletion request input unit 125 in the deletion request input step S781. The key password that matches the identification data included in the deletion request message and that corresponds to the key password that matches the key password acquired by the password acquisition unit 137 in the password acquisition step S792 is associated with the key data. Delete the key password and identification data. The reverse storage unit 301 uses the key password, the reverse password, and the identification data stored using the magnetic disk device 920 as the identification data associated with the key input by the deletion request input unit 125 in the deletion request input step S781. A key password that matches the identification data included in the deletion request message, and whose associated reverse password matches the reverse password calculated by the reverse password calculation unit 136 in the reverse password calculation step S791, and corresponds to the key password The attached reverse password and identification data are deleted. If deletion of key data fails due to some error, the key registration unit 135 uses the CPU 911 to advance the process to a failure output step S796.

成功出力工程S795において、応答生成部134は、CPU911を用いて、鍵の削除に成功したことを表わす応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、取得要求入力処理S710に処理を戻す。   In the success output step S795, the response generation unit 134 uses the CPU 911 to generate a response message indicating that the key has been successfully deleted. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 returns the process to the acquisition request input process S710.

失敗出力工程S796において、応答生成部134は、CPU911を用いて、鍵の削除に失敗したことを表わす応答メッセージを生成する。応答出力部123は、CPU911を用いて、実行装置501に対して、応答生成部134が生成した応答メッセージを出力する。応答出力部123は、CPU911を用いて、取得要求入力処理S710に処理を戻す。   In the failure output step S796, the response generation unit 134 uses the CPU 911 to generate a response message indicating that the key deletion has failed. Using the CPU 911, the response output unit 123 outputs the response message generated by the response generation unit 134 to the execution device 501. Using the CPU 911, the response output unit 123 returns the process to the acquisition request input process S710.

なお、鍵更新処理S760において、鍵管理装置10は、前回の鍵更新処理S760で残しておいた古い鍵データがまだ削除されていない場合は、鍵の更新に失敗する構成であってもよい。
また、鍵削除処理S790において、鍵管理装置10は、鍵更新処理S760で残しておいた古い鍵データではなく、鍵更新処理S760で新たに生成した新しい鍵データを削除しようとした場合は、鍵の削除に失敗する構成であってもよい。
In the key update process S760, the key management apparatus 10 may be configured to fail to update the key if the old key data left in the previous key update process S760 has not yet been deleted.
In the key deletion process S790, if the key management apparatus 10 tries to delete the new key data newly generated in the key update process S760 instead of the old key data left in the key update process S760, It may be a configuration that fails to delete.

図18は、この実施の形態における実行装置501の処理の詳細な流れの一例を示すフローチャート図である。   FIG. 18 is a flowchart showing an example of a detailed flow of processing of the execution apparatus 501 in this embodiment.

管理パスワード取得工程S811において、管理パスワード取得部511は、CPU911を用いて、1つまたは2つの管理パスワードを取得する。
鍵取得要求生成工程S812において、取得要求生成部512は、CPU911を用いて、管理パスワード取得工程S811で管理パスワード取得部511が取得した1つまたは2つの管理パスワードを含む鍵取得要求メッセージを生成する。
In the management password acquisition step S811, the management password acquisition unit 511 uses the CPU 911 to acquire one or two management passwords.
In the key acquisition request generation step S812, the acquisition request generation unit 512 uses the CPU 911 to generate a key acquisition request message including one or two management passwords acquired by the management password acquisition unit 511 in the management password acquisition step S811. .

鍵記憶工程S815において、暗号鍵記憶部532は、RAM914を用いて、応答取得工程S814で応答取得部531が取得した応答メッセージに含まれる鍵データを記憶する。応答メッセージに鍵データが2つ含まれる場合、暗号鍵記憶部532は、暗号選択工程S851へ処理を進める。応答メッセージに鍵データが1つしか含まれない場合、暗号鍵記憶部532は、暗号処理S820へ処理を進める。   In the key storage step S815, the encryption key storage unit 532 uses the RAM 914 to store key data included in the response message acquired by the response acquisition unit 531 in the response acquisition step S814. When two key data are included in the response message, the encryption key storage unit 532 advances the processing to the encryption selection step S851. When only one key data is included in the response message, the encryption key storage unit 532 advances the processing to encryption processing S820.

暗号更新処理S850は、実施の形態2で説明した旧鍵削除工程S855を有さない。
暗号選択工程S851において、暗号記憶部542が記憶した暗号化データがすべて処理済である場合、復号部402は、CPU911を用いて、削除要求工程S860へ処理を進める。
The cryptographic update processing S850 does not have the old key deletion step S855 described in the second embodiment.
In the encryption selection step S851, when all the encrypted data stored in the encryption storage unit 542 has been processed, the decryption unit 402 uses the CPU 911 to advance the process to the deletion request step S860.

削除要求工程S860は、例えば、鍵削除要求生成工程S861と、鍵削除要求通知工程S862と、応答取得工程S863と、旧鍵削除工程S864とを有する。
鍵削除要求生成工程S861において、削除要求生成部552は、CPU911を用いて、暗号鍵記憶部532が記憶している更新前の古い鍵データと、識別データとを含む鍵削除要求メッセージを生成する。
鍵削除要求通知工程S862において、削除要求通知部553は、CPU911を用いて、鍵削除要求生成工程S861で削除要求生成部552が生成した鍵削除要求メッセージを、鍵管理装置10に対して通知する。
応答取得工程S863において、応答取得部531は、CPU911を用いて、鍵削除要求通知工程S862で削除要求生成部552が通知した鍵削除要求メッセージに対する応答として鍵管理装置10が出力した応答メッセージを取得する。
旧鍵削除工程S855において、暗号鍵記憶部532は、RAM914を用いて記憶した更新前の古い鍵データを削除する。暗号鍵記憶部532は、CPU911を用いて、暗号処理S820に処理を戻す。
The deletion request step S860 includes, for example, a key deletion request generation step S861, a key deletion request notification step S862, a response acquisition step S863, and an old key deletion step S864.
In the key deletion request generation step S861, the deletion request generation unit 552 uses the CPU 911 to generate a key deletion request message including old key data before update stored in the encryption key storage unit 532 and identification data. .
In the key deletion request notification step S862, the deletion request notification unit 553 uses the CPU 911 to notify the key management apparatus 10 of the key deletion request message generated by the deletion request generation unit 552 in the key deletion request generation step S861. .
In the response acquisition step S863, the response acquisition unit 531 uses the CPU 911 to acquire the response message output by the key management apparatus 10 as a response to the key deletion request message notified by the deletion request generation unit 552 in the key deletion request notification step S862. To do.
In the old key deletion step S855, the encryption key storage unit 532 deletes the old key data before update stored using the RAM 914. Using the CPU 911, the encryption key storage unit 532 returns the process to the encryption process S820.

以上、各実施の形態で説明した構成は一例であり、これに限るものではない。例えば、異なる実施の形態で説明した構成を組み合わせた構成としてもよいし、重要でない部分の構成を他の構成で置き換えた構成としてもよい。   The configuration described in each embodiment has been described above by way of example and is not limited thereto. For example, the configuration described in different embodiments may be combined, or the configuration of an unimportant portion may be replaced with another configuration.

以上説明した鍵管理装置(10)は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、鍵記憶部(110;キーストア装置200、パスワードストア装置300)と、取得要求入力部(121;鍵・パスワード生成管理装置100)と、鍵パスワード算出部(131;鍵・パスワード生成管理装置100)と、鍵取得部(132;キーストア装置200)と、新規鍵生成部(鍵生成部133;鍵・パスワード生成管理装置100)と、鍵登録部(135;キーストア装置200、パスワードストア装置300)と、鍵出力部(応答出力部123;鍵・パスワード生成管理装置100)と、更新要求入力部(122;鍵・パスワード生成管理装置100)と、更新鍵生成部(鍵生成部133;鍵・パスワード生成管理装置100)と、鍵更新部(鍵登録部135;キーストア装置200、パスワードストア装置300)と、更新鍵出力部(応答出力部123;鍵・パスワード生成管理装置100)とを有する。
上記鍵記憶部は、上記記憶装置を用いて、暗号処理に使用する鍵と上記鍵にアクセスするための鍵パスワードとを記憶する。
上記取得要求入力部は、上記処理装置を用いて、取得すべき鍵の管理に使用する管理パスワードを入力する。
上記鍵パスワード算出部は、上記処理装置を用いて、上記取得要求入力部が入力した管理パスワードに基づいて、鍵パスワードを算出する。
上記鍵取得部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵を取得する。
上記新規鍵生成部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、鍵を生成する。
上記鍵登録部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを上記鍵記憶部に記憶させる。
上記鍵出力部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵取得部が取得した鍵を出力し、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵を出力する。
上記更新要求入力部は、上記処理装置を用いて、更新すべき鍵を入力する。
上記更新鍵生成部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、鍵を生成する。
上記鍵更新部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記鍵記憶部に記憶させる。
上記更新鍵出力部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記更新鍵生成部が生成した鍵を出力する。
The key management device (10) described above includes a storage device (magnetic disk device 920) for storing data, a processing device (CPU 911) for processing data, and a key storage unit (110; key store device 200, password store device). 300), an acquisition request input unit (121; key / password generation management device 100), a key password calculation unit (131; key / password generation management device 100), and a key acquisition unit (132; key store device 200) , A new key generation unit (key generation unit 133; key / password generation management device 100), a key registration unit (135; key store device 200, password store device 300), and a key output unit (response output unit 123; Password generation management device 100), update request input unit (122; key / password generation management device 100), update key generation unit (key generation unit) 33; key / password generation management device 100), key update unit (key registration unit 135; key store device 200, password store device 300), update key output unit (response output unit 123; key / password generation management device 100) ).
The key storage unit uses the storage device to store a key used for encryption processing and a key password for accessing the key.
The acquisition request input unit inputs a management password used for managing a key to be acquired using the processing device.
The key password calculation unit calculates a key password based on the management password input by the acquisition request input unit using the processing device.
The key acquisition unit acquires the key stored in the key storage unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored in the key storage unit. To do.
The new key generation unit generates a key using the processing device when the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit.
When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the key registration unit uses the processing device to generate the key generated by the new key generation unit. The key password calculated by the key password calculation unit is stored in the key storage unit.
The key output unit outputs the key acquired by the key acquisition unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored by the key storage unit. When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the key generated by the new key generation unit is output using the processing device.
The update request input unit inputs a key to be updated using the processing device.
The update key generation unit generates a key using the processing device when the key input by the update request input unit matches the key stored by the key storage unit.
When the key input by the update request input unit matches the key stored by the key storage unit, the key update unit uses the processing device to replace the key stored by the key storage unit, The key generated by the update key generation unit is stored in the key storage unit.
The update key output unit outputs the key generated by the update key generation unit using the processing device when the key input by the update request input unit matches the key stored in the key storage unit. To do.

鍵の取得には、管理パスワードから算出した鍵パスワードが必要なので、鍵の漏洩を防ぐことができる。また、鍵の更新には、更新前の鍵があればよいので、容易に鍵を更新することができる。   Since the key password calculated from the management password is required to acquire the key, it is possible to prevent key leakage. In addition, the key can be easily updated because the key before the update is sufficient.

上記鍵パスワード算出部は、上記処理装置を用いて、上記取得要求入力部が上記管理パスワードを入力した文脈を取得し、上記取得要求入力部が入力した管理パスワードと取得した文脈とに基づいて、鍵パスワードを算出する。   The key password calculation unit acquires the context in which the acquisition request input unit has input the management password using the processing device, and based on the management password input by the acquisition request input unit and the acquired context, Calculate the key password.

管理パスワードと文脈とに基づいて鍵パスワードを算出するので、管理パスワードを知っていても、異なる文脈では、鍵を取得できず、鍵の漏洩を防ぐことができる。   Since the key password is calculated based on the management password and the context, even if the management password is known, the key cannot be obtained in a different context, and the key leakage can be prevented.

上記鍵パスワード算出部は、上記処理装置を用いて、上記管理パスワードを表わすデータと上記文脈を表わすデータとを結合し、結合したデータを一方向性関数により変換することにより、鍵パスワードを算出する。   The key password calculation unit calculates the key password by combining the data representing the management password and the data representing the context using the processing device, and converting the combined data by a one-way function. .

管理パスワードと文脈とを係合して一方向性関数により変換するので、管理パスワード及び文脈のいずれかを知っていても、鍵パスワードを算出することができない。   Since the management password and the context are engaged and converted by the one-way function, the key password cannot be calculated even if either the management password or the context is known.

上記鍵管理装置は、更に、逆パスワード算出部(136;鍵・パスワード生成管理装置100)と、旧逆パスワード算出部(逆パスワード算出部136;鍵・パスワード生成管理装置100)と、新逆パスワード算出部(逆パスワード算出部136;鍵・パスワード生成管理装置100)と、パスワード取得部(137;パスワードストア装置300)とを有する。
上記鍵記憶部は、順記憶部(201;キーストア装置200)と、逆記憶部(301;パスワードストア装置300)とを有する。
上記逆パスワード算出部は、上記処理装置を用いて、上記新規鍵生成部が生成した鍵に基づいて、上記鍵パスワードにアクセスするための逆パスワードを算出する。
上記順記憶部は、上記記憶装置を用いて、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを記憶する。
上記逆記憶部は、上記記憶装置を用いて、上記鍵パスワード算出部が算出した鍵パスワードと上記逆パスワード算出部が算出した逆パスワードとを記憶する。
上記鍵取得部は、上記処理装置を用いて、入力した鍵パスワードと上記順記憶部が記憶した鍵パスワードとが一致する場合に、上記順記憶部が記憶した鍵を出力する。
上記旧逆パスワード算出部は、上記処理装置を用いて、上記更新要求入力部が入力した鍵に基づいて、逆パスワードを算出する。
上記パスワード取得部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、上記逆記憶部が記憶した鍵パスワードを取得する。
上記更新鍵生成部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、鍵を生成する。
上記新逆パスワード算出部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、上記更新鍵生成部が生成した鍵に基づいて、逆パスワードを算出する。
上記鍵更新部は、上記処理装置を用いて、上記パスワード取得部が取得した鍵パスワードが、上記順記憶部が記憶した鍵パスワードと一致する場合に、上記順記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記順記憶部に記憶させ、上記逆記憶部が記憶した逆パスワードに代えて、上記新逆パスワード算出部が算出した逆パスワードを上記逆記憶部に記憶させる。
The key management device further includes a reverse password calculation unit (136; key / password generation management device 100), an old reverse password calculation unit (reverse password calculation unit 136; key / password generation management device 100), and a new reverse password. A calculation unit (reverse password calculation unit 136; key / password generation management device 100) and a password acquisition unit (137; password store device 300) are included.
The key storage unit includes a sequential storage unit (201; key store device 200) and a reverse storage unit (301; password store device 300).
The reverse password calculation unit calculates a reverse password for accessing the key password based on the key generated by the new key generation unit using the processing device.
The sequential storage unit stores the key generated by the new key generation unit and the key password calculated by the key password calculation unit using the storage device.
The reverse storage unit stores the key password calculated by the key password calculation unit and the reverse password calculated by the reverse password calculation unit using the storage device.
The key acquisition unit outputs the key stored in the sequential storage unit when the input key password matches the key password stored in the sequential storage unit using the processing device.
The old reverse password calculation unit calculates the reverse password based on the key input by the update request input unit using the processing device.
The password acquisition unit uses the processing device to store the key password stored in the reverse storage unit when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored in the reverse storage unit. To get.
The update key generation unit generates a key using the processing device when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored by the reverse storage unit.
The new reverse password calculation unit generates the update key generation unit using the processing device when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored by the reverse storage unit. The reverse password is calculated based on the key.
The key update unit uses the processing device to replace the key stored in the sequential storage unit when the key password acquired by the password acquisition unit matches the key password stored in the sequential storage unit. The key generated by the update key generation unit is stored in the sequential storage unit, and the reverse password calculated by the new reverse password calculation unit is stored in the reverse storage unit instead of the reverse password stored by the reverse storage unit. Let

順記憶部が記憶した鍵にアクセスするには、鍵パスワードが必要になる。また、逆記憶部が記憶した鍵パスワードにアクセスするには、鍵から算出した逆パスワードが必要になる。これにより、鍵と鍵パスワードといずれかを知っていれば、他方も知ることができるので、容易に鍵を更新することができる。   A key password is required to access the key stored in the sequential storage unit. Further, in order to access the key password stored in the reverse storage unit, the reverse password calculated from the key is required. Thus, if one of the key and the key password is known, the other can be known, so that the key can be easily updated.

上記逆パスワード算出部及び上記旧逆パスワード算出部及び上記新逆パスワード算出部は、上記処理装置を用いて、上記鍵を一方向性関数により変換することにより、上記逆パスワードを生成する。   The reverse password calculation unit, the old reverse password calculation unit, and the new reverse password calculation unit generate the reverse password by converting the key with a one-way function using the processing device.

鍵を一方向性関数により変換して逆パスワードを生成するので、逆パスワードから鍵を生成することはできない。   Since the reverse password is generated by converting the key with a one-way function, the key cannot be generated from the reverse password.

上記鍵管理装置は、更に、パスワード更新要求入力部(取得要求入力部121)と、旧パスワード算出部(鍵パスワード算出部131)と、新パスワード算出部(鍵パスワード算出部131)と、パスワード更新部(鍵登録部135)とを有する。
上記パスワード更新要求入力部は、更新すべき古い管理パスワードと更新後の新たな管理パスワードとを入力する。
上記旧パスワード算出部は、上記処理装置を用いて、上記パスワード更新要求入力部が入力した古い管理パスワードに基づいて、鍵パスワードを算出する。
上記新パスワード算出部は、上記処理装置を用いて、上記パスワード更新要求入力部が入力した新たな管理パスワードに基づいて、鍵パスワードを算出する。
上記パスワード更新部は、上記旧パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵パスワードに代えて、上記新パスワード算出部が算出した鍵パスワードを上記鍵記憶部に記憶させる。
The key management apparatus further includes a password update request input unit (acquisition request input unit 121), an old password calculation unit (key password calculation unit 131), a new password calculation unit (key password calculation unit 131), and a password update. (Key registration unit 135).
The password update request input unit inputs an old management password to be updated and a new management password after update.
The old password calculation unit calculates a key password using the processing device based on the old management password input by the password update request input unit.
The new password calculation unit calculates a key password using the processing device based on the new management password input by the password update request input unit.
When the key password calculated by the old password calculation unit matches the key password stored by the key storage unit, the password update unit uses the processing device to update the key password stored by the key storage unit. Instead, the key password calculated by the new password calculation unit is stored in the key storage unit.

管理パスワードを更新できるので、鍵の漏洩を防ぐことができる。   Since the management password can be updated, key leakage can be prevented.

以上説明した暗号処理システム(800)は、上記鍵管理装置(10)と、実行装置(501;業務アプリケーション装置500)とを有する。
上記実行装置は、データを記憶する実行記憶装置(RAM914、磁気ディスク装置920)と、データを処理する実行処理装置(CPU911)と、取得要求部(510)と、暗号鍵記憶部(532)と、暗号処理部(540;暗号/復号化装置400)と、暗号鍵更新部(暗号鍵記憶部532)とを有する。
上記取得要求部は、上記実行処理装置を用いて、管理パスワードを取得する。
上記取得要求入力部は、上記処理装置を用いて、上記取得要求部が取得した管理パスワードを入力する。
上記暗号鍵記憶部は、上記実行記憶装置を用いて、上記鍵出力部が出力した鍵を記憶する。
上記暗号処理部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、暗号処理を実行する。
上記更新要求入力部は、上記処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を入力する。
上記暗号鍵更新部は、上記実行処理装置を用いて、上記更新鍵出力部が出力した鍵を上記暗号鍵記憶部に記憶させる。
The cryptographic processing system (800) described above includes the key management device (10) and the execution device (501; business application device 500).
The execution device includes an execution storage device (RAM 914, magnetic disk device 920) for storing data, an execution processing device (CPU 911) for processing data, an acquisition request unit (510), and an encryption key storage unit (532). And an encryption processing unit (540; encryption / decryption device 400) and an encryption key update unit (encryption key storage unit 532).
The acquisition request unit acquires a management password using the execution processing device.
The acquisition request input unit inputs the management password acquired by the acquisition request unit using the processing device.
The encryption key storage unit stores the key output by the key output unit using the execution storage device.
The encryption processing unit executes encryption processing using the key stored in the encryption key storage unit using the execution processing device.
The update request input unit inputs the key stored in the encryption key storage unit using the processing device.
The encryption key update unit stores the key output from the update key output unit in the encryption key storage unit using the execution processing device.

鍵管理装置が管理する鍵を使って暗号処理をするので、情報の漏洩を防ぐことができる。   Since encryption processing is performed using a key managed by the key management device, information leakage can be prevented.

上記実行記憶装置は、揮発性の揮発性記憶装置(RAM914)と、不揮発性の不揮発性記憶装置(磁気ディスク装置920)とを有する。
上記暗号処理部は、暗号化部(401)と、暗号記憶部(542)と、復号部(402)と、更新暗号化部(暗号化部401)と、暗号更新部(暗号記憶部542)とを有する。
上記暗号鍵記憶部は、上記揮発性記憶装置を用いて、上記鍵出力部及び上記更新鍵出力部が出力した鍵を記憶する。
上記暗号化部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、平文データを暗号化して暗号化データを生成する。
上記暗号記憶部は、上記不揮発性記憶装置を用いて、上記暗号化部が生成した暗号化データを記憶する。
上記復号部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、上記暗号記憶部が記憶した暗号化データを復号して復元平文データを生成する。
上記更新暗号化部は、上記実行処理装置を用いて、上記更新鍵出力部が出力した鍵を使って、上記復号部が生成した復元平文データを暗号化して更新暗号化データを生成する。
上記暗号更新部は、上記実行処理装置を用いて、上記暗号記憶部が記憶した暗号化データに代えて、上記更新暗号化部が生成した更新暗号化データを上記暗号記憶部に記憶させる。
The execution storage device includes a volatile volatile storage device (RAM 914) and a nonvolatile volatile storage device (magnetic disk device 920).
The encryption processing unit includes an encryption unit (401), an encryption storage unit (542), a decryption unit (402), an update encryption unit (encryption unit 401), and an encryption update unit (encryption storage unit 542). And have.
The encryption key storage unit stores the keys output by the key output unit and the update key output unit using the volatile storage device.
The encryption unit encrypts plaintext data using the execution processing device and generates the encrypted data by using the key stored in the encryption key storage unit.
The encryption storage unit stores the encrypted data generated by the encryption unit using the nonvolatile storage device.
The decryption unit uses the execution processing device to decrypt the encrypted data stored in the encryption storage unit using the key stored in the encryption key storage unit to generate restored plaintext data.
The update encryption unit uses the execution processing device to encrypt the restored plaintext data generated by the decryption unit using the key output from the update key output unit to generate update encrypted data.
The encryption update unit uses the execution processing device to store the update encrypted data generated by the update encryption unit in the encryption storage unit instead of the encrypted data stored in the encryption storage unit.

鍵の更新に伴って、暗号化データを更新するので、情報の漏洩を防ぐことができる。   Since the encrypted data is updated as the key is updated, information leakage can be prevented.

以上説明した鍵管理装置10は、コンピュータを鍵管理装置10として機能させるプログラムをコンピュータが実行することにより実現することができる。   The key management apparatus 10 described above can be realized by causing a computer to execute a program that causes the computer to function as the key management apparatus 10.

10 鍵管理装置、100 鍵・パスワード生成管理装置、110 鍵記憶部、121 取得要求入力部、122 更新要求入力部、123 応答出力部、125 削除要求入力部、131 鍵パスワード算出部、132 鍵取得部、133 鍵生成部、134 応答生成部、135 鍵登録部、136 逆パスワード算出部、137 パスワード取得部、200 キーストア装置、201 順記憶部、300 パスワードストア装置、301 逆記憶部、400 暗号/復号化装置、401 暗号化部、402 復号部、500 業務アプリケーション装置、501 実行装置、510 取得要求部、511 管理パスワード取得部、512 取得要求生成部、513 取得要求通知部、520 更新要求部、521 更新判定部、522 更新要求生成部、523 更新要求通知部、531 応答取得部、532 暗号鍵記憶部、540 暗号処理部、541 平文入力部、542 暗号記憶部、543 平文出力部、550 削除要求部、552 削除要求生成部、553 削除要求通知部、600 クライアントアプリケーション装置、701 パスワード、702 呼び出し情報、703 連結データ、704,707 ハッシュ値、705 キーストアパスワード、706 鍵、708 パスワードストアパスワード、800 暗号処理システム、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。   10 key management device, 100 key / password generation management device, 110 key storage unit, 121 acquisition request input unit, 122 update request input unit, 123 response output unit, 125 deletion request input unit, 131 key password calculation unit, 132 key acquisition Unit, 133 key generation unit, 134 response generation unit, 135 key registration unit, 136 reverse password calculation unit, 137 password acquisition unit, 200 key store device, 201 sequential storage unit, 300 password store device, 301 reverse storage unit, 400 encryption / Decryption device, 401 encryption unit, 402 decryption unit, 500 business application device, 501 execution device, 510 acquisition request unit, 511 management password acquisition unit, 512 acquisition request generation unit, 513 acquisition request notification unit, 520 update request unit 521 Update determination unit 522 Update request generation unit 5 3 Update request notifying unit, 531 Response obtaining unit, 532 Encryption key storage unit, 540 Encryption processing unit, 541 Plain text input unit, 542 Encryption storage unit, 543 Plain text output unit, 550 Delete request unit, 552 Delete request generation unit, 553 Delete Request notification unit, 600 client application device, 701 password, 702 call information, 703 connection data, 704, 707 hash value, 705 key store password, 706 key, 708 password store password, 800 cryptographic processing system, 901 display device, 902 keyboard , 903 mouse, 904 FDD, 905 CDD, 906 printer device, 907 scanner device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication device, 92 Magnetic disk drive, 921 OS, 922 Window system, 923 Program group, 924 File group, 931 telephone, 932 a facsimile machine, 940 Internet, 941 Gateway, 942 LAN.

Claims (10)

データを記憶する記憶装置と、データを処理する処理装置と、鍵記憶部と、取得要求入力部と、鍵パスワード算出部と、鍵取得部と、新規鍵生成部と、鍵登録部と、鍵出力部と、更新要求入力部と、更新鍵生成部と、鍵更新部と、更新鍵出力部とを有し、
上記鍵記憶部は、上記記憶装置を用いて、暗号処理に使用する鍵と上記鍵にアクセスするための鍵パスワードとを記憶し、
上記取得要求入力部は、上記処理装置を用いて、取得すべき鍵の管理に使用する管理パスワードを入力し、
上記鍵パスワード算出部は、上記処理装置を用いて、上記取得要求入力部が入力した管理パスワードに基づいて、鍵パスワードを算出し、
上記鍵取得部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵を取得し、
上記新規鍵生成部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、鍵を生成し、
上記鍵登録部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを上記鍵記憶部に記憶させ、
上記鍵出力部は、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵取得部が取得した鍵を出力し、上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、上記処理装置を用いて、上記新規鍵生成部が生成した鍵を出力し、
上記更新要求入力部は、上記処理装置を用いて、更新すべき鍵を入力し、
上記更新鍵生成部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、鍵を生成し、
上記鍵更新部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記鍵記憶部に記憶させ、
上記更新鍵出力部は、上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、上記処理装置を用いて、上記更新鍵生成部が生成した鍵を出力することを特徴とする鍵管理装置。
Storage device for storing data, processing device for processing data, key storage unit, acquisition request input unit, key password calculation unit, key acquisition unit, new key generation unit, key registration unit, key An output unit, an update request input unit, an update key generation unit, a key update unit, and an update key output unit;
The key storage unit uses the storage device to store a key used for cryptographic processing and a key password for accessing the key,
The acquisition request input unit uses the processing device to input a management password used for managing a key to be acquired,
The key password calculation unit calculates the key password based on the management password input by the acquisition request input unit using the processing device,
The key acquisition unit acquires the key stored in the key storage unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored in the key storage unit. And
The new key generation unit generates a key using the processing device when the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit,
When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the key registration unit uses the processing device to generate the key generated by the new key generation unit. The key password calculated by the key password calculation unit is stored in the key storage unit,
The key output unit outputs the key acquired by the key acquisition unit using the processing device when the key password calculated by the key password calculation unit matches the key password stored by the key storage unit. When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit, the processing device is used to output the key generated by the new key generation unit,
The update request input unit inputs a key to be updated using the processing device,
The update key generation unit generates a key using the processing device when the key input by the update request input unit matches the key stored by the key storage unit,
When the key input by the update request input unit matches the key stored by the key storage unit, the key update unit uses the processing device to replace the key stored by the key storage unit, Storing the key generated by the update key generation unit in the key storage unit;
The update key output unit outputs the key generated by the update key generation unit using the processing device when the key input by the update request input unit matches the key stored in the key storage unit. And a key management device.
上記鍵パスワード算出部は、上記処理装置を用いて、上記取得要求入力部が上記管理パスワードを入力した文脈を取得し、上記取得要求入力部が入力した管理パスワードと取得した文脈とに基づいて、鍵パスワードを算出することを特徴とする請求項1に記載の鍵管理装置。   The key password calculation unit acquires the context in which the acquisition request input unit has input the management password using the processing device, and based on the management password input by the acquisition request input unit and the acquired context, The key management apparatus according to claim 1, wherein a key password is calculated. 上記鍵パスワード算出部は、上記処理装置を用いて、上記管理パスワードを表わすデータと上記文脈を表わすデータとを結合し、結合したデータを一方向性関数により変換することにより、鍵パスワードを算出することを特徴とする請求項2に記載の鍵管理装置。   The key password calculation unit calculates the key password by combining the data representing the management password and the data representing the context using the processing device, and converting the combined data by a one-way function. The key management apparatus according to claim 2. 上記鍵管理装置は、更に、逆パスワード算出部と、旧逆パスワード算出部と、新逆パスワード算出部と、パスワード取得部とを有し、
上記鍵記憶部は、順記憶部と、逆記憶部とを有し、
上記逆パスワード算出部は、上記処理装置を用いて、上記新規鍵生成部が生成した鍵に基づいて、上記鍵パスワードにアクセスするための逆パスワードを算出し、
上記順記憶部は、上記記憶装置を用いて、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを記憶し、
上記逆記憶部は、上記記憶装置を用いて、上記鍵パスワード算出部が算出した鍵パスワードと上記逆パスワード算出部が算出した逆パスワードとを記憶し、
上記鍵取得部は、上記処理装置を用いて、入力した鍵パスワードと上記順記憶部が記憶した鍵パスワードとが一致する場合に、上記順記憶部が記憶した鍵を出力し、
上記旧逆パスワード算出部は、上記処理装置を用いて、上記更新要求入力部が入力した鍵に基づいて、逆パスワードを算出し、
上記パスワード取得部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、上記逆記憶部が記憶した鍵パスワードを取得し、
上記更新鍵生成部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、鍵を生成し、
上記新逆パスワード算出部は、上記旧逆パスワード算出部が算出した逆パスワードが、上記逆記憶部が記憶した逆パスワードと一致する場合に、上記処理装置を用いて、上記更新鍵生成部が生成した鍵に基づいて、逆パスワードを算出し、
上記鍵更新部は、上記処理装置を用いて、上記パスワード取得部が取得した鍵パスワードが、上記順記憶部が記憶した鍵パスワードと一致する場合に、上記順記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記順記憶部に記憶させ、上記逆記憶部が記憶した逆パスワードに代えて、上記新逆パスワード算出部が算出した逆パスワードを上記逆記憶部に記憶させることを特徴とする請求項1乃至請求項3のいずれかに記載の鍵管理装置。
The key management device further includes a reverse password calculation unit, an old reverse password calculation unit, a new reverse password calculation unit, and a password acquisition unit,
The key storage unit includes a sequential storage unit and a reverse storage unit,
The reverse password calculation unit calculates a reverse password for accessing the key password based on the key generated by the new key generation unit using the processing device;
The sequential storage unit stores the key generated by the new key generation unit and the key password calculated by the key password calculation unit using the storage device,
The reverse storage unit stores the key password calculated by the key password calculation unit and the reverse password calculated by the reverse password calculation unit using the storage device,
The key acquisition unit outputs the key stored in the sequential storage unit when the input key password matches the key password stored in the sequential storage unit using the processing device,
The old reverse password calculation unit calculates a reverse password based on the key input by the update request input unit using the processing device;
The password acquisition unit uses the processing device to store the key password stored in the reverse storage unit when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored in the reverse storage unit. Get
The update key generation unit generates a key using the processing device when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored by the reverse storage unit,
The new reverse password calculation unit generates the update key generation unit using the processing device when the reverse password calculated by the old reverse password calculation unit matches the reverse password stored by the reverse storage unit. Calculate the reverse password based on the key
The key update unit uses the processing device to replace the key stored in the sequential storage unit when the key password acquired by the password acquisition unit matches the key password stored in the sequential storage unit. The key generated by the update key generation unit is stored in the sequential storage unit, and the reverse password calculated by the new reverse password calculation unit is stored in the reverse storage unit instead of the reverse password stored by the reverse storage unit. The key management apparatus according to any one of claims 1 to 3, wherein
上記逆パスワード算出部及び上記旧逆パスワード算出部及び上記新逆パスワード算出部は、上記処理装置を用いて、上記鍵を一方向性関数により変換することにより、上記逆パスワードを生成することを特徴とする請求項4に記載の鍵管理装置。   The reverse password calculation unit, the old reverse password calculation unit, and the new reverse password calculation unit generate the reverse password by converting the key with a one-way function using the processing device. The key management apparatus according to claim 4. 上記鍵管理装置は、更に、パスワード更新要求入力部と、旧パスワード算出部と、新パスワード算出部と、パスワード更新部とを有し、
上記パスワード更新要求入力部は、更新すべき古い管理パスワードと更新後の新たな管理パスワードとを入力し、
上記旧パスワード算出部は、上記処理装置を用いて、上記パスワード更新要求入力部が入力した古い管理パスワードに基づいて、鍵パスワードを算出し、
上記新パスワード算出部は、上記処理装置を用いて、上記パスワード更新要求入力部が入力した新たな管理パスワードに基づいて、鍵パスワードを算出し、
上記パスワード更新部は、上記旧パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、上記処理装置を用いて、上記鍵記憶部が記憶した鍵パスワードに代えて、上記新パスワード算出部が算出した鍵パスワードを上記鍵記憶部に記憶させることを特徴とする請求項1乃至請求項5のいずれかに記載の鍵管理装置。
The key management device further includes a password update request input unit, an old password calculation unit, a new password calculation unit, and a password update unit,
The password update request input unit inputs an old management password to be updated and a new management password after the update,
The old password calculation unit calculates a key password based on the old management password input by the password update request input unit using the processing device,
The new password calculation unit calculates a key password based on the new management password input by the password update request input unit using the processing device,
When the key password calculated by the old password calculation unit matches the key password stored by the key storage unit, the password update unit uses the processing device to update the key password stored by the key storage unit. 6. The key management device according to claim 1, wherein the key password calculated by the new password calculation unit is stored in the key storage unit.
請求項1乃至請求項6のいずれかに記載の鍵管理装置と、実行装置とを有し、
上記実行装置は、データを記憶する実行記憶装置と、データを処理する実行処理装置と、取得要求部と、暗号鍵記憶部と、暗号処理部と、暗号鍵更新部とを有し、
上記取得要求部は、上記実行処理装置を用いて、管理パスワードを取得し、
上記取得要求入力部は、上記処理装置を用いて、上記取得要求部が取得した管理パスワードを入力し、
上記暗号鍵記憶部は、上記実行記憶装置を用いて、上記鍵出力部が出力した鍵を記憶し、
上記暗号処理部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、暗号処理を実行し、
上記更新要求入力部は、上記処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を入力し、
上記暗号鍵更新部は、上記実行処理装置を用いて、上記更新鍵出力部が出力した鍵を上記暗号鍵記憶部に記憶させることを特徴とする暗号処理システム。
A key management device according to any one of claims 1 to 6 and an execution device,
The execution device includes an execution storage device that stores data, an execution processing device that processes data, an acquisition request unit, an encryption key storage unit, an encryption processing unit, and an encryption key update unit,
The acquisition request unit acquires the management password using the execution processing device,
The acquisition request input unit inputs the management password acquired by the acquisition request unit using the processing device,
The encryption key storage unit stores the key output by the key output unit using the execution storage device,
The cryptographic processing unit performs cryptographic processing using the key stored in the cryptographic key storage unit using the execution processing device,
The update request input unit inputs the key stored in the encryption key storage unit using the processing device,
The encryption key update unit stores the key output from the update key output unit in the encryption key storage unit using the execution processing device.
上記実行記憶装置は、揮発性の揮発性記憶装置と、不揮発性の不揮発性記憶装置とを有し、
上記暗号処理部は、暗号化部と、暗号記憶部と、復号部と、更新暗号化部と、暗号更新部とを有し、
上記暗号鍵記憶部は、上記揮発性記憶装置を用いて、上記鍵出力部及び上記更新鍵出力部が出力した鍵を記憶し、
上記暗号化部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、平文データを暗号化して暗号化データを生成し、
上記暗号記憶部は、上記不揮発性記憶装置を用いて、上記暗号化部が生成した暗号化データを記憶し、
上記復号部は、上記実行処理装置を用いて、上記暗号鍵記憶部が記憶した鍵を使って、上記暗号記憶部が記憶した暗号化データを復号して復元平文データを生成し、
上記更新暗号化部は、上記実行処理装置を用いて、上記更新鍵出力部が出力した鍵を使って、上記復号部が生成した復元平文データを暗号化して更新暗号化データを生成し、
上記暗号更新部は、上記実行処理装置を用いて、上記暗号記憶部が記憶した暗号化データに代えて、上記更新暗号化部が生成した更新暗号化データを上記暗号記憶部に記憶させることを特徴とする請求項7に記載の暗号処理システム。
The execution storage device includes a volatile volatile storage device and a nonvolatile nonvolatile storage device,
The encryption processing unit includes an encryption unit, an encryption storage unit, a decryption unit, an update encryption unit, and an encryption update unit,
The encryption key storage unit stores the keys output by the key output unit and the update key output unit using the volatile storage device,
The encryption unit generates encrypted data by encrypting plaintext data using the key stored in the encryption key storage unit using the execution processing device,
The encryption storage unit stores the encrypted data generated by the encryption unit using the nonvolatile storage device,
The decryption unit uses the execution processing device to decrypt the encrypted data stored in the encryption storage unit using the key stored in the encryption key storage unit to generate restored plaintext data,
The update encryption unit uses the execution processing device to encrypt the restored plaintext data generated by the decryption unit using the key output from the update key output unit to generate update encrypted data,
The encryption update unit uses the execution processing device to store the update encrypted data generated by the update encryption unit in the encryption storage unit instead of the encrypted data stored in the encryption storage unit. The cryptographic processing system according to claim 7, characterized in that:
データを記憶する記憶装置とデータを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項6のいずれかに記載の鍵管理装置として機能することを特徴とするコンピュータプログラム。   When executed by a computer having a storage device for storing data and a processing device for processing data, the computer functions as the key management device according to any one of claims 1 to 6. Computer program. データを記憶する記憶装置と、データを処理する処理装置とを有する鍵管理装置が鍵を管理する鍵管理方法において、
鍵記憶部として、上記記憶装置が、暗号処理に使用する鍵と上記鍵にアクセスするための鍵パスワードとを記憶し、
取得要求入力部として、上記処理装置が、取得すべき鍵の管理に使用する管理パスワードを入力し、
鍵パスワード算出部として、上記処理装置が、上記取得要求入力部が入力した管理パスワードに基づいて、鍵パスワードを算出し、
上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致する場合に、
鍵取得部として、上記処理装置が、上記鍵記憶部が記憶した鍵を取得し、
鍵出力部として、上記処理装置が、上記鍵取得部が取得した鍵を出力し、
上記鍵パスワード算出部が算出した鍵パスワードが、上記鍵記憶部が記憶した鍵パスワードと一致しない場合に、
新規鍵生成部として、上記処理装置が、鍵を生成し、
上記鍵記憶部として、上記記憶装置が、上記新規鍵生成部が生成した鍵と、上記鍵パスワード算出部が算出した鍵パスワードとを記憶し、
上記鍵出力部として、上記処理装置が、上記新規鍵生成部が生成した鍵を出力し、
更新要求入力部として、上記処理装置が、更新すべき鍵を入力し、
上記更新要求入力部が入力した鍵が、上記鍵記憶部が記憶した鍵と一致する場合に、
更新鍵生成部として、上記処理装置が、鍵を生成し、
鍵更新部として、上記処理装置が、上記鍵記憶部が記憶した鍵に代えて、上記更新鍵生成部が生成した鍵を上記鍵記憶部に記憶させ、
更新鍵出力部として、上記処理装置が、上記更新鍵生成部が生成した鍵を出力することを特徴とする鍵管理方法。
In a key management method in which a key management device having a storage device for storing data and a processing device for processing data manages keys,
As a key storage unit, the storage device stores a key used for encryption processing and a key password for accessing the key,
As an acquisition request input unit, the processing device inputs a management password used to manage a key to be acquired
As the key password calculation unit, the processing device calculates a key password based on the management password input by the acquisition request input unit,
When the key password calculated by the key password calculation unit matches the key password stored by the key storage unit,
As the key acquisition unit, the processing device acquires the key stored in the key storage unit,
As the key output unit, the processing device outputs the key acquired by the key acquisition unit,
When the key password calculated by the key password calculation unit does not match the key password stored by the key storage unit,
As a new key generation unit, the processing device generates a key,
As the key storage unit, the storage device stores the key generated by the new key generation unit and the key password calculated by the key password calculation unit,
As the key output unit, the processing device outputs the key generated by the new key generation unit,
As the update request input unit, the processing device inputs a key to be updated,
When the key input by the update request input unit matches the key stored by the key storage unit,
As the update key generation unit, the processing device generates a key,
As the key update unit, the processing device stores the key generated by the update key generation unit in the key storage unit instead of the key stored in the key storage unit,
A key management method, wherein the processing device outputs a key generated by the update key generation unit as an update key output unit.
JP2011032518A 2011-02-17 2011-02-17 Key managing apparatus, encryption processing system, computer program, and key managing method Withdrawn JP2012175187A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011032518A JP2012175187A (en) 2011-02-17 2011-02-17 Key managing apparatus, encryption processing system, computer program, and key managing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011032518A JP2012175187A (en) 2011-02-17 2011-02-17 Key managing apparatus, encryption processing system, computer program, and key managing method

Publications (1)

Publication Number Publication Date
JP2012175187A true JP2012175187A (en) 2012-09-10

Family

ID=46977708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011032518A Withdrawn JP2012175187A (en) 2011-02-17 2011-02-17 Key managing apparatus, encryption processing system, computer program, and key managing method

Country Status (1)

Country Link
JP (1) JP2012175187A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3020888A1 (en) * 2014-05-12 2015-11-13 Morpho ENCRYPTION OF A SECRET PROTECTION KEY PROTECTING AT LEAST ONE SENSITIVE ELEMENT OF AN APPLICATION
US10944558B2 (en) * 2016-01-08 2021-03-09 Tencent Technology (Shenzhen) Company Limited Key storing method, key managing method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3020888A1 (en) * 2014-05-12 2015-11-13 Morpho ENCRYPTION OF A SECRET PROTECTION KEY PROTECTING AT LEAST ONE SENSITIVE ELEMENT OF AN APPLICATION
US10944558B2 (en) * 2016-01-08 2021-03-09 Tencent Technology (Shenzhen) Company Limited Key storing method, key managing method and apparatus

Similar Documents

Publication Publication Date Title
US9985782B2 (en) Network bound decryption with offline encryption
US6839437B1 (en) Method and apparatus for managing keys for cryptographic operations
CN109583217B (en) Internet e-commerce platform user privacy data encryption and decryption method
KR101224749B1 (en) Systems and methods for managing multiple keys for file encryption and decryption
JP5679018B2 (en) Database encryption system, method and program
JP5573293B2 (en) Authentication device, encryption device, token device, authentication method, and authentication program
US7912223B2 (en) Method and apparatus for data protection
US6986041B2 (en) System and method for remote code integrity in distributed systems
CN111971929B (en) Secure distributed key management system
JP6925686B1 (en) Information processing system, information processing device, information processing method, and information processing program
JP2001027964A (en) Data storing method, system therefor and recording medium for data storage processing
JP2014119486A (en) Secret retrieval processing system, secret retrieval processing method, and secret retrieval processing program
KR101648364B1 (en) Method for improving encryption/decryption speed by complexly applying for symmetric key encryption and asymmetric key double encryption
KR100954841B1 (en) Method and Apparatus of managing unity data on mobile device and Recording medium using this
KR20210036700A (en) Blockchain system for supporting change of plain text data included in transaction
EP3343827A1 (en) Information security device and information security method using accessibility
WO2019163040A1 (en) Access management system and program thereof
WO2018043466A1 (en) Data extraction system, data extraction method, registration device, and program
JP2007020065A (en) Decryption backup method, decryption restoration method, attestation device, individual key setting machine, user terminal, backup equipment, encryption backup program, decryption restoration program
JP2006244420A (en) Identification information generation management device, and its system and program
JP2012175187A (en) Key managing apparatus, encryption processing system, computer program, and key managing method
JP2007060581A (en) Information management system and method
JP2006185184A (en) Authority management system, authentication server, authority management method, and authority management program
JPH11215121A (en) Device and method for authentication
JP2009212747A (en) Electronic signature system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513