JP5609309B2 - Data providing method, data providing apparatus, data providing program, and data providing system - Google Patents

Data providing method, data providing apparatus, data providing program, and data providing system Download PDF

Info

Publication number
JP5609309B2
JP5609309B2 JP2010143672A JP2010143672A JP5609309B2 JP 5609309 B2 JP5609309 B2 JP 5609309B2 JP 2010143672 A JP2010143672 A JP 2010143672A JP 2010143672 A JP2010143672 A JP 2010143672A JP 5609309 B2 JP5609309 B2 JP 5609309B2
Authority
JP
Japan
Prior art keywords
data
terminal device
key
acquired
information
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.)
Active
Application number
JP2010143672A
Other languages
Japanese (ja)
Other versions
JP2012010071A (en
JP2012010071A5 (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010143672A priority Critical patent/JP5609309B2/en
Publication of JP2012010071A publication Critical patent/JP2012010071A/en
Publication of JP2012010071A5 publication Critical patent/JP2012010071A5/ja
Application granted granted Critical
Publication of JP5609309B2 publication Critical patent/JP5609309B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、ネットワークを介してデータを提供するデータ提供方法、データ提供装置データ提供プログラムおよびデータ提供システムに関する。 The present invention relates to a data providing method, a data providing apparatus , a data providing program, and a data providing system that provide data via a network.

近年、ユーザが行う種々の業務をコンピュータシステムによって支援する技術が利用されている。この点、サービス事業者が運用するコンピュータシステムが提供するアプリケーションによって、ユーザの業務支援を行うサービス形態がある。そのようなサービス形態として、例えばSaaS(Software as a Service)が知られている。ユーザは、SaaSを利用することで、自社内に新たなコンピュータを導入することなく業務システムを利用できる。   2. Description of the Related Art In recent years, technologies that support various tasks performed by users by computer systems have been used. In this regard, there is a service form in which a user's business support is provided by an application provided by a computer system operated by a service provider. For example, SaaS (Software as a Service) is known as such a service form. By using SaaS, the user can use the business system without introducing a new computer in the company.

ここで、上記サービス形態によって業務を行う場合、ユーザデータはサービス事業者のコンピュータで管理される。このため、ユーザデータが機密情報の場合、セキュリティ上の問題が生ずる。対策として、例えば機密情報を暗号化し、暗号処理のための鍵と共にサービス事業者のコンピュータで管理することが考えられる(例えば、特許文献1参照)。しかし、この方法でもサービス事業者によりデータを不正に閲覧されるリスクが残る。   Here, when business is performed according to the service form, user data is managed by a service provider's computer. For this reason, when user data is confidential information, a security problem arises. As a countermeasure, for example, it is conceivable that confidential information is encrypted and managed by a service provider's computer together with a key for encryption processing (see, for example, Patent Document 1). However, even with this method, there still remains a risk that data is illegally viewed by service providers.

そこで、サービス事業者に管理させるユーザデータのうち、秘匿化の必要な情報を他の文字や記号の列に変換する中継装置を、ユーザ端末とサービス事業者のコンピュータシステムとの間に設ける方法が考えられている(例えば、特許文献2参照)。   Therefore, there is a method of providing a relay device that converts information that needs to be concealed among user data to be managed by the service provider into a string of other characters and symbols between the user terminal and the service provider computer system. It is considered (for example, refer to Patent Document 2).

特表2007−537509号公報Special table 2007-537509 gazette 特開2008−177821号公報JP 2008-177821 A 特開2007−133670号公報JP 2007-133670 A 特開平09−097216号公報JP 09-097216 A

しかし、従来の方法では上記コンピュータシステムを利用するに当たって、ユーザ側で新たに中継装置を導入する必要がある。このため、中継装置の導入時の作業負担や運用管理の負担が問題となる。特に、上記サービス形態においてはユーザ側でのシステム改変を伴わずにサービス提供することが望まれる。   However, in the conventional method, it is necessary to newly introduce a relay device on the user side when using the computer system. For this reason, the work burden at the time of introduction of a relay apparatus and the burden of operation management become a problem. In particular, in the above service form, it is desired to provide a service without system modification on the user side.

本発明はこのような点に鑑みてなされたものであり、データの安全性の向上を容易に実現できるようにしたデータ提供方法、データ提供装置データ提供プログラムおよびデータ提供システムを提供することを目的とする。 The present invention has been made in view of these points, and provides a data providing method, a data providing apparatus , a data providing program, and a data providing system that can easily improve the safety of data. Objective.

上記課題を解決するために、データ提供方法が提供される。このデータ提供方法では、データ提供装置が、端末装置から所定の識別情報を含むデータ取得要求を受信すると、登録データ識別情報とを対応付けて記憶する第1の記憶部を参照して、データ取得要求に含まれる識別情報に対応する登録データを取得するとともに、暗号処理に用いられる鍵の所在を示す所在情報識別情報とが対応付けられた管理情報を記憶する第2の記憶部を参照して、データ取得要求に含まれる識別情報に対応する所在情報を取得し、取得した登録データと、取得した所在情報で示される情報処理装置に記憶された鍵を端末装置に取得させるとともに、取得させた鍵を用いて取得した登録データを復号させるプログラムと、を端末装置に送信する。 In order to solve the above problems, a data providing method is provided. In this data providing method, when the data providing device receives a data acquisition request including predetermined identification information from the terminal device, the data providing device refers to the first storage unit that stores the registered data and the identification information in association with each other, acquires the registration data corresponding to the identification information included in the acquisition request, referring to the second storage unit for storing management information location information indicating the location of the keys used in the encryption process and the identification information has been correlated Then, the location information corresponding to the identification information included in the data acquisition request is acquired, the acquired registration data and the key stored in the information processing device indicated by the acquired location information are acquired by the terminal device and acquired. A program for decrypting the registration data acquired using the key thus transmitted is transmitted to the terminal device.

また、上記課題を解決するために上記データ提供方法と同様の処理を行う機能を有するデータ提供装置が提供される。
また、上記課題を解決するために上記データ提供方法と同様の処理をコンピュータに実行させるデータ提供プログラムが提供される。
また、上記課題を解決するために、データ提供装置が、端末装置からデータ取得要求を受信すると、データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得し、取得したデータと、端末装置が接続されるネットワーク内の情報処理装置に記憶された、取得した所在情報に基づき特定される鍵を端末装置に取得させるとともに、取得させた鍵を用いて取得したデータを復号させるプログラムと、を端末装置に送信する、ことを実行し、ネットワークは、該ネットワーク外からのアクセスが制限される、ことを特徴とするデータ提供方法が提供される。
また、上記課題を解決するために、端末装置からデータ取得要求を受信すると、データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得する処理部と、取得したデータと、端末装置が接続されるネットワークであって該ネットワーク外からのアクセスが制限されるネットワーク内の情報処理装置に記憶された、取得した所在情報に基づき特定される鍵を端末装置に取得させるとともに、取得させた鍵を用いて取得したデータを復号させるプログラムと、を端末装置に送信する送信部と、を有するデータ提供装置が提供される。
また、上記課題を解決するために、端末装置からデータ取得要求を受信すると、データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得し、取得したデータと、端末装置が接続されるネットワークであって該ネットワーク外からのアクセスが制限されるネットワーク内の情報処理装置に記憶された、取得した所在情報に基づき特定される鍵を端末装置に取得させるとともに、取得させた鍵を用いて取得したデータを復号させるプログラムと、を端末装置に送信する、処理をコンピュータに実行させるデータ提供プログラムが提供される。
また、上記課題を解決するために、データ提供装置と、端末装置と、端末装置が接続し、かつ、ネットワーク外からのアクセスが制限されるネットワークに接続された、情報処理装置と、を備えるデータ提供システムであって、データ提供装置が、暗号化されたデータを記憶する第1記憶手段と、端末装置からデータ取得要求を受信すると、データ取得要求に対応する暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを端末装置に送信する送信手段と、を備え、情報処理装置が、鍵を記憶する第2記憶手段を備え、端末装置が、送信された所在情報に基づき特定される鍵を情報処理装置から取得する取得手段と、取得した鍵を用いて取得した暗号化されたデータを復号させる復号処理手段と、を備えることを特徴とするデータ提供システムが提供される。
Moreover, in order to solve the said subject, the data provision apparatus which has a function which performs the process similar to the said data provision method is provided.
Moreover, in order to solve the said subject, the data provision program which makes a computer perform the process similar to the said data provision method is provided.
In order to solve the above problem, when the data providing device receives a data acquisition request from the terminal device, the location of the encrypted data corresponding to the data acquisition request and the key used for the encryption processing of the data And acquiring the key that is stored on the information processing device in the network to which the terminal device is connected and that is specified based on the acquired location information. A data providing method comprising: transmitting a program for decrypting data acquired using a generated key to a terminal device, wherein a network is restricted from being accessed from outside the network. Provided.
In order to solve the above problem, when a data acquisition request is received from a terminal device, encrypted data corresponding to the data acquisition request, and location information indicating the location of a key used for encryption processing of the data, Specified based on the acquired location information stored in an information processing device in the network to which the terminal device is connected and access from outside the network is restricted. A data providing apparatus is provided that includes a program for causing a terminal device to acquire a key to be executed and decrypting data acquired using the acquired key, and a transmission unit that transmits the program to the terminal device.
In order to solve the above problem, when a data acquisition request is received from a terminal device, encrypted data corresponding to the data acquisition request, and location information indicating the location of a key used for encryption processing of the data, And a key specified based on the acquired location information stored in an information processing device in the network to which the terminal device is connected and access from outside the network is restricted. And a data providing program for causing the computer to execute a process for transmitting to the terminal device a program for causing the terminal device to acquire data and decrypting the acquired data using the acquired key.
In order to solve the above-mentioned problem, data comprising a data providing device, a terminal device, and an information processing device connected to a network to which the terminal device is connected and access from outside the network is restricted In the providing system, when the data providing device receives the data acquisition request from the terminal device, the first storage unit that stores the encrypted data, the encrypted data corresponding to the data acquisition request, and the data Transmitting means for transmitting the location information indicating the location of the key used for encryption processing to the terminal device, and the information processing device includes second storage means for storing the key, and the terminal device is transmitted An acquisition unit that acquires a key specified based on the location information from the information processing apparatus; and a decryption processing unit that decrypts the encrypted data acquired using the acquired key. Data providing system is provided which is characterized.

ータの安全性の向上を容易に実現できる。 Of data to improve the safety it can be easily realized.

第1の実施の形態に係るデータ提供装置を示す図である。It is a figure which shows the data provision apparatus which concerns on 1st Embodiment. 第2の実施の形態に係る情報処理システムを示す図である。It is a figure which shows the information processing system which concerns on 2nd Embodiment. 第2の実施の形態のデータ提供サーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the data provision server of 2nd Embodiment. 第2の実施の形態のデータ提供サーバの機能構成を示す図である。It is a figure which shows the function structure of the data provision server of 2nd Embodiment. 第2の実施の形態の端末装置の機能構成を示す図である。It is a figure which shows the function structure of the terminal device of 2nd Embodiment. 第2の実施の形態の鍵管理サーバの機能構成を示す図である。It is a figure which shows the function structure of the key management server of 2nd Embodiment. 第2の実施の形態のユーザ管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the user management table of 2nd Embodiment. 第2の実施の形態のグループ管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the group management table of 2nd Embodiment. 第2の実施の形態のデータ管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the data management table of 2nd Embodiment. 第2の実施の形態のスケジュールデータの内容を例示する図である。It is a figure which illustrates the content of the schedule data of 2nd Embodiment. システムの利用開始の際の画面を例示する図である。It is a figure which illustrates the screen at the time of starting utilization of a system. 暗号処理の設定画面を例示する図である。It is a figure which illustrates the setting screen of an encryption process. 予定登録画面を例示する図である。It is a figure which illustrates a schedule registration screen. 予定登録画面のHTML文書を例示する図である。It is a figure which illustrates the HTML document of a schedule registration screen. 暗号処理を実行するための関数を例示する図である。It is a figure which illustrates the function for performing encryption processing. 予定閲覧画面を例示する図である。It is a figure which illustrates a plan browsing screen. 予定閲覧画面のHTML文書の第1の例を示す図である。It is a figure which shows the 1st example of the HTML document of a plan browsing screen. 予定閲覧画面のHTML文書の第2の例を示す図である。It is a figure which shows the 2nd example of the HTML document of a plan browsing screen. メニュー画面の表示処理を示すフローチャートである。It is a flowchart which shows the display process of a menu screen. 予定登録処理を示すフローチャートである。It is a flowchart which shows a plan registration process. 予定登録画面応答処理を示すフローチャートである。It is a flowchart which shows a plan registration screen response process. 鍵取得処理を示すフローチャートである。It is a flowchart which shows a key acquisition process. 暗号化処理を示すフローチャートである。It is a flowchart which shows an encryption process. 予定閲覧処理を示すフローチャートである。It is a flowchart which shows a plan browsing process. 予定閲覧画面応答処理を示すフローチャートである。It is a flowchart which shows a plan browsing screen response process. 復号処理を示すフローチャートである。It is a flowchart which shows a decoding process. 第2の実施の形態のデータ閲覧方法の具体例を示す図である。It is a figure which shows the specific example of the data browsing method of 2nd Embodiment. 第3の実施の形態に係る情報処理システムを示す図である。It is a figure which shows the information processing system which concerns on 3rd Embodiment. 第3の実施の形態の端末装置の機能構成を示す図である。It is a figure which shows the function structure of the terminal device of 3rd Embodiment. 第3の実施の形態のスケジュールデータの内容を例示する図である。It is a figure which illustrates the content of the schedule data of 3rd Embodiment. 第3の実施の形態のデータ閲覧方法の具体例を示す図である。It is a figure which shows the specific example of the data browsing method of 3rd Embodiment.

以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るデータ提供装置を示す図である。データ提供装置1は、端末装置2で利用されるユーザデータを管理する。データ提供装置1は、端末装置2のリクエストに応じて、自装置で管理するユーザデータを端末装置2に提供する。データ提供装置1は、記憶部1a,1b、受信部1c、処理部1dおよび送信部1eを有する。
Hereinafter, the present embodiment will be described in detail with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a data providing apparatus according to the first embodiment. The data providing device 1 manages user data used in the terminal device 2. In response to a request from the terminal device 2, the data providing device 1 provides user data managed by the device itself to the terminal device 2. The data providing apparatus 1 includes storage units 1a and 1b, a reception unit 1c, a processing unit 1d, and a transmission unit 1e.

記憶部1aは、登録データを所定の識別情報に対応付けて記憶する。登録データは、例えば、端末装置2を利用するユーザが扱うユーザデータである。
記憶部1bは、端末装置2が暗号処理するための鍵の所在情報を、所定の識別情報に対応付けて定義した管理情報を記憶する。端末装置2は、当該鍵によりデータ提供装置1に渡すデータの少なくとも一部を暗号処理する。端末装置2が暗号処理の対象とするデータは、例えば、端末装置2を利用するユーザが作成した文書や図表などのデータである。あるいは、当該データは、例えば文書や図表などのデータの所在を示すものでもよい。
The storage unit 1a stores registration data in association with predetermined identification information. The registration data is user data handled by a user who uses the terminal device 2, for example.
The storage unit 1b stores management information in which key location information for encryption processing by the terminal device 2 is defined in association with predetermined identification information. The terminal device 2 encrypts at least a part of data to be passed to the data providing device 1 using the key. The data to be subjected to encryption processing by the terminal device 2 is, for example, data such as a document or a chart created by a user who uses the terminal device 2. Alternatively, the data may indicate the location of data such as a document or a chart.

また、所在情報は、情報処理装置3および情報処理装置3における鍵の格納場所を示す情報である。また、識別情報は、例えば端末装置2を利用するユーザを識別するための情報である。   The location information is information indicating the information processing device 3 and the key storage location in the information processing device 3. The identification information is information for identifying a user who uses the terminal device 2, for example.

受信部1cは、端末装置2から所定の識別情報を含むリクエストを受信する。リクエストの種類は、少なくとも次の2種類の何れかを含む。すなわち、リクエストはデータ提供装置1にデータを登録するためのデータ登録要求、またはデータ提供装置1から登録データを取得するためのデータ取得要求の何れかである。受信部1cは、受信したリクエストを処理部1dに出力する。   The receiving unit 1 c receives a request including predetermined identification information from the terminal device 2. The request type includes at least one of the following two types. That is, the request is either a data registration request for registering data in the data providing apparatus 1 or a data acquisition request for acquiring registration data from the data providing apparatus 1. The receiving unit 1c outputs the received request to the processing unit 1d.

処理部1dおよび送信部1eは、リクエストの内容に応じて以下に示す処理を実行する。
(データ取得時)
(A1)リクエストがデータ取得要求である場合、処理部1dは、記憶部1a,1bを参照して、データ取得要求に含まれる識別情報に対応する所在情報および登録データを取得する。そして、処理部1dは、端末装置2に所在情報で示される情報処理装置3から鍵を取得させる鍵取得プログラムを生成する。更に、処理部1dは、登録データと鍵取得プログラムとを送信部1eに出力する。
The processing unit 1d and the transmission unit 1e execute the following process according to the content of the request.
(At the time of data acquisition)
(A1) When the request is a data acquisition request, the processing unit 1d refers to the storage units 1a and 1b and acquires location information and registration data corresponding to the identification information included in the data acquisition request. Then, the processing unit 1d generates a key acquisition program that causes the terminal device 2 to acquire a key from the information processing device 3 indicated by the location information. Further, the processing unit 1d outputs the registration data and the key acquisition program to the transmission unit 1e.

(A2)送信部1eは、処理部1dから登録データと鍵取得プログラムとを取得すると、これらの情報を端末装置2に送信する。これらの情報を受信した端末装置2は、鍵取得プログラムを実行して、情報処理装置3から鍵を取得する。端末装置2は、取得した鍵により登録データを復号し、その内容をユーザに提供する。   (A2) When the transmission unit 1e acquires the registration data and the key acquisition program from the processing unit 1d, the transmission unit 1e transmits the information to the terminal device 2. The terminal device 2 that has received these pieces of information executes a key acquisition program and acquires a key from the information processing device 3. The terminal device 2 decrypts the registration data with the acquired key and provides the contents to the user.

(データ登録時)
(B1)リクエストがデータ登録要求である場合、処理部1dは、記憶部1bに記憶された管理情報を参照し、データ登録要求に含まれる識別情報に対応する所在情報を取得する。そして、処理部1dは、端末装置2に所在情報で示される情報処理装置3から鍵を取得させる鍵取得プログラムを生成する。更に、処理部1dはデータ登録用の情報(例えば、データを入力する入力画面の情報)と共に鍵取得プログラムを送信部1eに出力する。
(When registering data)
(B1) When the request is a data registration request, the processing unit 1d refers to the management information stored in the storage unit 1b and acquires location information corresponding to the identification information included in the data registration request. Then, the processing unit 1d generates a key acquisition program that causes the terminal device 2 to acquire a key from the information processing device 3 indicated by the location information. Further, the processing unit 1d outputs a key acquisition program to the transmission unit 1e together with information for data registration (for example, information on an input screen for inputting data).

(B2)送信部1eは、処理部1dからデータ登録用の情報と鍵取得プログラムとを取得すると、これらの情報を端末装置2に送信する。これらの情報を受信した端末装置2は、鍵取得プログラムを実行して、情報処理装置3から鍵を取得する。そして、端末装置2は、取得した鍵により、送信すべきデータの少なくとも一部を暗号化して生成した登録データをデータ提供装置1に送信する。処理部1dは、受信部1cを介して端末装置2から登録データを取得すると、登録データを識別情報に対応付けて記憶部1aに格納する。   (B2) Upon acquiring the data registration information and the key acquisition program from the processing unit 1d, the transmission unit 1e transmits these information to the terminal device 2. The terminal device 2 that has received these pieces of information executes a key acquisition program and acquires a key from the information processing device 3. Then, the terminal device 2 transmits registration data generated by encrypting at least a part of data to be transmitted to the data providing device 1 using the acquired key. When the processing unit 1d acquires the registration data from the terminal device 2 via the reception unit 1c, the processing unit 1d stores the registration data in the storage unit 1a in association with the identification information.

このようなデータ提供装置1によれば、端末装置2からデータ取得用が受信されると、記憶部1aが参照されて、データ取得要求に含まれる識別情報に対応する登録データが取得される。また、記憶部1bが参照されて、データ取得要求に含まれる識別情報に対応する所在情報が取得される。更に、取得した登録データと、所在情報で示される情報処理装置3に記憶された鍵を端末装置2に取得させるとともに取得させた鍵を用いて取得した登録データを復号させるプログラムと、が端末装置2に送信される。   According to such a data providing device 1, when data acquisition is received from the terminal device 2, the storage unit 1 a is referred to, and registration data corresponding to the identification information included in the data acquisition request is acquired. Further, the storage unit 1b is referred to, and the location information corresponding to the identification information included in the data acquisition request is acquired. Further, the terminal device includes the acquired registration data and a program for causing the terminal device 2 to acquire the key stored in the information processing device 3 indicated by the location information and decrypting the registered data acquired using the acquired key. 2 is transmitted.

これにより、データの安全性の向上を容易に実現できる。具体的には、端末装置2は、データ提供装置1から受信した鍵取得プログラムを実行することで、情報処理装置3から暗号処理用の鍵を取得する。このため、当該機能を予め端末装置2に導入しておく必要がない。また、当該機能を有する装置を予めデータ提供装置1と端末装置2との間に導入しておく必要もない。よって、導入作業や運用管理の負担が軽減される。   Thereby, it is possible to easily improve the safety of data. Specifically, the terminal device 2 acquires a key for cryptographic processing from the information processing device 3 by executing a key acquisition program received from the data providing device 1. For this reason, it is not necessary to introduce the function into the terminal device 2 in advance. Further, it is not necessary to introduce a device having the function between the data providing device 1 and the terminal device 2 in advance. Therefore, the burden of introduction work and operation management is reduced.

また、鍵を記憶する情報処理装置3は、データ提供装置1とは別個に設けられる。すなわち、データ提供装置1は、鍵の所在を管理するのみなので、データ提供装置1単体では、登録データを復号することはできない。このため、データ提供装置1に渡すデータの安全性を向上できる。   Further, the information processing apparatus 3 that stores the key is provided separately from the data providing apparatus 1. That is, since the data providing apparatus 1 only manages the location of the key, the registered data cannot be decrypted by the data providing apparatus 1 alone. For this reason, the security of the data passed to the data provision apparatus 1 can be improved.

なお、鍵を記憶する情報処理装置3を、データ提供装置1からは参照不可能であるが、端末装置2からは参照可能なネットワークに設けてもよい。これにより、データの安全性を一層向上できる。   The information processing device 3 that stores the key cannot be referred to from the data providing device 1, but may be provided in a network that can be referred to from the terminal device 2. Thereby, the safety of data can be further improved.

以下の実施の形態では、Webシステムによってデータの登録や提供などの管理を行うことが可能な情報処理システムにデータ提供装置1を適用する場合を例に採り、更に詳細に説明する。   In the following embodiment, a case where the data providing apparatus 1 is applied to an information processing system capable of performing management such as registration and provision of data by a Web system will be described as an example.

[第2の実施の形態]
図2は、第2の実施の形態に係る情報処理システムを示す図である。この情報処理システムは、ユーザ会社に業務サービスを提供するWebシステムである。業務のためのデータは、サービス事業者が管理するデータ提供サーバ100に格納される。ユーザ会社は、当該サービスを利用することで、社内に当該業務用のサーバを設けることなく、業務を行うことができる。以下では、業務サービスの一例として、スケジュール管理サービスの提供を示して具体的に説明する。
[Second Embodiment]
FIG. 2 is a diagram illustrating an information processing system according to the second embodiment. This information processing system is a Web system that provides business services to a user company. Data for business is stored in the data providing server 100 managed by the service provider. By using the service, the user company can perform business without providing a server for the business in the company. Hereinafter, as an example of the business service, the provision of the schedule management service is shown and specifically described.

この情報処理システムでは、データ提供サーバ100、端末装置200,200aおよび鍵管理サーバ300がネットワーク10,20および通信装置10aを介して接続されている。   In this information processing system, the data providing server 100, the terminal devices 200 and 200a, and the key management server 300 are connected via the networks 10 and 20 and the communication device 10a.

ネットワーク10は、データ提供サーバ100が接続するネットワークである。ネットワーク10は、例えばインターネットである。
通信装置10aは、ネットワーク10に接続される無線通信装置である。通信装置10aは、端末装置200aと無線通信する。
The network 10 is a network to which the data providing server 100 is connected. The network 10 is, for example, the Internet.
The communication device 10 a is a wireless communication device connected to the network 10. The communication device 10a performs wireless communication with the terminal device 200a.

ネットワーク20は、端末装置200および鍵管理サーバ300が接続するネットワークである。ネットワーク20は、例えばイントラネットであり、ユーザ会社の社内ネットワークである。   The network 20 is a network to which the terminal device 200 and the key management server 300 are connected. The network 20 is, for example, an intranet and is an internal network of a user company.

ネットワーク10とネットワーク20とは接続されている。ただし、ネットワーク20にはネットワーク10との接点に、ネットワーク間での通信を中継するゲートウェイやファイアウォールなど(図2では図示を省略)が設けられている。このゲートウェイやファイアウォールにより、ネットワーク20の外側にある装置(データ提供サーバ100や端末装置200a)からネットワーク20の内部に対してするアクセスは制限される。   The network 10 and the network 20 are connected. However, the network 20 is provided with a gateway, a firewall, and the like (not shown in FIG. 2) that relay communication between the networks at the contact point with the network 10. Access to the inside of the network 20 from devices (the data providing server 100 and the terminal device 200a) outside the network 20 is restricted by the gateway and the firewall.

データ提供サーバ100は、サービス事業者のサーバ装置である。データ提供サーバ100は、端末装置200,200aのユーザが利用するユーザデータを記憶・管理する。データ提供サーバ100は、端末装置200,200aの要求に応じて、当該ユーザデータを端末装置200,200aに送信する。   The data providing server 100 is a service provider server device. The data providing server 100 stores and manages user data used by the users of the terminal devices 200 and 200a. The data providing server 100 transmits the user data to the terminal devices 200 and 200a in response to a request from the terminal devices 200 and 200a.

データ提供サーバ100は、Webサーバ機能を有する。データ提供サーバ100は、端末装置200,200aからHTTP(Hypertext Transfer Protocol)リクエスト(以下、単にリクエストという)を受信する。データ提供サーバ100は、当該リクエストに応じたHTTPレスポンス(以下、単にレスポンスという)を端末装置200,200aに送信する。このようにして、データ提供サーバ100はWebサービスを提供する。   The data providing server 100 has a Web server function. The data providing server 100 receives an HTTP (Hypertext Transfer Protocol) request (hereinafter simply referred to as a request) from the terminal devices 200 and 200a. The data providing server 100 transmits an HTTP response corresponding to the request (hereinafter simply referred to as a response) to the terminal devices 200 and 200a. In this way, the data providing server 100 provides a web service.

端末装置200,200aは、ユーザが利用するコンピュータである。ユーザは、端末装置200を操作して、データ提供サーバ100にスケジュールを登録できる。ユーザは、端末装置200,200aを操作して、データ提供サーバ100に格納されたデータを取得し、登録したスケジュールを閲覧できる。例えば、ユーザは、端末装置200から登録したスケジュールを社外の端末装置200aにより閲覧できる。端末装置200,200aは、ユーザが当該システムを利用するためのGUI(Graphical User Interface)を提供するWebブラウザを実行する。   The terminal devices 200 and 200a are computers used by users. A user can register a schedule in the data providing server 100 by operating the terminal device 200. The user can operate the terminal devices 200 and 200a to acquire data stored in the data providing server 100 and browse the registered schedule. For example, the user can browse the schedule registered from the terminal device 200 using the terminal device 200a outside the company. The terminal devices 200 and 200a execute a Web browser that provides a GUI (Graphical User Interface) for the user to use the system.

鍵管理サーバ300は、スケジュールの機密部分を暗号処理するための鍵を記憶する。鍵管理サーバ300は、端末装置200の要求に応じて、端末装置200に鍵を送信する。なお、鍵管理サーバ300を複数台設け、それぞれで複数の鍵を管理してもよい。   The key management server 300 stores a key for cryptographic processing of the confidential part of the schedule. The key management server 300 transmits a key to the terminal device 200 in response to a request from the terminal device 200. A plurality of key management servers 300 may be provided, and a plurality of keys may be managed respectively.

ユーザは、鍵管理サーバ300の鍵を用いてスケジュールの機密部分を暗号化できる。これにより、データ提供サーバ100側での機密事項の不正な閲覧を防止できる。
図3は、第2の実施の形態のデータ提供サーバのハードウェア構成を示す図である。データ提供サーバ100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、記録媒体読取装置107および通信インタフェース108を有する。
The user can encrypt the confidential part of the schedule using the key of the key management server 300. Thereby, illegal browsing of confidential matters on the data providing server 100 side can be prevented.
FIG. 3 is a diagram illustrating a hardware configuration of the data providing server according to the second embodiment. The data providing server 100 includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, a hard disk drive (HDD) 104, a graphic processing device 105, an input interface 106, and a recording medium reading. A device 107 and a communication interface 108 are included.

CPU101は、データ提供サーバ100全体を制御する。
ROM102は、データ提供サーバ100上のBIOS(Basic Input / Output System)のプログラムなどを記憶する。
The CPU 101 controls the entire data providing server 100.
The ROM 102 stores a BIOS (Basic Input / Output System) program on the data providing server 100.

RAM103は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101による処理に必要な各種データを記憶する。   The RAM 103 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 103 stores various data necessary for processing by the CPU 101.

HDD104は、OSのプログラム、アプリケーションのプログラムを記憶する。また、HDD104はCPU101による処理に必要な各種データを記憶する。なお、HDD104に代えて(または、HDD104と併せて)、SSD(Solid State Drive)など他の種類の記憶装置を用いてもよい。   The HDD 104 stores an OS program and an application program. The HDD 104 stores various data necessary for processing by the CPU 101. Instead of the HDD 104 (or in combination with the HDD 104), another type of storage device such as an SSD (Solid State Drive) may be used.

グラフィック処理装置105は、モニタ11と接続される。グラフィック処理装置105は、CPU101からの命令に従って画像をモニタ11の画面に表示させる。
入力インタフェース106は、キーボード12とマウス13と接続される。入力インタフェース106は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。
The graphic processing device 105 is connected to the monitor 11. The graphic processing device 105 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101.
The input interface 106 is connected to the keyboard 12 and the mouse 13. The input interface 106 transmits a signal sent from the keyboard 12 or the mouse 13 to the CPU 101.

記録媒体読取装置107は、記録媒体14に記憶されたデータを読み取る読取装置である。例えば、データ提供サーバ100が有すべき機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。そのようなプログラムは、コンピュータ読み取り可能な記録媒体14に記録して配布することができる。また、ネットワーク10に接続されたプログラム配信サーバ(図示せず)にそのプログラムを格納してもよい。この場合、データ提供サーバ100は、ネットワーク10を介してプログラム配信サーバからプログラムをダウンロードすることができる。   The recording medium reading device 107 is a reading device that reads data stored in the recording medium 14. For example, a function that the data providing server 100 should have can be realized by causing a computer to execute a program describing the processing content of the function. Such a program can be recorded on a computer-readable recording medium 14 and distributed. Further, the program may be stored in a program distribution server (not shown) connected to the network 10. In this case, the data providing server 100 can download the program from the program distribution server via the network 10.

記録媒体14としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD:Flexible Disk)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。   As the recording medium 14, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory can be used. Magnetic recording devices include HDDs, flexible disks (FD), magnetic tapes, and the like. Optical disks include CD (Compact Disc), CD-R (Recordable) / RW (ReWritable), DVD (Digital Versatile Disc), DVD-R / RW / RAM, and the like. Magneto-optical recording media include MO (Magneto-Optical disk). Semiconductor memory includes flash memory such as USB (Universal Serial Bus) memory.

通信インタフェース108は、ネットワーク10と接続される。通信インタフェース108は、ネットワーク10,20や通信装置10aを介して他の情報処理装置とデータ通信する。   The communication interface 108 is connected to the network 10. The communication interface 108 performs data communication with other information processing apparatuses via the networks 10 and 20 and the communication apparatus 10a.

なお、端末装置200,200aおよび鍵管理サーバ300もデータ提供サーバ100と同様のハードウェア構成により実現できる。
図4は、第2の実施の形態のデータ提供サーバの機能構成を示す図である。データ提供サーバ100は、データ記憶部110、受信部120、ユーザ情報管理部130、クライアントプログラム構成部140および送信部150を有する。これらの機能は、所定のプログラムをCPU101が実行することで実現される。なお、これらの機能の少なくとも一部または全部を専用のハードウェアにより実現してもよい。
The terminal devices 200 and 200a and the key management server 300 can also be realized by the same hardware configuration as that of the data providing server 100.
FIG. 4 is a diagram illustrating a functional configuration of the data providing server according to the second embodiment. The data providing server 100 includes a data storage unit 110, a reception unit 120, a user information management unit 130, a client program configuration unit 140, and a transmission unit 150. These functions are realized by the CPU 101 executing a predetermined program. Note that at least a part or all of these functions may be realized by dedicated hardware.

データ記憶部110は、ユーザを管理するためのユーザ管理情報や、データを管理するためのデータ管理情報などを記憶する。ユーザ管理情報は、ユーザごとの暗号処理のポリシー(鍵の所在情報や暗号化対象)を管理する情報である。データ管理情報は、ユーザごとのデータ本体を管理する情報である。また、データ記憶部110は、端末装置200に対して応答すべきWebページの構成情報やそのプログラムのひな型などを記憶する。   The data storage unit 110 stores user management information for managing users, data management information for managing data, and the like. The user management information is information for managing encryption processing policies (key location information and encryption targets) for each user. The data management information is information for managing the data body for each user. In addition, the data storage unit 110 stores configuration information of a Web page to be responded to the terminal device 200, a model of the program, and the like.

受信部120は、端末装置200が送信したリクエストを受信する。リクエストには、スケジュールの登録画面を要求するものや、スケジュールの閲覧画面を要求するものが含まれる。受信部120は、受信したリクエストをユーザ情報管理部130に出力する。   The receiving unit 120 receives a request transmitted from the terminal device 200. The request includes a request for a schedule registration screen and a request for a schedule browsing screen. The receiving unit 120 outputs the received request to the user information management unit 130.

ユーザ情報管理部130は、データ記憶部110に記憶されたユーザ管理情報やデータ管理情報を管理する。ユーザ情報管理部130は、受信部120から取得したリクエストを解析し、その内容に応じた処理を実行する。リクエストには、予定登録画面のリクエストおよび予定閲覧画面のリクエストなどがある。   The user information management unit 130 manages user management information and data management information stored in the data storage unit 110. The user information management unit 130 analyzes the request acquired from the reception unit 120 and executes processing according to the content. The request includes a request for a schedule registration screen and a request for a schedule browsing screen.

また、ユーザ情報管理部130は、ユーザ管理情報やデータ管理情報の更新の依頼を受け付けるとデータ記憶部110に記憶された各情報の更新を実行する。
例えば、ユーザ情報管理部130は、端末装置200から新たなスケジュールデータや更新後スケジュールデータを受信すると受信したデータに基づいて、データ記憶部110に記憶されたデータ管理情報を更新する。
In addition, upon receiving a request for updating user management information or data management information, the user information management unit 130 updates each information stored in the data storage unit 110.
For example, when receiving new schedule data or updated schedule data from the terminal device 200, the user information management unit 130 updates the data management information stored in the data storage unit 110 based on the received data.

クライアントプログラム構成部140は、ユーザ情報管理部130が解析したリクエストの内容に応じて以下の処理を実行する。
(1)クライアントプログラム構成部140は、予定登録画面のリクエストを取得すると、予定登録画面を端末装置200のWebブラウザに表示させるためのHTML(Hypertext Markup Language)文書を生成して、送信部150に出力する。このHTML文書のひな型はデータ記憶部110に記憶される。
The client program configuration unit 140 executes the following processing according to the content of the request analyzed by the user information management unit 130.
(1) Upon acquiring the request for the schedule registration screen, the client program configuration unit 140 generates an HTML (Hypertext Markup Language) document for displaying the schedule registration screen on the Web browser of the terminal device 200, and sends it to the transmission unit 150. Output. The HTML document model is stored in the data storage unit 110.

このHTML文書には、端末装置200に暗号処理に利用すべき鍵を、所在情報で示される装置から取得させるためのプログラム(鍵取得プログラム)が含まれる。当該プログラムは、例えばJavaScript(登録商標)で記述される。鍵の所在情報は、鍵管理サーバ300を示す情報、鍵管理サーバ300上のディレクトリおよびファイルを示す情報であり、例えば、URI(Uniform Resource Identifier)である。クライアントプログラム構成部140は、データ記憶部110に記憶されたユーザ管理情報を参照することで、当該ユーザに対応する所在情報を取得できる。   The HTML document includes a program (key acquisition program) for causing the terminal device 200 to acquire a key to be used for encryption processing from the device indicated by the location information. The program is described in, for example, JavaScript (registered trademark). The key location information is information indicating the key management server 300, information indicating directories and files on the key management server 300, and is, for example, a URI (Uniform Resource Identifier). The client program configuration unit 140 can acquire location information corresponding to the user by referring to the user management information stored in the data storage unit 110.

(2)クライアントプログラム構成部140は、予定閲覧画面のリクエストに対して、データ記憶部110に記憶されたスケジュールデータを読み出す。クライアントプログラム構成部140は、予定閲覧画面を端末装置200のWebブラウザに表示させるためのHTML文書を生成して、送信部150に出力する。このHTML文書のひな型はデータ記憶部110に記憶される。このHTML文書には、端末装置200に暗号処理に利用すべき鍵を、所在情報で示される装置から取得させるためのプログラム(鍵取得プログラム)が含まれる。当該プログラムは、例えばJavaScript(登録商標)で記述される。   (2) The client program configuration unit 140 reads the schedule data stored in the data storage unit 110 in response to the request for the schedule browsing screen. The client program configuration unit 140 generates an HTML document for displaying the schedule browsing screen on the Web browser of the terminal device 200, and outputs the HTML document to the transmission unit 150. The HTML document model is stored in the data storage unit 110. The HTML document includes a program (key acquisition program) for causing the terminal device 200 to acquire a key to be used for encryption processing from the device indicated by the location information. The program is described in, for example, JavaScript (registered trademark).

送信部150は、クライアントプログラム構成部140から取得したHTML文書をリクエストに対するレスポンスに含めて、端末装置200に送信する。
図5は、第2の実施の形態の端末装置の機能構成を示す図である。端末装置200は、Webブラウザ210、鍵取得部220および暗号処理部230を有する。これらの機能は、所定のプログラムを端末装置200のCPUが実行することで実現される。特に、鍵取得部220および暗号処理部230の機能はデータ提供サーバ100からのレスポンスに含まれるプログラムを実行することで実現される。
The transmission unit 150 includes the HTML document acquired from the client program configuration unit 140 in a response to the request, and transmits the HTML document to the terminal device 200.
FIG. 5 is a diagram illustrating a functional configuration of the terminal device according to the second embodiment. The terminal device 200 includes a Web browser 210, a key acquisition unit 220, and an encryption processing unit 230. These functions are realized by the CPU of the terminal device 200 executing a predetermined program. In particular, the functions of the key acquisition unit 220 and the encryption processing unit 230 are realized by executing a program included in a response from the data providing server 100.

Webブラウザ210は、ユーザがキーボード12やマウス13を操作して入力したデータを受け付け、データ提供サーバ100へ送信する。Webブラウザ210は、スケジュールデータをデータ提供サーバ100に送信する場合、必要に応じてスケジュールデータの一部あるいは全部を暗号処理部230に暗号化させる。そして、Webブラウザ210は暗号化後のデータをデータ提供サーバ100に送信する。   The web browser 210 receives data input by the user operating the keyboard 12 or the mouse 13 and transmits the data to the data providing server 100. When transmitting schedule data to the data providing server 100, the Web browser 210 causes the encryption processing unit 230 to encrypt part or all of the schedule data as necessary. Then, the Web browser 210 transmits the encrypted data to the data providing server 100.

また、Webブラウザ210は、データ提供サーバ100から受信したHTML文書の内容をモニタ11に表示させる。その際、Webブラウザ210は、暗号処理部230にHTML文書中の暗号化部分を復号させる。そして、復号後の内容をモニタ11に表示させる。   Further, the Web browser 210 causes the monitor 11 to display the contents of the HTML document received from the data providing server 100. At that time, the Web browser 210 causes the encryption processing unit 230 to decrypt the encrypted part in the HTML document. Then, the decrypted contents are displayed on the monitor 11.

鍵取得部220および暗号処理部230は、Webブラウザ210によって呼び出される機能である。鍵取得部220および暗号処理部230の機能は、Webブラウザ210が受信したHTML文書に含まれるプログラムを端末装置200のCPUが実行することで実現される。   The key acquisition unit 220 and the encryption processing unit 230 are functions called by the Web browser 210. The functions of the key acquisition unit 220 and the encryption processing unit 230 are realized by the CPU of the terminal device 200 executing a program included in the HTML document received by the Web browser 210.

鍵取得部220は、プログラムに含まれる所在情報に基づいて暗号処理用の鍵を取得する。所在情報は、鍵管理サーバ300上の鍵の格納場所を示す。鍵取得部220は、当該所在情報に基づき鍵管理サーバ300に鍵の送信を依頼する鍵要求を送信する。鍵取得部220は、鍵管理サーバ300から鍵を受信する。鍵取得部220は、受信した鍵を暗号処理部230に出力する。   The key acquisition unit 220 acquires a key for cryptographic processing based on location information included in the program. The location information indicates a key storage location on the key management server 300. The key acquisition unit 220 transmits a key request for requesting the key management server 300 to transmit a key based on the location information. The key acquisition unit 220 receives a key from the key management server 300. The key acquisition unit 220 outputs the received key to the encryption processing unit 230.

暗号処理部230は、Webブラウザ210から取得したデータを鍵取得部220から取得した鍵を用いて暗号処理する。暗号処理部230は、暗号化部231および復号部232を有する。   The encryption processing unit 230 performs encryption processing on the data acquired from the Web browser 210 using the key acquired from the key acquisition unit 220. The encryption processing unit 230 includes an encryption unit 231 and a decryption unit 232.

暗号化部231は、Webブラウザ210から取得したデータを鍵取得部220から取得した鍵を用いて暗号化する。暗号化部231は、暗号化したデータをWebブラウザ210に出力する。   The encryption unit 231 encrypts the data acquired from the Web browser 210 using the key acquired from the key acquisition unit 220. The encryption unit 231 outputs the encrypted data to the web browser 210.

復号部232は、Webブラウザ210から取得したデータの暗号化部分を鍵取得部220から取得した鍵を用いて復号する。復号部232は、復号したデータをWebブラウザ210に出力する。   The decryption unit 232 decrypts the encrypted part of the data acquired from the Web browser 210 using the key acquired from the key acquisition unit 220. The decryption unit 232 outputs the decrypted data to the web browser 210.

なお、端末装置200aでは、Webブラウザ210が実現されていればよい。
図6は、第2の実施の形態の鍵管理サーバの機能構成を示す図である。鍵管理サーバ300は、鍵記憶部310、受信部320、鍵抽出部330および送信部340を有する。これらの機能は、所定のプログラムを鍵管理サーバ300のCPUが実行することで実現される。なお、これらの機能の少なくとも一部または全部を専用のハードウェアにより実現してもよい。
In the terminal device 200a, the Web browser 210 may be realized.
FIG. 6 is a diagram illustrating a functional configuration of the key management server according to the second embodiment. The key management server 300 includes a key storage unit 310, a reception unit 320, a key extraction unit 330, and a transmission unit 340. These functions are realized by the CPU of the key management server 300 executing a predetermined program. Note that at least a part or all of these functions may be realized by dedicated hardware.

鍵記憶部310は、端末装置200が暗号処理に用いる鍵を記憶する。鍵は、例えば、ユーザごと、あるいは、複数のユーザの所属するグループごとにそれぞれ異なるディレクトリに格納される。   The key storage unit 310 stores a key used by the terminal device 200 for encryption processing. For example, the key is stored in a different directory for each user or for each group to which a plurality of users belong.

受信部320は、端末装置200から鍵要求を受信する。受信部320は、受信した鍵要求を鍵抽出部330に出力する。
鍵抽出部330は、受信部320から取得した鍵要求に基づいて、鍵記憶部310に記憶された鍵を取得する。鍵抽出部330は取得した鍵を送信部340に出力する。
The receiving unit 320 receives a key request from the terminal device 200. The receiving unit 320 outputs the received key request to the key extracting unit 330.
The key extraction unit 330 acquires the key stored in the key storage unit 310 based on the key request acquired from the reception unit 320. The key extraction unit 330 outputs the acquired key to the transmission unit 340.

送信部340は、鍵抽出部330から取得した鍵を端末装置200に送信する。
図7は、第2の実施の形態のユーザ管理テーブルのデータ構造例を示す図である。ユーザ管理テーブル111は、データ記憶部110に格納される。ユーザ管理テーブル111には、項番、ユーザID、パスワード、ユーザ名、鍵配置場所URI、社内判定ドメイン、暗号化対象および所属グループの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1ユーザの情報を示す。
The transmission unit 340 transmits the key acquired from the key extraction unit 330 to the terminal device 200.
FIG. 7 illustrates an exemplary data structure of the user management table according to the second embodiment. The user management table 111 is stored in the data storage unit 110. The user management table 111 includes items of item number, user ID, password, user name, key arrangement location URI, in-house determination domain, encryption target, and belonging group. Information arranged in the horizontal direction of each item is associated with each other to indicate one user's information.

項番には、レコードを識別するための番号が設定される。ユーザIDには、ユーザの識別子が設定される。パスワードには、ユーザを認証するためのパスワードが設定される。ユーザ名には、ユーザの名称が設定される。鍵配置場所URIには、鍵を格納したコンピュータやファイルを示すURIが設定される。社内判定ドメインには、アクセス元が社内であるか社外であるかを判定するためのドメインが設定される。暗号化対象には、暗号化対象とするデータ項目を指定する情報が設定される。例えば、スケジュールとして入力されるデータ項目のうち、暗号化の対象とすべきデータ項目として、スケジュールの概要や場所などが設定される。所属グループには、ユーザの所属するグループが存在する場合、そのグループを示す識別情報が設定される。   In the item number, a number for identifying the record is set. In the user ID, a user identifier is set. In the password, a password for authenticating the user is set. The user name is set as the user name. In the key arrangement location URI, a URI indicating the computer or file storing the key is set. In the in-house determination domain, a domain for determining whether the access source is in-house or outside the company is set. In the encryption target, information specifying a data item to be encrypted is set. For example, a schedule outline, a location, and the like are set as data items to be encrypted among data items input as a schedule. When there is a group to which the user belongs, identification information indicating the group is set in the belonging group.

ユーザ管理テーブル111には、例えば、項番が“1”、ユーザIDが“tarou”、パスワードが”12345abcde”、ユーザ名が“富士太郎”、鍵配置場所URIが“http://sales.shanai.example.com/key.jsonp”、社内判定ドメインが“*.shanai.example.com”という情報が設定される。また、暗号化対象のうち、概要が“○”、場所が“○”、所属グループが“−(設定なし)”という情報が設定されている。   In the user management table 111, for example, the item number is “1”, the user ID is “taro”, the password is “12345abcde”, the user name is “Fuji Taro”, and the key arrangement location URI is “http: //sales.shanai”. .Example.com / key.jsonp ”and the in-house determination domain is“ * .shanai.example.com ”. Among the encryption targets, information is set such that the outline is “O”, the location is “O”, and the group to which the group belongs is “− (no setting)”.

この項番1の各情報は、“tarou”のユーザIDで示されるユーザに対応付けられている。特に、項番1の鍵配置場所URIの情報により“tarou”で示されるユーザが登録するスケジュールデータの暗号処理に用いる鍵が、当該URIで示される鍵管理サーバ300上のファイルとして取得できることが示されている。また、項番1の社内判定ドメインの情報により、アクセス元が“*.shanai.example.com”のドメインに適合する場合に、当該アクセスをユーザ会社の社内からのアクセスであると検知することが示されている。ここで“*”はワイルドカードであり、任意の文字列に対応する。また、項番1の暗号化対象の情報により、新たに登録するスケジュールのデータ項目のうち、概要および場所のデータ項目を何れも暗号化することを示している。また、項番1の所属グループの情報により、所属グループの設定がないことを示している。   Each piece of information of item number 1 is associated with the user indicated by the user ID “taro”. In particular, it is shown that the key used for encryption processing of the schedule data registered by the user indicated by “taro” can be acquired as a file on the key management server 300 indicated by the URI by the information of the key arrangement location URI of item number 1. Has been. Further, when the access source matches the domain of “* .shanai.example.com” based on the information of the in-house determination domain of item number 1, it is detected that the access is from the inside of the user company. It is shown. Here, “*” is a wild card and corresponds to an arbitrary character string. Further, it is indicated that the data items of the outline and the location among the data items of the schedule to be newly registered are encrypted by the information to be encrypted of item number 1. Further, the information on the group belonging to item number 1 indicates that there is no group setting.

ここで、暗号化対象のデータ項目に“×”が設定されている場合、当該データ項目は暗号化しないことを示している。
また、ユーザ管理テーブル111には、例えば、項番が“2”、ユーザIDが“jirou”、パスワードが“qwertyuiop”、ユーザ名が“富士二郎”、鍵配置場所URIが“−(設定なし)”、社内判定ドメインが“−(設定なし)”、暗号化対象(概要および場所の何れも)が“−(設定なし)”、所属グループが“Group1”という情報が設定されている。
Here, when “x” is set in the data item to be encrypted, this indicates that the data item is not encrypted.
Further, in the user management table 111, for example, the item number is “2”, the user ID is “jirou”, the password is “qwertyoop”, the user name is “Fujiro”, and the key arrangement location URI is “− (no setting)”. "In-house determination domain is set to"-(no setting) ", information to be encrypted (both summary and location) is set to"-(no setting) ", and the group to which the group belongs is set to" Group1 ".

この項番2の各情報により、“jirou”で示されるユーザが“Group1”で示されるグループに所属しており、鍵配置場所URI、暗号化対象などの設定が当該グループのポリシーに準ずることが示されている。   According to each item No. 2, the user indicated by “jirou” belongs to the group indicated by “Group1”, and the settings such as the key arrangement location URI and the encryption target conform to the policy of the group. It is shown.

図8は、第2の実施の形態のグループ管理テーブルのデータ構造例を示す図である。グループ管理テーブル112は、データ記憶部110に格納される。グループ管理テーブル112には、項番、グループID、グループ名、鍵配置場所URI、社内判定ドメインおよび暗号化対象の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1グループの情報を示す。   FIG. 8 illustrates an exemplary data structure of the group management table according to the second embodiment. The group management table 112 is stored in the data storage unit 110. In the group management table 112, an item number, a group ID, a group name, a key arrangement location URI, an in-house determination domain, and items to be encrypted are provided. Information arranged in the horizontal direction of each item is associated with each other to indicate one group of information.

項番には、レコードを識別するための番号が設定される。グループIDには、グループの識別子が設定される。グループ名には、グループの名称が設定される。鍵配置場所URIには、鍵を格納したコンピュータやファイルを示すURIが設定される。社内判定ドメインには、アクセス元が社内であるか社外であるかを判定するためのドメインが設定される。暗号化対象には、暗号化対象とするデータ項目を指定する情報が設定される。例えば、スケジュールとして入力されたデータ項目のうち、暗号化の対象とすべきデータ項目として、スケジュールの概要や場所などが設定される。   In the item number, a number for identifying the record is set. In the group ID, a group identifier is set. The group name is set as the group name. In the key arrangement location URI, a URI indicating the computer or file storing the key is set. In the in-house determination domain, a domain for determining whether the access source is in-house or outside the company is set. In the encryption target, information specifying a data item to be encrypted is set. For example, a schedule outline, a location, and the like are set as data items to be encrypted among data items input as a schedule.

グループ管理テーブル112には、例えば、項番が“1”、グループIDが“Group1”、グループ名が“設計チーム”、鍵配置場所URIが“http://sk.shanai.example.com/a1/key3.jsonp”、社内判定ドメインが“*.shanai.example.com”という情報が設定される。また、暗号化対象のうち、概要が“○”、場所が“○”という情報が設定されている。   In the group management table 112, for example, the item number is “1”, the group ID is “Group1”, the group name is “design team”, and the key arrangement location URI is “http://sk.shanai.example.com/a1”. /Key3.jsonp ”and the in-house determination domain is set as“ * .shanai.example.com ”. In addition, information that is “O” for the outline and “O” for the location is set in the encryption target.

この項番1の情報は、“Group1”のユーザIDで示されるグループに対応付けられている。特に、項番1の鍵配置場所URIの情報により“Group1”で示されるグループに属するユーザが登録するスケジュールデータの暗号処理に用いる鍵が、当該URIで示されるサーバ上のファイルとして取得できることが示されている。また、項番1の社内判定ドメインの情報により、アクセス元が“*.shanai.example.com”のドメインに適合する場合に、当該アクセスをユーザ会社の社内からのアクセスであると検知することが示されている。また、項番1の暗号化対象の情報により、このグループに属するユーザが新たに登録するスケジュールのデータ項目のうち、概要および場所のデータ項目を何れも暗号化することを示している。   The information of item number 1 is associated with the group indicated by the user ID “Group1”. In particular, it is shown that the key used for the encryption processing of the schedule data registered by the user belonging to the group indicated by “Group 1” can be acquired as a file on the server indicated by the URI by the information of the key arrangement location URI of No. 1. Has been. Further, when the access source matches the domain of “* .shanai.example.com” based on the information of the in-house determination domain of item number 1, it is detected that the access is from the inside of the user company. It is shown. In addition, the information to be encrypted of item number 1 indicates that the data items of the outline and the location are to be encrypted among the data items of the schedule newly registered by the users belonging to this group.

例えば、ユーザ管理テーブル111で示した“jirou”で示されるユーザは、“Group1”に属している。したがって、上記項番“1”のレコードの設定が、“jirou”で示されるユーザに適用される。ただし、ユーザ管理テーブル111に当該ユーザにつき個別の設定がなされている場合には、個別の設定を優先して適用してもよい。   For example, the user indicated by “jirou” shown in the user management table 111 belongs to “Group1”. Therefore, the record setting of the item number “1” is applied to the user indicated by “jirou”. However, when individual settings are made for the user in the user management table 111, the individual settings may be applied with priority.

このようにグループ単位での管理を可能とすることで、例えばプロジェクトの全担当者につき統一されたポリシーを一括して容易に設定できる。
図9は、第2の実施の形態のデータ管理テーブルのデータ構造例を示す図である。データ管理テーブル113は、データ記憶部110に格納される。データ管理テーブル113には、項番、ユーザID、文書IDおよびデータの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのデータに関する情報を示す。
By enabling management in units of groups in this way, for example, it is possible to easily set a unified policy for all persons in charge of a project.
FIG. 9 is a diagram illustrating an example of the data structure of the data management table according to the second embodiment. The data management table 113 is stored in the data storage unit 110. The data management table 113 includes items of item number, user ID, document ID, and data. Information arranged in the horizontal direction of each item is associated with each other to indicate information related to one piece of data.

項番には、レコードを識別するための番号が設定される。ユーザIDには、ユーザの識別子が設定される。文書IDには、文書を識別するための識別子が設定される。データ本体には、データの本体が設定される。データ本体には、例えば、各人のスケジュールを示すvCalendar形式のデータが格納される。   In the item number, a number for identifying the record is set. In the user ID, a user identifier is set. In the document ID, an identifier for identifying the document is set. The data body is set in the data body. For example, data in vCalendar format indicating each person's schedule is stored in the data body.

データ管理テーブル113には、例えば、項番が“1”、ユーザIDが“tarou”、文書IDが“0000001”、データ本体が“スケジュールデータ(tarou).vcs”という情報が設定されている。なお、データ本体をファイル名で示している。   In the data management table 113, for example, the information that the item number is “1”, the user ID is “taro”, the document ID is “0000001”, and the data body is “schedule data (taro) .vcs” is set. The data body is indicated by a file name.

この項番1の各情報により、当該レコードに格納された“スケジュールデータ(tarou).vcs”がユーザ“tarou”のスケジュールであり、その文書IDが“0000001”であることが示されている。   The information of item number 1 indicates that “schedule data (taro) .vcs” stored in the record is the schedule of the user “tarou” and the document ID is “0000001”.

なお、図7〜9に示した各テーブルは、データ記憶部110に格納されるものとしたが、それぞれのテーブルあるいはそれぞれのテーブルの一部を別個の記憶部に格納してもよい。例えば、ユーザ管理テーブル111およびグループ管理テーブル112をデータ記憶部110に格納し、データ管理テーブル113をRAM103やHDD104に設けられた他の記憶部に格納してもよい。   7 to 9 are stored in the data storage unit 110, each table or a part of each table may be stored in a separate storage unit. For example, the user management table 111 and the group management table 112 may be stored in the data storage unit 110, and the data management table 113 may be stored in another storage unit provided in the RAM 103 or the HDD 104.

図10は、第2の実施の形態のスケジュールデータの内容を例示する図である。(A)に示すスケジュールデータ400は、暗号化前を示している。(B)に示すスケジュールデータ410は、暗号化後を示している。   FIG. 10 is a diagram illustrating the contents of schedule data according to the second embodiment. The schedule data 400 shown in (A) indicates before encryption. The schedule data 410 shown in (B) indicates after encryption.

スケジュールデータ400は、スケジュールの内容を示す複数のデータ項目を有している。データ項目には、場所(LOCATION)401および概要(SUMMARY)402が含まれる。   The schedule data 400 has a plurality of data items indicating the contents of the schedule. The data items include a location 401 and a summary (SUMMARY) 402.

場所401には、例えば“C101会議室”という情報が設定されている。また、概要402には、例えば“クラウド戦略会議”という情報が設定されている。
スケジュールデータ410は、スケジュールデータ400と同一のデータ項目を有している。データ項目には、場所411および概要412が含まれる。場所411は、場所401の暗号化後に対応する。概要412は、概要402の暗号化後に対応する。
In the place 401, for example, information “C101 conference room” is set. In the overview 402, for example, information “cloud strategy meeting” is set.
The schedule data 410 has the same data items as the schedule data 400. Data items include a location 411 and a summary 412. The location 411 corresponds after the location 401 is encrypted. The outline 412 corresponds to the outline 402 after encryption.

ユーザの暗号化対象として、場所と概要とが選択されている場合、スケジュールデータ410のように場所411および概要412に暗号化された内容が設定される。そして、端末装置200はスケジュールデータ410をデータ提供サーバ100に送信する。データ提供サーバ100はデータ記憶部110に記憶されたデータ管理テーブル113にスケジュールデータ410の内容を登録する。具体的には、例えば、データ管理テーブル113に既に格納されているスケジュールデータの所定のタグ部分にスケジュールデータ410で新たに追加された内容を挿入する。あるいは、例えばスケジュールデータ410に含まれる日時が既に挿入されている場合には、その日時につきスケジュールの内容をスケジュールデータ410の内容で置換する。   When the location and the outline are selected as the user encryption targets, the encrypted contents are set in the location 411 and the outline 412 as in the schedule data 410. Then, the terminal device 200 transmits the schedule data 410 to the data providing server 100. The data providing server 100 registers the contents of the schedule data 410 in the data management table 113 stored in the data storage unit 110. Specifically, for example, the content newly added in the schedule data 410 is inserted into a predetermined tag portion of the schedule data already stored in the data management table 113. Alternatively, for example, when the date and time included in the schedule data 410 has already been inserted, the content of the schedule is replaced with the content of the schedule data 410 for that date and time.

次に、Webブラウザ210が表示する画面について説明する。以下に示す画面は、データ提供サーバ100が端末装置200に送信するHTML文書に基づいて、Webブラウザ210が端末装置200のモニタに表示するものである。   Next, a screen displayed by the Web browser 210 will be described. The screen shown below is displayed on the monitor of the terminal device 200 by the Web browser 210 based on the HTML document transmitted from the data providing server 100 to the terminal device 200.

図11は、システムの利用開始の際の画面を例示する図である。(A)はログイン画面510を示す。(B)は利用メニュー画面520を示す。
ログイン画面510は、データ提供サーバ100が提供するWebページを示す所定のURIがWebブラウザ210で指定されると当該ブラウザに表示される画面である。
FIG. 11 is a diagram exemplifying a screen at the start of use of the system. (A) shows the login screen 510. (B) shows the use menu screen 520.
The login screen 510 is a screen displayed on the browser when a predetermined URI indicating the Web page provided by the data providing server 100 is designated by the Web browser 210.

ログイン画面510には、テキストボックス511,512およびログインボタン513が表示されている。
テキストボックス511は、ユーザIDを入力するためのフォームである。テキストボックス512は、パスワードを入力するためのフォームである。ユーザは、端末装置200に接続された入力デバイス(キーボードやマウスなど)を操作して、テキストボックス511,512に文字列を入力できる。
On the login screen 510, text boxes 511 and 512 and a login button 513 are displayed.
A text box 511 is a form for inputting a user ID. A text box 512 is a form for inputting a password. The user can input a character string into the text boxes 511 and 512 by operating an input device (such as a keyboard or a mouse) connected to the terminal device 200.

ログインボタン513は、テキストボックス511,512に入力されたユーザIDおよびパスワードをデータ提供サーバ100に送信するためのボタンである。ユーザは、入力デバイスを用いてログインボタン513を押下操作することで、入力した文字列によるユーザ認証をデータ提供サーバ100に促すことができる。   The login button 513 is a button for transmitting the user ID and password input in the text boxes 511 and 512 to the data providing server 100. The user can urge the data providing server 100 to perform user authentication using the input character string by pressing the login button 513 using the input device.

データ提供サーバ100は、データ記憶部110に記憶されたユーザ管理テーブル111およびグループ管理テーブル112を参照して、ユーザIDとパスワードとを照合し認証を行う。データ提供サーバ100は、認証に成功すると利用メニュー画面520を示すHTML文書を端末装置200に送信する。   The data providing server 100 refers to the user management table 111 and the group management table 112 stored in the data storage unit 110 and compares the user ID with the password to perform authentication. When the authentication is successful, the data providing server 100 transmits an HTML document indicating the use menu screen 520 to the terminal device 200.

利用メニュー画面520は、認証が成功した結果、Webブラウザ210に表示される画面である。利用メニュー画面520には、設定ボタン521、予定登録ボタン522および予定閲覧ボタン523が表示されている。ユーザは、入力デバイスを操作して、各ボタンを押下操作し、各ボタンに対応する画面をWebブラウザ210に表示させることができる。   The use menu screen 520 is a screen displayed on the Web browser 210 as a result of successful authentication. On the use menu screen 520, a setting button 521, a schedule registration button 522, and a schedule browsing button 523 are displayed. The user can operate the input device, press down each button, and display a screen corresponding to each button on the Web browser 210.

設定ボタン521は、設定画面へ遷移するためのボタンである。利用メニュー画面520では、ユーザ“富士太郎”がログインした状態を示している。設定ボタン521が押下されると、当該ログイン中のユーザの暗号処理の設定を行う画面に遷移する。   The setting button 521 is a button for making a transition to the setting screen. The use menu screen 520 shows a state where the user “Taro Fuji” has logged in. When the setting button 521 is pressed, a transition is made to a screen for setting the encryption processing of the logged-in user.

予定登録ボタン522は、予定登録画面へ遷移するためのボタンである。予定登録ボタン522が押下されると、当該ユーザの予定登録画面に遷移する。
予定閲覧ボタン523は、予約閲覧画面へ遷移するためのボタンである。予定閲覧ボタン523が押下されると、当該ユーザの予定閲覧画面に遷移する。
The schedule registration button 522 is a button for making a transition to the schedule registration screen. When the schedule registration button 522 is pressed, the screen shifts to the schedule registration screen for the user.
The schedule browsing button 523 is a button for making a transition to the reservation browsing screen. When the plan browsing button 523 is pressed, the screen transitions to the user's plan browsing screen.

なお、利用メニュー画面520では、ユーザ個人でログインした場合を例示したが、グループでログインした場合にも同様に設定メニュー画面が表示される。ただし、その場合、設定メニュー画面には、グループに所属しているユーザごとの予定登録ボタンや予定閲覧ボタンが表示されてもよい。   In the usage menu screen 520, the case where the user has logged in as an example is illustrated, but the setting menu screen is similarly displayed when the user logs in as a group. However, in that case, a schedule registration button and a schedule browsing button for each user belonging to the group may be displayed on the setting menu screen.

また、例えば、ネットワーク20以外からのアクセス(社外からのアクセス)に対しては、データ提供サーバ100は、利用メニュー画面520に予定登録ボタン522を表示させないこととしてもよい。   For example, for access from outside the network 20 (access from outside the company), the data providing server 100 may not display the schedule registration button 522 on the use menu screen 520.

図12は、暗号処理の設定画面を例示する図である。設定画面530は、利用メニュー画面520で設定ボタン521を押下すると、Webブラウザ210に表示される画面である。設定画面530には、テキストボックス531,532、チェックボックス533,534および確定ボタン535が表示されている。   FIG. 12 is a diagram illustrating an example of a setting screen for encryption processing. The setting screen 530 is a screen displayed on the Web browser 210 when the setting button 521 is pressed on the use menu screen 520. On the setting screen 530, text boxes 531 and 532, check boxes 533 and 534, and a confirmation button 535 are displayed.

テキストボックス531は、暗号鍵の配置場所を示すURIを入力するためのフォームである。テキストボックス532は、アクセス元ドメインが社内のドメインであるか否かを判定するための判定基準となるドメインを入力するためのフォームである。ユーザは、入力デバイスを用いてテキストボックス531,532に文字列を入力できる。   A text box 531 is a form for inputting a URI indicating the location of the encryption key. The text box 532 is a form for inputting a domain that is a determination criterion for determining whether or not the access source domain is an in-house domain. The user can input a character string into the text boxes 531 and 532 using the input device.

チェックボックス533,534は、スケジュールデータのうち暗号化するデータ項目を指定するためのフォームである。チェックボックス533は、概要のデータ項目を暗号化するか否かを受け付ける。チェックボックス534は、場所のデータ項目を暗号化するか否かを受け付ける。ユーザは、該当のデータ項目を暗号化対象としたい場合には、入力デバイスを操作して、チェックボックス533,534にチェックを入力することができる。   Check boxes 533 and 534 are forms for designating data items to be encrypted among schedule data. The check box 533 receives whether or not the summary data item is encrypted. The check box 534 receives whether or not the location data item is encrypted. The user can input a check in the check boxes 533 and 534 by operating the input device when he / she wants to make the corresponding data item to be encrypted.

確定ボタン535は、設定画面530に入力したデータを確定し、データ提供サーバ100に送信するためのボタンである。ユーザは、入力デバイスを操作して、確定ボタン535を押下操作することで、設定画面530に入力された内容で自身のユーザ管理レコードを更新するようデータ提供サーバ100に指示できる。   The confirm button 535 is a button for confirming data input to the setting screen 530 and transmitting the data to the data providing server 100. The user can instruct the data providing server 100 to update his / her user management record with the content input on the setting screen 530 by operating the input device and pressing the confirm button 535.

データ提供サーバ100は、当該入力内容を受信すると、データ記憶部110に記憶されたユーザ管理テーブル111の該当ユーザのレコードを更新する。具体的には、テキストボックス531に入力されたURIがユーザ管理テーブル111の鍵配置場所URIに設定される。また、テキストボックス532に入力されたドメインがユーザ管理テーブル111の社内判定ドメインに設定される。また、チェックボックス533にチェックが入力されている場合に、ユーザ管理テーブル111の暗号化対象のうち概要の項目に“○”が設定される。同様に、チェックボックス534にチェックが入力されている場合に、ユーザ管理テーブル111の暗号化対象のうち場所の項目に“○”が設定される。チェックが未入力の場合には、ユーザ管理テーブル111の当該項目に“×”が設定される。   When receiving the input content, the data providing server 100 updates the record of the corresponding user in the user management table 111 stored in the data storage unit 110. Specifically, the URI input in the text box 531 is set as the key arrangement location URI of the user management table 111. Further, the domain input in the text box 532 is set as the in-house determination domain of the user management table 111. In addition, when a check is input in the check box 533, “O” is set in the summary item in the encryption target of the user management table 111. Similarly, when a check is input in the check box 534, “O” is set in the location item among the encryption targets of the user management table 111. If the check is not input, “x” is set in the item of the user management table 111.

なお、設定画面530には、ユーザ単位でのログインの場合に、当該ユーザが属するグループを設定変更するためのフォームを設けてもよい。また、グループでログインしている場合には、設定画面530によりグループ管理テーブル112に設定されたグループの暗号処理の設定・変更を行うことができる。   The setting screen 530 may be provided with a form for changing the setting of the group to which the user belongs in the case of login in units of users. Further, when logged in as a group, it is possible to set / change the encryption processing of the group set in the group management table 112 on the setting screen 530.

図13は、予定登録画面を例示する図である。予定登録画面540は、利用メニュー画面520で予定登録ボタン522を押下すると、Webブラウザ210に表示される画面である。予定登録画面540には、アンカー541、テキストボックス542,543,544,545、チェックボックス546および登録ボタン547が表示されている。   FIG. 13 is a diagram illustrating a schedule registration screen. The schedule registration screen 540 is a screen displayed on the Web browser 210 when the schedule registration button 522 is pressed on the use menu screen 520. On the schedule registration screen 540, an anchor 541, text boxes 542, 543, 544, 545, a check box 546 and a registration button 547 are displayed.

アンカー541は、予定閲覧画面に遷移するためのハイパーリンクである。
テキストボックス542は、スケジュールの日付を入力するためのフォームである。テキストボックス543は、スケジュールの開始時刻を入力するためのフォームである。テキストボックス544は、スケジュールの概要を入力するためのフォームである。テキストボックス545は、スケジュールの場所を入力するためのフォームである。ユーザは、入力デバイスを用いてテキストボックス542,543,544,545に各データ項目を入力できる。
The anchor 541 is a hyperlink for transitioning to the schedule browsing screen.
A text box 542 is a form for inputting the date of the schedule. A text box 543 is a form for inputting the start time of the schedule. A text box 544 is a form for inputting a summary of the schedule. A text box 545 is a form for inputting the location of the schedule. The user can input each data item in the text boxes 542, 543, 544, and 545 using the input device.

チェックボックス546は、設定画面530で指定した暗号化対象のデータ項目に対して暗号化を行うか否かを選択するためのフォームである。ユーザは、入力デバイスを操作して、チェックボックス546にチェックを入力することができる。   The check box 546 is a form for selecting whether or not to encrypt the data item to be encrypted designated on the setting screen 530. The user can input a check in the check box 546 by operating the input device.

登録ボタン547は、テキストボックス542,543,544,545およびチェックボックス546に入力した内容を確定するためのボタンである。ユーザは、入力デバイスを操作して、登録ボタン547を押下操作することで、予定登録画面540に入力されたスケジュールの内容を自身のスケジュールデータに登録するようデータ提供サーバ100に指示できる。   The registration button 547 is a button for confirming the contents input in the text boxes 542, 543, 544, 545 and the check box 546. The user can operate the input device and press the registration button 547 to instruct the data providing server 100 to register the contents of the schedule input on the schedule registration screen 540 in its own schedule data.

このときチェックボックス546にチェックが入力されている場合、端末装置200は、所定のデータ項目について暗号化した後に、データ提供サーバ100へ当該入力内容を送信する。   If the check box 546 is checked at this time, the terminal device 200 encrypts a predetermined data item and then transmits the input content to the data providing server 100.

また、例えば、ネットワーク20以外からのアクセス(社外からのアクセス)に対して、データ提供サーバ100は、予定登録画面540にチェックボックス546を表示させないこととしてもよい。   Further, for example, the data providing server 100 may not display the check box 546 on the schedule registration screen 540 for access from other than the network 20 (access from outside the company).

図14は、予定登録画面のHTML文書を例示する図である。HTML文書540aは、利用メニュー画面520の予定登録ボタン522が押下された際に、データ提供サーバ100が生成して端末装置200に送信される。Webブラウザ210は、HTML文書540aに基づいて、予定登録画面540をモニタに表示する。   FIG. 14 is a diagram illustrating an HTML document on the schedule registration screen. The HTML document 540 a is generated by the data providing server 100 and transmitted to the terminal device 200 when the schedule registration button 522 on the use menu screen 520 is pressed. The Web browser 210 displays a schedule registration screen 540 on the monitor based on the HTML document 540a.

HTML文書540aは、コード541a,542a,543aを含む。
コード541aは、暗号処理を実行するための関数を記載したファイル群(“internal.js”など)を端末装置200のメモリ上に読み込むためのコードである。
The HTML document 540a includes codes 541a, 542a, and 543a.
The code 541a is a code for reading a file group (“internal.js” or the like) describing a function for executing encryption processing into the memory of the terminal device 200.

コード542aは、鍵取得部220を実現するためのスクリプトを記述したコードである。コード542aは、鍵管理サーバ300に記憶された鍵を指定するURIを含む。具体的には、“http://sales.example.com/key.jsonp”が、鍵管理サーバ300に記憶された鍵を指定するURIである。端末装置200は、例えばネットワーク20に接続されたネームサーバ(図2では図示せず)に“sales.example.com”を問い合わせることで、当該ドメイン名に対応する鍵管理サーバ300のIP(Internet Protocol)アドレスを取得できる。あるいは、端末装置200がドメイン名とIPアドレスとの対応付けを定義したファイルを予め有していてもよい。これにより、端末装置200上で鍵取得部220が実現される。   The code 542a is a code describing a script for realizing the key acquisition unit 220. The code 542a includes a URI that designates a key stored in the key management server 300. Specifically, “http://sales.example.com/key.jsonp” is a URI that designates a key stored in the key management server 300. The terminal device 200 makes an inquiry about “sales.example.com” to a name server (not shown in FIG. 2) connected to the network 20, for example, so that the IP (Internet Protocol) of the key management server 300 corresponding to the domain name is obtained. ) You can get the address. Alternatively, the terminal device 200 may have a file in which the association between the domain name and the IP address is defined in advance. Thereby, the key acquisition unit 220 is realized on the terminal device 200.

そして、鍵取得部220は、JSONP(JavaScript Object Notation with Padding)により鍵管理サーバ300から鍵を取得する。鍵管理サーバ300には、所定のディレクトリにファイル“key.jsonp”が格納される。“key.jsonp”には、例えばJSONPデータ「jsonp(“mysecretkey”);」が記述される。鍵取得部220は、鍵管理サーバ300からjsonp(“mysecretkey”);の応答を得て、コード542aで定義される関数“jsonp”により鍵“mysecretkey”を取得できる。   The key acquisition unit 220 acquires a key from the key management server 300 by JSONP (JavaScript Object Notation with Padding). In the key management server 300, the file “key.jsonp” is stored in a predetermined directory. In “key.jsonp”, for example, JSONP data “jsonp (“ mysecretkey ”);” is described. The key acquisition unit 220 obtains a response of jsonp (“mysecretkey”); from the key management server 300, and can acquire the key “mysecretkey” using the function “jsonp” defined by the code 542a.

コード543aは、暗号化部231を実現するためのスクリプトを記述したコードである。暗号化部231は、登録ボタン547が押下操作された際に、チェックボックス546にチェックが入力されている場合、入力されたスケジュールデータのうち、暗号化対象のデータ項目(場所や概要)を暗号化する。そして、端末装置200は暗号化後のスケジュールデータをデータ提供サーバ100に送信する。   The code 543a is a code describing a script for realizing the encryption unit 231. When the check button 546 is checked when the registration button 547 is pressed, the encryption unit 231 encrypts data items (location and summary) to be encrypted in the input schedule data. Turn into. Then, the terminal device 200 transmits the encrypted schedule data to the data providing server 100.

なお、コード542a,543aは、データ記憶部110に記憶されたユーザ管理テーブル111およびグループ管理テーブル112に設定された内容に応じて生成される。例えば、コード542aに含まれるURIには鍵管理サーバ300以外のサーバが指定される場合もある。また、例えば、コード543aにおいて、場所や概要以外のデータ項目を暗号化対象としてもよい。なお、その場合には、ユーザ管理テーブル111やグループ管理テーブル112において、暗号化対象として場所や概要以外のデータ項目(例えば、開始時刻など)が設定される。HTML文書540aを生成するためのひな型は、データ記憶部110に予め格納される。   The codes 542a and 543a are generated according to the contents set in the user management table 111 and the group management table 112 stored in the data storage unit 110. For example, a server other than the key management server 300 may be specified for the URI included in the code 542a. Further, for example, in the code 543a, data items other than the location and the outline may be the encryption target. In this case, in the user management table 111 and the group management table 112, data items other than the location and the outline (for example, the start time) are set as encryption targets. A template for generating the HTML document 540a is stored in the data storage unit 110 in advance.

図15は、暗号処理を実行するための関数を例示する図である。ファイル540bは、“internal.js”の内容を示している。ファイル540bは、予定登録画面540の構成ファイルとしてデータ記憶部110に予め格納される。ファイル540bは、コード541b、542bを含む。   FIG. 15 is a diagram illustrating a function for executing cryptographic processing. The file 540b shows the contents of “internal.js”. The file 540b is stored in advance in the data storage unit 110 as a configuration file of the schedule registration screen 540. The file 540b includes codes 541b and 542b.

コード541bは、暗号化部231による暗号化処理を示すコードである。コード541bでは、鍵取得部220が取得した鍵(“pcdms.key”)を使用して所定の関数(“blowfish.encrypt”)により暗号化を行った後に、base64によるエンコードを行う場合を例示している。暗号化部231は、当該エンコード後のデータの先頭に“{enc:”を、最後尾に“}”を付加する。復号部232による暗号化部分の特定を容易とするためである。   The code 541b is a code indicating the encryption processing by the encryption unit 231. The code 541b exemplifies a case where encoding is performed using base64 after encryption by a predetermined function (“blowfish.encrypt”) using the key (“pcdms.key”) acquired by the key acquisition unit 220. ing. The encryption unit 231 adds “{enc:” to the beginning of the encoded data and “}” to the end. This is because the encryption part can be easily specified by the decryption unit 232.

コード542bは、復号部232による復号処理を示すコードである。コード542bでは、コード541bで暗号化されたデータを復号する場合を例示している。復号部232は、復号対象データのうち、“{enc:”を先頭に含まないものはそのまま出力する。“{enc:”を含むものについて、先頭の“{enc:”と最後尾の“}”を除いた文字列につきbase64によるデコードを行う。更に、鍵取得部220が取得した鍵を使用してデコード後のデータを所定の関数(“blowfish.decrypt”)により復号する。そして、復号後のデータをWebブラウザ210に出力する。   The code 542b is a code indicating a decoding process by the decoding unit 232. The code 542b illustrates a case where the data encrypted by the code 541b is decrypted. The decoding unit 232 outputs the data to be decoded that does not include “{enc:” at the head as it is. For those including “{enc:”, the character string excluding the leading “{enc:” and the last “}” is decoded by base64. Furthermore, the decoded data is decrypted by a predetermined function (“blowfish.decrypt”) using the key acquired by the key acquisition unit 220. Then, the decrypted data is output to the Web browser 210.

なお、復号対象データが暗号化されていないにも関わらず、先頭に“{enc:”を含む場合も考えられる。そのような場合を考慮して、非暗号化データが復号されないように、コード542bに適宜他のエスケープ処理を追加してもよい。   Note that there may be a case where “{enc:” is included at the head even though the data to be decrypted is not encrypted. In consideration of such a case, another escape process may be added to the code 542b as appropriate so that the unencrypted data is not decrypted.

図16は、予定閲覧画面を例示する図である。(A)はデータ提供サーバ100に社内からアクセスした場合(社内アクセス時)の予定閲覧画面550を示す。予定閲覧画面550は端末装置200のWebブラウザ210に表示される画面である。(B)はデータ提供サーバ100に社外からアクセスした場合(社外アクセス時)の予定閲覧画面560を示す。予定閲覧画面560は端末装置200aのWebブラウザに表示される画面である。   FIG. 16 is a diagram illustrating a schedule browsing screen. (A) shows the schedule browsing screen 550 when the data providing server 100 is accessed from within the company (when accessing the company). The plan browsing screen 550 is a screen displayed on the Web browser 210 of the terminal device 200. (B) shows the schedule browsing screen 560 when the data providing server 100 is accessed from outside the company (when accessing outside the company). The plan browsing screen 560 is a screen displayed on the Web browser of the terminal device 200a.

予定閲覧画面550には、アンカー551および予定一覧表示部552が表示されている。アンカー551は、予定登録画面540に遷移するためのハイパーリンクである。予定一覧表示部552は、現在ログイン中のユーザのスケジュールの一覧を表示する領域である。   On the schedule browsing screen 550, an anchor 551 and a schedule list display section 552 are displayed. The anchor 551 is a hyperlink for transitioning to the schedule registration screen 540. The schedule list display unit 552 is an area for displaying a list of schedules of users who are currently logged in.

予定一覧表示部552には、データ記憶部110に記憶されたデータ管理テーブル113に設定されるデータ本体の内容が表示される。例えば、ユーザ“富士太郎”がログインしている場合、ログイン時のユーザID“tarou”に対応するデータ本体“スケジュールデータ(tarou).vcs”が読み出され、その内容が予定一覧表示部552に表示される。端末装置200は、データ本体に記述されたデータのうち、暗号化部分に関しては、鍵管理サーバ300から取得した鍵により復号して予定一覧表示部552に表示する。   The schedule list display unit 552 displays the contents of the data body set in the data management table 113 stored in the data storage unit 110. For example, when the user “Taro Fuji” is logged in, the data body “schedule data (taro) .vcs” corresponding to the user ID “taro” at the time of login is read, and the content is displayed in the schedule list display section 552. Is displayed. The terminal device 200 decrypts the encrypted portion of the data described in the data body with the key acquired from the key management server 300 and displays it on the schedule list display unit 552.

予定閲覧画面560には、アンカー561および予定一覧表示部562が表示されている。アンカー561は、アンカー551に対応する。予定一覧表示部562は、予定一覧表示部552に対応する。   On the schedule browsing screen 560, an anchor 561 and a schedule list display unit 562 are displayed. The anchor 561 corresponds to the anchor 551. The schedule list display unit 562 corresponds to the schedule list display unit 552.

予定一覧表示部562には、予定一覧表示部552と同様にしてログイン中のユーザのスケジュールの一覧が表示される。ただし、社外アクセス時には、ネットワーク20内にアクセスして鍵を取得することができないため、暗号化部分は所定の文字列で置換する。   The schedule list display unit 562 displays a list of the schedules of logged-in users in the same manner as the schedule list display unit 552. However, since the key cannot be obtained by accessing the network 20 during external access, the encrypted portion is replaced with a predetermined character string.

図17は、予定閲覧画面のHTML文書の第1の例を示す図である。HTML文書550aは、社内アクセス時に利用メニュー画面520の予定閲覧ボタン523が押下されると、データ提供サーバ100が生成して端末装置200に送信される。Webブラウザ210は、HTML文書550aに基づいて、予定閲覧画面550をモニタに表示する。   FIG. 17 is a diagram illustrating a first example of the HTML document on the schedule browsing screen. The HTML document 550 a is generated by the data providing server 100 and transmitted to the terminal device 200 when the plan view button 523 on the use menu screen 520 is pressed during internal access. The web browser 210 displays the schedule browsing screen 550 on the monitor based on the HTML document 550a.

HTML文書550aは、コード551a,552a,553a,554aを含む。
コード551aは、暗号処理を実行するための関数を記載したファイル群を端末装置200のメモリ上に読み込むためのコードである。
The HTML document 550a includes codes 551a, 552a, 553a, and 554a.
The code 551a is a code for reading a file group in which a function for executing cryptographic processing is written into the memory of the terminal device 200.

コード552aは、鍵取得部220を実現するためのスクリプトを記述したコードである。コード552aは、鍵管理サーバ300に記憶された鍵を指定したURIを含む。具体的には、“http://sales.example.com/key.jsonp”が、鍵管理サーバ300に記憶された鍵を指定するURIである。当該URIによる鍵の取得方法は、図14のコード542aで説明した方法と同様である。   The code 552a is a code describing a script for realizing the key acquisition unit 220. The code 552a includes a URI specifying the key stored in the key management server 300. Specifically, “http://sales.example.com/key.jsonp” is a URI that designates a key stored in the key management server 300. The key acquisition method using the URI is the same as the method described with reference to the code 542a in FIG.

コード553aは、復号部232を実現するためのスクリプトを記述したコードである。復号部232は、鍵取得部220が鍵を取得すると、当該HTML文書550a内のタグ“td”の要素につき復号を試みる。   The code 553a is a code describing a script for realizing the decryption unit 232. When the key acquisition unit 220 acquires the key, the decryption unit 232 attempts to decrypt each element of the tag “td” in the HTML document 550a.

コード554aは、タグ“td”の要素に暗号化部分を含むコードである。
暗号化部分の復号方法は、図15のコード542bの説明の通りである。
図18は、予定閲覧画面のHTML文書の第2の例を示す図である。HTML文書560aは、社外アクセス時に利用メニュー画面520の予定閲覧ボタン523が押下されると、データ提供サーバ100が生成して、端末装置200aに送信される。Webブラウザは、HTML文書560aに基づいて、予定閲覧画面560をモニタに表示する。
The code 554a is a code including an encrypted part in the element of the tag “td”.
The method for decrypting the encrypted part is as described for the code 542b in FIG.
FIG. 18 is a diagram illustrating a second example of the HTML document on the schedule browsing screen. The HTML document 560a is generated by the data providing server 100 and transmitted to the terminal device 200a when the planned browsing button 523 on the use menu screen 520 is pressed during external access. The Web browser displays the schedule browsing screen 560 on the monitor based on the HTML document 560a.

HTML文書560aは、コード561aを含む。コード561aは、図17で示したコード554aに対応している。このように、データ提供サーバ100は社外アクセス時には暗号化部分を所定の文字列(例えば“社外秘”)に置換したHTML文書560aを生成する。これにより、暗号化部分に含まれる無意味な文字列がユーザに提示されるのを防止する。   The HTML document 560a includes a code 561a. The code 561a corresponds to the code 554a shown in FIG. In this way, the data providing server 100 generates the HTML document 560a in which the encrypted part is replaced with a predetermined character string (for example, “inside secret”) at the time of external access. This prevents a meaningless character string included in the encrypted part from being presented to the user.

このため、例えば、端末装置200aのWebブラウザに予定閲覧画面560を表示させたとしても、暗号化された無意味な文字列が表示されない。よって、社外アクセス時にも暗号化部分の安全性を確保するとともに、内容の見易さを向上できる。   For this reason, for example, even if the schedule browsing screen 560 is displayed on the Web browser of the terminal device 200a, an encrypted meaningless character string is not displayed. Therefore, it is possible to ensure the security of the encrypted part even when accessed outside the company and improve the visibility of the contents.

次に、以上のような構成の情報処理システムにおける処理手順を説明する。なお、以下では特に明記しない限り、端末装置200からユーザ“富士太郎”がデータ提供サーバ100へアクセスする場合を想定する。   Next, a processing procedure in the information processing system configured as described above will be described. In the following, it is assumed that the user “Taro Fuji” accesses the data providing server 100 from the terminal device 200 unless otherwise specified.

図19は、メニュー画面の表示処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS11]端末装置200は、ログイン画面510のURIを受け付ける。当該URIは、例えば、ユーザが所定のWebページ上から当該URIを示すハイパーリンクを選択したり、Webブラウザ210に直接入力したりすることで、端末装置200に入力される。
FIG. 19 is a flowchart showing menu screen display processing. Hereinafter, each process is demonstrated along a step number.
[Step S11] The terminal device 200 receives the URI of the login screen 510. The URI is input to the terminal device 200 when, for example, the user selects a hyperlink indicating the URI from a predetermined Web page or directly inputs the URI to the Web browser 210.

[ステップS12]端末装置200は、データ提供サーバ100にログイン画面510のリクエストを送信する。
[ステップS13]データ提供サーバ100は、端末装置200からリクエストを受信する。データ提供サーバ100は、リクエストに応じて、ログイン画面510のHTML文書を含むレスポンスを端末装置200に送信する。
[Step S12] The terminal device 200 transmits a request for the login screen 510 to the data providing server 100.
[Step S13] The data providing server 100 receives a request from the terminal device 200. In response to the request, the data providing server 100 transmits a response including the HTML document of the login screen 510 to the terminal device 200.

[ステップS14]端末装置200は、データ提供サーバ100からレスポンスを受信する。端末装置200は、レスポンスに含まれるHTML文書に基づいて、ログイン画面510をモニタに表示させる。   [Step S14] The terminal device 200 receives a response from the data providing server 100. The terminal device 200 displays a login screen 510 on the monitor based on the HTML document included in the response.

[ステップS15]端末装置200は、ログイン画面510のログインボタン513の押下操作を受け付けると、テキストボックス511,512に入力されたユーザIDおよびパスワードをデータ提供サーバ100に送信する。   [Step S <b> 15] When the terminal device 200 receives an operation of pressing the login button 513 on the login screen 510, the terminal device 200 transmits the user ID and password input in the text boxes 511 and 512 to the data providing server 100.

[ステップS16]データ提供サーバ100は、受信したIDおよびパスワードをデータ記憶部110に記憶されたユーザ管理テーブル111のユーザIDおよびパスワードと照合する。照合により、IDおよびパスワードが一致するものがあれば、認証OKとして処理をステップS17に進める。この場合、データ提供サーバ100は、例えば端末装置200との間のセッションに対応付けたセッション変数に認証したIDを保持する。IDおよびパスワードが一致するものがなければ、認証NGとして処理をステップS18に進める。   [Step S16] The data providing server 100 collates the received ID and password with the user ID and password in the user management table 111 stored in the data storage unit 110. If there is a match between the ID and the password, the process proceeds to step S17 as authentication OK. In this case, the data providing server 100 holds the authenticated ID in a session variable associated with a session with the terminal device 200, for example. If no ID and password match, the process proceeds to step S18 as authentication NG.

[ステップS17]データ提供サーバ100は、利用メニュー画面520のHTML文書を端末装置200に応答する。
[ステップS18]データ提供サーバ100は、認証失敗を端末装置200に応答する。そして、端末装置200上で認証失敗がユーザに示されて、処理が完了する。
[Step S17] The data providing server 100 responds to the terminal device 200 with the HTML document on the use menu screen 520.
[Step S18] The data providing server 100 responds to the terminal device 200 with an authentication failure. Then, the authentication failure is indicated to the user on the terminal device 200, and the process is completed.

[ステップS19]端末装置200は、受信したHTML文書に基づいて利用メニュー画面520をモニタに表示させる。そして、処理が完了する。
このようにして、データ提供サーバ100は、端末装置200を利用するユーザにつき認証に成功した場合に当該情報処理システムの利用を許可する。
[Step S19] The terminal device 200 displays a usage menu screen 520 on the monitor based on the received HTML document. Then, the process is completed.
In this way, the data providing server 100 permits the use of the information processing system when the user who uses the terminal device 200 is successfully authenticated.

ユーザは、端末装置200に接続されたモニタに表示された利用メニュー画面520から所望のボタンを押下操作することで、データ提供サーバ100が提供する各機能を利用することができる。次に、各機能の処理手順を説明する。ここで、設定ボタン521を押下操作した場合の設定処理については、図12で説明した内容と同一であるため説明を省略する。   The user can use each function provided by the data providing server 100 by pressing a desired button on the use menu screen 520 displayed on the monitor connected to the terminal device 200. Next, the processing procedure of each function will be described. Here, the setting process when the setting button 521 is pressed is the same as the contents described with reference to FIG.

まず、利用メニュー画面520で予定登録ボタン522が押下操作された際に、その後各装置が実行する処理について説明する。
図20は、予定登録処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
First, processing executed by each device after the schedule registration button 522 is pressed on the use menu screen 520 will be described.
FIG. 20 is a flowchart showing the schedule registration process. Hereinafter, each process is demonstrated along a step number.

[ステップS21]端末装置200は、利用メニュー画面520の予定登録ボタン522の押下操作を受け付ける。
[ステップS22]端末装置200は、予定登録画面540のリクエストを送信する。
[Step S21] The terminal device 200 accepts a pressing operation of the schedule registration button 522 on the use menu screen 520.
[Step S22] The terminal device 200 transmits a request for the schedule registration screen 540.

[ステップS23]データ提供サーバ100は、端末装置200からリクエストを受信する。データ提供サーバ100は、リクエストに応じて、予定登録画面540のHTML文書540aやその他の必要なファイル群を含むレスポンスを端末装置200に送信する。   [Step S <b> 23] The data providing server 100 receives a request from the terminal device 200. In response to the request, the data providing server 100 transmits a response including the HTML document 540a of the schedule registration screen 540 and other necessary files to the terminal device 200.

[ステップS24]端末装置200は、データ提供サーバ100からレスポンスを受信する。端末装置200は、レスポンスに含まれるHTML文書540aを解析し、HTML文書540aに含まれるスクリプトを実行する。これにより、端末装置200上に鍵取得部220の機能が実現される。   [Step S24] The terminal device 200 receives a response from the data providing server 100. The terminal device 200 analyzes the HTML document 540a included in the response, and executes the script included in the HTML document 540a. As a result, the function of the key acquisition unit 220 is realized on the terminal device 200.

[ステップS25]端末装置200は、鍵管理サーバ300から鍵を取得する。
[ステップS26]端末装置200は、HTML文書540aに基づいて、予定登録画面540をモニタに表示させる。端末装置200は、予定登録画面540の登録ボタン547の押下操作を受け付ける。
[Step S25] The terminal device 200 acquires a key from the key management server 300.
[Step S26] The terminal device 200 displays the schedule registration screen 540 on the monitor based on the HTML document 540a. The terminal device 200 accepts a pressing operation of the registration button 547 on the schedule registration screen 540.

[ステップS27]端末装置200は、予定登録画面540に入力されたデータ項目につき暗号化処理を行う。
[ステップS28]端末装置200は、データ提供サーバ100に各データ項目を含むスケジュールデータを送信する。
[Step S <b> 27] The terminal device 200 performs an encryption process on the data item input to the schedule registration screen 540.
[Step S <b> 28] The terminal device 200 transmits schedule data including each data item to the data providing server 100.

[ステップS29]データ提供サーバ100は、端末装置200からスケジュールデータを受信する。データ提供サーバ100は、データ記憶部110に記憶されたデータ管理テーブル113に登録されたスケジュールデータの内容を更新する。例えば、スケジュールが追加された場合には、当該ユーザの既存のスケジュールデータに追加された内容を追記する。また、既存のスケジュールが変更された場合には、当該ユーザの既存のスケジュールデータに含まれる対象スケジュールを更新する。   [Step S29] The data providing server 100 receives schedule data from the terminal device 200. The data providing server 100 updates the contents of the schedule data registered in the data management table 113 stored in the data storage unit 110. For example, when a schedule is added, the contents added to the existing schedule data of the user are added. When the existing schedule is changed, the target schedule included in the existing schedule data of the user is updated.

[ステップS30]データ提供サーバ100は、スケジュールデータの登録が完了した旨を通知するレスポンスを端末装置200に送信する。
[ステップS31]端末装置200は、データ提供サーバ100からレスポンスを受信する。端末装置200は、スケジュールデータの登録が完了した旨をモニタに表示させる。そして、処理が完了する。
[Step S30] The data providing server 100 transmits a response notifying that the registration of the schedule data is completed to the terminal device 200.
[Step S31] The terminal device 200 receives a response from the data providing server 100. The terminal device 200 displays on the monitor that the registration of the schedule data has been completed. Then, the process is completed.

このようにして、データ提供サーバ100は、端末装置200からの予定登録画面540のリクエストに応じて、予定登録画面540用のHTML文書540aを生成して端末装置200に送信する。端末装置200は、データ提供サーバ100から受信したHTML文書540aに基づいて、鍵管理サーバ300から鍵を取得し、データ提供サーバ100に送信するデータを暗号化することができる。   In this way, the data providing server 100 generates an HTML document 540 a for the schedule registration screen 540 in response to a request for the schedule registration screen 540 from the terminal device 200 and transmits it to the terminal device 200. The terminal device 200 can acquire a key from the key management server 300 based on the HTML document 540 a received from the data providing server 100 and can encrypt data to be transmitted to the data providing server 100.

次に、上記ステップS23で示したデータ提供サーバ100の予定登録画面応答処理の手順について説明する。
図21は、予定登録画面応答処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
Next, the procedure of the schedule registration screen response process of the data providing server 100 shown in step S23 will be described.
FIG. 21 is a flowchart showing the schedule registration screen response process. Hereinafter, each process is demonstrated along a step number.

[ステップS41]受信部120は、予定登録画面540のリクエストを受信する。受信部120は、受信したリクエストをユーザ情報管理部130に出力する。ユーザ情報管理部130は、当該アクセスのユーザIDを取得する。例えば、端末装置200との間で定義されるセッション変数からユーザIDを取得できる。   [Step S41] The receiving unit 120 receives a request for the schedule registration screen 540. The receiving unit 120 outputs the received request to the user information management unit 130. The user information management unit 130 acquires the user ID of the access. For example, the user ID can be acquired from a session variable defined with the terminal device 200.

[ステップS42]ユーザ情報管理部130は、データ記憶部110に記憶されたユーザ管理テーブル111を参照して、ユーザIDに対応する鍵配置場所URIを取得する。
[ステップS43]ユーザ情報管理部130は、ユーザ管理テーブル111を参照して、ユーザIDに対応する暗号化対象のデータ項目を取得する。そして、取得した鍵配置場所URIと暗号化対象とをクライアントプログラム構成部140に出力する。
[Step S42] The user information management unit 130 refers to the user management table 111 stored in the data storage unit 110, and acquires a key arrangement location URI corresponding to the user ID.
[Step S43] The user information management unit 130 refers to the user management table 111 and acquires the data item to be encrypted corresponding to the user ID. Then, the acquired key arrangement location URI and the encryption target are output to the client program configuration unit 140.

[ステップS44]クライアントプログラム構成部140は、データ記憶部110に記憶されたひな型に基づいて、HTML文書540aを生成する。具体的には、取得した鍵配置場所URIに応じたコードを生成し、ひな型に挿入する。例えば、HTML文書540aのコード541aに含まれる“http://sales.shanai.example.com/key.jsonp”の箇所が対応する。また、取得した暗号化対象のデータ項目に応じたコードを生成し、ひな型に挿入する。例えば、コード542aに含まれる“form.location.value=pcdms.enc(form.location.value);”および“form.summary.value=pcdms.enc(form.summary.value);”の箇所が対応する。そして、生成したHTML文書540aとその他の必要なファイル群を送信部150に出力する。   [Step S44] The client program configuration unit 140 generates an HTML document 540a based on the template stored in the data storage unit 110. Specifically, a code corresponding to the acquired key arrangement location URI is generated and inserted into the template. For example, the location of “http://sales.shanai.example.com/key.jsonp” included in the code 541a of the HTML document 540a corresponds. Also, a code corresponding to the acquired data item to be encrypted is generated and inserted into the template. For example, “form.location.value = pcdms.enc (form.location.value);” and “form.summary.value = pcdms.enc (form.summary.value);” are included in the code 542a. To do. Then, the generated HTML document 540 a and other necessary file groups are output to the transmission unit 150.

[ステップS45]送信部150は、クライアントプログラム構成部140から取得したHTML文書540aなどをレスポンスに含めて端末装置200に送信する。
このようにして、データ提供サーバ100は、HTML文書540aを生成し、端末装置200に送信する。
[Step S45] The transmission unit 150 includes the HTML document 540a acquired from the client program configuration unit 140 in a response and transmits the response to the terminal device 200.
In this way, the data providing server 100 generates the HTML document 540a and transmits it to the terminal device 200.

端末装置200は、HTML文書540aに記述されたスクリプトに基づいて、鍵取得部220の機能を実現する。次に、図20のステップS25で示した端末装置200の鍵取得処理の手順について説明する。   The terminal device 200 implements the function of the key acquisition unit 220 based on the script described in the HTML document 540a. Next, the key acquisition process procedure of the terminal device 200 shown in step S25 of FIG. 20 will be described.

図22は、鍵取得処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS51]Webブラウザ210は、HTML文書540aに記述されたコード542aに基づいて、鍵配置場所URIを含むJSONPデータ取得用のスクリプトタグを生成する。
FIG. 22 is a flowchart showing the key acquisition process. Hereinafter, each process is demonstrated along a step number.
[Step S51] The Web browser 210 generates a script tag for acquiring JSONP data including the key arrangement location URI based on the code 542a described in the HTML document 540a.

[ステップS52]Webブラウザ210は、生成したスクリプトタグをHTML文書540aのbody部に挿入する。そして、Webブラウザ210は、生成したスクリプトタグを評価し、実行する。これにより、鍵取得部220が実現する。   [Step S52] The Web browser 210 inserts the generated script tag into the body part of the HTML document 540a. Then, the web browser 210 evaluates and executes the generated script tag. Thereby, the key acquisition unit 220 is realized.

[ステップS53]鍵取得部220は、鍵配置場所URIにアクセスする。具体的には、コード542aに記載された鍵管理サーバ300上の鍵を示す外部ファイル“http://sales.shanai.example.com/key.jsonp”を読み込む。鍵取得部220は、例えば、鍵管理サーバ300から「jsonp(“mysecretkey”);」の応答を得て、コールバック関数“jsonp”を実行する。   [Step S53] The key acquisition unit 220 accesses the key arrangement location URI. Specifically, an external file “http://sales.shanai.example.com/key.jsonp” indicating the key on the key management server 300 described in the code 542a is read. For example, the key acquisition unit 220 obtains a response “jsonp (“ mysecretkey ”);” from the key management server 300 and executes the callback function “jsonp”.

[ステップS54]鍵取得部220は、当該関数により取得した鍵を鍵格納用の変数(pcdms.key)に代入する。
このようにして、鍵取得部220が実現される。そして、鍵取得部220は、鍵管理サーバ300から鍵を取得する。なお、上記の例では、JSONPにより鍵を取得する場合を示したが、これに限らない。例えば、JavaScript(登録商標)以外のプログラム言語により記述されたアプリケーションをデータ提供サーバ100から端末装置200に送信して実行させることで鍵取得部220の機能を実現することも考えられる。
[Step S54] The key acquisition unit 220 assigns the key acquired by the function to a key storage variable (pcdms.key).
In this way, the key acquisition unit 220 is realized. Then, the key acquisition unit 220 acquires a key from the key management server 300. In the above example, the case where the key is acquired by JSONP is shown, but the present invention is not limited to this. For example, it is also conceivable to realize the function of the key acquisition unit 220 by transmitting an application described in a program language other than JavaScript (registered trademark) from the data providing server 100 to the terminal device 200 for execution.

端末装置200は、HTML文書540aに基づいて予定登録画面540をモニタに表示させる。そして、予定登録画面540の登録ボタン547が押下操作されると、暗号化処理を行う。次に、図20のステップS27で示した端末装置200の暗号化処理の手順について説明する。   The terminal device 200 displays the schedule registration screen 540 on the monitor based on the HTML document 540a. When the registration button 547 on the schedule registration screen 540 is pressed, encryption processing is performed. Next, the procedure of the encryption process of the terminal device 200 shown in step S27 of FIG. 20 will be described.

図23は、暗号化処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS61]Webブラウザ210は、予定登録画面540のチェックボックス546がON/OFFの何れであるか、すなわち、暗号化を行うか否かを判定する。暗号化を行う場合、HTML文書540aのコード543aの記述に基づいて暗号化部231を実現し、処理をステップS62に進める。暗号化を行わない場合、処理を完了する。
FIG. 23 is a flowchart showing the encryption process. Hereinafter, each process is demonstrated along a step number.
[Step S61] The Web browser 210 determines whether the check box 546 of the schedule registration screen 540 is ON / OFF, that is, whether to perform encryption. When encryption is performed, the encryption unit 231 is realized based on the description of the code 543a of the HTML document 540a, and the process proceeds to step S62. If no encryption is performed, the process is completed.

[ステップS62]暗号化部231は、暗号化対象のデータ項目に関して以下のステップS63〜S65を繰り返し実行する。ここで、HTML文書540aでは、コード543aには、データ項目のうち、場所(“location”)および概要(“summary”)を対象として暗号化を行う旨が記述されている。   [Step S62] The encryption unit 231 repeatedly executes the following steps S63 to S65 for the data item to be encrypted. Here, in the HTML document 540a, the code 543a describes that the data item is encrypted for the location (“location”) and the summary (“summary”).

[ステップS63]暗号化部231は、暗号化対象のデータ項目のデータを抽出する。
[ステップS64]暗号化部231は、鍵取得部220が取得した鍵を用いて抽出したデータを暗号化する。暗号化部231は、鍵取得部220が出力した所定の変数の値を参照することで鍵を取得できる。暗号化処理の具体的な内容は、図15のコード541bに基づく処理の通りである。暗号化部231は、暗号化後のデータの先頭と最後尾に所定の文字または文字列を付加する。
[Step S63] The encryption unit 231 extracts data of the data item to be encrypted.
[Step S64] The encryption unit 231 encrypts the extracted data using the key acquired by the key acquisition unit 220. The encryption unit 231 can acquire the key by referring to the value of the predetermined variable output from the key acquisition unit 220. The specific contents of the encryption process are the same as those based on the code 541b in FIG. The encryption unit 231 adds a predetermined character or character string to the beginning and the end of the encrypted data.

[ステップS65]暗号化部231は、暗号化後のデータで、入力されたデータを置換する。
[ステップS66]暗号化部231は、コード543aに記述された全てのデータ項目についての暗号化処理を実行したか否かを判定する。全て実行した場合、処理を完了させる。全て実行していない場合、処理をステップS63に進める。
[Step S65] The encryption unit 231 replaces the input data with the encrypted data.
[Step S66] The encryption unit 231 determines whether or not encryption processing has been executed for all data items described in the code 543a. When all are executed, the process is completed. If not all, the process proceeds to step S63.

このようにして、暗号化部231は暗号化処理を行う。なお、データ項目ごとの処理順序は、例えば、コード543aに記述された順序(上から下へ向かう順)である。
次に、利用メニュー画面520で予定閲覧ボタン523が押下操作された際に、その後各装置が実行する処理について説明する。
In this way, the encryption unit 231 performs encryption processing. The processing order for each data item is, for example, the order described in the code 543a (in order from top to bottom).
Next, processing executed by each device after the scheduled browsing button 523 is pressed on the usage menu screen 520 will be described.

図24は、予定閲覧処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS71]端末装置200は、利用メニュー画面520の予定閲覧ボタン523の押下操作を受け付ける。
FIG. 24 is a flowchart showing the schedule browsing process. Hereinafter, each process is demonstrated along a step number.
[Step S <b> 71] The terminal device 200 accepts a pressing operation of the schedule browsing button 523 on the usage menu screen 520.

[ステップS72]端末装置200は、予定閲覧画面550のリクエストを送信する。
[ステップS73]データ提供サーバ100は、端末装置200からリクエストを受信する。データ提供サーバ100は、リクエストに応じて、予定閲覧画面550のHTML文書550aやその他の必要なファイル群を含むレスポンスを端末装置200に送信する。
[Step S <b> 72] The terminal device 200 transmits a request for the schedule browsing screen 550.
[Step S <b> 73] The data providing server 100 receives a request from the terminal device 200. In response to the request, the data providing server 100 transmits a response including the HTML document 550a of the schedule browsing screen 550 and other necessary files to the terminal device 200.

[ステップS74]端末装置200は、データ提供サーバ100からレスポンスを受信する。端末装置200は、レスポンスに含まれるHTML文書550aを解析し、HTML文書550aに含まれる鍵取得用のスクリプト(コード552aに対応する)の有無を判定する。スクリプトがある場合、処理をステップS75に進める。スクリプトがない場合、処理をステップS78に進める。   [Step S74] The terminal device 200 receives a response from the data providing server 100. The terminal device 200 analyzes the HTML document 550a included in the response, and determines whether there is a key acquisition script (corresponding to the code 552a) included in the HTML document 550a. If there is a script, the process proceeds to step S75. If there is no script, the process proceeds to step S78.

[ステップS75]端末装置200は、HTML文書550aに含まれるスクリプトを実行する。これにより、端末装置200上に鍵取得部220の機能が実現される。
[ステップS76]端末装置200は、鍵管理サーバ300から鍵を取得する。
[Step S75] The terminal device 200 executes a script included in the HTML document 550a. As a result, the function of the key acquisition unit 220 is realized on the terminal device 200.
[Step S76] The terminal device 200 acquires a key from the key management server 300.

[ステップS77]端末装置200は、HTML文書550aに含まれるデータ項目につき復号処理を行う。
[ステップS78]端末装置200は、HTML文書550aの内容をモニタに表示させる。なお、ステップS77で復号処理が行われている場合、当該部分には復号後の内容が表示される。
[Step S77] The terminal device 200 performs a decoding process on the data items included in the HTML document 550a.
[Step S78] The terminal device 200 displays the contents of the HTML document 550a on the monitor. In addition, when the decoding process is performed by step S77, the content after decoding is displayed on the said part.

このようにして、データ提供サーバ100は、端末装置200からの予定閲覧画面550のリクエストに応じて、予定閲覧画面550用のHTML文書550aを生成して端末装置200に送信する。端末装置200は、データ提供サーバ100から受信したHTML文書550aに基づいて、鍵管理サーバ300から鍵を取得し、暗号化部分を復号してモニタに表示させることができる。   In this way, the data providing server 100 generates an HTML document 550a for the schedule browsing screen 550 in response to a request for the schedule browsing screen 550 from the terminal device 200, and transmits the HTML document 550a to the terminal device 200. The terminal device 200 can acquire a key from the key management server 300 based on the HTML document 550a received from the data providing server 100, decrypt the encrypted portion, and display the decrypted portion on the monitor.

なお、上記の例では、端末装置200からデータ提供サーバ100にアクセスする場合を示した。これに対し、端末装置200aがデータ提供サーバ100にアクセスする場合も同様である。ただし、端末装置200aの場合は、社外からのアクセスとなる。このため、データ提供サーバ100が端末装置200aに提供するのは暗号化部分を予め所定の文字列に置換したHTML文書560aとなる。端末装置200aは、HTML文書560aに基づいて、モニタに予定一覧を表示する。その処理手順を以下に示す。   In the above example, the case where the data providing server 100 is accessed from the terminal device 200 is shown. On the other hand, the same applies when the terminal device 200a accesses the data providing server 100. However, in the case of the terminal device 200a, access is from outside the company. Therefore, what the data providing server 100 provides to the terminal device 200a is an HTML document 560a in which the encrypted part is replaced with a predetermined character string in advance. The terminal device 200a displays a schedule list on the monitor based on the HTML document 560a. The processing procedure is shown below.

次に、上記ステップS73で示したデータ提供サーバ100の予定閲覧画面応答処理の手順について説明する。
図25は、予定閲覧画面応答処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
Next, the procedure of the scheduled browsing screen response process of the data providing server 100 shown in step S73 will be described.
FIG. 25 is a flowchart showing the schedule browsing screen response process. Hereinafter, each process is demonstrated along a step number.

[ステップS81]受信部120は、予定登録画面540のリクエストを受信する。受信部120は、受信したリクエストをユーザ情報管理部130に出力する。ユーザ情報管理部130は、当該アクセスのユーザIDを取得する。例えば、受信部120は端末装置200との間で定義されるセッション変数からユーザIDを取得できる。   [Step S81] The receiving unit 120 receives a request for the schedule registration screen 540. The receiving unit 120 outputs the received request to the user information management unit 130. The user information management unit 130 acquires the user ID of the access. For example, the receiving unit 120 can acquire a user ID from a session variable defined with the terminal device 200.

[ステップS82]ユーザ情報管理部130は、データ記憶部110に記憶されたデータ管理テーブル113を参照して、ユーザIDに対応するスケジュールデータを取得する。   [Step S82] The user information management unit 130 refers to the data management table 113 stored in the data storage unit 110, and acquires schedule data corresponding to the user ID.

[ステップS83]ユーザ情報管理部130は、当該アクセスが社内アクセスであるか否かを判定する。社内アクセスである場合、処理をステップS84に進める。社外アクセスである場合、処理をステップS86に進める。社内アクセスであるか否かは、例えば、ユーザ情報管理部130は、データ記憶部110に記憶されたユーザ管理テーブル111を参照して当該ユーザIDに対応する社内判定ドメインを取得し、これが現在のアクセス元のドメイン名と一致するか否かによって判定できる。   [Step S83] The user information management unit 130 determines whether or not the access is internal access. If it is in-house access, the process proceeds to step S84. If it is external access, the process proceeds to step S86. For example, the user information management unit 130 refers to the user management table 111 stored in the data storage unit 110 to obtain an in-house determination domain corresponding to the user ID. Judgment can be made based on whether or not the domain name of the access source matches.

[ステップS84]ユーザ情報管理部130は、データ記憶部110に記憶されたユーザ管理テーブル111を参照して、ユーザIDに対応する鍵配置場所URIを取得する。そして、ユーザ情報管理部130は取得した鍵配置場所URIとスケジュールデータとをクライアントプログラム構成部140に出力する。   [Step S84] The user information management unit 130 refers to the user management table 111 stored in the data storage unit 110, and acquires a key arrangement location URI corresponding to the user ID. Then, the user information management unit 130 outputs the acquired key arrangement location URI and schedule data to the client program configuration unit 140.

[ステップS85]クライアントプログラム構成部140は、データ記憶部110に記憶されたひな型に基づいて、HTML文書550aを生成する。具体的には、クライアントプログラム構成部140は、取得した鍵配置場所URIに応じたコードを生成し、ひな型に挿入する。例えば、HTML文書550aのコード552aに含まれる“http://sales.shanai.example.com/key.jsonp”の箇所が鍵配置場所URIに応じたコードに相当する。また、クライアントプログラム構成部140は、スケジュールデータの内容により、予定閲覧画面550の予定一覧表示部552に対応するコードを生成する。具体的には、HTML文書550aの“table”タブで括られた箇所が予定一覧表示部552に対応するコードに相当する。クライアントプログラム構成部140は、生成したHTML文書550aとその他の必要なファイル群を送信部150に出力する。   [Step S85] The client program composition unit 140 generates an HTML document 550a based on the template stored in the data storage unit 110. Specifically, the client program configuration unit 140 generates a code corresponding to the acquired key arrangement location URI and inserts it into the template. For example, the location “http://sales.shanai.example.com/key.jsonp” included in the code 552a of the HTML document 550a corresponds to the code corresponding to the key arrangement location URI. In addition, the client program configuration unit 140 generates a code corresponding to the schedule list display unit 552 of the schedule browsing screen 550 according to the contents of the schedule data. Specifically, a portion enclosed by the “table” tab of the HTML document 550 a corresponds to a code corresponding to the schedule list display unit 552. The client program configuration unit 140 outputs the generated HTML document 550a and other necessary file groups to the transmission unit 150.

[ステップS86]クライアントプログラム構成部140は、データ記憶部110に記憶されたひな型と、スケジュールデータの内容と、に基づいて、HTML文書を生成する。このとき、クライアントプログラム構成部140はスケジュールデータに暗号化部分が含まれる場合、当該部分は暗号化された状態でHTML文書に挿入する。そして、クライアントプログラム構成部140は、その暗号化部分を特定する。   [Step S86] The client program configuration unit 140 generates an HTML document based on the template stored in the data storage unit 110 and the contents of the schedule data. At this time, if the schedule data includes an encrypted part, the client program configuration unit 140 inserts the part into the HTML document in an encrypted state. And the client program structure part 140 specifies the encryption part.

[ステップS87]クライアントプログラム構成部140は、特定した暗号化部分を所定の文字列に置換してHTML文書560aを生成する。置換用の文字列は、データ記憶部110に予め格納される。HTML文書560aの例では、“社外秘”の文字列が対応する。クライアントプログラム構成部140は、生成したHTML文書550aとその他の必要なファイル群を送信部150に出力する。   [Step S87] The client program configuration unit 140 generates an HTML document 560a by replacing the specified encrypted part with a predetermined character string. The replacement character string is stored in the data storage unit 110 in advance. In the example of the HTML document 560a, the character string “confidential” is supported. The client program configuration unit 140 outputs the generated HTML document 550a and other necessary file groups to the transmission unit 150.

[ステップS88]送信部150は、クライアントプログラム構成部140から取得したHTML文書550a(あるいはHTML文書560a)などをレスポンスに含めて端末装置200(あるいは端末装置200a)に送信する。   [Step S88] The transmission unit 150 includes the response including the HTML document 550a (or HTML document 560a) acquired from the client program configuration unit 140, and transmits the response to the terminal device 200 (or terminal device 200a).

このようにして、データ提供サーバ100は、HTML文書550a,560aを生成し、端末装置200,200aに送信する。
端末装置200は、HTML文書550aに記述されたスクリプトに基づいて、鍵取得部220の機能を実現する。ここで、図24のステップS76に示した鍵取得処理は図22で説明した手順と同一である。
In this way, the data providing server 100 generates the HTML documents 550a and 560a and transmits them to the terminal devices 200 and 200a.
The terminal device 200 implements the function of the key acquisition unit 220 based on the script described in the HTML document 550a. Here, the key acquisition process shown in step S76 of FIG. 24 is the same as the procedure described in FIG.

端末装置200は、鍵を取得するとHTML文書550aに基づいて予定閲覧画面550をモニタに表示させる。このとき、取得した鍵を用いて、HTML文書550aの暗号化部分を復号する。次に、図24のステップS77で示した端末装置200の復号処理の手順について説明する。   When the terminal device 200 acquires the key, the terminal device 200 displays the schedule browsing screen 550 on the monitor based on the HTML document 550a. At this time, the encrypted part of the HTML document 550a is decrypted using the acquired key. Next, the procedure of the decoding process of the terminal device 200 shown in step S77 of FIG. 24 will be described.

図26は、復号処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS91]Webブラウザ210は、HTML文書550aのコード553aの記述に基づいて復号部232を実現する。復号部232は、HTML文書550aに含まれる各データ項目に関して以下のステップS92〜S95を繰り返し実行する。
FIG. 26 is a flowchart showing the decoding process. Hereinafter, each process is demonstrated along a step number.
[Step S91] The Web browser 210 implements the decryption unit 232 based on the description of the code 553a of the HTML document 550a. The decryption unit 232 repeatedly executes the following steps S92 to S95 for each data item included in the HTML document 550a.

[ステップS92]復号部232は、タグ“td”の要素(データ)を抽出する。
[ステップS93]復号部232は、抽出したデータが暗号化されているか否かを判定する。暗号化されている場合、処理をステップS94に進める。暗号化されていない場合、処理をステップS96に進める。復号部232は、抽出したデータの先頭に所定の文字列(“{enc:”)が含まれているか否かによって、当該データが暗号化されているか否かを判定することができる。
[Step S92] The decryption unit 232 extracts an element (data) of the tag “td”.
[Step S93] The decryption unit 232 determines whether or not the extracted data is encrypted. If it is encrypted, the process proceeds to step S94. If not encrypted, the process proceeds to step S96. The decryption unit 232 can determine whether or not the data is encrypted based on whether or not a predetermined character string (“{enc:”) is included at the beginning of the extracted data.

[ステップS94]復号部232は、鍵取得部220が取得した鍵を用いて抽出したデータを復号する。復号部232は、鍵取得部220が出力した所定の変数の値を参照することで鍵を取得できる。復号処理の具体的な内容は、図15のコード542bに基づく処理の通りである。復号部232は、当該データに付加された所定の文字列を除去した後のデータについて復号を行う。   [Step S94] The decryption unit 232 decrypts the data extracted using the key acquired by the key acquisition unit 220. The decryption unit 232 can acquire the key by referring to the value of the predetermined variable output from the key acquisition unit 220. The specific content of the decryption process is as the process based on the code 542b in FIG. The decryption unit 232 decrypts the data after removing the predetermined character string added to the data.

[ステップS95]復号部232は、HTML文書550aの当該タグの要素を復号後のデータに置換する。
[ステップS96]復号部232は、タグ“td”の要素全てについて処理済みであるか否かを判定する。全て処理済みである場合、処理を完了する。未処理のものがある場合、処理をステップS91に進める。
[Step S95] The decryption unit 232 replaces the element of the tag of the HTML document 550a with the decrypted data.
[Step S96] The decryption unit 232 determines whether all the elements of the tag “td” have been processed. If all have been processed, the process is completed. If there is an unprocessed item, the process proceeds to step S91.

このようにして、復号部232は復号処理を行う。Webブラウザ210は、復号部232による復号後のHTML文書に基づいて、予定閲覧画面550をモニタに表示させる。   In this way, the decoding unit 232 performs a decoding process. The web browser 210 displays the schedule browsing screen 550 on the monitor based on the HTML document decrypted by the decrypting unit 232.

図27は、第2の実施の形態のデータ閲覧方法の具体例を示す図である。データ提供サーバ100は、例えばサービス事業者の構内に設置される。データ記憶部110には、少なくとも一部が暗号化されたユーザデータが格納されている。なお、データ記憶部110は、データ提供サーバ100に設けられてもよいし、別個の記憶装置として設けられてもよい。   FIG. 27 is a diagram illustrating a specific example of the data browsing method according to the second embodiment. The data providing server 100 is installed on the premises of a service provider, for example. The data storage unit 110 stores user data that is at least partially encrypted. The data storage unit 110 may be provided in the data providing server 100 or may be provided as a separate storage device.

端末装置200および鍵管理サーバ300は、ユーザ会社の社内に設置される。端末装置200は、データ提供サーバ100にアクセスしてユーザ認証された後、予定閲覧画面のリクエストを送信する。すると、端末装置200は、データ提供サーバ100から、データ記憶部110に記憶されたデータおよび当該データの暗号化部分を復号するための鍵のURIを取得できる(ST11)。   The terminal device 200 and the key management server 300 are installed in the user company. After the terminal device 200 accesses the data providing server 100 and is authenticated by the user, the terminal device 200 transmits a request for a schedule browsing screen. Then, the terminal device 200 can acquire the data stored in the data storage unit 110 and the URI of the key for decrypting the encrypted part of the data from the data providing server 100 (ST11).

そして、端末装置200は、取得したURIに基づき鍵管理サーバ300から鍵を取得し、データの暗号化部分を復号する(ST12)。
これにより、端末装置200はデータ提供サーバ100で管理されるデータを適正に復号し、ユーザにその内容を提供できる。その際、鍵はサービス事業者ではなく、自社内で管理できるので、サービス事業者に鍵を不正に取得されるおそれがない。よって、データの安全性を向上できる。また、ユーザ会社とサービス事業者との間のネットワークに暗号処理するための特別の装置を設ける必要がない。すなわち、端末装置200は、データ提供サーバ100が提供するアプリケーションの機能により、当該暗号処理を行えるので、サービスの利用開始に伴うコストを一層削減できる。
Then, the terminal device 200 acquires a key from the key management server 300 based on the acquired URI, and decrypts the encrypted portion of the data (ST12).
Thereby, the terminal device 200 can appropriately decode the data managed by the data providing server 100 and provide the contents to the user. At this time, since the key can be managed not by the service provider but in the company, there is no possibility that the service provider obtains the key illegally. Therefore, data safety can be improved. Further, it is not necessary to provide a special device for performing cryptographic processing in the network between the user company and the service provider. That is, since the terminal device 200 can perform the encryption process by the function of the application provided by the data providing server 100, the cost associated with the start of using the service can be further reduced.

更に、端末装置200aは、ユーザ会社の社員が、ユーザ会社の社外で利用するコンピュータである。端末装置200aは、データ提供サーバ100にアクセスしてユーザ認証されると、データ記憶部110に記憶されたデータを取得できる。このとき、データ提供サーバ100は、提供するデータのうち暗号化部分を所定の文字列(例えば社外秘)に置換する。これにより、社外からのアクセスに対するデータの安全性を向上できる。また、社外からのアクセスに対して、暗号化部分につき無意味な情報の提示を防止できる。   Furthermore, the terminal device 200a is a computer used by employees of the user company outside the user company. When the terminal device 200a is authenticated by accessing the data providing server 100, the terminal device 200a can acquire the data stored in the data storage unit 110. At this time, the data providing server 100 replaces the encrypted portion of the provided data with a predetermined character string (for example, confidential). As a result, the safety of data against access from outside the company can be improved. In addition, it is possible to prevent presentation of meaningless information about the encrypted portion for access from outside the company.

また、端末装置500は、第三者が利用するコンピュータである。端末装置500は、ネットワーク20にアクセスすることはできず、鍵を取得することはできない(ST31)。このため、サービス事業者からデータ記憶部110に記憶されたデータを不正に取得したとしても、暗号化部分を閲覧することはできない。すなわち、第三者に対してもデータの安全性を向上できる。   The terminal device 500 is a computer used by a third party. Terminal apparatus 500 cannot access network 20 and cannot obtain a key (ST31). For this reason, even if the data stored in the data storage unit 110 is illegally acquired from the service provider, the encrypted portion cannot be browsed. That is, it is possible to improve data safety for a third party.

[第3の実施の形態]
以下、第3の実施の形態を図面を参照して詳細に説明する。前述の第2の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
[Third Embodiment]
Hereinafter, the third embodiment will be described in detail with reference to the drawings. Differences from the second embodiment will be mainly described, and description of similar matters will be omitted.

第2の実施の形態では、データ提供サーバ100に暗号化部分を含むユーザデータを格納することとした。これに対し、第3の実施の形態では、ユーザデータをユーザ会社内のネットワーク20に接続されたデータ管理サーバ300aに格納する。より具体的には、スケジュールに含まれる日時の情報など、サービス事業者に開示してもよい部分に関しては、データ提供サーバ100に格納するが、スケジュールの場所や内容などの部分はデータ管理サーバ300aに格納する。これにより、機密部分の安全性を一層向上できる。以下では、このような情報処理システムに関して具体的に説明する。   In the second embodiment, user data including an encrypted part is stored in the data providing server 100. On the other hand, in the third embodiment, user data is stored in the data management server 300a connected to the network 20 in the user company. More specifically, the part that may be disclosed to the service provider, such as date and time information included in the schedule, is stored in the data providing server 100, but the part such as the location and contents of the schedule is stored in the data management server 300a. To store. Thereby, the safety | security of a confidential part can be improved further. Hereinafter, such an information processing system will be specifically described.

図28は、第3の実施の形態に係る情報処理システムを示す図である。この情報処理システムは、ユーザ会社に業務サービスを提供するWebシステムである。業務のためのデータは、サービス事業者が管理するデータ提供サーバ100に格納される。この情報処理システムでは、データ提供サーバ100、端末装置200,200aおよび鍵管理サーバ300およびデータ管理サーバ300aがネットワーク10,20および通信装置10aを介して接続されている。   FIG. 28 is a diagram illustrating an information processing system according to the third embodiment. This information processing system is a Web system that provides business services to a user company. Data for business is stored in the data providing server 100 managed by the service provider. In this information processing system, a data providing server 100, terminal devices 200 and 200a, a key management server 300, and a data management server 300a are connected via networks 10 and 20 and a communication device 10a.

ここで、データ提供サーバ100、端末装置200,200a、鍵管理サーバ300、ネットワーク10,20および通信装置10aは、図2において同一の符号を付して説明した第2の実施の形態の各構成と同一である。   Here, the data providing server 100, the terminal devices 200 and 200a, the key management server 300, the networks 10 and 20, and the communication device 10a are configured in the second embodiment described with the same reference numerals in FIG. Is the same.

ただし、データ提供サーバ100が記憶するスケジュールデータは、スケジュールの場所や内容などの機密部分につき暗号化されたURIが設定されたものである。このURIは、データ管理サーバ300aに記憶された当該機密部分の内容の所在を示すものである。データ提供サーバ100は、当該スケジュールデータとともに暗号化されたURIを復号するための鍵を記憶する。   However, the schedule data stored in the data providing server 100 is set with an encrypted URI for the confidential part such as the location and contents of the schedule. This URI indicates the location of the contents of the confidential part stored in the data management server 300a. The data providing server 100 stores a key for decrypting the encrypted URI together with the schedule data.

データ管理サーバ300aは、ネットワーク20に接続されている。データ管理サーバ300aは、スケジュールに含まれる機密部分(場所や概要など)の情報を記憶・管理する。データ管理サーバ300aは、端末装置200からリクエストを受信すると、それに応じた機密部分の情報を端末装置200に応答する。   The data management server 300a is connected to the network 20. The data management server 300a stores and manages information on confidential parts (location, outline, etc.) included in the schedule. When the data management server 300 a receives a request from the terminal device 200, the data management server 300 a responds to the terminal device 200 with information on a confidential part corresponding to the request.

なお、データ管理サーバ300aも図3で示したデータ提供サーバ100と同様のハードウェア構成により実現することができる。
また、第3の実施の形態のデータ提供サーバ100、端末装置200および鍵管理サーバ300の機能構成は、第2の実施の形態で示した機能構成と同様である。ただし、端末装置200のWebブラウザ210で実現される機能につき以下の点が異なる。
The data management server 300a can also be realized by the same hardware configuration as the data providing server 100 shown in FIG.
The functional configurations of the data providing server 100, the terminal device 200, and the key management server 300 according to the third embodiment are the same as the functional configurations shown in the second embodiment. However, the following points differ depending on the functions realized by the Web browser 210 of the terminal device 200.

図29は、第3の実施の形態の端末装置の機能構成を示す図である。端末装置200は、Webブラウザ210、鍵取得部220および暗号処理部230を有する。これらの機能は、所定のプログラムを端末装置200のCPUが実行することで実現される。   FIG. 29 is a diagram illustrating a functional configuration of the terminal device according to the third embodiment. The terminal device 200 includes a Web browser 210, a key acquisition unit 220, and an encryption processing unit 230. These functions are realized by the CPU of the terminal device 200 executing a predetermined program.

Webブラウザ210は、データ提供サーバ100に予定閲覧画面のリクエストを送信する。すると、Webブラウザ210は、データ提供サーバ100からデータ内容の所在を示す暗号化されたURIと、それを復号するための鍵のURIと、を記述したHTML文書を含むレスポンスを受信する。   The web browser 210 transmits a request for a schedule browsing screen to the data providing server 100. Then, the Web browser 210 receives from the data providing server 100 a response including an HTML document describing an encrypted URI indicating the location of the data content and a URI of a key for decrypting the URI.

鍵取得部220は、鍵のURIに基づいて、鍵管理サーバ300より鍵を取得する。復号部232は、当該鍵によりデータ内容の所在を示す暗号化されたURIを復号する。
Webブラウザ210は、復号部232が復号したURIに基づいて、データ管理サーバ300aからスケジュールの内容を取得し、取得した内容を端末装置200に接続されたモニタに表示させる。
The key acquisition unit 220 acquires a key from the key management server 300 based on the URI of the key. The decryption unit 232 decrypts the encrypted URI indicating the location of the data content with the key.
The web browser 210 acquires the contents of the schedule from the data management server 300 a based on the URI decoded by the decoding unit 232, and displays the acquired contents on a monitor connected to the terminal device 200.

図30は、第3の実施の形態のスケジュールデータの内容を例示する図である。(A)に示すスケジュールデータ400aは、暗号化前を示している。(B)に示すスケジュールデータ410aは、暗号化後を示している。   FIG. 30 is a diagram illustrating the contents of schedule data according to the third embodiment. The schedule data 400a shown in (A) indicates before encryption. The schedule data 410a shown in (B) indicates after encryption.

スケジュールデータ400aは、スケジュールの内容を示す複数のデータ項目を有している。データ項目には、場所(LOCATION)401aおよび概要(SUMMARY)402aが含まれる。ここで、場所401aおよび概要402aの各データ項目は、図10で示したスケジュールデータ400のデータ項目である場所401および概要402に対応する。   The schedule data 400a has a plurality of data items indicating the contents of the schedule. The data items include a location 401a and a summary (SUMMARY) 402a. Here, each data item of the place 401a and the outline 402a corresponds to the place 401 and the outline 402 which are data items of the schedule data 400 shown in FIG.

場所401aには、例えば“<http://shanai.example.com/schedule/tarou1.jsonp>”という情報が設定されている。また、概要402aには、例えば“<http://shanai.example.com/schedule/tarou2.jsonp>”という情報が設定されている。   For example, information “<http://shanai.example.com/schedule/tarou1.jssonp>” is set in the location 401a. Further, for example, information “<http://shanai.example.com/schedule/taro2.jsonp>” is set in the overview 402a.

Webブラウザ210は、図13に示した予定登録画面540の登録ボタン547が押下されると、対応するデータ項目の内容をデータ管理サーバ300aに格納する。そして、該当するデータ項目を、その格納場所を示すURIに置換する。これは、場所401aおよび概要402aの部分が対応する。これにより、スケジュールデータ400aが生成される。   When the registration button 547 on the schedule registration screen 540 shown in FIG. 13 is pressed, the Web browser 210 stores the contents of the corresponding data item in the data management server 300a. Then, the corresponding data item is replaced with a URI indicating the storage location. This corresponds to the place 401a and the outline 402a. Thereby, the schedule data 400a is generated.

更に、暗号化部231は、鍵管理サーバ300から取得した鍵によって当該URIを暗号化し、スケジュールデータ410aを生成する。
スケジュールデータ410aは、スケジュールデータ400と同一のデータ項目を有している。データ項目には、場所411aおよび概要412aが含まれる。場所411aは、場所401aの暗号化後に対応する。概要412aは、概要402aの暗号化後に対応する。
Further, the encryption unit 231 encrypts the URI with the key acquired from the key management server 300, and generates schedule data 410a.
The schedule data 410 a has the same data items as the schedule data 400. The data items include a location 411a and a summary 412a. The location 411a corresponds after the location 401a is encrypted. Summary 412a corresponds to the summary 402a after encryption.

例えば、当該ユーザの暗号化対象として、場所と概要とが選択されている場合、スケジュールデータ410aのように場所411aおよび概要412aに暗号化されたURIが設定される。そして、端末装置200はスケジュールデータ410aをデータ提供サーバ100に送信する。データ提供サーバ100はデータ記憶部110に記憶されたデータ管理テーブル113にスケジュールデータ410aの内容を登録する。   For example, when a place and an outline are selected as the encryption target of the user, encrypted URIs are set in the place 411a and the outline 412a as in the schedule data 410a. Then, the terminal device 200 transmits the schedule data 410a to the data providing server 100. The data providing server 100 registers the contents of the schedule data 410 a in the data management table 113 stored in the data storage unit 110.

図31は、第3の実施の形態のデータ閲覧方法の具体例を示す図である。データ提供サーバ100は、例えばサービス事業者の構内に設置される。データ記憶部110には、少なくとも一部が暗号化されたユーザデータが格納されている。なお、データ記憶部110は、データ提供サーバ100に設けられてもよいし、別個の記憶装置として設けられてもよい。   FIG. 31 is a diagram illustrating a specific example of the data browsing method according to the third embodiment. The data providing server 100 is installed on the premises of a service provider, for example. The data storage unit 110 stores user data that is at least partially encrypted. The data storage unit 110 may be provided in the data providing server 100 or may be provided as a separate storage device.

端末装置200、鍵管理サーバ300およびデータ管理サーバ300aは、ユーザ会社の社内に設置される。端末装置200は、データ提供サーバ100にアクセスしてユーザ認証後、予定閲覧画面のリクエストを送信する。すると、端末装置200は、データ提供サーバ100から、データ記憶部110に記憶されたデータおよび当該データの暗号化されたURI部分を復号するための鍵のURIを含むレスポンスを受信する(ST41)。暗号化されたURI部分とは、図30で示した場所411aおよび概要412a(ただし、データ項目を示す文字列“LOCATION”などを除く)に対応する。   The terminal device 200, the key management server 300, and the data management server 300a are installed in the user company. After the terminal device 200 accesses the data providing server 100 and authenticates the user, the terminal device 200 transmits a request for a schedule browsing screen. Terminal apparatus 200 then receives a response including data stored in data storage section 110 and a URI of a key for decrypting the encrypted URI portion of the data from data providing server 100 (ST41). The encrypted URI portion corresponds to the location 411a and the summary 412a (except for the character string “LOCATION” indicating the data item) shown in FIG.

そして、端末装置200は、取得したURIに基づき鍵管理サーバ300から鍵を取得する(ST42)。端末装置200は、取得した鍵により、データの暗号化されたURI部分を復号する(ST43)。復号後のURI部分は、図30で示した場所401aおよび概要402a(ただし、データ項目を示す文字列を除く)に対応する。更に、端末装置200は、復号したURIに基づいて、URIに対応する項目内容をデータ管理サーバ300aから取得する(ST44)。なお、データ提供サーバ100は、端末装置200にST44の処理を実行させるためのスクリプトを含むHTML文書を生成し、ST41のレスポンスに含める。端末装置200は、当該HTML文書のスクリプトを実行することで、ST44の処理を実現できる。   Then, the terminal device 200 acquires a key from the key management server 300 based on the acquired URI (ST42). The terminal device 200 decrypts the encrypted URI portion of the data with the acquired key (ST43). The decrypted URI portion corresponds to the location 401a and the outline 402a (excluding the character string indicating the data item) shown in FIG. Furthermore, the terminal device 200 acquires item contents corresponding to the URI from the data management server 300a based on the decrypted URI (ST44). The data providing server 100 generates an HTML document including a script for causing the terminal device 200 to execute the process of ST44, and includes the HTML document in the response of ST41. The terminal device 200 can realize the processing of ST44 by executing the script of the HTML document.

このように、第3の実施の形態の情報処理システムによっても、第2の実施の形態と同様の効果を奏することができる。特に、機密内容を社内のデータ管理サーバ300aに格納することで、当該内容の安全性を一層向上できる。   Thus, the information processing system according to the third embodiment can achieve the same effects as those of the second embodiment. In particular, by storing confidential content in the in-house data management server 300a, the security of the content can be further improved.

また、端末装置200aが社外からアクセスした場合には、データ提供サーバ100は、暗号化されたURI部分を所定の文字列(例えば、社外秘)に置換して、端末装置200aにレスポンスを送信する。これにより、第2の実施の形態と同様、社外からのアクセスに対するデータの安全性を向上できる。また、社外からのアクセスに対して、暗号化部分につき無意味な情報の提示を防止できる。   When the terminal device 200a accesses from outside, the data providing server 100 replaces the encrypted URI part with a predetermined character string (for example, confidential) and transmits a response to the terminal device 200a. As a result, as in the second embodiment, it is possible to improve the safety of data against access from outside the company. In addition, it is possible to prevent presentation of meaningless information about the encrypted portion for access from outside the company.

また、データ提供サーバ100は、HTML文書に含まれるスクリプトとして、端末装置200に鍵を取得させるプログラムを送信するものとしたが、端末装置200で実行可能なHTML文書以外のデータ形式によって、当該プログラムを送信してもよい。   Further, the data providing server 100 transmits a program that causes the terminal device 200 to acquire a key as a script included in the HTML document. However, the data providing server 100 uses a data format other than an HTML document that can be executed by the terminal device 200. May be sent.

更に、暗号化時に使用する鍵と、復号時に使用する鍵とを、同一にしてもよいし別個の鍵にしてもよい。その場合、暗号化時用の鍵のURIと、復号時用の鍵のURIと、がユーザ管理テーブル111に登録される。そして、データ提供サーバ100は、暗号化時および復号時に応じた鍵をユーザ管理テーブル111から取得して、端末装置200に送信する。   Furthermore, the key used for encryption and the key used for decryption may be the same or different. In that case, the URI of the key for encryption and the URI of the key for decryption are registered in the user management table 111. Then, the data providing server 100 acquires a key corresponding to encryption and decryption from the user management table 111 and transmits the key to the terminal device 200.

なお、上記情報処理システムでは、ユーザ会社の社員のスケジュールを管理する業務サービスを例示したが、これに限らない。例えば、掲示板、電子メールなどのその他のグループウェア機能、勤怠管理や給与管理などの機能を提供する業務サービスに適用してもよい。これにより、これらの業務サービスが提供する文書の機密部分の安全性を容易に向上することができる。   In the information processing system, the business service for managing the schedules of the employees of the user company is exemplified, but the present invention is not limited to this. For example, the present invention may be applied to business services that provide other groupware functions such as bulletin boards and electronic mail, functions such as attendance management and salary management. Thereby, the security of the confidential part of the document provided by these business services can be easily improved.

以上、本発明のデータ提供方法、データ提供装置およびデータ提供プログラムを図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。   As described above, the data providing method, the data providing apparatus, and the data providing program of the present invention have been described based on the illustrated embodiments. However, the present invention is not limited thereto, and the configuration of each unit is an arbitrary configuration having the same function. Can be substituted. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

1 データ提供装置
1a,1b 記憶部
1c 受信部
1d 処理部
1e 送信部
2 端末装置
3 情報処理装置
DESCRIPTION OF SYMBOLS 1 Data provision apparatus 1a, 1b Storage part 1c Reception part 1d Processing part 1e Transmission part 2 Terminal apparatus 3 Information processing apparatus

Claims (10)

データ提供装置が、
端末装置から所定の識別情報を含むデータ取得要求を受信すると、登録データ識別情報とを対応付けて記憶する第1の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する登録データを取得するとともに、暗号処理に用いられる鍵の所在を示す所在情報識別情報とが対応付けられた管理情報を記憶する第2の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する所在情報を取得し、
取得した前記登録データと、取得した前記所在情報で示される情報処理装置に記憶された前記鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記登録データを復号させるプログラムと、を前記端末装置に送信する、
ことを特徴とするデータ提供方法。
Data providing device
When a data acquisition request including predetermined identification information is received from the terminal device, the first storage unit that stores registration data and identification information in association with each other is referred to, and the identification information included in the data acquisition request is handled. with the registration data to get to, with reference to the second storage unit for storing management information location information indicating the location of the keys used in the encryption process and the identification information has been correlated, contained in the data acquisition request Obtaining location information corresponding to the identification information
A program for causing the terminal device to acquire the key stored in the information processing device indicated by the acquired registration data and the acquired location information, and decrypting the registration data acquired using the acquired key Are transmitted to the terminal device,
A data providing method characterized by the above.
前記データ提供装置が、
前記端末装置から前記識別情報を含むデータ登録要求を受信すると、前記第2の記憶部を参照して、前記データ登録要求に含まれる前記識別情報に対応する前記所在情報を取得し、
取得した前記所在情報で示される情報処理装置に記憶された前記鍵を前記端末装置に取得させる鍵取得プログラムを前記端末装置に送信し、
少なくとも一部が前記鍵により暗号化された登録データを前記端末装置から受信すると、前記登録データを前記データ登録要求に含まれる識別情報に対応付けて前記第1の記憶部に格納する、
ことを特徴とする請求項1記載のデータ提供方法。
The data providing device is
Upon receiving a data registration request including the identification information from the terminal device, the location information corresponding to the identification information included in the data registration request is obtained with reference to the second storage unit,
A key acquisition program for causing the terminal device to acquire the key stored in the information processing device indicated by the acquired location information is transmitted to the terminal device;
When registration data at least partially encrypted with the key is received from the terminal device, the registration data is stored in the first storage unit in association with identification information included in the data registration request.
The data providing method according to claim 1.
前記管理情報には、識別情報に対応付けて前記端末装置が送信するデータのうち何れのデータ項目を暗号化対象とするかを示す情報が設定されており、
前記データ提供装置が、
前記データ登録要求を受信した際に、前記第2の記憶部に記憶された前記管理情報を参照して、前記端末装置が暗号化すべきデータ項目を前記鍵により暗号化させる暗号化プログラムを生成し、前記鍵取得プログラムとともに前記暗号化プログラムを前記端末装置に送信する、
ことを特徴とする請求項2記載のデータ提供方法。
In the management information, information indicating which data item is to be encrypted among data transmitted by the terminal device in association with identification information is set.
The data providing device is
When the data registration request is received, the management information stored in the second storage unit is referred to generate an encryption program for encrypting the data item to be encrypted by the terminal device using the key. Transmitting the encryption program together with the key acquisition program to the terminal device;
The data providing method according to claim 2, wherein:
前記鍵は、前記端末装置が接続するネットワーク内の情報処理装置に記憶され、  The key is stored in an information processing device in a network to which the terminal device is connected,
前記ネットワークは、前記ネットワーク外からのアクセスが制限される、  In the network, access from outside the network is restricted,
ことを特徴とする請求項1乃至3の何れか1項に記載のデータ提供方法。  The data providing method according to claim 1, wherein the data providing method is a data providing method.
端末装置から所定の識別情報を含むデータ取得要求を受信する受信部と、
登録データ識別情報とを対応付けて記憶する第1の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する登録データを取得するとともに、暗号処理に用いられる鍵の所在を示す所在情報識別情報とが対応付けられた管理情報を記憶する第2の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する所在情報を取得する処理部と、
取得した前記登録データと、取得した前記所在情報で示される情報処理装置に記憶された前記鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記登録データを復号させるプログラムと、を前記端末装置に送信する送信部と、
を有することを特徴とするデータ提供装置。
A receiving unit for receiving a data acquisition request including predetermined identification information from the terminal device;
Referring to a first storage unit that stores registration data and identification information in association with each other, the registration data corresponding to the identification information included in the data acquisition request is acquired, and the location of a key used for encryption processing the by referring to the second storage unit in which the location information and the identification information storing management information that is correlated shown, a processing unit for acquiring location information corresponding to the identification information included in the data acquisition request,
A program for causing the terminal device to acquire the key stored in the information processing device indicated by the acquired registration data and the acquired location information, and decrypting the registration data acquired using the acquired key And a transmitting unit for transmitting to the terminal device,
A data providing apparatus comprising:
端末装置から所定の識別情報を含むデータ取得要求を受信すると、登録データ識別情報とを対応付けて記憶する第1の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する登録データを取得するとともに、暗号処理に用いられる鍵の所在を示す所在情報識別情報とが対応付けられた管理情報を記憶する第2の記憶部を参照して、前記データ取得要求に含まれる前記識別情報に対応する所在情報を取得し、
取得した前記登録データと、取得した前記所在情報で示される情報処理装置に記憶された前記鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記登録データを復号させるプログラムと、を前記端末装置に送信する、
処理をコンピュータに実行させることを特徴とするデータ提供プログラム。
When a data acquisition request including predetermined identification information is received from the terminal device, the first storage unit that stores registration data and identification information in association with each other is referred to, and the identification information included in the data acquisition request is handled. with the registration data to get to, with reference to the second storage unit for storing management information location information indicating the location of the keys used in the encryption process and the identification information has been correlated, contained in the data acquisition request Obtaining location information corresponding to the identification information
A program for causing the terminal device to acquire the key stored in the information processing device indicated by the acquired registration data and the acquired location information, and decrypting the registration data acquired using the acquired key Are transmitted to the terminal device,
A data providing program for causing a computer to execute processing.
データ提供装置が、  Data providing device
端末装置からデータ取得要求を受信すると、前記データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得し、  When receiving a data acquisition request from the terminal device, the encrypted data corresponding to the data acquisition request, and location information indicating the location of the key used for encryption processing of the data are acquired,
取得した前記データと、前記端末装置が接続されるネットワーク内の情報処理装置に記憶された、取得した前記所在情報に基づき特定される鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記データを復号させるプログラムと、を前記端末装置に送信する、ことを実行し、  The acquired data and the key specified based on the acquired location information stored in the information processing device in the network to which the terminal device is connected are acquired by the terminal device, and the acquired key is A program for decrypting the data acquired by using the terminal device, and
前記ネットワークは、前記ネットワーク外からのアクセスが制限される、  In the network, access from outside the network is restricted,
ことを特徴とするデータ提供方法。  A data providing method characterized by the above.
端末装置からデータ取得要求を受信すると、前記データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得する処理部と、  When receiving a data acquisition request from the terminal device, a processing unit that acquires encrypted data corresponding to the data acquisition request and location information indicating a location of a key used for encryption processing of the data;
取得した前記データと、前記端末装置が接続されるネットワークであって前記ネットワーク外からのアクセスが制限される前記ネットワーク内の情報処理装置に記憶された、取得した前記所在情報に基づき特定される鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記データを復号させるプログラムと、を前記端末装置に送信する送信部と、  A key specified based on the acquired location information stored in an information processing device in the network to which the terminal device is connected and access from the outside of the network is restricted. A program for causing the terminal device to acquire the program for decrypting the data acquired using the acquired key, and a transmission unit for transmitting to the terminal device;
を有するデータ提供装置。  A data providing apparatus.
端末装置からデータ取得要求を受信すると、前記データ取得要求に対応する、暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを取得し、  When receiving a data acquisition request from the terminal device, the encrypted data corresponding to the data acquisition request, and location information indicating the location of the key used for encryption processing of the data are acquired,
取得した前記データと、前記端末装置が接続されるネットワークであって前記ネットワーク外からのアクセスが制限される前記ネットワーク内の情報処理装置に記憶された、取得した前記所在情報に基づき特定される鍵を前記端末装置に取得させるとともに、取得させた前記鍵を用いて取得した前記データを復号させるプログラムと、を前記端末装置に送信する、  A key specified based on the acquired location information stored in an information processing device in the network to which the terminal device is connected and access from the outside of the network is restricted. To the terminal device, and transmits to the terminal device a program for decrypting the data acquired using the acquired key.
処理をコンピュータに実行させるデータ提供プログラム。  A data providing program that causes a computer to execute processing.
データ提供装置と、  A data providing device;
端末装置と、  A terminal device;
前記端末装置が接続し、かつ、ネットワーク外からのアクセスが制限されるネットワークに接続された、情報処理装置と、を備えるデータ提供システムであって、  An information processing apparatus connected to a network to which the terminal device is connected and access from outside the network is restricted, and a data providing system comprising:
前記データ提供装置が、  The data providing device is
暗号化されたデータを記憶する第1記憶手段と、  First storage means for storing encrypted data;
端末装置からデータ取得要求を受信すると、前記データ取得要求に対応する暗号化されたデータと、該データの暗号処理に用いられる鍵の所在を示す所在情報とを前記端末装置に送信する送信手段と、を備え、  When receiving a data acquisition request from the terminal device, transmission means for transmitting the encrypted data corresponding to the data acquisition request and location information indicating the location of a key used for encryption processing of the data to the terminal device; With
前記情報処理装置が、  The information processing apparatus is
前記鍵を記憶する第2記憶手段を備え、  Second storage means for storing the key;
前記端末装置が、  The terminal device is
送信された前記所在情報に基づき特定される鍵を前記情報処理装置から取得する取得手段と、  Obtaining means for obtaining a key identified from the transmitted location information from the information processing apparatus;
取得した前記鍵を用いて取得した前記暗号化されたデータを復号させる復号処理手段と、を備える  Decryption processing means for decrypting the encrypted data acquired using the acquired key
ことを特徴とするデータ提供システム。  A data providing system characterized by that.
JP2010143672A 2010-06-24 2010-06-24 Data providing method, data providing apparatus, data providing program, and data providing system Active JP5609309B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010143672A JP5609309B2 (en) 2010-06-24 2010-06-24 Data providing method, data providing apparatus, data providing program, and data providing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010143672A JP5609309B2 (en) 2010-06-24 2010-06-24 Data providing method, data providing apparatus, data providing program, and data providing system

Publications (3)

Publication Number Publication Date
JP2012010071A JP2012010071A (en) 2012-01-12
JP2012010071A5 JP2012010071A5 (en) 2013-05-09
JP5609309B2 true JP5609309B2 (en) 2014-10-22

Family

ID=45540127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010143672A Active JP5609309B2 (en) 2010-06-24 2010-06-24 Data providing method, data providing apparatus, data providing program, and data providing system

Country Status (1)

Country Link
JP (1) JP5609309B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6291961B2 (en) * 2014-03-28 2018-03-14 富士通株式会社 Information processing system, information processing terminal, content management apparatus, and information processing method
JP6424382B1 (en) * 2018-02-02 2018-11-21 ゼニット株式会社 A secure cloud server that stores incoming data in an intra

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041993A (en) * 2000-07-24 2002-02-08 Nec Corp Contents distribution method and system thereof and recording medium for the system
JP5236352B2 (en) * 2008-05-15 2013-07-17 株式会社日立製作所 Application distribution control system, application distribution control method, information processing apparatus, and client terminal
JP5200721B2 (en) * 2008-07-16 2013-06-05 富士通株式会社 Control method, control device, and program
WO2010026561A2 (en) * 2008-09-08 2010-03-11 Confidato Security Solutions Ltd. An appliance, system, method and corresponding software components for encrypting and processing data
JP2010072916A (en) * 2008-09-18 2010-04-02 Hitachi Software Eng Co Ltd Data protection system and data protection method

Also Published As

Publication number Publication date
JP2012010071A (en) 2012-01-12

Similar Documents

Publication Publication Date Title
JP6609010B2 (en) Multiple permission data security and access
TWI571765B (en) A system and method to protect user privacy in multimedia uploaded to internet sites
US11842348B2 (en) Data management system and data management method
CN102609635A (en) Information processing apparatus and control method
JP6436717B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP4979210B2 (en) Login information management apparatus and method
US20180082067A1 (en) Information Sharing Server, Information Sharing System And Non-Transitory Recording Medium
JP4885892B2 (en) Terminal device, information providing system, file access method, and data structure
JP5609309B2 (en) Data providing method, data providing apparatus, data providing program, and data providing system
JP2008177752A (en) Key management device, terminal device, content management device, and computer program
KR101315482B1 (en) Secret information reading service system using by a writer authentication and the control method thereof
JP2006244420A (en) Identification information generation management device, and its system and program
JP2005286402A (en) Server and program for encryption key management terminal and program for acquiring encryption key system and method for encryption key management
JP6351061B2 (en) Management system, management method, program, and user terminal
JP2014027413A (en) Code generation device and code decryption device
JP4679934B2 (en) Identification information generation management device, system, and program
JP2007060581A (en) Information management system and method
JP2009104327A (en) File management system and file management program
JP4719480B2 (en) Questionnaire execution system and questionnaire execution server
JP5158601B2 (en) File management device, file management system, and program
JP2005284703A (en) Medical information distribution system and information access control method therefor, computer program
US20080154622A1 (en) Method of and System for Security and Privacy Protection in Medical Forms
JP6604367B2 (en) Processing apparatus and information processing apparatus
JP4956969B2 (en) Document distribution apparatus, program, and document distribution system
JP2006185212A (en) Information management system, information management method and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R150 Certificate of patent or registration of utility model

Ref document number: 5609309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150