JP2001101055A - データベース管理装置、データベースシステム、暗号化装置及び記録媒体 - Google Patents

データベース管理装置、データベースシステム、暗号化装置及び記録媒体

Info

Publication number
JP2001101055A
JP2001101055A JP27920899A JP27920899A JP2001101055A JP 2001101055 A JP2001101055 A JP 2001101055A JP 27920899 A JP27920899 A JP 27920899A JP 27920899 A JP27920899 A JP 27920899A JP 2001101055 A JP2001101055 A JP 2001101055A
Authority
JP
Japan
Prior art keywords
data
column
database
search
encrypted
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.)
Granted
Application number
JP27920899A
Other languages
English (en)
Other versions
JP3921892B2 (ja
Inventor
Makoto Sato
佐藤  誠
Koji Takeda
恒治 竹田
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP27920899A priority Critical patent/JP3921892B2/ja
Priority to US09/670,424 priority patent/US7093137B1/en
Priority to EP00121136.6A priority patent/EP1089194B1/en
Priority to KR10-2000-0057347A priority patent/KR100401225B1/ko
Priority to CNB00134899XA priority patent/CN1327379C/zh
Publication of JP2001101055A publication Critical patent/JP2001101055A/ja
Priority to HK01109010A priority patent/HK1038806A1/xx
Priority to KR10-2003-0033587A priority patent/KR100398319B1/ko
Application granted granted Critical
Publication of JP3921892B2 publication Critical patent/JP3921892B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】データベースのセキュリティを確保すると共
に、検索に利用される項目については高速検索を可能と
する。 【解決手段】データベースを暗号化する際に、検索に利
用される列項目のデータについては鍵記憶装置15に記
憶された当該列項目に共通の列鍵を用いて暗号化し、そ
の他の列項目のデータについては鍵記憶装置15に記憶
された各行毎に固有の行鍵を用いて暗号化してデータ記
憶装置16のデータベース格納エリア16aに保存して
おく。このように、各行毎に鍵を異ならせることでセキ
ュリティを高めることができ、検索時には、検索用とし
て入力されたデータを前記所定の列項目に共通の列鍵を
用いて暗号化し、その暗号化された検索用データとデー
タベース格納エリア16a内の暗号化データベースとを
比較することで高速検索を実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースを暗
号化して管理するデータベース管理装置と、暗号化デー
タベースを有する検索装置をネットワーク上に配置した
データベースシステムと、データベースの暗号化を行う
暗号化装置及び記録媒体に関する。
【0002】
【従来の技術】データベース管理装置では、データベー
スのセキュリティを確保するため、管理対象として保有
しているデータベースを暗号化して保存しておくことが
求められる。
【0003】ここでセキュリティを高めるためには、よ
り複雑な暗号処理を施すことで実現することができる
が、複雑な暗号処理は演算に要する時間も大きくなるこ
とは避けられない。
【0004】データベースは膨大なデータを有し、デー
タ検索は、それらのデータの中からある項目について条
件に合致するものを選び出し、条件に合う項目データを
含むレコード(行データ)を出力するという処理にな
る。従って、大量のデータを取り扱うデータ検索システ
ムにおいては演算時間の増加は処理効率を悪化させる原
因となる。
【0005】
【発明が解決しようとする課題】上述したように、機密
性の高いデータを記憶しているデータベースにはセキュ
リティの要求があり、セキュリティを高めるための暗号
化処理はデータベースの利用性を妨げるという問題があ
る。
【0006】本発明は前記のような課題を解決するため
になされたもので、データベースのセキュリティを確保
すると共に、データの高速検索を可能にしたデータベー
ス管理装置、データベースシステム、暗号化装置及び記
録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明は、データベース
を暗号化する際に、検索に利用される列項目のデータに
ついては当該列項目に共通の列鍵を用いて暗号化し、そ
の他の列項目のデータについては各行毎に固有の行鍵を
用いて暗号化するようにしたものである。
【0008】具体的には、本発明のデータベース管理装
置は、データベースの所定の列項目のデータについて当
該列項目に共通の列鍵を用いて暗号化し、その他の列項
目のデータについては各行毎に固有の行鍵を用いて暗号
化する暗号化手段と、この暗号化手段によって暗号化さ
れたデータベースを記憶する記憶手段とで構成される。
【0009】このような構成されよれば、データベース
を暗号化する際に、各行毎に鍵を異ならせることでセキ
ュリティを高めることができ、検索時には、検索用とし
て入力されたデータを前記所定の列項目に共通の列鍵を
用いて暗号化し、その暗号化された検索用データと暗号
化データベースの各項目データとを比較することで高速
検索を実現することができる。
【0010】また、検索に利用される列項目以外の列項
目のデータについて、各行毎に固有の行鍵と当該列項目
に共通の列鍵とを複合的に用いて暗号化するようにすれ
ば、さらにセキュリティを強化することができる。
【0011】また、暗号化方式として、所定の関数に基
づいて多次元空間に逐次ベクトルを発生させ、これらの
ベクトル成分を暗号のキーストリームとした多次元空間
回転方式を用いれば、複雑な演算処理を必要とせずにデ
ータベースを暗号化することができるので、演算能力の
低い情報処理装置にも適用可能となる。
【0012】また、データベースの保管場所を離間させ
ておき、別の情報端末からネットワークを介して検索を
依頼するようなデータベースシステムを構築することも
可能である。この場合、前記のようにデータベースの所
定の列項目(検索に利用される列項目)のデータを当該
列項目に共通の列鍵を用いて暗号化し、その他の列項目
のデータについては各行毎に固有の行鍵を暗号化してお
く。そして、別の情報端末からデータベースの検索を依
頼する際に、検索用データを当該列項目に共通の列鍵を
用いて暗号化し、その暗号化された検索用データをネッ
トワークを介して送るようにする。この検索用データを
受けることで、前記暗号化データベースの検索処理を行
い、その検索結果として得られたデータを暗号化された
状態でネットワークを介して前記情報端末に返信する。
したがって、常に暗号化された状態でデータをやり取り
できるので、データベースのセキュリティを確保するこ
とができる。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。
【0014】(第1の実施形態)図1は本発明の第1の
実施形態に係るデータベース管理装置の構成を示す図で
ある。本装置は、行と列からなるマトリクス形式のデー
タベースを有し、そのデータベースを暗号化して管理す
る機能と共に、入力された検索用データを暗号化して、
その暗号化された検索用データに基づいてデータベース
を検索する機能を備えたものであって、例えば磁気ディ
スク等の記録媒体に記録されたプログラムを読み込み、
このプログラムによって動作が制御されるコンピュータ
によって実現される。
【0015】図1に示すように、本装置には、CPU1
1、表示装置12、入力装置13、プログラム記憶装置
14、鍵記憶装置15、データ記憶装置16が設けられ
ている。
【0016】CPU11は、本装置全体の制御を行うも
のであり、プログラム記憶装置14に記憶されたプログ
ラムを読み込み、そのプログラムに従って各種処理を実
行する。本実施形態において、CPU11は図2に示す
ようなデータベースの暗号化処理や、図3および図4に
示すようなデータベースの検索処理を実行する。
【0017】表示装置12は、データを表示するための
デバイスであり、例えばLCD(Liquid Crystal Displ
ay)やCRT(Cathode-ray tube)等が用いられる。入
力装置13は、データを入力するためのデバイスであ
り、例えばキーボード、マウス等が用いられる。
【0018】プログラム記憶装置14は、例えばROM
あるいはRAMなどで構成され、本装置に必要なプログ
ラムを記憶する。本装置に必要なプログラムとしては、
データベース管理プログラムや暗号化プログラム等があ
る。
【0019】なお、プログラム記憶装置14は半導体メ
モリの他に磁気的、光学的記録媒体で構成することがで
きる。この記録媒体はCD-ROM等の可搬型の媒体や
ハードディスク等の固定的な媒体を含む。また、この記
録媒体に格納するプログラムは、その一部若しくは全部
をサーバやクライアントからネットワーク回線などの伝
送媒体を介して伝送制御部から受信する構成にしてもよ
く、更に、前記記録媒体はネットワーク上に構築された
サーバの記録媒体であってもよい。更に、前記プログラ
ムをネットワーク回線などの伝送媒体を介してサーバー
やクライアントへ伝送してこれらの機器にインストール
するように構成してもよい。
【0020】鍵記憶装置15は、例えばRAMなどで構
成され、データベースの暗号化に用いられる鍵(行鍵と
列鍵)を記憶する。
【0021】データ記憶装置16は、本装置に必要な各
種のデータを記憶するためのデバイスであり、例えばR
AMあるいは磁気ディスク装置等の外部記憶装置で構成
される。このデータ記憶装置16には、データベースを
格納しておくためのデータベース格納エリア16a、デ
ータベースを暗号化する際にオペレータにより設定され
た情報(検索対象項目、非暗号化項目等)を格納してお
くための暗号化設定情報格納エリア16b、データベー
スを検索する際にオペレータにより設定された情報(対
象列項目、検索文字列等)を格納しておくための検索設
定情報格納エリア16c、データベース検索時の比較文
字列を格納しておくための比較文字列格納エリア16d
などが設けられている。
【0022】ここで、本装置の動作を説明する前に、本
装置によって実現されるデータベースの暗号化方法につ
いて説明しておく。
【0023】データベースを暗号化する場合に、各行毎
(レコード毎)に異なる鍵を用いて暗号化すると、鍵の
解読は困難となり、セキュリティ性を高めることができ
る。しかし、データベースを検索する際に、暗号化され
ているデータを各行毎の鍵で復号化するか、または、検
索用として入力されたデータ(キーワード)を各行毎の
鍵で暗号化しなければならいため、検索結果を得るのに
時間がかかることになる。一方、各列毎に異なる鍵を用
いてデータベースを暗号化すると、検索対象となる列項
目に対応した鍵のみを用いて検索用データを暗号化すれ
ば良いのでデータベース検索を高速に行うことができ
る。しかし、同じ列の中で同一のデータがあると、暗号
化結果も同じになってしまうため、そこから鍵を解読さ
れる可能性が高くなる。
【0024】そこで、本発明では、データベースを暗号
化する際に、検索に頻繁に利用される列項目のデータに
ついては列共通鍵で暗号化し、その他の列項目のデータ
については各行毎に異なる鍵を与えて暗号化することを
特徴とする。つまり、各行毎に鍵を異ならせることで、
セキュリティを高めると共に、検索時には検索に利用さ
れる項目に入力されたデータを列鍵で暗号化してデータ
ベース上の暗号化データと比較することで高速検索を可
能とするものである。
【0025】図5は第1の実施形態におけるデータベー
スの構成を説明するための図であり、図5(a)は暗号
化前の状態、同図(b)は暗号化後の状態、同図(c)
は復号化後の状態を示している。また、図6は第1の実
施形態における列鍵と行鍵の構成を示す図である。
【0026】図5(a)に示すように、本装置では、行
と列からなるマトリクス形式のデータベースを備えてい
る。ここでは、個人データをデータベース化した場合を
示している。このデータベースは、1レコードが「nu
mber」,「name」,「state」,「wei
ght」,「height」,「age」,「phon
e」の各項目で構成するようにしている。
【0027】このようなデータベースに対し、列鍵と行
鍵を用いて暗号化を行う。すなわち、検索に頻繁に利用
される列項目を「name」,「state」,「ag
e」とした場合に、これらの列項目の各行のデータにつ
いては、図6に示すように、「apple」,「ora
nge」,「lemon」といった各列項目に共通の列
鍵を用いて暗号化し、その他の列項目「weigh
t」,「height」,「phone」の各行のデー
タについては、各行毎に固有の鍵を用いて暗号化する。
【0028】なお、「number」の列は暗号化を行
わないものとする。行鍵としては、「tiger」,
「dog」,「cat」,「mouse」,「elep
hant」,「cow」,「pig」,「rabbi
t」,「lion」といった鍵が用いられる。これらの
鍵は所定の関数を用いて各列または各行毎に数学的に発
生させることができる。
【0029】図5(a)のデータベースを列鍵と行鍵を
用いて暗号化した結果を図5(b)に示す。データ記憶
装置16のデータベース格納エリア16aには、図5
(b)に示すような状態でデータベースが保存されるこ
とになる。
【0030】データベースを検索する場合には、検索に
利用される列項目に対応した列鍵を用いて検索用データ
を暗号化してから検索処理を行う。例えば、「stat
e」の中の「Florida」といったデータを検索す
る場合には、まず、検索用データとして入力された「F
lorida」を「state」の列鍵「apple」
で暗号化して、「h*/fDD」を得る。この「h*/
fDD」といったデータを「state」の列の各行か
ら検索する。これにより、「number2」と「nu
mber8」に該当するデータが存在することがわか
る。
【0031】また、暗号化されたデータベースを元に戻
す場合には、暗号化の時と同じ列鍵と行鍵を用いる。図
5(b)のデータベースを暗号化の時と同じ列鍵と行鍵
を用いて復号化すると、図5(c)に示すように元のデ
ータを得ることができる。
【0032】以下に、本装置の動作について説明する。
【0033】ここでは、(a)データベースを暗号化す
る場合の処理と、(b)データベースを検索する場合の
処理に分けて説明する。なお、このフローチャートで示
す各機能を実現するプログラムはCPUが読み取り可能
なプログラムコードの形態で前記プログラム記憶装置1
4の記録媒体に格納されている。また、このプログラム
はプログラムコードの形態でネットワーク回線などの伝
送媒体を介して伝送することもできる。
【0034】(a)データベースを暗号化する場合 図2は本装置にて実行されるデータベース暗号化処理の
動作を示すフローチャートである。今、データベースが
暗号化されていない状態でデータ記憶装置16のデータ
ベース格納エリア16aに記憶されているものとする。
この状態が図5(a)である。
【0035】まず、図示せぬデータベース暗号化設定画
面にて、暗号化対象となるデータベースを指定する(ス
テップA11)。
【0036】次に、そのデータベースに設けられた各列
項目の中で検索に利用する列項目と、暗号化を必要とし
ない列項目をそれぞれ設定する(ステップA12)。図
5(a)の例では、検索に利用する列項目は「nam
e」,「state」,「age」であり、暗号化を必
要としない列項目は「number」である。ここでの
設定情報はデータ記憶装置16の暗号化設定情報格納エ
リア16bに記憶される。
【0037】次に、当該データベースの暗号化に用いる
行鍵と列鍵を決定する(ステップA13)。ここで決定
された行鍵と列鍵の情報は鍵記憶装置15に記憶され
る。
【0038】このような設定操作の後、データベースの
中の各列項目を順次指定していくと(ステップA1
4)、その指定された列項目に対する暗号化方式が前記
設定情報に基づいて判断される(ステップA15)。こ
の場合、データベースの中の「number」の列項目
については非暗号化項目として設定されているので、何
もしない。つまり、「number」の項目は元データ
のままである。
【0039】また、指定された列項目が検索に利用する
列項目として設定されている場合には、鍵記憶装置15
に記憶された当該列項目に共通の列鍵が読み出され(ス
テップA15→A16)、当該列項目の各行のデータが
その列鍵により暗号化される(ステップA17)。すな
わち、データベースの「name」,「state」,
「age」の項目の各行のデータは、図6に示すよう
に、「apple」,「orange」,「lemo
n」といった各列に固有の鍵を用いて暗号化されること
になる。
【0040】また、指定された列項目が検索に利用する
列項目として設定されていない場合、つまり、他の列項
目であった場合には、鍵記憶装置15に記憶された各行
に対応した行鍵が読み出され(ステップA15→A1
8)、当該列項目の各行のデータがそれぞれに固有の行
鍵により暗号化される(ステップA19,A20)。す
なわち、データベースの中の「state」,「wei
ght」,「height」の各項目のデータに関して
は、図6に示すように、1行目のデータは「tige
r」,2行目のデータは「dog」,3行目のデータは
「cat」,4行目のデータは「mouse」,5行目
のデータは「elephant」,6行目のデータは
「cow」,7行目のデータは「pig」,8行目のデ
ータは「rabbit」,9行目のデータは「lio
n」といったように、各行に対応した行鍵を用いて暗号
化される。
【0041】このような暗号化処理がデータベースの各
列項目について繰り返し行なわれる。すべての列項目の
各行のデータの暗号化が終了すると、その暗号化データ
ベースがデータ記憶装置16のデータベース格納エリア
16aに上書き保存される(ステップA22)。この状
態が図5(b)である。
【0042】(b)データベースを検索する場合 図3は本装置にて実行されるデータベース検索処理の動
作を示すフローチャートである。今、前記(a)で説明
した暗号化処理にて、データベースが暗号化されてデー
タ記憶装置16に保存されているものとする。
【0043】まず、図3(a)のフローチャートに示す
ように、図示せぬデータベース検索用設定画面にて、検
索情報の入力を行う(ステップB11)。検索情報の入
力とは、検索対象となる列項目と、検索用の文字列(キ
ーワード)を入力することである。これらの入力情報は
データ記憶装置16の検索設定情報格納エリア16cに
格納される。入力装置13を通じて検索情報が入力され
ると、検索前処理が実行される(ステップB12)。
【0044】この検索前処理では、図3(b)のフロー
チャートに示すように、検索対象として入力された列項
目が所定の列項目であるか否かが判断され(ステップC
11)、所定の列項目であることが判明した場合には
(ステップC11のYes)、その列項目に共通の列鍵
で検索用の文字列が暗号化される(ステップC12)。
【0045】所定の列項目とは、前記データベースの暗
号化時に設定された検索対象項目(検索に利用される項
目)であり、具体的には「name」,「stat
e」,「age」の各項目が該当する。この検索対象項
目に関する情報はデータ記憶装置16の暗号化設定情報
格納エリア16bに格納されている。したがって、前記
ステップC11では、この暗号化設定情報格納エリア1
6bを参照して所定の列項目であるか否かの判断を行う
ことになる。また、列項目に共通の列鍵は鍵記憶装置1
5に格納されている。したがって、前記ステップC12
では、この鍵記憶装置15から当該列項目に対応した列
鍵を読み出して検索用の文字列を暗号化することにな
る。例えば、指定項目が「state」であれば、「o
rang」といった列鍵を用いて検索用の文字列を暗号
化することになる。
【0046】また、検索対象として入力された列項目が
所定の列項目でなかった場合には(ステップC11のN
o)、前記のような検索用文字列の暗号化は行われな
い。
【0047】このような検索前処理の後、データベース
の検索処理(図4参照)が行われ(ステップB13)、
その検索結果として得られたデータが表示装置12に表
示される(ステップB14)。図4にデータベースの検
索処理を示す。
【0048】図4は前記ステップB13の検索処理の動
作を具体的に示すフローチャートである。
【0049】まず、図4(a)のフローチャートに示す
ように、検索用文字列がデータベースとの比較文字列と
してデータ記憶装置16の比較文字列格納エリア16d
にセットされる(ステップD11)。この場合、上述し
たように検索対象として入力された列項目が所定の列項
目(「name」,「state」,「age」)であ
った場合には、前記検索前処理によって、当該検索用文
字列がその列項目に対応した列鍵にて暗号化されて比較
文字列格納エリア16dにセットされる。その他の列項
目の場合には、暗号化されることなく、そのままの状態
で比較文字列格納エリア16dにセットされる。
【0050】次に、データ記憶装置16のデータベース
格納エリア16aに格納された暗号化データベースの列
番号による暗号化方式が判断される(ステップD1
2)。これにより、検索対象が列鍵で暗号化された所定
の列項目に該当する場合には、その対象列の各行にある
データが順次走査され(ステップD12→D13)、指
定された行に含まれた対象項目のデータの文字列と前記
比較文字列格納エリア16dにセットされた検索用文字
列(暗号化された文字列)との比較処理が行われる(ス
テップD14)。
【0051】この比較処理では、図4(b)のフローチ
ャートに示すように、データベースから取り出された対
象項目のデータの暗号化文字列と検索用の暗号化文字列
とを比較して、両者が一致するか否かを判断する(ステ
ップE11)。両者が一致した場合には(ステップE1
1のYes)、その一致した項目を含むレコードデータ
をデータベース検索結果として抽出する(ステップE1
2)。
【0052】この処理を暗号化データベースの終端まで
繰り返して、該当するデータを順次抽出し(ステップD
15)、この抽出したデータを検索結果として出力する
(ステップD20)。
【0053】具体的に説明すると、図5(b)の暗号化
データベースの例で、例えば「state」の項目の中
の「Florida」といったデータを検索することが
指定された場合には、まず、検索用データとして入力さ
れた「Florida」を「state」の列鍵「ap
ple」で暗号化して、「h*/fDD」を得る。この
「h*/fDD」といったデータを「state」の列
から検索する。これにより、「number2」と「n
umber8」に該当するデータが存在することがわか
る。
【0054】一方、検索対象が行鍵で暗号化されたその
他の列項目に該当する場合には、その対象列の各行にあ
るデータが順次走査され(ステップD12→D16)、
指定された行に含まれた対象項目のデータが各行に固有
の行鍵によって復号化された後(ステップD17)、前
記比較文字列格納エリア16dにセットされた検索用文
字列(非暗号化文字列)との比較処理が行われる(ステ
ップD18)。
【0055】この比較処理では、図4(b)のフローチ
ャートに示すように、データベースから取り出された対
象列のデータの復号化文字列と検索用の非暗号化文字列
との比較により、両者が一致するか否かを判断する(ス
テップE11)。両者が一致した場合には(ステップE
11のYes)、その一致した項目を含むレコードデー
タをデータベース検索結果として抽出する(ステップE
12)。
【0056】この処理を暗号化データベースの終端まで
繰り返して、該当するデータを順次抽出し(ステップD
19)、この抽出したデータを検索結果として出力する
(ステップD20)。
【0057】具体的に説明すると、図5(b)の暗号化
データベースの例で、例えば「weight」の項目の
中の「163」といったデータを検索することが指定さ
れたとした場合に、まず、「weight」の1行目の
データを「tiger」といった行鍵で復号化する。同
様にして、2行目のデータを「dog」,3行目のデー
タを「cat」,4行目のデータを「mouse」,5
行目のデータを「elephant」,6行目のデータ
を「cow」,7行目のデータを「pig」,8行目の
データを「rabbit」,9行目のデータを「lio
n」といったように、各行に対応した行鍵を用いて、そ
れぞれ復号化した後に、検索用データとして入力された
「163」に基づいて「state」の列から該当する
データを検索する。これにより、「number3」と
「number9」に該当するデータが存在することが
わかる。
【0058】このように、データベースを暗号化する際
に、検索に利用される所定の列項目については列共通鍵
で暗号化し、検索時には、検索用データをその列共通鍵
で暗号化してデータベース上の暗号化データと比較する
ことで高速検索を実現できる。また、所定の列項目以外
の列項目については各行毎に異なる鍵を与えて暗号化す
ることでセキュリティを高める。この場合、検索時には
各行毎の鍵を用いた復号化を必要とするため、前記所定
の列項目に対する検索に比べて時間はかかるものの、検
索に頻繁に利用される項目ではないので問題にはならな
い。
【0059】(第2の実施形態)前記第1の実施形態で
は、所定の列項目以外の列項目のデータについては、各
行毎に固有の行鍵を用いて暗号化するようにしたが、第
2の実施形態では、さらにセキュリティを高めるため、
各行毎に固有の行鍵と当該列項目に共通の列鍵とを複合
的に用いて暗号化することを特徴とする。
【0060】図7は第2の実施形態におけるデータベー
スの構成を示す図であり、図7(a)は暗号化前の状
態、同図(b)は暗号化後の状態、同図(c)は復号化
後の状態を示している。また、図8は第2の実施形態に
おける合成鍵の構成を示す図である。
【0061】図7(a)に示すように、本装置では、行
と列からなるマトリクス形式のデータベースを備えてい
る。ここでは、個人データをデータベース化した場合を
示している。このデータベースは、1レコードが「nu
mber」,「name」,「state」,「wei
ght」,「height」,「age」,「phon
e」の各項目で構成するようにしている。
【0062】このようなデータベースに対し、合成鍵を
用いて暗号化を行う。すなわち、検索に頻繁に利用され
る列項目を「name」,「state」,「age」
とした場合に、これらの列項目の各行のデータについて
は、図8に示すように、「apple」,「orang
e」,「lemon」といった各列項目に共通の列鍵を
用いて暗号化し、その他の列項目「weight」,
「height」,「phone」の各行のデータにつ
いては、「banana+行鍵」,「lychee+行
鍵」,「apricot+行鍵」といったように、列鍵
と行鍵とを組み合わせて暗号化する。
【0063】なお、「number」の列は暗号化を行
わないものとする。行鍵としては、「tiger」,
「dog」,「cat」,「mouse」,「elep
hant」,「cow」,「pig」,「rabbi
t」,「lion」といった鍵が用いられる。これらの
鍵は所定の関数を用いて各列または各行毎に数学的に発
生させることができる。
【0064】図7(a)のデータベースを合成鍵を用い
て暗号化した結果を図7(b)に示す。データ記憶装置
16のデータベース格納エリア16aには、図7(b)
に示すような状態でデータベースが保存されることにな
る。
【0065】データベースを検索する場合に、前記第1
の実施形態と同様に、検索に利用される列項目に共通の
列鍵を用いて検索用データを暗号化してから検索処理を
行えば良い。例えば、「state」の中の「Flor
ida」といったデータを検索する場合には、まず、検
索用データとして入力された「Florida」を「s
tate」の列鍵「apple」で暗号化して、「h*
/fDD」を得る。この「h*/fDD」といったデー
タを「state」の列の各行から検索する。これによ
り、「number2」と「number8」に該当す
るデータが存在することがわかる。
【0066】また、暗号化されたデータベースを元に戻
す場合には、暗号化の時と同じ合成鍵を用いる。図7
(b)のデータベースを暗号化の時と同じ合成鍵を用い
て復号化すると、図7(c)に示すように元のデータを
得ることができる。
【0067】なお、データベースを暗号化する場合の処
理や、暗号化されたデータベースを検索する場合の処理
については、所定の列項目以外の列項目の各行のデータ
に対して列鍵と行鍵を組み合わせて暗号化する点を除い
ては前記第1の実施形態の処理(図2〜図4)と同様で
あるため、ここでは、その説明を省略するものとする。
【0068】このように、検索に頻繁に利用される列項
目については、その列項目に共通の列鍵を用いて暗号化
することで、前記第1の実施形態と同様に高速検索を実
現できるものであり、また、他の列項目については、列
鍵と行鍵とを複合的に用いて暗号化することで、さらに
セキュリティを強化することができる。
【0069】(第3の実施形態)前記第1または第2の
実施形態では、本発明を装置単体で構成したが、データ
ベースの保管場所を離間させておき、別の情報端末から
ネットワークを介して検索を依頼するようなデータベー
スシステムを構築することも可能である。
【0070】以下に、このようなデータベースシステム
について説明する。
【0071】図9は本発明の第3の実施形態に係るデー
タベースシステムの構成を示すブロック図である。本シ
ステムは、第1の端末装置20と第2の端末装置30と
を有する。第1の端末装置20と第2の端末装置30と
はネットワーク40を介して接続されている。
【0072】第1の端末装置20は、データベースサー
ビスを行うサーバコンピュータとして用いられるもので
あって、データベースの検索処理を行う検索装置21
と、データベースを保存しておくためのデータ記憶装置
22とで構成される。第2の端末装置30は、データベ
ースの検索を第1の端末装置20に依頼し、その結果を
第1の端末装置20から受け取るクライアントコンピュ
ータとして用いられるものであって、検索依頼装置31
と復号化装置32とで構成される。
【0073】このようなデータベースシステムにあって
は、第1の端末装置20において、図2で説明したよう
に、データベースの所定の列項目の各行のデータを当該
列項目に共通の列鍵を用いて暗号化し、その他の列項目
の各行のデータについては各行毎に固有の行鍵を用いて
暗号化してデータ記憶装置22に保存しておくものとす
る。
【0074】ここで、第2の端末装置30から第1の端
末装置20に対してデータベースの検索を依頼する際
に、図3の検索前処理までを第2の端末装置30側で実
行する。すなわち、第2の端末装置30の検索依頼装置
31によって、検索対象として入力された列項目が所定
の列項目であるか否かを判断し、所定の列項目である場
合に、検索用の文字列(キーワード)を当該列項目に共
通の列鍵を用いて暗号化する。その他の列項目が検索対
象である場合には、このような暗号化は不要である。
【0075】検索前処理の後、第2の端末装置30から
検索用文字列をネットワーク40を介して第1の端末装
置20に送る。第1の端末装置20側では、この検索用
文字列を受けることにより、図4で説明したような検索
処理を実行する。
【0076】すなわち、第1の端末装置20の検索装置
21により、検索対象が所定の列項目か否かを判断し、
所定の列項目であれば、第2の端末装置30から取得し
た検索用文字列(暗号化文字列)とデータ記憶装置22
内の暗号化データベースの当該列項目の各行のデータと
を比較して、該当するデータを抽出するといった処理を
行う。また、検索対象が所定の列項目以外の列項目であ
れば、データ記憶装置22内の暗号化データベースの当
該列項目のデータを各行毎の鍵で復号化してから、第2
の端末装置30から取得した検索用文字列(非暗号化文
字列)とその復号化された各行のデータとを比較して、
該当するデータを抽出するといった処理を行う。
【0077】このようにして検索結果が得られると、第
1の端末装置20はその検索結果として得られたデータ
を暗号化の状態のままでネットワーク40を介して第2
の端末装置30に返信する。第2の端末装置30は、第
1の端末装置20と共通の暗号鍵を持っている。したが
って、第1の端末装置20から検索結果を受信すると、
内部の復号化装置32にて、そのデータを暗号鍵を用い
て復号化することができる。この場合、第1の端末装置
20と第2の端末装置30との間で、常に暗号化された
状態でデータがやり取りされるので、データベースのセ
キュリティを確保することができる。
【0078】このように、第1の端末装置20側にデー
タベースを持たせて、第2の端末装置30からのアクセ
スによってデータベース検索を行うようにしたデータベ
ースシステムであっても、検索に頻繁に使う列項目のデ
ータを当該列項目に共通の列鍵を用いて暗号化し、その
他の列項目のデータについては各行毎に固有の行鍵を用
いて暗号化しておくことで、セキュリティを高めると共
に高速検索を実現することができる。
【0079】なお、前記所定の列項目以外の列項目のデ
ータについては、前記第2の実施形態で説明したよう
に、各行毎に固有の行鍵と当該列項目に共通の列鍵とを
複合的に用いて暗号化することでも良く、このようにす
れば、さらにセキュリティを強化することができる。
【0080】(暗号化方式)次に、本発明に適用される
データベースの暗号化方式について説明する。
【0081】本発明では、データベースの暗号化アルゴ
リズムとして多次元空間回転方式(多次元空間ベクトル
方式)を用いる。この多次元空間回転方式は、所定の関
数に基づいて多次元空間に逐次ベクトルを発生させ、こ
れらのベクトル成分を暗号のキーストリームとするもの
である。この多次元空間回転方式では、演算能力の低い
情報処理装置でも計算できるので、携帯型の端末に適用
するのに相応しい。つまり、本発明のデータベースを外
部からアクセスするような環境において、データの機密
性を保持して処理するためには、このような暗号化方式
を採用することが望ましい。
【0082】以下に、図10および図11を参照して、
多次元空間回転方式を用いた暗号化と復号化の処理を示
す。
【0083】図10(a)は多次元空間回転方式を用い
た場合での暗号化の処理動作を示すフローチャートであ
る。
【0084】暗号化の対象となる原データをMとする
(ステップF11)。このデータMは、バイナリデータ
である。まず、このデータMに対してbit単位でスク
ランブル1をかける(ステップF12)。こうして得ら
れたデータをM´とする(ステップF13)。
【0085】ここで、このデータM´に数学的に順次生
成される乱数をXOR(排他的論理和)して暗号化を行
う(ステップF14)。このとき、乱数の発生の関数に
多次元ベクトルrを用いることが多次元空間回転方式の
特徴である。この場合、多次元ベクトルrを発生させる
関数、あるいは、その関数に用いられる定数は暗号化キ
ー(秘密・公開キー)で決定される。
【0086】すなわち、暗号化に際し、秘密キー
(P1 ,P2 )および公開キー(P3 ,P 4 )を定数と
して用いた関数に従って多次元ベクトルrを生成し、M
´XOR rといった論理演算を行ってデータM´を暗号化
する。こうして得られた暗号データをCとする(ステッ
プF15)。
【0087】具体的に説明すると、例えば図11に示す
ように、rが3次元ベクトル(x,y,z)であり、そ
のベクトル成分x,y,zの計算精度が16bitであ
るとする。この3次元ベクトルr(x,y,z)を後述
する式(1)に従ってr0 ,r1 ,r2 ,r3 …といっ
たように順次発生する。
【0088】今、データMが8bitデータの並びとし
て、m0 1 2 3 4 5 6…と与えられたと
き、Mは前記計算精度(16bit)に基づいて、その
要素の2つ(8bit)ずつに分解される。そして、3
次元ベクトルがr0 である場合には、データMとr
0 (x0 ,y0 ,z0 )とのXOR(排他的論理和)に
より、(x XOR m0 1 )(y XOR m2 3 )(z X
OR m4 5 )…といった計算が行われ、この計算結果
として、C0 1 2 3 4 5 …といった暗号デー
タCが得られる。
【0089】このようにして得られたデータCに対し
て、さらにbit単位でスクランブル2をかける(ステ
ップF16)。こうして得られたデータをC´とし、最
終的な暗号データとして出力する(ステップF17)。
【0090】なお、前記の処理で、C´を改めてM´と
見なして前記同様の暗号化を繰り返すことによって、復
号化の困難さのレベルを上げることができる。また、こ
のときの多次元ベクトルrを生成する関数の形を変えれ
ば、復号化の困難さはさらに増すことになる。
【0091】次に、復号化の処理動作について説明す
る。
【0092】図6(b)は復号化の処理動作を示すフロ
ーチャートである。
【0093】復号化は、基本的には前記暗号化処理の逆
の処理を行えば良い。
【0094】すなわち、暗号データをC´とすると(ス
テップG11)、まず、このデータCに対してbit単
位で前記暗号化時に行ったスクランブル2とは逆のスク
ランブル2をかける(ステップG12)。これにより、
スクランブル2をかける前のデータCが得られる(ステ
ップG13)。
【0095】次に、C XOR rといった計算を行ってデ
ータCを復号化する(ステップG14)。これにより、
暗号化を行う前のデータM´が得られる(ステップG1
5)。
【0096】そして、このデータM´に対してもbit
単位で前記暗号化時に行ったスクランブル1とは逆のス
クランブル1をかける(ステップG12)。これによ
り、スクランブル1をかける前のデータつまり原データ
Mが得られる(ステップG17)。
【0097】なお、暗号化の処理で、C´を改めてM´
と見なして暗号化を繰り返したり、多次元ベクトルrを
生成する関数の形を変えたりする処理が加わっていれ
ば、その処理に対応させて復号化の処理を行うものとす
る。
【0098】ところで、多次元ベクトルrを用いた暗号
化において、多次元ベクトルrを扱う関数を決定するパ
ラメータ(定数)の集合Pを2つの部分に分けて、 P={Ps ,Pp } と表わす。ここで、Ps は秘密パラメータであり、暗号
化キー(秘密キーP1 ,P2 )に相当する。Pp は公開
パラメータであり、暗号化キー(公開キーP3 ,P4
に相当する。
【0099】次に、多次元空間回転方式について、さら
に詳しく説明する。
【0100】n(n≧1)次元の空間を張るベクトルを
rとし、その初期値r0 から逐次的に新しいベクトルr
i (i=0,1,2,3…)を発生する関数をRとす
る。このとき、ri は以下のような式(1)で表わされ
る。
【0101】 ri =A・R(P,ri-1 )ri-1 +c …(1) ここで、Aは適当な定数係数である。Pは関数に使用さ
れる定数の集合であり、秘密キーP1 ,P2と、公開キ
ーP3 ,P4 が使用される。cはベクトルを並進移動す
る定数ベクトルである。
【0102】前記式(1)において、係数Aは関数Rに
適当な制約(例えば|R|≦1)を設けたときに、各ベ
クトルが多次元空間の閉空間領域内に存在するための条
件を与える。定数ベクトルcはベクトルri が収斂する
とき、「トリビアル」な点(例えばr=0のような無意
味な点)にならないことを保証する(勿論c=0も許さ
れる)。
【0103】n次元空間では、ベクトルrはn個の要素
を持つ。r=(x1 ,x2 …xn )。計算機上では、数
値データ一般に、コンパイラが定義するビット長(m)
の精度(例えば8バイト又は64ビット)で表現されて
いる。したがって、ベクトルの逐次生成法のある瞬間に
n×mのデータの精度でベクトルrを再現できないと、
それに続くベクトルrは正確には再現できない(あるい
はそうなるような関数Rを定義する)。これは、ベクト
ルrの初期値r0 についても同様で、初期値r 0 をn×
mのデータの精度で再現したときにのみ、それに続くベ
クトルr1 ,r 2 ,r3 …の再現性が保証される。
【0104】前記式(1)を用いて得られたベクトルr
の成分を、そのデータ定義長に応じて1個乃至複数個並
べて、その総ビット長に対応した文字列(1文字あたり
8ビットが普通)とビット毎の排他論理演算(XOR)
を行う。これを第1暗号化とする。これについては、前
記図11で述べた通りある。
【0105】この手続きは暗号解読への対策となる。こ
の場合、再度式(1)、関数Rを変えてて新しいベクト
ルを発生させ、第1暗号化と同じ手法により暗号化を行
っても良い。これを第2暗号化とする。
【0106】具体的な例として、n=2の場合を考え
る。
【0107】まず、ri-1 をこの平面に立てた法線の周
りにθだけが回転する演算として、Rを定義すれば、R
は2×2のマトリックスとなり、次のように表わされ
る。
【0108】
【数1】
【0109】この場合、θは一種の媒介変数となってい
る。すなわち、媒介変数がri-1 の関数として与えら
れ、 θ(r)=f(P,r) …(3) で表わされるとき、前記式(2)で表わされる変換は、
形式的に前記式(1)で表わされる。
【0110】なお、前記式(3)において、Pは関数f
に使われる定数の集合として定義されるものであり、秘
密キーP1 ,P2と、公開キーP3 ,P4 が使用され
る。
【0111】このように、逐次的に発生させた多次元空
間を張るベクトルrを暗号化に使うことで、RSAのよ
うな暗号化に比べ、計算機の処理精度や処理能力に依存
しない暗号化を実現できる。
【0112】さて、このような多次元空間回転方式を本
発明のデータベースの暗号化に適用する場合には、行鍵
と列鍵を r′=A・R(P,r)r +c …(4) の関数RのPとして利用する。前記式(4)のPは関数
Rに使用される定数の集合である。本発明の場合には、
「apple」,「orange」,「lemon」等
を秘密キーとして用いる。すなわち、前記の説明では、
秘密キーとしてP 1 ,P2と定めているので、例えば
「apple」を秘密キーとする場合には、P1を「a
p」、P2を「ple」とする。なお、これは一例であ
り、鍵の設定の仕方はこれに限らず、いろいろな組み合
わせが考えられる。
【0113】このように、多次元空間回転方式を本発明
のデータベースの暗号化に適用する場合には、行鍵と列
鍵を多次元空間回転方式の所定の関数の定数成分として
用いる。これにより、高精度の演算能力を必要とせず
に、解読困難な暗号結果を得ることができる。
【0114】なお、多次元空間回転方式では、次元数が
大きくなると、回転行列R(関数)の要素も多くなり、
暗号化/復号化時の演算負荷が大きくなる問題がある。
このような問題を解消する方法として、多次元空間回転
方式を用いた暗号化方式における多次元空間回転行列を
次数の少ない疑似空間回転行列に置き換えて計算する方
法がある。
【0115】具体的に説明すると、例えば、6次元空間
における回転行列Rの要素は、式(5)のようになり、
計算量が膨大に増える。
【0116】
【数2】
【0117】そこで、このような回転行列Rを疑似回転
行列Qに置き換えて計算する。疑似回転行列Qは、次数
の少ない空間回転行列の要素を対角に配置し、残りの要
素を0とした擬似的な行列である。例えば、6次元空間
の場合には、式(6)のような疑似回転行列Qを用い
る。
【0118】
【数3】
【0119】なお、式(6)において、A,Bは3次元
回転行列である。
【0120】この疑似回転行列Qと前記回転行列Rの要
素を比較して見ると、Qの要素には0が多く、計算量が
少なくて済む。しかも、暗号化としての機能も十分に果
たす。一般的には、式(7)のように、多次元空間回転
行列Qを設定すれば良い。
【0121】
【数4】
【0122】このように、多次元空間回転方式における
回転行列を次元数の少ない複数の回転行列の要素を対角
に配置し、残りを0要素とした疑似回転行列に置き換え
て計算することで、計算量を大幅に減らして速やかに暗
号化または復号化の処理を実行することができる。
【0123】また、別の方法として、 P=S・Q・ST …(8) として得られるPを新たな疑似空間回転行列として用い
ても良い。
【0124】式(8)において、Qは前記疑似回転行列
である。Sは置換行列であり、式(9)のように、各行
各列に1の要素が1つ含まれた正方行列である。
【0125】
【数5】
【0126】例えば、疑似回転行列Qが前記式(6)で
表現される場合(6次元の場合)には、疑似空間回転行
列Pは、式(10)のように表せる。
【0127】
【数6】
【0128】これは、置換行列Sが式(11)のような
場合である。
【0129】
【数7】
【0130】このように、多次元空間回転方式における
回転行列を次元数の少ない複数の回転行列の要素を対角
に配置し、残りを0要素とした疑似回転行列に置換行列
を組み合わせてできる新たな疑似回転行列に置き換えて
計算すれば、計算の行程が複雑化するため、暗号の解読
をさらに困難なものにできる。
【0131】
【発明の効果】以上詳記したように本発明によれば、デ
ータベースを暗号化する際に、検索に利用される列項目
のデータについては当該列項目に共通の列鍵を用いて暗
号化し、その他の列項目のデータについては各行毎に固
有の行鍵を用いて暗号化するようにしたため、各行毎に
鍵を異ならせることでセキュリティを高めることがで
き、検索時には、検索用として入力されたデータを前記
所定の列項目に共通の列鍵を用いて暗号化し、その暗号
化された検索用データと暗号化データベースとを比較す
ることで高速検索を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るデータベース管
理装置の構成を示す図。
【図2】前記データベース管理装置にて実行されるデー
タベース暗号化処理の動作を示すフローチャート。
【図3】前記データベース管理装置にて実行されるデー
タベース検索処理の動作を示すフローチャート。
【図4】前記図3のステップB13の検索処理の動作を
具体的に示すフローチャート。
【図5】第1の実施形態におけるデータベースの構成を
説明するための図であり、図5(a)は暗号化前の状
態、同図(b)は暗号化後の状態、同図(c)は復号化
後の状態を示す図。
【図6】第1の実施形態における列鍵と行鍵の構成を示
す図。
【図7】本発明の第2の実施形態におけるデータベース
の構成を示す図であり、図7(a)は暗号化前の状態、
同図(b)は暗号化後の状態、同図(c)は復号化後の
状態を示す図。
【図8】第2の実施形態における合成鍵の構成を示す
図。
【図9】本発明の第3の実施形態に係るデータベースシ
ステムの構成を示すブロック図。
【図10】多次元空間回転方式を用いた場合での暗号化
処理と復号化処理の動作を示すフローチャート。
【図11】多次元空間回転方式を用いた場合での暗号化
の演算方法を説明するための図。
【符号の説明】
11…CPU 12…表示装置 13…入力装置 14…プログラム記憶装置 15…鍵記憶装置 16…データ記憶装置 16a…データベース格納エリア 16b…暗号化設定情報格納エリア 16c…検索設定情報格納エリア 16d…比較文字列格納エリア 20…第1の端末装置 21…検索装置 22…データ記憶装置 30…第2の端末装置 31…検索依頼装置 32…復号化装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B017 AA03 BA07 CA16 5B075 KK54 KK63 NK02 NR03 NR20 PP22 QP10 QT06 5B082 GA11 5J104 AA01 AA18 FA00 JA04 NA02 NA27 PA07 PA14

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 データベースの所定の列項目のデータに
    ついて当該列項目に共通の列鍵を用いて暗号化し、その
    他の列項目のデータについては各行毎に固有の行鍵を用
    いて暗号化する暗号化手段と、 この暗号化手段によって暗号化されたデータベースを記
    憶する記憶手段とを具備したことを特徴とするデータベ
    ース管理装置。
  2. 【請求項2】 前記所定の列項目を検索対象とした場合
    に、検索用として入力されたデータを前記所定の列項目
    に共通の列鍵を用いて暗号化し、その暗号化された検索
    用データと前記記憶手段に記憶された暗号化データベー
    スの各項目データとを比較して検索処理を行うデータベ
    ース検索手段を具備したことを特徴とする請求項1記載
    のデータベース管理装置。
  3. 【請求項3】 前記暗号化手段は、データベースの所定
    の列項目のデータを当該列項目に共通の列鍵を用いて暗
    号化し、その他の列項目のデータについては各行毎に固
    有の行鍵と当該列項目に共通の列鍵とを複合的に用いて
    暗号化することを特徴とする請求項1記載のデータベー
    ス管理装置。
  4. 【請求項4】 前記暗号化手段は、所定の関数に基づい
    て多次元空間に逐次ベクトルを発生させ、これらのベク
    トル成分を暗号のキーストリームとした暗号化方式方式
    を用い、前記行鍵および列鍵を前記関数の定数としてデ
    ータベースの暗号化を行うことを特徴とする請求項1記
    載のデータベース管理装置。
  5. 【請求項5】 データベースを有する第1の情報端末
    と、この第1の情報端末にデータベースの検索を依頼す
    る第2の端末とを有し、これらをネットワークを介して
    接続してなるデータベースシステムにおいて、 前記第1の情報端末側で、前記データベースの所定の列
    項目のデータについて当該列項目に共通の列鍵を用いて
    暗号化し、その他の列項目のデータについては各行毎に
    固有の行鍵を用いて暗号化し、 前記第2の情報端末から前記所定の列項目を検索対象と
    してデータベースの検索を依頼する際に、検索用として
    入力されたデータを当該列項目に共通の列鍵を用いて暗
    号化し、その暗号化された検索用データを前記ネットワ
    ークを介して前記第1の情報端末に送り、 前記第1の情報端末側で、前記検索用データに基づいて
    前記暗号化データベースの検索処理を行い、その検索結
    果として得られたデータを暗号化された状態で前記ネッ
    トワークを介して前記第2の情報端末に返信することを
    特徴とするデータベースシステム。
  6. 【請求項6】 所定の列項目のデータが当該列項目に共
    通の列鍵を用いて暗号化されているデータベースを管理
    するデータベース管理装置であって、 所定の列項目を対象にしたデータ検索をする際、検索用
    に入力されたデータを前記列鍵を用いて暗号化する暗号
    化手段と、 この暗号化された検索用データと前記暗号化されている
    データベースの各項目データとを比較して検索処理を行
    う検索手段とを具備したことを特徴とするデータベース
    管理装置。
  7. 【請求項7】 データベースの少なくとも1つの列項目
    データを当該列項目に共通の列鍵を用いて暗号化する暗
    号化装置であって、 暗号化の対象となる原データを取得する原データ取得手
    段と、 少なくとも前記列鍵によってを決定される関数を用い
    て、n(n≧1)次元の空間の閉領域内に定義されたベ
    クトルを逐次的に生成するベクトル生成手段と、 前記原データ取得手段によって得られた原データと前記
    ベクトル生成手段によって生成されたベクトルの成分と
    の論理演算をビット単位で行って暗号データを生成する
    論理演算手段とを具備したことを特徴とする暗号化装
    置。
  8. 【請求項8】 コンピュータに、 データベースの所定の列項目のデータについて当該列項
    目に共通の列鍵を用いて暗号化し、その他の列項目のデ
    ータについては各行毎に固有の行鍵を用いて暗号化する
    暗号化機能と、 この暗号化機能の実行結果として得られた暗号化データ
    ベースに対するデータ検索を行う検索機能とを実行させ
    るためのプログラムを記録したコンピュータ読み取り可
    能な記録媒体。
  9. 【請求項9】 所定の列項目のデータが当該列項目に共
    通の列鍵を用いて暗号化されているデータベースを管理
    するためのコンピュータに、 所定の列項目を対象にしたデータ検索をする際、検索用
    に入力されたデータを前記列鍵を用いて暗号化する暗号
    化機能と、 この暗号化された検索用データと前記暗号化されている
    データベースの各項目データとを比較して検索処理を行
    う検索機能とを実行させるためのプログラムを記録した
    コンピュータ読み取り可能な記録媒体。
JP27920899A 1999-09-30 1999-09-30 データベース管理装置、データベースシステム及び記録媒体 Expired - Fee Related JP3921892B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP27920899A JP3921892B2 (ja) 1999-09-30 1999-09-30 データベース管理装置、データベースシステム及び記録媒体
US09/670,424 US7093137B1 (en) 1999-09-30 2000-09-26 Database management apparatus and encrypting/decrypting system
EP00121136.6A EP1089194B1 (en) 1999-09-30 2000-09-28 Database management apparatus and encrypting/decrypting system
KR10-2000-0057347A KR100401225B1 (ko) 1999-09-30 2000-09-29 데이터베이스관리장치
CNB00134899XA CN1327379C (zh) 1999-09-30 2000-09-30 数据库管理装置和加密/解密***
HK01109010A HK1038806A1 (en) 1999-09-30 2001-12-22 Database management apparatus and encrypting/ decrypting system
KR10-2003-0033587A KR100398319B1 (ko) 1999-09-30 2003-05-27 암호화복호화방식

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27920899A JP3921892B2 (ja) 1999-09-30 1999-09-30 データベース管理装置、データベースシステム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2001101055A true JP2001101055A (ja) 2001-04-13
JP3921892B2 JP3921892B2 (ja) 2007-05-30

Family

ID=17607950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27920899A Expired - Fee Related JP3921892B2 (ja) 1999-09-30 1999-09-30 データベース管理装置、データベースシステム及び記録媒体

Country Status (1)

Country Link
JP (1) JP3921892B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
JP2007500912A (ja) * 2003-06-11 2007-01-18 オラクル・インターナショナル・コーポレイション データベースのカラムを暗号化するための方法および装置
WO2007122726A1 (ja) * 2006-04-21 2007-11-01 Mitsubishi Denki Kabushiki Kaisha 認証サーバ装置及び端末装置及び認証システム及び認証方法
JP2008501175A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プロテクトされた構造化されたデータのクエリ方法及び装置
JP2008517354A (ja) * 2004-05-20 2008-05-22 イングリアン ネットワークス インコーポレーテッド データベーステーブル探索用の暗号化されたデータベースインデックスを構築する方法を導入されたコンピュータ
JP2009099151A (ja) * 2007-10-16 2009-05-07 Penta Security Systems Inc 暗号化されたカラムを含むデータベースにおけるクエリーの暗号化変調による使用者クエリー処理装置及び方法
WO2012043012A1 (ja) * 2010-09-28 2012-04-05 日本電気株式会社 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
WO2012081450A1 (ja) * 2010-12-13 2012-06-21 日本電気株式会社 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム
JP5255154B1 (ja) * 2012-12-26 2013-08-07 株式会社エアー 部分一致検索の可能な暗号システム
JP2017037180A (ja) * 2015-08-10 2017-02-16 Kddi株式会社 匿名化装置、検索装置、方法及びプログラム
CN112235258A (zh) * 2020-09-24 2021-01-15 黄杰 信息传输用的加解密方法、加解密***以及加解密装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4081940B2 (ja) * 1999-10-19 2008-04-30 カシオ計算機株式会社 データベース管理装置及び記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
JPH11109855A (ja) * 1997-10-06 1999-04-23 Casio Comput Co Ltd 暗号化装置及び暗号化方法
JPH11143780A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
JPH11109855A (ja) * 1997-10-06 1999-04-23 Casio Comput Co Ltd 暗号化装置及び暗号化方法
JPH11143780A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
JP2007500912A (ja) * 2003-06-11 2007-01-18 オラクル・インターナショナル・コーポレイション データベースのカラムを暗号化するための方法および装置
JP4685782B2 (ja) * 2003-06-11 2011-05-18 オラクル・インターナショナル・コーポレイション データベースのカラムを暗号化するための方法および装置
JP2008517354A (ja) * 2004-05-20 2008-05-22 イングリアン ネットワークス インコーポレーテッド データベーステーブル探索用の暗号化されたデータベースインデックスを構築する方法を導入されたコンピュータ
JP2008501175A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プロテクトされた構造化されたデータのクエリ方法及び装置
JPWO2007122726A1 (ja) * 2006-04-21 2009-08-27 三菱電機株式会社 認証サーバ装置及び端末装置及び認証システム及び認証方法
JP4616335B2 (ja) * 2006-04-21 2011-01-19 三菱電機株式会社 認証サーバ装置及び端末装置及び認証システム及び認証方法
WO2007122726A1 (ja) * 2006-04-21 2007-11-01 Mitsubishi Denki Kabushiki Kaisha 認証サーバ装置及び端末装置及び認証システム及び認証方法
JP2009099151A (ja) * 2007-10-16 2009-05-07 Penta Security Systems Inc 暗号化されたカラムを含むデータベースにおけるクエリーの暗号化変調による使用者クエリー処理装置及び方法
JP5776696B2 (ja) * 2010-09-28 2015-09-09 日本電気株式会社 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
WO2012043012A1 (ja) * 2010-09-28 2012-04-05 日本電気株式会社 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
US9147079B2 (en) 2010-09-28 2015-09-29 Nec Corporation Encrypted database system, client terminal, encrypted database server, natural joining method, and program
WO2012081450A1 (ja) * 2010-12-13 2012-06-21 日本電気株式会社 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム
US9037846B2 (en) 2010-12-13 2015-05-19 Nec Corporation Encoded database management system, client and server, natural joining method and program
JP5348337B2 (ja) * 2010-12-13 2013-11-20 日本電気株式会社 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム
JP5255154B1 (ja) * 2012-12-26 2013-08-07 株式会社エアー 部分一致検索の可能な暗号システム
JP2017037180A (ja) * 2015-08-10 2017-02-16 Kddi株式会社 匿名化装置、検索装置、方法及びプログラム
CN112235258A (zh) * 2020-09-24 2021-01-15 黄杰 信息传输用的加解密方法、加解密***以及加解密装置

Also Published As

Publication number Publication date
JP3921892B2 (ja) 2007-05-30

Similar Documents

Publication Publication Date Title
KR100398319B1 (ko) 암호화복호화방식
US9275250B2 (en) Searchable encryption processing system
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
US8930691B2 (en) Dynamic symmetric searchable encryption
US8600048B1 (en) Format-translating encryption systems
WO2024077948A1 (zh) 匿踪查询方法、装置和***及存储介质
JP2001101055A (ja) データベース管理装置、データベースシステム、暗号化装置及び記録媒体
Shatilov et al. Solution for secure private data storage in a cloud
CN114398656A (zh) 文件加密、文件解密方法、装置、计算机设备和存储介质
Pathak et al. A secure framework for file encryption using base64 encoding
JPWO2020145340A1 (ja) 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム
Lapworth Parallel encryption of input and output data for HPC applications
CN116521969A (zh) 一种数据检索方法、服务端、***及相关设备
CN114297274A (zh) 大数据抽取方法、装置、计算机设备和存储介质
US11494499B1 (en) Searching encrypted data stores
JP2003296331A (ja) データ検索方法、データ検索システム、検索キーワード生成装置、及びコンピュータプログラム
Salmani et al. Dynamic searchable symmetric encryption with full forward privacy
US11971998B2 (en) Data comparison device, data comparison system, and data comparison method
Rajendran et al. An Efficient Ranked Multi-Keyword Search for Multiple Data Owners Over Encrypted Cloud Data: Survey
KR100924796B1 (ko) 베타 전개를 이용한 순서 보존 수치 데이타 암호화 시스템및 방법
JP2001117805A (ja) データベース管理装置、データベースシステム及び記録媒体
WO2024130721A1 (en) Data storage server and client devices for securely storing and retrieving data
US20240205016A1 (en) Searchable encryption
Boucenna et al. Access Pattern Hiding in Searchable Encryption
US20130036474A1 (en) Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061226

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070212

R150 Certificate of patent or registration of utility model

Ref document number: 3921892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120302

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140302

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees