JP4734311B2 - 情報処理システム、秘匿データ管理装置、およびプログラム - Google Patents

情報処理システム、秘匿データ管理装置、およびプログラム Download PDF

Info

Publication number
JP4734311B2
JP4734311B2 JP2007300691A JP2007300691A JP4734311B2 JP 4734311 B2 JP4734311 B2 JP 4734311B2 JP 2007300691 A JP2007300691 A JP 2007300691A JP 2007300691 A JP2007300691 A JP 2007300691A JP 4734311 B2 JP4734311 B2 JP 4734311B2
Authority
JP
Japan
Prior art keywords
data
user terminal
information processing
program
secret
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.)
Expired - Fee Related
Application number
JP2007300691A
Other languages
English (en)
Other versions
JP2009129010A (ja
Inventor
剛 小島
良一 植田
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 JP2007300691A priority Critical patent/JP4734311B2/ja
Priority to US12/274,624 priority patent/US20090132538A1/en
Publication of JP2009129010A publication Critical patent/JP2009129010A/ja
Application granted granted Critical
Publication of JP4734311B2 publication Critical patent/JP4734311B2/ja
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

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

Description

本発明は、情報処理システム、秘匿データ管理装置、およびプログラムに関する。
これまでクライアント装置上で実行するデスクトップアプリケーションとして実装されてきた企業内の業務システムの多くがWeb上のサービスとして提供されはじめている。Web上のサービスは外部のサービス提供業者により運用されることが多く、その場合、個人情報や社内の機密情報など企業内に秘匿したい情報についてもWebサーバ側で管理されることとなり、企業外の業者がWebサーバで管理されているデータにアクセスすることによりデータが漏洩する可能性がある。
このような問題に対処し、データを秘匿する技術が提案されている。例えば、特許文献1には、Webサービス提供装置や認証機関への情報の暗号化に用いられる秘密鍵を耐タンパ性記憶装置に格納することが記載されている。また、特許文献2には、ユーザに選択されたキーワードや要素を秘密にしておき、ユーザから送信された購入希望情報および秘密鍵から送付鍵を計算し、送付鍵および選択された要素などから、選択されたキーワードに対応する情報のみを復号化させることが記載されている。
特開2003−304234号公報 特開2006−39674号公報
しかしながら、従来の技術では、利用者側の装置や情報の提供者側の装置に情報秘匿のための特別な装置やプログラムを設置しなければならなかった。また、秘匿の対象となる情報が、認証処理の際に通信される情報であったり、取得したい情報を示す情報であったり、限定された場面や情報を対象としており、汎用的に活用できなかった。
本発明はこのような背景を鑑みてなされたものであり、データを秘匿することを可能とする情報処理システム、秘匿データ管理装置、およびプログラムを提供することを目的とする。
上記課題を解決するための本発明のうち主たる発明は、秘匿データを管理する秘匿データ管理装置と、前記秘匿データ以外のデータである公開データを管理する情報処理装置と、前記秘匿データ管理装置および前記情報処理装置と通信可能に接続されたユーザ端末と、を備えた情報処理システムであって、前記情報処理装置は、前記公開データを記憶する公開データ記憶部と、前記公開データ記憶部から前記公開データを読み出す公開データ取得部と、前記秘匿データ管理装置に記憶されている前記秘匿データを前記ユーザ端末に取得させるためのプログラムを記憶するプログラム記憶部と、読み出した前記公開データおよび前記プログラムを前記ユーザ端末に送信するプログラム送信部と、を備え、前記ユーザ端末は、前記秘匿データ管理装置にアクセスし、前記秘匿データ管理装置から、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を受信し、受信した前記情報に指定されている前記情報処理装置にアクセスし、前記情報処理装置は、当該情報処理装置が保持する前記公開データのうち前記ユーザ端末から要求された公開データを取得し、前記要求された公開データと前記プログラムとを前記ユーザ端末に送信し、前記ユーザ端末は、前記プログラムを実行することにより、前記秘匿データ管理装置にアクセスし、前記秘匿データ管理装置は、前記秘匿データ管理装置が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信し、前記ユーザ端末は、前記秘匿データ管理装置から取得した秘匿データと前記情報処理装置から取得した公開データとを出力することとする。
本発明によれば、データを秘匿することを可能とする情報処理システム、秘匿データ管理装置、およびプログラムを提供することができる。
以下、図面を参照しながら、本発明の一実施形態に係る情報処理システムについて説明する。
1 システム構成
図1は、本実施の形態に係る情報処理システムの全体構成を示す図である。同図に示すように、本実施形態の情報処理システムは、ユーザ端末10、データプロバイダ20、アプリケーションプロバイダ30を含んで構成される。ユーザ端末10、データプロバイダ20およびアプリケーションプロバイダ30はそれぞれ、通信ネットワーク40を介して互いに通信可能に接続されている。通信ネットワーク40は、例えば、インターネットやLAN(Local Area Network)であり、イーサネット(登録商標)や電話回線網、無線回線網などにより構築される。本実施形態では、通信ネットワーク40上ではTCP/IPによる通信が行われるものとする。
本実施形態の情報処理システムは、Webアプリケーションとしてスケジュール管理などのサービスを、データプロバイダ20およびアプリケーションプロバイダ30の2つのサーバにより提供するものである。アプリケーションプロバイダ30は、いわゆるアプリケーションサーバであり、サービスの提供に必要な情報処理を行う。通常Webアプリケーションは、単一のサーバにより提供されるが、本実施形態では、Webアプリケーションに必要なデータのうち、個人情報や機密情報など、ユーザが所属する企業(組織)内において秘匿したいデータ(以下、秘匿データという。)をデータプロバイダ20に管理させ、それ以外のデータ(以下、公開データという。)のみをアプリケーションプロバイダ30に管理させることで、アプリケーションプロバイダ30を運用する組織(例えば、サービスの運用業者など)と、ユーザの所属する企業とが異なる場合でも、秘匿データが運用業者に漏洩する危険を低減するものである。
ユーザ端末10は、情報処理システムの利用者が操作するコンピュータである。ユーザ端末10は、例えば、パーソナルコンピュータやワークステーション、PDA(Personal Data Assistant)、携帯電話端末などである。ユーザ端末10では、Webブラウザが動作しており、利用者は、Webブラウザを操作することにより、データプロバイダ20やアプリケーションプロバイダ30にアクセスする。なお、ユーザ端末10はユーザの数だけ存在しうるが、本実施形態では説明を簡単にするため、ひとつのユーザ端末10のみが含まれるものとする。
データプロバイダ20(本発明の秘匿データ管理装置に該当する。)は、秘匿データを管理する、例えば、パーソナルコンピュータやワークステーションなどのコンピュータである。データプロバイダ20は、例えば、ユーザ端末10と同じ組織内に設置され、ユーザ端末10と同じ組織により運用管理されることを想定している。
アプリケーションプロバイダ30は、情報処理サービスを提供するためのWebアプリケーションを実行する、例えば、パーソナルコンピュータやワークステーションなどのコンピュータである。アプリケーションプロバイダ30は、例えば、ユーザ端末10およびデータプロバイダ20が設置される組織とは異なるサービスの提供業者により管理されることを想定している。
2 ハードウェア構成
図2は、本実施形態のユーザ端末10、データプロバイダ20、およびアプリケーションプロバイダ30に用いられる典型的なコンピュータのハードウェア構成を示す図である。同図に示すように、これらに用いられるコンピュータは、CPU101、メモリ102、記憶装置103、通信インタフェース104を備えている。記憶装置103は、各種のデータやプログラムを記憶する、例えば、ハードディスクドライブやフラッシュメモリ、CD−ROMドライブなどである。CPU101は記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより、各種の機能を提供する。通信インタフェース104は、通信ネットワーク40に接続するためのインタフェースである。通信インタフェース104は、例えば、イーサネット(登録商標)に接続するためのアダプタや、公衆電話回線網に接続するためのモデム、無線通信を行う無線通信機などである。
3 ソフトウェア構成
3.1 ユーザ端末10のソフトウェア構成
図3は、本実施形態の情報処理システムのソフトウェア構成を示す図である。
ユーザ端末10は、Webブラウザ11を備えている。Webブラウザ11は、ユーザの操作に応じて、HTTP(HyperText Transfer Protocol)に従ったリクエストをデータプロバイダ20やアプリケーションプロバイダ30に送信することにより、公開データや秘匿データへのアクセスを行う。なお、ユーザ端末10で動作するWebブラウザ11は、一般的なブラウザを想定している。
また、Webブラウザ11はユーザの操作に応じて、秘匿データを参照するための参照要求を含むHTTPリクエスト(以下、単に参照要求ともいう。)をデータプロバイダ20に送信し、参照要求に応じてデータプロバイダ20から送信される秘匿データを画面に表示し、秘匿データの登録や更新、削除(以下、これらをまとめて更新という。)を行うための更新要求を含むHTTPリクエストをデータプロバイダ20に送信することで、データプロバイダ20が管理する秘匿データを更新する。Webブラウザ11は、公開データを参照するための参照要求を含むHTTPリクエストをアプリケーションプロバイダ30に送信し、参照要求に応じてアプリケーションプロバイダ30から応答される公開データを画面に表示し、公開データの更新を行うための更新要求を含むHTTPリクエストをアプリケーションプロバイダ30に送信することで、アプリケーションプロバイダ30が管理する公開データを更新する。これらの参照要求や登録要求の仕様は、所定のAPI(Application Program Interface)として定義されているものとする。
なお、Webブラウザ11は、ユーザ端末10が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。
3.2 データプロバイダ20のソフトウェア構成
データプロバイダ20は、Webサーバ201、参照処理ページ処理機能202、更新処理ページ処理機能203、データAPI機能204、秘匿データ記憶部205、およびスクリプト記憶部206を備えている。Webサーバ201、参照処理ページ処理機能202、更新処理ページ処理機能203、データAPI機能204はそれぞれ、データプロバイダ20が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。
秘匿データ記憶部205は、秘匿データを記憶する。秘匿データ記憶部205は、例えば、テーブル単位で秘匿データを管理するRDBMS(Relational DataBase Management System)として実現される。この場合、秘匿データ記憶部205は、データプロバイダ20が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される機能と、メモリ102や記憶装置103が提供する記憶領域とから構成される。なお、秘匿データ記憶部205は、メモリ102や記憶装置103が提供する記憶領域として実現するようにすることもできる。秘匿データ記憶部205が管理するテーブル4−20の一例を図4に示す。テーブル4−20を示すテーブル名は「users」である。テーブル4−20には、「user_id」「name」「tel」「address」のカラムが含まれる。
スクリプト記憶部206は、Webサーバ201がユーザ端末10からの初回のアクセスに対して応答するスクリプト(以下、応答用スクリプト21という。)を記憶する。スクリプト記憶部206は、データプロバイダ20が備えるメモリ102や記憶装置103が提供する記憶領域として実現される。
応答用スクリプト21の一例を図5に示す。同図に示すように、応答用スクリプト21には、アプリケーションプロバイダにアクセスするためのコマンドが記述されており(4行目)、ユーザ端末10のWebブラウザ11は、応答用スクリプト21に含まれるコマンドに応じて、アプリケーションプロバイダ30にアクセスする。
Webサーバ201は、ユーザ端末10から送信されるHTTPリクエストに応じて、HTML(HyperText Markup Language)により記述されたWebページをユーザ端末10に応答し、あるいはHTTPリクエストに応じて各種のプログラムを実行し、その結果をWebページとしてユーザ端末10に応答する。Webページには、JavaScriptにより記述されるプログラム(以下、スクリプトという。)を含めることが可能であり、Webページに含まれるスクリプトは、ユーザ端末10のWebブラウザ11により実行される。
参照処理ページ処理機能202は、ユーザ端末10からの初回のアクセス時には、スクリプト記憶部206が記憶している応答用スクリプト21を応答する。それ以降のアクセス時には、参照処理ページ処理機能202は、Webサーバ201が受信したHTTPリクエストに参照要求が含まれていた場合に起動し、データAPI機能204を呼び出して秘匿データ記憶部205にアクセスし、秘匿データを取得し、取得した秘匿データを含むWebページを生成してユーザ端末10に応答する。
更新処理ページ処理機能203は、Webサーバ201が受信したHTTPリクエストに更新要求が含まれている場合に、データAPI機能204を呼び出して秘匿データ記憶部205にアクセスし、秘匿データの更新を行い、その結果を示すWebページを生成してユーザ端末10に応答する。
データAPI機能204は、参照処理ページ処理機能202や更新処理ページ処理機能203からの呼び出しに応じて、秘匿データ記憶部205にアクセスする機能を提供する。データAPI機能204は、例えば、テーブル名と条件とを引数として呼び出され、そのテーブル名および条件を記載したRDBMSへのクエリを生成してRDBMSが管理するテーブルから条件に見合うデータの読み出し、更新などを行う。
3.3 アプリケーションプロバイダ30のソフトウェア構成
アプリケーションプロバイダ30は、Webサーバ301、参照処理ページ処理機能302、更新処理ページ処理機能303、データAPI機能304、公開データ記憶部305、データ配置場所情報記憶部306、スクリプト記憶部307を備えている。Webサーバ301、参照処理ページ処理機能302、更新処理ページ処理機能303、およびデータAPI機能304は、アプリケーションプロバイダ30が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。
公開データ記憶部305は、公開データを記憶する。公開データ記憶部305は、例えば、公開データをテーブル単位に管理するRDBMSとして実現される。この場合公開データ記憶部305は、アプリケーションプロバイダ30が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される機能と、メモリ102や記憶装置103が提供する記憶領域とから構成される。なお、公開データ記憶部305は、メモリ102や記憶装置103が提供する記憶領域として実現するようにしてもよい。公開データ記憶部305が管理するテーブル4−10の一例を図6に示す。テーブル4−10を示すテーブル名は「schedules」である。テーブル4−10には、「id」「date」「user_id」「content」のカラムが含まれる。
データ配置場所情報記憶部306は、データが記憶されている場所を示す情報(以下、データ配置場所情報という。)を記憶する。データ配置場所情報記憶部306に記憶されるデータ配置場所情報の構成例を図7に示す。同図に示すように、データ配置場所情報には、ユーザ組織、テーブル名、配置場所が含まれる。ユーザ組織は、ユーザ端末10およびデータプロバイダ20が設置される組織を特定する情報である。テーブル名は、Webアプリケーションに用いられるデータが格納されるテーブルを示す名称である。配置場所は、テーブル名が示すテーブルがどこに管理されているかを示す情報であり、本実施形態では、データプロバイダ20を示す「データプロバイダ」か、アプリケーションプロバイダ30を示す「アプリケーションプロバイダ」のいずれかである。データ配置場所情報記憶部306は、組織ごとにデータ配置場所情報を記憶するが、本実施形態では、説明を簡単にするため、ユーザ端末10およびデータプロバイダ20は、「A_COMPANY」という組織に設置されているものとする。
データAPI機能304は、公開データ記憶部305へのアクセスを行う。データAPI機能304は公開データ記憶部305を実現するRDBMSにアクセスし、データの参照処理や更新処理を行う。データAPI機能304は、例えば、RDBMSにアクセスするためのドライバプログラムと、外部からの処理要求に基づきドライバプログラムを呼び出すプログラムとから構成される。
スクリプト記憶部307(本発明のプログラム記憶部に該当する。)は、ページ生成スクリプト31、データアクセススクリプト32、ブラウザ用データアクセススクリプト33などの各種のスクリプトを記憶する。
なお、本実施形態では、説明を簡単にするため、スクリプト記憶部307には、ページ生成スクリプト31は1つのみ記憶されているものとするが、例えば、スケジュール管理サービスに必要な機能ごとに用意され、スケジュール管理サービスの処理に必要なページ生成スクリプト31が実行されるようにしてもよい。このように必要なスクリプトを選択して実行する処理については、一般的なWebアプリケーションを実現するアプリケーションプログラムにおいて実装されているものであり、本実施形態では説明を省略する。
ページ生成スクリプト31(本発明のアクセス情報に該当する。)は、スケジュール管理サービスに係る情報処理を行うためのスクリプトである。ページ生成スクリプト31は、コンピュータに、スケジュール管理サービスの提供に必要なデータをテーブルから取得するステップと、取得したデータを出力するステップとを実行させるものである。ページ生成スクリプト31は、後述するデータアクセススクリプト32やブラウザ用データアクセススクリプト33とともに実行されることを想定しており、同時に実行される他のスクリプトが提供する関数を呼び出すことで、必要なデータをテーブルから取得することが記述される。
図8は、ページ生成スクリプト31の一例を示す図である。なお、図8の例では、説明のために左端に行番号を表示している。図8に示すページ生成スクリプト31は、スケジュール管理に関するデータを取得して、取得したデータを一覧表示するためのスクリプトを想定している。
図8に示すように、ページ生成スクリプト31の4行目には、schedulesテーブル4−10にアクセスしてレコード(以下、スケジュールデータという。)を取得する関数である「DataAcessor.get」を呼び出すステップ(4行目)が記述されている。「DataAccessor.get」関数は、後述するデータアクセススクリプト32やブラウザ用データアクセススクリプト33に定義される。4行目のステップでは、schedulesテーブル4−10から、dateカラムの値の順に並べて20個までのレコードを取得するようにされている。
また、ページ生成スクリプト31には、各スケジュールデータについて、「users」テーブルから、スケジュールデータのuser_idをキーとしてレコード(以下、ユーザデータという。)を取得するステップ(7行目)が記述され、取得した予定情報のレコードに紐づいたusersテーブル4−20のレコードを取得するようにされている。
ページ生成スクリプト31には、他にも、スケジュールデータの「date」フィールドを出力するステップ(9行目)、ユーザデータを出力するステップ(10行目)、スケジュールデータの「content」フィールドを出力するステップ(11行目)などが含まれている。「p」関数は、後述するデータアクセススクリプト32やブラウザ用データアクセススクリプト33に定義される。
データアクセススクリプト32(本発明の第1のプログラムに該当する。)は、RDBMSにアクセスして必要なデータを取得するためのスクリプトである。データアクセススクリプト32は、アプリケーションプロバイダ30において実行され、アプリケーションプロバイダ30に、テーブル名に対応する配置場所をデータ配置場所情報記憶部306から読み出すステップと、読み出した配置場所がアプリケーションプロバイダであるか否かにより、テーブル名が示すテーブルに公開データが管理されているか否かを判定するステップと、テーブル名が示すテーブルに公開データが管理されている場合にのみ、公開データ記憶部305にアクセスして、テーブル名が示すテーブルから、条件に見合う公開データを読み出すステップとを実行させるためのものである。具体的には、データアクセススクリプト32には、テーブル名と条件とを引数として、条件に見合うテーブルのデータにアクセスするための関数が記述される。なお、これらのテーブルへのアクセス処理は、データAPI304が提供する機能を用いることで行う。データアクセススクリプト32には、データを出力するための関数も記述される。
図9は、データアクセススクリプト32の一例を示す図である。データアクセススクリプト32の8行目では、引数として設定されたテーブル名が公開データ記憶部305に登録されているか否かを判定するステップが記述されている。また、公開データ記憶部305に記憶されている公開データを取得するステップ(9行目)とともに、取得した公開データをデータ列(以下、キャッシュという。)として出力するステップ(10行目)とが記述されている。データアクセススクリプト32により生成されるキャッシュは、後述するように、ブラウザ用データアクセススクリプト33とともにページ生成スクリプト31に付帯されてユーザ端末10に送信される。
ブラウザ用データアクセススクリプト33(本発明の第2のプログラムに該当する。)には、データアクセススクリプト32と同様に、テーブル名と条件とを引数として、条件に見合うテーブルのデータにアクセスするための関数が記述される。ブラウザ用データアクセススクリプト33は、ユーザ端末10において実行される。ブラウザ用データアクセススクリプト33は、ユーザ端末10に、ページ生成スクリプト31に付帯されているキャッシュから、テーブル名および条件に見合うデータを読み出すステップと、キャッシュから読み出すことができなかったデータについて、データプロバイダ20にアクセスし、秘匿データ記憶部205が管理する、テーブル名が示すテーブルから条件に見合うデータを取得するステップとを実行させるためのプログラムである。
図10は、ブラウザ用データアクセススクリプト33の一例を示す図である。ブラウザ用データアクセススクリプト33では、引数(params)としてテーブル名が渡されることを想定しており、10行目では、キャッシュからテーブル名に対応するデータを検索するステップが記述されており、11〜12行目では、キャッシュからデータを検索することができなかった場合に、データプロバイダ20にアクセスしてテーブル名が示すテーブルからデータを検索するステップが記述されている。
なお、上記スクリプトを実行した場合の処理の詳細については後述する。
Webサーバ301は、ユーザ端末10から送信されるHTTPリクエストに応じて、HTMLにより記述されたWebページをユーザ端末10に応答し、あるいはHTTPリクエストに応じて各種のプログラムを実行し、その結果をWebページとしてユーザ端末10に応答する。Webページにスクリプトが含まれている場合、そのスクリプトはユーザ端末10のWebブラウザ11により実行される。
参照処理ページ処理機能302は、Webサーバ301が受信したHTTPリクエストにスケジュール管理サービスに必要なデータの参照要求が含まれていた場合に、ページ生成スクリプト31およびデータアクセススクリプト32を実行する。参照処理ページ処理機能302は、データアクセススクリプト32の実行時に、データAPI機能304を呼び出して公開データ記憶部305にアクセスし、公開データ記憶部305が管理しているテーブルから公開データを取得する。参照処理ページ処理機能302は、ページ生成スクリプト31の実行により生成されたキャッシュと、ブラウザ用データアクセススクリプト33とをページ生成スクリプト31に付帯させてユーザ端末10に送信する。
更新処理ページ処理機能303は、Webサーバ301が受信したHTTPリクエストに応じて、ページ生成スクリプト31を実行する。公開データの更新要求が含まれていた場合に、データAPI機能304を呼び出して公開データ記憶部305にアクセスし、公開データの更新処理を行う。
4 処理手順
4.1 秘匿対象の情報がない場合
まず、秘匿データがない場合、すなわちデータプロバイダ20を必要としない場合について説明する。この場合、スケジュール管理サービスを提供するWebアプリケーションは、アプリケーションプロバイダ30でのみ動作する、一般的なものとなる。
4.1.1 参照処理手順
図11は、秘匿データがない場合の参照要求に対する処理の流れを示す図である。
まずユーザの操作に応じて、ユーザ端末10は、アプリケーションプロバイダ30に対して、スケジュールの参照を行うための参照要求を含むリクエストを送信する(ステップ2−101)。
アプリケーションプロバイダ30はユーザ端末10からリクエストを受信すると、参照要求に応じた処理を行う(ステップ2−201)。アプリケーションプロバイダ30は、例えば、ページ生成に必要なデータを取得する処理(ステップ2−2011)と、取得したデータを用いて参照ページのHTMLを出力する処理(ステップ2−2012)とを行い、ユーザ端末10に返信すべきWebページを作成する。アプリケーションプロバイダ30は、生成したWebページをリクエストの送信元であるユーザ端末10に返信する(ステップ2−202)。
ユーザ端末10はアプリケーションプロバイダ30から応答されたWebページを受信し(ステップ2−102)、受信したWebページを画面上に表示する(ステップ2−103)。
以上の処理により、ユーザはアプリケーションプロバイダ30が管理する情報のみを利用して生成されたWebページを閲覧する。
4.1.2 更新処理手順
データを更新する場合、ユーザ端末10のブラウザにはデータを入力するためのWebページ(以下、更新用入力ページという。)が表示され、ユーザは更新用入力ページに必要な情報を入力し、ブラウザを操作してその情報をアプリケーションプロバイダ30に送信し、アプリケーションプロバイダ30からは更新処理の結果を示すWebページ(以下、更新処理結果ページという。)が応答され、更新処理結果ページがユーザ端末10に表示される。図12は、秘匿データが存在しない場合のデータの更新処理の流れを示す図である。
まずユーザの操作を契機として、ユーザ端末10からアプリケーションプロバイダ30に対して、更新用入力ページを指定したリクエストが送信される(ステップ5−101)。
アプリケーションプロバイダ30は、リクエストを受信すると、更新処理ページ処理機能303により、リクエストに指定された更新用入力ページをリクエスト元のユーザ端末10に返信する(ステップ5−201)。
ユーザ端末10は、アプリケーションプロバイダ30から受信した更新用入力ページを解釈して画面に表示する(ステップ5−102)。ユーザは、ブラウザを操作して、更新用入力ページに対して、例えば、新規に追加する予定に関する日時や予定の内容などのデータを入力する。ユーザ端末10はユーザからの送信指示に応じて、更新要求を含むリクエストをアプリケーションプロバイダ30に送信する(ステップ5−103)。なお、リクエストにはユーザから入力されたデータも付帯される。
アプリケーションプロバイダ30は、更新要求を含むリクエストを受信すると、更新処理ページ処理機能303により、そのリクエストに付帯されているデータを公開データ記憶部305に登録するなどの更新処理を行い(ステップ5−202)、更新処理の結果を示す更新処理結果ページを生成し、生成した更新処理結果ページを、リクエスト元のユーザ端末10に返信する(ステップ5−203)。なお、上記更新処理を行い、更新処理結果ページを作成するためのページ生成スクリプト31を準備しておき、それをアプリケーションプロバイダ30が実行するようにしてもよい。
ユーザ端末10は更新処理結果ページを受信すると(ステップ5−104)、受信した更新処理結果ページを解釈して画面に表示する(ステップ5−105)。
以上の処理により、ユーザはアプリケーションプロバイダ30が管理するデータを更新する処理を行い、その結果を示す更新処理結果ページを閲覧することができる。
4.2 秘匿対象の情報がある場合
次に秘匿データが存在する場合、すなわちデータプロバイダ20が情報処理システムに含まれている場合の処理手順について説明する。
4.2.1 データプロバイダの準備
まず、データプロバイダ20の準備について説明する。
データプロバイダ20の管理者は、アプリケーションプロバイダ30において取り扱われるデータのうち、秘匿データに該当するものを選ぶ。本実施形態では、usersテーブル4−20に格納されるデータとする。なお、アプリケーションプロバイダ30において既に使用されているデータがある場合には、管理者がアプリケーションプロバイダ30の公開データ記憶部305から秘匿データに該当するusersテーブル4−20の内容を取り出して、データプロバイダ20の秘匿データ記憶部205に移行する。管理者は、データプロバイダ20を所定の組織内のネットワークに接続させるように配備する。管理者は、アプリケーションプロバイダ30のデータ配置場所情報記憶部306を作成して、ユーザ組織をデータプロバイダ20が所属する組織を示す「A_COMPANY」、テーブル名を「schedules」、配置場所を「アプリケーションプロバイダ」として設定したレコードと、ユーザ組織を「A_COMPANY」、テーブル名を「users」、配置場所を「データプロバイダ」として設定したレコードとを登録する。
管理者は、秘匿データ記憶部205に管理されるテーブルusersに外部からアクセスするためのデータAPI機能204を配備する。管理者は、データプロバイダ20に参照処理ページ処理機能202と更新処理ページ処理機能203を配備する。更新処理ページ処理機能203は、アプリケーションプロバイダ30が保持する更新処理ページ処理機能203と同様の処理を実行する機能を有し、その処理対象が秘匿データ記憶部205になる。参照処理ページ処理機能202については後述する。
4.2.2 参照系処理手順
図13は、秘匿データが存在する場合の、参照要求に対する処理の流れを示す図である。
ユーザの操作を契機として、ユーザ端末10が参照要求を含むリクエストをデータプロバイダ20に送信する(ステップ7−101)。
データプロバイダ20はユーザ端末10からリクエストを受信すると、応答用スクリプト21をユーザ端末10に返信する(ステップ7−201)。
ユーザ端末10は応答用スクリプト21を受信して(ステップ7−102)、受信した応答用スクリプト21を画面に表示するとともに、応答用スクリプト21に含まれているスクリプトを実行する(ステップ7−103)。上述したように、応答用スクリプト21には、アプリケーションプロバイダ30にアクセスするコマンド(4行目)が記述されているので、ユーザ端末10はそのコマンドに応じて、アプリケーションプロバイダ30にリクエストを送信する(ステップ7−104)。
アプリケーションプロバイダ30はユーザ端末10からリクエストを受信すると、ページ生成スクリプト31およびデータアクセススクリプト32を実行する(ステップ7−301)。
図14は、データアクセススクリプト32においてDataAccessor.get関数として定義されるデータ取得処理の流れを示す図である。なお、図14に示す処理は、ページ生成スクリプト31に定義される処理から、アクセス先のテーブルを示すテーブル名と、取得するレコードの条件とを指定して上記関数を呼び出すことにより実行される。
アプリケーションプロバイダ30は、データアクセススクリプト32を実行すると、指定されたテーブル名に対応する配置場所をデータ配置場所情報記憶部306から取得し(ステップ9−101)、取得した配置場所が「アプリケーションプロバイダ」であった場合には(ステップ9−102:アプリケーションプロバイダ)、データAPI機能204により、公開データ記憶部305に管理されているテーブル名が示すテーブルから、指定された条件に見合う公開データを取得する(ステップ9−104)。アプリケーションプロバイダ30は、取得した公開データをテーブル名に対応付けてキャッシュに登録する(ステップ9−105)。
例えば、図7に示すデータ配置場所情報記憶部306の例では、アプリケーションプロバイダ30に、schedulesテーブル4−10が管理され、データプロバイダ20に、usersテーブル4−20が管理されていることが示されており、この場合、上記処理によってschedulesテーブル4−10のレコードはキャッシュに登録されるが、usersテーブル4−20テーブルにはアクセスされないので、usersテーブル4−20のレコードはキャッシュには登録されない。
以上のようにしてアプリケーションプロバイダ30は、ページ生成スクリプト31から呼び出される、データアクセススクリプト32に定義されたDataAcessor.get関数を実行して、テーブル名に対応するデータを取得してキャッシュに登録し(ステップ7−3011)、取得したデータを出力するp関数を実行する(ステップ7−3012)。なお、図9のデータアクセススクリプト32ではp関数は何もしない設定になっているので、ステップ7−3012では何も処理されない。
次に、アプリケーションプロバイダ30は、上記処理により生成したキャッシュと、ブラウザ用データアクセススクリプト33とをページ生成スクリプト31に含ませたスクリプト(以下、キャッシュ付きページ生成スクリプトという。)をリクエスト元のユーザ端末10に返信する(ステップ7−302)。
ユーザ端末10はキャッシュ付きページ生成スクリプトを受信すると、受信したページ生成スクリプトを実行する(ステップ7−105)。キャッシュ付ページ生成スクリプトの実行時には、キャッシュ付ページ生成スクリプトに含まれるブラウザ用データアクセススクリプト33も実行される。
図15は、ブラウザ用データアクセススクリプト33においてDataAccessor.get関数として定義されるデータ取得処理の流れを示す図である。なお、図15に示す処理は、ページ生成スクリプト31に定義される処理から、アクセス先のテーブルを示すテーブル名と、取得するレコードの条件とを指定して上記関数を呼び出すことにより実行される。
ユーザ端末10は、ブラウザ用データアクセススクリプト33を実行すると、指定されたテーブル名に対応するデータがキャッシュに登録されているかどうかを判定し(ステップ10−101)、キャッシュに登録されている場合(ステップ10−101:ある)、キャッシュからデータを取得し(ステップ101−02)、キャッシュに登録されていない場合には(ステップ10−101:ない)、データプロバイダ20に対してテーブル名および条件を設定したリクエストを送信し、データプロバイダ20がデータAPI機能304により秘匿データ記憶部205から取得した秘匿データを受信することにより、秘匿データを取得する(ステップ10−103)。本実施形態では、ステップ10−103では、usersテーブル4−20からレコードが取得される。
以上のようにして、キャッシュに登録されているデータ、すなわちアプリケーションプロバイダ30が検索した公開データと、ユーザ端末10がデータプロバイダ20にアクセスして取得した秘匿データとが取得される。
以上のようにしてユーザ端末10は、ページ生成スクリプト31から呼び出される、ブラウザ用データアクセススクリプト33に定義されたDataAcessor.get関数を実行して、テーブル名に対応する公開データをキャッシュから取得するとともに、テーブル名に対応する秘匿データをデータプロバイダ20から取得する(ステップ7−1051)。ユーザ端末10は、取得したデータを出力するp関数を実行して、取得したデータを画面に表示するためのHTMLを出力する(ステップ7−1052)。
上記のようにして、ページ生成スクリプト31の実行により公開データおよび秘匿データはWebブラウザ11上に出力される(ステップ7−106)。
以上説明したように、本実施形態の情報処理システムによれば、アプリケーションプロバイダ30が提供するサービスに必要なデータのうち、秘匿データについては組織内に配備するデータプロバイダ20で管理し、アプリケーションプロバイダ30には公開データのみを管理させつつ、アプリケーションプロバイダ30に格納されている公開データと、データプロバイダに20に格納されている秘匿データとを両方ユーザ端末10に表示することができる。アプリケーションプロバイダ30に秘匿データが管理されないので、アプリケーションプロバイダ30が、ユーザの組織以外の運用者により運用されている場合にも、秘匿データが漏洩するリスクを低減することができる。
さらに、アプリケーションプロバイダ30からデータプロバイダ20にアクセスすることがないので、データプロバイダ20をアプリケーションプロバイダ30とは通信不可能なサイトに設置することもできる。これにより、データプロバイダ20において管理する秘匿データをアプリケーションプロバイダ30からアクセスすることができないようにすることができる。この場合、アプリケーションプロバイダ30を運用する組織と、ユーザ端末10やデータプロバイダ20を運用する組織とが異なる場合にも、アプリケーションプロバイダ30で管理するデータが、アプリケーションプロバイダ30を運用する組織のユーザに閲覧される可能性はあっても、データプロバイダ20で管理するデータが上記ユーザに閲覧される可能性がなくなる。よって、データの確実に秘匿することができる。
その一方で、秘匿データではない公開データについてはアプリケーションプロバイダ30に管理させることができるので、データプロバイダ20の負荷を最小限に抑えることができる。
また、本実施形態では、アプリケーションプロバイダ30とユーザ端末10とは、同じページ生成スクリプト31を実行するものの、アプリケーションプロバイダ30とユーザ端末10とでは、異なるデータアクセス用のスクリプト(データアクセススクリプト32およびブラウザ用データアクセススクリプト33)を実行する。これにより、アプリケーションプロバイダ30におけるスクリプトの実行時には、公開データ記憶部305へのアクセスが行われ、ユーザ端末10におけるスクリプトの実行時には、秘匿データ記憶部205へのアクセスが行われるようになる。したがって、アプリケーションの動作を規定したページ生成スクリプト31のロジックを変更することなく、秘匿データと公開データとを異なるコンピュータで管理するようにすることができる。
また、ページ生成スクリプト31に定義するロジックが変更になった場合にも、ページ生成スクリプト31のみを更新すればよいので、アプリケーションプロバイダ30におけるスクリプトの更新作業を容易にすることができる。
また、ページ生成スクリプト31の開発時には、秘匿データがどこに記憶されているかを考慮する必要がないので、ページ生成スクリプト31の開発効率を向上することができる。
また、データの秘匿が必要ない場合には、データプロバイダ20を配備せず、アプリケーションプロバイダ30に対してのみユーザ端末10でアクセスすることによりアプリケーションを利用することもできる。この場合、アプリケーションプロバイダ30においてデータ配置場所情報記憶部306を更新するだけで、その他のアプリケーションプロバイダ30の構成を変更する必要がない。よって、情報処理システムの構成を柔軟に変化させることができる。また、秘匿データはユーザが自由にデータ配置場所情報記憶部306に設定することができるので、柔軟にシステムの設計を行うことが可能となる。
4.2.3 更新系処理手順
なお、秘匿データが存在する場合の情報処理システムにおける更新処理では、秘匿データを更新する場合には、データプロバイダ20に対して更新要求が送信され、公開データを更新する場合には、アプリケーションプロバイダ30に対して更新要求が送信される。データプロバイダ20にも更新処理ページ処理機能203が配備されているので、上述した図12の更新処理と同様の処理によって、秘匿データ記憶部205に管理されている秘匿データが更新される。
なお、本実施形態では説明を簡単にするため、ユーザが所属する組織は企業であるものとしたが、これに限らず、ユーザは組織に属さず個人として秘匿したいデータを取り扱うものとしてもよい。
また、データプロバイダ20が備える各機能はユーザ端末10が備えるようにしてもよい。この場合、Webブラウザ11から独立したアプリケーションプログラムとしてデータプロバイダ20の機能を配備してもよいし、Webブラウザ11のプラグインプログラムとして配備してもよい。
5 レコード単位でデータを秘匿化する
以下、秘匿データの管理単位をレコード単位として、レコード単位にデータを秘匿化する変形例について説明する。
上記実施形態では、秘匿データの管理単位をデータベースのテーブル単位としていたが、これをレコード単位としてもよい。この場合、データプロバイダ20およびアプリケーションプロバイダ30で同じテーブル名のテーブルを管理するようにしておき、データプロバイダ20に管理されるテーブルに格納されるレコードは秘匿データであり、アプリケーションプロバイダ30に管理されているテーブルに格納されるレコードは公開データであると判定される。
スケジュール管理サービスにおいて、スケジュール情報が格納されるレコード単位に秘匿データであるか公開データであるかの区別を行うことで、例えば、外部に公開してもよいスケジュール情報と、外部に公開したくないスケジュール情報が混在する場合でも、外部に公開してもよいスケジュール情報をアプリケーションプロバイダ30に管理させ、外部に公開したくないスケジュール情報をデータプロバイダ20に管理させることで、データプロバイダ20が管理すべき情報量を低減することが可能となる。
本変形例においてデータ配置場所情報記憶部306に記憶されるデータ配置場所情報の一例を図16に示す。同図に示すように、「A_COMPANY」および「schedules」に対応する配置情報には、アプリケーションプロバイダ30およびデータプロバイダ20の両方が設定されており、これは、「schedules」テーブル4−20がアプリケーションプロバイダ30およびデータプロバイダ20の両方で管理されていることを示している。
本変形例では、上記図6に示したschedulesテーブルのidが「3」であるレコードが秘匿データとして、データプロバイダ20に管理されることを想定する。
アプリケーションプロバイダ30の公開データ記憶部305が管理するschedulesテーブルの構成例を図17に示す。図17の例では、図6に示したテーブル4−10に登録されていたレコードのうち、idが「3」であるレコードのみが登録されている。
データプロバイダ20の秘匿データ記憶部205が管理するschedulesテーブル4−30の一例を図18に示す。同図に示すように、データプロバイダ20において管理されるschedulesテーブル4−30も、アプリケーションプロバイダ30において管理されるschedulesテーブル4−10と同じ構成であり、図6に示したテーブル4−10に登録されていたレコードのうち、idが「3」であるレコード以外のレコードが、データプロバイダ20において管理されるschedulesテーブル4−30に登録されている。
本変形例では、ブラウザ用アクセススクリプト33に代えて、図19に示すブラウザ用アクセススクリプト33−1が用いられる。図19に示すブラウザ用アクセススクリプト33−1では、図10に示すブラウザ用データアクセススクリプト33の11行目において行われていた、キャッシュにデータが登録されていなかった場合にのみ、データプロバイダ20にアクセスするようにする判断処理の定義が省略されている(図19、11行目)。したがって、本変形例では、ユーザ端末10がブラウザ用データアクセススクリプト33−1を実行する場合、アプリケーションプロバイダ30から応答されたキャッシュにあるテーブル名に対応する公開データが格納されていたとしても、データプロバイダ20が管理するそのテーブル名のテーブルにアクセスして秘匿データを取得する。つまり、本変形例では、データプロバイダ20とアプリケーションプロバイダ30とで同じテーブル名のテーブルが管理され、それらの両方についてデータの検索が行われ、アプリケーションプロバイダ30が管理するテーブルから取得した公開データと、データプロバイダ20が管理するテーブルから取得した秘匿データとが連結される(11行目)。これにより、データプロバイダ20において管理されるデータは秘匿データであり、アプリケーションプロバイダ30において管理されるデータは公開データであるものとして、レコード単位にデータを管理するようにすることができる。
5.1 レコード単位の秘匿化における処理手順
5.1.1 更新系処理手順
レコード単位でデータを秘匿化する場合でも、更新処理は上述した実施形態と同じく、公開データについては、ユーザ端末10はアプリケーションプロバイダ30にアクセスし、更新処理ページ処理機能303を利用してアプリケーションプロバイダ30が保持する公開データ記憶部305の情報を更新し、秘匿データについては、ユーザ端末10はデータプロバイダ20に接続し、更新処理ページ処理機能203を利用してデータプロバイダ20が保持する秘匿データ記憶部205の情報を更新する。
5.1.2 参照系処理手順
レコード単位でデータを秘匿する場合も、参照要求に対する処理の流れは上述の図13に示す処理の流れと同じである。ただし、ステップ7−302においてアプリケーションプロバイダ30が送信するキャッシュ付ページ生成スクリプトは、ページ生成スクリプト31に、キャッシュとブラウザ用アクセススクリプト33−1とを含ませたものであり、ステップ7−105において、ユーザ端末10が実行するスクリプトは、ページ生成スクリプト31およびブラウザ用アクセススクリプト33−1になる。
図20は、ブラウザ用データアクセススクリプト33−1においてDataAccessor.get関数として定義されるデータ取得処理の流れを示す図である。なお、図20に示す処理は、ページ生成スクリプト31に定義される処理から、アクセス先のテーブルを示すテーブル名と、取得するレコードの条件とを指定して上記関数を呼び出すことにより実行される。
ユーザ端末10は、ブラウザ用データアクセススクリプト33−1を実行すると、指定されたテーブル名に対応するデータをキャッシュから取得するとともに(ステップ17−101)、データプロバイダ20に対してテーブル名および条件を設定したリクエストを送信し、データプロバイダ20がデータAPI機能304により秘匿データ記憶部205から取得した秘匿データを受信することにより、秘匿データを取得する(ステップ10−103)。
上記処理により、レコード単位にデータを秘匿化することも可能となる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば、上記実施形態では秘匿データは、レコードごとデータプロバイダ20に管理されるものとしたが、例えば、割符方式によりレコードの一部をデータプロバイダ20に管理させるようにしてもよい。
本実施の形態に係る情報処理システムの全体構成を示す図である。 本実施形態で用いられる典型的なコンピュータのハードウェア構成を示す図である。 本実施形態の情報処理システムのソフトウェア構成を示す図である。 秘匿データ記憶部205が管理するテーブル4−20の一例を示す図である。 応答用スクリプト21の一例を示す図である。 公開データ記憶部305が管理するテーブル4−10の一例を示す図である。 データ配置場所情報記憶部306に記憶されるデータ配置場所情報の構成例を示す図である。 ページ生成スクリプト31の一例を示す図である。 データアクセススクリプト32の一例を示す図である。 ブラウザ用データアクセススクリプト33の一例を示す図である。 秘匿データがない場合の参照要求に対する処理の流れを示す図である。 秘匿データが存在しない場合のデータの更新処理の流れを示す図である。 秘匿データが存在する場合の参照要求に対する処理の流れを示す図である。 データアクセススクリプト32において定義されるデータ取得処理の流れを示す図である。 ブラウザ用データアクセススクリプト33において定義されるデータ取得処理の流れを示す図である。 データ配置場所情報記憶部306に記憶されるデータ配置場所情報の一例を示す図である。 公開データ記憶部305が管理するschedulesテーブルの構成例を示す図である。 秘匿データ記憶部205が管理するschedulesテーブル4−30の一例を示す図である。 ブラウザ用アクセススクリプト33−1の一例を示す図である。 ブラウザ用データアクセススクリプト33−1において定義されるデータ取得処理の流れを示す図である。
符号の説明
10 ユーザ端末
20 データプロバイダ
30 アプリケーションプロバイダ
201 Webサーバ
202 参照処理ページ処理機能
203 更新処理ページ処理機能
204 データAPI機能
205 秘匿データ記憶部
206 スクリプト記憶部
301 Webサーバ
302 参照処理ページ処理機能
303 更新処理ページ処理機能
304 データAPI機能
305 公開データ記憶部
306 データ配置場所情報記憶部
307 スクリプト記憶部
31 ページ生成スクリプト
32 データアクセススクリプト
33 ブラウザ用データアクセススクリプト
33−1 ブラウザ用データアクセススクリプト

Claims (8)

  1. 秘匿データを管理する秘匿データ管理装置と
    前記秘匿データ以外のデータである公開データを管理する情報処理装置と、
    前記秘匿データ管理装置および前記情報処理装置と通信可能に接続されたユーザ端末と、
    を備えた情報処理システムであって、
    前記情報処理装置は、
    前記公開データを記憶する公開データ記憶部と、
    前記公開データ記憶部から前記公開データを読み出す公開データ取得部と、
    前記秘匿データ管理装置に記憶されている前記秘匿データを前記ユーザ端末に取得させるためのプログラムを記憶するプログラム記憶部と、
    読み出した前記公開データおよび前記プログラムを前記ユーザ端末に送信するプログラム送信部と、
    を備え、
    前記ユーザ端末は、前記秘匿データ管理装置にアクセスし、前記秘匿データ管理装置から、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を受信し、受信した前記情報に指定されている前記情報処理装置にアクセスし、
    前記情報処理装置は、当該情報処理装置が保持する前記公開データのうち前記ユーザ端末から要求された公開データを取得し、前記要求された公開データと前記プログラムとを前記ユーザ端末に送信し、
    前記ユーザ端末は、前記プログラムを実行することにより、前記秘匿データ管理装置にアクセスし、
    前記秘匿データ管理装置は、前記秘匿データ管理装置が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信し、
    前記ユーザ端末は、前記秘匿データ管理装置から取得した秘匿データと前記情報処理装置から取得した公開データとを出力する
    ことを特徴とする情報処理システム
  2. 請求項1に記載の情報処理システムであって、
    前記ユーザ端末が前記情報処理装置にテーブルの名称を送信し、
    前記公開データ取得部が、前記テーブルが前記公開データ記憶部に管理されているか否かを判定し、
    管理されている場合には、前記テーブルに記憶されている公開データを前記ユーザ端末に送信し、
    管理されていない場合には、前記プログラム送信部が前記プログラムを前記ユーザ端末に送信し、
    前記ユーザ端末は、前記プログラム送信部から前記プログラムを受信すると、前記プログラムを実行して前記テーブルのデータを前記秘匿データ管理装置から取得する
    ことを特徴とする情報処理システム
  3. 請求項に記載の情報処理システムであって、
    前記情報処理装置は、前記テーブルが、前記秘匿データ管理装置と前記公開データ記憶部のうちいずれに管理されているかを管理するデータ配置場所情報記憶部を備え、
    前記公開データ取得部は、前記データ配置場所情報記憶部に基づき、前記ユーザ端末が指定したテーブルが前記公開データ記憶部に記憶されているか否かを判定する
    ことを特徴とする情報処理システム
  4. 請求項1に記載の情報処理システムにおける秘匿データ管理装置であって、
    前記ユーザ端末がアクセスすべき情報処理端末を指定する応答スクリプトを記憶したスクリプト記憶部を備え、
    前記ユーザ端末からアクセスされたときに前記ユーザ端末に前記応答スクリプトを送信する
    ことを特徴とする秘匿データ管理装置。
  5. 秘匿データを管理する秘匿データ管理装置と、
    前記秘匿データ以外のデータである公開データを管理する情報処理装置と、
    前記秘匿データ管理装置および前記情報処理装置と通信可能に接続されたユーザ端末と、
    を備え、
    前記情報処理装置が、
    前記公開データを記憶する公開データ記憶部と、
    前記公開データ記憶部から前記公開データを読み出す公開データ取得部と、
    前記秘匿データ管理装置に記憶されている前記秘匿データを前記ユーザ端末に取得させるためのプログラムを記憶するプログラム記憶部と、
    読み出した前記公開データおよび前記プログラムを前記ユーザ端末に送信するプログラム送信部と、
    を備え、
    前記ユーザ端末が、前記秘匿データ管理装置にアクセスし、前記秘匿データ管理装置から、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を受信し、受信した前記情報に指定されている前記情報処理装置にアクセスし、
    前記情報処理装置が、当該情報処理装置が保持する前記公開データのうち前記ユーザ端末から要求された公開データを取得し、前記要求された公開データと前記プログラムとを前記ユーザ端末に送信し、
    前記ユーザ端末が、前記プログラムを実行することにより、前記秘匿データ管理装置にアクセスし、
    前記秘匿データ管理装置が、前記秘匿データ管理装置が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信し、
    前記ユーザ端末が、前記秘匿データ管理装置から取得した秘匿データと前記情報処理装置から取得した公開データとを出力する
    情報処理システムにおける前記秘匿データ管理装置に、
    前記ユーザ端末からの前記アクセスに応じて、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を送信する機能と、
    自身が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信する機能と
    を実現するためのプログラム。
  6. 秘匿データを管理する秘匿データ管理装置と、
    秘匿データ以外のデータである公開データを管理する情報処理装置と、
    前記秘匿データ管理装置および前記情報処理装置と通信可能に接続されたユーザ端末と、
    を備え、
    前記情報処理装置が、
    前記公開データを記憶する公開データ記憶部と、
    前記公開データ記憶部から前記公開データを読み出す公開データ取得部と、
    前記秘匿データ管理装置に記憶されている前記秘匿データを前記ユーザ端末に取得させるためのプログラムを記憶するプログラム記憶部と、
    読み出した前記公開データおよび前記プログラムを前記ユーザ端末に送信するプログラム送信部と、
    を備え、
    前記ユーザ端末が、前記秘匿データ管理装置にアクセスし、前記秘匿データ管理装置から、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を受信し、受信した前記情報に指定されている前記情報処理装置にアクセスし、
    前記情報処理装置が、当該情報処理装置が保持する前記公開データのうち前記ユーザ端末から要求された公開データを取得し、前記要求された公開データと前記プログラムとを前記ユーザ端末に送信し、
    前記ユーザ端末が、前記プログラムを実行することにより、前記秘匿データ管理装置にアクセスし、
    前記秘匿データ管理装置が、前記秘匿データ管理装置が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信し、
    前記ユーザ端末が、前記秘匿データ管理装置から取得した秘匿データと前記情報処理装置から取得した公開データとを出力し、
    前記ユーザ端末が前記情報処理装置にテーブルの名称を送信し、
    前記公開データ取得部が、前記テーブルが前記公開データ記憶部に管理されているか否かを判定し、
    管理されている場合には、前記テーブルに記憶されている公開データを前記ユーザ端末に送信し、
    管理されていない場合には、前記プログラム送信部が前記プログラムを前記ユーザ端末に送信し、
    前記ユーザ端末は、前記プログラム送信部から前記プログラムを受信すると、前記プログラムを実行して前記テーブルのデータを前記秘匿データ管理装置から取得する
    情報処理システムにおける前記情報処理装置に、
    前記テーブルが前記公開データ記憶部に管理されているか否かを判定する機能と、
    管理されている場合には、前記テーブルに記憶されている公開データを前記ユーザ端末に送信する機能と、
    管理されていない場合には、前記プログラムを前記ユーザ端末に送信する機能と
    を実現するためのプログラム。
  7. 請求項6に記載の前記プログラムであって、
    前記情報処理装置は、前記テーブルが、前記秘匿データ管理装置と前記公開データ記憶部のうちいずれに管理されているかを管理するデータ配置場所情報記憶部を備えており、
    前記情報処理装置に、
    前記データ配置場所情報記憶部に基づき、前記ユーザ端末が指定したテーブルが前記公開データ記憶部に管理されているか否かを判定する機能と、
    管理されている場合に、前記テーブルに記憶されている公開データを前記ユーザ端末に送信する機能と、
    管理されていない場合に、前記プログラムを前記ユーザ端末に送信する機能と
    を実現するためのプログラム。
  8. 請求項5に記載の前記プログラムであって、
    前記秘匿データ管理装置は、前記ユーザ端末がアクセスすべき情報処理端末を指定する応答スクリプトを記憶したスクリプト記憶部を備えており、
    情報処理システムにおける前記秘匿データ管理装置に、
    前記ユーザ端末からの前記アクセスに応じて、前記ユーザ端末がアクセスすべき前記情報処理装置を指定する情報を送信する機能と、
    自身が保持する前記秘匿データのうち前記ユーザ端末から要求された秘匿データを取得して前記ユーザ端末に送信する機能と
    前記ユーザ端末からアクセスされたときに前記ユーザ端末に前記応答スクリプトを送信する機能と
    を実現するためのプログラム。
JP2007300691A 2007-11-20 2007-11-20 情報処理システム、秘匿データ管理装置、およびプログラム Expired - Fee Related JP4734311B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007300691A JP4734311B2 (ja) 2007-11-20 2007-11-20 情報処理システム、秘匿データ管理装置、およびプログラム
US12/274,624 US20090132538A1 (en) 2007-11-20 2008-11-20 Information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007300691A JP4734311B2 (ja) 2007-11-20 2007-11-20 情報処理システム、秘匿データ管理装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2009129010A JP2009129010A (ja) 2009-06-11
JP4734311B2 true JP4734311B2 (ja) 2011-07-27

Family

ID=40643055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007300691A Expired - Fee Related JP4734311B2 (ja) 2007-11-20 2007-11-20 情報処理システム、秘匿データ管理装置、およびプログラム

Country Status (2)

Country Link
US (1) US20090132538A1 (ja)
JP (1) JP4734311B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276854A (ja) * 2008-05-12 2009-11-26 Canon Inc 情報処理装置、その制御方法及びプログラム
JP5499524B2 (ja) * 2009-06-12 2014-05-21 富士通株式会社 中継プログラムおよび中継装置
JP5493696B2 (ja) * 2009-10-22 2014-05-14 富士ゼロックス株式会社 情報処理システム、情報処理装置、及びプログラム
US8874745B2 (en) * 2010-03-26 2014-10-28 Fujitsu Limited Method and system for providing services
JP5549522B2 (ja) * 2010-10-14 2014-07-16 富士通株式会社 中継プログラム、中継装置および中継方法
WO2012062915A2 (en) * 2010-11-11 2012-05-18 Nec Europe Ltd. Method and system for providing service access to a user
WO2013011730A1 (ja) * 2011-07-21 2013-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書を処理する装置及び方法
EP3082319B1 (en) * 2015-04-16 2018-09-26 Alcatel Lucent Personalized access to storage device through a network
CN104933086B (zh) * 2015-05-11 2019-03-26 苏州奖多多科技有限公司 一种数据处理方法及其装置
CN110413214B (zh) * 2018-04-28 2023-07-18 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机程序产品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005777A (ja) * 1999-06-24 2001-01-12 Matsushita Electric Ind Co Ltd 個人情報管理装置
JP2001290923A (ja) * 2000-04-07 2001-10-19 Amano Corp 勤怠管理システム
JP2002108756A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd ユーザインタフェース統合方法
JP2002117368A (ja) * 2000-10-06 2002-04-19 Kokuyo Co Ltd データ送受信方法及びフォーム提供システム
US20020077957A1 (en) * 2000-12-19 2002-06-20 David Ottow Trading digital marketing instruments in a computer network
JP2003196057A (ja) * 2001-12-28 2003-07-11 Minolta Co Ltd アプリケーションデータのプリント方法
JP2005309846A (ja) * 2004-04-22 2005-11-04 Web Agent:Kk データベース保護システム
US6976210B1 (en) * 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
JP2007207067A (ja) * 2006-02-03 2007-08-16 Nippon Telegr & Teleph Corp <Ntt> サーバクライアントシステムおよび該システムにおけるアクセス制御方法、ならびにそのためのプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57137957A (en) * 1981-02-20 1982-08-25 Hitachi Ltd Terminal connection system
US4885777A (en) * 1985-09-04 1989-12-05 Hitachi, Ltd. Electronic transaction system
JPH0754536B2 (ja) * 1986-02-17 1995-06-07 株式会社日立製作所 Icカ−ド利用システム
JPH0216669A (ja) * 1988-07-05 1990-01-19 Toshiba Corp セキュリティ方式
US5117458A (en) * 1989-11-01 1992-05-26 Hitachi, Ltd. Secret information service system and method
JP2002117031A (ja) * 2000-10-06 2002-04-19 Internatl Business Mach Corp <Ibm> 情報配信方法、情報配信システム、情報処理装置およびコンピュータプログラム製品
US20030050969A1 (en) * 2001-03-20 2003-03-13 Sant Philip Anthony Information integration system
JP2003345697A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd 統合インタフェース提供方法、装置及び記憶媒体
US7730122B2 (en) * 2004-12-09 2010-06-01 International Business Machines Corporation Authenticating a node requesting another node to perform work on behalf of yet another node

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005777A (ja) * 1999-06-24 2001-01-12 Matsushita Electric Ind Co Ltd 個人情報管理装置
US6976210B1 (en) * 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
JP2001290923A (ja) * 2000-04-07 2001-10-19 Amano Corp 勤怠管理システム
JP2002108756A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd ユーザインタフェース統合方法
JP2002117368A (ja) * 2000-10-06 2002-04-19 Kokuyo Co Ltd データ送受信方法及びフォーム提供システム
US20020077957A1 (en) * 2000-12-19 2002-06-20 David Ottow Trading digital marketing instruments in a computer network
JP2003196057A (ja) * 2001-12-28 2003-07-11 Minolta Co Ltd アプリケーションデータのプリント方法
JP2005309846A (ja) * 2004-04-22 2005-11-04 Web Agent:Kk データベース保護システム
JP2007207067A (ja) * 2006-02-03 2007-08-16 Nippon Telegr & Teleph Corp <Ntt> サーバクライアントシステムおよび該システムにおけるアクセス制御方法、ならびにそのためのプログラム

Also Published As

Publication number Publication date
JP2009129010A (ja) 2009-06-11
US20090132538A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4734311B2 (ja) 情報処理システム、秘匿データ管理装置、およびプログラム
US10244058B2 (en) Extending functionality of applications
JP5200721B2 (ja) 制御方法、制御装置、及びプログラム
JP2004078503A (ja) ネットワークシステム、ネットワークサーバ、情報処理装置、プログラム、及びデータ生成方法
JP2001515669A (ja) 分散コンピュータシステムにおける情報へのアクセス権を付与するシステムおよび方法
WO2003091889A1 (fr) Serveur de collaboration, systeme de collaboration, son procede de gestion de session et programme
US8429673B2 (en) Systems and methods of accessing information across distributed computing components
US8392911B2 (en) Download discovery for web servers
JP2007188184A (ja) アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
US9241024B2 (en) File system interface to web and network services
JP2008158695A (ja) オンラインサービスを提供する情報処理システム及びプログラム
US7890487B1 (en) Facilitating client-side data-management for web-based applications
JP2007034677A (ja) ディレクトリ情報提供方法、ディレクトリ情報提供装置、ディレクトリ情報提供システム、及びプログラム
JP2005242760A (ja) 情報検索支援方法並びにこの方法を使用した情報検索支援システムおよびサーバ
JP5074434B2 (ja) 分散処理システム、分散処理方法、分散処理システムの開発支援装置および開発支援方法
KR20110065352A (ko) 포털 인프라구조에서 포틀릿을 태깅하는 방법, 장치, 데이터 처리 프로그램 및 컴퓨터 프로그램 제품
JP2002251573A (ja) ユーザデータベースサーバ及びユーザ情報取得装置
WO2023195310A1 (ja) 埋込コンテンツウェブサーバ上で動作するプログラムおよびサーバ装置ならびにユーザ装置上で動作するプログラム
US11562092B1 (en) Loading and managing third-party tools on a website
JP4334253B2 (ja) データ整合プログラム及びシステム並びに方法
JP2005293088A (ja) 認証システム及び認証方法
WO2019151178A1 (ja) システムおよびそれを用いる方法、情報処理装置およびそれを用いる方法、およびプログラム
KR100637801B1 (ko) P2p 방식의 개인 홈페이지 서비스 시스템
KR20060012920A (ko) 기업용 무선 어플리케이션 서비스 시스템 및 운용방법
JP2002116972A (ja) 情報閲覧方法及びシステム並びに情報閲覧用プログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees