JP2023087420A - 秘匿化装置、秘匿化方法、および秘匿化プログラム - Google Patents

秘匿化装置、秘匿化方法、および秘匿化プログラム Download PDF

Info

Publication number
JP2023087420A
JP2023087420A JP2021201784A JP2021201784A JP2023087420A JP 2023087420 A JP2023087420 A JP 2023087420A JP 2021201784 A JP2021201784 A JP 2021201784A JP 2021201784 A JP2021201784 A JP 2021201784A JP 2023087420 A JP2023087420 A JP 2023087420A
Authority
JP
Japan
Prior art keywords
data
attribute
user
anonymization
resource
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
JP2021201784A
Other languages
English (en)
Other versions
JP7381552B2 (ja
Inventor
健輔 小林
Kensuke Kobayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021201784A priority Critical patent/JP7381552B2/ja
Priority to US17/879,855 priority patent/US20230185956A1/en
Publication of JP2023087420A publication Critical patent/JP2023087420A/ja
Application granted granted Critical
Publication of JP7381552B2 publication Critical patent/JP7381552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • 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
    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】データ保護のレベルが異なるユーザ間での同時閲覧の利便性の向上を図ること。【解決手段】プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する秘匿化装置は、1以上の項目と当該項目の内容を示すデータとを有するリソースについて、ユーザの属性および前記項目の属性に基づいて前記データの秘匿化を前記ユーザごとに制御する秘匿化処理と、前記ユーザごとに前記秘匿化処理が実行された秘匿化結果に基づく前記リソースを、前記ユーザごとの端末に出力する第1出力処理と、を実行する。【選択図】図1

Description

本発明は、データを秘匿化する秘匿化装置、秘匿化方法、および秘匿化プログラムに関する。
GDPR(General Data Protection Regulation)のような個人情報等のデータ保護を目的とした制約により、ストレージ装置の管理UI(User Interface)のような顧客情報を含むリソースの表示および管理を目的としたUIでは、閲覧するユーザにより秘匿すべき情報が変化する。秘匿すべきユーザに対して情報を開示する場合は、画面のスクリーンショットを採取したのちに手動で顧客情報を隠して提供したり、顧客情報を含まない擬似環境を構築した上で当該擬似環境にアクセスしたりする方法が採用されている。このように、静的な表示制御で秘匿情報をマスキングする公知技術として、下記特許文献1がある。
下記特許文献1は、新規利用者への対応等のメンテナンスに手間を要さずに、文字列、画像または動画等を含んだ閲覧情報に対し、利用者の閲覧権限レベルに応じて柔軟に機密箇所の隠蔽領域を制御する閲覧情報管理システムを開示する。
この閲覧情報管理システムは、マスクレイヤデータの選択手段とマスクレイヤデータの合成手段を有し、前記選択手段は、隠蔽領域が描かれた複数のマスクレイヤデータから、利用者の閲覧権限レベルに応じて単数または複数のマスクレイヤデータを選択し、前記合成手段は、閲覧情報である原本データに対して、前記選択手段によって選択された単数または複数のマスクレイヤデータを合成し、利用者に対して、前記閲覧情報に隠蔽処理を行って、提供する。
特開2004-178498号公報
しかしながら、データ保護のレベルが異なるユーザ間で本番環境を共有することができず、リアルタイムに同時作業することが困難である。また、企業間での協業や問題解決においても、直接同じ環境を共有することが許されず、多くの時間とコストがかかる。
本発明は、データ保護のレベルが異なるユーザ間での同時閲覧の利便性の向上を図ることを目的とする。
本開示技術の秘匿化装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する秘匿化装置であって、前記プロセッサは、1以上の項目と当該項目の内容を示すデータとを有するリソースについて、ユーザの属性および前記項目の属性に基づいて前記データの秘匿化を前記ユーザごとに制御する秘匿化処理と、前記ユーザごとに前記秘匿化処理が実行された秘匿化結果に基づく前記リソースを、前記ユーザごとの端末に出力する第1出力処理と、を実行することを特徴とする。
本発明の代表的な実施の形態によれば、データ保護のレベルが異なるユーザ間での同時閲覧の利便性の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、秘匿化システムのハードウェア構成例を示すブロック図である。 図2は、秘匿化システムにおけるデータ参照例を示す説明図である。 図3は、秘匿化システムにおけるデータ更新例1を示す説明図である。 図4は、秘匿化システムにおけるデータ更新例2を示す説明図である。 図5は、セッションテーブルの一例を示す説明図である。 図6は、リソースタイプテーブルの一例を示す説明図である。 図7は、リソーステーブルの一例を示す説明図である。 図8は、マッピングテーブルの一例を示す説明図である。 図9は、秘匿化判定パターンの一例を示す説明図である。 図10は、図9に示した秘匿化判定パターンに基づく秘匿化判定処理の一例を示す説明図である。 図11は、秘匿化装置が実行する子セッション生成処理の一例を示すフローチャートである。 図12は、図11に示したダミー生成処理(ステップS1105)の一例を示すフローチャートである。 図13は、画面表示処理の一例を示すフローチャートである。 図14は、データ更新処理の一例を示すフローチャートである。 図15は、セッション破棄処理の一例を示すフローチャートである。 図16は、図15に示したダミー破棄処理(ステップS1504、S1508)の一例を示すフローチャートである。
以下、本実施例にかかる秘匿化装置について説明する。なお、以下の説明において、「秘匿化」とは、リソースとなる情報のうち一部または全部の項目の属性を維持したまま当該項目の値を文字以外の意味のない図形(たとえば、黒塗り)や記号に書き換えたりするほか、当該項目の属性を維持したまま意味のある別のデータに書き換えることを含む。すなわち、データの保護が必要なユーザに対しては、架空のデータとして表示される。また、「リソース」とは、たとえば、顧客情報のような、秘匿化装置と通信可能な業務用端末が秘匿化装置から参照可能な情報である。
<秘匿化システムのハードウェア構成例>
図1は、秘匿化システムのハードウェア構成例を示すブロック図である。秘匿化システム100は、管理対象プラットフォーム101と、秘匿化装置102と、複数(図1では、例として2台)の業務用端末103A、103B(業務用端末103A、103Bを区別しない場合、単に業務用端末103と表記。)と、を有する。
管理対象プラットフォーム101および秘匿化装置102は、たとえば、管理用LAN(Local Area Network)104を介して相互に通信可能に接続される。秘匿化装置102および業務用端末103は、たとえば、業務用LAN105を介して相互に通信可能に接続される。管理用LAN104および業務用LAN105は、インターネットやWAN(Wide Area Network)でもよい。
管理対象プラットフォーム101は、秘匿化装置102が管理するプラットフォームである。管理対象プラットフォーム101は、通信インタフェース110を有する。通信インタフェース110は、管理用LAN104を介して、秘匿化装置102の通信インタフェース121と通信可能に接続される。
秘匿化装置102は、業務用端末103に対してWebサーバとして機能する。具体的には、たとえば、秘匿化装置102は、通信インタフェース121と、通信インタフェース122と、プロセッサ123と、メモリ124と、を有する。通信インタフェース121は、管理用LAN104を介して、管理対象プラットフォーム101の通信インタフェース110と通信可能に接続される。通信インタフェース122は、業務用LAN105を介して、業務用端末103と通信可能に接続される。
プロセッサ123は、秘匿化装置102を制御する。メモリ124は、プロセッサ123の作業エリアとなる。また、メモリ124は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。メモリ124は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリなどの記憶デバイスで構成される。
メモリ124は、通信プログラム150と、リソース制御プログラム160と、データベース170と、を記憶する。データベース170は、管理用LAN104または業務用LAN105に接続された不図示のデータベースサーバ内に保存されてもよい。
通信プログラム150において、リクエスト受信部151およびレスポンス送信部152は、具体的には、たとえば、通信プログラム150をプロセッサ123に実行させることにより実現される機能である。リクエスト受信部151は、業務用端末103からリクエストを受信する。レスポンス送信部152は、リクエストの送信元の業務用端末103にレスポンスを送信する。
リソース制御プログラム160において、リソースアクセス制御部161、ダミー生成部162、およびデータ更新部163は、具体的には、たとえば、リソース制御プログラム160をプロセッサ123に実行させることにより実現される機能である。
リソースアクセス制御部161は、リソースへのアクセスを制御する。リソースとは、リソーステーブル173のエントリである。ダミー生成部162は、リソースに含まれるデータ群のうち秘匿すべきデータを秘匿化したダミーデータを生成する。データ更新部163は、リソースのデータ群のうち、業務用端末103によって変更されたデータを更新する。
データベース170は、セッションテーブル171(図5で後述)と、リソースタイプテーブル172(図6で後述)と、リソーステーブル173(図7で後述)と、マッピングテーブル174(図8で後述)と、を有する。
なお、図示はしないが、秘匿化装置102は、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサのような入力デバイスや、たとえば、ディスプレイ、プリンタ、スピーカのような出力デバイスを有してもよい。
業務用端末103Aは、データ保護を必要としないユーザUAが使用するコンピュータである。ユーザUAは、たとえば、秘匿化システム100のシステム管理者(admin)である。業務用端末103Aは、秘匿化装置102からのレスポンスによりWeb画面130Aを表示する。
Web画面130Aには、ユーザUAが所属する事業者が取り扱う顧客情報(Customer Info)として、ID:0x01、ランク(Rank):Silver、名前(Name):Luffy、郵便番号(Zip Code):123-45が表示されている。
IDは顧客を一意に特定する識別情報であり、「0x01」は、名前が「Luffy」である顧客のIDを示す。ランクは顧客の等級であり、「Silver」は、名前が「Luffy」である顧客の等級を示す。名前は顧客を指定する名称(たとえば、氏名やハンドル名)を示す文字列であり、「Luffy」は、IDが「0x01」である顧客の名称である。郵便番号は、郵便物の配送のために顧客の居住地を含む地域を分類した数字列である。「123-45」は、名前が「Luffy」である顧客の郵便番号である。ユーザUAは、データ保護を必要としない者であるため、顧客情報が秘匿化されることなくWeb画面130Aに表示される。
業務用端末103Bは、データ保護を必要とするユーザUBが使用するコンピュータである。ユーザUBは、たとえば、ユーザUAの協業先のエンジニアであり、ユーザUAから見ると「guest」という立場になる。業務用端末103Bは、Web画面130Bを表示する。Web画面130Bには、ユーザUAが所属する事業者が取り扱う顧客情報として、ID:0x01、ランク:Silver、名前:Strawhat、郵便番号:000-00が表示されている。
ユーザUBは、データ保護を必要とする者であるため、顧客情報の一部である名前が「Luffy」から「Strawhat」に秘匿化され、郵便番号が「123-45」から「000-00」に秘匿化されて、Web画面130Aと同時にWeb画面130Bに表示される。なお、以下の説明で、Web画面130A、130Bを区別しない場合は、単に、Web画面130と表記する。
<データ参照例>
図2は、秘匿化システム100におけるデータ参照例を示す説明図である。図2では、図1に示した顧客情報をWeb画面130A、Web画面130Bに表示して、ユーザUA、UBが参照する例を示す。データベース170には、表示対象となるリソースがマスタデータ201として記憶されている。マスタデータ201は、ID:0x01、ランク:Silver、名前:Luffy、郵便番号:123-45を有する顧客情報であり、リソーステーブル173のエントリとして登録されている。
ダミー生成部162は、マスタデータ201からダミーデータ202を生成する。ダミーデータ202は、マスタデータ201に含まれているID:0x01、ランク:Silverと、マスタデータ201に含まれている名前「Luffy」を「Strawhat」に秘匿化し、郵便番号「123-45」を「000-00」に秘匿化した顧客情報である。ダミーデータ202もリソーステーブル173のエントリとして、マスタデータ201とは別に登録されている。
マスタデータ201のうちどのデータを秘匿化するかについては、そのデータの属性やユーザUBの属性によって決定される(図9および図10で後述)。秘匿化装置102は、マスタデータ201を業務用端末103Aに送信するとともに、ダミーデータ202を業務用端末103Bに送信することにより、業務用端末103Aにはマスタデータ201がWeb画面130Aに表示され、業務用端末103Bにはダミーデータ202がWeb画面130Aと同時にWeb画面130Bに表示される。
たとえば、ユーザUA,UBが参加するWeb会議において顧客情報を参照する場合、ユーザUAがユーザUBに見せたくないデータ(顧客の名前「Luffy」および郵便番号「123-45」)があったとしても、ユーザUBの参照時には顧客の名前「Luffy」および郵便番号「123-45」は秘匿化されて「Strawhat」および「000-00」に変換済みである。
このため、ユーザUAは、顧客の名前「Luffy」および郵便番号「123-45」の項目をWebサーバに対して修正して、WebサーバがユーザUBの業務用端末103Bに送るといった手間がかからない。したがって、業務用LAN105のトラフィックの混雑が低減化され、秘匿化装置102の負荷低減を図ることができる。
また、上記のような修正の手間がかからないため、ユーザUA,UBが異なるデータ保護レベルであってもリアルタイムに同じ顧客情報を参照することができる。したがって、ユーザUA,UBにとって利便性が高く、会議の進行の効率化を図ることができる。
<データ更新例>
図3は、秘匿化システム100におけるデータ更新例1を示す説明図である。データ更新例1は、業務用端末103Bにおいてダミーデータ202が更新された場合のマスタデータ201の更新例を示す。
(1)業務用端末103Bが、ユーザUBの操作により、ランクが「Silver」から「Gold」に変更されると、業務用端末103Bは、ランクの変更リクエストを秘匿化装置102に送信する。なお、ランクは、ユーザUBにより変更可能なデータである。
(2)秘匿化装置102は、リクエスト受信部151により(1)の「Silver」から「Gold」へのランクの変更リクエストを受信すると、データ更新部163により、リソーステーブル173内のダミーデータ202のランクを「Silver」から「Gold」に変更する。
(3)秘匿化装置102は、データ更新部163により、(2)のダミーデータ202におけるランクの「Silver」から「Gold」への変更を、リソーステーブル173内のマスタデータ201に反映する。
(4)秘匿化装置102は、レスポンス送信部152により、(3)のランクの「Silver」から「Gold」への変更が反映されたマスタデータ201を、業務用端末103Aに送信し、Web画面130Aを更新する。これにより、業務用端末103Bでの変更が即座にWeb画面130Aに反映される。
このように、ユーザUA、UBの双方にとって秘匿化されていないデータについては、いずれか一方の変更が他方に即座に反映される。
図4は、秘匿化システム100におけるデータ更新例2を示す説明図である。データ更新例1は、業務用端末103Aにおいてマスタデータ201が更新された場合のダミーデータ202の更新例を示す。図4では、マスタデータ201の名前に誤記があり、その誤記を修正する場合を例に挙げる。なお、名前については、ユーザUAは変更する権限を有するが、ユーザUBは有していない。
(1)業務用端末103Aが、ユーザUAの操作により、名前が「Lufy」から「Luffy」に変更されると、業務用端末103Aは、名前の変更リクエストを秘匿化装置102に送信する。
(2)秘匿化装置102は、リクエスト受信部151により、(1)の「Lufy」から「Luffy」へのランクの変更リクエストを受信すると、データ更新部163によりリソーステーブル173内のマスタデータ201の名前を「Lufy」から「Luffy」に変更する。
(3)秘匿化装置102は、ダミー生成部162により、(2)のマスタデータ201における名前の「Lufy」から「Luffy」への変更を契機として、変更後の「Luffy」に応じたダミー名として名前「Rubber」を生成する。なお、ダミー名の生成は既存技術であるため詳細を割愛するが、入力データ(ここでは「Luffy」)の文字列から変換された文字列でも、関連性のないランダマイズされた文字列でもよく、また、入力データに関連する文字列を管理対象プラットフォーム101やインターネット上のサイトから取得してもよい。そして、秘匿化装置102は、リソーステーブル173内のダミーデータ202の名前「Strawhat」からダミー名「Rubber」に変更する。
(4)秘匿化装置102は、レスポンス送信部152により、(3)のダミー名「Rubber」が反映されたダミーデータ202により、業務用端末103BのWeb画面130Bを更新する。これにより、業務用端末103Aでの変更が即座にWeb画面130Bに反映される。このように、ユーザUBに秘匿化されているデータをユーザUAが変更する場合、当該変更がユーザUBの業務用端末103Bに即座に反映される。
なお、上記(3)において、ダミー生成部162は、ダミー名を生成しなくてもよい。この場合、ダミーデータ202の名前は「Strawhat」のままであり、Web画面130Bも更新されない。これにより、業務用端末103Aで名前の修正が行われたこと自体が秘匿化される。
<データベース170>
つぎに、データベース170に記憶されているテーブル群について具体的に説明する。
図5は、セッションテーブル171の一例を示す説明図である。セッションテーブル171は、秘匿化装置102と業務用端末103との間に確立されたセッションを管理するテーブルである。セッションテーブル171は、フィールドとして、セッションID(session_id)501と、ユーザ名(user)502と、第1秘匿化制御レベル(aclevel)503と、親セッションID(parent_ID)504と、を有する。同一行における各フィールド501~504の値の組み合わせが、1つのセッションを規定するエントリとなる。
セッションID501は、セッションを一意に特定する識別情報である。ユーザ名502は、そのセッションが確立された業務用端末103を使用するユーザを指定する名称(たとえば、氏名やハンドル名、役職名、職種名)を示す文字列であり、ユーザの属性を示す。「admin」はある事業者における管理者、「worker」は当該事業者における従業員、「guest」は当該事業者の協業先の従業員(参加者)である。
第1秘匿化制御レベル503は、ユーザ名502で特定されるユーザに対しデータの秘匿化を実行するか否かを制御するレベルである。すなわち、第1秘匿化制御レベル503は、ユーザに対しデータの保護の必要性の低さを示す。当該レベルの値が大きいほど、当該データの秘匿化は実行されにくくなり(データの保護の必要性が低く)、その値が小さいほど当該データの秘匿化は実行されやすくなる(データの保護の必要性が高い)。
本例では、たとえば、第1秘匿化制御レベル503の値が「2」のユーザ名502は、データの保護(秘匿化)の必要性がないユーザ属性であり、第1秘匿化制御レベル503の値が「0」のユーザ名502は、データの保護(秘匿化)の必要性があるユーザ属性であり、第1秘匿化制御レベル503の値が「1」のユーザ名502は、後述する第2秘匿化制御レベル604に応じて、データの保護(秘匿化)の必要性が決定されるユーザ属性である。
なお、ユーザ名502および第1秘匿化制御レベル503の組み合わせは、図示しないテーブルによりメモリ124内で管理されており、セッションテーブル171のエントリ生成時に参照される。
親セッションID504は、親セッションを一意に特定する識別情報である。親セッションとは、セッションID501で規定されるセッションを子セッションとした場合、当該子セッションの生成元となるセッションである。すなわち、親セッションID504は、当該生成元となるセッションのセッションID501である。なお、親セッションにはその親セッションは存在しないため、親セッションを規定するエントリにおける親セッションID504の値は、親セッションが存在しないことを示す「null」となる。
また、秘匿化装置102と親セッションが確立した業務用端末103AのユーザUAを親ユーザと称する場合があり、秘匿化装置102と子セッションが確立した業務用端末103BのユーザUBを子ユーザと称する場合がある。
図5では、1行目のエントリは、親セッションID504が存在しないため親セッションを示し、2行目および3行目のエントリは、親セッションID504の値が1行目のエントリのセッションID501の値であるため、当該親セッションの子セッションを示す。なお、リソースアクセス制御部161は、秘匿化装置102または業務用端末103によってセッションが終了されると、当該セッションのエントリをセッションテーブル171から削除する(図15で後述)。
図6は、リソースタイプテーブル172の一例を示す説明図である。リソースタイプテーブル172は、リソース内のデータの属性を規定するテーブルである。リソースは、たとえば、顧客情報のような、複数の業務用端末103で参照可能な情報である。
リソースタイプテーブル172は、フィールドとして、リソースタイプ(resource type)601と、パラメータ(param)602と、フォーマット(format)603と、第2秘匿化制御レベル(acLevel)604と、を有する。リソースタイプ601の行における各フィールド601~604の値の組み合わせが、1つのリソースタイプ601を規定するエントリとなる。
リソースタイプ601は、顧客(customer)611のようなリソースの種別である。パラメータ602は、リソースタイプ601ごとに設けられた項目であり、リソース内のデータの属性を示す。パラメータ602は、たとえば、リソースタイプ601の値が顧客611の場合、図1~図4のWeb画面130に示したID、ランク(rank)、名前(name)、郵便番号(zip code)である。
フォーマット603は、パラメータ602の記述形式である。たとえば、「number」はパラメータ602を数値で表す記述形式であり、「string」はパラメータ602を文字列で表す記述形式である。
第2秘匿化制御レベル604は、リソースタイプ601で特定されるリソースについてデータの秘匿化を実行するか否かを制御するレベルであり、その値が大きいほど、当該データの秘匿化は実行されやすくなり、その値が小さいほど当該データの秘匿化は実行されにくくなる。
図6において、リソースタイプ601の値が顧客611のエントリについては、ID、ランク(rank)、名前(name)、郵便番号(zip code)という4つのパラメータ602を有し、各々の第2秘匿化制御レベル604の値は、「0」、「0」、「1」、「2」である。すなわち、IDおよびランク(rank)は、名前(name)と比較して秘匿化されにくく、郵便番号(zip code)は、名前(name)と比較して秘匿化されやすいことを示す。
本例では、たとえば、第2秘匿化制御レベル604の値が「0」のパラメータ602は、そのデータの保護(秘匿化)の必要性がない項目属性であり、第2秘匿化制御レベル604の値が「2」のパラメータ602は、そのデータの保護(秘匿化)の必要性がある項目属性であり、第2秘匿化制御レベル604の値が「1」のパラメータ602は、第1秘匿化制御レベル503に応じて、データの保護(秘匿化)の必要性が決定される項目意属性である。
図7は、リソーステーブル173の一例を示す説明図である。リソーステーブル173は、リソースに関するデータを記憶するテーブルである。リソーステーブル173は、リソースタイプ601ごとに存在するが、図7では、リソースタイプ601の値が顧客611の場合のリソーステーブル173を例に挙げて説明する。
リソーステーブル173は、フィールドとして、UUID(Universally Unique Identifier)701と、リソースタイプ601の値が顧客611の場合のパラメータ602であるID702、ランク(rank)703、名前(name)704および郵便番号(zip code)705と、を有する。ID702、ランク703、名前704および郵便番号705の各値は、パラメータ602の内容を示す。
同一行における各フィールド701~705の値の組み合わせが、1つのリソースである顧客情報を規定するエントリとなる。ただし、同一顧客のマスタデータ201およびダミーデータ202を区別するため、同一顧客であっても、マスタデータ201のエントリとダミーデータ202のエントリとは別々に格納される。
UUID701は、リソースである顧客情報を一意に特定する識別情報である。ID702は、UUID701で特定された顧客情報における顧客611を一意に特定する識別情報であり、Web画面130のIDとして表示される。上述したように、同一顧客611であっても、マスタデータ201のエントリとダミーデータ202のエントリとは別々に格納されるため、複数のエントリに同一のID702の値が存在する場合がある。
ランク703は、ID702で特定された顧客611の等級であり、Web画面130のRankとして表示される。名前704は、ID702で特定された顧客611を指定する名称(たとえば、氏名やハンドル名)を示す文字列であり、Web画面130のNameとして表示される。なお、当該エントリがダミーデータ202であれば、名前704の値としてダミー名が登録される。郵便番号705は、郵便物の配送のためにID702で特定された顧客611の居住地を含む地域を分類した数字列であり、Web画面130のZip Codeとして表示される。
図8は、マッピングテーブル174の一例を示す説明図である。マッピングテーブル174は、マスタデータ201とダミーデータ202との関連性を記憶するテーブルである。マッピングテーブル174は、フィールドとして、ソース(source)801と、ターゲット(target)802と、関連セッションID(session_id)803と、を有する。同一行における各フィールド801~803の値の組み合わせが、1つのマスタデータ201および1つのダミーデータ202の関連性を規定するエントリとなる。
ソース801は、マスタデータ201のリソースタイプ601およびUUID701の値の組み合わせであり、マスタデータ201を一意に特定する。ターゲット802は、ダミーデータ202のリソースタイプ601およびUUID701の値の組み合わせであり、ダミーデータ202を一意に特定する。
関連セッションID803は、ソース801およびターゲット802に関連するセッションID501である。具体的には、たとえば、関連セッションID803は、ソース801で特定されるマスタデータ201が提供される業務用端末103Aからの指定により、ターゲット802で特定されるダミーデータ202が提供される業務用端末103Bのために生成された子セッションのセッションID501である。
なお、リソースアクセス制御部161は、秘匿化装置102または業務用端末103によってセッションが終了すると、当該セッションのセッションID501が関連セッションID803として登録されているエントリをマッピングテーブル174から削除する。
<秘匿化判定処理例>
図9は、秘匿化判定パターンの一例を示す説明図である。図9において、秘匿化判定パターン900は、第1秘匿化制御レベル503の値と第2秘匿化制御レベル604の値との組み合わせと、当該組み合わせごとの秘匿化有無と、を示す。秘匿化装置102は、秘匿化判定パターン900を参照して、秘匿化の判定対象となるパラメータ602(ID702、ランク703、名前704、郵便番号705)の値が、秘匿化されるデータである(masked)か、または、秘匿化されないデータである(not masked)か、を判定する。
図10は、図9に示した秘匿化判定パターン900に基づく秘匿化判定処理の一例を示す説明図である。秘匿化判定処理テーブル1000において、左端の列はセッションID501およびユーザ名502で、上端の行はリソースタイプ601が顧客611である。「acLevel」の列は、セッションID501およびユーザ名502の組み合わせごとの第1秘匿化制御レベル503を示す。「acLevel」の行は、ID702、ランク703、名前704および郵便番号705の第2秘匿化制御レベル604を示す。
図10において、セルの各々は、セッションID501およびユーザ名502の第1秘匿化制御レベル503との組み合わせで特定される行と、ID702、ランク703、名前704および郵便番号705の各々の第2秘匿化制御レベル604で特定される列と、により特定される。各セルには、「masked」(秘匿化)、または、「not masked」(秘匿化されない)が秘匿化判定結果として記憶されている。秘匿化装置102は、秘匿化判定結果を参照して、セッションID501およびユーザ名502で特定されるユーザのセッションにおいて、ID702、ランク703、名前704および郵便番号705の値を秘匿化したり、秘匿化しなかったりする。
たとえば、ユーザ名502が「admin」であるユーザUAについてのセッション(セッションID501:「1a2c39ba…」)については、第1秘匿化制御レベル503の値が「2」であるため、ID702、ランク703、名前704および郵便番号705の第2秘匿化制御レベル604の値がいずれの値であっても、ID702、ランク703、名前704および郵便番号705の値であるリソースのデータは、ユーザUAの業務用端末103AのWeb画面130Aでは秘匿化されない(not masked)(図9の第1秘匿化制御レベル503の値が「2」の列を参照。)。
また、ユーザ名502が「worker」であるユーザについてのセッション(セッションID501:「3de5abb9…」)については、第1秘匿化制御レベル503の値が「1」であるため、ID702、ランク703、名前704および郵便番号705のうち、第2秘匿化制御レベル604の値が「1」以下であるID702、ランク703および名前704の値であるリソースのデータは、当該ユーザがユーザUBであれば、その業務用端末103のWeb画面130Bにおいて秘匿化されず(not masked)、第2秘匿化制御レベル604の値が「2」である郵便番号705の値であるリソースのデータは、Web画面130において秘匿化される(not masked)(図9の第1秘匿化制御レベル503の値が「1」の列を参照。)。
また、ユーザ名502が「guest」であるユーザUBについてのセッション(セッションID501:「d56ead76…」)については、第1秘匿化制御レベル503の値が「0」であるため、ID702、ランク703、名前704および郵便番号705のうち、第2秘匿化制御レベル604の値が「0」であるID702およびランク703の値であるリソースのデータは、当該ユーザがユーザUBであれば、その業務用端末103BのWeb画面130Bにおいて秘匿化されず(not masked)、第2秘匿化制御レベル604の値が「1」以上の名前704および郵便番号705の値であるリソースのデータは、Web画面130Bにおいて秘匿化される(not masked)(図9の第1秘匿化制御レベル503の値が「0」の列を参照。)。
なお、図9および図10を用いた判定処理を秘匿化有無判定ロジックと称す。
<子セッション生成処理>
図11は、秘匿化装置102が実行する子セッション生成処理の一例を示すフローチャートである。なお、子セッション生成処理に先立って、その親セッションとして、秘匿化装置102とユーザUAの業務用端末103Aとのセッションが確立され、かつ、遮断されていないものとする。具体的には、たとえば、ユーザUAの操作により、業務用端末103Aが秘匿化装置102にアクセスしてログインが完了しており、図5に示した1行目のエントリがセッションテーブル171に登録され、2行目以降のエントリが登録されていない状態である。
また、ユーザUBの業務用端末103Bは、生成される子セッションでログインするため、子セッション生成前は、ログインしていない。また、リソーステーブル173には、マスタデータ201についてのエントリが登録されており、そのダミーデータ202のエントリは登録されていないものとする。
まず、秘匿化装置102は、リソースアクセス制御部161により、親ユーザであるユーザUAが、Web画面130A上で、子セッションの第1秘匿化制御レベル503を指定して、子セッションを生成する(ステップS1101)。たとえば、指定された子セッションの第1秘匿化制御レベル503が「1」であれば、ユーザ名502が「worker」である業務用端末103と秘匿化装置102との間の子セッションが生成し、指定された子セッションの第1秘匿化制御レベル503が「0」であれば、ユーザ名502が「guest」である業務用端末103Bと秘匿化装置102との間の子セッションが生成される。
つぎに、秘匿化装置102は、データ更新部163により、セッションテーブル171に、ステップS1101生成した子セッションのエントリを追加する(ステップS1102)。たとえば、子セッションのユーザUBが「worker」であれば、セッションテーブル171の2行目のエントリが追加され、子セッションのユーザUBが「guest」であれば、セッションテーブル171の3行目のエントリが追加される。
つぎに、秘匿化装置102は、子セッションの第1秘匿化制御レベル503の値が「0」または「1」であるか否かを判定する(ステップS1103)。「0」および「1」のいずれでもない場合、すなわち、「2」である場合(ステップS1103:No)、ステップS1101で生成されたセッションは秘匿の必要がないセッションであるため、秘匿化装置102は、ダミーデータ202を生成せずに終了する。
つぎに、秘匿化装置102は、全リソース(リソーステーブル173の全エントリ)のうち未選択のリソースを選択して(ステップS1104)、選択リソースについて、ダミー生成部162によりダミー生成処理を実行する(ステップS1105)。ダミー生成処理(ステップS1105)は、選択リソースについてダミーデータ202を生成する処理であり、その詳細は図12で後述する。
つぎに、秘匿化装置102は、未選択のリソースがあるか否かを判定し、未選択のリソースがあればステップS1104に処理を戻し、未選択のリソースがなければ、子セッション生成処理を終了する(ステップS1106)。
なお、図11の例では、子セッションが生成されると、ダミー生成処理(ステップS1105)によりダミーデータ202を生成したが、たとえば、秘匿化装置102は、子セッションの生成後でWeb画面130Bにダミーデータ202を表示させる場合に、当該表示に先立ってダミーデータ202を生成してもよい。
<ダミー生成処理(ステップS1105)>
図12は、図11に示したダミー生成処理(ステップS1105)の一例を示すフローチャートである。まず、秘匿化装置102は、ダミー生成部162により、リソースタイプテーブル172から選択リソースのパラメータ602を検索する(ステップS1201)。選択リソースのリソースタイプ601が顧客611である場合、パラメータ602としてID702、ランク703、名前704、および郵便番号705が検索される。
つぎに、秘匿化装置102は、ダミー生成部162により、検索されたパラメータ群のうち未選択のパラメータ602を選択し(ステップS1202)、選択したパラメータ602についてステップS1203~S1206を実行する。そして、秘匿化装置102は、ダミー生成部162により、未選択のパラメータ602があるか否かを判定し、未選択のパラメータ602があればステップS1202に処理を戻し、未選択のパラメータ602がなければ、ステップS1208に移行する(ステップS1207)。
ステップS1203では、秘匿化装置102は、ダミー生成部162により、図9および図10に示した秘匿有無判定ロジックに基づいて、選択リソースにおける選択パラメータ602(702~705)の値の秘匿有無を判定する(ステップS1203)。たとえば、子セッションのユーザUBが「worker」であり、選択パラメータ602がID702、ランク703、名前704のいずれかであれば秘匿化すべきでないと判定し、郵便番号705であれば秘匿化すべきと判定する。
選択リソースにおける選択パラメータ602(702~705)の値について秘匿化すべきと判定された場合(ステップS1204:Yes)、秘匿化装置102は、ダミー生成部162により、秘匿化すべきと判定された選択パラメータ602(702~705)についてダミーのパラメータ値、すなわち、ダミーデータを生成して保持し、ステップS1207に移行する。
一方、選択リソースにおける選択パラメータ602(702~705)の値について秘匿化すべきでないと判定された場合(ステップS1204:No)、秘匿化装置102は、ダミー生成部162により、秘匿化すべきでないと判定された選択パラメータ602(702~705)のパラメータ値を保持し、ステップS1207に移行する。
ステップS1207において、未選択のパラメータ602がない場合、秘匿化装置102は、データ更新部163により、選択リソースについてステップS1205、S1206で保持されたパラメータの値を集約して、リソーステーブル173にダミーデータ202の新規エントリとして追加する(ステップS1208)。
そして、秘匿化装置102は、データ更新部163により、マスタデータ201のリソースタイプ601およびUUID701の値の組み合わせによりソース801を生成し、ダミーデータ202のリソースタイプ601およびUUID701の値の組み合わせによりターゲット802を生成し、関連セッションID803を子セッションのセッションID501として特定する。
そして、秘匿化装置102は、データ更新部163により、生成したソース801、ターゲット802および特定した関連セッションID803の値の組み合わせをマッピングテーブル174の新規エントリとして登録する(ステップS1209)。これにより、秘匿化装置102は、ダミー生成処理(ステップS1105)を終了し、図11のステップS1106に移行する。
<画面表示処理>
つぎに、画面表示処理について説明する。画面表示処理は、秘匿化装置102が、業務用端末103にリソースのデータを出力し、Web画面130に表示させるという出力処理である。具体的には、たとえば、画面表示処理は、秘匿化装置102が、Web画面130に顧客情報がまだ表示されていない状態において、図2のように、顧客情報を表示させる処理を実行する。
図13は、画面表示処理の一例を示すフローチャートである。秘匿化装置102は、業務用端末103からの表示データ要求をリクエスト受信部151で受信して、リソースアクセス制御部161に表示対象リソースのデータを要求する(ステップS1301)。
表示データ要求には、その業務用端末103と秘匿化装置102との間で確立したセッションのセッションID501が必要である。表示データ要求は、業務用端末103のユーザの操作をトリガにして、秘匿化装置102に送信される。また、表示データ要求は、一定時間間隔で、業務用端末103から秘匿化装置102に繰り替えし送信されてもよい。
表示対象リソースとは、たとえば、リソーステーブル173の全エントリにおけるID702~郵便番号705の値のうち、表示対象として指定されたエントリにおけるID702~郵便番号705の値である。具体的には、たとえば、リソーステーブル173の全エントリにおけるID702~郵便番号705でもよく、業務用端末103からの表示データ要求(たとえば、ユーザによって任意に指定されたID702の値のエントリ)に応じたエントリにおけるID702~郵便番号705でもよい。
つぎに、秘匿化装置102は、リソースアクセス制御部161により、表示対象リソースのうち未選択の表示対象リソースを選択し(ステップS1302)、選択した表示対象リソースについて、ステップS1303~S1306を実行する。そして、秘匿化装置102は、リソースアクセス制御部161により、未選択の表示対象リソースがあるか否かを判定し、未選択の表示対象リソースがあればステップS1302に処理を戻し、未選択の表示対象リソースがなければ、ステップS1308に移行する(ステップS1307)。
ステップS1303では、秘匿化装置102は、リソースアクセス制御部161により、表示データ要求に含まれるセッションID501の値をマッピングテーブル174の関連セッションID803から検索する(ステップS1303)。
表示データ要求に含まれるセッションID501に一致する値が関連セッションID803に存在する場合とは(ステップS1304:Yes)、表示データ要求に含まれるセッションID501が、子セッションのセッションID501である場合である。すなわち、子セッションを使用しログインした業務用端末103からの表示データ要求には、関連セッションID803が含まれている。したがって、秘匿化装置102は、リソースアクセス制御部161により、表示データ要求に含まれるセッションID501に一致した関連セッションID803のエントリにおけるターゲット802(ダミーデータ202のリソースタイプ601およびUUID701の値の組み合わせ)を取得する。
そして、秘匿化装置102は、リソースアクセス制御部161により、当該ダミーデータ202のリソースタイプ601についてのリソーステーブル173から、ダミーデータ202のUUID701のエントリのデータ(ID702~郵便番号705の値)を取得する。そして、秘匿化装置102は、当該取得したデータをレスポンス送信部152に出力し、ステップS1207に移行する。
一方、表示データ要求に含まれるセッションID501に一致する値が関連セッションID803に存在しない場合とは(ステップS1304:No)、表示データ要求に含まれるセッションID501が、親セッションのセッションID501である場合である。すなわち、親セッションが生成された業務用端末103Aからの表示データ要求には、関連セッションID803が含まれていない。したがって、秘匿化装置102は、リソースアクセス制御部161により、ステップS1302で選択した表示対象リソースのエントリにおけるID702~郵便番号705の値を表示対象リソースのデータとしてリソーステーブル173から取得する。そして、秘匿化装置102は、当該取得したデータをレスポンス送信部152に出力し、ステップS1207に移行する。
ステップS1307において、未選択の表示対象リソースがない場合、秘匿化装置102は、レスポンス送信部152により、ステップS1305、1306で取得したデータを画面表示データとして、表示データ要求の出力元の業務用端末に送信する(ステップS1308)。これにより、秘匿化装置102は、画面表示処理を終了する。
この画面表示処理により、たとえば、業務用端末103Aにおいて、Web画面130Aに図2に示したような顧客情報が表示され(名前が「Luffy」)、業務用端末103Bにおいて、Web画面130Bに図2に示したような顧客情報が表示される(名前が「Strawhat」)。
<データ更新処理>
つぎに、データ更新処理について説明する。データ更新処理は、秘匿化装置102が、業務用端末103からのデータの変更により、当該データを更新し、図3および図4に示したように、他の業務用端末103のWeb画面130に反映する処理である。
図3の例に挙げると、データ更新処理の前提として、業務用端末103Aには、リソースのデータとして、マスタデータ201の顧客情報がWeb画面130Aに表示されており、業務用端末103Bには、リソースのデータとして、ダミーデータ202の顧客情報がWeb画面130Bに表示されている。
図14は、データ更新処理の一例を示すフローチャートである。まず、秘匿化装置102は、業務用端末103のWeb画面130からのデータ変更要求を受け付ける(ステップS1401)。具体的には、たとえば、図3に示したように、ユーザUBの操作により業務用端末103BのWeb画面130Bにおいて、ランクが「Silver」から「Gold」に変更されると、秘匿化装置102は、リクエスト受信部151により、ダミーデータ202の変更要求を受け付ける。
データ変更要求には、顧客情報としてWeb画面130に表示されている変更対象リソースと変更対象パラメータと変更後の値が必要である。上記の例では、変更対象リソースは、Web画面130Bに表示されているダミーデータ202の顧客情報であり、具体的には、たとえば、図7に示したリソーステーブル173のUUID701が「0x0A01」、ID702が「0x01」、ランク703が「Silver」、名前704が「Strawhat」、郵便番号705が「000-00」のエントリである。また、変更対象パラメータは、ユーザUBが操作したランク703である。変更後の値は、ユーザUBが「Silver」から変更した「Gold」の文字列である。
つぎに、秘匿化装置102は、リソースアクセス制御部161により、変更対象リソースのID701でマッピングテーブル174のターゲット802を検索し、検索結果に基づいて変更対象リソースがマスタデータ201であるかダミーデータ202であるかを判定する(ステップS1402)。具体的には、たとえば、変更対象リソースに含まれているUUID701の値がターゲット802に存在しなければ、変更対象リソースはマスタデータ201であり、ターゲット802に存在すれば、変更対象リソースは、ダミーデータ202である。
上記の例では、変更対象リソースのUUID701である「0x0A01」が、マッピングテーブル174の一行目のエントリのターゲット802に存在するため、変更対象リソースは、ダミーデータ202である。
つぎに、秘匿化装置102は、リソースアクセス制御部161により、変更対象リソースがマスタデータ201であれば(ステップS1403:マスタ)、ステップS1405に移行する。一方、ダミーデータ202であれば(ステップS1403:ダミー)、秘匿化装置102は、変更対象リソースのUUID701の値がターゲット802に存在するエントリのソース801からマスタデータ201のUUID701を特定し(ステップS1404)、ステップS1405に移行する。上記の例では、マスタデータ201のUUID701として「0x0001」が特定される。
ステップS1405では、秘匿化装置102は、リソースアクセス制御部161により、マッピングテーブル174のソース801がステップS1402またはS1404において特定されたマスタデータ201のUUID701の値であるエントリを特定し、当該特定したエントリのターゲット802からダミーデータ202のUUID701を特定し、ダミーデータ202のUUID701の一覧(以下、ダミー一覧)を作成する(ステップS1405)。
上記の例では、マスタデータ201のUUID701が「0x0001」であるため、ソース801の値が「0x0001」であるエントリのターゲット802の値「0x0A01」が、ダミー一覧に追加される。このほかにも、ソース801の値が「0x0001」であるエントリのターゲット802の値がマッピングテーブル174に存在すれば、ダミー一覧に追加される。なお、ダミー一覧内のUUID701を「ダミーUUID701」と称す。
つぎに、秘匿化装置102は、データ更新部163により、ダミー一覧から未選択のダミーUUID701を選択する(ステップS1406)。
つぎに、秘匿化装置102は、データ更新部163により、選択したダミーUUID701の値が存在するエントリをダミーデータ202としてリソーステーブル173から特定し、特定したエントリにおいて変更対象パラメータの値を、変更後の値に更新して(ステップS1407)、ステップS1408に移行する。
上記の例では、リソーステーブル173においてダミーUUID701の値が「0x0A01」のエントリが特定される。データ変更要求内の変更対象パラメータはランク703であるため、当該特定されたエントリのランク703の値「Silver」が、データ変更要求内の変更後の値「Gold」に更新される。
つぎに、秘匿化装置102は、データ更新部163により、ダミー一覧に未選択のダミーUUID701があるか否かを判定し、未選択のダミーUUID701があれば、ステップS1406に処理を戻し、なければステップS1409に移行する(ステップS1408)。
つぎに、秘匿化装置102は、データ更新部163により、ステップS1402またはS1404において特定されたマスタデータ201のUUID701の値であるエントリをリソーステーブル173から特定し、特定したエントリにおいて変更対象パラメータの値を、変更後の値に更新する(ステップS1409)。このあと、図12に示した画像表示処理により、データ変更要求を送信していない業務用端末103のWeb画面130に、ステップS1407およびステップS1409の更新後のデータが表示され、データ更新処理が終了する。
上記の例では、S1409のデータ更新により、図3に示したように、業務用端末103AのWeb画面130Aにおいて、Rankが「Silver」から「Gold」に変更される。
<セッション破棄処理>
つぎに、セッション破棄処理について説明する。セッション破棄処理とは、秘匿化装置102がセッションを破棄する処理である。
図15は、セッション破棄処理の一例を示すフローチャートである。まず、秘匿化装置102は、セッション破棄指示を受け付ける(ステップS1501)。セッション破棄指示は、ユーザの操作により業務用端末103においてログアウトボタンが押下されることで、業務用端末103から秘匿化装置102に送信され、リクエスト受信部151が受信する。また、秘匿化装置102内部においてセッション確立から、あらかじめ設定された当該セッションの有効期限が経過すると、リソースアクセス制御部161がセッション破棄指示を受け付ける。セッション破棄指示には、破棄対象となるセッション(以下、破棄対象セッション)のセッションID501(以下、破棄対象セッションID501)が含まれる。
つぎに、秘匿化装置102は、リソースアクセス制御部161により、セッションテーブル171から、破棄対象セッションID501が親セッション504であるエントリを検索する(ステップS1502)。
検索されたエントリにおいて、破棄対象セッションID501が親セッションID504として登録されていない場合(ステップS1503:No)、破棄対象セッションID501は、セッションID501にのみ登録されていることになる。したがって、破棄対象セッションは、子セッションである。この場合、秘匿化装置102は、データ更新部163により、破棄対象セッションである子セッションについて、ダミー破棄処理を実行する(ステップS1504)。ダミー破棄処理(ステップS1504)については、図16で後述する。
そして、秘匿化装置102は、データ更新部163により、セッションテーブル171から破棄対象セッション(子セッション)のエントリを削除する(ステップS1505)。
また、ステップS1503で、検索されたエントリにおいて、破棄対象セッションID501が親セッションID504として登録されている場合(ステップS1503:Yes)、破棄対象セッションは、親セッションである。したがって、秘匿化装置102は、リソースアクセス制御部161により、検索されたエントリの親セッションID504を参照して、親セッションである破棄対象セッションについて子セッションIDを収集し、子セッション一覧を作成する(ステップS1506)。
つぎに、秘匿化装置102は、データ更新部163により、未選択の子セッションIDを選択し(ステップS1507)、選択した子セッションIDについて、ダミー破棄処理を実行する(ステップS1508)。ダミー破棄処理(ステップS1508)は、ダミー破棄処理(ステップS1504)と同一処理であり、図16で後述する。そして、秘匿化装置102は、データ更新部163により、セッションテーブル171から選択子セッションIDのエントリを削除する(ステップS1509)。
このあと、秘匿化装置102は、データ更新部163により、子セッション一覧に未選択の子セッションIDがあるか否かを判定し、未選択の子セッションIDがあれば、ステップS1507に処理を戻し、なければステップS1511に移行する(ステップS1510)。
そして、秘匿化装置102は、データ更新部163により、セッションテーブル171から破棄対象セッション(親セッション)のエントリを削除する(ステップS1505)。これにより、秘匿化装置102は、セッション破棄処理を終了する。
<ダミー破棄処理>
図16は、図15に示したダミー破棄処理(ステップS1504、S1508)の一例を示すフローチャートである。秘匿化装置102は、リソースアクセス制御部161により、マッピングテーブル174から、関連セッションID803が該当セッションID(ステップS1504であれば子セッションのセッションID、ステップS1508であれば親セッションのセッションID)であるエントリを検索する(ステップS1601)。
つぎに、秘匿化装置102は、データ更新部163により、マッピングテーブル174から検索されたエントリのうち、未選択のエントリを選択する(ステップS1602)。
そして、秘匿化装置102は、データ更新部163により、選択エントリのターゲット802におけるUUID701で特定されるリソースのエントリを、リソーステーブルから削除する(ステップS1603)。また、図示していないが、秘匿化装置102は、データ更新部163により、ステップS1602で選択したエントリをマッピングテーブル174から削除してもよい。
このあと、秘匿化装置102は、データ更新部163により、未選択のエントリがあるか否かを判定し、未選択のエントリがあれば、ステップS1602に処理を戻し、なければ、ダミー破棄処理(ステップS1504、S1508)を終了する。
このように、本実施例によれば、ユーザ名502およびパラメータ602に応じて、そのユーザに秘匿すべきデータおよび秘匿すべきでないデータがどのパラメータ602のデータであるかが決定される。
具体的には、たとえば、第1秘匿化制御レベル503が低いユーザほどデータは秘匿化されやすく、第2秘匿化制御レベル604が高いパラメータ602の値であるデータほど秘匿化されやすくなる。また、Web画面130上で変更されたデータが他の業務用端末103のWeb画面130にリアルタイムで反映される。
したがって、第1秘匿化制御レベル503が異なる複数のユーザ間で、目的とするリソースを、一方にはマスタデータ201として、他方にはダミーデータ202として同時期にWeb画面130に表示することが可能にある。
これにより、第1秘匿化制御レベル503が異なるユーザ間での同時作業が実現可能になる。また、スクリーンショットや擬似環境構築など、コストとストレスがかかる作業負担が軽減される。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
100 秘匿化システム
102 秘匿化装置
103 業務用端末
123 プロセッサ
124 メモリ
151 リクエスト受信部
152 レスポンス送信部
161 リソースアクセス制御部
162 ダミー生成部
163 データ更新部
170 データベース
171 セッションテーブル
172 リソースタイプテーブル
173 リソーステーブル
174 マッピングテーブル
201 マスタデータ
202 ダミーデータ
502 ユーザ名
503 第1秘匿化制御レベル
601 リソースタイプ
602 パラメータ
604 第2秘匿化制御レベル
900 秘匿化判定パターン
1000 秘匿化判定処理テーブル

Claims (15)

  1. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する秘匿化装置であって、
    前記プロセッサは、
    1以上の項目と当該項目の内容を示すデータとを有するリソースについて、ユーザの属性および前記項目の属性に基づいて前記データの秘匿化を前記ユーザごとに制御する秘匿化処理と、
    前記ユーザごとに前記秘匿化処理が実行された秘匿化結果に基づく前記リソースを、前記ユーザごとの端末に出力する第1出力処理と、
    を実行することを特徴とする秘匿化装置。
  2. 請求項1に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記ユーザの属性が前記データの保護を必要としないことを示す第1ユーザ属性である場合、前記データが秘匿化されていない前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  3. 請求項1に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記ユーザの属性が前記データの保護を必要としないことを示す第1ユーザ属性でない場合、前記項目の属性に関する前記データの秘匿化結果に基づく前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  4. 請求項3に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記項目の属性が前記データの保護を必要としないことを示す第1項目属性である場合、前記データが秘匿化されていない前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  5. 請求項3に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記項目の属性が前記項目の属性が前記データの保護を必要としないことを示す第1項目属性でない場合、前記ユーザの属性および前記項目の属性に関する前記データの秘匿化結果に基づく前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  6. 請求項5に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記ユーザの属性が前記データの保護を必要とすることを示す第2ユーザ属性である場合、前記データが秘匿化された前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  7. 請求項5に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記項目の属性が前記データの保護を必要とすることを示す第2項目属性である場合、前記データが秘匿化された前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  8. 請求項5に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記ユーザの属性が前記データの保護を必要とすることを示す第2ユーザ属性でなく、かつ、前記項目の属性が前記データの保護を必要とすることを示す第2項目属性でない場合、前記データが秘匿化されていない前記リソースを前記端末に出力する、
    ことを特徴とする秘匿化装置。
  9. 請求項2に記載の秘匿化装置であって、
    前記プロセッサは、
    前記第1ユーザ属性のユーザの端末と前記秘匿化装置との間にセッションが確立している場合、前記第1ユーザ属性ではない他のユーザの端末と前記秘匿化装置との間に前記セッションに関連する子セッションを生成する生成処理を実行し、
    前記第1出力処理では、前記プロセッサは、前記第1ユーザ属性のユーザの端末に、前記リソースを第1リソースとして出力するとともに、前記子セッションが生成された前記他のユーザの端末に、前記秘匿化処理を実行した場合の秘匿化結果に基づく前記リソースを第2リソースとして出力する、
    ことを特徴とする秘匿化装置。
  10. 請求項9に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記他のユーザの属性が前記データの保護を必要とすることを示す第2ユーザ属性である場合、前記項目の属性が前記データの保護を必要としないことを示す第1項目属性であるデータについては秘匿化されておらず、かつ、前記項目の属性が前記第1項目属性でないデータについては秘匿化された前記リソースを、前記他の端末に出力する、
    ことを特徴とする秘匿化装置。
  11. 請求項9に記載の秘匿化装置であって、
    前記第1出力処理では、前記プロセッサは、前記他のユーザの属性が前記第1ユーザ属性および第2ユーザ属性のいずれにも該当しないユーザ属性である場合、前記項目の属性が前記データの保護を必要としないことを示す第1項目属性であるデータについては秘匿化されておらず、前記項目の属性が前記データの保護を必要とする第2項目属性であるデータについては秘匿化されており、かつ、前記項目の属性が前記第1項目属性および前記第2項目属性のいずれにも該当しない項目属性であるデータについては秘匿化された前記リソースを、前記他の端末に出力する、
    ことを特徴とする秘匿化装置。
  12. 請求項9に記載の秘匿化装置であって、
    前記プロセッサは、
    前記他の端末において前記データが変更された場合、前記データが変更された変更対象項目および変更後のデータに基づいて、前記第1リソースおよび前記第2リソースを更新する更新処理と、
    前記更新処理による更新後の前記第1リソースを、前記第1ユーザ属性のユーザの端末に出力する第2出力処理と、
    を実行することを特徴とする秘匿化装置。
  13. 請求項9に記載の秘匿化装置であって、
    前記プロセッサは、
    前記第1ユーザ属性のユーザの端末において前記データが変更された場合、前記データが変更された変更対象項目および変更後のデータに基づいて、前記第1リソースおよび前記第2リソースを更新する更新処理と、
    前記更新処理による更新後の前記第2リソースを、前記他の端末に出力する第2出力処理と、
    を実行することを特徴とする秘匿化装置。
  14. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する秘匿化装置が実行する秘匿化方法であって、
    前記プロセッサは、
    1以上の項目と当該項目の内容を示すデータとを有するリソースについて、ユーザの属性および前記項目の属性に基づいて前記データの秘匿化を前記ユーザごとに制御する秘匿化処理と、
    前記ユーザごとに前記秘匿化処理が実行された秘匿化結果に基づく前記リソースを、前記ユーザごとの端末に出力する第1出力処理と、
    を実行することを特徴とする秘匿化方法。
  15. プロセッサに、
    1以上の項目と当該項目の内容を示すデータとを有するリソースについて、ユーザの属性および前記項目の属性に基づいて前記データの秘匿化を前記ユーザごとに制御する秘匿化処理と、
    前記ユーザごとに前記秘匿化処理が実行された秘匿化結果に基づく前記リソースを、前記ユーザごとの端末に出力する第1出力処理と、
    を実行させることを特徴とする秘匿化プログラム。
JP2021201784A 2021-12-13 2021-12-13 秘匿化装置、秘匿化方法、および秘匿化プログラム Active JP7381552B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021201784A JP7381552B2 (ja) 2021-12-13 2021-12-13 秘匿化装置、秘匿化方法、および秘匿化プログラム
US17/879,855 US20230185956A1 (en) 2021-12-13 2022-08-03 Concealment apparatus, concealment method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021201784A JP7381552B2 (ja) 2021-12-13 2021-12-13 秘匿化装置、秘匿化方法、および秘匿化プログラム

Publications (2)

Publication Number Publication Date
JP2023087420A true JP2023087420A (ja) 2023-06-23
JP7381552B2 JP7381552B2 (ja) 2023-11-15

Family

ID=86694525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021201784A Active JP7381552B2 (ja) 2021-12-13 2021-12-13 秘匿化装置、秘匿化方法、および秘匿化プログラム

Country Status (2)

Country Link
US (1) US20230185956A1 (ja)
JP (1) JP7381552B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013008121A (ja) * 2011-06-23 2013-01-10 Hitachi Systems Ltd データベースアクセス管理システム、方法、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013008121A (ja) * 2011-06-23 2013-01-10 Hitachi Systems Ltd データベースアクセス管理システム、方法、及びプログラム

Also Published As

Publication number Publication date
US20230185956A1 (en) 2023-06-15
JP7381552B2 (ja) 2023-11-15

Similar Documents

Publication Publication Date Title
EP3695563B1 (en) Apparatus, method, and computing device for selectively granting permissions to group-based objects in a group-based communication system
US20220166764A1 (en) Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system
US10447737B2 (en) Delegating administration rights using application containers
US20180218169A1 (en) Security and data isolation for tenants in a business data system
US20220245529A1 (en) Distributing a user interface for accessing files
US20080134294A1 (en) Personal Site Privacy Policy
US20140223570A1 (en) Information processing apparatus, information processing system, and license management method
JP7165715B2 (ja) 統合検索のためのサポートを伴う保護されたフィールド上の自動動作検出
JP2009042856A (ja) 文書管理装置、文書管理システム及びプログラム
US10956868B1 (en) Virtual reality collaborative workspace that is dynamically generated from a digital asset management workflow
JP6852483B2 (ja) データ管理システム、データ管理方法およびデータ管理プログラム
CN105516059A (zh) 一种资源访问控制方法和装置
US9477941B2 (en) Genealogy system for interfacing with social networks
JP5910714B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
US20150081834A1 (en) Information processing system and method
US20190171842A1 (en) Extensibility tools for defining custom restriction rules in access control
JP2002328904A (ja) アプリケーションサービスプロバイダ管理システム
US10114959B2 (en) Information processing apparatus, information processing method, and information processing system
JP4266897B2 (ja) ライセンス管理システム、ライセンス管理方法、ライセンス管理サーバ、及びライセンス管理ソフトウェア
JP7381552B2 (ja) 秘匿化装置、秘匿化方法、および秘匿化プログラム
JP5998667B2 (ja) 情報提供プログラム、情報提供方法および情報提供装置
US11595394B2 (en) Information processing system, apparatus, and method for setting a role in an application package
JP2004303023A (ja) アクセス管理方法
WO2016060068A1 (ja) 情報共有装置、及び、情報共有方法
JP2022046197A (ja) アクション管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231005

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: 20231031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231102

R150 Certificate of patent or registration of utility model

Ref document number: 7381552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150