JPH11143780A - データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置 - Google Patents

データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Info

Publication number
JPH11143780A
JPH11143780A JP9319010A JP31901097A JPH11143780A JP H11143780 A JPH11143780 A JP H11143780A JP 9319010 A JP9319010 A JP 9319010A JP 31901097 A JP31901097 A JP 31901097A JP H11143780 A JPH11143780 A JP H11143780A
Authority
JP
Japan
Prior art keywords
key
secret information
encrypted
encryption
management table
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
JP9319010A
Other languages
English (en)
Inventor
Kenichi Chatani
謙一 茶谷
Makoto Kitagawa
誠 北川
Kazuo Matsunaga
和男 松永
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9319010A priority Critical patent/JPH11143780A/ja
Publication of JPH11143780A publication Critical patent/JPH11143780A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 暗号化に関する情報を専用のテーブルを使っ
て管理することにより、暗号化するデータベースの柔軟
性と安全性を向上する。 【解決手段】 暗号化するデータベースの管理テーブル
107とそのテーブルに対応する鍵テーブル108によ
り、暗号化データを管理する。鍵テーブル108は特定
の値の集合(1つの行の中の1つの列の項目、行、列)
ごとに暗号鍵、暗号化アルゴリズム識別子、データのハ
ッシュ値を持つ。管理テーブル107へのデータの登録
または更新ごとにデータ暗号化プログラム112におい
て暗号鍵を作成し、さらに該暗号鍵を鍵暗号鍵を用いて
暗号化し、これを鍵テーブル108に登録する。暗号デ
ータの検索は、ハッシュ値によって得られる暗号鍵を鍵
暗号鍵を用いて復号し、復号した暗号鍵と暗号化アルゴ
リズムを用いて行う。これによりデータベース稼動中に
暗号鍵や暗号化アルゴリズムの変更を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、秘密情報をデータ
ベースに暗号化して登録し、管理する方法に関するもの
である。
【0002】
【従来の技術】昨今、データベースは、クレジット会
社、銀行など様々な分野で利用されている。特に最近で
は、電子商取引の認証を行う認証局も、認証のために氏
名やクレジット番号などの個人の秘密情報を管理するデ
ータベースを持っている。このようなデータベースは個
人に関する秘密情報を扱っているため、例えばデータベ
ースを操作できるアクセス権をデータベース管理者のよ
うな特定の個人にしか与えないようにすることにより、
データの漏洩を防いでいる。しかしながら、データベー
スへのアクセス権を設定している場合でも、不正な侵入
者がデータベースを記録した記憶装置を不正に持ち出
し、該装置の内容を直接見ることによりデータが漏洩す
る危険性がある。そこで、氏名やクレジット番号など特
定の情報を暗号化して登録し、情報を取り出すときに復
号して元の情報を得ることによりセキュリティを確保す
ることが考えられる。このように特定の情報を暗号化し
ておくことにより、データベースが記録された装置が盗
難にあったとしても復号のための鍵が盗まれていなけれ
ば、情報が漏洩する危険性は大幅に減少する。従来は、
このような情報の暗号化に特定の一つの鍵を用いて、デ
ータベース全体を暗号化していた。
【0003】データベースを暗号化する技術の例として
は「特開平8−329011」に開示されているものが
ある。該公知例の実施例は、データベース、鍵管理セン
タ、1次ユーザ、2次ユーザを相互に接続するネットワ
ークシステムから構成される。1次ユーザは著作権情報
を暗号化してデータベースに格納し、鍵を鍵管理センタ
に格納する。2次ユーザがその著作権情報を利用すると
きは、鍵管理センタから暗号鍵をもらい、そのときに課
金される方式が提案されている。この公知例の鍵管理セ
ンタは、保管されている鍵と著作権ラベルの対応づけを
行うことによって鍵を管理している。
【0004】
【発明が解決しようとする課題】従来の技術では、特定
の一つの暗号鍵でデータベース全体を暗号化したデータ
ベースでは、その暗号鍵がデータベースが記録された装
置と同時に盗難にあった場合、データベース全体が解読
され、秘密情報が漏洩する危険性がある。また、データ
ベースの稼動中に暗号鍵が盗難にあった場合、不正侵入
者がこの鍵を使用してデータを解読する可能性がある。
従って、これらの状況においては暗号鍵を変更してデー
タの漏洩を防止する必要が生じる。暗号鍵を変更するた
めには、データベースに対するユーザからのアクセスを
禁止し、データベース中のすべてのデータを一旦復号化
した後で新しい暗号鍵で暗号化し直さなければならな
い。データベースの規模が大きくなればなるほどこの作
業には時間がかかり、その間、ユーザはデータベースに
アクセスできない。さらに鍵が盗難に会わなくとも、暗
号化されたデータのうち一つが解読されると、データベ
ースを暗号化している鍵が一つであるため、他のデータ
がすべて解読される危険性がある。
【0005】また、従来の技術ではデータベースの稼動
中に、より強固な暗号化アルゴリズムを採用してセキュ
リティを高めようとする場合に、暗号化アルゴリズムを
変更することが困難である。なぜなら、この場合にもデ
ータベースへのユーザアクセスを一旦禁止し、すべての
データを新しい暗号化アルゴリズムで暗号化し直さなけ
ればならないからである。以上で述べたように、従来の
データベースを暗号化する方式においては、データベー
スを暗号化する鍵が1つであるためその鍵が盗難に合っ
た場合、その鍵で暗号化されたデータベースがすべて解
読され秘密情報が漏洩する危険性があり、また暗号化し
たデータベース稼働中により強固な暗号化アルゴリズム
が発明されたとしてもデータベースの暗号化アルゴリズ
ムをその方式に変更するのは困難であるという問題があ
った。
【0006】本発明は、データベースを暗号化する方式
において、データベースの内容を漏洩しない安全なデー
タベースの秘密情報管理方式を提供すること、暗号鍵や
暗号化アルゴリズムの変更をデータベース稼働中にも容
易に行うことができるようにすること、および複数の暗
号化アルゴリズムと複数の暗号鍵を使うことができるよ
うにすることを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、暗号化された秘密情報を管理するデータ
ベースにおける秘密情報管理方法であって、前記データ
ベースに、暗号化された秘密情報を格納する管理テーブ
ルと、該管理テーブルの特定の値の集合(1つの行の中
の1つの列の項目、行、列など)対応に該集合に属する
各値を暗号化するために使用した鍵と暗号アルゴリズム
識別子と該管理テーブルの特定の値の集合対応に求めら
れた該集合のハッシュ値を格納する鍵テーブルを設け、
該管理テーブルと鍵テーブルに行ごとにシリアル番号を
付与して互いに関連付けし、前記データベースへの秘密
情報の登録時に、シリアル番号を作成し、登録する秘密
情報を暗号化するための鍵を乱数を使って作成し、該作
成した鍵により前記管理テーブルに登録する秘密情報を
暗号アルゴリズムを用いて暗号化し、該暗号化した秘密
情報を前記シリアル番号と共に前記管理テーブルに登録
し、前記作成した鍵を、該作成した鍵とは別に作成した
鍵であって管理テーブルに登録する秘密情報を暗号化し
たすべての鍵の暗号化に使用する鍵暗号鍵により暗号化
し、暗号化された秘密情報の検索のために使用する前記
ハッシュ値を計算し、該鍵暗号鍵により暗号化された秘
密情報の暗号化のための鍵と、前記暗号アルゴリズムの
識別子と、前記検索のためのハッシュ値を前記シリアル
番号と共に前記鍵テーブルに登録するようにしている。
【0008】また、前記データベースに登録された秘密
情報の検索時に、検索条件のハッシュ値を求め、前記鍵
テーブルから該検索条件のハッシュ値に一致するハッシ
ュ値を有する条件一致行を取り出し、該条件一致行から
前記鍵暗号鍵により暗号化された秘密情報の暗号化のた
めの鍵と暗号アルゴリズム識別子の組を取り出し、取り
出した該鍵暗号鍵により暗号化された秘密情報の暗号化
のための鍵を該鍵暗号鍵により復号し、該復号した鍵と
前記暗号アルゴリズム識別子に対応する暗号アルゴリズ
ムにより前記検索条件を暗号化し、該暗号化された検索
条件により前記管理テーブルの検索を行うようにしてい
る。
【0009】また、検索条件に一致する秘密情報を検索
後に、該検索した秘密情報を暗号化するための新たな鍵
を乱数を使って作成し、該作成した鍵により該検索した
秘密情報を暗号アルゴリズムを用いて新たに暗号化し、
該作成した鍵を前記鍵暗号鍵により暗号化し、該新たに
暗号化した秘密情報で管理テーブルを更新し、前記鍵暗
号鍵により暗号化した暗号化のための新たな鍵と前記暗
号アルゴリズムの識別子により鍵テーブルを更新するよ
うにしている。
【0010】また、前記データベースに登録された秘密
情報の更新時に、更新前の秘密情報と更新後の秘密情報
を入力し、更新前の秘密情報によりデータベースを検索
し、該更新前の秘密情報の存在する前記管理テーブルの
シリアル番号を取得し、前記更新後の秘密情報を暗号化
するための鍵を乱数を使って作成し、該作成した鍵によ
り該更新後の秘密情報を暗号アルゴリズムを用いて暗号
化し、該暗号化した更新後の秘密情報を前記管理テーブ
ルの前記取得したシリアル番号の行に登録し、前記作成
した鍵を前記鍵暗号鍵により暗号化し、該鍵暗号鍵によ
り暗号化した鍵と、前記暗号アルゴリズムの識別子を前
記鍵テーブルの前記取得したシリアル番号の行に登録す
るようにしている。
【0011】
【発明の実施の形態】まず、本発明の原理について説明
する。秘密情報を管理するデータベースは、暗号化され
た秘密情報を格納するための管理テーブルと、その管理
テーブルの1つの行の中の1つの列の項目(以下では、
フィールドと称する)、行、または列などの特定の値の
集合ごとに該集合に属する個々の値を暗号化するために
使用した鍵と暗号アルゴリズム識別子を格納する鍵テー
ブルを有する。前記管理テーブルと鍵テーブルは、2つ
のテーブルの行を関連付けるシリアル番号をそれぞれ格
納しており、前記管理テーブルの特定の値の集合を結合
した値に対して計算したハッシュ値も鍵テーブルに格納
する。暗号化した秘密情報の登録には、まず、秘密情報
を暗号化するための鍵(以下では、データ暗号鍵と称す
る)を乱数を使って作成する。そのデータ暗号鍵を使っ
て管理テーブルに登録する秘密情報を暗号化する。この
ような鍵の例としてMULTI2、DES(Data
Encryption Standard)等がある。
さらに、前記データ暗号鍵は、秘密情報を暗号化する鍵
とは別に作成した鍵であって管理テーブルに登録する秘
密情報を暗号化したすべての鍵の暗号化に使用する別の
鍵(以下では、鍵暗号鍵と称する)を用いて暗号化され
る。そして、秘密情報の検索のために使用するハッシュ
値を暗号化前の秘密情報から計算する。さらに、シリア
ル番号を生成し、シリアル番号と暗号化された秘密情報
を管理テーブルに登録し、シリアル番号とデータ暗号鍵
と暗号化アルゴリズム識別子とハッシュ値を鍵テーブル
に登録する。
【0012】検索条件としてシリアル番号が指定された
場合は、鍵テーブルにおいてそのシリアル番号を検索
し、鍵テーブルからそのシリアル番号に一致する暗号化
アルゴリズム識別子と暗号化されたデータ暗号鍵を取り
出し、鍵暗号鍵で暗号化されたデータ暗号鍵を復号す
る。次に管理テーブルにおいてシリアル番号を検索し、
管理テーブルから、シリアル番号に一致する暗号化され
た秘密情報を取り出し、その秘密情報を前記暗号アルゴ
リズムで前記データ暗号鍵を使って復号する。検索条件
として秘密情報のみが指定された場合は、まず、検索条
件のハッシュ値を計算する。そのハッシュ値により鍵テ
ーブルを検索してそのハッシュ値に一致する暗号化され
たデータ暗号鍵と、暗号化アルゴリズム識別子をすべて
取り出し、前記暗号化されたデータ暗号鍵を復号したデ
ータ暗号鍵と、暗号化アルゴリズムにより検索条件を暗
号化する。次に、暗号化した検索条件を使って管理テー
ブルを検索し、一致する秘密情報を含む行が見つかった
場合、その行のシリアル番号に対応する鍵テーブルの他
の暗号化されたデータ暗号鍵を復号した鍵と暗号化アル
ゴリズム識別子を使って、検索条件以外の秘密情報を復
号する。
【0013】以上説明した原理を、さらに具体例を用い
て説明する。本例で用いる管理テーブルの例を図2に示
し、その管理テーブルに対応する鍵テーブルを図3に示
す。管理テーブルの列は、シリアル番号、名前、電話番
号、住所で構成され、鍵テーブルの列は、シリアル番
号、名前のハッシュ値、名前暗号アルゴリズム識別子、
名前の暗号鍵、電話番号のハッシュ値、電話番号暗号ア
ルゴリズム識別子、電話番号の暗号鍵、住所のハッシュ
値、住所暗号アルゴリズム識別子、住所の暗号鍵で構成
される。図2、図3において、天地逆の文字は暗号化さ
れているデータを示している。図2の管理テーブルに
は、名前、電話番号が暗号化され、住所が暗号化されな
いで格納されている。図3の鍵テーブルには、名前、電
話番号、住所のそれぞれのハッシュ値、暗号化アルゴリ
ズム識別子、暗号鍵が格納され、このうち暗号鍵は暗号
化されて格納されている。
【0014】本例で、シリアル番号の項目200の列が
「11」の行204と、シリアル番号の項目200の列
が「12」の行205が、管理テーブルに格納されてお
り、シリアル番号の項目300の列が「11」の行31
0と、シリアル番号の項目300の列が「12」の行3
11が、鍵テーブル108に格納されている状態で、新
たに名前「日立花子」、電話番号「987−654
3」、住所「東京都」をデータベースに登録する場合の
手順について説明する。まず、「日立花子」、「987
−6543」を暗号化するための鍵を乱数を使ってそれ
ぞれ作成し、「315TK8」「123ABD」を求め
る。次に作成した鍵「315TK8」を使って「日立花
子」を暗号化プログラムが持つ最新の暗号アルゴリズム
で暗号化し、鍵「123ABD」を使って「987−6
543」を前記暗号アルゴリズムで暗号化する。次に
「日立花子」からハッシュ値「502」を計算し、「9
87−6543」からハッシュ値「143」を計算し、
「東京都」からハッシュ値「123」を計算する。鍵
「315TK8」、「123ABD」を鍵暗号鍵で暗号
化する。管理テーブルと鍵テーブルの行を関係付けるシ
リアル番号「13」を生成し、管理テーブルのシリアル
番号の項目207に「13」、名前の項目208に暗号
化された「日立花子」、電話番号の項目209に暗号化
された「987−6543」、住所の項目210に「東
京都」を登録し、鍵テーブルのシリアル番号の項目31
2に「13」、名前のハッシュ値の項目313に「50
2」、名前の暗号化アルゴリズム識別子の項目314に
「2」、名前の暗号鍵の項目315に暗号化された「3
15TK8」、電話番号のハッシュ値の項目316に
「143」、電話番号の暗号化アルゴリズム識別子の項
目317に「2」、電話番号の暗号鍵の項目318に暗
号化された「123ABD」、住所のハッシュ値の項目
319に「123」、住所の暗号化アルゴリズム識別子
の項目320に「0」を登録する。
【0015】次に、この秘密情報データベース(管理テ
ーブルと鍵テーブル)から、名前が「日立二郎」の電話
番号を検索する場合について説明する。まず、「日立二
郎」からハッシュ値を計算し、ハッシュ値「359」を
求める。鍵テーブルの名前のハッシュ値で「359」を
検索して、その暗号化アルゴリズム識別子「1」322
と暗号化されたデータ暗号鍵「ZXB515」323を
取り出す。次にデータ暗号鍵を鍵暗号鍵で復号する。復
号した暗号鍵「ZXB515」323と暗号化アルゴリ
ズム識別子「1」322を使って名前の検索条件「日立
二郎」を暗号化する。暗号化された「日立二郎」の検索
条件を使って管理テーブルを検索する。管理テーブルに
おいて暗号化された「日立二郎」を検索し、その行のシ
リアル番号「12」211を取り出し、そのシリアル番
号「12」211を使って鍵テーブルの電話番号の暗号
化アルゴリズム識別子「1」324と暗号化されたデー
タ暗号鍵「01ER88」を鍵暗号鍵で復号した鍵を使
って管理テーブル上の「日立二郎」の暗号化された電話
番号を復号化する。
【0016】次に、各行に含まれる値のそれぞれに同一
のデータ暗号鍵を使用し、かつ各行ごとに異なるデータ
暗号鍵を使用する場合について説明する。この場合の管
理テーブルと鍵テーブルの例を図4、図5に示す。図4
は、行ごとに暗号化された管理テーブルの例である。図
4のテーブル構成は図2と同じであるが、暗号化されて
格納されている単位が図2と異なり、行ごとになってい
る。図4において、天地逆の文字は暗号化されているデ
ータを示している。図4の管理テーブルに対応する鍵テ
ーブルの例を図5に示す。図5の鍵テーブルは、シリア
ル番号、名前と電話番号を連結した値のハッシュ値、暗
号化アルゴリズム識別子、およびデータ暗号鍵を列に持
つ。鍵テーブルは行ごとに暗号化した鍵を持つのでハッ
シュ値、暗号化アルゴリズム識別子、暗号鍵は行ごとに
1つだけ存在する。図5において、天地逆の文字は暗号
化されているデータを示している。シリアル番号の項目
の列500は、管理テーブルと鍵テーブルの行を関連付
けるためのシリアル番号を格納する。図5では、名前、
電話番号の2つを組み合わせて計算されるハッシュ値
を、名前、電話番号のハッシュ値の項目の列501に格
納しているが、これは名前だけの1つからハッシュ値を
計算するようにしてもよい。図4の管理テーブルと図5
の鍵テーブルの構造を持つデータベースにより、行ごと
にそれぞれ別のデータ暗号鍵で暗号化することが可能と
なる。
【0017】本例で、シリアル番号の項目の列400が
「11」の行404と、シリアル番号の項目の列400
が「12」の行405が、管理テーブルに格納されてお
り、シリアル番号の項目の列500が「11」の行50
4と、シリアル番号の項目の列500が「12」の行5
05が、鍵テーブルに格納されている状態で、新たに名
前「日立花子」、電話番号「987−6543」、住所
「東京都」をデータベースに登録する場合の手順につい
て説明する。まず、「日立花子」、「987−654
3」、「東京都」を暗号化するための鍵を乱数を使って
1つ作成し、「315TK8」を求める。次に作成した
鍵「315TK8」を使って「日立花子」、「987−
6543」、「東京都」をそれぞれ暗号化プログラムが
持つ最新の暗号アルゴリズムで暗号化する。次に「日立
花子」、「987−6543」からハッシュ値「53
2」を計算する。鍵「315TK8」を鍵暗号鍵で暗号
化する。管理テーブルと鍵テーブルの行を関係付けるシ
リアル番号「13」を生成し、管理テーブルのシリアル
番号の項目407に「13」、名前の項目408に暗号
化された「日立花子」、電話番号の項目409に暗号化
された「987−6543」、住所の項目410に暗号
化された「東京都」を登録し、鍵テーブルのシリアル番
号の項目506に「13」、名前、電話番号のハッシュ
値の項目507に「532」、暗号化アルゴリズム識別
子の項目508に「1」、暗号鍵の項目509に暗号化
された「315TK8」を登録する。
【0018】次に、この秘密情報データベース(管理テ
ーブルと鍵テーブル)から、名前が「日立二郎」で電話
番号が「123−4567」の住所を検索する場合につ
いて説明する。行ごとに暗号化されたデータベースにお
いて暗号化された情報を検索する場合、ハッシュ値を計
算するために使用した項目はすべて検索条件の中に指定
しなれけばならない。まず、「日立二郎」、「123−
4567」からハッシュを計算し、ハッシュ値「45
9」を求める。鍵テーブルの名前、電話番号のハッシュ
値で「459」を検索して、その暗号化アルゴリズム識
別子「1」512と暗号化されたデータ暗号鍵「PB2
4CS」513を取り出す。次にデータ暗号鍵を鍵暗号
鍵で復号する。
【0019】取り出した暗号鍵「PB24CS 」51
3と暗号化アルゴリズム識別子「1」512を使って
「日立二郎」、「123−4567」を暗号化した検索
条件を作成する。暗号化された「日立二郎」、「123
−4567」の検索条件を使って管理テーブルを検索す
る。管理テーブルにおいて暗号化された「日立二郎」、
「123−4567」を検索し、一致する行が管理テー
ブルにあれば、「日立二郎」、「123−4567」を
暗号化した鍵と暗号化アルゴリズムを使って、シリアル
番号が「12」の行の管理テーブルの暗号化された住所
を復号化する。
【0020】暗号化する特定の集合が列の場合の管理テ
ーブルと鍵テーブルの例を図6、図7に示す。図6のテ
ーブル構成はシリアル番号の項目がない点が図2と異な
る。図6において、天地逆の文字は暗号化されているデ
ータを示している。図6では住所の項目602のデータ
は暗号化されないで格納されている。図6の管理テーブ
ルに対応する鍵テーブルの例を図7に示す。図7におい
て、天地逆の文字は暗号化されているデータを示してい
る。図7は、各列に含まれる値のそれぞれに同一のデー
タ暗号鍵を使用し、かつ各列ごとに異なるデータ暗号鍵
を使用する場合の鍵テーブルの例である。この場合は、
列ごとにすべての行が同じ暗号鍵と暗号化アルゴリズム
を使うので、ハッシュ値を格納しない。図6の管理テー
ブルと図7の鍵テーブルの構造を持つデータベースによ
り、列ごとにそれぞれ別の暗号鍵を持つデータベースの
暗号化が可能となる。
【0021】本例で、管理テーブルの行603と行60
4が、管理テーブルに格納されており、行711が、鍵
テーブルに格納されている状態で、新たに名前「日立花
子」、電話番号「987−6543」、住所「東京都」
をデータベースに登録する場合の手順について説明す
る。まず、「日立花子」、「987−6543」を暗号
化するための鍵を取得する。そのために鍵暗号鍵で暗号
化された「24B52C」、「SW610V」と暗号ア
ルゴリズム識別子「1」、「1」を鍵テーブルから取得
し、鍵暗号鍵で暗号化された「24B52C」、「SW
610V」を鍵暗号鍵で復号する。次に取得した鍵「2
4B52C」を使って「日立花子」を鍵テーブルから取
り出した暗号アルゴリズムで暗号化し、鍵「SW610
V」を使って「987−6543」を前記暗号化アルゴ
リズムで暗号化する。
【0022】次に、この秘密情報データベース(管理テ
ーブルと鍵テーブル)から、名前が「日立二郎」の電話
番号を検索する場合について説明する。まず、鍵テーブ
ルから名前の暗号化アルゴリズム識別子「1」706と
暗号化されたデータ暗号鍵「24B52C」707を取
り出す。次に暗号化されたデータ暗号鍵「24B52
C」を鍵暗号鍵で復号する。前記データ暗号鍵「24B
52C」707を暗号化アルゴリズム識別子「1」70
6を使って名前の検索条件「日立二郎」を暗号化する。
暗号化された「日立二郎」の検索条件を使って管理テー
ブルを検索する。「日立二郎」の行の暗号化された電話
番号を鍵テーブルの電話番号の暗号鍵「SW610V」
709を復号化したものと暗号化アルゴリズム識別子
「1」を使って復号化する。
【0023】以上のように、秘密情報を暗号化して登録
するデータベースにおいて、暗号化した秘密情報を格納
する管理テーブルと、該管理テーブルの特定の値の集合
(1つの行の中の1つの列の項目、行、列など)対応に
該集合に属する各値を暗号化するために使用した鍵と暗
号アルゴリズム識別子と該管理テーブルの特定の値の集
合対応に求められた該集合のハッシュ値を格納する鍵テ
ーブルの2つを使って管理することにより、管理テーブ
ルの特定の値の集合ごとに暗号鍵と暗号化アルゴリズム
を変更することが可能となる。
【0024】以下、本発明の第一の実施例について図1
を用いて説明する。本システムは、クライアント10
0、LAN101、LANアダプタ102、サーバ10
3から構成される。クライアント100とサーバ103
は、LANアダプタ102を介してLAN101により
接続される。サーバ103は、CPU104、主メモリ
109、バス105、磁気ディスク装置106から構成
される。主メモリ109と磁気ディスク装置106は、
CPU104よりバス105を介してアクセスされる。
主メモリ109には、データベース管理プログラム11
0、登録・更新制御プログラム111、検索制御プログ
ラム112、削除制御プログラム113、データ探索プ
ログラム114、登録・更新準備プログラム117、登
録・更新条件作成プログラム122、登録実行プログラ
ム123、更新実行プログラム124、検索条件作成プ
ログラム115、検索実行プログラム116、削除条件
作成プログラム126、削除実行プログラム127およ
び鍵格納エリア128が格納される。
【0025】データ探索プログラム114は、検索条件
作成プログラム115と検索実行プログラム116で構
成される。登録・更新準備プログラム117は、初期条
件作成プログラム118、ハッシュ値計算プログラム1
19、暗号化プログラム120、および鍵暗号化プログ
ラム121で構成される。検索条件作成プログラムは、
ハッシュ値計算プログラム119、鍵取得プログラム1
25、および暗号化プログラム120で構成される。磁
気ディスク装置106には、管理テーブル107と鍵テ
ーブル108が格納される。
【0026】以下、図1の構成のシステムにおいて、デ
ータベースに暗号化して格納するデータの登録処理の概
略について説明する。ユーザがクライアント100から
データベースに登録するデータを入力する。登録・更新
制御プログラム111が起動され、クライアント100
から入力された登録するデータが登録・更新制御プログ
ラム111に渡される。登録・更新制御プログラム11
1は、登録・更新準備プログラム117に登録するデー
タを渡す。登録・更新準備プログラム117は、初期条
件作成プログラム118によりシリアル番号を作成し、
ハッシュ値計算プログラム119により登録するデータ
のハッシュを計算し、暗号化プログラム120により登
録するデータを暗号化する鍵を作成して、暗号化プログ
ラム120が持っている最新の暗号化アルゴリズムによ
り登録するデータを暗号化し、さらにその暗号化の鍵を
鍵暗号化プログラム121が持っている暗号化アルゴリ
ズムにより鍵格納エリア128にある鍵で暗号化する。
登録・更新準備プログラム117は、シリアル番号、登
録されるデータのハッシュ値、暗号化された登録デー
タ、暗号化した登録データを暗号化した鍵、登録データ
を暗号化した暗号化アルゴリズム識別子を登録・更新制
御プログラム111に渡す。登録・更新制御プログラム
111は、シリアル番号、登録されるデータのハッシュ
値、暗号化された登録データ、暗号化した登録データを
暗号化した鍵、登録データを暗号化した暗号化アルゴリ
ズム識別子を登録・更新条件作成プログラム122に渡
す。登録・更新条件作成プログラム122は、渡された
データから管理テーブル107と鍵テーブル108のた
めのSQL文をそれぞれ作成し、それを登録・更新制御
プログラム111に渡す。登録・更新制御プログラム1
11は、登録・更新条件作成プログラム122で作成し
たSQL文を登録実行プログラム123に渡す。登録実
行プログラム123は、データベース管理プログラム1
10を使って管理テーブル107に、シリアル番号、暗
号化された登録データを登録し、鍵テーブル108に、
シリアル番号、登録されるデータのハッシュ値、暗号化
した登録データを暗号化した鍵、登録データを暗号化し
た暗号化アルゴリズム識別子を登録する。
【0027】次に、このような構成の本システムにおい
て、暗号化してデータベースに登録したデータの検索処
理の概略について説明する。ユーザがクライアント10
0から検索するデータを入力する。検索制御プログラム
112が起動され、クライアント100から入力された
検索するデータが検索制御プログラム112に渡され
る。検索制御プログラム112が検索条件作成プログラ
ム115に検索するデータを渡す。検索条件作成プログ
ラム115は、ハッシュ値計算プログラム119により
検索するデータのハッシュ値を計算し、鍵取得プログラ
ム125により鍵テーブル108から前記ハッシュ値に
一致する行の暗号化された暗号鍵と、暗号化アルゴリズ
ム識別子を取り出す。暗号化されたデータ暗号鍵を鍵暗
号鍵で復号する。復号したデータ暗号鍵と暗号化アルゴ
リズム識別子で検索条件を暗号化し、検索のためのSQ
L文を作成する。検索条件作成プログラム115は、作
成したSQL文を検索制御プログラム112に渡す。検
索制御プログラム112は、前記SQL文を検索実行プ
ログラム116に渡す。検索実行プログラム116は、
データベース管理プログラム110を使って暗号化され
た検索条件に一致するデータを管理テーブル107から
検索する。データベース管理プログラム110は、検索
結果を、検索制御プログラム112に渡す。検索制御プ
ログラム112は、検索結果を復号してクライアント1
00に復号した検索結果を返す。クライアント100
は、検索結果を画面に表示する。
【0028】次に、このような構成の本システムにおい
て、暗号化してデータベースに格納したデータの更新処
理の概略について説明する。ユーザがクライアント10
0から更新前のデータと更新後のデータを入力する。登
録・更新制御プログラム111が起動され、クライアン
ト100から入力された更新前データと更新後のデータ
が登録・更新制御プログラム111に渡される。登録・
更新制御プログラム111は、更新前のデータをデータ
探索プログラム114に渡す。データ探索プラグラム1
14は、検索条件作成プログラム115により更新前の
データを暗号化し、検索実行プログラム116により更
新前のデータのシリアル番号を取り出し、登録・更新制
御プログラム111に渡す。登録・更新制御プログラム
111は、シリアル番号、更新後のデータを登録・更新
準備プログラム117に渡す。登録・更新準備プログラ
ム117は、ハッシュ値計算プログラム119により、
更新後のデータのハッシュ値を計算し、暗号化プログラ
ム120により更新後のデータを暗号化する鍵を作成
し、更新するデータを暗号化プログラム120が持って
いる最新の暗号化アルゴリズムで暗号化し、さらに鍵暗
号化プログラム121が、その暗号化の鍵を鍵格納エリ
ア128にある鍵暗号鍵で鍵暗号化プログラム121が
持っている暗号化アルゴリズムにより暗号化する。
【0029】登録・更新準備プログラム117は、更新
後のデータのハッシュ値、暗号化された更新後のデー
タ、暗号化された更新後のデータを暗号化した鍵、更新
後のデータを暗号化した暗号化アルゴリズム識別子を登
録・更新制御プログラム111に渡す。登録・更新制御
プログラム111は、シリアル番号、更新後のデータの
ハッシュ値、暗号化された更新後のデータ、暗号化され
た更新後のデータを暗号化した鍵、更新後のデータを暗
号化した暗号化アルゴリズム識別子を登録・更新条件作
成プログラム122に渡す。登録・更新条件作成プログ
ラム122は、渡されたデータから管理テーブル107
と鍵テーブル108のためのSQL文をそれぞれ作成
し、それを登録・更新制御プログラム111に渡す。登
録・更新制御プログラム111は、登録・更新条件作成
プログラム122で作成したSQL文を更新実行プログ
ラム124に渡す。更新実行プログラム124は、デー
タベース管理プログラム110を使って、管理テーブル
107の暗号化された更新後のデータと鍵テーブル10
8の更新後のデータのハッシュ値、暗号化された更新後
のデータを暗号化した鍵、暗号化アルゴリズム識別子を
シリアル番号にしたがって更新する。
【0030】次に、このような構成の本システムにおい
て、暗号化してデータベースに格納したデータの削除処
理の概略について説明する。ユーザがクライアント10
0から削除するデータを入力する。削除制御プログラム
113が起動され、クライアント100から入力された
削除するデータがこれに渡される。削除制御プログラム
113は、削除するデータをデータ探索プログラム11
4に渡す。データ探索プログラム114は、検索条件作
成プログラム115により削除するデータを暗号化し、
検索実行プログラム116により削除するデータのシリ
アル番号を取り出し、削除制御プログラム113に渡
す。削除制御プログラム113は、前記シリアル番号を
削除条件作成プログラム126に渡す。削除条件作成プ
ログラム126は、渡されたデータから管理テーブル1
07と鍵テーブル108のためのSQL文をそれぞれ作
成し、それを削除制御プログラム113に渡す。削除制
御プログラム113は、削除条件作成プログラム126
で作成したSQL文を削除実行プログラム127に渡
す。削除実行プログラム127は、データベース管理プ
ログラム110を使って管理テーブル107と鍵テーブ
ル108から渡されたシリアル番号の行を削除する。
【0031】上述の処理をフローチャートを用いて、さ
らに詳細に説明する。以下の説明では、具体例として図
2の管理テーブルと図3の鍵テーブルを用いた場合につ
いて説明する。図8は登録・更新プログラム111が実
行する暗号化データベースへのデータの登録処理フロー
を示している。
【0032】データ登録処理は、登録データ入力ステッ
プ800、登録準備ステップ801、登録データSQL
文作成ステップ802およびデータベース登録ステップ
803からなる。登録データ入力ステップ800では、
ユーザがクライアント100から入力した登録するデー
タを読み込む。登録準備ステップ801では、シリアル
番号を作成し、登録するデータのハッシュ値を計算し、
登録するデータを暗号化するデータ暗号鍵を作成し、そ
のデータ暗号鍵で登録するデータを暗号化する。データ
暗号鍵を鍵暗号鍵で暗号化する。登録データSQL文作
成ステップ802では、登録準備ステップ801で作成
したシリアル番号、計算したハッシュ値、暗号化された
データ暗号鍵、暗号化された登録するデータから、管理
テーブル107と鍵テーブル108に登録するSQL文
を作成する。データベース登録ステップ803では、登
録実行プログラム123が登録データSQL文作成ステ
ップ802で作成したSQL文を実行して、データベー
ス管理プログラム110により管理テーブル107にシ
リアル番号と暗号化された登録するデータを登録し、鍵
テーブル108にシリアル番号と登録データのハッシュ
値と暗号化した登録データを暗号化した鍵と暗号化アル
ゴリズム識別子を登録する。
【0033】次に、登録準備ステップ801の処理を図
9のフローチャートを使って詳細に説明する。登録準備
ステップ801は、シリアル番号作成ステップ900、
ハッシュ値計算ステップ901、暗号アルゴリズム決定
ステップ902、データ暗号化ステップ903および鍵
暗号化ステップ904からなる。シリアル番号作成ステ
ップ900では、管理テーブル107と鍵テーブル10
8のそれぞれの行を関係付けるシリアル番号を作成す
る。ハッシュ値計算ステップ901では、登録するデー
タのハッシュ値を計算する。暗号アルゴリズム決定ステ
ップ902では、暗号化プログラム120が今回の暗号
化に使用する暗号化アルゴリズムを決定する。暗号化プ
ログラム120は複数の暗号アルゴリズムを持つことが
でき、その中で登録・更新時の暗号化にはもっとも新し
く暗号化プログラム120に登録された暗号アルゴリズ
ムを使用するようにしている。データ暗号化ステップ9
03では、登録するデータを暗号化するためのデータ暗
号鍵を作成し、そのデータ暗号鍵で登録するデータを暗
号化する。鍵暗号化ステップ904では、データ暗号化
ステップ903で作成した鍵を鍵格納エリア128にあ
る鍵暗号鍵を使って暗号化する。
【0034】図10は検索制御プログラム112が実行
する暗号化データベースへのデータの検索処理フローを
示している。データ検索処理は、検索データ入力ステッ
プ1000、ハッシュ値計算ステップ1001、検索S
QL文作成ステップ1002、管理テーブル検索ステッ
プ1003、管理テーブル一致データチェックステップ
1004、鍵テーブル検索ステップ1005、鍵テーブ
ル一致データチェックステップ1006、検索結果表示
ステップ1007、シリアル番号取得ステップ100
8、全データ復号ステップ1009からなる。検索デー
タ入力ステップ1000では、ユーザがクライアント1
00から入力した検索するデータを読み込む。ハッシュ
値計算ステップ1001では、検索するデータのハッシ
ュ値を計算する。検索SQL文作成ステップ1002で
は、ハッシュ値計算ステップ1001で計算したハッシ
ュ値に一致する行の暗号化されたデータ暗号鍵と、暗号
化アルゴリズム識別子を鍵テーブル108から取り出し
(ハッシュ値についてのSQL文を作成して鍵テーブル
から取り出す)、データ暗号鍵を復号し、その復号した
データ暗号鍵で検索データを暗号化して、管理テーブル
を検索するSQL文を作成する。管理テーブル検索ステ
ップ1003では、検索SQL文作成ステップ1002
で作成したSQL文により管理テーブル107を検索す
る。管理テーブル一致データチェックステップ1004
では、検索SQL文作成ステップ1002で作成したS
QL文に一致するデータが管理テーブル107にあるか
どうか調べる。検索SQL文作成ステップ1002で作
成したSQL文に一致するデータが管理テーブル107
にある場合、シリアル番号取得ステップ1008に進
む。シリアル番号取得ステップ1008では、管理テー
ブル107で一致したデータの鍵テーブル108のシリ
アル番号を取り出す。全データ復号ステップ1009で
は、シリアル番号取得ステップ1008で取り出したシ
リアル番号からすべての暗号化されたデータ暗号鍵と、
暗号化アルゴリズム識別子を取り出し、鍵暗号鍵で復号
したデータ暗号鍵と、暗号化アルゴリズムにより管理テ
ーブルの暗号化されたデータをすべて復号化する。管理
テーブル検索ステップ1003に戻り処理を続ける。
【0035】検索SQL文作成ステップ1002で作成
したSQL文に一致するデータが管理テーブル107に
ない場合、鍵テーブル検索ステップ1005に進み、鍵
テーブル108を検索し、ハッシュ値計算ステップ10
01で計算したハッシュ値に一致する行がまだあるか調
べる。鍵テーブル一致データチェックステップ1006
では、鍵テーブル検索ステップ1005の検索結果を判
定する。ハッシュ値計算ステップ1001で計算したハ
ッシュ値に一致する行がある場合、検索SQL文作成ス
テップ1002に戻り、新たなデータ暗号鍵を使って検
索処理を行う。ハッシュ値計算ステップ1001で計算
したハッシュ値に一致する行がない場合、検索結果表示
ステップ1007に進む。検索結果表示ステップ100
7では、クライアントの画面に検索結果が表示される。
【0036】次に、検索SQL文作成ステップ1002
の処理を図11のフローチャートを使って詳細に説明す
る。検索SQL文作成ステップ1002は、暗号化情報
取得ステップ1100および暗号化検索データ作成ステ
ップ1101からなる。暗号化情報取得ステップ110
0では、鍵テーブル108を検索して、ハッシュ値計算
ステップ1001で計算したハッシュ値に一致する行の
暗号化されたデータ暗号鍵と、暗号化アルゴリズム識別
子を取り出し、暗号化されたデータ暗号鍵を鍵暗号鍵で
復号する。暗号化検索データ作成ステップ1101で
は、復号したデータ暗号鍵と、暗号化アルゴリズムによ
り検索条件を暗号化する。
【0037】暗号化されているデータベースを検索する
方法として、暗号化された管理テーブルからデータを一
つずつ取り出し、それを復号しながら検索条件に一致す
るかどうかを調べる方法と検索条件をあらかじめ暗号鍵
で暗号化しておき、その暗号化した検索条件で暗号化さ
れた管理テーブルを検索する方法がある。前者の方法で
は、管理テーブルからのデータの取り出しごとに復号の
処理が発生するため、データベースの検索性能を大きく
悪化させる。後者の方法では、検索条件を暗号化する処
理が一回発生する以外は、暗号化されていないデータベ
ースとほぼおなじ検索性能を出すことができる。このた
め、暗号化された管理テーブルの検索の実現には、後者
の方法が性能的に優れている。本実施例においては、後
者の方式について説明した。
【0038】本発明の方式のデータ構造では特定のデー
タ集合ごとに暗号化に使用する鍵が異なるため、鍵テー
ブル108から検索条件を暗号化する鍵を取り出す手段
としてデータのハッシュ値を利用して鍵テーブル108
からデータ暗号鍵を検索するようにした。
【0039】図12は登録・更新制御プログラム111
が実行する暗号化データベースへのデータの更新処理フ
ローを示している。データ更新処理は、更新データ入力
ステップ1200、更新前データ探索ステップ120
1、一致データチェックステップ1202、シリアル番
号取得ステップ1203、更新後データ暗号化ステップ
1204、更新SQL文作成ステップ1205およびデ
ータベース登録ステップ1206からなる。更新データ
入力ステップ1200では、ユーザがクライアント10
0から入力した更新前のデータと更新後のデータを読み
込む。更新前データ探索ステップ1201では、更新前
のデータを管理テーブル107から検索する。一致デー
タチェックステップ1202では、更新前データ探索ス
テップ1201で検索した結果を判定する。更新前デー
タ探索ステップ1201で検索した更新前データが管理
テーブル107にない場合、更新処理を終了する。
【0040】更新前データ探索ステップ1201で検索
した更新前データが管理テーブル107にある場合、シ
リアル番号取得ステップ1203に進む。シリアル番号
取得ステップでは、更新前データ探索ステップ1201
で検索した更新前データのシリアル番号を取得する。更
新後データ暗号化ステップ1204では、更新後のデー
タのハッシュ値を計算した後、更新後のデータをデータ
暗号鍵で暗号化する。データ暗号鍵を鍵暗号鍵で暗号化
する。更新SQL文作成ステップ1205では、シリア
ル番号取得ステップ1203で取得したシリアル番号と
更新後データ暗号化ステップ1204で作成した暗号化
した更新後のデータを使って、更新するデータのSQL
文を作成する。データベース登録ステップ1206で
は、データベース管理プログラム110により管理テー
ブル107のデータを更新実行プログラム124が更新
データSQL文作成ステップ1205で作成したSQL
文を実行して更新し、鍵テーブル108の更新後のデー
タのハッシュ値と暗号化したデータ暗号鍵と、暗号化ア
ルゴリズム識別子を更新する。
【0041】次に、更新前データ探索ステップ1201
の処理を図13のフローチャートを使って詳細に説明す
る。更新前データ探索ステップ1201は、ハッシュ値
計算ステップ1300、暗号化検索条件作成ステップ1
301、管理テーブル検索ステップ1302、および一
致データチェックステップ1303からなる。ハッシュ
値計算ステップ1300では、検索条件作成プログラム
115を起動し、更新前データのハッシュ値を計算す
る。暗号化検索条件作成ステップ1301では、検索条
件作成プログラム115を起動して、鍵テーブル108
を検索してハッシュ値に一致する暗号化されたデータ暗
号鍵と、暗号化アルゴリズム識別子を取り出す。鍵暗号
鍵でデータ暗号鍵を復号し、復号したデータ暗号鍵と、
暗号化アルゴリズム116で検索条件を暗号化する。管
理テーブル検索ステップ1302では、検索実行プログ
ラムを起動し、暗号化検索条件作成ステップ1301で
暗号化したSQL文で管理テーブル107を検索する。
一致データチェックステップ1303では、管理テーブ
ル107に暗号化検索条件作成ステップ1301で作成
したSQL文の検索条件に一致するデータがあるかどう
かを調べる。暗号化検索条件作成ステップ1301で作
成したSQL文の検索条件に一致するデータがある場合
は、終了する。
【0042】暗号化検索条件作成ステップ1301で作
成したSQL文の検索条件に一致するデータがない場合
は、ハッシュ値に一致する別の暗号化されたデータ暗号
鍵と暗号化アルゴリズム識別子を取り出す。暗号化され
たデータ暗号鍵を鍵暗号鍵で復号し、復号したデータ暗
号鍵と、前記暗号化アルゴリズム識別子に対応する暗号
化アルゴリズムで検索条件を暗号化し、その暗号化した
検索条件で再度管理テーブル107を検索する。
【0043】次に、更新後データ暗号化ステップ120
4の処理を図14のフローチャートを使って詳細に説明
する。更新後データ暗号化ステップ1204は、ハッシ
ュ値計算ステップ1400、暗号アルゴリズム決定ステ
ップ1401、データ暗号化ステップ1402および鍵
暗号化ステップ1403からなる。ハッシュ値計算ステ
ップ1400では、更新後のデータのハッシュ値を計算
する。暗号アルゴリズム決定ステップ1401では、暗
号化プログラム120が今回の暗号化に使用する暗号化
アルゴリズムを決定する。暗号化プログラム120は複
数の暗号アルゴリズムを持つことができ、その中で登録
・更新時の暗号化にはもっとも新しく暗号化プログラム
120に登録された暗号アルゴリズムを使用するように
している。データ暗号ステップ1402では、データ暗
号鍵を作成し、管理テーブル107に登録するデータを
暗号化する。鍵暗号化ステップ1403では、データ暗
号鍵を鍵格納エリア128にある鍵暗号鍵により暗号化
する。
【0044】図15は、削除制御プログラム113が実
行する暗号化データベースのデータの削除処理フローを
示している。データ削除処理は、削除データ入力ステッ
プ1500、削除データ探索ステップ1501、一致デ
ータチェックステップ1502、シリアル番号取得ステ
ップ1503、削除SQL文作成ステップ1504およ
びデータベース削除実行ステップ1505からなる。削
除データ入力ステップ1500では、ユーザがクライア
ント100から入力した削除するデータを読み込む。削
除データ探索ステップ1501では、削除データを検索
する。一致データチェックステップ1502では、削除
データ探索ステップ1501で検索した削除データが管
理テーブル107にあるかどうかチェックする。削除デ
ータ探索ステップ1501で検索した削除データが管理
テーブル107にない場合、削除処理を終了する。
【0045】削除データ探索ステップ1501で検索し
た削除データが管理テーブル107にある場合、シリア
ル番号取得ステップ1503に進む。シリアル番号取得
ステップ1503では、削除データ探索ステップ150
1で検索した削除データのシリアル番号を取得する。削
除SQL文作成ステップ1504では、シリアル番号取
得ステップ1503で取得したシリアル番号を使って削
除SQL文を作成する。データベース削除実行ステップ
1505では、削除SQL文作成ステップ1504で作
成した削除SQL文を使って管理テーブル107と鍵テ
ーブル108からシリアル番号取得ステップ1503で
取得したシリアル番号の行を削除する。削除データ探索
ステップ1501に戻り、処理を続ける。
【0046】以上、本実施例の特徴として、管理テーブ
ルとそのテーブルの特定の値の集合(フィールド、行、
列など)に関する暗号化のための情報(暗号鍵、暗号化
アルゴリズム識別子、データのハッシュ値)をもつ鍵テ
ーブルにより秘密情報を管理することを特徴とするデー
タベース構造、およびその構成におけるデータの登録処
理、検索処理、更新処理、削除処理について説明した。
本実施例によれば、前記データベース構造を用いて、デ
ータ登録または更新時に暗号鍵を動的に変更し、暗号化
のための情報を管理テーブルと別管理することにより、
暗号化されたデータベースの安全性を高めることができ
る。また、管理テーブルの特定の値の集合ごとに異なる
暗号化アルゴリズムを使用することが可能となり、さら
にデータベース稼動中に暗号鍵および暗号化アルゴリズ
ムの切り替えを動的に行うことも可能である。よって本
実施例を適用することにより、十分なデータベースの安
全性を確保することができる。
【0047】次に、本発明の第二の実施例について説明
する。本実施例は図1に示した第一の実施例と同様の構
成をとるが、検索時にもデータ暗号鍵を更新するように
した部分が第一の実施例と異なる。第二の実施例の検索
方式について図16を使って説明する。第二の実施例の
データ検索処理は、検索データ入力ステップ1600、
ハッシュ値計算ステップ1601、検索SQL文作成ス
テップ1602、管理テーブル検索ステップ1603、
管理テーブル一致データチェックステップ1604、鍵
テーブル検索ステップ1605、鍵テーブル一致データ
チェックステップ1606、検索結果表示ステップ16
07、シリアル番号取得ステップ1608、全データ復
号ステップ1609、鍵テーブル登録ステップ1610
および管理テーブル登録ステップ1611からなる。
【0048】図16の検索データ入力ステップ1600
から全データ復号ステップ1609までの処理は、図1
0の検索データ入力ステップ1000から全データ復号
ステップ1009までの処理にそれぞれ対応し、同じ処
理を行う。鍵テーブル登録ステップ1610において、
検索条件に一致したデータを暗号化するためのデータ暗
号鍵を新たに作成し、そのデータ暗号鍵を鍵暗号鍵で暗
号化して、シリアル番号、暗号化アルゴリズム識別子と
ともに鍵テーブル108に登録する。管理テーブル登録
ステップ1611において、鍵テーブル登録ステップ1
610で作成したデータ暗号鍵を使って検索条件に一致
したデータを暗号化して管理テーブル107に登録した
あと、管理テーブル検索ステップ1603に戻って管理
テーブル107の検索を続ける。
【0049】以上、第二の実施例として、データ登録ま
たは更新時だけではなく検索時にも暗号鍵を変更する方
式について説明した。本実施例によれば、前記データベ
ース構造を用いて、データ登録、更新または検索時に暗
号鍵を動的に変更することにより、第一の実施例のデー
タ登録または更新のときよりも頻繁に暗号鍵を更新する
ため暗号化されたデータベースの安全性をさらに高める
ことができる。
【0050】次に、本発明の第三の実施例について説明
する。第一の実施例では、新しい暗号化アルゴリズムが
追加された場合に直ちにそれを使用していた。本実施例
は図1に示した第一の実施例と同様の構成をとるが、暗
号化アルゴリズムを上位で指定し、指定された暗号化ア
ルゴリズムで暗号化するようにした部分が第一の実施例
と異なる。
【0051】図1を使って本実施例について説明する。
データベースに暗号化して格納するデータの登録処理の
概略について説明する。ユーザがクライアント100か
らデータベースに登録するデータを入力し、暗号化アル
ゴリズム識別子を指定する。登録・更新制御プログラム
111が起動され、クライアント100から入力された
登録するデータと指定された暗号化アルゴリズム識別子
が登録・更新制御プログラム111に渡される。登録・
更新制御プログラム111は、登録・更新準備プログラ
ム117に登録するデータと暗号化アルゴリズム識別子
を渡す。登録・更新準備プログラム117は、初期条件
作成プログラム118によりシリアル番号を作成し、ハ
ッシュ値計算プログラム119により登録するデータの
ハッシュを計算し、暗号化プログラム120によりクラ
イアント100で指定された暗号化アルゴリズム識別子
に基づくデータ暗号鍵を作成して、この鍵を使用して登
録するデータを暗号化し、さらにそのデータ暗号鍵を鍵
暗号化プログラム121が持っている暗号化アルゴリズ
ムにより鍵格納エリア128にある鍵暗号鍵で暗号化す
る。
【0052】登録・更新準備プログラム117は、シリ
アル番号、登録されるデータのハッシュ値、暗号化され
た登録データ、データ暗号鍵、登録データを暗号化した
暗号化アルゴリズム識別子を登録・更新制御プログラム
111に渡す。登録・更新制御プログラム111は、こ
れらのデータを登録・更新条件作成プログラム122に
渡す。登録・更新条件作成プログラム122は、渡され
たデータから管理テーブル107と鍵テーブル108の
ためのSQL文をそれぞれ作成し、それを登録・更新制
御プログラム111に渡す。登録・更新制御プログラム
111は、登録・更新条件作成プログラム122で作成
したSQL文を登録実行プログラム123に渡す。登録
実行プログラム123は、データベース管理プログラム
110を使って管理テーブル107に、シリアル番号、
暗号化された登録データを登録し、鍵テーブル108
に、シリアル番号、登録されるデータのハッシュ値、デ
ータ暗号鍵、登録データを暗号化した暗号化アルゴリズ
ム識別子を登録する。
【0053】次に、第三の実施例における、データの更
新処理の概略について説明する。ユーザがクライアント
100から更新前のデータ、更新後のデータ、および更
新後のデータの暗号アルゴリズム識別子を指定する。登
録・更新制御プログラム111が起動され、クライアン
ト100から入力されたパラメータが登録・更新制御プ
ログラム111に渡される。登録・更新制御プログラム
111は、更新前のデータをデータ探索プログラム11
4に渡す。データ探索プラグラム114は、検索条件作
成プログラム115により更新前のデータを暗号化し、
検索実行プログラムにより更新前のデータのシリアル番
号を取り出し、登録・更新制御プログラム111に渡
す。登録・更新制御プログラム111は、シリアル番
号、更新後のデータ、更新後のデータを暗号化する暗号
化アルゴリズム識別子を登録・更新準備プログラム11
7に渡す。
【0054】登録・更新準備プログラム117は、ハッ
シュ値計算プログラムにより、更新後のデータのハッシ
ュ値を計算し、暗号化プログラム120によりクライア
ント100で指定された更新後のデータを暗号化する暗
号化アルゴリズムに基づくデータ暗号鍵を作成して、更
新するデータを暗号化し、さらに鍵暗号化プログラム1
21が、そのデータ暗号鍵を鍵格納エリア128にある
鍵で鍵暗号化プログラム121が持っている暗号化アル
ゴリズムにより暗号化する。登録・更新準備プログラム
117は、更新後のデータのハッシュ値、暗号化された
データ、暗号化されたデータ暗号鍵、暗号化アルゴリズ
ム識別子を登録・更新制御プログラム111に渡す。登
録・更新制御プログラム111は、シリアル番号、更新
後のデータのハッシュ値、暗号化されたデータ、暗号化
されたデータ暗号鍵、暗号化アルゴリズム識別子を登録
・更新条件作成プログラム122に渡す。登録・更新条
件作成プログラム122は、渡されたデータから管理テ
ーブル107と鍵テーブル108のためのSQL文をそ
れぞれ作成し、それを登録・更新制御プログラム111
に渡す。登録・更新制御プログラム111は、登録・更
新条件作成プログラム122で作成したSQL文を更新
実行プログラム124に渡す。更新実行プログラム12
4は、データベース管理プログラム110を使って、管
理テーブル107のデータと鍵テーブル108のデータ
のハッシュ値、暗号化されたデータ暗号鍵、暗号化アル
ゴリズム識別子を更新する。
【0055】以上で説明したように、第三の実施例によ
れば、上位アプリケーションが、自由に暗号化アルゴリ
ズムを指定することができ、柔軟に暗号化アルゴリズム
を選択することができる。
【0056】以上、本発明の特徴として、管理テーブル
とそのテーブルの特定のデータ集合(フィールド、行、
列など)に関する暗号化のための情報(暗号鍵、暗号化
アルゴリズム識別子、データのハッシュ値)をもつ鍵テ
ーブルにより秘密情報を管理することを特徴とするデー
タベース構造、その構成における暗号化されたデータの
登録、検索、更新、削除、暗号鍵の動的な更新方法、お
よびデータベース稼動中の暗号化アルゴリズムの切り替
え方法について説明した。本発明が用いるデータベース
管理システムとしては、リレーショナルデータベースお
よびオブジェクト指向データベースのいずれでも実施可
能である。
【0057】オブジェクト指向データベースを利用する
場合には、鍵テーブル108の定義にオブジェクトを利
用することになる。また、鍵テーブル108に、ハッシ
ュアルゴリズムのフィールドを追加して、ハッシュアル
ゴリズムを暗号化アルゴリズムとともに特定のデータ集
合ごとに変更することもできる。
【0058】本発明によれば、前記データベース構造を
用いて、暗号鍵を動的に変更し、暗号化のための情報を
管理テーブルと別管理することにより、暗号化されたデ
ータベースの安全性を高めることができる。また、特定
のデータ集合ごとに新しい暗号化アルゴリズムに変更す
ることが可能となり、データベース稼動中に暗号鍵およ
び暗号化アルゴリズムの切り替えを動的に行うことも可
能である。よって本発明を適用することにより、十分な
データベースの安全性を確保することができる。さらに
将来より強固な暗号化アルゴリズムが発明された場合に
も、管理データ暗号用のアルゴリズムを動的により強固
な方式に切り替えていくことができる。
【0059】
【発明の効果】本発明によれば、暗号化されたデータベ
ースにおいて、データベース稼働中に暗号鍵および暗号
化アルゴリズムの切り替えを動的に行うことができ、柔
軟性を持つ安全な秘密情報管理データベースを作成する
ことができる。
【図面の簡単な説明】
【図1】本発明のデータベースの秘密情報管理方式の実
施の一形態の構成を示す図である。
【図2】フィールドごとに暗号化したデータベースの管
理テーブルを説明するための図である。
【図3】フィールドごとに暗号化したデータベースの鍵
テーブルを説明するための図である。
【図4】行ごとに暗号化したデータベースの管理テーブ
ルを説明するための図である。
【図5】行ごとに暗号化したデータベースの鍵テーブル
を説明するための図である。
【図6】列ごとに暗号化したデータベースの管理テーブ
ルを説明するための図である。
【図7】列ごとに暗号化したデータベースの鍵テーブル
を説明するための図である。
【図8】本発明により行われるデータベースのデータ登
録の手順を説明するフローチャートである。
【図9】本発明により行われるデータベースのデータ登
録時の登録・更新準備プログラムの手順を説明するフロ
ーチャートである。
【図10】本発明により行われるデータベースのデータ
検索の手順を説明するフローチャートである。
【図11】本発明により行われるデータベースのデータ
検索時の検索条件作成プログラムの手順を説明するフロ
ーチャートである。
【図12】本発明により行われるデータベースのデータ
更新の手順を説明するフローチャートである。
【図13】本発明により行われるデータベースのデータ
更新時のデータ探索プログラムの手順を説明するフロー
チャートである。
【図14】本発明により行われるデータベースのデータ
更新時の登録・更新準備プログラムの手順を説明するフ
ローチャートである。
【図15】本発明により行われるデータベースのデータ
削除の手順を説明するフローチャートである。
【図16】本発明により行われるデータベースの暗号鍵
と暗号化アルゴリズムの変更を伴うデータ検索の手順を
説明するフローチャートである。
【符号の説明】
100 クライアント 101 LAN 102 LANアダプタ 103 サーバ 104 CPU 105 バス 106 磁気ディスク装置 107 管理テーブル 108 鍵テーブル 109 主メモリ 110 データベース管理プログラム 111 登録・更新制御プログラム 112 検索制御プログラム 113 削除制御プログラム 114 データ探索プログラム 115 検索条件作成プログラム 116 検索実行プログラム 117 登録・更新準備プログラム 118 初期条件作成プログラム 119 ハッシュ値計算プログラム 120 暗号化プログラム 121 鍵暗号化プログラム 122 登録・更新条件作成プログラム 123 登録実行プログラム 124 更新実行プログラム 125 鍵取得プログラム 126 削除条件作成プログラム 127 削除実行プログラム 128 鍵格納エリア

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 暗号化された秘密情報を管理するデータ
    ベースにおける秘密情報管理方法であって、 前記データベースに、暗号化された秘密情報を格納する
    管理テーブルと、該管理テーブルの特定の値の集合(1
    つの行の中の1つの列の項目、行、列など)対応に該集
    合に属する各値を暗号化するために使用した鍵と暗号ア
    ルゴリズム識別子と該管理テーブルの特定の値の集合対
    応に求められた該集合のハッシュ値を格納する鍵テーブ
    ルを設け、該管理テーブルと鍵テーブルに行ごとにシリ
    アル番号を付与して互いに関連付けし、 前記データベースへの秘密情報の登録時に、 シリアル番号を作成し、登録する秘密情報を暗号化する
    ための鍵を乱数を使って作成し、該作成した鍵により前
    記管理テーブルに登録する秘密情報を暗号アルゴリズム
    を用いて暗号化し、該暗号化した秘密情報を前記シリア
    ル番号と共に前記管理テーブルに登録し、 前記作成した鍵を、該作成した鍵とは別に作成した鍵で
    あって管理テーブルに登録する秘密情報を暗号化したす
    べての鍵の暗号化に使用する鍵暗号鍵により暗号化し、
    暗号化された秘密情報の検索のために使用する前記ハッ
    シュ値を計算し、該鍵暗号鍵により暗号化された秘密情
    報の暗号化のための鍵と、前記暗号アルゴリズムの識別
    子と、前記検索のためのハッシュ値を前記シリアル番号
    と共に前記鍵テーブルに登録することを特徴とするデー
    タベースにおける秘密情報管理方法。
  2. 【請求項2】 請求項1記載の秘密情報管理方法におい
    て、 前記データベースに登録された秘密情報の検索時に、 検索条件のハッシュ値を求め、前記鍵テーブルから該検
    索条件のハッシュ値に一致するハッシュ値を有する条件
    一致行を取り出し、該条件一致行から前記鍵暗号鍵によ
    り暗号化された秘密情報の暗号化のための鍵と暗号アル
    ゴリズム識別子の組を取り出し、取り出した該鍵暗号鍵
    により暗号化された秘密情報の暗号化のための鍵を該鍵
    暗号鍵により復号し、該復号した鍵と前記暗号アルゴリ
    ズム識別子に対応する暗号アルゴリズムにより前記検索
    条件を暗号化し、該暗号化された検索条件により前記管
    理テーブルの検索を行うことを特徴とするデータベース
    における秘密情報管理方法。
  3. 【請求項3】 請求項2記載のデータベースにおける秘
    密情報管理方法において、 検索条件に一致する秘密情報を検索後に、 該検索した秘密情報を暗号化するための新たな鍵を乱数
    を使って作成し、該作成した鍵により該検索した秘密情
    報を暗号アルゴリズムを用いて新たに暗号化し、該作成
    した鍵を前記鍵暗号鍵により暗号化し、該新たに暗号化
    した秘密情報で管理テーブルを更新し、前記鍵暗号鍵に
    より暗号化した暗号化のための新たな鍵と前記暗号アル
    ゴリズムの識別子により鍵テーブルを更新することを特
    徴とするデータベースにおける秘密情報管理方法。
  4. 【請求項4】 請求項2記載のデータベースにおける秘
    密情報管理方法において、 前記データベースに登録された秘密情報の更新時に、 更新前の秘密情報と更新後の秘密情報を入力し、更新前
    の秘密情報によりデータベースを検索し、該更新前の秘
    密情報の存在する前記管理テーブルのシリアル番号を取
    得し、 前記更新後の秘密情報を暗号化するための鍵を乱数を使
    って作成し、該作成した鍵により該更新後の秘密情報を
    暗号アルゴリズムを用いて暗号化し、該暗号化した更新
    後の秘密情報を前記管理テーブルの前記取得したシリア
    ル番号の行に登録し、 前記作成した鍵を前記鍵暗号鍵により暗号化し、該鍵暗
    号鍵により暗号化した鍵と、前記暗号アルゴリズムの識
    別子を前記鍵テーブルの前記取得したシリアル番号の行
    に登録することを特徴とするデータベースにおける秘密
    情報管理方法。
  5. 【請求項5】 暗号化された秘密情報を管理するデータ
    ベースの秘密情報管理装置であって、 前記データベースに、暗号化された秘密情報を格納する
    管理テーブルと、該管理テーブルの特定の値の集合(1
    つの行の中の1つの列の項目、行、列など)対応に該集
    合に属する各値を暗号化するために使用した鍵と暗号ア
    ルゴリズム識別子と該管理テーブルの特定の値の集合対
    応に求められた該集合のハッシュ値を格納する鍵テーブ
    ルを備え、該管理テーブルと鍵テーブルに行ごとにシリ
    アル番号を付与して互いに関連付けし、 秘密情報の登録時にシリアル番号を作成する手段と、登
    録する秘密情報を暗号化するための鍵を乱数を使って作
    成し、該作成した鍵により前記管理テーブルに登録する
    秘密情報を暗号アルゴリズムを用いて暗号化する手段
    と、該暗号化した秘密情報を前記シリアル番号と共に前
    記管理テーブルに登録する手段と、 前記作成した鍵を、該作成した鍵とは別に作成した鍵で
    あって管理テーブルに登録する秘密情報を暗号化したす
    べての鍵の暗号化に使用する鍵暗号鍵により暗号化する
    手段と、暗号化された秘密情報の検索のために使用する
    前記ハッシュ値を計算する手段と、該鍵暗号鍵により暗
    号化された秘密情報の暗号化のための鍵と、前記暗号ア
    ルゴリズムの識別子と、前記検索のためのハッシュ値を
    前記シリアル番号と共に前記鍵テーブルに登録する手段
    と、 秘密情報の検索時に検索条件のハッシュ値を求め、前記
    鍵テーブルから該検索条件のハッシュ値に一致するハッ
    シュ値を有する条件一致行を取り出す手段と、該条件一
    致行から前記鍵暗号鍵により暗号化された秘密情報の暗
    号化のための鍵と暗号アルゴリズム識別子の組を取り出
    す手段と、取り出した該鍵暗号鍵により暗号化された秘
    密情報の暗号化のための鍵を該鍵暗号鍵により復号する
    手段と、該復号した鍵と前記暗号アルゴリズム識別子に
    対応する暗号アルゴリズムにより前記検索条件を暗号化
    し、該暗号化された検索条件により前記管理テーブルの
    検索を行う手段を備えることを特徴とするデータベース
    の秘密情報管理装置。
  6. 【請求項6】 請求項5記載のデータベースの秘密情報
    管理装置において、 秘密情報の更新時に、入力された更新前の秘密情報によ
    りデータベースを検索し、該更新前の秘密情報の存在す
    る前記管理テーブルのシリアル番号を取得する手段と、 入力された更新後の秘密情報を暗号化するための鍵を乱
    数を使って作成し、該作成した鍵により該更新後の秘密
    情報を暗号アルゴリズムを用いて暗号化する手段と、該
    暗号化した更新後の秘密情報を前記管理テーブルの前記
    取得したシリアル番号の行に登録する手段と、 前記作成した鍵を前記鍵暗号鍵により暗号化する手段
    と、該鍵暗号鍵により暗号化した鍵と、前記暗号アルゴ
    リズムの識別子を前記鍵テーブルの前記取得したシリア
    ル番号の行に登録する手段を備えることを特徴とするデ
    ータベースにおけるデータベースの秘密情報管理装置。
  7. 【請求項7】 暗号化された秘密情報と暗号化に用いた
    鍵情報を記録したコンピュータ読み取り可能な記録媒体
    であって、 前記暗号化された秘密情報は管理テーブルに記録され、
    前記暗号化に用いた鍵情報は鍵テーブルに記録され、 前記管理テーブルは、複数の行と複数の列からなり、各
    行対応に暗号化された秘密情報の組が記録され、 前記鍵テーブルは、複数の行と複数の列からなり、前記
    管理テーブルの特定の値の集合(1つの行の中の1つの
    列の項目、行、列など)対応に該集合に属する各値を暗
    号化するために使用した鍵と暗号アルゴリズム識別子と
    該管理テーブルの特定の値の集合対応に求められた該集
    合のハッシュ値が記録され、 前記管理テーブルと鍵テーブルの各行には管理テーブル
    の行と鍵テーブルの行を互いに関連付けるシリアル番号
    が記録されたことを特徴とする暗号化された秘密情報と
    暗号化に用いた鍵情報を記録したコンピュータ読み取り
    可能な記録媒体。
  8. 【請求項8】 暗号化された秘密情報を格納する管理テ
    ーブルと、該管理テーブルの特定の値の集合(1つの行
    の中の1つの列の項目、行、列など)対応に該集合に属
    する各値を暗号化するために使用した鍵と暗号アルゴリ
    ズム識別子と該管理テーブルの特定の値の集合対応に求
    められた該集合のハッシュ値を格納する鍵テーブルを備
    え、該管理テーブルと鍵テーブルに行ごとにシリアル番
    号を付与して互いに関連付けしたデータベースを管理す
    る秘密情報管理プログラムを記録したコンピュータ読み
    取り可能な記録媒体であって、 前記データベースへの秘密情報の登録時にシリアル番号
    を作成する手順と、登録する秘密情報を暗号化するため
    の鍵を乱数を使って作成し、該作成した鍵により前記管
    理テーブルに登録する秘密情報を暗号アルゴリズムを用
    いて暗号化する手順と、該暗号化した秘密情報を前記シ
    リアル番号と共に前記管理テーブルに登録する手順と、
    前記作成した鍵を、該作成した鍵とは別に作成した鍵で
    あって管理テーブルに登録する秘密情報を暗号化したす
    べての鍵の暗号化に使用する鍵暗号鍵により暗号化する
    手順と、暗号化された秘密情報の検索のために使用する
    前記ハッシュ値を計算する手順と、該鍵暗号鍵により暗
    号化された秘密情報の暗号化のための鍵と、前記暗号ア
    ルゴリズムの識別子と、前記検索のためのハッシュ値を
    前記シリアル番号と共に前記鍵テーブルに登録する手順
    を実行させる秘密情報管理プログラムを記録したコンピ
    ュータ読み取り可能な記録媒体。
  9. 【請求項9】 暗号化された秘密情報を格納する管理テ
    ーブルと、該管理テーブルの特定の値の集合(1つの行
    の中の1つの列の項目、行、列など)対応に該集合に属
    する各値を暗号化するために使用した鍵と暗号アルゴリ
    ズム識別子と該管理テーブルの特定の値の集合対応に求
    められた該集合のハッシュ値を格納する鍵テーブルを備
    え、該管理テーブルと鍵テーブルに行ごとにシリアル番
    号を付与して互いに関連付けしたデータベースを管理す
    る秘密情報管理プログラムを記録したコンピュータ読み
    取り可能な記録媒体であって、 前記データベースへの秘密情報の検索時に検索条件のハ
    ッシュ値を求め、前記鍵テーブルから該検索条件のハッ
    シュ値に一致するハッシュ値を有する条件一致行を取り
    出す手順と、該条件一致行から、秘密情報を暗号化した
    すべての鍵の暗号化に使用する鍵暗号鍵により暗号化さ
    れた秘密情報の暗号化のための鍵と暗号アルゴリズム識
    別子の組を取り出す手順と、取り出した該鍵暗号鍵によ
    り暗号化された秘密情報の暗号化のための鍵を該鍵暗号
    鍵により復号する手順と、該復号した鍵と前記暗号アル
    ゴリズム識別子に対応する暗号アルゴリズムにより前記
    検索条件を暗号化し、該暗号化された検索条件により前
    記管理テーブルの検索を行う手順を実行させる秘密情報
    管理プログラムを記録したコンピュータ読み取り可能な
    記録媒体。
  10. 【請求項10】 暗号化された秘密情報を格納する管理
    テーブルと、該管理テーブルの特定の値の集合(1つの
    行の中の1つの列の項目、行、列など)対応に該集合に
    属する各値を暗号化するために使用した鍵と暗号アルゴ
    リズム識別子と該管理テーブルの特定の値の集合対応に
    求められた該集合のハッシュ値を格納する鍵テーブルを
    備え、該管理テーブルと鍵テーブルに行ごとにシリアル
    番号を付与して互いに関連付けしたデータベースを管理
    する秘密情報管理プログラムを記録したコンピュータ読
    み取り可能な記録媒体であって、 前記データベースに登録された秘密情報の更新時に、入
    力された更新前の秘密情報によりデータベースを検索
    し、該更新前の秘密情報の存在する前記管理テーブルの
    シリアル番号を取得する手順と、入力された更新後の秘
    密情報を暗号化するための鍵を乱数を使って作成し、該
    作成した鍵により該更新後の秘密情報を暗号アルゴリズ
    ムを用いて暗号化する手順と、該暗号化した更新後の秘
    密情報を前記管理テーブルの前記取得したシリアル番号
    の行に登録する手順と、前記作成した鍵を秘密情報を暗
    号化したすべての鍵の暗号化に使用する鍵暗号鍵により
    暗号化する手順と、該鍵暗号鍵により暗号化した鍵と、
    前記暗号アルゴリズムの識別子を前記鍵テーブルの前記
    取得したシリアル番号の行に登録する手順を実行させる
    秘密情報管理プログラムを記録したコンピュータ読み取
    り可能な記録媒体。
JP9319010A 1997-11-05 1997-11-05 データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置 Pending JPH11143780A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9319010A JPH11143780A (ja) 1997-11-05 1997-11-05 データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9319010A JPH11143780A (ja) 1997-11-05 1997-11-05 データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Publications (1)

Publication Number Publication Date
JPH11143780A true JPH11143780A (ja) 1999-05-28

Family

ID=18105501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9319010A Pending JPH11143780A (ja) 1997-11-05 1997-11-05 データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Country Status (1)

Country Link
JP (1) JPH11143780A (ja)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1089194A2 (en) * 1999-09-30 2001-04-04 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
JP2001101055A (ja) * 1999-09-30 2001-04-13 Casio Comput Co Ltd データベース管理装置、データベースシステム、暗号化装置及び記録媒体
JP2001117805A (ja) * 1999-10-19 2001-04-27 Casio Comput Co Ltd データベース管理装置、データベースシステム及び記録媒体
WO2001035226A1 (en) 1999-11-12 2001-05-17 Protegrity Research & Development Method for reencryption of a database
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
WO2002035329A3 (en) * 2000-10-20 2003-10-23 Eruces Llc Hidden link dynamic key manager
JP2005523505A (ja) * 2002-04-17 2005-08-04 ビザ・インターナショナル・サービス・アソシエーション モバイル口座認証サービス
WO2005099168A1 (ja) * 2004-03-30 2005-10-20 Matsushita Electric Industrial Co., Ltd. 暗号化方式のアップデートシステム
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
JP2006227839A (ja) * 2005-02-16 2006-08-31 Hitachi Ltd ストレージシステム、データ移動方法及び管理計算機
JP2006302259A (ja) * 2005-04-18 2006-11-02 Hitachi Ltd 外部ストレージ装置を管理するための方法
WO2006129699A1 (ja) * 2005-05-31 2006-12-07 Icon Corp. 電子情報暗号化システム、その電子情報暗号化方法、その記憶媒体及びそのプログラム
JP2007095077A (ja) * 2005-09-29 2007-04-12 Avaya Technology Llc 安全で回復可能なパスワード
JP2008501175A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プロテクトされた構造化されたデータのクエリ方法及び装置
JP2008097648A (ja) * 2007-12-25 2008-04-24 Casio Comput Co Ltd データベース管理装置及び記録媒体
EP2006791A1 (en) * 2007-06-22 2008-12-24 Neutrino Concepts Ltd. Randomisation
US7681042B2 (en) 2004-06-17 2010-03-16 Eruces, Inc. System and method for dis-identifying sensitive information and associated records
JP2010186163A (ja) * 2009-01-23 2010-08-26 Nec (China) Co Ltd 暗号化転置インデックステーブルに対するk−匿名性更新のための方法および装置
JP2010224655A (ja) * 2009-03-19 2010-10-07 Hitachi Ltd データベース処理方法、データベース処理プログラム、および、暗号化装置
US7885413B2 (en) 2000-10-20 2011-02-08 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
JP2011198079A (ja) * 2010-03-19 2011-10-06 Hitachi Solutions Ltd データベース暗号化システム及び方法
JP4810611B2 (ja) * 2006-09-06 2011-11-09 マイクロソフト コーポレーション 暗号化されたデータの検索
JP2014003602A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 信頼できない第三者によるセキュアな処理のためのデータのアウトソーシング方法
JP2014013582A (ja) * 2011-11-11 2014-01-23 Nec Corp データベース暗号化システムと方法及びプログラム
JP2014154993A (ja) * 2013-02-07 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> ユーザデータ提供方法及びサービスシステム
US9037846B2 (en) 2010-12-13 2015-05-19 Nec Corporation Encoded database management system, client and server, natural joining method and program
WO2016171271A1 (ja) * 2015-04-22 2016-10-27 株式会社日立製作所 秘匿化データベースシステム及び秘匿化データ管理方法
KR20160136060A (ko) * 2015-05-19 2016-11-29 포항공과대학교 산학협력단 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
KR101879839B1 (ko) * 2016-08-25 2018-07-18 주식회사 한컴시큐어 대용량 데이터베이스의 암호화키 라이프 사이클 관리를 지원하는 데이터베이스 암호화 처리 장치 및 그 동작 방법
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
JP2023007959A (ja) * 2021-07-02 2023-01-19 Eaglys株式会社 データ管理システム、データ管理方法、及びデータ管理プログラム
JP2024071851A (ja) * 2022-11-15 2024-05-27 Eaglys株式会社 データ管理システム、データ管理方法、及びデータ管理プログラム

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1089194A2 (en) * 1999-09-30 2001-04-04 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
JP2001101055A (ja) * 1999-09-30 2001-04-13 Casio Comput Co Ltd データベース管理装置、データベースシステム、暗号化装置及び記録媒体
EP1089194A3 (en) * 1999-09-30 2007-04-04 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
JP2001117805A (ja) * 1999-10-19 2001-04-27 Casio Comput Co Ltd データベース管理装置、データベースシステム及び記録媒体
WO2001035226A1 (en) 1999-11-12 2001-05-17 Protegrity Research & Development Method for reencryption of a database
US7490248B1 (en) 1999-11-12 2009-02-10 Protegrity Corporation Method for reencryption of a database
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
WO2002035329A3 (en) * 2000-10-20 2003-10-23 Eruces Llc Hidden link dynamic key manager
US7885413B2 (en) 2000-10-20 2011-02-08 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
JP2005523505A (ja) * 2002-04-17 2005-08-04 ビザ・インターナショナル・サービス・アソシエーション モバイル口座認証サービス
US9769134B2 (en) 2002-04-17 2017-09-19 Visa International Service Association Mobile account authentication service
WO2005099168A1 (ja) * 2004-03-30 2005-10-20 Matsushita Electric Industrial Co., Ltd. 暗号化方式のアップデートシステム
JP2008501175A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プロテクトされた構造化されたデータのクエリ方法及び装置
US7681042B2 (en) 2004-06-17 2010-03-16 Eruces, Inc. System and method for dis-identifying sensitive information and associated records
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
JP2006227839A (ja) * 2005-02-16 2006-08-31 Hitachi Ltd ストレージシステム、データ移動方法及び管理計算機
JP2006302259A (ja) * 2005-04-18 2006-11-02 Hitachi Ltd 外部ストレージ装置を管理するための方法
WO2006129699A1 (ja) * 2005-05-31 2006-12-07 Icon Corp. 電子情報暗号化システム、その電子情報暗号化方法、その記憶媒体及びそのプログラム
JP4734512B2 (ja) * 2005-09-29 2011-07-27 アバイア インコーポレーテッド 安全で回復可能なパスワード
JP2007095077A (ja) * 2005-09-29 2007-04-12 Avaya Technology Llc 安全で回復可能なパスワード
JP4810611B2 (ja) * 2006-09-06 2011-11-09 マイクロソフト コーポレーション 暗号化されたデータの検索
EP2006791A1 (en) * 2007-06-22 2008-12-24 Neutrino Concepts Ltd. Randomisation
WO2009001053A1 (en) * 2007-06-22 2008-12-31 Neutrino Concepts Ltd. Randomisation
US8280061B2 (en) 2007-06-22 2012-10-02 Neutrino Concepts Ltd. Methods and systems for storing and retrieving encrypted data
JP4640410B2 (ja) * 2007-12-25 2011-03-02 カシオ計算機株式会社 データベース管理装置及び記録媒体
JP2008097648A (ja) * 2007-12-25 2008-04-24 Casio Comput Co Ltd データベース管理装置及び記録媒体
JP2010186163A (ja) * 2009-01-23 2010-08-26 Nec (China) Co Ltd 暗号化転置インデックステーブルに対するk−匿名性更新のための方法および装置
JP2010224655A (ja) * 2009-03-19 2010-10-07 Hitachi Ltd データベース処理方法、データベース処理プログラム、および、暗号化装置
JP2011198079A (ja) * 2010-03-19 2011-10-06 Hitachi Solutions Ltd データベース暗号化システム及び方法
US9037846B2 (en) 2010-12-13 2015-05-19 Nec Corporation Encoded database management system, client and server, natural joining method and program
JP2014013582A (ja) * 2011-11-11 2014-01-23 Nec Corp データベース暗号化システムと方法及びプログラム
US8812877B2 (en) 2011-11-11 2014-08-19 Nec Corporation Database encryption system, method, and program
US9349023B2 (en) 2011-11-11 2016-05-24 Nec Corporation Database encryption system, method, and program
JP2014003602A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 信頼できない第三者によるセキュアな処理のためのデータのアウトソーシング方法
JP2014154993A (ja) * 2013-02-07 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> ユーザデータ提供方法及びサービスシステム
WO2016171271A1 (ja) * 2015-04-22 2016-10-27 株式会社日立製作所 秘匿化データベースシステム及び秘匿化データ管理方法
JP2016206918A (ja) * 2015-04-22 2016-12-08 株式会社日立製作所 秘匿化データベースシステム及び秘匿化データ管理方法
KR20160136060A (ko) * 2015-05-19 2016-11-29 포항공과대학교 산학협력단 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
KR101879839B1 (ko) * 2016-08-25 2018-07-18 주식회사 한컴시큐어 대용량 데이터베이스의 암호화키 라이프 사이클 관리를 지원하는 데이터베이스 암호화 처리 장치 및 그 동작 방법
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
JP2023007959A (ja) * 2021-07-02 2023-01-19 Eaglys株式会社 データ管理システム、データ管理方法、及びデータ管理プログラム
JP2024071851A (ja) * 2022-11-15 2024-05-27 Eaglys株式会社 データ管理システム、データ管理方法、及びデータ管理プログラム

Similar Documents

Publication Publication Date Title
JPH11143780A (ja) データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置
US10614244B1 (en) Sensitive data aliasing
US7111005B1 (en) Method and apparatus for automatic database encryption
US9514330B2 (en) Meta-complete data storage
US8639947B2 (en) Structure preserving database encryption method and system
US5343527A (en) Hybrid encryption method and system for protecting reusable software components
US9240883B2 (en) Multi-key cryptography for encrypting file system acceleration
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
AU2002213436A1 (en) Method and apparatus for automatic database encryption
US20090240956A1 (en) Transparent encryption using secure encryption device
US20150019881A1 (en) Accelerated cryptography with an encryption attribute
US20070156788A1 (en) Protected data replication
JP2009510616A (ja) データベース内の機密データを保護するためのシステム及び方法
US20080317242A1 (en) Data scrambling and encryption of database tables
JP5443236B2 (ja) 分散型データベースシステム
JP2011133991A (ja) 機密データ保護システム、機密データ保護方法、機密データ保護プログラム
JP3734132B2 (ja) 鍵リカバリ権限管理方法、その装置及びプログラム記録媒体
JPH1124997A (ja) コンピュータで作成された記録ファイルの機密保持方法及び機密保持プログラムを記録したコンピュータ読み取り可能な記録媒体
CN110830252B (zh) 数据加密的方法、装置、设备和存储介质
JP2002290395A (ja) 情報端末装置
JP2011100334A (ja) 文書ファイル検索システム、文書ファイル登録方法、文書ファイル検索方法、プログラム及び記録媒体
JP7549283B2 (ja) 管理方法、情報処理装置および管理プログラム
WO2023119554A1 (ja) 制御方法、情報処理装置および制御プログラム
JP3628569B2 (ja) 鍵カプセル化型鍵回復方法
CN117971798A (zh) SaaS软件多技术融合的数据隔离方法、系统及设备

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040316