JPH09179871A - データベースへの安全sqlレベル・アクセスを供給するシステム及び方法 - Google Patents

データベースへの安全sqlレベル・アクセスを供給するシステム及び方法

Info

Publication number
JPH09179871A
JPH09179871A JP8209457A JP20945796A JPH09179871A JP H09179871 A JPH09179871 A JP H09179871A JP 8209457 A JP8209457 A JP 8209457A JP 20945796 A JP20945796 A JP 20945796A JP H09179871 A JPH09179871 A JP H09179871A
Authority
JP
Japan
Prior art keywords
sql
information server
statement
statements
dbms
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.)
Ceased
Application number
JP8209457A
Other languages
English (en)
Inventor
Patrick P Chan
ピー チャン パトリック
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09179871A publication Critical patent/JPH09179871A/ja
Ceased 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 遠隔の信頼できないクライアントによって発
行することができるSQL指令の種類の厳格な制限を行
う。 【解決手段】 データベース・アクセス・プロシージャ
は、DBMSにより合法SQLステートメントとして認
識される所定のフル・セットのSQLステートメントの
所定のサブセットを表している、組込み型の暗号化され
たSQLステートメントを含む。例えば、所定のサブセ
ットのSQLステートメントは、DBMSのデータを読
取るためのSQLステートメントだけを含みうるが、デ
ータを変更しかつDBMSに加えるためのSQLステー
トメントを含まない。受け取ったSQLステートメント
は、デコードされたSQLステートメントが合法SQL
ステートメントであるときにだけDBMSによって実行
される。更に、インターフェイス・プロシージャは、暗
号化されたSQLステートメントを含まない受け取った
SQLステートメントを拒否する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に標準SQLレベ
ル・ステートメントを用いて遠隔クライアント・コンピ
ュータにデータベース・サーバのデータをアクセスさせ
るシステム及び方法に関し、特に、可能なSQLステー
トメントの所定のサブセットだけを用いて、遠隔の、信
頼できない、クライアント・コンピュータにデータベー
ス・サーバのデータをアクセスさせかつ遠隔の、信頼で
きない、クライアント・コンピュータにより全ての他の
SQLステートメントの使用をブロックキングするシス
テム及び方法に関する。
【0002】
【従来の技術】本発明は、次の問題を解決するために設
計されている。データベース及びそのデータベースの使
用を制御するデータベース管理システム(DBMS)を
有すると想定する。更に、遠隔の、信頼できない、クラ
イアントにデータベースをアクセスさせることを欲す
る。問題は、遠隔の、信頼できない、クライアントにあ
るSQLステートメントを使用できるようにさせる間
に、使用できるようにさせたくない他のSQLステート
メントが存在するということである。例えば、信頼でき
ないクライアントにデータベースからデータを読み取ら
せるようにしたいが、信頼できないクライアントがデー
タベースを変更する能力(機能)を持たないということ
も確実にしたい。
【0003】
【発明が解決しようとする課題】更に、遠隔の、信頼で
きないクライアントと、他の、より信頼できるクライア
ントとの間を識別させないで、DBMSに全ての合法S
QL指令を受容させかつそれに応答させることは、本発
明の目的である。明らかに、SQL指令のある一定の種
類は、データベース・テーブル等を区分するための指令
のような、特別のオペレータ特権をまだ必要とする。し
かし、特権を持たないSQL指令に対して、その上にデ
ータベースが存在する情報サーバへの遠隔の信頼できな
いクライアントによって発行することができるSQL指
令の種類の厳格な制限を許容すると同時に、他のクライ
アントに広い範囲のSQL指令を使用させるような機構
を提供することが本発明の目的である。
【0004】
【課題を解決するための手段】本発明の上記目的は、デ
ータベース管理システム(DBMS)及びSQLステー
トメントを受け取りかつ当該SQLステートメントに応
答するポートを含んでいる情報サーバと、情報サーバに
通信経路によって結合され、かつ情報サーバのDBMS
にSQLステートメントを送るデータベース・アクセス
手段を含んでいる、少なくとも一つのクライアント・コ
ンピュータとを備え、データベース・アクセス手段は、
当該データベース・アスセス手段に組み込まれた複数の
暗号化されたSQLステートメントを含み、該組み込ま
れた暗号化されたSQLステートメントは、情報サーバ
のDBMSにより合法SQLステートメントとして認識
される所定のフル・セットのSQLステートメントの所
定のサブセットを表し、情報サーバのDBMSにデータ
ベース・アクセス手段によって送られるSQLステート
メントのそれぞれは、暗号化されたSQLステートメン
トの対応するものを含み、情報サーバは、一つのクライ
アント・コンピュータのデータベース・アクセス手段に
よって送られるSQLステートメントのそれぞれに含ま
れる暗号化されたSQLステートメントをデコーディン
グする手段、及び合法SQLステートメントの暗号化さ
れた表現を含まない受け取ったSQLステートメントを
拒否する手段を含む、受け取ったSQLステートメント
をデコーディングする手段を含む分散型コンピュータ・
システムによって達成される。
【0005】本発明では、情報サーバに通信経路により
結合された、少なくとも一つの他のクライアント・コン
ピュータを更に含み、該他のクライアント・コンピュー
タは、情報サーバのDBMSにSQLステートメントを
送る他のデータベース・アクセス手段を含み、他のデー
タベース・アクセス手段は、情報サーバのDBMSによ
り合法SQLステートメントとして認識される所定のフ
ル・セットのSQLステートメントの第2の所定のサブ
セットを表している、第2の複数の暗号化された組み込
まれたSQLステートメントを含み、情報サーバのDB
MSに他のデータベース・アクセス手段により送られた
SQLステートメントのそれぞれは、第2の複数の暗号
化された組み込まれたSQLステートメントの対応する
ものを含み、第2の所定のサブセットは、データベース
・アクセス手段の暗号化された組み込まれたSQLステ
ートメントの所定のセットとは異なるように構成しても
よい。本発明では、情報サーバに通信経路により結合さ
れた少なくとも一つの信頼できるクライアント・コンピ
ュータを更に含み、信頼できるクライアント・コンピュ
ータは、情報サーバのDBMSにSQLステートメント
を送るための信頼できるデータベース・アクセス手段を
含み、各送られたSQLステートメントは、対応する暗
号化されたSQLステートメント及びアーギュメント・
ストリングを含み、信頼できるデータベース・アクセス
手段は、情報サーバのDBMSにより合法SQLステー
トメントとして認識される所定のフル・セットのSQL
ステートメントに含まれる全てのSQLステートメント
を送る手段を含むように構成してもよい。
【0006】また、本発明の上記目的は、情報サーバ及
び当該情報サーバに通信経路によって結合された複数の
クライアント・コンピュータを有する分散型コンピュー
タ・システムにおいて、情報サーバは、SQLステート
メントを受け取りかつ当該SQLステートメントに応答
するポートを有するデータベース管理システム(DBM
S)を含み、クライアント・コンピュータの少なくとも
あるものによりDBMSへのアクセスを制限する方法で
あって、情報サーバのDBMSに少なくとも一つのクラ
イアント・コンピュータからSQLステートメントを送
り、SQLステートメントは、少なくとも一つのクライ
アント・コンピュータにおけるデータベース・アクセス
・プロシージャを実行することによって生成され、デー
タベース・アクセス・プロシージャは、その中に組み込
まれた複数の暗号化されたSQLステートメントを含
み、組み込まれた暗号化されたSQLステートメント
は、情報サーバのDBMSにより合法SQLステートメ
ントとして認識された所定のフル・セットのSQLステ
ートメントの所定のサブセットを表し、データベース・
アクセス・プロシージャによって生成されたSQLステ
ートメントのそれぞれは、暗号化された組み込まれたS
QLステートメントの対応するものを含み、情報サーバ
において、少なくとも一つのクライアント・コンピュー
タによって送られたSQLステートメントのそれぞれに
含まれる暗号化されたSQLステートメントをデコーデ
ィングし、かつ暗号化されたSQLステートメントを含
まない受け取ったSQLステートメントを拒否すること
を含んでいる、受け取ったSQLステートメントをデコ
ーディングする段階を具備する方法によって達成され
る。
【0007】本発明では、情報サーバのDBMSに少な
くとも一つの他のクライアント・コンピュータからSQ
Lステートメントを送り、他のクライアント・コンピュ
ータによって送られたSQLステートメントは、少なく
とも一つの他のクライアント・コンピュータの他のデー
タベース・アクセス・プロシージャを実行することによ
って生成され、他のデータベース・アクセシ・プロシー
ジャは、その中に組み込まれた第2の複数の暗号化され
たSQLステートメントを含み、第2の複数の暗号化さ
れたSQLステートメントは、情報サーバのDBMSに
より合法SQLステートメントとして認識される所定の
フル・セットのSQLステートメントの第2の所定のサ
ブセットを表し、他のデータベース・アクセスによって
生成されたSQLステートメントのそれぞれは、第2の
複数の暗号化された組み込まれたSQLステートメント
の対応するものを含み、第2の所定のサブセットは、デ
ータベース・アクセス・プロシージャの所定のセットの
暗号化された組み込まれたSQLステートメントとは異
なるように構成してもよい。本発明では、情報サーバの
DBMSに少なくとも一つの信頼できるクライアント・
コンピュータからSQLステートメントを送り、少なく
とも一つの信頼できるクライアント・コンピュータによ
って送られたSQLステートメントは、少なくとも一つ
の信頼できるクライアント・コンピュータの信頼できる
データベース・アクセス・プロシージャを実行すること
によって生成され、信頼できるデータベース・アクセス
・プロシージャによって生成されたSQLステートメン
トは、対応する暗号化されたSQLステートメント及び
アーギュメント・ストリングを含み、信頼されたデータ
ベース・アクセス・プロシージャは、情報サーバのDB
MSにより合法SQLステートメントとして認識される
所定のフル・セットのSQLステートメントに含まれる
全てのSQLステートメントを生成するための命令を含
むように構成してもよい。
【0008】
【作用】概要において、本発明は、情報サーバ及び当該
情報サーバに一つ以上の通信経路によって結合された複
数のクライアント・コンピュータを有している分散型コ
ンピュータ・システムである。情報サーバは、クライア
ント・コンピュータからのSQLステートメントを受け
取りかつそれらに応答するインターフェイス・プロシー
ジャを有するデータベース管理システム(DBMS)を
含む。少なくとも一つのクライアント・コンピュータ
は、情報サーバのDBMSにSQLステートメントを送
るためのデータベース・アクセス・プロシージャを有す
る。データベース・アクセス・プロシージャは、DBM
Sにより合法SQLステートメントとして認識される所
定のフル・セットのSQLステートメントの所定のサブ
セットを表している、組込み型の暗号化されたSQLス
テートメントを含む。例えば、所定のサブセットのSQ
Lステートメントは、DBMSのデータを読取るための
SQLステートメントだけを含みうるが、データを変更
しかつDBMSに加えるためのSQLステートメントを
含まない。DBMSへデータベース・アクセス・プロシ
ージャによって送られたSQLステートメントのそれぞ
れは、暗号化されたSQLステートメントの対応するも
のを含む。
【0009】情報サーバのDBMSは、一つのクライア
ント・コンピュータのデータベース・アクセス・プロシ
ージャによって送られたSQLステートメントに含まれ
た暗号化されたSQLステートメントをデコーディング
するためのデコーディング・プロシージャを含んでい
る、クライアント・コンピュータから受け取った全ての
SQLステートメントを処理するためのインターフェイ
ス・プロシージャを含む。受け取ったSQLステートメ
ントは、デコードされたSQLステートメントが合法S
QLステートメントであるときにだけDBMSによって
実行される。更に、インターフェイス・プロシージャ
は、暗号化されたSQLステートメントを含まない受け
取ったSQLステートメントを拒否する。本発明の更な
る目的及び特徴は、添付した図面を参照して以下の詳細
の説明及び特許請求の範囲から容易に明らかであろう。
【0010】
【実施例】図1を参照すると、多くのクライアント・コ
ンピュータ102及び少なくとも一つの情報サーバ・コ
ンピュータ104を有している分散型コンピュータ・シ
ステム100が示されている。ある例では一組のクライ
アント・コンピュータ102は、ローカル・エリア・ネ
ットワーク・サーバまたは他のゲートウェイ105を通
して間接的に情報サーバ104に接続される。“クライ
アント・コンピュータ”は、“加入者コンピュータ”と
しばしば呼ばれかつこれらの用語が同意語的に用いられ
る。ほとんどのクライアント・コンピュータは、Sun
ワークステーション、IBMコンパチブル・コンピュー
タ及びマッキントッシュ・コンピュータのような、デス
クトップ・コンピュータであるが、実質的にあらゆる型
のコンピュータがクライアント・コンピュータでありう
る。好ましい実施例では、(インターネットを通す接続
を含んでいる)他の型の通信接続を用いることができる
けれども、各クライアント・コンピュータ102は、ロ
ーカルまたはワイド・エリア・ネットワーク119を介
して情報サーバ104に接続される。この文書の目的の
ために、各クライアント・コンピュータは、CPU10
6、ユーザ・インターフェイス107、及び情報サーバ
104からのデータベース情報を検索するために必要な
DBMSアクセス・ソフトウェア109を記憶するため
のメモリ108を含むと想定されている。ある例では、
DBMSアクセス・ソフトウェア109は、多数のクラ
イアント・コンピュータによって共有されるファイル・
サーバに記憶されうる。
【0011】情報サーバ104は、中央処理装置11
0、一次メモリ112(即ち、高速ランダム・アクセス
・メモリ)及び二次メモリ114(一般にディスク記憶
装置)、ユーザ・インターフェイス116、通信ネット
ワーク119を介してクライアント・コンピュータ10
2と通信するための通信インターフェイス118を含
む。本説明の目的のために、情報サーバ104は、クラ
イアント・コンピュータからのSQLステートメントに
応答するための一組のSQLインターフェイス・プロシ
ージャ132、DBMSにおける全てのデータベース・
テーブルの構造を示すカタログ134、一組のデータベ
ース・テーブル136及び一組の対応データベース・イ
ンデックス・ファイル138を含んでいる、通常のデー
タベース管理システム(DBMS)130を含むと想定
される。図2を参照すると、本発明を採り入れている分
散型コンピュータ・システム200において、信頼でき
ないクライアント・コンピュータ102は、DBMSア
クセス・プログラム202の第1の変更されたバージョ
ンを有し、信頼できるクライアント・コンピュータ20
4は、DBMSアクセス・プログラム206の第2の変
更されたバージョンを有する。好ましい実施例における
情報サーバ210は、変更型DBMS230を有する。
特に、変更型DBMS230は、以下に詳述する、SQ
Lステートメント解読プロシージャ240を利用する変
更型SQLインターフェイス232を有する。情報サー
バによって実行されるソフトウェア・プロシージャであ
る、変更型SQLインターフェイス232は、それが、
それを通ってクライアント・コンピュータへの及びそれ
からの通信が送られるポートまたはプロシージャとして
作用するのでしばしば“ポート”または“ポート・プロ
シージャ”と呼ばれる。ある実施例では、ポート・プロ
シージャ232、またはそのプロシージャの部分は、D
BMS230の外部である情報サーバの一部でありう
る。
【0012】図3を参照すると、信頼できない遠隔クラ
イアント・コンピュータによって用いられるべき変更型
DBMSアクセス・プロシージャは、ストリングスのそ
れぞれが秘密暗号キーを用いて生成される、一組の組込
み型一定ストリングス242を含む: encrypted SQL string =Encrypt(SQL satement with pl
aceholders, encryption key) ここで、“プレースホルダーを有するSQLステートメ
ント”は、あらゆるアーギュメントがSQLステートメ
ントで用いられうる、%1,%2,%3,...,のよ
うなプレースホルダー記号を含む。例えば、3つのアー
ギュメントを有しているSQLステートメントは、 keyword1 (keyword2 %1 %2) keyword3 %3 の形を有しうる。ここで、記号%1,%2及び%3は、
3つのアーギュメントに対するプレースホルダーとして
作用する。以下に詳述するように、このSQLステート
メントを用いるときには、クライアント・コンピュータ
は、暗号化されたSQLストリングのプレースホルダー
を置き換えるためにアーギュメント値を指定する。この
文書の目的のために、用語“暗号化する”及び“エンコ
ードする”は、無許可の人物が複製またはリバーズする
ことが非常に困難であるセキュア方式で情報をエンコー
ディングするプロシージャを意味するために同意語的に
用いられる。同様に、用語“解読する”及び“復号す
る”は、符号化された情報を“クリアテキスト(clearte
xt) ”に変換するプロシージャを意味するために同意語
的に用いられる。
【0013】適度にセキュアな暗号プロシージャは、S
QLステートメントを暗号化するために用いることがで
きる。例えば、SQLステートメントは、DES暗号を
用いて、またはRSA暗号を用いて公衆/個人キー・ペ
アの個人キーを用いて暗号化することができる。DES
暗号を用いるときには、変更型DBMSアクセス・プロ
シージャに組み込まれたSQLステートメントを暗号化
するために用いたものと同じキーは、受け取ったSQL
ステートメントを復号する(解読するとも呼ばれる)た
めに情報サーバによって用いられる。RSA暗号を用い
るときには、公衆/個人キー・ペアの個人キーは、変更
型DBMSアクセス・プロシージャに組み込まれたSQ
Lステートメントを暗号化するために用いられ、かつ対
応公衆キーは、受け取ったSQLステートメントを復号
するために情報サーバによって用いられる。
【0014】組込み型一定ストリングス242(即ち、
組込み型SQLステートメント)は、プロシージャ20
2,206のコード全体にわたり分散されるかまたはテ
ーブルに記憶されうる。変更型DBMSアクセス・プロ
シージャ202,206は、SQLステートメントの指
令部分を表している、暗号化されたストリングと、それ
が情報サーバによて処理されるときに暗号化されたスト
リングのプレースホルダー記号を置き換えるために用い
られる、アーギュメント・ストリングとの組合せとして
情報サーバにSQLステートメントを送る: encrypted SQL string, unencrypted argument string 遠隔の、信頼できないクライアント・コンピュータ10
2によって用いられるべき変更型DBMSアクセス・プ
ロシージャ202では、暗号化された形でプロシージャ
202に含まれただけのSQLステートメントは、信頼
できないクライアント・コンピュータによる使用を許可
された所定のサブセットのSQLステートメントであ
る。他方、遠隔の、信頼できるクライアント・コンピュ
ータ204によって用いられるべき変更型DBMSアク
セス・プロシージャ206では、暗号化された形でプロ
シージャ206に含まれたSQLステートメントは、シ
ステム・オペレータ等による使用にのみ予約された“特
権”SQLステートメントを除く、完全な、または画定
されたSQLステートメントのより完全なセットであ
る。
【0015】図4を参照すると、変更型SQLインター
フェイス232及び関連SQLステートメント解読プロ
シージャ240は、次のように稼動する。変更型SQL
インターフェイス232プロシージャが遠隔クライアン
トからSQLステートメントを受け取ると(ステップ2
50)、それは一般に、 SQL statement string, argument string の形であり、ここで“argument string ”は、一つ以上
のアーギュメントを含むことができる。インターフェイ
ス・プロシージャ232は、次いで受け取ったステート
メントを予め処理するためにSQLステートメント解読
プロシージャ240を呼び出す(ステップ252)。S
QLステートメント解読プロシージャは、受け取ったS
QLステートメントの指令部分を解読することを試み
る: X = Decrypt(command portion of received statement,
secret key) そして次に、もしあれば、デコーディング(解読として
も知られる)・ステップ(ステップ252)の結果に、
受け取ったアーギュメント・ストリングをマージする: Y = X with received arguments, if any, replacing a
ny placeholdersin X 次いでインターフェイス・プロシージャは、合成ストリ
ングYが合法SQLステートメントであるかを調べる
(ステップ254)。合成ストリングYが合法SQLス
テートメントでなければ、エラー・メッセージがクライ
アント・コンピュータに戻される(ステップ256)。
インターフェイス・プロシージャのより複雑なバージョ
ンでは、最初に受け取ったSQLステートメントは、検
査され、かつ受け取ったSQLステートメントが暗号化
されていないSQLステートメントであるならば、クラ
イアントに戻されたエラー・メッセージは、クライアン
ト・コンピュータが指定されたDBMSアクセス・プロ
シージャを用いなければならないということを示しう
る。
【0016】合成ストリングYが合法SQLステートメ
ントであるならば(ステップ254)、ストリングYに
よって表されたSQLステートメントが実行されかつそ
の実行の結果がクライアント・コンピュータに戻される
(ステップ258)。図5を参照すると、本発明の代替
実施例では、信頼できるクライアントによって用いられ
る変更型DBMSアクセス・プロシージャ206’は、
情報サーバへ送られるべきSQLステートメントを構築
する主アクセス・プロシージャ270、構築されたSQ
Lステートメントの指令部分を暗号化するSQLステー
トメント暗号化プロシージャ272を含む。主アクセス
・プロシージャ270は、次いで、構築されたSQLス
テートメントがアーギュメントを含むならば、SQLス
テートメントの暗号化された指令部分及び暗号化されな
いアーギュメント・ストリングを含むメッセージを送信
する。信頼できるクライアントに対する変更型DBMS
アクセス・プロシージャ206’のこのバージョンの利
点は、このプロシージャが、プロシージャの一部として
組込み型暗号化ストリングスとして全ての可能なSQL
ステートメントを記憶しなくても、全ての可能なSQL
ステートメントを構築することができることである。信
頼できるクライアントに対する変更型DBMSアクセス
・プロシージャ206’のこのバージョンの欠点は、そ
れが、プロシージャのコピーが、情報サーバのセキュリ
ティを破ることを欲する何者かの所有になったならば、
誤って用いられる可能性がある、暗号化プロシージャを
含むことである。
【0017】本発明は、2〜3の特定な実施例を参照し
て説明されたが、記載は、本発明の説明のためであり、
本発明を限定するものではない。特許請求の範囲によっ
て画定されたような本発明の真の精神及び範疇から逸脱
することなく当業者に種々の変更が生じうる。
【0018】
【発明の効果】本発明の分散型コンピュータ・システム
は、データベース管理システム(DBMS)及びSQL
ステートメントを受け取りかつ当該SQLステートメン
トに応答するポートを含んでいる情報サーバと、情報サ
ーバに通信経路によって結合され、かつ情報サーバのD
BMSにSQLステートメントを送るデータベース・ア
クセス手段を含んでいる、少なくとも一つのクライアン
ト・コンピュータとを備え、データベース・アクセス手
段は、当該データベース・アスセス手段に組み込まれた
複数の暗号化されたSQLステートメントを含み、該組
み込まれた暗号化されたSQLステートメントは、情報
サーバのDBMSにより合法SQLステートメントとし
て認識される所定のフル・セットのSQLステートメン
トの所定のサブセットを表し、情報サーバのDBMSに
データベース・アクセス手段によって送られるSQLス
テートメントのそれぞれは、暗号化されたSQLステー
トメントの対応するものを含み、情報サーバは、一つの
クライアント・コンピュータのデータベース・アクセス
手段によって送られるSQLステートメントのそれぞれ
に含まれる暗号化されたSQLステートメントをデコー
ディングする手段、及び合法SQLステートメントの暗
号化された表現を含まない受け取ったSQLステートメ
ントを拒否する手段を含む、受け取ったSQLステート
メントをデコーディングする手段を含むので、遠隔の、
信頼できないクライアントと、他の、より信頼できるク
ライアントとの間を識別させないで、DBMSに全ての
合法SQL指令を受容させかつそれに応答させることが
でき、かつ特権を持たないSQL指令に対して、その上
にデータベースが存在する情報サーバへの遠隔の信頼で
きないクライアントによって発行することができるSQ
L指令の種類の厳格な制限を許容すると同時に、他のク
ライアントに広い範囲のSQL指令を使用させることが
できる。
【0019】また、本発明の方法は、情報サーバ及び当
該情報サーバに通信経路によって結合された複数のクラ
イアント・コンピュータを有する分散型コンピュータ・
システムにおいて、情報サーバは、SQLステートメン
トを受け取りかつ当該SQLステートメントに応答する
ポートを有するデータベース管理システム(DBMS)
を含み、クライアント・コンピュータの少なくともある
ものによりDBMSへのアクセスを制限する方法であっ
て、情報サーバのDBMSに少なくとも一つのクライア
ント・コンピュータからSQLステートメントを送り、
SQLステートメントは、少なくとも一つのクライアン
ト・コンピュータにおけるデータベース・アクセス・プ
ロシージャを実行することによって生成され、データベ
ース・アクセス・プロシージャは、その中に組み込まれ
た複数の暗号化されたSQLステートメントを含み、組
み込まれた暗号化されたSQLステートメントは、情報
サーバのDBMSにより合法SQLステートメントとし
て認識された所定のフル・セットのSQLステートメン
トの所定のサブセットを表し、データベース・アクセス
・プロシージャによって生成されたSQLステートメン
トのそれぞれは、暗号化された組み込まれたSQLステ
ートメントの対応するものを含み、情報サーバにおい
て、少なくとも一つのクライアント・コンピュータによ
って送られたSQLステートメントのそれぞれに含まれ
る暗号化されたSQLステートメントをデコーディング
し、かつ暗号化されたSQLステートメントを含まない
受け取ったSQLステートメントを拒否することを含ん
でいる、受け取ったSQLステートメントをデコーディ
ングする段階を具備するので、遠隔の、信頼できないク
ライアントと、他の、より信頼できるクライアントとの
間を識別させないで、DBMSに全ての合法SQL指令
を受容させかつそれに応答させることができ、かつ特権
を持たないSQL指令に対して、その上にデータベース
が存在する情報サーバへの遠隔の信頼できないクライア
ントによって発行することができるSQL指令の種類の
厳格な制限を許容すると同時に、他のクライアントに広
い範囲のSQL指令を使用させることができる。
【図面の簡単な説明】
【図1】クライアント・コンピュータ及び情報サーバを
含んでいる分散型コンピュータ・システムのブロック図
である。
【図2】本発明のセキュアSQLステートメント処理プ
ロシージャを採用している分散型コンピュータ・システ
ムのブロック図である。
【図3】本発明によるDBMSアクセス・プロシージャ
のブロック図である。
【図4】本発明の好ましい実施例による情報サーバによ
って用いられるSQLインターフェイス・プロシージャ
のフローチャートである。
【図5】本発明によるDBMSアクセス・プロシージャ
の第2のバージョンのブロック図である。
【符号の説明】
102 信頼できないクライアント・コンピュータ 105 ローカル・エリア・ネットワーク・サーバまた
は他のゲートウェイ 106 CPU 107 ユーザ・インターフェイス 108 メモリ 110 CPU 112 一次メモリ 114 二次メモリ 116 ユーザ・インターフェイス 118 通信インターフェイス 119 ローカルまたはワイド・エリア・ネットワーク 134 カタログ 136 データベース・テーブル 138 対応データベース・インデックス・ファイル 200 分散型コンピュータ・システム 202 DBMSアクセス・プログラム 204 信頼できるクライアント・コンピュータ 206 DBMSアクセス・プログラム 210 情報サーバ 230 変更型DBMS 232 変更型SQLインターフェイス 240 SQLステートメント解読プロシージャ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 データベース管理システム(DBMS)
    及びSQLステートメントを受け取りかつ当該SQLス
    テートメントに応答するポートを含んでいる情報サーバ
    と、 前記情報サーバに通信経路によって結合され、かつ前記
    情報サーバの前記DBMSにSQLステートメントを送
    るデータベース・アクセス手段を含んでいる、少なくと
    も一つのクライアント・コンピュータとを備え、 前記データベース・アクセス手段は、当該データベース
    ・アスセス手段に組み込まれた複数の暗号化されたSQ
    Lステートメントを含み、該組み込まれた暗号化された
    SQLステートメントは、前記情報サーバの前記DBM
    Sにより合法SQLステートメントとして認識される所
    定のフル・セットのSQLステートメントの所定のサブ
    セットを表し、前記情報サーバの前記DBMSに前記デ
    ータベース・アクセス手段によって送られる前記SQL
    ステートメントのそれぞれは、前記暗号化されたSQL
    ステートメントの対応するものを含み、 前記情報サーバは、前記一つのクライアント・コンピュ
    ータの前記データベース・アクセス手段によって送られ
    る前記SQLステートメントのそれぞれに含まれる前記
    暗号化されたSQLステートメントをデコーディングす
    る手段、及び合法SQLステートメントの暗号化された
    表現を含まない受け取ったSQLステートメントを拒否
    する手段を含む、前記受け取ったSQLステートメント
    をデコーディングする手段を含むことを特徴とする分散
    型コンピュータ・システム。
  2. 【請求項2】 前記情報サーバに通信経路により結合さ
    れた、少なくとも一つの他のクライアント・コンピュー
    タを更に含み、該他のクライアント・コンピュータは、
    前記情報サーバの前記DBMSにSQLステートメント
    を送る他のデータベース・アクセス手段を含み、 前記他のデータベース・アクセス手段は、前記情報サー
    バの前記DBMSにより合法SQLステートメントとし
    て認識される前記所定のフル・セットのSQLステート
    メントの第2の所定のサブセットを表している、第2の
    複数の暗号化された組み込まれたSQLステートメント
    を含み、前記情報サーバの前記DBMSに前記他のデー
    タベース・アクセス手段により送られた前記SQLステ
    ートメントのそれぞれは、前記第2の複数の暗号化され
    た組み込まれたSQLステートメントの対応するものを
    含み、前記第2の所定のサブセットは、前記データベー
    ス・アクセス手段の暗号化された組み込まれたSQLス
    テートメントの前記所定のセットとは異なることを特徴
    とする請求項1に記載の分散型コンピュータ・システ
    ム。
  3. 【請求項3】 前記情報サーバに通信経路により結合さ
    れた少なくとも一つの信頼できるクライアント・コンピ
    ュータを更に含み、前記信頼できるクライアント・コン
    ピュータは、前記情報サーバの前記DBMSにSQLス
    テートメントを送るための信頼できるデータベース・ア
    クセス手段を含み、各送られたSQLステートメント
    は、対応する暗号化されたSQLステートメント及びア
    ーギュメント・ストリングを含み、前記信頼できるデー
    タベース・アクセス手段は、前記情報サーバの前記DB
    MSにより合法SQLステートメントとして認識される
    前記所定のフル・セットのSQLステートメントに含ま
    れる全てのSQLステートメントを送る手段を含むこと
    を特徴とする請求項1に記載の分散型コンピュータ・シ
    ステム。
  4. 【請求項4】 情報サーバ及び当該情報サーバに通信経
    路によって結合された複数のクライアント・コンピュー
    タを有する分散型コンピュータ・システムにおいて、前
    記情報サーバは、SQLステートメントを受け取りかつ
    当該SQLステートメントに応答するポートを有するデ
    ータベース管理システム(DBMS)を含み、前記クラ
    イアント・コンピュータの少なくともあるものにより前
    記DBMSへのアクセスを制限する方法であって、 前記情報サーバの前記DBMSに少なくとも一つの前記
    クライアント・コンピュータからSQLステートメント
    を送り、前記SQLステートメントは、前記少なくとも
    一つのクライアント・コンピュータにおけるデータベー
    ス・アクセス・プロシージャを実行することによって生
    成され、前記データベース・アクセス・プロシージャ
    は、その中に組み込まれた複数の暗号化されたSQLス
    テートメントを含み、前記組み込まれた暗号化されたS
    QLステートメントは、前記情報サーバの前記DBMS
    により合法SQLステートメントとして認識された所定
    のフル・セットのSQLステートメントの所定のサブセ
    ットを表し、前記データベース・アクセス・プロシージ
    ャによって生成された前記SQLステートメントのそれ
    ぞれは、前記暗号化された組み込まれたSQLステート
    メントの対応するものを含み、 前記情報サーバにおいて、前記少なくとも一つのクライ
    アント・コンピュータによって送られた前記SQLステ
    ートメントのそれぞれに含まれる前記暗号化されたSQ
    Lステートメントをデコーディングし、かつ暗号化され
    たSQLステートメントを含まない受け取ったSQLス
    テートメントを拒否することを含んでいる、前記受け取
    ったSQLステートメントをデコーディングする段階を
    具備することを特徴とする方法。
  5. 【請求項5】 前記情報サーバの前記DBMSに少なく
    とも一つの他のクライアント・コンピュータからSQL
    ステートメントを送り、前記他のクライアント・コンピ
    ュータによって送られたSQLステートメントは、前記
    少なくとも一つの他のクライアント・コンピュータの他
    のデータベース・アクセス・プロシージャを実行するこ
    とによって生成され、前記他のデータベース・アクセシ
    ・プロシージャは、その中に組み込まれた第2の複数の
    暗号化されたSQLステートメントを含み、前記第2の
    複数の暗号化されたSQLステートメントは、前記情報
    サーバの前記DBMSにより合法SQLステートメント
    として認識される前記所定のフル・セットのSQLステ
    ートメントの第2の所定のサブセットを表し、前記他の
    データベース・アクセスによって生成された前記SQL
    ステートメントのそれぞれは、前記第2の複数の暗号化
    された組み込まれたSQLステートメントの対応するも
    のを含み、前記第2の所定のサブセットは、前記データ
    ベース・アクセス・プロシージャの前記所定のセットの
    暗号化された組み込まれたSQLステートメントとは異
    なることを特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記情報サーバの前記DBMSに少なく
    とも一つの信頼できるクライアント・コンピュータから
    SQLステートメントを送り、前記少なくとも一つの信
    頼できるクライアント・コンピュータによって送られた
    SQLステートメントは、前記少なくとも一つの信頼で
    きるクライアント・コンピュータの信頼できるデータベ
    ース・アクセス・プロシージャを実行することによって
    生成され、前記信頼できるデータベース・アクセス・プ
    ロシージャによって生成された前記SQLステートメン
    トは、対応する暗号化されたSQLステートメント及び
    アーギュメント・ストリングを含み、前記信頼されたデ
    ータベース・アクセス・プロシージャは、前記情報サー
    バの前記DBMSにより合法SQLステートメントとし
    て認識される前記所定のフル・セットのSQLステート
    メントに含まれる全てのSQLステートメントを生成す
    るための命令を含むことを特徴とする請求項4に記載の
    方法。
JP8209457A 1995-09-27 1996-08-08 データベースへの安全sqlレベル・アクセスを供給するシステム及び方法 Ceased JPH09179871A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/534576 1995-09-27
US08/534,576 US5713018A (en) 1995-09-27 1995-09-27 System and method for providing safe SQL-level access to a database

Publications (1)

Publication Number Publication Date
JPH09179871A true JPH09179871A (ja) 1997-07-11

Family

ID=24130649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8209457A Ceased JPH09179871A (ja) 1995-09-27 1996-08-08 データベースへの安全sqlレベル・アクセスを供給するシステム及び方法

Country Status (3)

Country Link
US (1) US5713018A (ja)
EP (1) EP0766184A3 (ja)
JP (1) JPH09179871A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012093954A (ja) * 2010-10-27 2012-05-17 Ntt Data Corp データベース処理装置、データベース処理方法、およびプログラム
KR101440751B1 (ko) * 2014-02-13 2014-09-17 그루솔루션(주) Db 네트워크 프로토콜의 dml 암복호화 처리를 통한 db 암호화 장치 및 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321234B1 (en) * 1996-09-18 2001-11-20 Sybase, Inc. Database server system with improved methods for logging transactions
US5987452A (en) * 1997-01-22 1999-11-16 At&T Corp Query translation system
US6243703B1 (en) 1997-10-14 2001-06-05 International Business Machines Corporation Method of accessing and displaying subsystem parameters including graphical plan table data
US6618718B1 (en) 1997-10-14 2003-09-09 International Business Machines Corporation Apparatus and method for dynamically generating query explain data
US6170014B1 (en) * 1998-03-25 2001-01-02 Community Learning And Information Network Computer architecture for managing courseware in a shared use operating environment
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6336114B1 (en) 1998-09-03 2002-01-01 Westcorp Software Systems, Inc. System and method for restricting access to a data table within a database
US6275939B1 (en) 1998-06-25 2001-08-14 Westcorp Software Systems, Inc. System and method for securely accessing a database from a remote location
US6385730B2 (en) 1998-09-03 2002-05-07 Fiware, Inc. System and method for restricting unauthorized access to a database
US6296071B1 (en) 1998-06-30 2001-10-02 Harley-Davidson Motor Company Group, Inc. Motorcycle rocker assembly
JP3788111B2 (ja) * 1999-06-30 2006-06-21 株式会社デンソー 情報サービスシステム
US7152165B1 (en) * 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
WO2001006374A2 (en) 1999-07-16 2001-01-25 Intertrust Technologies Corp. System and method for securing an untrusted storage
US6768985B1 (en) * 1999-08-30 2004-07-27 Unisys Corporation Method and apparatus for administration of database partitions
US6944762B1 (en) 1999-09-03 2005-09-13 Harbor Payments Corporation System and method for encrypting data messages
US6732089B1 (en) 2000-05-09 2004-05-04 International Business Machines Corporation SQL access to system specific data
US6895502B1 (en) 2000-06-08 2005-05-17 Curriculum Corporation Method and system for securely displaying and confirming request to perform operation on host computer
US6883098B1 (en) 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
US20020146129A1 (en) * 2000-11-09 2002-10-10 Kaplan Ari D. Method and system for secure wireless database management
JP2002169808A (ja) 2000-11-30 2002-06-14 Hitachi Ltd セキュアマルチデータベースシステム
US7353387B2 (en) * 2001-03-08 2008-04-01 International Business Machines Corporation Method and system for integrating encryption functionality into a database system
FR2828607B1 (fr) * 2001-08-07 2004-01-30 Centre Nat Rech Scient Procede de securisation de bases de donnees
CA2365731C (en) * 2001-12-20 2008-09-23 Ibm Canada Limited-Ibm Canada Limitee Support for concurrent active sql statements having shared sql context information
US20040117264A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corporation System and method providing a performance-prediction service with query-program execution
GB2397402A (en) * 2003-01-20 2004-07-21 Mitel Networks Corp Internet proxy that supports location-based services
US7500111B2 (en) * 2003-05-30 2009-03-03 International Business Machines Corporation Querying encrypted data in a relational database system
US7685437B2 (en) * 2003-05-30 2010-03-23 International Business Machines Corporation Query optimization in encrypted database systems
US6883505B1 (en) 2004-04-02 2005-04-26 Midwest Motorcycle Supply Rocker box assembly with reed valve
US7631198B2 (en) * 2005-05-10 2009-12-08 Seagate Technology Protocol scripting language for safe execution in embedded system
US7962513B1 (en) 2005-10-31 2011-06-14 Crossroads Systems, Inc. System and method for defining and implementing policies in a database system
US7831621B1 (en) 2007-09-27 2010-11-09 Crossroads Systems, Inc. System and method for summarizing and reporting impact of database statements
US20090182707A1 (en) * 2008-01-10 2009-07-16 Dbix Corporation Database changeset management system and method
US20100030737A1 (en) * 2008-07-29 2010-02-04 Volker Gunnar Scheuber-Heinz Identity enabled data level access control
CN104036041B (zh) * 2014-06-30 2018-09-04 小米科技有限责任公司 搜索方法及装置
CN108319862B (zh) * 2017-01-16 2022-05-17 阿里云计算有限公司 一种数据文件处理的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5388196A (en) * 1990-09-07 1995-02-07 Xerox Corporation Hierarchical shared books with database
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5369702A (en) * 1993-10-18 1994-11-29 Tecsec Incorporated Distributed cryptographic object method
US5481715A (en) * 1993-12-15 1996-01-02 Sun Microsystems, Inc. Method and apparatus for delegated communications in a computer system using trusted deputies
US5410693A (en) * 1994-01-26 1995-04-25 Wall Data Incorporated Method and apparatus for accessing a database
US5600831A (en) * 1994-02-28 1997-02-04 Lucent Technologies Inc. Apparatus and methods for retrieving information by modifying query plan based on description of information sources
US5546583A (en) * 1994-04-05 1996-08-13 International Business Machines Corporation Method and system for providing a client/server interface in a programming language
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5596745A (en) * 1994-05-16 1997-01-21 International Business Machines Corporation System and procedure for concurrent database access by multiple user applications through shared connection processes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012093954A (ja) * 2010-10-27 2012-05-17 Ntt Data Corp データベース処理装置、データベース処理方法、およびプログラム
KR101440751B1 (ko) * 2014-02-13 2014-09-17 그루솔루션(주) Db 네트워크 프로토콜의 dml 암복호화 처리를 통한 db 암호화 장치 및 방법

Also Published As

Publication number Publication date
US5713018A (en) 1998-01-27
EP0766184A2 (en) 1997-04-02
EP0766184A3 (en) 1998-07-08

Similar Documents

Publication Publication Date Title
JPH09179871A (ja) データベースへの安全sqlレベル・アクセスを供給するシステム及び方法
US9003177B2 (en) Data security for digital data storage
US7587608B2 (en) Method and apparatus for storing data on the application layer in mobile devices
US6005939A (en) Method and apparatus for storing an internet user's identity and access rights to world wide web resources
US4941176A (en) Secure management of keys using control vectors
US6185308B1 (en) Key recovery system
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
US7171557B2 (en) System for optimized key management with file groups
US7200747B2 (en) System for ensuring data privacy and user differentiation in a distributed file system
US8627489B2 (en) Distributed document version control
US7095859B2 (en) Managing private keys in a free seating environment
US20090240956A1 (en) Transparent encryption using secure encryption device
US6981156B1 (en) Method, server system and device for making safe a communication network
RU2273959C2 (ru) Устройство и способ управления передачей ключей расшифровки
JPH1185622A (ja) コア・データ機密事項の保護記憶
JP2005141746A (ja) 文書制御システムにおけるオフラインアクセス
JPS63205687A (ja) 開放キーの取扱いによって暗号装置のネットワークにおける秘密素子を保護する方法および装置
JPH0936851A (ja) スマート・カードからのプライベート鍵操作をホスト・ベースの暗号サービスと透過的に統合するシステム及び方法
JPH09179768A (ja) ファイル暗号化システム及びファイル復号化システム
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
CN112307515A (zh) 基于数据库的数据处理方法、装置、电子设备和介质
KR100803357B1 (ko) 데이터베이스 보안 장치 및 방법
CN114238925A (zh) 基于jwt令牌的不互信异构系统聚合鉴权认证方法
EP0356065B1 (en) Secure management of keys using control vectors
WO2023069444A1 (en) Personal data protection

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070423

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20070820