(57)【特許請求の範囲】
【請求項１】
データシステムを利用した保護するデータの処理方法であって、
前記データを暗号化して暗号化したデータ要素値（ＤＶ）を有する複数のレコード（Ｐ）を作成し、前記データ要素値（ＤＶ）を有する前記レコード（Ｐ）を第１データベース（Ｏ−ＤＢ）内に記憶させる前記データシステムが行うプログラム処理による第１記憶処置であって、前記第１データベース（Ｏ−ＤＢ）は複数の列と複数の行を有するテーブル構造を有し、前記それぞれの行は前記レコード（Ｐ）に対応し、任意の前記列と任意の前記行との各組合せが前記データ要素値（ＤＶ）に対応し、前記第１データベース（Ｏ−ＤＢ）内において前記各データ要素値（ＤＶ）はデータ要素タイプ（ＤＴ）と関係付けられる第１記憶処置と、
第２データベース（ＩＡＭ−ＤＢ）内にデータ要素保護カタログ（ＤＰＣ）を記憶させる前記データシステムが行うプログラム処理による第２記憶処置であって、前記データ要素保護カタログ（ＤＰＣ）はそれぞれの前記複数のデータ要素タイプと前記データ要素タイプと関係付けられた複数の保護属性を含み、前記保護属性は前記データ要素値に対するプログラム処理の規則が定義され、任意の利用者が前記データ要素値を選択したとき、前記規則は前記データ要素値が利用できる方法を制限し、前記利用はたとえば前記データの読み取り、プリント、変更、コード化、移動、コピーの一つだけまたはいくつかに制限される第２記憶処置と、
前記データシステムが行うプログラム処理によるコントロール情報を作成する作成処置であって、前記コントロール情報は、前記任意の利用者が選択した前記データ要素値（ＤＶ）に対するプログラム処理に対して、前記データ要素値を処理する前記任意の利用者が起動した方法を確認する処置と、前記第１のデータベース内の前記データ要素値と関連付けられたデータ要素タイプを確認する処置と、前記第２のデータベース内の前記データ要素カタログから前記データ要素タイプと関連付けられた１または複数の保護属性を読み出す処置と、によって作成される作成処置と、
前記作成処置で作成されたコントロール情報から前記１または複数の保護属性を前記データシステムが行うプログラム処理により読み取り、前記１または複数の保護属性に記述された前記データ要素値（ＤＶ）に対するプログラム処理の規則に従って、前記利用者が選択した前記データ要素値（ＤＶ）のプログラム処理を制御する前記データシステムが行うプログラム処理による制御処置と、
を有することを特徴とするデータ処理方法。
【請求項２】
前記データシステムが行うプログラム処理により、データ要素保護カタログ（ＤＣ）の１又は複数の保護属性を暗号化された形式で前記第２データベース（ＩＡＭ−ＤＢ）に記憶し、データ要素保護カタログ（ＤＣ）から１又は複数の保護属性を収集する時にその復号化を行う処置をさらに有する、請求項１に記載の方法。
【請求項３】
前記第１データベース（Ｏ−ＤＢ）の各レコード（Ｐ）はレコード識別子を持ち、当該方法は、前記データシステムが行うプログラム処理により、前記レコード識別子を暗号化された形式（ＳＩＤ）で前記第１データベース（Ｏ−ＤＢ）に記憶する処置をさらに有する、上記請求項のいずれか一に記載の方法。
【請求項４】
前記データシステムが行うプログラム処理による前記第１データベース（Ｏ−ＤＢ）内のデータの暗号化および／または前記第２データベース（ＩＡＭ−ＤＢ）内のデータの暗号化は、
ステップ１として、原アイデンティティ（ＯＩＤ）を第１の、好ましくは不可逆のアルゴリズム（ＡＬＧ１）によって暗号化して更新アイデンティティ（ＵＩＤ）とし、
ステップ２として、更新アイデンティティ（ＵＩＤ）を第２の可逆アルゴリズム（ＡＬＧ２）によって暗号化して記憶アイデンティティ（ＳＩＤ）とし、
ステップ３として、レコード識別子として働く記憶アイデンティティ（ＳＩＤ）と記述情報（ＤＩ）を前記第１データベース（Ｏ−ＤＢ）にレコード（Ｐ）として記憶し、
ステップ４として、あらかじめ決められた時間に、全部または選択されたレコード（Ｐ）の記憶アイデンティティ（ＳＩＤ）を復号化アルゴリズム（ＡＬＧ３）によって更新アイデンティティ（ＵＩＤ）へと復号化することによって、これらレコードの記憶アイデンティティ（ＳＩＤ）を変更し、その後、更新アイデンティティ（ＵＩＤ）を修正された第２の可逆アルゴリズム（ＡＬＧ２’）によって新しい記憶アイデンティティ（ＳＩＤ’）へと暗号化し、これを前のＳＩＤの代わりとして関連するレコードＰに新しいレコード識別子として導入する。これにより、セキュリティを強化する、レコードのＳＩＤの「フローティング（ｆｌｏａｔｉｎｇ）」変更が生じるような、
フローティング記憶アイデンティティを用いて、ステップ１〜４によるＰＴＹ原理に従って実行される、上記請求項のいずれか一に記載の方法。
【請求項５】
データ要素タイプの１又は複数の保護属性は、前記データシステムが行うプログラム処理による前記第１データベース（Ｏ−ＤＢ）内の対応するデータ要素値を暗号化するための規則を記述する属性からなる、上記請求項のいずれか一に記載の方法。
【請求項６】
データ要素タイプの１又は複数の保護属性は、前記データシステムが行うプログラム処理による前記第１データベース（Ｏ−ＤＢ）内の対応するデータ要素値を管理するために１若しくは複数のプログラムまたはプログラムバージョンの使用が許可されるための規則を記述する属性からなる、上記請求項のいずれか一に記載の方法。
【請求項７】
データ要素タイプの１又は複数の保護属性は、前記データシステムが行うプログラム処理による前記第１データベース（Ｏ−ＤＢ）内の対応するデータ要素値をログするための規則を記述する属性からなる、上記請求項のいずれか一に記載の方法。
【請求項８】
データシステムを利用した保護するデータの処理装置であって、
前記データを暗号化してデータ要素値（ＤＶ）とし、前記データ要素値（ＤＶ）を第１データベース（Ｏ−ＤＢ）内の複数のレコード（Ｐ）に記憶させる前記データシステムが行うプログラム処理による第１記憶手段であって、前記第１データベース（Ｏ−ＤＢ）は複数の列と複数の行を有するテーブル構造を有し、前記それぞれの行はレコード（Ｐ）に対応し、任意の前記列と任意の前記行との各組合せが前記データ要素値（ＤＶ）に対応し、前記第１データベース（Ｏ−ＤＢ）内において前記各データ要素値（ＤＶ）はデータ要素タイプ（ＤＴ）と関係付けられる第１記憶手段と、
第２データベース（ＩＡＭ−ＤＢ）内にデータ要素保護カタログ（ＤＰＣ）を記憶させる前記データシステムが行うプログラム処理による第２記憶手段であって、前記データ要素保護カタログ（ＤＰＣ）はそれぞれの前記複数のデータ要素タイプと前記データ要素タイプと関係付けられた複数の保護属性を含み、前記保護属性は前記データ要素値に対するプログラム処理の規則が定義され、任意の利用者が前記データ要素値を選択したとき、前記規則は前記データ要素値が利用できる方法を制限し、前記利用はたとえば前記データの読み取り、プリント、変更、コード化、移動、コピーの一つだけまたはいくつかに制限される第２記憶手段と、
前記データシステムが行うプログラム処理によるコントロール情報を作成する作成手段であって、前記コントロール情報は、前記任意の利用者が選択した前記データ要素値（ＤＶ）に対するプログラム処理に対して、前記データ要素値を処理する前記任意の利用者が起動した方法を確認する手段と、前記第１のデータベース内の前記データ要素値と関連付けられたデータ要素タイプを確認する手段と、前記第２のデータベース内の前記データ要素カタログから前記データ要素タイプと関連付けられた１または複数の保護属性を読み出す手段と、によって作成される作成手段と、
前記作成手段で作成されたコントロール情報から前記１または複数の保護属性を前記データシステムが行うプログラム処理により読み取り、前記１または複数の保護属性に記述された前記データ要素値（ＤＶ）に対するプログラム処理の規則に従って、前記利用者が選択した前記データ要素値（ＤＶ）のプログラム処理を制御する前記データシステムが行うプログラム処理による制御手段と、
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
技術分野
本発明は、コンピュータ支援情報管理の技術分野に関し、さらに詳しくは、無権限のデータ処理に対する保護の強化を達成するクレーム１およびクレーム８の前文にそれぞれ記載されたデータ処理の方法および装置に関する。
背景技術
コンピュータ支援情報管理の分野では、データレジスタへの無断アクセスに対する、特に、個人レジスタ、つまり個人情報を含むレジスタを設定したり保持する場合の各個人の完全性（integrity）の侵害に対する保護の強化が強く要求される。特に、個人レジスタのリンク付けやマッチングを制限したり禁止する規定が存在する。製造業、防衛産業、銀行業、保険業などの他の分野でも、機密情報の管理や記憶に用いられるツール、データベース、アプリケーションなどへの無断アクセスに対する保護の向上が望まれている。
本出願と同じ所有者を持つＷＯ９５／１５６２８には、完全性低下の危険なしにリンク付けやマッチングの可能性を増大させるデータ記憶方法が開示されている。この方法は、添付した図面の図１および図２に概略的に示されており、一方で識別用情報部分または原アイデンティティ（original identity）ＯＩＤ、例えば個人コード番号Ｐｃｎと、他方で記述情報（descriptive information）ＤＩとからなる情報を記憶することに関する。情報ＯＩＤ＋ＤＩは、以下の原理に従ってデータベースＯ−ＤＢにレコードＰとして記憶される。
ステップ１  ＯＩＤ（Ｐｃｎ）を第１の、好ましくは不可逆のアルゴリズムＡＬＧ１によって暗号化して更新アイデンティティ（update identity）ＵＩＤとする。
ステップ２  ＵＩＤを第２の可逆アルゴリズムＡＬＧ２によって暗号化して記憶アイデンティティ（storage identity）ＳＩＤとする。
ステップ３  ＳＩＤとＤＩをデータベースＯ−ＤＢにレコードＰとして記憶する。ＳＩＤはレコード識別子として働く。
ステップ４  あらかじめ決められた時間に、全部または選択されたレコードＰのＳＩＤを復号化アルゴリズムＡＬＧ３によってＵＩＤへと復号化することによって、これらレコードのＳＩＤを変更する。その後、ＵＩＤを修正された第２の可逆アルゴリズムまたはＡＬＧ２′によって新しい記憶アイデンティティＳＩＤ′へと暗号化し、これを前のＳＩＤの代わりとして関連するレコードＰに新しいレコード識別子として導入する。これにより、セキュリティを強化する、レコードのＳＩＤの「フローティング（floating）」変更が生じる。
この暗号化記憶方法の詳細および効果のより詳しい説明については、ＷＯ９５／１５６２８に言及されており、本明細書の一部を構成するように考慮されている。以下、上記のステップ１〜４による記憶原理をＰＴＹと呼ぶ。これは、「保護（Protection）と完全性（Integrity）」を表わす概念ＰＲＯＴＥＧＲＩＴＹの略語である。
また、ＰＴＹの詳細な技術説明は、Leif Jonsonによる文書「PROTEGRITY（ASIS）Study 2」，Ver.1.2，1996年３月１日の中でも与えられている。この文書もまた本明細書の一部を構成するように考慮されている。
しかしながら、問題の技術分野では、今日、いわゆるシェル保護（shell protection）が主な保護方法である。シェル保護は、一方で外部セキュリティ（構内）と、他方でアクセスを制御するユーザパスワードを備える許可チェックシステム（authorisation check system）ＡＣＳとからなっている。ＡＣＳは、メインフレーム、クライアント／サーバシステムおよびＰＣのためのシェル保護として利用されるが、十分な保護を与えるものではなく、問題の情報がしばしば比較的容易に無断アクセスされることがある。この保護は、「機密（sensitive）」情報の記憶量がますます増大し、これにより分散による管理、動的に変化する環境での記憶と処理、特にパソコンへの局所分散を許さなければならないことから、ますます不満足なものであることがわかってきた。この展開と同時に、当該システムの範囲はますます不明瞭になり、シェル保護によって与えられる効果は低下する。
発明の概要
上述したことを考慮して、本発明の目的は、機密情報への無断アクセスに対する保護を強化することができる、改良された情報処理方法を提供することである。
本発明の特別の目的は、保護する記憶情報を利用者が処理する可能性をシステムの責任者、組織の管理者などが容易に設立したり連続的に適応したりすることを可能にする、データ処理または管理技術を提供することである。
本発明の他の目的は、非容認ソフトウェアによる無権限のデータ処理の試みに対する保護を提供するデータ処理技術を提供することである。
本発明のもう一つの目的は、安全システムにかなり高レベルの保護を付与するため、上記のＰＴＹ原理と組み合わせて用いることができる、上記の諸目的によるデータ処理技術を提供することである。
本発明のこれらおよび他の目的は、クレーム１に記載の方法およびクレーム８に記載の装置によって達成され、本発明の好適な実施例は、従属クレームに記載されている。
したがって、本発明は、保護するデータを第１データベース（Ｏ−ＤＢ）のレコードの暗号化されたデータ要素値として記憶する処置を有し、各データ要素値が対応するデータ要素タイプとリンクされている、前記データの処理方法を提供する。
本発明方法の特徴は、以下のさらなる処置、すなわち、
第２データベース（ＩＡＭ−ＤＢ）に、各個人データ要素タイプに対してデータ要素値の処理規則を記述する１以上の保護属性を含むデータ要素保護カタログを記憶し、
第１データベース内の指定されたデータ要素値を処理しようとするそれぞれの利用者開始処置において、まず、対応するデータ要素タイプと関連付けられた１又は複数の保護属性を収集するためのデータ要素保護カタログの強制呼出しを生成し、そして、収集された１又は複数の保護属性に従って前記指定されたデータ要素値の処理を強制的に制御することにある。
本出願では、以下の定義を使用する。
・「処理（processing）」は、本発明方法によって保護するデータを読み取り、プリントし、変更し、コード化し、移動し、コピーするなどの任意の形態を意味するすべての種類の処置を含むことができる。
・「データ要素タイプ（data element type）」は、同意されているような意味を持つ特定のデータタイプに関する。
・「データ要素値（data element value）」は、指定されたレコードにおいてデータ要素タイプを特定する値に関する。
・「レコード（record）」は、一緒に属し、かつ、それぞれのデータ要素タイプとリンクされ、選択的には、レコードを識別することができるレコード識別子をも含んでいる、いくつかのデータ要素値に関する。例：
0004167300.tif 000002
・「処理の規則を示す保護属性（protection attribute indicating rules of processing）」は、
−  データ要素保護カタログに記憶され、対応するデータ要素の処理に適用される１又は複数の規則についての完全な情報を提供するデータ、および／または
−  データ要素保護カタログに記憶され、選択的には保護属性と組み合わされて、関係する処理規則を記述するどこか他の場所に記憶されている情報の追加的な呼出しを要求するデータ、
に関することができる。
・「保護属性の収集（collection of protection attributes）」は、
−  データ要素保護カタログに記憶されているような形式の保護属性の収集、および／または
−  保護属性から、例えばその復号化によって再生されるデータの収集、
に関することができる。
・「暗号化（encryption）」は、暗号化、トリクリプション（tricryption）、平文データの非解釈可能（暗号化された）データへのコーディングの変換の任意の形態に関することができ、特に、ハッシング（hashing）を含む変換方法にも関する。
本発明方法は、従来技術のシェル保護と本質的に異なりセルまたはデータ要素レベルで働く新タイプの保護を提供する。よって、第１データベースのレコードに用いられる各データ要素タイプは、別々のデータ要素保護カタログに記憶されている１以上の保護属性と関連付けられ、この保護属性には、対応するデータ要素値を処理する方法についての規則が記述されている。特に注意すべきは、データ要素保護カタログの呼出しが強制的であるということである。これは、本発明に係る方法が実施されるシステムでは、利用者、例えば第１データベース内の指定されたレコードの中のあるデータ要素値を該データ要素値へのアクセスを試みることによって読み取りたい利用者が、対応するデータ要素タイプと関連付けられた保護属性を収集するために第２データベース内のデータ要素保護カタログのシステム呼出しを自動的かつ強制的に生成するということを示すようなものであることを意味している。また、本システムの継続処理手順（データ要素値の読取り）も、対応するデータ要素タイプに適用される収集された１又は複数の保護属性に従って強制的に制御される。
本発明に係る「データ要素保護カタログ（data element protection catalogue）」という用語とその使用は、「アクティブ辞書（active dictionary）」という周知の用語と混同してはならない。後者は、オペレーティブデータベース（operative database）に加えてそのオペレーティブデータベース内のデータ要素値に対する種々の定義または選択を表わす特別のテーブルが存在すること、例えば、定義に関して「イエロー」というデータ要素値がそのような参照テーブルに記述された数値間隔の範囲内の色コードを示すことを意味している。
好ましくは、保護属性によって記述された処理規則は利用者には非アクセス可能であり、読み取られまたは収集された保護属性は好ましくは処理を制御するシステムによって単に内部的にのみ利用される。したがって、所定の利用者、例えば、ある個人に関するデータベースに記憶されている情報を読み取りたい利用者は、その個人を例えばディスプレイ上で手に入る情報から除外するために、ある保護属性が起動されて一定の機密情報を生じているという事実に気づく必要は全くない。したがって、データ要素値を処理しようとするそれぞれの利用者開始処置には、一方でデータ要素保護カタログの強制的な呼出しが必要であり、他方で保護属性によって記述された処理規則に強制的に従わされる継続処理が必要であり、これは、どんな規則によって問題の処理を制御するかについての情報を利用者が取得しなくても、とりわけ規則にアクセスできる可能性が利用者に全く存在しなくても、達成することができる。
データ要素保護カタログの保護属性を変更し、追加し、削除することによって、本システムの責任者または同等の地位にある者は、各個人データ要素タイプに対して、個人データ要素タイプと関連付けられたデータ要素値に適用される処理規則を容易に決定することができ、したがって本システムの高度でクリアな安全品質を容易に維持することができる。
したがって、本発明によれば、システムに対して責任を負う組織、オペレータなどが情報の管理に関して品質や責任、安全のレベルを決定する方法の制御単位となるのは、個人データ要素（データ要素タイプ）であってレジスタ全体ではない。
高レベルの保護を得るため、好ましくはデータ要素保護カタログはこれへの無断アクセスを防ぐために暗号化されている。
好適な保護属性として、本発明は以下の可能性を提供するが、しかしこれは不完全な例示リストと考えるべきである。
１．  対応するデータ要素値をデータベースに記憶するためにどの「強さ（strength）」または「レベル（level）」（例えば、０，１，２，…）の暗号化を用いるかのステートメント。したがって、同一レコード内の異なるデータ要素値を相互に異なる強さで暗号化することができる。
２．  対応するデータ要素値をネットワーク上に送信する場合にこれら対応するデータ要素値のためにどの「強さ」または「レベル」（例えば、０，１，２，…）の暗号化を用いるかのステートメント。
３．  対応するデータ要素値を処理するために使用することが許可されているプログラムおよび／またはプログラムのバージョンについてのステートメント。
４．  データ要素タイプの「所有者（owner）」についてのステートメント。したがって、同一レコード内の異なるデータ要素値は異なる所有者を持つことができる。
５．  対応するデータ要素値の選出（sorting-out）規則についてのステートメント、例えば、対応するデータ要素値をデータベースから自動的に削除するための方法と時間についてのステートメント。
６．  対応するデータ要素値を処理する際に自動的にロギング（logging）を行うかのステートメント。
本発明の特に好適な実施例によれば、上記のＰＴＹ記憶方法を用いて、データベース（つまり、データ要素値）とデータ要素保護カタログ（つまり、保護属性）の両方で暗号化しようとするすべてのデータを暗号化する。各レコードがレコード識別子（上記ＳＩＤに対応する）を持つ通常の場合、好ましくはそのレコード識別子もＰＴＹによって保護されている。すなわち、オペレーティブデータベースとデータ要素保護カタログの両方におけるレコード識別子のフローティング変更を、上記のＰＴＹ原理に従って、所望の間隔でかつランダムに選択された時間に行うことができる。好適な実施例では、特にＰＴＹ暗号化に使用されるカプセル封じプロセッサ（encapsulated processor）を利用して、データ要素保護カタログの呼出しと収集された保護属性による処理の手順とを実行することもできる。
以下、例示のデータシステムで実施される本発明原理を概略的に示す添付の図面を参照して、本発明をより詳細に説明する。
【図面の簡単な説明】
図１（従来技術）は、ＷＯ９５／１５６２８のＰＴＹ原理によるデータ情報の記憶原理を概略的に示す図面である。
図２（従来技術）は、ＷＯ９５／１５６２８のＰＴＹ原理によるフローティング記憶アイデンティティの生成原理を概略的に示す図面である。
図３は、本発明に係る方法を実施するためのコンピュータシステムを概略的に示す図面である。
図４は、データ要素保護カタログの強制呼出し機能を備えた本発明に係るデータ処理の原理を概略的に示す図面である。
図５は、データ要素保護カタログ内の保護属性を決定するためのディスプレイのイメージの一例を示す図面である。
好適実施例の説明
以下では、記号ＩＡＭ（これはインフォメーション・アセッツ・マネージャ（Information Assets Manager）の略である）を用いて本実施例において本発明の実施に不可欠なコンポーネントとアプリケーションを表わすことにする。
−  まず図３を参照すると、同図には、本発明が実施されるデータ管理システムが概略的に示され、該システムには、情報、この例では個人関連情報を記憶するために以下のデータベースが含まれている。
−  個人の氏名、物品の名称、住所などの一般にアクセス可能なデータを個人コード番号Ｐｃｎと共に平文としてレコード識別子として含むオープンデータベース（open database）Ｐ−ＤＢ。
−  保護するデータを含むオペレーティブデータベース（operative database）Ｏ−ＤＢ。暗号化されたＩＤ、この場合には暗号化された個人コード番号が、レコード識別子（＝記憶アイデンティティＳＩＤ）として使用される。Ｏ−ＤＢは、権限を与えられた利用者によって個人的レコードの処理、例えば読取りや更新などに利用される。
−  オペレーティブデータベースＯ−ＤＢから転送された（選び出された）データを含み、統計的な質問には利用されるが個人的レコードに向けられた質問には利用されないアーカイブデータベース（archive database）Ａ−ＤＢ。Ｏ−ＤＢからＡ−ＤＢへの転送はまとめて行うことができる。
−  本発明の実施に不可欠なデータベースであるデータベースＩＡＭ−ＤＢ。このデータベースは、オペレーティブデータベースＯ−ＤＢのレコードのデータ要素値と関連付けられているようなデータ要素タイプに対する保護属性を持つデータ要素保護カタログを含んでいる。このデータベースＩＡＭ−ＤＢは、好ましくは他のＯ−ＤＢから物理的に分離されており、利用者には非アクセス可能である。しかし、２セット以上のデータ要素保護カタログを利用可能とすることができる。一方は、権限を与えられたＩＡＭオペレータのみがアクセスするオリジナルバージョンであり、他方は、データ要素保護カタログをオリジナルバージョンからインポートし、また、オペレーティブデータベースＯ−ＤＢと同じファイル記憶装置に選択的に記憶されることができるコピーバージョンである。これら二つのバージョンは互いに遠く離れて、例えば、二つの異なる都市に置くことができる。
図３のデータシステムは、さらに、ハードウェアコンポーネント１０、制御モジュール２０（ＩＡＭ−ＡＰＩ）、およびプログラムモジュール３０（ＰＴＹ−ＡＰＩ）を有する。以下、これら三つの構成部品の機能をより詳細に説明する。
ハードウェアコンポーネント１０
ハードウェアコンポーネント１０は、１つのコンピュータにおいて自分自身の分散プロセッサとして機能する。これはカプセル封じされて完全に勝手には開封できなくなっており、このことはいわゆる追跡ツールによる監視が可能ではないということを意味している。
ハードウェアコンポーネント１０は、独立したユニットとして少なくとも以下の機能を実行することができる。
−  ＰＴＹ暗号化のための可変、可逆および非可逆暗号化アルゴリズムを生成し、これらのアルゴリズムを必要な変数に提供すること。
−  ＰＴＹによる記憶データ、一方でＯ−ＤＢのデータ、他方でＩＡＭ  −ＤＢのデータ要素保護カタログのデータ、の記憶アイデンティティ  （ＳＩＤ）の変更を開始すること。
−  Ｏ−ＤＢのレコードへの利用者のアクセス権限を記憶すること。
−  原アイデンティティ（ＯＩＤ）をＯ−ＤＢの正しいレコードとリンクすること。
制御モジュール２０（ＩＡＭ−ＡＰＩ）
制御モジュールは、システムによって供給されうるデータ保護のタイプの取扱いを制御する。
制御モジュールは、ＡＰＩ（Application Program Interface）プログラミングインタフェースを介して要求される処理を実行する。
プログラムモジュール３０（ＰＴＹ−ＡＰＩ）３０
プログラムモジュール（ＰＴＹ−ＡＰＩ）３０は、関係するアプリケーション４０（ＡＣＳを含む）とハードウェアコンポーネント１０との間の対話を取り扱う。このモジュールは、さらに、イベントをログしたり、オペレーティブデータベースＯ−ＤＢからのデータの選出／削除を制御することができる。
次に図４を参照すると、同図には、図３のと同じ４つのデータベース（Ｐ−ＤＢ、Ｏ−ＤＢ、Ａ−ＤＢ、ＩＡＭ−ＤＢ）が示され、また、本発明に従って、個人的データ要素の処理を、データベースＩＡＭ−ＤＢに記憶されているデータ要素保護カタログ内の保護属性によって記述された規則に従ってどのように制御するかが概略的に示されている。
記憶されるデータは、この例ではある個人に関し、（１）氏名や住所のような一般にアクセス可能なデータ、（２）個人コード番号（Ｐｃｎ）のような識別情報、および（３）記述情報（ＤＩ）を含んでいる。一般にアクセス可能なデータである氏名と住所は、個人コード番号（Ｐｃｎ）と一緒にオープンデータベースＰ−ＤＢに記憶される。当該記憶処理は、この情報が一般アクセス可能なタイプのものであるため、平文として実行できる。
記述情報ＤＩと組み合わせて識別情報を記憶するために、以下のステップを行うが、ここでは以下の記号を用いて暗号化と復号化のアルゴリズムを記述する。一般的に言って、暗号化と復号化のアルゴリズムは、以下のように示すことができる。
ＦＴｙｐｅ（乱数、入力データ）＝結果
ここで、
Ｆ        は、関数を示す。
Ｔｙｐｅ  は、以下のような関数タイプを示す。
ＦＫＩＲ＝非可逆暗号化アルゴリズム
ＦＫＲ  ＝可逆暗号化アルゴリズム
ＦＤＫＲ＝復号化アルゴリズム
乱数      は、関数Ｆに含まれる１以上の定数および／または変数を表わす。
入力データは、暗号化または復号化されるデータである。
結果      は、与えられた関数に対する唯一の関数値を示す。
ステップ１  情報の分割：
識別情報を記述情報から分離する。
ステップ２  記憶アイデンティティＳＩＤの準備：
識別情報に基づいて原アイデンティティＯＩＤを選ぶ。ここでＯＩＤは個人の個人コード番号Ｐｃｎと等しくなるように選ばれる。ＯＩＤは、以下のとおり、非可逆暗号化アルゴリズムＡＬＧ１によって暗号化され、ハードウェアコンポーネント１０によってランダムに準備されて、更新アイデンティティＵＩＤとなる。
ＡＬＧ１：  ＦＫＩＲ（乱数、ＯＩＤ）＝ＵＩＤ
ＡＬＧ１は、ＵＩＤのＯＩＤへの復号化の試みによってたくさんのアイデンティティが生じることにより、特定のＵＩＤを対応するＯＩＤにリンクするのを不可能にするようなものである。
その後、以下のとおり、ＵＩＤを可逆暗号化アルゴリズムＡＬＧ２によって暗号化する。これもまたハードウェアコンポーネント１０によってランダムに行われ、記憶アイデンティティＳＩＤとなる。
ＡＬＧ２：ＦＫＲ（乱数、ＵＩＤ）＝ＳＩＤ
ＡＬＧ２は、ＵＩＤを再生するためにＳＩＤを復号化することができる、対応する復号化アルゴリズムＡＬＧ３が存在するようなものである。
記憶アイデンティティＳＩＤは、上記のステップ４で述べたように、オペレーティブデータベースＯ−ＤＢに暗号化されたデータ要素値ＤＶを記憶する際に、暗号化されたレコード識別子として利用される。
ステップ３  暗号化されたデータ要素値ＤＶの作成：
原アイデンティティＯＩＤと関連付けられた記述情報ＤＩをそれぞれデータ要素タイプＤＴとリンクされた１以上の暗号化されたデータ要素値ＤＶに変換する。
当該暗号化は下記のように可逆暗号化関数ＦＫＲを用いて行われ、これもまた上記のアルゴリズムＡＬＧ１およびＡＬＧ２と同様、ハードウェアコンポーネント１０によってランダムに生成される。本発明の特徴は、ここでは、問題のデータ要素タイプとリンクされ、かつ、データ要素値ＤＶを生成するために記述データの暗号化を行う「強さ」または程度を示す保護属性を自動的に収集するためにデータベースＩＡＭ−ＤＢ内のデータ要素保護カタログに送られる強制呼出しにある。
図４でデータベースＩＡＭ−ＤＢの下に示されているテーブルは、ここではＤＣで示されているデータ要素保護カタログの例示内容を記号で表わしたものである。一例として、ここでは保護関数Ｆｕｎｃ１が「暗号化の程度（degree of encryption）」に対応すると仮定することができる。問題の記述情報ＤＩを特定のデータ要素タイプＤＴ１と関連付けられたデータ要素値としてデータ要素保護カタログに記憶するとすれば、この場合データ要素保護カタログに登録された保護属性「５」は自動的に収集される。したがって、問題の記述情報ＤＩは、以下のとおり、暗号化されたデータ要素値ＤＶを生成するため、自動的にかつ強制的に、強さ「５」によって暗号化される。
ＦＫＲ（乱数、ＤＩ）＝暗号化されたデータ要素値ＤＶ機密性が少ないデータ要素、例えば、データ要素タイプＤＴ３のデータ要素を記憶する場合には、ＩＡＭ−ＤＢ内のデータ要素保護カタログの強制呼出しは結局代わりに収集中の保護属性「ノー（no）」を生じ、この場合、問題の記述データは暗号化されずに、その後、平文としてオペレーティブデータベースＯ−ＤＢに記憶されうる。
ステップ４  オペレーティブデータベースＯ−ＤＢへのレコードの記憶
ステップ２による暗号化された記憶アイデンティティＳＩＤは、対応する暗号化されたデータ要素値またはステップ３によるデータ要素値ＤＶと組み合わされてオペレーティブデータベースＯ−ＤＢにレコードとして記憶される。
上記のことから明らかなように、記憶された情報レコードＰは、以下の一般体裁を有している。
0004167300.tif 000003
原アイデンティティＯＩＤは、ＰＴＹ原理に従って、２つのステップ、第１は非可逆、第２は可逆のステップで暗号化される。したがって、「フローティング（floating）」、つまり、特定の原アイデンティティＯＩＤに対して、記憶された関連する記述情報ＤＩの場所を確認する可能性を保持しつつ記憶アイデンティティＳＩＤを期間中変化させることの生成はもちろん、記述情報ＤＩを原アイデンティティＯＩＤとは決してリンクできない記憶アイデンティティＳＩＤと一緒に記憶することも不可能である。
記述データＤＩは、各個人データ要素とリンクされた保護属性に従って記憶される。これにより、結果として、どのようにして機密データの使用が許可されまた使用することができるかについての規則の設定、およびその連続的な適用に関して、データ要素レベルまで、より一層高レベルの保護と高度の柔軟性とが得られる。
保護のレベルをもっと高めるためには、好ましくは、データ要素保護カタログＤＣをＰＴＹ原理に従って暗号形式でＩＡＭ−ＤＢに記憶する。この場合、例えば、図４に概略的に示すように、データ要素タイプは上記の記憶アイデンティティに対応し、保護属性は記述情報または上記のデータ要素値に対応する。これによって、データ要素保護カタログの内容についての無権限のアクセスや解釈によりデータ要素保護の裏をかこうとするすべての試みが妨げられる。
したがって、本実施例では、ＰＴＹは、以下の機能を有することができる。
−  （前記ＷＯ９５／１５６２８から知られているように）原アイデンティティＯＩＤを暗号化された形式（ＳＩＤ）でオペレーティブデータベースＯ−ＤＢ上で保護すること、
−  ＩＡＭ−ＤＢ内の情報、特にデータ要素保護カタログの保護属性および関連するレコード識別子を保護すること、
−  記述情報ＤＩを、対応する保護がデータ要素保護カタログにおいて対応する保護属性に従って起動されるデータ要素タイプに対する暗号化されたデータ要素値ＤＶの形式で保護すること。
機能性保護
データをオペレーティブデータベースＯ−ＤＢに入力する処理手順の上記実施例では、データ要素保護カタログＤＣ内のデータ要素保護属性としてこれまで単に「暗号化の程度」のみについて説明してきた。しかし、これは、通常各データ要素に複数の保護属性を与えるデータ要素保護カタログ内のいくつかの考えられる保護属性の中の単なる一例にすぎない。好適な保護属性は一般説明において上述してある。
特におもしろい保護属性は「保護プログラム（protected programs）」である。このデータ要素保護属性の使用は、データシステムが、ここで「機能性保護（functionality protection）」と呼ばれ、かつ、データ処理時に単に容認または認証されたプログラムのみがシステムでの使用を許可されまたシステムで使用することができるということを意味する新タイプの保護を与えることができるということを意味している。注意すべきは、本発明によれば、このタイプの保護はまだデータ要素レベルにとどまっているということである。
さて、説明のため、図４中のデータ要素保護カタログＤＣ内のＦｕｎｃ２はこの保護属性に対応し、かつ、データ要素タイプＤＴ１とＤＴ２のデータ要素はそれぞれ容認されたアプリケーションまたはプログラムＰ１とＰ２による処理を許可されるのみであると仮定する。例えば、異なるプログラムＰ３またはＰ１の修正バージョンＰ１′による対応するデータ要素の無権限の取扱いは妨げられるべきである。したがって、データ要素保護カタログの保護属性として、Ｐ１とＰ２を識別するデータが記憶されている。好適な実施例では、暗号化チェックサムＰ１＊とＰ２＊がそれぞれ、それ自体周知の方法で、すべての容認されたプログラムＰ１とＰ２のそれぞれに基づいて生成される。これらチェックサムは、容認されたそれぞれのプログラムの唯一の指紋を構成するものと考えることができ、これら指紋は、図４に概略的に示すように、保護属性としてデータ要素保護カタログに記憶することができる。しかし、注意すべきは、容認されたプログラムのそのようなチェックサムは、暗号化強さの保護属性を備えたデータ要素保護カタログとは別に、容認されたプログラムの登録のために選択的に自分自身のデータ要素保護カタログに記憶することができるということである。
最後に述べたタイプの保護である「保護プログラム」を利用する場合には、システムが、指定されたデータ要素を処理しようとする利用者開始処置、例えば、新しいデータ要素値をあるレコードに入力することと関連して、システムで認められているすべてのプログラムの完全な試験を実行する必要はないということにも注意しなければならない。例えば、利用者がプログラムＰ３を使ってオペレーティブデータベースＯ−ＤＢに新しいデータ要素値を入力しようとする場合、強制呼出しが、対応するデータ要素タイプ、例えばＤＴ１と関連してデータ要素保護カタログに送られる。その後、関連する保護属性Ｐ１＊がデータ要素保護カタログから収集されるが、これは、そのようなデータ要素値はプログラムＰ１による記憶が許可されるのみであるということを意味している。したがって、プログラムＰ３によってデータ要素値を登録しようとする試みは失敗することになろう。
上記の機能性保護を定期的に利用することによって、権限を与えられていない者（例えば「ハッカー」）が非容認プログラムによってシステムに侵入して記述データがレコードに対して自己を同一視するようにその記述データを修正しおよび／または追加することを明らかにしおよび／または防止することができる。したがって、データ要素値はオペレーティブデータベースＯ−ＤＢでは自己同一視することができない。
トレーサビリティ／ロギング
「ロギング（logging）」または「トレーサビリティ（traceability）」は、本発明によれば、データ要素保護カタログ内のデータ要素タイプとリンクすることができる他のタイプの保護である。この保護があるデータ要素タイプに対して起動されると、オペレーティブデータベースＯ−ＤＢ内の対応データ要素値の各処理は、自動的かつ強制的に、適当な方法でログされている処理の関連情報（「利用者」、「日付」、「レコード」、「ユーザプログラム」など）を生じるので、そのログに基づいて、誰が問題のデータ要素値を処理したか、いつ、どのプログラムによってなどを後で調べることができる。
オペレーティブデータベースＯ−ＤＢからのデータの読取り
オペレーティブデータベースＯ−ＤＢ内の記憶レコードのデータ要素値の読取り／変更をめざす利用者開始処置に関連して、以下のステップが実行され、また、それは、具体的には、データ要素保護カタログの強制呼出しと、収集された保護属性によって自動的かつ強制的に制御されるデータの「アンパッキング（unpacking）」とからなっている。
ステップ１  以下のとおり、読み取るデータ要素値ＤＶと関連付けられた原アイデンティティＯＩＤ，（Ｐｃｎ）に基づいて問題の記憶アイデンティティＳＩＤを作成することによってレコードを識別する。
ＦＫＲ（ＦＫＩＲ（ＯＩＤ））＝ＳＩＤ
ステップ２  レコードがＳＩＤによって見つけられると、暗号化されたデータ要素値ＤＶ（つまり、読み取る暗号化された記述データ）を以下のとおり復号化アルゴリズムＦＤＫＲによって復号化する。
ＦＤＫＲ（ＤＶ）＝記述データ（平文）
しかし、データ要素値のこの復号化の実行は、まずデータ要素の暗号化制御保護属性、つまり、Ｏ−ＤＢに記憶されているデータ要素値ＤＶが暗号化されている強さまたはレベルを示す属性を、システムによってデータ要素保護カタログＤＣから収集することを必要とする。したがって、データをＯ−ＤＢに入力する上記の処理手順の場合のように、読み取る場合も、強制呼出しをデータ要素保護カタログＤＣに送って処理、この場合にはアンパッキング、の実行に必要な情報を収集する。
読み取ろうとする時のデータ要素保護カタログのそのような強制呼出しは、全体的にまたは部分的に、いくつかの理由で、読み取る１又は複数のデータ要素値とリンクされている問題の保護属性により、結局失敗するということがわかる。例えば、読み取ろうとする試みは、利用者が非容認プログラムを使用しようとしおよび／または関係する事項を読み取る権限を与えられていないために防止することができる。
データ要素保護カタログを暗号化する場合、復号鍵（decoding key)は第１データベースや第２データベースと区別された記憶場所に記憶することができる。
図５は、ダイアログボックスの形式のユーザインタフェースの一例を示しており、これによってＩＡＭの責任者、つまりセキュリティの責任者はデータ要素保護カタログに記述された保護属性を読み取りおよび／または変更することができる。図５の例では、データ要素タイプ「住宅費」と「交際費」の両方に暗号化、選出、ロギング、所有者に関する保護属性が設けられている。さらに、データ要素タイプ「交際費」とリンクされた、権限を与えられた利用者と保護プログラムの登録が、サブメニューで行われている。
【図１】
0004167300.tif 000004
【図２】
0004167300.tif 000005
【図３】
0004167300.tif 000006
【図４】
0004167300.tif 000007
【図５】
0004167300.tif 000008