JP2006120089A - Data management system and data management method - Google Patents

Data management system and data management method Download PDF

Info

Publication number
JP2006120089A
JP2006120089A JP2004309905A JP2004309905A JP2006120089A JP 2006120089 A JP2006120089 A JP 2006120089A JP 2004309905 A JP2004309905 A JP 2004309905A JP 2004309905 A JP2004309905 A JP 2004309905A JP 2006120089 A JP2006120089 A JP 2006120089A
Authority
JP
Japan
Prior art keywords
data
key
data group
value
secret
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.)
Pending
Application number
JP2004309905A
Other languages
Japanese (ja)
Inventor
Toru Egashira
徹 江頭
Masaru Ota
賢 太田
Atsushi Takeshita
敦 竹下
Hiroshi Inamura
浩 稲村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004309905A priority Critical patent/JP2006120089A/en
Publication of JP2006120089A publication Critical patent/JP2006120089A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data management system that prevents leakage of secret data due to tampering by disabling the reading of secret data whose effective period has expired. <P>SOLUTION: The data management system 100 comprises a data storage part 105 for storing encrypted secret data, a metadata storage part 104 for storing a data group descriptor associating and holding a value identifying a data group that is a management unit of the secret data and a value of the effective period of the data group, a time key generation part 200 for generating a key corresponding to the effective period if the current time is included in the effective period, and a decryption part 103 for decrypting the encrypted secret data with the key generated by the time key generation part 200. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、秘密データを管理するデータ管理システム及びデータ管理方法に関する。   The present invention relates to a data management system and a data management method for managing secret data.

データ管理システムは、電子計算機や通信端末において用いられるサブシステムであり、正当な外部システムからのデータ記憶要求や読み出し要求に応じて秘密データを記憶し、記憶している秘密データを提供する。又、一方で、不正な外部システムからの要求には従わず、ハードウェア的な信号解析(タンパ)によっても秘密データが漏洩しにくいような仕組みを持つシステムである。   The data management system is a subsystem used in electronic computers and communication terminals, stores secret data in response to data storage requests and read requests from legitimate external systems, and provides stored secret data. On the other hand, it is a system that does not follow an illegal request from an external system but has a mechanism that prevents secret data from leaking even by hardware signal analysis (tamper).

このようなデータ管理システムとして、図13に示すデータ管理システムが開示されている(例えば、特許文献1参照。)。データ管理システム900は、耐タンパ性を有する機密保護部910と、作成された暗号化データを記憶する暗号化データ記憶部902とを備える。機密保護部910は、乱数を用いて暗号鍵を生成する制御部913と、乱数発生部914と、生成された暗号鍵を記憶する暗号鍵記憶部916と、記憶要求されたデータに暗号処理を施して暗号化データを作成する暗号/復号部912とを備える。   As such a data management system, a data management system shown in FIG. 13 is disclosed (for example, see Patent Document 1). The data management system 900 includes a security protection unit 910 having tamper resistance and an encrypted data storage unit 902 that stores the created encrypted data. The security protection unit 910 includes a control unit 913 that generates an encryption key using a random number, a random number generation unit 914, an encryption key storage unit 916 that stores the generated encryption key, and performs encryption processing on the requested data. And an encryption / decryption unit 912 that creates encrypted data.

データ管理システム900は、外部システムより秘密データの記憶を要求されると、乱数発生部914で生成した暗号鍵を用いて暗号/復号部912がその秘密データを暗号化し、暗号化データ記憶部902に記憶するとともに、暗号鍵を暗号鍵記憶部916に記憶する。一方、データ管理システム900は、外部システムより秘密データの読み出しを要求されると、暗号化データ記憶部902に記憶されている暗号化された秘密データを暗号鍵記憶部916に記憶されている暗号鍵を用いて暗号/復号部912が復号し、外部システムに渡す。このように暗号鍵は一連の処理において機密保護部910を出ることは無く、又、機密保護部910は前述のように耐タンパ性を有するため、仮にデータ管理システム900がタンパされても暗号化された秘密データが漏洩することはあり得るが、それを復号化する暗号鍵を入手することはできないため安全である。
特開平10−271107号公報
In the data management system 900, when an external system requests storage of secret data, the encryption / decryption unit 912 encrypts the secret data using the encryption key generated by the random number generation unit 914, and the encrypted data storage unit 902 And the encryption key is stored in the encryption key storage unit 916. On the other hand, when the data management system 900 is requested to read out the secret data from the external system, the encrypted secret data stored in the encrypted data storage unit 902 is stored in the encryption key storage unit 916. Using the key, the encryption / decryption unit 912 decrypts it and passes it to the external system. In this way, the encryption key does not exit the security protection unit 910 in a series of processes, and the security protection unit 910 has tamper resistance as described above, so that even if the data management system 900 is tampered, it is encrypted. Although it is possible that the confidential data is leaked, it is safe because the encryption key for decrypting it cannot be obtained.
Japanese Patent Laid-Open No. 10-271107

ところで、秘密データの管理単位(以下において、「データ群」という。)には、有効期間が設定される場合がある。例えば、データ管理システムがサービス契約に基づいて秘密データを記憶する場合、サービス契約に基づいて記憶したデータ群は、サービス契約の期間満了や、契約解除に伴い、データ管理システムがそれ以上保持する合理性や適法性が失われることになる。この場合、サービス契約の期間を実質的にデータ群の有効期間であるとみなすことができる。   By the way, a valid period may be set for a secret data management unit (hereinafter referred to as a “data group”). For example, when the data management system stores secret data based on a service contract, the data group stored based on the service contract is a reasonable amount that the data management system holds when the service contract expires or is canceled. Sex and legality will be lost. In this case, the period of the service contract can be regarded as the effective period of the data group.

しかしながら、上述した従来のデータ管理システム900では、データ群の有効期間を考慮した暗号鍵の管理がなされていない。   However, in the conventional data management system 900 described above, encryption keys are not managed in consideration of the validity period of the data group.

このため、あるデータ群に属する秘密データ及びそれを暗号化した暗号鍵は、そのデータ群の有効期間が終了した後においても秘密データを復号可能な形態でデータ管理システム900に記憶され続け、又、読み出し要求により秘密データが外部システムに提供されるという課題がある。   For this reason, the secret data belonging to a certain data group and the encryption key that encrypts the secret data continue to be stored in the data management system 900 in a form in which the secret data can be decrypted even after the validity period of the data group ends. There is a problem that secret data is provided to an external system by a read request.

そこで、本発明は、上記の課題に鑑み、有効期間が終了した秘密データを読み出し不可能とし、タンパによる秘密データの漏洩を防止するデータ管理システム及びデータ管理方法を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a data management system and a data management method that make it impossible to read secret data whose validity period has expired and prevent leakage of secret data due to tampering.

上記目的を達成するため、本発明の第1の特徴は、(a)暗号化された秘密データを記憶するデータ記憶部と、(b)秘密データの管理単位であるデータ群を識別する値と、データ群の有効期間の値とを対応付けて保持するデータ群記述子を記憶するメタデータ記憶部と、(c)有効期間に現在時刻が含まれる場合、有効期間に対応した鍵を生成する時限鍵生成部と、(d)時限鍵生成部によって生成された鍵を用いて、暗号化された秘密データを復号化する復号化部とを備えるデータ管理システムであることを要旨とする。   In order to achieve the above object, the first feature of the present invention is that: (a) a data storage unit that stores encrypted secret data; and (b) a value that identifies a data group that is a management unit of secret data. A metadata storage unit for storing a data group descriptor that stores the valid value of the data group in association with each other; and (c) if the valid time includes the current time, a key corresponding to the valid period is generated. The gist of the present invention is a data management system including a time key generation unit and (d) a decryption unit that decrypts the encrypted secret data using the key generated by the time key generation unit.

第1の特徴に係るデータ管理システムによると、当該データ群の有効期間に対応した鍵によって秘密データを復号化するため、有効期間が終了した秘密データを読み出し不可能とし、タンパによる秘密データの漏洩を防止することができる。   According to the data management system according to the first feature, since the secret data is decrypted with the key corresponding to the valid period of the data group, the secret data whose valid period has expired cannot be read, and the leak of the secret data by the tamper Can be prevented.

又、第1の特徴に係るデータ管理システムにおける時限鍵生成部は、秘密鍵を記憶する秘密鍵記憶部と、秘密鍵に基づいて、有効期間に依存する値の鍵付きハッシュ値を、有効期間に対応した鍵として出力する鍵付きハッシュ出力部とを備えてもよい。   In addition, the time key generation unit in the data management system according to the first feature includes a secret key storage unit that stores a secret key, and a hash value with a key that depends on the validity period based on the secret key. And a hashed output unit with a key that outputs as a key corresponding to.

このデータ管理システムによると、有効期間に対応した鍵付きハッシュ値を出力することができる。   According to this data management system, it is possible to output a keyed hash value corresponding to the validity period.

又、第1の特徴に係るデータ管理システムにおいて、時限鍵生成部は、外部からの要求に応じて、あるいは、時間の経過に応じて単調増加する値を出力する時計部に異常が発生した可能性がある場合に、新たな秘密鍵を生成する乱数発生部を更に備えてもよい。   In the data management system according to the first feature, the time key generation unit may have an abnormality in the clock unit that outputs a value that monotonously increases in response to an external request or over time. If there is a possibility, a random number generator for generating a new secret key may be further provided.

このデータ管理システムによると、秘密鍵が更新されるため、時限鍵生成部に対し鍵取得操作を要求したときの返却値はリセット処理以前に全く同じ要求を行った時の返却値とは異なるものになる。この性質を用いると、記憶した全ての秘密データの実効的な一括消去を行うことができる。   According to this data management system, since the secret key is updated, the return value when a key acquisition operation is requested to the time key generation unit is different from the return value when the exact same request is made before the reset process. become. By using this property, it is possible to perform effective batch erasure of all stored secret data.

又、第1の特徴に係るデータ管理システムにおいて、データ群記述子は、データ群を識別する値に対応付けて、データ群が依存する親データ群を識別する値を更に保持してもよい。   In the data management system according to the first feature, the data group descriptor may further hold a value for identifying a parent data group on which the data group depends, in association with a value for identifying the data group.

このデータ管理システムによると、データ群間の関係を認識することができる。   According to this data management system, the relationship between data groups can be recognized.

又、第1の特徴に係るデータ管理システムにおいて、データ群記述子は、秘密データの暗号化及び復号化を行う際に用いる暗号鍵であるデータ群鍵を暗号化した値を更に保持してもよい。   In the data management system according to the first feature, the data group descriptor may further hold a value obtained by encrypting a data group key that is an encryption key used when encrypting and decrypting secret data. Good.

このデータ管理システムによると、秘密データをその属するデータ群に固有のデータ群鍵により暗号化して保存することができる。   According to this data management system, secret data can be encrypted and stored with a data group key unique to the data group to which the data belongs.

又、第1の特徴に係るデータ管理システムは、データ群鍵を、該データ群の有効期間に対応して生成された鍵に依存する暗号鍵にて暗号化する暗号化部を更に備えてもよい。   The data management system according to the first feature may further include an encryption unit that encrypts the data group key with an encryption key that depends on a key generated corresponding to the validity period of the data group. Good.

又、第1の特徴に係るデータ管理システムは、データ群鍵を、該データ群が依存する親データ群を暗号化するデータ群鍵に依存する暗号鍵にて暗号化する暗号化部を更に備えてもよい。   The data management system according to the first feature further includes an encryption unit that encrypts the data group key with an encryption key that depends on the data group key that encrypts the parent data group on which the data group depends. May be.

又、第1の特徴に係るデータ管理システムにおいて、秘密データの削除が要求された場合、秘密データの管理単位であるデータ群を識別する値、あるいは、当該データ群を識別する値を、親データ群を識別する値として保持するデータ群記述子を特定し、当該データ群記述子に保持されるデータ群鍵を暗号化した値を上書き消去してもよい。   In addition, in the data management system according to the first feature, when deletion of secret data is requested, a value that identifies a data group that is a management unit of secret data or a value that identifies the data group is set to the parent data A data group descriptor held as a value for identifying a group may be specified, and a value obtained by encrypting the data group key held in the data group descriptor may be overwritten and deleted.

このデータ管理システムによると、データ群が削除された時には当該データ群に固有のデータ群鍵を消去することができる。   According to this data management system, when a data group is deleted, a data group key unique to the data group can be deleted.

又、第1の特徴に係るデータ管理システムにおいて、データ群の有効期間の変更が要求された場合、復号化部は、データ群鍵を現在の有効期間に対応して生成された鍵に依存する暗号鍵にて復号化し、暗号化部は、新たな有効期間に対応して生成された鍵に依存する暗号鍵にて、復号化されたデータ群鍵を再び暗号化してもよい。   Further, in the data management system according to the first feature, when a change in the validity period of the data group is requested, the decryption unit depends on the data group key generated based on the current validity period. The decryption may be performed using the encryption key, and the encryption unit may re-encrypt the decrypted data group key using an encryption key that depends on the key generated corresponding to the new validity period.

このデータ管理システムによると、有効期間が変更された場合、有効期間に対応した鍵を新たに生成し直すことができる。   According to this data management system, when the valid period is changed, a key corresponding to the valid period can be newly generated.

本発明の第2の特徴は、(a)暗号化された秘密データを記憶するステップと、(b)秘密データの管理単位であるデータ群を識別する値と、データ群の有効期間の値とを対応付けて保持するデータ群記述子を記憶するステップと、(c)有効期間に現在時刻が含まれる場合、有効期間に対応した鍵を生成するステップと、(d)生成された鍵を用いて、暗号化された秘密データを復号化するステップとを含むデータ管理方法であることを要旨とする。   The second feature of the present invention is that (a) a step of storing encrypted secret data, (b) a value for identifying a data group that is a management unit of the secret data, and a value of an effective period of the data group, Storing a data group descriptor that holds the data in association with each other, (c) if the effective period includes the current time, generating a key corresponding to the effective period, and (d) using the generated key Thus, the gist of the present invention is a data management method including a step of decrypting encrypted secret data.

第2の特徴に係るデータ管理方法によると、当該データ群の有効期間に対応した鍵によって秘密データを復号化するため、有効期間が終了した秘密データを読み出し不可能とし、タンパによる秘密データの漏洩を防止することができる。   According to the data management method according to the second feature, since the secret data is decrypted with the key corresponding to the valid period of the data group, the secret data whose valid period has expired cannot be read, and the secret data is leaked by the tamper Can be prevented.

本発明によると、有効期間が終了した秘密データを読み出し不可能とし、タンパによる秘密データの漏洩を防止するデータ管理システム及びデータ管理方法を提供することができる。   According to the present invention, it is possible to provide a data management system and a data management method that make it impossible to read secret data whose valid period has expired and prevent leakage of secret data due to tampering.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic.

(データ管理システム)
本発明の実施の形態では、秘密データを暗号化して記憶し、その復号鍵は、秘密データの有効期間以外では得られないようにするデータ管理システムについて説明する。より具体的には、データ管理システムでは、秘密データの復号鍵は、後述する時限鍵生成部200が生成する時限鍵により暗号化しておき、その時限鍵は、現在時刻が秘密データの有効期間外である場合は、提供されない。このため、時限鍵生成部200のみを耐タンパとしておけば、それ以外の部分がタンパされても秘密データは漏洩しない。
(Data management system)
In the embodiment of the present invention, a data management system will be described in which secret data is encrypted and stored, and the decryption key is not obtained outside the valid period of the secret data. More specifically, in the data management system, the decryption key of the secret data is encrypted with a time key generated by the time key generation unit 200 described later, and the time key of the time key is outside the valid period of the secret data. Is not provided. For this reason, if only the time key generation unit 200 is tamper resistant, the secret data will not leak even if other parts are tampered with.

本発明の実施形態に係るデータ管理システム100は、図1に示すように、乱数発生部101と、暗号化部102と、復号化部103と、メタデータ記憶部104と、データ記憶部105と、時限鍵生成部200と、制御部110とを備える。   As shown in FIG. 1, a data management system 100 according to an embodiment of the present invention includes a random number generation unit 101, an encryption unit 102, a decryption unit 103, a metadata storage unit 104, and a data storage unit 105. The time key generation unit 200 and the control unit 110 are provided.

乱数発生部101は、暗号鍵として用いる乱数を生成する。   The random number generation unit 101 generates a random number used as an encryption key.

暗号化部102は、秘密データの暗号化及び復号化を行う際に用いる暗号鍵であるデータ群鍵を、データ群の有効期間に対応して生成された鍵に依存する暗号鍵にて暗号化する。又、暗号化部102は、データ群鍵を、該データ群が依存する親データ群を暗号化するデータ群鍵に依存する暗号鍵にて暗号化する。又、暗号化部102は、データ群の有効期間の変更が要求された場合、新たな有効期間に対応して生成された鍵に依存する暗号鍵にて、復号化されたデータ群鍵を再び暗号化する。   The encryption unit 102 encrypts a data group key, which is an encryption key used when encrypting and decrypting secret data, with an encryption key that depends on a key generated corresponding to the validity period of the data group To do. The encryption unit 102 encrypts the data group key with an encryption key that depends on the data group key that encrypts the parent data group on which the data group depends. In addition, when a change in the validity period of the data group is requested, the encryption unit 102 again uses the encryption key depending on the key generated corresponding to the new validity period to decrypt the decrypted data group key. Encrypt.

復号化部103は、時限鍵生成部200によって生成された鍵を用いて、暗号化された秘密データを復号化する。又、復号化部103は、データ群の有効期間の変更が要求された場合、データ群鍵を現在の有効期間に対応して生成された鍵に依存する暗号鍵にて復号化する。   The decryption unit 103 decrypts the encrypted secret data using the key generated by the time key generation unit 200. In addition, when the change of the valid period of the data group is requested, the decryption unit 103 decrypts the data group key with an encryption key that depends on the key generated corresponding to the current valid period.

メタデータ記憶部104は、後述するデータ群記述子を記憶する。   The metadata storage unit 104 stores a data group descriptor to be described later.

データ記憶部105は、暗号化された秘密データを記憶する。   The data storage unit 105 stores the encrypted secret data.

時限鍵生成部200は、有効期間に現在時刻が含まれる場合、有効期間に対応した時限付き鍵を生成する。時限鍵生成部200については、後に詳述する。   When the current time is included in the effective period, the time key generating unit 200 generates a time-limited key corresponding to the effective period. The time key generation unit 200 will be described in detail later.

制御部110は、乱数発生部101、暗号化部102、復号化部103、メタデータ記憶部104、データ記憶部105、時限鍵生成部200を制御する。又、制御部110は、外部システム120とのデータ入出力を行う。又、制御部110は、秘密データの削除が要求された場合、秘密データの管理単位であるデータ群を識別する値、あるいは、当該データ群を識別する値を、親データ群を識別する値として保持するデータ群記述子を特定し、当該データ群記述子に保持されるデータ群鍵を暗号化した値を上書き消去する。   The control unit 110 controls the random number generation unit 101, the encryption unit 102, the decryption unit 103, the metadata storage unit 104, the data storage unit 105, and the time key generation unit 200. In addition, the control unit 110 performs data input / output with the external system 120. Further, when deletion of secret data is requested, the control unit 110 uses a value for identifying a data group that is a management unit of secret data, or a value for identifying the data group as a value for identifying a parent data group. The data group descriptor to be held is specified, and the value obtained by encrypting the data group key held in the data group descriptor is overwritten and erased.

次に、時限鍵生成部200の詳細について、説明する。時限鍵生成部200は、図2に示すように、乱数発生部201と、秘密鍵記憶部202と、鍵付きハッシュ出力部203と、時計部204と、時限鍵制御部210とを備える。   Next, details of the time key generation unit 200 will be described. As illustrated in FIG. 2, the time key generation unit 200 includes a random number generation unit 201, a secret key storage unit 202, a keyed hash output unit 203, a clock unit 204, and a time key control unit 210.

乱数発生部201は、秘密鍵として用いる乱数を生成する。又、乱数発生部201は、外部からの要求に応じて、あるいは、時計部204に異常が発生した可能性がある場合に、新たな秘密鍵を生成する。   The random number generator 201 generates a random number used as a secret key. The random number generation unit 201 generates a new secret key in response to a request from the outside or when there is a possibility that an abnormality has occurred in the clock unit 204.

秘密鍵記憶部202は、秘密鍵を記憶する。   The secret key storage unit 202 stores a secret key.

鍵付きハッシュ出力部203は、秘密鍵記憶部202が記憶する秘密鍵に基づいて、有効期間に依存する値の鍵付きハッシュ値を、有効期間に対応した鍵として出力する。   Based on the secret key stored in the secret key storage unit 202, the keyed hash output unit 203 outputs a keyed hash value that depends on the validity period as a key corresponding to the validity period.

時計部204は、時間の経過に応じ単調増加する値を出力する。   The clock unit 204 outputs a value that monotonously increases with time.

時限鍵制御部210は、乱数発生部201、秘密鍵記憶部202、鍵付きハッシュ出力部203、時計部204を制御する。又、時限鍵制御部210は、後述する、制御部110からの鍵取得処理や、リセット要求が行われたときの処理など、必要に応じて所定の処理を行う。   The time key control unit 210 controls the random number generation unit 201, the secret key storage unit 202, the keyed hash output unit 203, and the clock unit 204. In addition, the timed key control unit 210 performs predetermined processing as necessary, such as processing for obtaining a key from the control unit 110 described later and processing when a reset request is made.

時限鍵生成部200は、例えばワンチップ構成で実装するなどの耐タンパ実装を行うものとし、その内部状態を外部から直接的に観察すること及び操作することは著しく困難であるものとする。   The time key generation unit 200 performs tamper-proof mounting such as mounting in a one-chip configuration, for example, and it is extremely difficult to directly observe and operate the internal state from the outside.

(データ構造)
次に、メタデータ記憶部104が記憶するデータ群記述子について説明する。
(data structure)
Next, the data group descriptor stored in the metadata storage unit 104 will be described.

データ群記述子は、図3に示すように、データ群ID欄と有効期間欄と親データ群欄とデータ群鍵欄とを備える。例えば、データ群記述子303は、データ群ID欄にU122、有効期間欄に259200と604800、親データ群欄にU101、データ群鍵欄Oxa308da05833a57ec204e74bd63d1de2a(図中では略)という値が記載されている。データ群ID欄には、当該データ群記述子が対応するデータ群のデータ群ID、即ちデータ群を識別する値が記載される。有効期間欄には、時限鍵生成部200の時計部204が用いる時刻表現による有効期間の開始時刻と終了時刻の計2つの時刻値を要素とする2次元ベクタ値が記載される。又、親データ群欄には、当該データ群記述子が対応するデータ群が依存するデータ群(以下において、「親データ群」という。)のデータ群IDが記載される。親データ群欄に記載される値はベクタ値であり、複数のデータ群ID値が記載され得る。又、データ群鍵欄には、秘密データの暗号化および復号を行う際に用いる暗号鍵であるデータ群鍵を暗号化した値が記載される。   As shown in FIG. 3, the data group descriptor includes a data group ID column, a validity period column, a parent data group column, and a data group key column. For example, the data group descriptor 303 has U122 in the data group ID column, 259200 and 604800 in the validity period column, U101 in the parent data group column, and the data group key column Oxa308da05833a57ec204e74bd63d1de2a (not shown in the figure). In the data group ID column, a data group ID of the data group corresponding to the data group descriptor, that is, a value for identifying the data group is described. In the effective period column, a two-dimensional vector value having two time values, that is, a start time and an end time of the effective period in terms of time used by the clock unit 204 of the time key generation unit 200, is described. In the parent data group column, a data group ID of a data group (hereinafter referred to as “parent data group”) on which the data group to which the data group descriptor corresponds depends is described. The value described in the parent data group column is a vector value, and a plurality of data group ID values can be described. In the data group key column, a value obtained by encrypting a data group key, which is an encryption key used when encrypting and decrypting secret data, is described.

データ群記述子304は、親データ群欄にデータ群IDとしてU101とU102の2つが記載されている例である。又、依存するデータ群が無いデータ群に対応するデータ群記述子の親データ群欄は空欄となる。データ群記述子301および302はその例である。尚、図3は、各データ記述子の親データ群との関係を示す階層図となっており、データ群間の依存関係を反映させた矢印をデータ群記述子間に付しているが、これは直観的な理解を助けるためのものであり、そのような関係を記述するデータが(データ群記述子の親データ群欄の他に)メタデータ記憶部104に記憶されることを意味しない。   The data group descriptor 304 is an example in which two data groups IDs U101 and U102 are described in the parent data group column. The parent data group column of the data group descriptor corresponding to the data group having no dependent data group is blank. Data group descriptors 301 and 302 are examples thereof. FIG. 3 is a hierarchical diagram showing the relationship between each data descriptor and the parent data group. An arrow reflecting the dependency between the data groups is added between the data group descriptors. This is to help intuitive understanding, and does not mean that data describing such a relationship is stored in the metadata storage unit 104 (in addition to the parent data group column of the data group descriptor). .

尚、本実施形態においては「時刻」という語を、日付を含むいわゆる日時と等価の意味で主に用いており、即ち、同じ時刻は2度やってこない事を主に想定しているが、それ以外に、同じ時刻が繰り返してやってくるようなものを「時刻」であるとしてもよい。例えば「23時46分6秒」のように、日付のない時刻、その他、年、月、日、曜日、時、分、秒のいずれか、又は複数を省略した時刻表現によるものを「時刻」としても良い。   In this embodiment, the term “time” is mainly used in the meaning equivalent to a so-called date and time including a date, that is, it is mainly assumed that the same time will not come twice. In addition to this, it is good also as "time" that the same time comes repeatedly. For example, “23: 46: 6” is a time without a date, other than the year, month, day, day of the week, hour, minute, second, or a time expression with a plurality omitted. It is also good.

(データ管理方法)
次に、本実施形態に係るデータ管理方法について、図4〜10を用いて説明する。
(Data management method)
Next, the data management method according to the present embodiment will be described with reference to FIGS.

=データ群追加処理=
まず、図4を用いて、外部システム120から、データ群IDと有効期間と親データ群をパラメタとして、データ群の追加を要求された場合のデータ管理システム100の動作について説明する。
= Data group addition processing =
First, the operation of the data management system 100 when the external system 120 requests addition of a data group using the data group ID, the validity period, and the parent data group as parameters will be described with reference to FIG.

まず、ステップS101において、制御部110は、パラメタのデータ群ID値を変数Sに、有効期間値を変数Tに、親データ群値を変数SPにそれぞれ代入する。ここで有効期間値及び変数Tはベクタであり、有効期間開示時刻と終了時刻を要素として持つ。又、親データ群値及び変数SPもベクタであり、親データ群が複数の場合に対応する。   First, in step S101, the control unit 110 assigns the parameter data group ID value to the variable S, the validity period value to the variable T, and the parent data group value to the variable SP. Here, the valid period value and the variable T are vectors, and have a valid period disclosure time and an end time as elements. The parent data group value and the variable SP are also vectors, which corresponds to a case where there are a plurality of parent data groups.

次に、ステップS102において、制御部110は、Tの時刻を時限鍵生成部200の時計部204の時刻表現に変換(即ち、Tの各要素の時刻表現を変換)して変数TLに代入し、乱数発生部201を用いて新たな乱数を生成して変数KSに代入する。   Next, in step S102, the control unit 110 converts the time of T into the time expression of the clock unit 204 of the time key generation unit 200 (that is, converts the time expression of each element of T) and substitutes it into the variable TL. Then, a new random number is generated using the random number generator 201 and substituted into the variable KS.

次に、ステップS103において、制御部110は、後述するデータ群鍵暗号化プロシジャをパラメタとして有効期間値にTLの値、親データ群ID値にSPの値、データ群鍵値にKSの値をそれぞれ指定して呼び出し、その返却値を変数Kに代入する。   Next, in step S103, the control unit 110 uses a data group key encryption procedure, which will be described later, as parameters, and sets the TL value as the validity period value, the SP value as the parent data group ID value, and the KS value as the data group key value. Each is specified and called, and the return value is assigned to variable K.

次に、ステップS104において、制御部110は、メタデータ記憶部104に新たなデータ群記述子を作成し、そのデータ群ID欄にSの値、親データ群欄にSPの値、有効期間欄にTLの値、データ群鍵欄にKの値をそれぞれ記憶し、処理を終了する。   Next, in step S104, the control unit 110 creates a new data group descriptor in the metadata storage unit 104, the S value in the data group ID column, the SP value in the parent data group column, and the validity period column. The TL value and the K value value are stored in the data group key column, and the process ends.

ここで、ステップS102の時刻表現の変換について、補足説明する。例として、時計部204が日本標準時平成10年2月1日午前0時ちょうどからの経過秒数を1秒単位で数え上げた整数値を時刻表現するような時計であったとする。その時に変数Tの持つ有効期間の開始時刻要素の表現及び意味が「日本標準時平成10年2月2日午前0時0分0秒」であったとすると、時計部204の時刻表現に変換して変数TLに代入されるベクタ値の開始時刻要素は整数値で86400となる。終了時刻要素についても同様の変換を行う。   Here, a supplementary description will be given of the conversion of the time expression in step S102. As an example, suppose that the clock unit 204 is a clock that expresses an integer value obtained by counting the number of seconds elapsed from midnight on February 1, 1998, Japan, in units of 1 second. If the expression and meaning of the start time element of the effective period of the variable T at that time are “Japan Standard Time February 2, 1998 00: 00: 00: 00”, it is converted into the time expression of the clock unit 204. The start time element of the vector value assigned to the variable TL is 86400 as an integer value. The same conversion is performed for the end time element.

=データ群鍵暗号化プロシジャの呼び出し処理=
次に、図5を用いて、有効期間、親データ群ID、データ群鍵をパラメタとしてデータ群鍵暗号化プロシジャの呼び出しを受けた場合のデータ管理システム100の動作について説明する。
= Data group key encryption procedure call processing =
Next, the operation of the data management system 100 when receiving a call to the data group key encryption procedure using the valid period, the parent data group ID, and the data group key as parameters will be described with reference to FIG.

まず、ステップS201において、制御部110は、パラメタの有効期間値を変数TLに、親データ群ID値を変数SPに、データ群鍵値を変数KSにそれぞれ代入する。   First, in step S201, the control unit 110 assigns the parameter validity period value to the variable TL, the parent data group ID value to the variable SP, and the data group key value to the variable KS.

次に、ステップS202において、制御部110は、期間値としてTLの値をパラメタとして指定し、時限鍵生成部200に鍵取得操作を要求する。そして、制御部110は、その返却値を変数KTに代入し、後述のデータ群鍵復号化プロシジャを、SPの値をパラメタとして呼び出す。更に、制御部110は、その返却値を変数KPに代入する。但し、SPの値が空の場合はデータ群鍵復号化プロシジャを呼び出さず変数KPの値は空とする。又、SPの値が複数のデータ群IDから成る時にはデータ群IDそれぞれにつきデータ群鍵復号化プロシジャを呼び出し、変数KPにはそれぞれ対応する返却値を要素として持つベクタ値を代入する。   Next, in step S202, the control unit 110 specifies the value of TL as a period value as a parameter, and requests the key acquisition operation from the time key generation unit 200. Then, control unit 110 assigns the return value to variable KT, and calls a data group key decryption procedure described later using the value of SP as a parameter. Furthermore, the control part 110 substitutes the return value for the variable KP. However, when the SP value is empty, the data group key decryption procedure is not called and the value of the variable KP is empty. When the SP value is composed of a plurality of data group IDs, a data group key decryption procedure is called for each data group ID, and a vector value having a corresponding return value as an element is assigned to the variable KP.

次に、ステップS203において、制御部110は、KTとKPのそれぞれの値に依存した値を変数KTPに代入する。   Next, in step S203, the control part 110 substitutes the value depending on each value of KT and KP to the variable KTP.

次に、ステップS204において、制御部110は、KTPの値を暗号鍵として指定し、暗号化部102を用いてKSの値を暗号化し、それを変数Kに代入する。   Next, in step S204, the control unit 110 designates the KTP value as an encryption key, encrypts the KS value using the encryption unit 102, and substitutes it into the variable K.

次に、ステップS205において、制御部110は、Kの値をプロシジャの返却値とし、処理を終了する。   Next, in step S205, the control unit 110 sets the value of K as the return value of the procedure, and ends the process.

ここで、ステップS203における変数KTPに代入する値について補足説明する。変数KTとKPそれぞれの値に依存した値を求める手段としては、例えば、算術和や積などの算術演算や、論理和や積、排他的論理和などの論理演算、又、ビット列としての連結や、それらの組み合わせ、更にそれを関数に通した出力などのさまざまな手段を用いることが可能であるが、要件としてはKTとKPの値のいずれもがKTPの値に影響を与えるような手段である必要がある。   Here, a supplementary description will be given of the value to be substituted for the variable KTP in step S203. As means for obtaining values depending on the values of the variables KT and KP, for example, arithmetic operations such as arithmetic sum and product, logical operations such as logical sum, product and exclusive OR, concatenation as a bit string, It is possible to use various means such as a combination thereof, and an output obtained by passing it through a function. However, as a requirement, it is a means that both the values of KT and KP affect the value of KTP. There must be.

=データ群鍵復号化プロシジャの呼び出し処理=
次に、図6を用いて、データ群IDをパラメタとしてデータ群鍵復号化プロシジャの呼び出しを受けた場合のデータ管理システム100の動作について説明する。
= Data group key decryption procedure call processing =
Next, the operation of the data management system 100 when receiving a call to the data group key decryption procedure using the data group ID as a parameter will be described with reference to FIG.

まず、ステップS301において、制御部110は、パラメタのデータ群ID値をデータ群ID欄に持つデータ群記述子を、メタデータ記憶部104の記憶するデータ群記述子の中で特定する。そして、制御部110は、そのデータ群記述子の有効期間欄の値を変数TLに、親データ群欄の値を変数SPに、データ群鍵欄の値を変数Kにそれぞれ代入する。   First, in step S <b> 301, the control unit 110 identifies a data group descriptor having the parameter data group ID value in the data group ID column in the data group descriptor stored in the metadata storage unit 104. Then, the control unit 110 assigns the value of the validity period column of the data group descriptor to the variable TL, the value of the parent data group column to the variable SP, and the value of the data group key column to the variable K.

次に、ステップS302において、制御部110は、期間値としてTLの値をパラメタとして指定し、時限鍵生成部200に鍵取得操作を要求する。そして、制御部110は、その返却値を変数KTに代入し、データ群鍵復号化プロシジャをSPの値をパラメタとして呼び出す。更に、制御部110は、その返却値を変数KPに代入する。但し、SPの値が空の場合はデータ群鍵復号化プロシジャを呼び出さず変数KPの値は空とする。又、SPの値が複数のデータ群IDから成る時にはデータ群IDそれぞれにつきデータ群鍵復号化プロシジャを呼び出し、変数KPにはそれぞれ対応する返却値を要素として持つベクタ値を代入する。   Next, in step S302, the control unit 110 specifies the value of TL as a period value as a parameter, and requests the key acquisition operation to the time key generation unit 200. Then, control unit 110 assigns the return value to variable KT, and calls the data group key decryption procedure using the SP value as a parameter. Furthermore, the control part 110 substitutes the return value for the variable KP. However, when the SP value is empty, the data group key decryption procedure is not called and the value of the variable KP is empty. When the SP value is composed of a plurality of data group IDs, a data group key decryption procedure is called for each data group ID, and a vector value having a corresponding return value as an element is assigned to the variable KP.

次に、ステップS303において、制御部110は、KTとKPのそれぞれの値に依存した値を変数KTPに代入する。ステップS303の処理は、図5におけるステップS203の処理と同様であり、重ねての補足説明は省略する。   Next, in step S303, the control unit 110 substitutes values depending on the values of KT and KP into the variable KTP. The process of step S303 is the same as the process of step S203 in FIG.

次に、ステップS304において、制御部110は、KTPの値を暗号鍵として指定し、復号化部103を用いてKの値を復号し、それを変数KSに代入する。   Next, in step S304, the control unit 110 designates the KTP value as the encryption key, decrypts the K value using the decryption unit 103, and substitutes it into the variable KS.

次に、ステップS305において、KSの値をプロシジャの返却値とし、処理を終了する。   Next, in step S305, the value of KS is set as the return value of the procedure, and the process ends.

=秘密データ書き込み処理=
次に、図7を用いて、外部システム120から秘密データとデータ群IDをパラメタとして秘密データの書き込みを要求された場合のデータ管理システム100の動作について説明する。
= Secret data writing process =
Next, the operation of the data management system 100 when the external system 120 requests writing of secret data using the secret data and the data group ID as parameters will be described with reference to FIG.

まず、ステップS401において、制御部110は、パラメタの秘密データ値を変数Dに、データ群ID値を変数Sにそれぞれ代入する。   First, in step S401, the control unit 110 assigns the secret data value of the parameter to the variable D and the data group ID value to the variable S.

次に、ステップS402において、制御部110は、データ群鍵復号化プロシジャをパラメタとしてデータ群ID値としてSの値を指定して呼び出し、その返却値を変数KSに代入する。   Next, in step S402, the control unit 110 calls the data group key decryption procedure as a parameter, specifying the value of S as the data group ID value, and assigns the return value to the variable KS.

次に、ステップS403において、制御部110は、KSの値を暗号鍵として指定し、暗号化部102を用いてDの値を暗号化し、それを変数DEに代入する。   Next, in step S403, the control unit 110 designates the value of KS as an encryption key, encrypts the value of D using the encryption unit 102, and substitutes it for the variable DE.

次に、ステップS404において、制御部110は、DEの値をSの値と関連付けてデータ記憶部105に記憶し、処理を終了する。   Next, in step S404, the control unit 110 stores the DE value in association with the S value in the data storage unit 105, and ends the process.

ここで、ステップS404の処理において、暗号化された秘密データ(DEの値)にデータ群ID(Sの値)を関連付ける手段について補足説明する。この関連付けの手段としては、暗号化秘密データとデータ群IDを隣接してデータ記憶部105に記憶する方法や、暗号化秘密データ又はその記憶アドレスをハッシュ関数などで変換したアドレスにデータ群IDを記憶するなどの方法が例として考えられる。それ以外の方法であっても、次に説明する秘密データ読み出し要求に対する処理において暗号化秘密データが特定されたときに、それと関連づけられたデータ群IDが特定できるようになっていれば良い。   Here, a supplementary description will be given of means for associating the data group ID (S value) with the encrypted secret data (DE value) in the process of step S404. As a means for this association, the method of storing the encrypted secret data and the data group ID adjacent to each other in the data storage unit 105, or the data group ID to the address obtained by converting the encrypted secret data or the storage address thereof by a hash function or the like. An example is a method of storing. Even with other methods, it is sufficient that the data group ID associated with the encrypted secret data can be specified when the encrypted secret data is specified in the process for the secret data read request described below.

=秘密データ読み出し処理=
次に、図8を用いて、外部システム120から秘密データを指定してその読み出しを要求された場合のデータ管理システム100の動作について説明する。
= Secret data read processing =
Next, the operation of the data management system 100 when secret data is designated from the external system 120 and requested to be read out will be described with reference to FIG.

まず、ステップS501において、制御部110は、指定された秘密データ(暗号化済み)と、それと関連付けられたデータ群IDをデータ記憶部105から読み出す。そして、制御部110は、秘密データとデータ群IDを、変数DEと変数Sにそれぞれ代入する。   First, in step S501, the control unit 110 reads the designated secret data (encrypted) and the data group ID associated therewith from the data storage unit 105. Then, the control unit 110 assigns the secret data and the data group ID to the variable DE and the variable S, respectively.

次に、ステップS502において、制御部110は、データ群鍵復号化プロシジャをパラメタとして、データ群ID値としてSの値を指定して呼び出し、その返却値を変数KSに代入する。   In step S502, the control unit 110 calls the data group key decryption procedure as a parameter, specifies the value of S as the data group ID value, and assigns the return value to the variable KS.

次に、ステップS503において、制御部110は、KSの値を暗号鍵として指定し、復号化部103を用いてDEの値を復号し、それを変数Dに代入する。   Next, in step S503, the control unit 110 designates the KS value as an encryption key, decrypts the DE value using the decryption unit 103, and substitutes it into the variable D.

次に、ステップS504において、制御部110は、外部システム120にDの値を返却値として返し、処理を終了する。   Next, in step S504, the control unit 110 returns the value of D as a return value to the external system 120, and ends the process.

ここで、外部システム120が暗号化済みの秘密データを指定する方法について補足説明する。秘密データを指定する方法としては、暗号化秘密データがデータ記憶部105において記憶されているアドレスを指定する方法や、秘密データに固有の名前を関連付けて、それを用いて指定する方法が例として考えられる。いずれの方法をとるにあたっても、前述の秘密データ書き込み処理および読み出し処理に追加の処理(例えば、記憶アドレスを外部システム120に通知するなど)が必要となるが、これらの処理を考案し実施することはかかる分野に携わる人にとり容易であるので詳細は割愛する。   Here, a supplementary description will be given of a method in which the external system 120 designates encrypted secret data. Examples of methods for specifying the secret data include a method for specifying an address where the encrypted secret data is stored in the data storage unit 105, and a method for specifying a unique name in association with the secret data. Conceivable. Whichever method is used, additional processing (for example, notification of the storage address to the external system 120) is required for the above-described secret data writing processing and reading processing, and these processing should be devised and implemented. Since it is easy for people involved in such fields, details are omitted.

=データ群削除処理=
次に、外部システム120からデータ群IDをパラメタとしてデータ群の削除を要求された場合のデータ管理システム100の動作について説明する。
= Data group deletion processing =
Next, the operation of the data management system 100 when a deletion of a data group is requested from the external system 120 using the data group ID as a parameter will be described.

制御部110は、パラメタのデータ群ID値をデータ群ID欄に持つデータ群記述子を、メタデータ記憶部104の記憶するデータ群記述子の中で特定し、そのデータ群記述子のデータ群鍵欄を無効値で上書きし、処理を終了する。この無効値としてはデータ群鍵欄にそれまで記載されていた値と異なるもの、例えば乱数や数値0などを用いる。   The control unit 110 identifies the data group descriptor having the data group ID value of the parameter in the data group ID column in the data group descriptor stored in the metadata storage unit 104, and the data group of the data group descriptor Overwrite the key field with an invalid value and end the process. As this invalid value, a value different from the value previously described in the data group key column, for example, a random number or a numerical value 0 is used.

又、制御部110は、パラメタのデータ群ID値を親データ群欄に持つデータ群記述子を、メタデータ記憶部104の記憶するデータ群記述子の中で特定し、そのデータ群記述子のデータ群鍵欄を無効値で上書きしてもよい。   In addition, the control unit 110 identifies a data group descriptor having the parameter data group ID value in the parent data group column in the data group descriptor stored in the metadata storage unit 104, and the data group descriptor The data group key field may be overwritten with an invalid value.

=有効期間変更処理=
次に、図9を用いて、外部システム120からデータ群IDと有効期間をパラメタとしてデータ群の有効期間変更を要求された場合のデータ管理システム100の動作について説明する。
= Valid period change processing =
Next, the operation of the data management system 100 when the external system 120 is requested to change the data group validity period using the data group ID and the validity period as parameters will be described with reference to FIG.

まず、ステップS601において、制御部110は、パラメタのデータ群ID値を変数Sに、有効期間値を変数TNに、それぞれ代入する。   First, in step S601, the control unit 110 assigns the parameter data group ID value to the variable S and the validity period value to the variable TN.

次に、ステップS602において、制御部110は、TNの時刻を時限鍵生成部200の時計部204の時刻表現に変換して変数TNLに代入する。そして、制御部110は、データ群鍵復号化プロシジャをパラメタとして、データ群ID値としてSの値を指定して読み出し、その返却値を変数KSに代入する。   Next, in step S602, the control unit 110 converts the time of TN into the time expression of the clock unit 204 of the time key generation unit 200 and substitutes it into the variable TNL. Then, the control unit 110 uses the data group key decryption procedure as a parameter, specifies and reads the value of S as the data group ID value, and assigns the return value to the variable KS.

次に、ステップS603において、制御部110は、データ群鍵復号化プロシジャをパラメタとして有効期間値にTNLの値、親データ群ID値としてSの値をデータ群ID欄に持つデータ群記述子(メタデータ記憶部104が記憶するもの)の親データ群欄の値、データ群鍵値にKSの値をそれぞれ指定して呼び出し、その返却値を変数Kに代入する。   Next, in step S603, the control unit 110 uses a data group key decryption procedure as a parameter to set a data group descriptor having a TNL value as a valid period value and a S value as a parent data group ID value in a data group ID column ( The KS value is designated as the value of the parent data group column and the data group key value (stored by the metadata storage unit 104) and called, and the return value is substituted into the variable K.

次に、ステップS604において、制御部110は、Sの値をデータ群ID欄に持つデータ群記述子(メタデータ記憶部104が記憶するもの)の有効期間欄にTNLの値、データ群鍵欄にKの値をそれぞれ記憶し、処理を終了する。   Next, in step S604, the control unit 110 sets the TNL value and the data group key column in the validity period column of the data group descriptor (stored in the metadata storage unit 104) having the S value in the data group ID column. Each of the values of K is stored in and the process is terminated.

=時限鍵生成処理=
次に、図10を用いて、データ管理システム100の時限鍵生成部200の動作について説明する。図10は、期間値をパラメタとして鍵取得操作を要求された場合の動作である。
= Timed key generation processing =
Next, the operation of the time key generation unit 200 of the data management system 100 will be described with reference to FIG. FIG. 10 shows an operation when a key acquisition operation is requested using a period value as a parameter.

まず、ステップS701において、時限鍵制御部210は、期間値の開始時刻要素の値を変数Sに、終了時刻要素の値を変数Eにそれぞれ代入する。   First, in step S701, the time key control unit 210 substitutes the value of the start time element of the period value into the variable S and the value of the end time element into the variable E.

次に、ステップS702において、時限鍵制御部210は、SとEのそれぞれの値を時計部204の示す現在時刻の値と比較し、Sの値が現在時刻値より同じか小さく(現在または過去の時刻を示している)かつEの値が現在時刻値より大きい(将来の時刻を示している)場合にはステップS703へ進み、それ以外の場合はステップS704へ進む。   Next, in step S702, the time key control unit 210 compares each value of S and E with the value of the current time indicated by the clock unit 204, and the value of S is equal to or smaller than the current time value (current or past). If the value of E is greater than the current time value (indicating a future time), the process proceeds to step S703. Otherwise, the process proceeds to step S704.

ステップS703へ進んだ場合は、時限鍵制御部210は、鍵付きハッシュ出力部203を用いて、SとEのそれぞれの値に依存する値の鍵付きハッシュ値を求め、それを変数Hに代入する。SとEに依存する値を求める手段については、前述のデータ群鍵暗号化プロシジャにおけるステップS203についての説明に準ずることとする。又、時鍵付きハッシュ値に指定する鍵としては秘密鍵記憶部202の記憶する秘密鍵を用いる。   When the process proceeds to step S703, the time key control unit 210 uses the keyed hash output unit 203 to obtain a keyed hash value that depends on the values of S and E, and assigns it to the variable H. To do. Means for obtaining a value depending on S and E is in accordance with the description of step S203 in the data group key encryption procedure described above. In addition, the secret key stored in the secret key storage unit 202 is used as the key specified for the hash value with the hour key.

ステップS704へ進んだ場合は、時限鍵制御部210は、変数Hに無効値を代入する。この無効値としては仮にステップS703の処理を行ったとしてその時Hに代入されたであろう値とは異なる値、例えば乱数や数値0などを用いる。   When the processing proceeds to step S704, the time key control unit 210 substitutes an invalid value for the variable H. As this invalid value, a value different from the value that would have been substituted for H at the time when the process of step S703 was performed, for example, a random number or a numerical value 0 is used.

次に、ステップS705において、時限鍵制御部210は、Hの値を鍵取得操作の要求者(制御部110)に返却し、処理を終了する。   Next, in step S705, the time key control unit 210 returns the value of H to the requester (control unit 110) of the key acquisition operation, and ends the process.

次に、時限鍵生成部200の時限鍵制御部210が外部の要求に基づいて、もしくは自発的に行うリセット処理について説明する。   Next, a reset process performed by the time key control unit 210 of the time key generation unit 200 based on an external request or spontaneously will be described.

時限鍵制御部210は、乱数発生部201を用いて秘密鍵となる新たな乱数を発生し、それを秘密鍵記憶部202に記憶する。又、時限鍵制御部210は、時計部204を初期化し、処理を終了する。初期化を行うと、時計部204はその時刻表現の範囲内の時刻値を示すようになり、その時刻値から時を刻み始める。それまで示していた時刻値と無関係に時刻を固定的な時刻値に設定してから時刻の更新を開始する操作として実施することが考えられるが、それまで示していた時刻値が(例えば「25時」のようなものでなく)時刻表現の範囲内の値であるときにはその時刻値から時刻の更新を開始する操作として実施するのでも良い。   The time key control unit 210 generates a new random number as a secret key using the random number generation unit 201 and stores it in the secret key storage unit 202. In addition, the time key control unit 210 initializes the clock unit 204 and ends the process. When initialization is performed, the clock unit 204 indicates a time value within the range of the time expression, and starts to clock in from the time value. It is conceivable to carry out as an operation to start updating the time after setting the time to a fixed time value regardless of the time value shown so far, but the time value shown so far (for example, “25 When the value is within the range of the time expression (not like “time”), the operation may be performed as an operation for starting the update of the time from the time value.

このリセット処理の利用機会について補足説明する。リセット処理を行うと、秘密鍵記憶部202の記憶する秘密鍵が更新されるため、時限鍵生成部200に対し鍵取得操作を要求したときの返却値はリセット処理以前に全く同じ要求を行った時の返却値とは異なるものになる。従ってデータ管理システム100においては、前述のデータ群鍵復号化プロシジャのステップS302が正常に行われず、データ群鍵が正常に復号できなくなるため、それまでに暗号化してデータ記憶部105に記憶した秘密データはリセット処理後には復号できなくなる。この性質を用いると、記憶した全ての秘密データの実効的な一括消去を行うことができる。これは外部の要求に基づき時限鍵制御部210がリセット処理を行う場合であったが、時限鍵制御部210が自発的にリセット処理を行う場合も考えられる。その場合としては、時限鍵生成部200に対し電力供給が開始された時や、電力供給が不安定になった後に安定した時など、直前まで時計部204における時刻の更新が行われていなかったか、リセット処理以外で時刻値が異常に変化した、またはそのいずれかの可能性がある場合がある。時限鍵生成部200のセキュリティ機能上の要件として、時計部204の時刻が過去に戻ったか、実際の過去時間より大きな変化をした、もしくは小さな変化をしたようなことがあったときには、秘密鍵記憶部202に記憶される秘密鍵は更新されなければならない。よって、そのような条件が起こりうる前述の電力供給の不安定などを検知した場合には時限鍵制御部210はリセット処理を行わなければならない。但し、電力供給の不安定などを検知し、所定の処理を実行するような実施手段はかかる分野に携わる人に広く知られているので詳細は割愛する。   A supplementary explanation will be given of the use opportunity of the reset processing. When the reset process is performed, the secret key stored in the secret key storage unit 202 is updated. Therefore, when the key acquisition operation is requested to the time key generation unit 200, the same return request is made before the reset process. The return value will be different. Accordingly, in the data management system 100, since the step S302 of the above-described data group key decryption procedure is not normally performed and the data group key cannot be decrypted normally, the secret that has been encrypted and stored in the data storage unit 105 so far Data cannot be decrypted after reset processing. By using this property, it is possible to perform effective batch erasure of all stored secret data. This is a case where the time key control unit 210 performs the reset process based on an external request, but it may be considered that the time key control unit 210 performs the reset process spontaneously. In that case, the time was not updated in the clock unit 204 until just before, for example, when power supply to the time key generation unit 200 was started or when power supply became stable after becoming unstable. In some cases, there is a possibility that the time value has changed abnormally or any one other than the reset process. As a security functional requirement of the time key generation unit 200, when the time of the clock unit 204 has returned to the past, or has changed more or less than the actual past time, the secret key storage The private key stored in the unit 202 must be updated. Therefore, when the above-described instability of power supply that may cause such a condition is detected, the timed key control unit 210 must perform a reset process. However, implementation means for detecting instability of power supply and the like and executing a predetermined process are well known to those who are involved in such fields, and the details are omitted.

(作用及び効果)
本実施形態に係るデータ管理システム100及びデータ管理方法によると、有効期間に現在時刻が含まれる場合にのみ、鍵付きハッシュ値を出力し、この出力した値に依存する値を復号鍵として、秘密データを復号化することができる。このため、有効期間外ではハッシュ値が得られないため、秘密データの復号は不可能となり、秘密データを読み出すことができない。従って、タンパによる秘密データの漏洩を防止することができる。
(Function and effect)
According to the data management system 100 and the data management method according to the present embodiment, only when the current time is included in the validity period, a hash value with a key is output, and a value depending on the output value is used as a decryption key, Data can be decrypted. For this reason, since the hash value cannot be obtained outside the valid period, the secret data cannot be decrypted and the secret data cannot be read. Therefore, leakage of secret data due to tampering can be prevented.

又、本実施形態に係るデータ管理システム100によると、時限鍵生成部200は、外部からの要求に応じて、あるいは、時計部204に異常が発生した可能性がある場合に、新たな秘密鍵を生成する乱数発生部201を備えることができる。このように、秘密鍵が更新されるため、時限鍵生成部に対し鍵取得操作を要求したときの返却値はリセット処理以前に全く同じ要求を行った時の返却値とは異なるものになる。この性質を用いると、記憶した全ての秘密データの実効的な一括消去を行うことができる。   In addition, according to the data management system 100 according to the present embodiment, the time key generation unit 200 generates a new secret key in response to a request from the outside or when there is a possibility that an abnormality has occurred in the clock unit 204. Can be provided. In this way, since the secret key is updated, the return value when the key acquisition operation is requested to the time key generation unit is different from the return value when the same request is made before the reset process. By using this property, it is possible to perform effective batch erasure of all stored secret data.

又、本実施形態に係るデータ管理システム100によると、秘密データの削除が要求された場合、秘密データの管理単位であるデータ群を識別する値、あるいは、当該データ群を識別する値を、親データ群を識別する値として保持するデータ群記述子を特定し、当該データ群記述子に保持されるデータ群鍵を暗号化した値を上書き消去することができる。このため、データ群が削除された時には当該データ群に固有のデータ群鍵を消去することができる。   Further, according to the data management system 100 according to the present embodiment, when deletion of secret data is requested, a value that identifies a data group that is a management unit of secret data or a value that identifies the data group is set to a parent value. A data group descriptor held as a value for identifying a data group can be specified, and a value obtained by encrypting the data group key held in the data group descriptor can be overwritten and erased. For this reason, when a data group is deleted, a data group key unique to the data group can be deleted.

又、本実施形態に係るデータ管理システム100によると、データ群の有効期間の変更が要求された場合、復号化部103は、データ群鍵を現在の有効期間に対応して生成された鍵に依存する暗号鍵にて復号化し、暗号化部102は、新たな有効期間に対応して生成された鍵に依存する暗号鍵にて、復号化されたデータ群鍵を再び暗号化することができる。このため、有効期間が変更された場合、有効期間に対応した鍵を新たに生成し直すことができる。   Also, according to the data management system 100 according to the present embodiment, when a change in the validity period of the data group is requested, the decryption unit 103 uses the data group key as a key generated corresponding to the current validity period. The encryption unit 102 can re-encrypt the decrypted data group key with the encryption key depending on the key generated corresponding to the new validity period. . For this reason, when the valid period is changed, a key corresponding to the valid period can be newly generated.

又、従来のデータ管理システム900では、秘密データとデータ群との所属関係やデータ群間の依存関係を考慮した暗号鍵の管理がなされていない。このため、あるデータ群Aに属する、もしくはAに依存するデータ群Bに属する秘密データおよびそれを暗号化した暗号鍵は、データ群Aが削除または有効期間が終了してその秘密データをデータ管理システムが記憶することの合理性や適法性が失われた後においても秘密データを復号可能な形態でデータ管理システムに記憶され続け、又、読み出し要求により秘密データが外部システムに提供されるという問題があった。   Further, in the conventional data management system 900, encryption keys are not managed in consideration of the affiliation relationship between the secret data and the data group and the dependency relationship between the data groups. For this reason, secret data belonging to a data group A or belonging to a data group B dependent on A and an encryption key obtained by encrypting the secret data are stored in the data group A after the data group A is deleted or the validity period ends. Even after the rationality and legality of storing the system is lost, the secret data can be stored in the data management system in a decryptable form, and the secret data is provided to the external system by a read request. was there.

例えば、包括的サービス契約に基づいて記憶したデータ群Aと、当該包括的サービス契約に依存して成立する個別のサービス契約に基づいて記憶したデータ群Bがあるとき、包括的サービス契約が解除となった時にはデータ群AだけでなくBについてもそれを保持する合理性や適法性が失われることになる。この場合は個別契約が包括契約に依存しているのであるが、データ管理上はデータ群Bがデータ群Aに依存しているとモデル化することができる。これらのようにデータ群を保持する合理性や適法性が失われた場合には記憶しているデータ群もしくは暗号鍵の消去などを行わなければならないが、従来技術では行われていなかったのである。   For example, when there is a data group A stored based on a comprehensive service contract and a data group B stored based on an individual service contract established depending on the comprehensive service contract, the comprehensive service contract is canceled. When this happens, not only the data group A but also the rationality and legality of holding B are lost. In this case, the individual contract depends on the comprehensive contract, but it can be modeled that the data group B depends on the data group A in terms of data management. If the rationality or legality of retaining the data group is lost, the stored data group or encryption key must be deleted, but this was not done in the prior art. .

本実施形態に係るデータ管理システム100によると、データ記述子に、当該データ群が依存する親データ群に関する情報が含まれるため、従来技術における問題点を解決することができる。   According to the data management system 100 according to the present embodiment, since the data descriptor includes information related to the parent data group on which the data group depends, the problems in the prior art can be solved.

(適用例)
次に、本実施形態に係るデータ管理システムの具体的な適用例について、説明する。
(Application example)
Next, a specific application example of the data management system according to the present embodiment will be described.

図11は、本適用例に係るデータ管理システムのハードウェア構成を説明するブロック図である。図11に示すように、本発明のデータ管理システムの適用例であるコンピュータ端末400は、コンピュータプログラム(以下において、「プログラム」という。)に従い、データの処理を行うCPU(中央処理装置)401と、時限鍵生成部200をワンチップのハードウェアで実装した時限鍵チップ402と、制御部110、乱数発生部101、暗号化部102、復号化部103を実施するプログラムであるデータ管理プログラム521及び後述する仮想マシンモニタ501や外部システム120を実施するプログラムを記憶し、メタデータ記憶部104とデータ記憶部105の役割を果たすメモリ403とから構成される。CPU401と時限鍵チップ402とメモリ403はデータバスやアドレスバス、その他の信号線を含むバス404で接続されており、更に、CPU401が後述のセキュアモードであることを時限鍵チップ402およびメモリ403に通知するセキュア信号405がCPU401からそれらに送信できるようになっている。このセキュア信号405は独自の信号線として実施しても良いが、バス404に含まれる信号線の特殊な組み合わせによる信号、あるいはデータバスやアドレスバスに特殊な符号系列を送信することによる信号として実施しても良い。   FIG. 11 is a block diagram illustrating the hardware configuration of the data management system according to this application example. As shown in FIG. 11, a computer terminal 400, which is an application example of the data management system of the present invention, has a CPU (Central Processing Unit) 401 that processes data according to a computer program (hereinafter referred to as “program”). A time management key chip 402 in which the time key generation unit 200 is mounted by one-chip hardware, a data management program 521 that is a program for executing the control unit 110, the random number generation unit 101, the encryption unit 102, and the decryption unit 103; A program for executing a virtual machine monitor 501 and an external system 120, which will be described later, is stored, and includes a metadata storage unit 104 and a memory 403 that functions as the data storage unit 105. The CPU 401, the time key chip 402, and the memory 403 are connected by a bus 404 including a data bus, an address bus, and other signal lines. A secure signal 405 to be notified can be transmitted from the CPU 401 to them. The secure signal 405 may be implemented as a unique signal line, but as a signal by a special combination of signal lines included in the bus 404 or a signal by sending a special code sequence to the data bus or address bus. You may do it.

本適用例においては、本実施形態において説明したデータ管理システム100の機能の多くの部分をデータ管理プログラム521により実施するが、そのプログラムは図12に示すように、仮想マシンモニタ501により構築ならびに管理される仮想的な計算機環境である仮想マシン511の上で実行される。   In this application example, most of the functions of the data management system 100 described in the present embodiment are implemented by a data management program 521, which is constructed and managed by a virtual machine monitor 501 as shown in FIG. It is executed on a virtual machine 511 which is a virtual computer environment.

仮想マシンモニタ501は一般にそのような仮想的計算機環境を単一の計算機上に複数構築することを目的とするプログラムであり、図12では、仮想マシンモニタ501上には、仮想マシン511の他に、仮想マシン512、仮想マシン513が構築されており、それぞれの仮想マシンの上では外部システム120を実施するプログラムである外部システムプログラム522、523が実行されている例を示している。   The virtual machine monitor 501 is generally a program for the purpose of constructing a plurality of such virtual computer environments on a single computer. In FIG. 12, in addition to the virtual machine 511, the virtual machine monitor 501 In this example, a virtual machine 512 and a virtual machine 513 are constructed, and external system programs 522 and 523 that are programs for executing the external system 120 are executed on the respective virtual machines.

これらのプログラムのうち、データ管理プログラム512のみがセキュアモードで実行される。セキュアモードとはCPU401の動作モードであり、セキュアモードではない動作モードである非セキュアモードとの切り替えは仮想マシンモニタ501により行われ、それ以外のプログラムではこれらのモード切り替えは行うことはできない。CPU401がセキュアモードであるかどうかはセキュア信号405により周辺装置に通知される。即ち、セキュア信号405を受信する時限鍵チップ402やメモリ403は、CPU401がセキュアモードであるかどうかを知ることができる。そして、時限鍵チップ402はCPU401がセキュアモードである場合にのみ鍵取得操作の要求に対する処理を行い、メモリ403はCPU401がセキュアモードである場合にのみアクセス可能となるセキュアメモリ空間406を持つ。   Of these programs, only the data management program 512 is executed in the secure mode. The secure mode is an operation mode of the CPU 401. Switching to the non-secure mode, which is an operation mode other than the secure mode, is performed by the virtual machine monitor 501, and these modes cannot be switched by other programs. Whether the CPU 401 is in the secure mode is notified to the peripheral device by a secure signal 405. That is, the time key chip 402 and the memory 403 that receive the secure signal 405 can know whether the CPU 401 is in the secure mode. The time key chip 402 performs processing for a key acquisition operation request only when the CPU 401 is in the secure mode, and the memory 403 has a secure memory space 406 that can be accessed only when the CPU 401 is in the secure mode.

以上のようなハードウェア及びソフトウェア構成において、本適用例のコンピュータ端末400では、データ管理プログラム521の記憶及び同プログラムの実行で一時的に用いるデータ(一時データ)の記憶をセキュアメモリ空間406において行う。   In the hardware and software configuration as described above, the computer terminal 400 of this application example stores the data management program 521 and data (temporary data) temporarily used in the execution of the program in the secure memory space 406. .

次に、このように実施することにより得られる効果について説明する。非セキュアモードで動作する外部システムプログラム522、523からはデータ記憶部105に記憶される暗号化された秘密データや、メタデータ記憶部104に記憶されるデータ群記述子をアクセスすることは可能であるが、時限鍵チップ402は非セキュアモードでの鍵取得操作要求は処理しないため、これら外部システムプログラムはデータ群記述子の記憶するデータ群鍵を復号化することができず、よってデータ群鍵で暗号化された秘密データを復号化することができない。メモリ403にはデータ管理プログラム521が実施するデータ群鍵復号化プロシジャのステップS304において現れる変数KS、即ち、復号され平文となったデータ群鍵が存在する瞬間があり得るが、このように平文となったデータ群鍵は一時データであり、セキュアメモリ空間406に置かれるため、これら外部システムプログラムからはアクセスすることができない。以上のことから、これらの外部システムプログラムは秘密データを勝手に復号化することはできず、秘密データの安全が保証される。   Next, the effect obtained by implementing in this way is demonstrated. From the external system programs 522 and 523 operating in the non-secure mode, it is possible to access the encrypted secret data stored in the data storage unit 105 and the data group descriptor stored in the metadata storage unit 104. However, since the timed key chip 402 does not process a key acquisition operation request in the non-secure mode, these external system programs cannot decrypt the data group key stored in the data group descriptor. The secret data encrypted with cannot be decrypted. There may be a moment in the memory 403 where there is a variable KS that appears in step S304 of the data group key decryption procedure executed by the data management program 521, that is, a data group key that has been decrypted into plaintext. The changed data group key is temporary data and is placed in the secure memory space 406, and therefore cannot be accessed from these external system programs. From the above, these external system programs cannot decrypt the secret data without permission, and the security of the secret data is guaranteed.

更に、コンピュータ端末400をタンパすることで攻撃者が有効期間外となった秘密データにアクセスすることを考える。この場合、セキュア信号線は攻撃者に自由に操作されうると考えられるので、攻撃者は時限鍵チップ402の機能を利用でき、かつ、セキュアメモリ空間406のデータも含めメモリ403の記憶するデータを全て読み書き可能であると考えられる。この場合、攻撃者は暗号化された秘密データ及びデータ群記述子を入手することができるが、時限鍵チップ402に対し鍵取得操作要求を行っても有効期間外の場合には無効値が返却されるため、攻撃者はデータ群鍵を復号化することができず、秘密データを復号化することができない。よって攻撃者は復号された秘密データを入手することができないため、安全である。ただし、セキュアメモリ空間406において、データ群鍵復号化プロシジャのステップS304において現れる変数KSや、その他の処理において平文となったデータ群鍵が消し忘れて残っていると、攻撃者がそれを入手して秘密データを復号できてしまう。よって、データ管理プログラム521はデータ群鍵を平文でメモリ403に記憶した場合は速やかに上書き消去するように処理を行う必要がある。   Further, it is considered that the attacker accesses the secret data outside the valid period by tampering with the computer terminal 400. In this case, since it is considered that the secure signal line can be freely operated by the attacker, the attacker can use the function of the time key chip 402 and can also store the data stored in the memory 403 including the data in the secure memory space 406. All are considered readable and writable. In this case, the attacker can obtain the encrypted secret data and data group descriptor, but if the key acquisition operation request is made to the time key chip 402, an invalid value is returned if it is outside the valid period. Therefore, the attacker cannot decrypt the data group key and cannot decrypt the secret data. Therefore, since the attacker cannot obtain the decrypted secret data, it is safe. However, in the secure memory space 406, if the variable KS that appears in step S304 of the data group key decryption procedure or the data group key that has become plaintext in other processing remains forgotten, the attacker obtains it. Secret data can be decrypted. Therefore, the data management program 521 needs to perform processing so that the data group key is quickly overwritten when it is stored in the memory 403 in plain text.

(その他の実施形態)
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
(Other embodiments)
Although the present invention has been described according to the above-described embodiments, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.

例えば、本実施形態に係るデータ管理システム100において、秘密データの有効期間として開始時刻と終了時刻の2つで定められる期間を用いるように説明しているが、有効期間が開始時刻のみで終了時刻が指定されない場合(開始時刻以降は常に有効期間)、又は、終了時刻のみで開始時刻が指定されない場合(終了時刻以前は常に有効期間)も考えられる。そのように開始または終了のいずれかの時刻のみでシステムで必要とする有効期間を十分に表現しうる場合には、データ管理システム100におけるデータ構造の一部や処理の一部を単純化できる。例えば、データ群記述子において有効期間欄を開始と終了の時刻からなるベクタ値の代わりにそのいずれかの時刻値のみを記述する、又、時限鍵制御部210のステップS702の処理において現在時刻と比較する対象を変数SまたはTのいずれかのみとすることができる。これらの他にも単純化できる部分はあるが、それらを考慮し実施することはかかる分野に携わる人にとり容易であるので詳細は略する。   For example, in the data management system 100 according to the present embodiment, it is described that a period determined by two of a start time and an end time is used as the effective period of the secret data. Is not specified (always valid after the start time), or the start time is not specified only by the end time (always valid before the end time). If the effective period required by the system can be expressed sufficiently only at either the start time or the end time, part of the data structure and part of the processing in the data management system 100 can be simplified. For example, in the data group descriptor, only one of the time values is described instead of the vector value consisting of the start and end times in the validity period column, and the current time is set in the processing of step S702 of the time key control unit 210. The comparison target can be only one of the variables S and T. There are other parts that can be simplified, but it is easy for those who are involved in such fields to implement them, so details are omitted.

このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

本実施形態に係るデータ管理システムの構成ブロック図である。1 is a configuration block diagram of a data management system according to the present embodiment. 本実施形態に係るデータ管理システムの時限鍵生成部の構成ブロック図である。It is a block diagram of the configuration of the time key generation unit of the data management system according to the present embodiment. 本実施形態に係るデータ群記述子の一例を説明する図である。It is a figure explaining an example of the data group descriptor concerning this embodiment. 本実施形態に係るデータ管理方法(データ群追加処理)を示すフローチャートである。It is a flowchart which shows the data management method (data group addition process) which concerns on this embodiment. 本実施形態に係るデータ管理方法(データ群鍵暗号化プロシジャの呼び出し処理)を示すフローチャートである。It is a flowchart which shows the data management method (call processing of a data group key encryption procedure) concerning this embodiment. 本実施形態に係るデータ管理方法(データ群鍵復号化プロシジャの呼び出し処理)を示すフローチャートである。It is a flowchart which shows the data management method (call processing of a data group key decryption procedure) concerning this embodiment. 本実施形態に係るデータ管理方法(秘密データの書き込み処理)を示すフローチャートである。It is a flowchart which shows the data management method (write processing of secret data) concerning this embodiment. 本実施形態に係るデータ管理方法(秘密データの読み出し処理)を示すフローチャートである。It is a flowchart which shows the data management method (reading process of secret data) concerning this embodiment. 本実施形態に係るデータ管理方法(有効期間変更処理)を示すフローチャートである。It is a flowchart which shows the data management method (validity period change process) which concerns on this embodiment. 本実施形態に係るデータ管理方法(時限鍵生成処理)を示すフローチャートである。It is a flowchart which shows the data management method (time key generation process) which concerns on this embodiment. 適用例に係るデータ管理システムのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the data management system which concerns on an application example. 適用例に係るデータ管理システムのソフトウェアを説明する図である。It is a figure explaining the software of the data management system which concerns on an application example. 従来のデータ管理システムの構成ブロック図である。It is a block diagram of a conventional data management system.

符号の説明Explanation of symbols

100…データ管理システム
101…乱数発生部
102…暗号化部
103…復号化部
104…メタデータ記憶部
105…データ記憶部
110…制御部
120…外部システム
200…時限鍵生成部
201…乱数発生部
202…秘密鍵記憶部
203…ハッシュ出力部
204…時計部
210…時限鍵制御部
301、302、303、304…データ群記述子
400…コンピュータ端末
401…CPU
402…時限鍵チップ
403…メモリ
404…バス
405…セキュア信号
406…セキュアメモリ空間
501…仮想マシンモニタ
511…仮想マシン
512…データ管理プログラム
512…仮想マシン
513…仮想マシン
521…データ管理プログラム
522…外部システムプログラム
900…データ管理システム
902…暗号化データ記憶部
910…機密保護部
912…暗号/復号部
913…制御部
914…乱数発生部
916…暗号鍵記憶部
DESCRIPTION OF SYMBOLS 100 ... Data management system 101 ... Random number generation part 102 ... Encryption part 103 ... Decryption part 104 ... Metadata storage part 105 ... Data storage part 110 ... Control part 120 ... External system 200 ... Time limit key generation part 201 ... Random number generation part 202 ... Secret key storage unit 203 ... Hash output unit 204 ... Clock unit 210 ... Timed key control unit 301, 302, 303, 304 ... Data group descriptor 400 ... Computer terminal 401 ... CPU
402 ... Timed key chip 403 ... Memory 404 ... Bus 405 ... Secure signal 406 ... Secure memory space 501 ... Virtual machine monitor 511 ... Virtual machine 512 ... Data management program 512 ... Virtual machine 513 ... Virtual machine 521 ... Data management program 522 ... External System program 900 ... Data management system 902 ... Encrypted data storage section 910 ... Security protection section 912 ... Encryption / decryption section 913 ... Control section 914 ... Random number generation section 916 ... Encryption key storage section

Claims (10)

暗号化された秘密データを記憶するデータ記憶部と、
前記秘密データの管理単位であるデータ群を識別する値と、前記データ群の有効期間の値とを対応付けて保持するデータ群記述子を記憶するメタデータ記憶部と、
前記有効期間に現在時刻が含まれる場合、前記有効期間に対応した鍵を生成する時限鍵生成部と、
前記時限鍵生成部によって生成された鍵を用いて、前記暗号化された秘密データを復号化する復号化部と
を備えることを特徴とするデータ管理システム。
A data storage unit for storing encrypted secret data;
A metadata storage unit that stores a data group descriptor that stores a value that identifies a data group that is a management unit of the secret data and a valid period value of the data group; and
If the current period is included in the valid period, a time key generation unit that generates a key corresponding to the valid period;
A data management system comprising: a decryption unit that decrypts the encrypted secret data using the key generated by the time key generation unit.
前記時限鍵生成部は、
秘密鍵を記憶する秘密鍵記憶部と、
前記秘密鍵に基づいて、前記有効期間に依存する値の鍵付きハッシュ値を、前記有効期間に対応した鍵として出力する鍵付きハッシュ出力部と
を備えることを特徴とする請求項1に記載のデータ管理システム。
The time key generation unit
A secret key storage unit for storing the secret key;
The keyed hash output unit that outputs a keyed hash value having a value depending on the validity period as a key corresponding to the validity period based on the secret key. Data management system.
前記時限鍵生成部は、外部からの要求に応じて、あるいは、時間の経過に応じて単調増加する値を出力する時計部に異常が発生した可能性がある場合に、新たな前記秘密鍵を生成する乱数発生部を更に備えることを特徴とする請求項2に記載のデータ管理システム。   The time key generation unit is configured to acquire a new secret key when there is a possibility that an abnormality has occurred in a clock unit that outputs a value that monotonously increases with the request from the outside or with the passage of time. The data management system according to claim 2, further comprising a random number generation unit that generates the data. 前記データ群記述子は、前記データ群を識別する値に対応付けて、前記データ群が依存する親データ群を識別する値を更に保持することを特徴とする請求項1〜3のいずれか1項に記載のデータ管理システム。   4. The data group descriptor further holds a value that identifies a parent data group on which the data group depends, in association with a value that identifies the data group. The data management system described in the section. 前記データ群記述子は、秘密データの暗号化及び復号化を行う際に用いる暗号鍵であるデータ群鍵を暗号化した値を更に保持することを特徴とする請求項1〜4のいずれか1項に記載のデータ管理システム。   The data group descriptor further holds a value obtained by encrypting a data group key that is an encryption key used when encrypting and decrypting secret data. The data management system described in the section. 前記データ群鍵を、該データ群の有効期間に対応して生成された鍵に依存する暗号鍵にて暗号化する暗号化部を更に備えることを特徴とする請求項5に記載のデータ管理システム。   6. The data management system according to claim 5, further comprising: an encryption unit that encrypts the data group key with an encryption key that depends on a key generated corresponding to the validity period of the data group. . 前記データ群鍵を、該データ群が依存する親データ群を暗号化するデータ群鍵に依存する暗号鍵にて暗号化する暗号化部を更に備えることを特徴とする請求項5に記載のデータ管理システム。   6. The data according to claim 5, further comprising an encryption unit that encrypts the data group key with an encryption key that depends on a data group key that encrypts a parent data group on which the data group depends. Management system. 秘密データの削除が要求された場合、前記秘密データの管理単位であるデータ群を識別する値、あるいは、当該データ群を識別する値を、前記親データ群を識別する値として保持するデータ群記述子を特定し、当該データ群記述子に保持される前記データ群鍵を暗号化した値を上書き消去する制御部を更に備えることを特徴とする請求項5〜7のいずれか1項に記載のデータ管理システム。   A data group description that holds a value that identifies a data group that is a management unit of the secret data or a value that identifies the data group as a value that identifies the parent data group when deletion of secret data is requested The control unit according to any one of claims 5 to 7, further comprising a control unit that identifies a child and overwrites and erases a value obtained by encrypting the data group key held in the data group descriptor. Data management system. データ群の有効期間の変更が要求された場合、
前記復号化部は、前記データ群鍵を現在の有効期間に対応して生成された鍵に依存する暗号鍵にて復号化し、
前記暗号化部は、新たな有効期間に対応して生成された鍵に依存する暗号鍵にて、前記復号化されたデータ群鍵を再び暗号化することを特徴とする請求項6〜8のいずれか1項に記載のデータ管理システム。
When a change in the validity period of a data group is requested,
The decryption unit decrypts the data group key with an encryption key depending on a key generated corresponding to a current validity period;
9. The encryption unit according to claim 6, wherein the encryption unit re-encrypts the decrypted data group key with an encryption key depending on a key generated corresponding to a new valid period. The data management system according to any one of the above.
暗号化された秘密データを記憶するステップと、
前記秘密データの管理単位であるデータ群を識別する値と、前記データ群の有効期間の値とを対応付けて保持するデータ群記述子を記憶するステップと、
前記有効期間に現在時刻が含まれる場合、前記有効期間に対応した鍵を生成するステップと、
前記生成された鍵を用いて、前記暗号化された秘密データを復号化するステップと
を含むことを特徴とするデータ管理方法。

Storing encrypted secret data; and
Storing a data group descriptor that holds a value that identifies a data group that is a management unit of the secret data and a valid period value of the data group;
If the validity period includes a current time, generating a key corresponding to the validity period;
Decrypting the encrypted secret data using the generated key. A data management method comprising:

JP2004309905A 2004-10-25 2004-10-25 Data management system and data management method Pending JP2006120089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004309905A JP2006120089A (en) 2004-10-25 2004-10-25 Data management system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004309905A JP2006120089A (en) 2004-10-25 2004-10-25 Data management system and data management method

Publications (1)

Publication Number Publication Date
JP2006120089A true JP2006120089A (en) 2006-05-11

Family

ID=36537890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004309905A Pending JP2006120089A (en) 2004-10-25 2004-10-25 Data management system and data management method

Country Status (1)

Country Link
JP (1) JP2006120089A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110457A1 (en) * 2008-03-04 2009-09-11 日本電信電話株式会社 Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
JP2009211698A (en) * 2008-02-29 2009-09-17 Arm Ltd Data processing apparatus and method for controlling access to secure memory by virtual machine executed on processing circuitry
JP2018511247A (en) * 2015-03-31 2018-04-19 アマゾン・テクノロジーズ、インコーポレイテッド Key export technology
JP2019149833A (en) * 2011-09-29 2019-09-05 アマゾン テクノロジーズ インコーポレイテッド Parameter based key derivation
US11184155B2 (en) 2016-08-09 2021-11-23 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US11356457B2 (en) 2011-09-29 2022-06-07 Amazon Technologies, Inc. Parameter based key derivation

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211698A (en) * 2008-02-29 2009-09-17 Arm Ltd Data processing apparatus and method for controlling access to secure memory by virtual machine executed on processing circuitry
US8418175B2 (en) 2008-02-29 2013-04-09 Arm Limited Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty
WO2009110457A1 (en) * 2008-03-04 2009-09-11 日本電信電話株式会社 Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
JP2009211407A (en) * 2008-03-04 2009-09-17 Nippon Telegr & Teleph Corp <Ntt> Authentication information generation system, authentication information generation method, client device and program
US8953805B2 (en) 2008-03-04 2015-02-10 Nippon Telegraph And Telephone Corporation Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
JP2019149833A (en) * 2011-09-29 2019-09-05 アマゾン テクノロジーズ インコーポレイテッド Parameter based key derivation
US11356457B2 (en) 2011-09-29 2022-06-07 Amazon Technologies, Inc. Parameter based key derivation
JP2018511247A (en) * 2015-03-31 2018-04-19 アマゾン・テクノロジーズ、インコーポレイテッド Key export technology
US10469477B2 (en) 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
US11374916B2 (en) 2015-03-31 2022-06-28 Amazon Technologies, Inc. Key export techniques
US11184155B2 (en) 2016-08-09 2021-11-23 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys

Similar Documents

Publication Publication Date Title
US10567362B2 (en) Method and system for an efficient shared-derived secret provisioning mechanism
CN1312876C (en) Encrypted/deencrypted stored data by utilizing disaccessible only secret key
JP5314016B2 (en) Information processing apparatus, encryption key management method, computer program, and integrated circuit
US7788487B2 (en) Data processing apparatus
JP3880933B2 (en) Data access control method using tamper resistant microprocessor and cache memory processor
CN100456200C (en) Multi-token seal and unseal
CN101420427B (en) Cryptographic module selection apparatus
KR100749867B1 (en) System and method for securely installing a cryptographic system on a secure device
CN110199287A (en) It is unsealed using the data that area is surrounded in sealing
CN110199288A (en) Crossover-platform surrounds area&#39;s seal data
CN110199284A (en) Crossover-platform surrounds area&#39;s identity
CN110199286A (en) The seal data in area is surrounded using sealing
CN101072097B (en) System and method for trusted data processing
US20080025503A1 (en) Security method using self-generated encryption key, and security apparatus using the same
CN1795471B (en) Security key generation method
CN110214324A (en) Key vault surrounds area
US7571329B2 (en) Method of storing unique constant values
CN110226167A (en) It is abstract to surround area&#39;s identity
JP5354001B2 (en) Information processing apparatus, information processing system, and program
CN110517389B (en) Method, device, equipment and storage medium for generating and verifying equipment password
CN100561396C (en) Revise the method for digital rights object and used electronic equipment thereof
CN110214321A (en) Nesting surrounds area&#39;s identity
CN111666558B (en) Key rotation method, device, computer equipment and storage medium
CN104598827A (en) Design method of restarting counter of hardware assisted operating system
CN114020705A (en) File processing method and device and storage medium