IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 中興通訊股▲ふん▼有限公司の特許一覧

特表2023-534263データアクセス方法、装置、記憶媒体及び電子装置
<>
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図1
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図2
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図3
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図4
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図5
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図6
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図7
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図8
  • 特表-データアクセス方法、装置、記憶媒体及び電子装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-08
(54)【発明の名称】データアクセス方法、装置、記憶媒体及び電子装置
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230801BHJP
   G06F 16/28 20190101ALI20230801BHJP
【FI】
G06F21/62 318
G06F16/28
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023502749
(86)(22)【出願日】2021-07-16
(85)【翻訳文提出日】2023-01-13
(86)【国際出願番号】 CN2021106762
(87)【国際公開番号】W WO2022012669
(87)【国際公開日】2022-01-20
(31)【優先権主張番号】202010688666.6
(32)【優先日】2020-07-16
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】ニウ,ジアハオ
(72)【発明者】
【氏名】ジャン,チアン
(72)【発明者】
【氏名】ワン,ダーゼン
(72)【発明者】
【氏名】トゥー,ヤオフェン
(72)【発明者】
【氏名】リウ,シャオリン
(72)【発明者】
【氏名】チェン,ヨンフア
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA02
(57)【要約】
データアクセス方法、装置、記憶媒体及び電子装置であり、該方法は、データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するステップ(S202)と、前記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである前記第1のアクセス要求に対応するデータを取得するステップ(S204)と、前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するステップ(S206)と、前記目標結果に基づいて、第2のアクセス要求を合成し、前記第2のアクセス要求に基づいて、前記データベース内のデータにアクセスすることにより、アクセス結果を取得するステップ(S208)と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するステップと、
前記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである、前記第1のアクセス要求に対応するデータを取得するステップと、
前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するステップと、
前記目標結果に基づいて第2のアクセス要求を合成し、前記第2のアクセス要求に基づいて前記データベース内のデータにアクセスすることにより、アクセス結果を取得するステップと、を含む、
データアクセス方法。
【請求項2】
前記アクセス要求を解析し、前記第1のアクセス要求に対応する第1の被制御フィールドリストを取得するステップは、
前記第1のアクセス要求がデータ照会言語DQLタイプの要求である場合、前記DQLタイプの要求の最上層出力フィールドリストを前記第1の被制御フィールドリストとして決定するステップと、
前記第1のアクセス要求が前記DQLタイプの要求以外の他の要求である場合、前記他の要求が操作したターゲットフィールドリストを決定し、前記ターゲットフィールドリストを前記第1の被制御フィールドリストとして決定するステップと、を含む、
請求項1に記載の方法。
【請求項3】
前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するステップは、
前記第1の被制御フィールドリストから所定の順序に応じて1つの被制御フィールドを第1の被制御フィールドとして選択するステップと、
前記第1の被制御フィールドに対応する第1のフィールド保護ルール、データセキュリティ分類、及びデータセキュリティレベルを決定するステップであって、異なるフィールド保護ルールは、異なる信頼条件、要求タイプ及び処理動作の組み合わせに対応し、前記信頼条件は、第1のアクセスパラメータに対応するアクセス許可条件を含むステップと、
前記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、前記第1の被制御フィールドに対して前記第1のデータ保護操作を実行し、前記目標結果を取得するステップと、を含む、
請求項1に記載の方法。
【請求項4】
前記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、前記第1の被制御フィールドに対して前記第1のデータ保護操作を実行し、前記目標結果を取得するステップは、
取得された第1のアクセスパラメータに基づいて、前記第1のフィールド保護ルールに対応する1組の信頼条件を実行するステップであって、前記第1のアクセスパラメータは、少なくとも、元の要求文、ユーザの身分、ユーザのアクセスレベル、アクセス時間、ネットワークパラメータのうちの1つを含むステップと、
1組の信頼条件の実行結果に基づいて、前記第1の処理動作に含まれる第1の動作タイプ及び第1の動作因子を決定するステップであって、前記第1の動作タイプは、具体的な保護操作を指示し、前記第1の動作因子は、前記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示するステップと、
前記第1の動作因子に基づいて、前記第1の被制御フィールドに対して保護処理を行うことにより、前記目標結果を取得するステップと、を含む、
請求項3に記載の方法。
【請求項5】
前記第1の動作因子に基づいて、前記第1の被制御フィールドに対して保護処理を行うことにより、前記目標結果を取得するステップは、
前記第1の処理動作タイプがマスキング動作、暗号化処理動作、復号処理動作、匿名化動作及びカスタマイズ動作のうちの1つを含む場合、前記第1の動作因子に基づいて、前記第1の被制御フィールドを新たなSQL文に合成することにより、前記目標結果を取得するステップを含む、
請求項4に記載の方法。
【請求項6】
受信された第1の配置コマンドに基づいて、フィールド保護ルールを配置するステップをさらに含み、前記フィールド保護ルールは、要求タイプ、1組の信頼条件及び処理動作の組み合わせを含み、
前記要求タイプは、データ照会言語DQLタイプ、及びデータ操作言語DMLタイプのうちの少なくとも1つを含み、
前記信頼条件は、信頼アクセスの基本的な判断ユニットを定義するためのものであり、少なくとも信頼アクセスタイプ、信頼アクセスパラメータ名、判定オペレータ及びパラメータ値を含み、
前記信頼アクセスタイプは、身分信頼条件、レベル信頼条件、ネットワーク信頼条件、及び時間信頼条件のうちの少なくとも1つを含み、
前記判定オペレータは、「より大きい」、「以上」、「以下」、「より小さい」、「等しい」、及び「等しくない」を含み、
前記処理動作は、動作タイプ及び動作因子を含み、前記動作タイプは、具体的な保護操作を指示し、前記動作因子は、前記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示し、
前記動作タイプは、アクセス拒否、アクセス許可、元データ表示、マスキング処理、暗号化処理、復号処理、匿名化処理、監査処理、及び警告処理のうちの少なくとも1つを含む、
請求項3に記載の方法。
【請求項7】
前記第1のアクセスパラメータに前記ユーザのアクセスレベルが含まれる場合、前記信頼条件に前記ユーザのアクセスレベルに対応する前記レベル信頼条件が含まれ、前記レベル信頼条件は、前記ユーザのアクセスレベルが前記データセキュリティレベル以上であると決定する場合、前記ユーザのアクセスレベルが前記レベル信頼条件を満たすことを決定する、
請求項6に記載の方法。
【請求項8】
受信された第2の配置コマンドに基づいて、各被制御フィールドに対応するデータセキュリティ分類及びデータセキュリティレベルを配置するステップをさらに含み、同一のデータセキュリティ分類に属する複数の被制御フィールドに対応するデータセキュリティレベルが同じである、
請求項7に記載の方法。
【請求項9】
データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するように構成される受信モジュールと、
前記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである、前記第1のアクセス要求に対応するデータを取得するように構成される取得モジュールと、
前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するように構成される実行モジュールと、
前記目標結果に基づいて、第2のアクセス要求を合成し、前記第2のアクセス要求に基づいて、前記データベース内のデータにアクセスすることにより、アクセス結果を取得するように構成されるアクセスモジュールと、を含む、
データアクセス装置。
【請求項10】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムは、実行される場合に前記請求項1~8のいずれか一項に記載の方法を実行するように構成される、
コンピュータ読み取り可能な記憶媒体。
【請求項11】
コンピュータプログラムが記憶されているメモリと、前記コンピュータプログラムを実行して前記請求項1~8のいずれか一項に記載の方法を実行するように構成されるプロセッサと、を含む、
電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本開示は、2020年7月16日に提出した、発明の名称が「データアクセス方法、装置、記憶媒体及び電子装置」の中国特許出願CN202010688666.6に基づくものであり、該特許出願の優先権を主張するものであり、その全ての開示内容は、参照により本開示に組み込まれるものとする。
【0002】
本開示の実施例は、通信の分野に関し、具体的には、データアクセス方法、装置、記憶媒体及び電子装置に関する。
【背景技術】
【0003】
ビッグデータ時代の到来に伴い、ユーザのプライバシー漏洩の問題は、ますます深刻になっている。それと同時に、様々なビッグデータ技術が次々と現れ、新たな技術アーキテクチャ、サポートプラットフォーム及びビッグデータソフトウェアが次々と現れるため、データセキュリティ及びプライバシー保護技術は、より大きなチャレンジに直面している。
【0004】
関連技術において、ある非常にセンシティブな情報(例えば、クレジットカード、氏名、及び身分証明書番号、又は肝要と考えられる他のデータ)を保護するために、一般的に、権限制御及び透過的暗号化技術を用い、透過的暗号化は、データベース層でデータ暗号化を実行することにより、可能な攻撃者がデータベースをバイパスしてメモリからセンシティブ情報を直接読み取ることを防止する。
【0005】
データベース権限検証に成功したアプリケーション及びユーザは、暗号化データを透過的にアクセスし続けることができ、テーブルスペースファイルにおけるセンシティブデータを読み取ることを試みるオペレーティングシステムユーザ、及びディスク又はバックアップ情報を読み取ることを試みる不正者は、平文データへのアクセスが許可されない。
【0006】
それと同時に、特権アカウントは、データベース内の任意のアプリケーションプログラムデータにアクセスすることができる。特権アカウント及びキャラクタは、制限されずにデータベースにアクセスすることができるため、ハッカーの主な攻撃目標となり、さらに、内部人員に悪用されて機密情報を取得する可能性があり、透過的暗号化及び権限は、特権ユーザに無効である。したがって、関連技術は、権限のみをセンシティブフィールド保護の前提及び主要な手段とすれば、保護粒度が粗く、潜在的な安全上の問題がある。
【0007】
これから分かるように、関連技術におけるデータ保護粒度が粗く、潜在的な安全上の問題があるという問題が存在する。
【0008】
関連技術における上記問題に対して、現在、効果的な解決手段がまだ提案されていない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本開示の実施例は、少なくとも関連技術におけるデータ保護粒度が粗く、潜在的な安全上の問題があるという問題を解決するために、データアクセス方法、装置、記憶媒体及び電子装置を提供する。
【課題を解決するための手段】
【0010】
本開示の1つの実施例によれば、データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するステップと、前記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである前記第1のアクセス要求に対応するデータを取得するステップと、前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するステップと、前記目標結果に基づいて、第2のアクセス要求を合成し、前記第2のアクセス要求に基づいて、前記データベース内のデータにアクセスすることにより、アクセス結果を取得するステップと、を含む、データアクセス方法が提供される。
【0011】
本開示の別の実施例によれば、データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するように構成される受信モジュールと、前記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである前記第1のアクセス要求に対応するデータを取得するように構成される取得モジュールと、前記第1のアクセスパラメータ及び前記第1の要求タイプに基づいて、前記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するように構成される実行モジュールと、前記目標結果に基づいて、第2のアクセス要求を合成し、前記第2のアクセス要求に基づいて、前記データベース内のデータにアクセスすることにより、アクセス結果を取得するように構成されるアクセスモジュールと、を含む、データアクセス装置が提供される。
【0012】
本開示の別の実施例によれば、さらに、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体が提供され、前記コンピュータプログラムは、実行される場合に上記いずれかの方法の実施例におけるステップを実行するように構成される。
【0013】
本開示の別の実施例によれば、さらに、コンピュータプログラムが記憶されているメモリと、前記コンピュータプログラムを実行して上記いずれかの方法の実施例におけるステップを実行するように構成されるプロセッサと、を含む、電子装置が提供される。
【図面の簡単な説明】
【0014】
図1】本開示の実施例に係るデータアクセス方法のモバイル端末のハードウェア構成ブロック図である。
図2】本開示の実施例に係るデータアクセス方法のフローチャートである。
図3】本開示の具体的な実施例に係るデータアクセス方法のフローチャートである。
図4】本開示の具体的な実施例に係る管理フィールドレベルのセキュリティポリシーの動作フローチャートである。
図5】本開示の具体的な実施例に係るフィールドレベルのセキュリティポリシーのフローチャートである。
図6】本開示の具体的な実施例に係るデータ保護装置の構成図である。
図7】本開示の具体的な実施例に係るデータアクセス方法のフローチャートである。
図8】本開示の具体的な実施例に係るデータアクセス方法の実行シーンの概略図である。
図9】本開示の実施例に係るデータアクセス装置の構成ブロック図である。
【発明を実施するための形態】
【0015】
以下、本開示の実施例について、図面を参照しながら実施例を挙げて詳細に説明する。
【0016】
なお、本開示の明細書、特許請求の範囲及び上記図面における「第1」、「第2」などの用語は、特定の順序又は前後順を記述するために使用されるのではなく、類似の対象を区別するために用いられるものである。
【0017】
本開示の実施例に係る方法の実施例は、モバイル端末、コンピュータ端末又は類似の演算装置において実行することができる。モバイル端末において実行することを例として、図1は、本開示の実施例に係るデータアクセス方法のモバイル端末のハードウェア構成ブロック図である。
【0018】
図1に示すように、モバイル端末は、1つ又は複数(図1に1つのみを示す)のプロセッサ102(プロセッサ102は、マイクロプロセッサMCU又はプログラマブルロジックデバイスFPGAなどの処理装置を含むが、これらに限定されない)及びデータを記憶するように構成されるメモリ104を含み、上記モバイル端末は、さらに、通信機能を果たすように構成される伝送機器106及び入出力機器108を含んでもよい。
【0019】
当業者であれば、理解されるように、図1に示すような構造は、概略的なものであり、上記モバイル端末の構造を限定するものではない。例えば、モバイル端末は、さらに、図1に示されるより多いか又はより少ないコンポーネントを含むか、又は図1に示されるものと異なる構成を有してもよい。
【0020】
メモリ104は、アプリケーションソフトウェアのソフトウェアプログラム及びモジュール、例えば、本開示の実施例におけるデータアクセス方法に対応するコンピュータプログラムを記憶するように構成されてもよく、プロセッサ102は、メモリ104内に記憶されるコンピュータプログラムを実行することにより、様々な機能アプリケーション及びデータ処理を実行し、つまり上記方法を実現する。
【0021】
メモリ104は、高速ランダムアクセスメモリを含んでもよく、さらに、例えば、1つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性固体メモリなどの不揮発性メモリを含んでもよい。いくつかの実施例において、メモリ104は、プロセッサ102に対して遠隔的に設置されるメモリをさらに含んでもよく、これらの遠隔メモリは、ネットワークを介してモバイル端末に接続されてもよい。
【0022】
上記ネットワークの例は、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されない。
【0023】
伝送機器106は、1つのネットワークを介してデータを送受信するように構成される。上記ネットワークの具体例は、モバイル端末の通信事業者が提供する無線ネットワークを含んでもよい。一実施例において、伝送機器106は、基地局により他のネットワーク機器に接続されてインターネットと通信可能なネットワークアダプタ(Network Interface Controller、NICと略称される)を含む。一実施例において、伝送機器106は、無線方式によりインターネットと通信するように構成される無線周波数(Radio Frequency、RFと略称される)モジュールであってもよい。
【0024】
本実施例において、データアクセス方法が提供され、図2は、本開示の実施例に係るデータアクセス方法のフローチャートであり、図2に示すように、該フローは、以下のステップS202~S208を含む。
【0025】
ステップS202では、データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信する。
【0026】
ステップS204では、上記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである上記第1のアクセス要求に対応するデータを取得する。
【0027】
ステップS206では、上記第1のアクセスパラメータ及び上記第1の要求タイプに基づいて、上記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得する。
【0028】
ステップS208では、上記目標結果に基づいて、第2のアクセス要求を合成し、上記第2のアクセス要求に基づいて、上記データベース内のデータにアクセスすることにより、アクセス結果を取得する。
【0029】
上記実施例において、第1のアクセス要求は、SQL(Structured Query Language、構造化照会言語)であってもよい。クライアントのSQLを受信した後、SQLを解析し、クライアントのアクセスパラメータ、要求タイプ及び被制御フィールドリストを取得することができる。
【0030】
次に、被制御フィールドリストにおける各フィールドに対して1つずつデータ保護操作を実行し、すなわち、第1のデータ保護操作を実行することができ、全ての被制御フィールドの処理が完了すると、第1のSQL文を再合成し、第2のアクセス要求を取得し、データベースエンジンは、第1のSQL文を実行し、フィードバック結果を上記クライアントにフィードバックする。クライアントは、データベースにアクセスする様々なアプリケーション、プログラム、コマンド又はスクリプトなどであってもよい。
【0031】
上記実施例において、アクセスパラメータは、要求SQLなどのような元の要求と、ユーザ名、ユーザグループ、キャラクタなどのようなユーザの身分と、ユーザのアクセスレベルと、アクセス時間と、IPアドレス、ホスト名などのようなネットワークパラメータと、を含むが、これらに限定されない。
【0032】
本開示において、データベース内のデータへのアクセスを要求するための第1のアクセス要求を解析することにより、第1のアクセス要求に対応する第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストを取得し、第1のアクセスパラメータ及び第1の要求タイプに基づいて、第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得し、さらに目標結果に基づいて、第2のアクセス要求を合成し、第2のアクセス要求を利用してデータベース内のデータにアクセスする。
【0033】
アクセスデータに対してフィールドレベルのデータ保護操作を行うため、関連技術におけるデータ保護粒度が粗く、潜在的な安全上の問題があるという問題を解決し、データを効率的に保護する効果を達成し、データの安全性を向上させることができる。
【0034】
例示的な一実施例において、上記アクセス要求を解析し、上記第1のアクセス要求に対応する第1の被制御フィールドリストを取得するステップは上記第1のアクセス要求がデータ照会言語DQLタイプの要求である場合、上記DQLタイプの要求の最上層出力フィールドリストを上記第1の被制御フィールドリストとして決定するステップと、上記第1のアクセス要求が上記DQLタイプの要求以外の他の要求である場合、上記他の要求が操作したターゲットフィールドリストを決定し、上記ターゲットフィールドリストを上記第1の被制御フィールドリストとして決定するステップと、を含む。
【0035】
本実施例において、DQL(Select照会)タイプの要求に対して、まず、その最上層出力フィールドリストを取得し、次に、最上層出力フィールドリストを被制御フィールドリストとすることができ、他のタイプの要求に対して、まず、SQL文が操作したフィールドを解析し、操作されたフィールドを被制御フィールドリストに添加することができる。
【0036】
例えば、下記DQLタイプの要求に対して、
select ename,deptno,sal
from emp
where deptno=
(select deptno from dept where loc=′NEW YORK′);
取得された被制御フィールドリストは、
emp.ename、dept.deptno、emp.sal;であり、
さらに例えば、下記DMLタイプのupdateタイプの要求に対して、
UPDATE Customers SET ContactName=′Alfred Schmidt′,
City=′Frankfurt′
WHERE Customer ID=1;
取得された被制御フィールドリストは、
Customers.ContactName、Customers.Cityである。
【0037】
例示的な一実施例において、上記第1のアクセスパラメータ及び上記第1の要求タイプに基づいて、上記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するステップは、上記第1の被制御フィールドリストから所定の順序に応じて1つの被制御フィールドを第1の被制御フィールドとして選択するステップと、上記第1の被制御フィールドに対応する第1のフィールド保護ルール、データセキュリティ分類、及びデータセキュリティレベルを決定するステップであって、異なるフィールド保護ルールは、異なる信頼条件、要求タイプ及び処理動作の組み合わせに対応し、上記信頼条件は、第1のアクセスパラメータに対応するアクセス許可条件を含むステップと、上記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、上記第1の被制御フィールドに対して上記第1のデータ保護操作を実行し、上記目標結果を取得するステップと、を含む。
【0038】
本実施例において、被制御フィールドリストから所定の順序に応じて第1の被制御フィールドを選択し、第1の被制御フィールドに対応するフィールド保護ルールを取得することができ、フィールド保護ルールは、データセキュリティ分類及びデータセキュリティレベルなどを含んでもよい。
【0039】
フィールド保護ルールを決定することにより、被制御フィールドに対応するデータセキュリティレベルを決定することができ、データセキュリティレベル自体は、1組の信頼条件に含まれる1つの信頼条件とすることができ、すなわち、ユーザのセキュリティレベルがデータセキュリティレベル以上であるか否かを判断することができる。
【0040】
本実施例において、第1の被制御フィールドに対して分類保護を行う場合、同一種類のフィールドに対して、同じ保護ルール及びデータセキュリティレベルを設定することができる。取得された第1の被制御フィールドのデータセキュリティレベルが空であれば、第1の被制御フィールドのデータセキュリティ分類のデータセキュリティレベルを上記第1の被制御フィールドのデータレベルとして取得することができるか、又は、取得された第1の被制御フィールドのデータセキュリティレベルが空であれば、さらに第1の被制御フィールドのデータ分類のフィールド保護ルールを第1の被制御フィールドの保護ルールとして取得することができる。
【0041】
例示的な一実施例において、上記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、上記第1の被制御フィールドに対して上記第1のデータ保護操作を実行し、上記目標結果を取得するステップは、取得された第1のアクセスパラメータに基づいて、上記第1のフィールド保護ルールに対応する1組の信頼条件を実行するステップであって、上記第1のアクセスパラメータは、少なくとも、元の要求文、ユーザの身分、ユーザのアクセスレベル、アクセス時間、ネットワークパラメータのうちの1つを含むステップと、1組の信頼条件の実行結果に基づいて、上記第1の処理動作に含まれる第1の動作タイプ及び第1の動作因子を決定するステップであって、上記第1の動作タイプは、具体的な保護操作を指示し、上記第1の動作因子は、上記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示するステップと、上記第1の動作因子に基づいて、上記第1の被制御フィールドに対して保護処理を行うことにより、上記目標結果を取得するステップと、を含む。
【0042】
本実施例において、取得された第1のアクセスパラメータに基づいて、第1の被制御フィールドのフィールド保護ルールに対応する1組の信頼条件を実行し、信頼条件の計算結果に基づいて、対応する動作タイプを選択し、具体的な保護動作因子を実行する。上記第1の処理動作は、センシティブデータに対して実行される保護方法を示し、動作タイプ、動作因子を含む。
【0043】
動作タイプはアクセス拒否、アクセス許可、元データ表示、マスキング、暗号化、復号、匿名化、監査、警告、及びカスタマイズ動作を含んでもよく、動作因子は、実行された具体的な保護動作演算子名及び実際のパラメータを表すことができ、実際のパラメータは、主に、第1の被制御フィールドにおける処理対象の内容を含む。
【0044】
なお、動作タイプ及び動作因子は、カスタマイズ拡張することができ、異なるシーンでのデータ保護に対応する。実行拒否の動作については、クライアントに結果を直接的にフィードバックし、フローを終了することができる。
【0045】
例示的な一実施例において、上記第1の動作因子に基づいて、上記第1の被制御フィールドに対して保護処理を行うことにより、上記目標結果を取得するステップは、上記第1の処理動作タイプがマスキング動作、暗号化処理動作、復号処理動作、匿名化動作及びカスタマイズ動作のうちの1つを含む場合、上記第1の動作因子に基づいて、上記第1の被制御フィールドを新たなSQL文に合成することにより、上記目標結果を取得するステップを含む。
【0046】
本実施例において、マスキング動作、暗号化処理動作、復号処理動作、匿名化動作、カスタマイズ動作などに対して、フィールド保護ルールにおける動作因子に基づいて、新たなSQL文を合成して、その元の対応するSQL文を置き換えることができる。
【0047】
例示的な一実施例において、上記方法は、受信された第1の配置コマンドに基づいて、フィールド保護ルールを配置するステップをさらに含み、上記フィールド保護ルールは、要求タイプ、1組の信頼条件及び処理動作の組み合わせを含み、上記要求タイプは、データ照会言語DQLタイプ、及びデータ操作言語DMLタイプのうちの少なくとも1つを含み、上記信頼条件は、信頼アクセスの基本的な判断ユニットを定義するためのものであり、少なくとも信頼アクセスタイプ、信頼アクセスパラメータ名、判定オペレータ及びパラメータ値を含み、上記信頼アクセスタイプは、身分信頼条件、レベル信頼条件、ネットワーク信頼条件、及び時間信頼条件のうちの少なくとも1つを含み、上記判定オペレータは、「より大きい」、「以上」、「以下」、「より小さい」、「等しい」、及び「等しくない」を含み、上記処理動作は、動作タイプ及び動作因子を含み、上記動作タイプは、具体的な保護操作を指示し、上記動作因子は、上記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示し、上記動作タイプは、アクセス拒否、アクセス許可、元データ表示、マスキング処理、暗号化処理、復号処理、匿名化処理、監査処理、及び警告処理のうちの少なくとも1つを含む。
【0048】
本実施例において、第1の配置コマンドに基づいて、フィールド保護ルールを配置して記録することができ、フィールド保護ルールは、要求タイプ、信頼条件及び処理動作の組み合わせを含み、処理動作は、動作タイプ及び動作因子を含んでもよい。フィールド保護ルールは、異なるコマンドタイプ(すなわち、要求タイプ)の異なるフィールド保護方法に応じて、コマンドタイプ及び1組の信頼条件の論理操作表現式で組み合わせられ、1組の信頼条件の実行結果に基づいて、対応する動作を実行することができる。コマンドタイプは、少なくともDQLタイプ(データ照会言語)、DMLタイプ(データ操作言語)などを含み、論理操作は、AND、OR、NOT操作を含んでもよい。
【0049】
例示的な一実施例において、上記第1のアクセスパラメータに上記ユーザのアクセスレベルが含まれる場合、上記信頼条件に上記ユーザのアクセスレベルに対応する上記レベル信頼条件が含まれ、上記レベル信頼条件は、上記ユーザのアクセスレベルが上記データセキュリティレベル以上であると決定する場合、上記ユーザのアクセスレベルが上記レベル信頼条件を満たすことを決定する。
【0050】
本実施例において、信頼条件は、信頼アクセスの基本的な判断ユニットを定義することができる。基本的な判断ユニットは、少なくとも、
ユーザの身分を制限し、ユーザ名、ユーザグループ、キャラクタなどを含むが、これらに限定されない身分信頼条件と、
ユーザのアクセスレベル、データセキュリティレベル、データセキュリティ分類に基づいて、ユーザがセンシティブデータを取得することを制限するレベル信頼条件と、
ネットワークへのアクセスを制限し、IPアドレス、ホスト名などを含むが、これらに限定されないネットワーク信頼条件と、
アクセス時間を制限し、アクセス時間を含むが、これらに限定されない時間信頼条件と、のうちの1つを含む。
【0051】
ユーザのアクセスレベルは、ユーザの身分レベルを説明するためのものであり、ユーザのアクセスレベル名及びユーザのアクセスレベル値を含む。
【0052】
なお、ユーザのアクセスレベルとデータセキュリティレベルのデータタイプは、同じタイプであり、同じ順序を保持する必要がある。信頼条件は、信頼アクセスタイプ、信頼アクセスパラメータ名、判定オペレータ及びパラメータ値を含んでもよい。判定オペレータは、「より大きい」、「以上」、「以下」、「より小さい」、「等しい」、及び「等しくない」などを含んでもよい。
【0053】
例示的な一実施例において、上記方法は、受信された第2の配置コマンドに基づいて、各被制御フィールドに対応するデータセキュリティ分類及びデータセキュリティレベルを配置するステップをさらに含み、同一のデータセキュリティ分類に属する複数の被制御フィールドに対応するデータセキュリティレベルが同じである。本実施例において、データセキュリティ分類は、センシティブデータのサービスタイプに基づいて分類することができ、分類名、デフォルトのデータセキュリティレベル、デフォルトのフィールド保護ルールを含んでもよい。データセキュリティレベルは、データセキュリティレベル名及びデータセキュリティレベル値などを含んでもよい。
【0054】
上記実施例において、具体的には、以下のステップ1~5によりフィールド保護ルールを設定することができる。
【0055】
ステップ1では、分類・レベル分けレベル(ユーザのアクセスレベル、データセキュリティレベル、データセキュリティ分類を含む)を定義する。
【0056】
ステップ2では、ユーザのアクセスレベルを設定する。
【0057】
ステップ3では、センシティブフィールドにデータ保護分類種別及びデータセキュリティレベルを割り当てる。
【0058】
ステップ4では、信頼条件を設定する。
【0059】
ステップ5では、フィールド保護ルールを設定する。
【0060】
好ましい一実施例において、上記方法は、データアクセス装置において実行することができる。該装置は、データ保護モジュール及びポリシーモジュールを含み、データベースエンジンのセンシティブデータ保護機能を実現するためのものである。該装置は、データベースエンジンに内蔵されてもよい。
【0061】
データ保護モジュールは、ポリシーモジュールからセンシティブデータ保護ポリシーを取得して、アクセス拒否、完全マスキング処理、部分マスキング処理、暗号化処理、匿名化処理、監査、及び警告などのような対応するデータ保護動作を実行することができる。ポリシーモジュールは、分類・レベル分けユニット、ポリシー管理ユニット、及びポリシー記憶ユニットを含み、データ保護モジュールにポリシーサポートを提供するためのものである。
【0062】
分類・レベル分けユニットは、ユーザ及びデータを分類・レベル分けして管理するためのものであり、ユーザのアクセスレベル、データセキュリティレベル、データセキュリティ種別などを含む。ポリシー管理ユニットは、データ保護ポリシーを管理し、ポリシーアクセスインタフェースを提供するためのものである。ポリシー記憶ユニットは、データ保護ポリシーを記憶するためのものである。
【0063】
以下、具体的な実施形態を参照してデータアクセスを説明する。
【0064】
図3は、本開示の具体的な実施例に係るデータアクセス方法のフローチャートであり、図3に示すように、該フローは、以下のステップS302~S312を含む。
【0065】
ステップS302では、クライアントのアクセス要求を受信する。
【0066】
ステップS304では、クライアントのアクセスパラメータを取得する。
【0067】
ステップS306では、アクセス要求SQLを解析し、要求タイプ及び被制御フィールドリストを取得する。
【0068】
ステップS308では、上記被制御フィールドリストにおける各フィールドに対して1つずつデータ保護操作を実行する。
【0069】
ステップS310では、全ての被制御フィールドの処理が完了すると、第1のSQL文を再合成する。
【0070】
ステップS312では、データベースエンジンは、上記第1のSQL文を実行し、結果を上記クライアントにフィードバックする。
【0071】
クライアントは、データベースにアクセスする様々なアプリケーション、プログラム、コマンド又はスクリプトなどであってもよく、そのアクセスパラメータは、
(1)要求SQLを含むが、これらに限定されない元の要求と、
(2)ユーザ名、ユーザグループ、キャラクタなどを含むが、これらに限定されないユーザの身分と、
(3)ユーザのアクセスレベルと、
(4)アクセス時間と、
(5)IPアドレス、ホスト名などを含むが、これらに限定されないネットワークパラメータと、を含んでもよい。
【0072】
ステップS306において被制御フィールドリストを取得する操作は、以下のステップを含んでもよい。
【0073】
DQL(Select照会)タイプの要求に対して、まず、その最上層出力フィールドリストを取得し、次に、最上層出力フィールドリストを被制御フィールドリストとし、他のタイプの要求に対して、まず、SQL文が操作したフィールドを解析し、操作されたフィールドを被制御フィールドリストに添加する。
【0074】
ステップS308において、データ保護操作は、以下のステップ1~3を含む。
【0075】
ステップ1では、上記被制御フィールドリストから所定の順序に応じて第1の被制御フィールドを選択する。
【0076】
ステップ2では、上記第1の被制御フィールドに対応するデータセキュリティ分類、データセキュリティレベル及びフィールド保護ルールを取得する。
【0077】
なお、センシティブフィールドに対して分類保護を行う場合、同一種類のセンシティブフィールドに対して、同じフィールド保護ルール及びデータセキュリティレベルを設定することができ、取得された上記第1の被制御フィールドのデータセキュリティレベルが空であれば、上記第1の被制御フィールドのデータセキュリティ分類のデータセキュリティレベルを上記第1の被制御フィールドのデータレベルとして取得し、取得された上記第1の被制御フィールドのフィールド保護ルールが空であれば、上記第1の被制御フィールドのデータ分類のフィールド保護ルールを上記第1の被制御フィールドのフィールド保護ルールとして取得する。
【0078】
ステップ3では、上記第1の被制御フィールドのフィールド保護ルールに対応する1組の信頼条件を実行し、信頼条件の計算結果に基づいて、対応する動作タイプを選択し、具体的な保護動作因子を実行する。例えば、実行拒否の動作については、クライアントに結果を直接的にフィードバックし、フローを終了する。マスキング動作、暗号化処理動作、復号処理動作、匿名化動作などに対して、フィールド保護ルールにおける動作因子に基づいて、新たなSQL文を合成して、その元の対応するSQL文を置き換える。
【0079】
図4は、本開示の具体的な実施例に係る管理フィールドレベルのセキュリティポリシーの動作フローチャートであり、図4に示すように、該フローは、フィールド保護ルール、データセキュリティ分類、データセキュリティレベル、及びクライアントのアクセスパラメータなどを含む。
【0080】
フィールド保護ルールは、異なるコマンドタイプに対して異なるフィールド保護方法を定義し、コマンドタイプ及び1組の信頼条件の論理操作表現式を含んでもよく、1組の信頼条件の実行結果に基づいて、対応する処理動作を実行することができる。コマンドタイプは、少なくともDQLタイプ(データ照会言語)、DMLタイプ(データ操作言語)などを含む。論理操作は、AND、OR、NOT操作を含むが、これらに限定されない。
【0081】
信頼条件は、信頼アクセスの基本的な判断ユニットを定義することができ、少なくとも、
ユーザの身分を制限し、ユーザ名、ユーザグループ、キャラクタなどを含むが、これらに限定されない身分信頼条件と、
ユーザのアクセスレベル、データセキュリティレベル、データセキュリティ分類に基づいて、ユーザがセンシティブデータを取得することを制限するレベル信頼条件と、
ネットワークへのアクセスを制限し、IPアドレス、ホスト名などを含むが、これらに限定されないネットワーク信頼条件と、
アクセス時間を制限し、アクセス時間を含むが、これらに限定されない時間信頼条件と、のうちの1つを含む。
【0082】
信頼条件は、少なくとも信頼アクセスタイプ、信頼アクセスパラメータ名、判定オペレータ及びパラメータ値を含む。判定オペレータは、「より大きい」、「以上」、「以下」、「より小さい」、「等しい」、及び「等しくない」などを含む。
【0083】
処理動作は、センシティブデータに対して実行される保護方法を示し、動作タイプ、動作因子を含む。動作タイプは、少なくとも、アクセス拒否、アクセス許可、元データ表示、マスキング、暗号化、復号、匿名化、監査、警告、及びカスタマイズ動作のうちの1つを含む。動作因子は、実行された具体的な保護動作演算子名及び実際のパラメータを表す。なお、動作タイプ及び動作因子は、カスタマイズ拡張することができ、異なるシーンでのデータ保護に対応する。
【0084】
データセキュリティ分類は、センシティブデータのサービスタイプに基づいて分類することができ、少なくとも分類名、デフォルトのデータセキュリティレベル、デフォルトのフィールド保護ルールを含む。
【0085】
データセキュリティレベルは、少なくともデータセキュリティレベル名及びデータセキュリティレベル値を含む。
【0086】
クライアントのアクセスパラメータに含まれるパラメータは、基本的には、上記クライアントのアクセスパラメータと同様であり、ここでは説明を省略する。ユーザのアクセスレベルは、ユーザの身分レベルを説明するためのものであり、少なくともユーザのアクセスレベル名及びユーザのアクセスレベル値を含み、なお、ユーザのアクセスレベルとデータセキュリティレベルのデータタイプは、同じタイプであり、同じ順序を保持する必要がある。
【0087】
上記ステップを用いると、ポリシーに基づいてフィールドレベルのアクセス制御及び攻撃防御機能を柔軟かつ効果的に提供することができ、様々なコマンドタイプをサポートし、様々な信頼要因の組み合わせに基づいてアクセスを許可してセンシティブデータを取得することをサポートし、ユーザ名、IPアドレス、アクセス時間などの要素に基づくセンシティブデータアクセス許可又はデータ動的取得を実現し、データの機密性レベル及びユーザの身分レベルに基づいて、ユーザによってアクセスが許可された、完全に復号された元データ、部分的にマスキングされたデータ、タグデータ、匿名化データなどのみを取得するようにユーザを制限することができ、異なるユーザが同じセンシティブデータにアクセスする場合に異なる表示を行うことを実現することにより、不正アクセスを効果的に遮断する。
【0088】
同時に、データベースエンジン自体の処理能力を直接利用し、プライバシーデータを効率的、リアルタイム、かつ透過的に保護することができ、ユーザは、データ保護過程を全く感じない。
【0089】
図5は、本開示の具体的な実施例に係るフィールドレベルのセキュリティポリシーのフローチャートであり、図5に示すように、該フローは、以下のステップS502~S510を含む。
【0090】
ステップS502では、分類・レベル分けレベルを定義する。
【0091】
ステップS502-1では、ユーザのアクセスレベルを定義する。
【0092】
ユーザの権限レベルに応じてユーザをレベル分けすることができるか、又はユーザグループタイプ(例えば、低権限ユーザグループ、部分権限ユーザグループ又は高権限ユーザグループ)に応じてレベル分けすることができ、さらにユーザが位置する地理的位置(例えば、中国、ヨーロッパ又は北米地域)に応じてレベル分けすることができる。表1に示すように、表1は、ユーザの分類アクセスレベルの概略表である。
【0093】
【表1】
【0094】
ステップS502-2では、データセキュリティレベルを定義する。
【0095】
センシティブフィールドを、データの機密性(例えば、公開、秘密、機密又は極秘)に応じてレベル分けしてもよく、データの帰属部門(中核部門データ、非中核部門データ)に応じてレベル分けしてもよい。表2に示すように、表2は、データセキュリティレベルの概略表である。
【0096】
【表2】
【0097】
ステップS502-3では、データセキュリティ分類を定義する。
【0098】
データ保護分類は、センシティブデータを分類し、同一種類の、機能意味が類似するデータを分類して識別する。例えば、「身分証明書番号」を1種類のセンシティブデータとすると、該種類に対して、全てのデータベースにおける身分証明書番号のデータフィールドを管理し、統一的なデフォルトのデータレベル及びデフォルトのフィールド保護ルールを実施することができる。表3に示すように、表3は、データセキュリティレベルの概略表である。
【0099】
【表3】
【0100】
ステップS504では、ユーザのアクセスレベルを設定する。
【0101】
表4に示すように、表4は、ユーザにアクセスレベルを割り当てる概略表である。
【0102】
【表4】
【0103】
ステップS506では、センシティブフィールドにデータ保護分類種別及びデータセキュリティレベルを割り当てる。
【0104】
表5に示すように、表5は、センシティブフィールドにデータ保護分類種別及びデータセキュリティレベルを割り当てる概略表である。
【0105】
【表5】
【0106】
ステップS508では、信頼条件を設定する。
【0107】
表6に示すように、表6は、信頼条件の概略表である。
【0108】
【表6】
【0109】
ステップS510では、フィールド保護ルールを設定する。
【0110】
フィールド保護ルールは、異なるコマンドタイプに対して異なるフィールド保護方法を定義し、コマンドタイプ及び1組の信頼条件の論理操作表現式を含んでもよく、1組の信頼条件の実行結果に基づいて、対応する動作を実行することができる。
【0111】
表7に示すように、表7は、フィールド保護ルールの概略表である。
【0112】
【表7】
【0113】
表8に示すように、表8は、処理動作の概略表である。
【0114】
【表8】
【0115】
上記方法により保護ポリシーを柔軟で効果的に提供することができ、データベースにおいてポリシーに基づいてデータベースのアクセス方式及びアクセス内容を柔軟に制御し、不正アクセスを効果的に遮断する。
【0116】
図6は、本開示の具体的な実施例に係るデータ保護装置の構成図であり、前述の方法は、いずれも図6に示すネットワークアーキテクチャで実行することができ、図6に示すように、該装置は、データベースクライアント62と、データベースエンジン64と、データベース66と、を含む。
【0117】
データベースクライアント62は、データベースサービスにアクセスするアプリケーション、プログラム、コマンド又はスクリプトなどであってもよく、ネットワークを介してデータベースエンジンへのアクセス要求を開始し、処理結果を受信するためのものであり、クライアントは、従来の技術を用い、いかなる変更が必要とされない。
【0118】
データベースエンジン64は、クライアントが要求したサービスに対する論理処理を完了するためのものである。データベースエンジンにデータ保護装置を追加することができ、該装置は、データ保護モジュール及びポリシーモジュールを含み、データベースエンジンのセンシティブデータ保護機能を実現するためのものであり、データ保護装置は、データベースエンジンに内蔵される。
【0119】
データ保護モジュールは、ポリシーモジュールからセンシティブデータ保護ポリシーを取得して、アクセス拒否、マスキング処理、暗号化処理、復号処理、匿名化処理、監査、及び警告などのような対応するデータ保護動作を実行することができる。ポリシーモジュールは、分類・レベル分けユニット、ポリシー管理ユニット及びポリシー記憶ユニットを含み、データ保護モジュールにポリシーサポートを提供するためのものである。
【0120】
分類・レベル分けユニットは、ユーザ及びデータを分類・レベル分けして管理するためのものであり、ユーザのアクセスレベル、データセキュリティレベル、データセキュリティ種別などを含む。ポリシー管理ユニットは、データ保護ポリシーを管理し、ポリシーアクセスインタフェースを提供するためのものである。ポリシー記憶ユニットは、データ保護ポリシーを記憶するためのものである。
【0121】
データベース66は、データを実際に記憶する場所であってもよく、1つのデータベースエンジンは、複数のデータベースインスタンスをサポートすることができる。データベースエンジンは、クライアントのアクセス要求を受信した後、受信モジュールによりアクセス要求を解析し、クライアントのアクセスパラメータを取得し、データ保護モジュールによりアクセス要求SQLを解析し、要求タイプ及び被制御フィールドリストを取得し、被制御フィールドリストにおける各フィールドに対して1つずつデータ保護操作を実行し、全ての被制御フィールドの処理が完了すると、第1のSQL文を再合成し、データベースエンジンは、上記第1のSQL文を実行し、結果を上記クライアントにフィードバックする。
【0122】
SQLタイプのデータベースエンジン(Hive、SparkSQLなどを含むが、これらに限定されない)に対して、Hiveデータベースを例として、図7は、本開示の具体的な実施例に係るデータアクセス方法のフローチャートであり、図7に示すように、該フローは、以下のステップS702~S734を含む。
【0123】
ステップS702では、Hive(Hiveは、hadoopに基づくデータウェアハウスツールであり、構造化データファイルをデータベーステーブルにマッピングし、類似SQL照会機能を提供することができる)クライアントは、ネットワークを介してHiveデータベースエンジンへのSQLアクセス要求を直接的に開始する。
【0124】
ステップS704では、Hiveデータベースエンジンは、クライアントのアクセスパラメータを取得する。アクセスパラメータは、少なくとも、
(1)要求SQLを含むが、これらに限定されない元の要求と、
(2)ユーザ名、ユーザグループ、キャラクタなどを含むが、これらに限定されないユーザの身分と、
(3)ユーザのアクセスレベルと、
(4)アクセス時間と、
(5)IPアドレス、ホスト名などを含むが、これらに限定されないネットワークパラメータと、のうちの1つを含む。
【0125】
ステップS706では、HiveデータベースエンジンのSQLパーサは、元の要求におけるSQL文を解析し、構文木を構築し、SQLをさらに抽象化し構造化し、再構築された抽象構文木を生成する。
【0126】
ステップS708では、抽象構文木を解析し、要求SQL文を解析し、SQL文の要求タイプを取得し、DQLタイプの要求に対して、その最上層出力フィールドリストを被制御フィールドリストとして取得し、他のタイプ要求に対して、まず、SQL文が操作したフィールドを解析し、操作されたフィールドを被制御フィールドリストに添加する。
【0127】
ステップS710では、コマンドタイプを判断し、コマンドタイプがDQLタイプである場合、ステップS712を実行し、コマンドタイプがDQLタイプではない場合、ステップS714を実行する。
【0128】
ステップS712では、最上層出力フィールドリストを被制御フィールドリストとして生成する。
【0129】
DQLタイプの照会文を例とすると、
select ename,deptno,sal
from emp
where deptno=
(select deptno from dept where loc=′NEW YORK′);
本ステップにおいて、取得された被制御フィールドリストは、
emp.ename、dept.deptno、emp.salである。
【0130】
emp、deptは、データベーステーブル名であり、他は、フィールド名である。
【0131】
ステップS714では、フィールド名を取得して被制御フィールドリストに添加する。
【0132】
DMLタイプのupdate文を例とすると、
UPDATE Customers SET ContactName=′Alfred Schmidt′,City=′Frankfurt′
WHERE Customer ID=1;
本ステップにおいて、取得された被制御フィールドリストは、
Customers.ContactName、Customers.Cityである。
【0133】
Customersは、データベーステーブル名であり、他は、フィールド名である。
【0134】
ステップS716では、被制御フィールドリストから所定の順序に応じて第1の被制御フィールドを選択し、上記第1の被制御フィールドに対応するデータ保護分類、データセキュリティレベル及びフィールド保護ルールを取得する。
【0135】
表9に示すように、表9は、取得されたフィールド保護ルールの概略表である。
【0136】
【表9】
【0137】
特に、取得された上記第1の被制御フィールドのデータセキュリティレベルが空であれば、上記第1の被制御フィールドのデータ分類のデータセキュリティレベルを上記第1の被制御フィールドのデータセキュリティレベルとして取得し、
特に、取得された上記第1の被制御フィールドのフィールド保護ルールが空であれば、上記第1の被制御フィールドのデータ分類のフィールド保護ルールを上記第1の被制御フィールドの保護ルールとして取得する。
【0138】
ステップS718では、上記第1の被制御フィールドのフィールド保護ルールに対応する1組の信頼条件を実行し、信頼条件の計算結果に基づいて、対応する動作タイプを選択し、具体的な保護動作因子を実行する。
【0139】
ステップS720では、動作タイプを判断し、動作タイプが実行拒否であれば、ステップS722を実行し、動作タイプがマスキング処理、暗号化処理、復号処理、匿名化処理などであれば、ステップS724を実行し、動作タイプが監査であれば、ステップS726を実行する。
【0140】
ステップS722では、クライアントに結果を直接的にフィードバックし、フローを終了する。
【0141】
ステップS724では、フィールド保護ルールにおける動作因子に基づいて、新たなSQL文を合成して、その元の対応するSQL文を置き換える。
【0142】
例えば、enameフィールドに対して、そのselect文タイプの保護ルールは、Selector2->Action1であり、Selector2判断を実行し、すなわち、ユーザのアクセスレベル値<データ保護レベル値であるか否かを判断し、そうであれば、Action1動作を実行し、すなわち、実行を拒否し、そうでなければ、実行を継続する。salフィールドに対して、そのselect文タイプの保護ルールは、Selector1->Action2であり、Selector1判断を実行し、すなわち、ユーザが張三であるか否かを判断し、そうであれば、Action2動作を実行し、すなわち、partialMask(sal,1,’*’,100)を部分マスキングアルゴリズムとして実行し、このステップでは、partialMask(sal,1, ’*’,100)のSQL文を被制御フィールドsalに対応する抽象構文木ノードの元の値salに置き換える。
【0143】
ステップS726では、監査する。
【0144】
ステップS728では、全てのフィールドの処理が完了するか否かを判断し、判断結果がYESであれば、ステップS730を実行し、判断結果がNOであれば、ステップS716を実行する。
【0145】
ステップS730では、抽象構文木をトラバースし、第1のSQL文を再合成し、上記第1のSQL文が最終的に実行されたSQL文であることを決定する。
【0146】
select ename,deptno,partialMask(sal,1, ’*’,100)
from emp
where deptno=
(select deptno from dept where loc=′NEW YORK′);
書き換えられたSQL文は、センシティブフィールドsalに対して部分マスキング処理を自動的に行う。
【0147】
同様に、以下のSQL文に対して、
UPDATE Customers SET ContactName=′Alfred Schmidt′,City=′Frankfurt′
WHERE Customer ID=1;
保護ルールに基づいて、下記のように書き換えてもよい。
UPDATE Customers SET ContactName=Mask(′Alfred Schmidt′, ’*’),City=′Frankfurt′
WHERE Customer ID=1;
Maskは、保護動作因子であり、文字列を*に設定する。
【0148】
ステップS732では、データベースは、書き換えられたSQL文を実行する。
【0149】
ステップS734では、データベースは、最終的に実行されたSQL文に基づいて、処理結果を上記クライアントにフィードバックする。
【0150】
上記ステップを用いると、ポリシーに基づいてフィールドレベルのアクセス制御及び攻撃防御機能を柔軟かつ効果的に提供することができ、様々なコマンドタイプをサポートし、様々な信頼要因の組み合わせに基づいてアクセスを許可してセンシティブデータを取得することをサポートし、ユーザ名、IPアドレス、アクセス時間などの要素に基づくセンシティブデータアクセス許可又はデータ動的取得を実現し、データの機密性レベル及びユーザの身分レベルに基づいて、ユーザによってアクセスが許可された、完全に復号された元データ、部分的にマスキングされたデータ、タグデータ、匿名化データなどのみを取得するようにユーザを制限することができ、異なるユーザが同じセンシティブデータにアクセスする場合に異なる表示を行うことを実現することにより、不正アクセスを効果的に遮断する。同時に、データベースエンジン自体の処理能力を直接利用し、プライバシーデータを効率的、リアルタイム、かつ透過的に保護することができ、ユーザは、データ保護過程を全く感じない。
【0151】
Hiveデータベースに大量のセンシティブデータが保存され、柔軟なデータ保護ポリシーを設定することにより、クライアントのアクセス過程においてHiveデータベースにおけるセンシティブデータを透過的かつリアルタイムに保護することができる。図8は、本開示の具体的な実施例に係るデータアクセス方法の実行シーンの概略図であり、以下のステップ1~4を実行する。
【0152】
ステップ1では、ログインし、具体的には、コンプライアンス管理者は、自分のアカウント及びパスワードを用いてデータベースシステムにログインする。
【0153】
ステップ2では、保護ポリシーを設定し、コンプライアンス管理者は、コマンドの方式又はインタフェース配置の方式でフィールド保護ポリシーを設定する。
【0154】
ステップ3では、ユーザは、クライアントによりアクセス要求を開始し、具体的には、データベースエンジンへの照会要求を直接的に開始する。
【0155】
ステップ4では、データ保護を実行し、具体的には、データベースエンジンは、クライアントのアクセス要求を受信した後、受信モジュールによりアクセス要求を解析し、クライアントのアクセスパラメータを取得し、データ保護モジュールによりアクセス要求SQLを解析し、要求タイプ及び被制御フィールドリストを取得し、被制御フィールドリストにおける各フィールドに対して1つずつデータ保護操作を実行し、全ての被制御フィールドの処理が完了すると、第1のSQL文を再合成し、データベースエンジンは、上記第1のSQL文を実行し、結果を上記クライアントにフィードバックする。
【0156】
ステップ1~2は、コンプライアンス管理者により実行され、ステップ3は、ユーザにより実行され、ステップ4は、データ保護装置により実行される。
【0157】
以上の実施形態の説明により、当業者は、上記実施例に係る方法がソフトウェアと必要な汎用ハードウェアプラットフォームを組み合わせることにより実現されてもよく、当然ハードウェアによって実現されてもよいが、多くの場合、前者が好適な実施形態であることを明確に理解できる。このような理解に基づいて、本開示の技術案の実質又は従来技術に貢献のある部分は、ソフトウェア製品の形態で体現され、該コンピュータソフトウェア製品は、記憶媒体(例えば、ROM/RAM、磁気ディスク、光ディスク)に記憶され、1台の端末機器(携帯電話や、コンピュータ、サーバ、ネットワーク機器などであってもよい)に本開示の各実施例で説明した方法を実行させるいくつかの命令を含む。
【0158】
本実施例において、さらに、データアクセス装置が提供され、該装置は、上記実施例及び好ましい実施形態を実現することに用いられ、既に説明され、そのため繰り返し説明を省略する。以下に用いられる用語「モジュール」は、所定の機能のソフトウェア及び/又はハードウェアの組み合わせを実現することができる。以下の実施例に説明される装置は、好ましくは、ソフトウェアで実現されるが、ハードウェア、又はソフトウェアとハードウェアの組み合わせで実現されてもよい。
【0159】
図9は、本開示の実施例に係るデータアクセス装置のブロック構成図であり、図9に示すように、該装置は、
データベース内のデータへのアクセスを要求するための第1のアクセス要求を受信するように構成される受信モジュール92と、
上記第1のアクセス要求を解析し、第1のアクセスパラメータ、第1の要求タイプ及び第1の被制御フィールドリストである上記第1のアクセス要求に対応するデータを取得するように構成される取得モジュール94と、
上記第1のアクセスパラメータ及び上記第1の要求タイプに基づいて、上記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得するように構成される実行モジュール96と、
上記目標結果に基づいて、第2のアクセス要求を合成し、上記第2のアクセス要求に基づいて、上記データベース内のデータにアクセスすることにより、アクセス結果を取得するように構成されるアクセスモジュール98と、を含む。
【0160】
該データアクセス装置は、図6に示すデータベースエンジンに対応し、上記受信モジュール92は、図6に示す受信モジュールに対応し、上記実行モジュール96は、図6に示すデータ保護モジュールに対応し、上記アクセスモジュール98は、上記実行エンジンに対応する。具体的には、上記取得モジュール94は、上記ポリシーモジュールにおける分類・レベル分けユニットに対応し、上記アクセスモジュール98は、上記ポリシーモジュールにおけるポリシー記憶ユニット及びポリシー管理ユニットに対応する。
【0161】
例示的な一実施例において、上記取得モジュール94は、下記方式で上記アクセス要求を解析し、上記第1のアクセス要求に対応する第1の被制御フィールドリストを取得することを実現することができる。上記第1のアクセス要求がデータ照会言語DQLタイプの要求である場合、上記DQLタイプの要求の最上層出力フィールドリストを上記第1の被制御フィールドリストとして決定し、上記第1のアクセス要求が上記DQLタイプの要求以外の他の要求である場合、上記他の要求が操作したターゲットフィールドリストを決定し、上記ターゲットフィールドリストを上記第1の被制御フィールドリストとして決定する。
【0162】
例示的な一実施例において、上記実行モジュール96は、下記方式で上記第1のアクセスパラメータ及び上記第1の要求タイプに基づいて、上記第1の被制御フィールドリストに対して第1のデータ保護操作を実行し、目標結果を取得することを実現することができる。上記第1の被制御フィールドリストから所定の順序に応じて1つの被制御フィールドを第1の被制御フィールドとして選択し、上記第1の被制御フィールドに対応する第1のフィールド保護ルール、データセキュリティ分類、及びデータセキュリティレベルを決定し、異なるフィールド保護ルールは、異なる信頼条件、要求タイプ及び処理動作の組み合わせに対応し、上記信頼条件は、第1のアクセスパラメータに対応するアクセス許可条件を含み、上記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、上記第1の被制御フィールドに対して上記第1のデータ保護操作を実行し、上記目標結果を取得する。
【0163】
例示的な一実施例において、上記実行モジュール96は、下記方式で上記第1のフィールド保護ルールに対応する第1の処理動作に基づいて、上記第1の被制御フィールドに対して上記第1のデータ保護操作を実行し、上記目標結果を取得することを実現することができる。取得された第1のアクセスパラメータに基づいて、上記第1のフィールド保護ルールに対応する1組の信頼条件を実行し、上記第1のアクセスパラメータは、少なくとも、元の要求文、ユーザの身分、ユーザのアクセスレベル、アクセス時間、ネットワークパラメータのうちの1つを含み、1組の信頼条件の実行結果に基づいて、上記第1の処理動作に含まれる第1の動作タイプ及び第1の動作因子を決定し、上記第1の動作タイプは、具体的な保護操作を指示し、上記第1の動作因子は、上記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示し、上記第1の動作因子に基づいて、上記第1の被制御フィールドに対して保護処理を行うことにより、上記目標結果を取得する。
【0164】
例示的な一実施例において、上記実行モジュール96は、下記方式で上記第1の動作因子に基づいて、上記第1の被制御フィールドに対して保護処理を行うことにより、上記目標結果を取得することを実現することができる。上記第1の処理動作タイプがマスキング動作、暗号化処理動作、復号処理動作、匿名化動作及びカスタマイズ動作のうちの1つを含む場合、上記第1の動作因子に基づいて、上記第1の被制御フィールドを新たなSQL文に合成することにより、上記目標結果を取得する。
【0165】
例示的な一実施例において、上記装置は、受信された第1の配置コマンドに基づいて、フィールド保護ルールを配置するように構成され、上記フィールド保護ルールは、要求タイプ、1組の信頼条件及び処理動作の組み合わせを含み、上記要求タイプは、データ照会言語DQLタイプ、及びデータ操作言語DMLタイプのうちの少なくとも1つを含み、上記信頼条件は、信頼アクセスの基本的な判断ユニットを定義するためのものであり、少なくとも信頼アクセスタイプ、信頼アクセスパラメータ名、判定オペレータ及びパラメータ値を含み、上記信頼アクセスタイプは、身分信頼条件、レベル信頼条件、ネットワーク信頼条件、及び時間信頼条件のうちの少なくとも1つを含み、上記判定オペレータは、「より大きい」、「以上」、「以下」、「より小さい」、「等しい」、及び「等しくない」を含み、上記処理動作は、動作タイプ及び動作因子を含み、上記動作タイプは、具体的な保護操作を指示し、上記動作因子は、上記具体的な保護動作演算子名及び処理対象の実際のパラメータを指示し、上記動作タイプは、アクセス拒否、アクセス許可、元データ表示、マスキング処理、暗号化処理、復号処理、匿名化処理、監査処理、及び警告処理のうちの少なくとも1つを含む。
【0166】
例示的な一実施例において、上記第1のアクセスパラメータに上記ユーザのアクセスレベルが含まれる場合、上記信頼条件に上記ユーザのアクセスレベルに対応する上記レベル信頼条件が含まれ、上記レベル信頼条件は、上記ユーザのアクセスレベルが上記データセキュリティレベル以上であると決定する場合、上記ユーザのアクセスレベルが上記レベル信頼条件を満たすことを決定する。
【0167】
例示的な一実施例において、上記装置は、さらに、受信された第2の配置コマンドに基づいて、各被制御フィールドに対応するデータセキュリティ分類及びデータセキュリティレベルを配置するように構成され、同一のデータセキュリティ分類に属する複数の被制御フィールドに対応するデータセキュリティレベルが同じである。
【0168】
なお、上記各モジュールは、ソフトウェア又はハードウェアにより実現することができ、後者である場合、上記モジュールがいずれも同一のプロセッサに位置する方式、又は、上記各モジュールが任意の組み合わせでそれぞれ異なるプロセッサに位置する方式で実現することができるが、これらに限定されない。
【0169】
本開示の実施例において、さらに、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体が提供され、該コンピュータプログラムは、実行される場合に上記いずれかの方法の実施例におけるステップを実行するように構成される。
【0170】
例示的な一実施例において、上記コンピュータ読み取り可能な記憶媒体は、USBディスクや、リードオンリーメモリ(Read-Only Memory、ROMと略称される)、ランダムアクセスメモリ(Random Access Memory、RAMと略称される)、モバイルハードディスク、磁気ディスク又は光ディスクなどのコンピュータプログラムを記憶できる様々な媒体を含んでもよいが、これらに限定されない。
【0171】
本開示の実施例において、さらに、コンピュータプログラムが記憶されているメモリと、コンピュータプログラムを実行して上記いずれかの方法の実施例におけるステップを実行するように構成されるプロセッサと、を含む電子装置が提供される。
【0172】
例示的な一実施例において、上記電子装置は、伝送機器及び入出力機器をさらに含んでもよく、該伝送機器は、上記プロセッサに接続され、該入出力機器は、上記プロセッサに接続される。
【0173】
本実施例における具体的な例は、上記実施例及び例示的な実施形態に説明される例を参照できるので、本実施例は、ここでは繰り返し説明を省略する。
【0174】
明らかに、当業者は、上述した本開示における各モジュール又は各ステップが汎用コンピューティングデバイスで実現されてもよく、それらが単一のコンピューティングデバイスに集中されてもよく、又は複数のコンピューティングデバイスで構成されたネットワークに分布されてもよく、それらがコンピューティングデバイスで実行可能なプログラムコードで実現されてよいので、それらを記憶装置に記憶してコンピューティングデバイスで実行し、かついくつかの場合で、本明細書とは異なる順序で、図示又は記載されたステップを実行することができ、又はそれらをそれぞれ各集積回路モジュールに作り、又はそれらのうちの複数のモジュール又はステップを単一の集積回路に作って実現することを理解すべきである。これにより、本開示は、いかなる特定のハードウェアとソフトウェアの組み合わせに限定されない。
【0175】
以上は、本開示の好ましい実施例に過ぎず、本開示を限定するものではなく、当業者であれば、本開示に対する様々な変更と変化を行うことができる。本開示の原則内で行われるいかなる修正、同等置換及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】