JP5307199B2 - Data management system and data management method - Google Patents

Data management system and data management method Download PDF

Info

Publication number
JP5307199B2
JP5307199B2 JP2011156583A JP2011156583A JP5307199B2 JP 5307199 B2 JP5307199 B2 JP 5307199B2 JP 2011156583 A JP2011156583 A JP 2011156583A JP 2011156583 A JP2011156583 A JP 2011156583A JP 5307199 B2 JP5307199 B2 JP 5307199B2
Authority
JP
Japan
Prior art keywords
data
encryption
encrypted
server
character
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
JP2011156583A
Other languages
Japanese (ja)
Other versions
JP2013025361A (en
Inventor
洋一 北山
明夫 吉井
毅 宮地
Original Assignee
株式会社エアー
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 株式会社エアー filed Critical 株式会社エアー
Priority to JP2011156583A priority Critical patent/JP5307199B2/en
Publication of JP2013025361A publication Critical patent/JP2013025361A/en
Application granted granted Critical
Publication of JP5307199B2 publication Critical patent/JP5307199B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To maintain confidentiality of data between a third party network server providing network service and a user device without changing the firmware and system mechanism of the third party network server. <P>SOLUTION: A relay server 210 has an encryption function and a decryption function. When receiving a new request for customer data upload from a terminal device 230 (S1), the relay server identifies an encryption method for the request (S2-S4), and encrypts an object to be encrypted in the customer data in accordance with the encryption system (S6). Then, the relay server transmits the encrypted data together with the upload request to an application server 15. When receiving the encrypted data, the application server 15 meets the upload request and stores the encrypted data in a data storage unit 154. <P>COPYRIGHT: (C)2013,JPO&amp;INPIT

Description

本発明は、文字データを暗号化する技術及び暗号化されたデータをネットワーク上のサーバ装置で保管する技術に関し、特に、上記サーバ装置で管理されているデータの内容が上記サーバ装置の管理者から漏洩することを防止可能なデータ管理システム及びデータ管理方法に関する。   The present invention relates to a technique for encrypting character data and a technique for storing encrypted data in a server apparatus on a network, and in particular, the content of data managed by the server apparatus is received from an administrator of the server apparatus. The present invention relates to a data management system and a data management method capable of preventing leakage.

従来、インターネット上に設けられたサーバ装置(以下「ネットワークサーバ」という。)から提供される顧客管理アプリケーション(CRMアプリケーション)やデータ管理アプリケーションなどの各種アプリケーションをインターネットを通じて利用者に利用させるネットワークサービスが知られている。このようなネットワークサービスの利用者は、第三者が所有するネットワークサーバが提供する各種アプリケーションを利用して、ネットワーク上に保管された利用者自身のデータ(例えば顧客データやアドレスデータ)に自由にアクセスすることができる。このようなネットワークサービスを利用すれば、利用者自身がデータを管理するためのサーバシステムを設ける必要がないため、経済的メリットが大きい。その反面、第三者の管理下に置かれたネットワークサーバ又はその外部ストレージにデータが保管されるため、利用者の意に反してデータが漏洩するおそれがある。しかし、近年においては、ユーザの認証技術やネットワークセキュリティ技術が向上したことによって、ネットワークサーバからのデータ漏洩などの危険性が低くなっており、第三者の管理下にあるネットワークサーバに利用者自身のデータを管理してもらう管理方法が主流になりつつある。   Conventionally, network services that allow users to use various applications such as customer management applications (CRM applications) and data management applications provided from server devices (hereinafter referred to as “network servers”) provided on the Internet via the Internet are known. It has been. Users of such network services can freely use their various applications provided by a network server owned by a third party to store their own data (for example, customer data and address data) stored on the network. Can be accessed. If such a network service is used, there is no need to provide a server system for the user himself / herself to manage data. On the other hand, since the data is stored in a network server or its external storage placed under the control of a third party, there is a risk of data leaking against the user's will. However, in recent years, due to improvements in user authentication technology and network security technology, the risk of data leakage from the network server has been reduced, and users themselves have to manage network servers under the control of third parties. The management method to manage the data of is becoming mainstream.

また、企業のグローバル化が急速に展開されている昨今では、ネットワークサーバが世界各国に設置されるようになった。また、利用者は、自然災害や戦争・紛争・テロなどの人的災害(以下「災害」と称する。)の発生によってネットワークサーバが利用不能となる事態に備えて、世界の複数の地域に点在する複数のネットワークサーバを利用するようになった。   In addition, with the rapid globalization of companies, network servers have been installed around the world. In addition, in preparation for situations in which network servers become unavailable due to the occurrence of natural disasters, human disasters such as wars, conflicts, and terrorism (hereinafter referred to as “disasters”), users can It came to use multiple existing network servers.

特開2002−278970号公報JP 2002-278970 A

ところで、上記ネットワークサービスの利用者は、国外に設置されたネットワークサーバを利用する場合であっても、そのネットワークサーバが保管する利用者自身のデータを自由に取り扱うことが可能である。しかしながら、各国における法律の改正や社会情勢の変化などによって上記ネットワークサーバの管理体制が変化して、利用者自身のデータにもかかわらずデータの読み出しが制限されたり、場合によってはデータがインターネット上に漏出されたり、データが消去されたりといった不測の事態が発生するおそれがある。また、社会情勢の変化にともないネットワークサーバの管理者のモラルが低下すると、利用者のデータが管理者によって不当に開示されるという問題も生じ得る。このような問題に対しては、事前に暗号化されたデータをネットワークサーバに保管させる方法が有効である。例えば、特許文献1には、暗号化されたデータ及び索引情報がネットワークサーバに送信されると、ネットワークサーバが暗号化されたデータを保管するシステムが開示されている。   By the way, even if the user of the network service uses a network server installed outside the country, the user's own data stored in the network server can be freely handled. However, due to changes in laws and social conditions in each country, the management system of the network server has changed, and data reading is restricted regardless of the user's own data. Unexpected situations such as leakage or data erasure may occur. In addition, when the morality of the network server administrator is reduced due to changes in the social situation, there may be a problem that user data is unfairly disclosed by the administrator. For such problems, it is effective to store data encrypted in advance in a network server. For example, Patent Document 1 discloses a system in which, when encrypted data and index information are transmitted to a network server, the network server stores the encrypted data.

しかしながら、特許文献1に記載のシステムは、暗号化されたデータだけでなく、これらのデータを索引するための索引情報が暗号化データに紐付けされた状態でネットワークサーバに保管される仕組みが採用されている。このような仕組みを実現するためには、ネットワークサーバのファームウェアまたはシステムを上記仕組みに合わせて変更する必要があるが、顧客管理アプリケーションなどのネットワークサービスの利用者が同サービスの提供者のネットワークサーバのファームウェアまたはシステムを変更するのは、実質的に不可能である。   However, the system described in Patent Document 1 employs a mechanism in which not only encrypted data but also index information for indexing these data is stored in the network server in a state linked to the encrypted data. Has been. In order to realize such a mechanism, it is necessary to change the firmware or system of the network server according to the above mechanism. However, a user of a network service such as a customer management application needs to change the network server of the provider of the service. It is virtually impossible to change the firmware or system.

そこで、本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、顧客管理アプリケーションなどのネットワークサービスを提供する第三者のネットワークサーバのファームウェアやシステムの仕組みを変更することなく、第三者のネットワークサーバと利用者のデバイスとの間でデータの秘匿性を保持することが可能なデータ管理システム及びデータ管理方法を提供することにある。   Therefore, the present invention has been made in view of the above circumstances, and the object of the present invention is to change the firmware and system mechanism of a third party network server that provides a network service such as a customer management application. It is another object of the present invention to provide a data management system and a data management method capable of maintaining the confidentiality of data between a third-party network server and a user device.

(1) 本発明は、第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システムである。上記データ処理装置は、複数の文字からなる文字データを暗号化する暗号化手段と、上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段と、を有している。このデータ処理装置は、少なくとも上記文字データを含む保管対象データに対する保管要求が入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信するよう構成されている。上記サーバ装置は、上記データ処理装置から上記暗号データを受信した場合に該暗号データを予め定められた記憶装置に格納するよう構成されている。 (1) In the present invention, a data processing device managed by a first administrator and a server device managed by a second administrator different from the first administrator are connected to be communicable via a network. Data management system. The data processing apparatus includes: an encryption unit that encrypts character data including a plurality of characters; and a decryption that decrypts the character data encrypted by the encryption unit in a procedure reverse to the encryption of the encryption unit. Means. The data processing device generates encrypted data by encrypting the character data included in the storage target data by the encryption unit when a storage request for the storage target data including at least the character data is input. The encrypted data is transmitted to the server device. The server device is configured to store the encrypted data in a predetermined storage device when the encrypted data is received from the data processing device.

このように構成されたデータ管理システムでは、クライアント端末などからデータ処理装置に上記保管要求が入力されると、データ処理装置は上記保管要求に応じた保管対象データの文字データを上記暗号化手段に暗号化させる。このとき暗号化される文字データは、保管要求とともに入力されたものであってもよく、或いは保管要求とともに入力されたアドレス(IPアドレス、メモリアドレス、ハードディスクのトラックアドレス等)で特定される記憶領域に格納されたものであってもよい。この記憶領域は、第1管理者の管理下に置かれたものであり、データ処理装置内のメモリやHDD、或いはネットワーク上に設けられたのHDDなどが該当する。なお、文字データとは、文字で表現されたデータのことであり、文書データあるいはテキストデータと同義である。   In the data management system configured as described above, when the storage request is input to the data processing device from a client terminal or the like, the data processing device sends the character data of the storage target data corresponding to the storage request to the encryption unit. Encrypt it. The character data encrypted at this time may be input together with the storage request, or a storage area specified by an address (IP address, memory address, hard disk track address, etc.) input together with the storage request. It may be stored in. This storage area is placed under the management of the first administrator, and corresponds to a memory or HDD in the data processing apparatus, or an HDD provided on the network. The character data is data represented by characters, and is synonymous with document data or text data.

暗号化された文字データ(暗号データ)は、ネットワークを経由して、サーバ装置に送信される。上記サーバ装置は、上記データ処理装置から送信されてきた上記暗号データを受信すると、この暗号データを予め定められた記憶装置に格納する。この記憶装置は第2管理者の管理下に置かれてものであり、例えばサーバ装置内に設けられたものや、或いはネットワーク上の所定のアドレスに設けられたものが該当する。記憶装置に格納された暗号データはサーバ装置によって保管される。   The encrypted character data (encrypted data) is transmitted to the server device via the network. When the server apparatus receives the encrypted data transmitted from the data processing apparatus, the server apparatus stores the encrypted data in a predetermined storage device. This storage device is placed under the management of the second administrator, for example, one provided in the server device or one provided at a predetermined address on the network. The encrypted data stored in the storage device is stored by the server device.

このように本発明のデータ管理システムが構成されているため、第2管理者が管理するサーバ装置には暗号化された文字データが格納される。したがって、仮にサーバ装置内のデータが漏洩しても、それらのデータは暗号化されたものであるため、そのデータ内容が第1管理者以外の者に知られることはない。また、データの暗号化及び復号がデータ処理装置で行われるため、第2管理者の管理下にあるサーバ装置のファームウェアやシステムに変更を加えることなく、既存のデータサーバシステムに本発明を容易に適用することができる。   Thus, since the data management system of this invention is comprised, the encrypted character data are stored in the server apparatus which a 2nd administrator manages. Therefore, even if the data in the server device leaks, the data contents are not known to anyone other than the first administrator because the data is encrypted. In addition, since data encryption and decryption are performed by the data processing apparatus, the present invention can be easily applied to an existing data server system without changing the firmware and system of the server apparatus under the control of the second administrator. Can be applied.

なお、このデータ管理システムにおいて、データ処理装置は、上記保管対象データに対する読出要求が入力された場合に、上記読出要求を上記サーバ装置に送信するよう構成されている。この場合、サーバ装置は、上記データ処理装置から上記読出要求を受信した場合に、該読出要求に基づいて特定される上記暗号データを上記記憶装置から読み出して上記データ処理装置に送信する。そして、データ処理装置は、上記読出要求に応じて上記サーバ装置から送信された上記暗号データを受信した場合に、該暗号データを上記復号手段に復号させて元の文字データに戻す。   In this data management system, the data processing device is configured to transmit the read request to the server device when a read request for the storage target data is input. In this case, when the server device receives the read request from the data processing device, the server device reads the encrypted data specified based on the read request from the storage device and transmits it to the data processing device. When the data processing apparatus receives the encrypted data transmitted from the server apparatus in response to the read request, the data processing apparatus causes the decryption means to decrypt the encrypted data and return it to the original character data.

(2) 上記文字データは、単語間を区切らずに表記する連続表記法によって表されたものである。すなわち、この文字データは、中国語、日本語、韓国語(以下「CJK言語」と総称する。)などのように分かち書き(単語間をスペースなどで区切る書き方)をせずに複数の単語を連続して表記する連続表記法で記載された文章が文字コード化されたテキストデータである。この場合、上記暗号化手段は、上記保管対象データに含まれる文字データをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化するものであることが好ましい。 (2) The above character data is expressed by a continuous notation method in which words are not separated. That is, this character data is a sequence of a plurality of words without being divided (how to separate words with a space or the like) such as Chinese, Japanese, Korean (hereinafter collectively referred to as “CJK language”). This is text data in which a sentence described in a continuous notation is converted into a character code. In this case, the encryption means decomposes the character data included in the storage target data into a plurality of blocks composed of consecutive N characters based on the N-gram method, and encrypts each block. It is preferable.

連続表記法を採用する言語の代表格は中国語、日本語、韓国語(CJK言語)である。CJK言語で作成された文章は、アルファベット文字を組み合わせて構成される欧米の言語(以下「欧米言語」と略する。)の文章とは異なり、わかち書きがされない。このような言語で使用される文字列を含む文字データは、上記暗号化手段によって、N−gram方式に基づいて連続するN個の文字で構成されるブロックに分解され、各ブロックそれぞれが暗号化される。このように暗号化されることにより、連続するN個の文字からなる1ブロックが一つの特徴部分として把握される。そのため、暗号化後の文字データ(暗号データ)であっても、その特徴部分に基づいて、暗号化されたままの文字データ(暗号データ)に対する部分一致検索処理や全文検索処理、更にはソート処理などの各処理が高い精度で実現可能となる。   Typical examples of languages that employ continuous notation are Chinese, Japanese, and Korean (CJK language). Sentences created in the CJK language are not written differently from sentences in Western languages (hereinafter abbreviated as “Western languages”) configured by combining alphabetic characters. Character data including a character string used in such a language is decomposed by the encryption means into blocks composed of consecutive N characters based on the N-gram method, and each block is encrypted. Is done. By being encrypted in this way, one block composed of N consecutive characters is grasped as one characteristic part. Therefore, even for encrypted character data (encrypted data), partial match search processing, full-text search processing, and sort processing for character data (encrypted data) that is still encrypted based on the characteristic portion Each process such as can be realized with high accuracy.

(3) 上記データ処理装置は、検索キーワードが入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信し、上記サーバ装置から上記暗号キーワードに応じた暗号データを検索結果として受信した場合に該暗号データを上記復号手段に復号させるものである。この場合、上記サーバ装置は、上記データ処理装置から上記暗号キーワードを受信した場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信するものであることが好ましい。 (3) When the search keyword is input, the data processing device causes the encryption means to encrypt the search keyword to generate an encryption keyword, and transmits the encryption keyword to the server device. When the encrypted data corresponding to the encryption keyword is received as a search result, the decryption means decrypts the encrypted data. In this case, when the server device receives the encryption keyword from the data processing device, the server device searches the storage device for the encryption data corresponding to the encryption keyword, and uses the searched encryption data as a search result as the data. It is preferable that it is what is transmitted to a processing apparatus.

これにより、サーバ装置内で暗号データが復号されることなく検索処理が行われ、その検索結果がデータ処理装置で復号される。そのため、サーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。   Thus, the search process is performed without decrypting the encrypted data in the server apparatus, and the search result is decrypted by the data processing apparatus. Therefore, it is possible to realize a search function for searching for encrypted data while preventing leakage of data from the server device.

(4) 上記暗号化手段は、上記保管対象データに含まれる文字データをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれをを整数化処理した後に、整数化処理後のデータに示される数値を予め定めされた文字置換テーブルに基づいて特定された文字に置換するものである。また、上記データ処理装置は、上記サーバ装置から暗号データを受信した場合に該暗号データを上記復号手段に復号させるものである。上記サーバ装置は、予め定められた項目に対するソート要求に基づいて該項目に属する暗号データを所定のソート順序となるようにソートして、ソート後の順序を示すソート順序情報と共に暗号データを上記データ処理装置に送信するものである。 (4) The encryption means decomposes the character data included in the data to be stored into a plurality of blocks composed of consecutive N characters based on the N-gram method, and converts each block into an integer. After the processing, the numerical value shown in the data after the integer conversion processing is replaced with a character specified based on a predetermined character replacement table. The data processing device causes the decryption means to decrypt the encrypted data when the encrypted data is received from the server device. The server device sorts encrypted data belonging to an item based on a sorting request for a predetermined item so as to be in a predetermined sort order, and stores the encrypted data together with sort order information indicating an order after sorting. It is transmitted to the processing device.

このように暗号化手段が構成されているため、サーバ装置において暗号データに対してソート処理が行われた場合に、その暗号データに対するソート順序と復号後の文字データに対するソート順序とが一致する。つまり、暗号データに対して行われたソート結果を復号後の文字データにも適用することができる。これにより、サーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータをソート対象とするソート機能を実現することが可能となる。   Since the encryption unit is configured as described above, when the sort processing is performed on the encrypted data in the server device, the sort order for the encrypted data matches the sort order for the character data after decryption. That is, the sorting result performed on the encrypted data can be applied to the decrypted character data. As a result, it is possible to realize a sorting function that targets encrypted data while preventing leakage of data from the server device.

(5) 本発明は、上述したデータ管理システムに適用されるデータ管理方法として捉えることもできる。このデータ管理方法が適用されるデータ管理システムは、第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システである。当該データ管理方法は、第1ステップ乃至第5ステップを有する。第1ステップは、単語間を区切らずに表記する連続表記法によって表された複数の文字からなる文字データを含む保管対象データに対する保管要求が上記データ処理装置に入力された場合に、上記文字データをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化して暗号データを生成して該暗号データを上記サーバ装置に送信する。第2ステップは、上記データ処理装置から送信された上記暗号データが上記サーバ装置で受信された場合に該暗号データを予め定められた記憶装置に格納する。第3ステップは、検索キーワードが上記データ処理装置に入力された場合に該検索キーワードをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化して暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信する。第4ステップは、上記データ処理装置から送信された上記暗号キーワードが上記サーバ装置で受信された場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信する。第5ステップは、上記サーバ装置から送信された上記暗号データが上記検索結果として上記データ処理装置で受信された場合に該暗号データを上記第1ステップにおける暗号化とは逆の手順で復号する
(5) The present invention can also be understood as a data management method applied to the above-described data management system. In the data management system to which this data management method is applied, a data processing device managed by a first administrator and a server device managed by a second administrator different from the first administrator form a network. it is communicatively connected data management system via. The data management method includes first to fifth steps. In the first step, when a storage request for storage target data including character data composed of a plurality of characters represented by a continuous notation method that expresses without separating words is input to the data processing device, the character data Is divided into a plurality of blocks composed of consecutive N characters based on the N-gram method, each block is encrypted to generate encrypted data , and the encrypted data is transmitted to the server device. In the second step, when the encrypted data transmitted from the data processing device is received by the server device, the encrypted data is stored in a predetermined storage device. The third step, the search keyword decomposes the search keyword into a plurality of blocks composed of N consecutive characters based on N-gram scheme when it is input to the data processing apparatus, each respective block The encryption keyword is generated by encryption, and the encryption keyword is transmitted to the server device. In the fourth step, when the encryption keyword transmitted from the data processing device is received by the server device, the encryption data corresponding to the encryption keyword is searched from the storage device, and the searched encryption data is The search result is transmitted to the data processing apparatus. In the fifth step, when the encrypted data transmitted from the server device is received by the data processing device as the search result, the encrypted data is decrypted by a procedure reverse to the encryption in the first step .

これにより、仮にサーバ装置内のデータが漏洩しても、それらのデータは暗号化されたものであるため、そのデータ内容が第1管理者以外の者に知られることはない。また、データの暗号化及び復号がデータ処理装置で行われるため、第2管理者の管理下にあるサーバ装置のファームウェアやシステムに変更を加える必要もない。また、サーバ装置内で暗号データが復号されることなく検索処理が行われ、その検索結果がデータ処理装置で復号される。そのため、検索時においてもサーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。   As a result, even if data in the server apparatus leaks, since the data is encrypted, the contents of the data are not known to anyone other than the first administrator. In addition, since data encryption and decryption are performed by the data processing device, it is not necessary to change the firmware or system of the server device under the control of the second administrator. Further, the search process is performed without decrypting the encrypted data in the server apparatus, and the search result is decrypted by the data processing apparatus. Therefore, it is possible to realize a search function for searching for encrypted data while preventing leakage of data from the server device even during a search.

本発明によれば、第2管理者のサーバ装置のファームウェアやシステムの仕組みを変更することなく、第2管理者のサーバ装置から第1管理者のデータの内容が漏洩することを防止してデータの秘匿性を保持することが可能となる。また、文字データが連続表記法によって作成された文章の文書データやテキストデータである場合は、その文字データをN−gram方式に基づいて分割されたブロックごとに暗号化することにより、連続するN個の文字からなる1ブロックが一つの特徴部分として把握される。そのため、文字データ(暗号データ)であっても、それに対する部分一致検索処理、全文検索処理などの各処理を高精度で実現することができる。 According to the present invention, the content of the first administrator's data is prevented from leaking from the second administrator's server device without changing the firmware of the second administrator's server device or the system mechanism. It is possible to maintain the confidentiality of. In addition, when the character data is document data or text data of a sentence created by the continuous notation, the character data is encrypted for each block divided based on the N-gram method, so that consecutive N One block consisting of individual characters is grasped as one characteristic part. Therefore, even in the character data (encrypted data), it is possible to achieve partial matching processing on it, a full-text search processing of all the processes with high precision.

図1は、データ管理システム10のネットワーク構成を示すネットワーク図である。FIG. 1 is a network diagram showing a network configuration of the data management system 10. 図2は、データ管理システム10の各デバイスの概略構成を示すブロック図である。FIG. 2 is a block diagram illustrating a schematic configuration of each device of the data management system 10. 図3は、データのアップロード時にデータ管理システム10内で実行されるデータ又は信号の送受信シーケンスを示すシーケンス図である。FIG. 3 is a sequence diagram showing a data or signal transmission / reception sequence executed in the data management system 10 when data is uploaded. 図4は、データのアップロード時に中継サーバ210で実行される処理の手順の一例を示すフローチャートである。FIG. 4 is a flowchart illustrating an example of a procedure of processing executed by the relay server 210 when uploading data. 図5は、データの検索時にデータ管理システム10内で実行されるデータ又は信号の送受信シーケンスを示すシーケンス図である。FIG. 5 is a sequence diagram showing a data or signal transmission / reception sequence executed in the data management system 10 when searching for data. 図6は、データの検索時に中継サーバ210で実行される処理の手順の一例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of a procedure of processing executed by the relay server 210 when searching for data. 図7は、データのソート時にデータ管理システム10内で実行されるデータ又は信号の送受信シーケンスを示すシーケンス図である。FIG. 7 is a sequence diagram showing a data or signal transmission / reception sequence executed in the data management system 10 when sorting data. 図8は、データのソート時に中継サーバ210で実行される処理の手順の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of a procedure of processing executed by the relay server 210 when data is sorted. 図9は、中継サーバ210で実行される暗号化処理の手順の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of the procedure of the encryption process executed by the relay server 210. 図10は、顧客データ及びユーザーインターフェースの一例を示す図である。FIG. 10 is a diagram illustrating an example of customer data and a user interface.

以下、適宜図面を参照して本発明の一実施形態に係るデータ管理システム10(本発明のデータ管理システムの一例)について説明する。   Hereinafter, a data management system 10 (an example of the data management system of the present invention) according to an embodiment of the present invention will be described with reference to the drawings as appropriate.

図1に示されるように、データ管理システム10は、アプリケーションを提供するアプリケーションサーバ15(以下「アプリサーバ」と略する。本発明のサーバ装置の一例)と、クライアント管理システム20とによって構成されている。アプリサーバ15は、インターネット12(本発明のネットワークの一例)を介して、クライアント管理システム20の中継サーバ210(本発明のデータ処理装置の一例)と通信可能に接続されている。   As shown in FIG. 1, the data management system 10 includes an application server 15 that provides an application (hereinafter abbreviated as “application server”. An example of a server device of the present invention) and a client management system 20. Yes. The application server 15 is communicably connected to the relay server 210 (an example of the data processing apparatus of the present invention) of the client management system 20 via the Internet 12 (an example of the network of the present invention).

本実施形態では、アプリサーバ15は、所謂「Software as a Service」のカテゴリに属するアプリケーションサービスを提供する事業者(本発明の第2管理者に相当、以下「SaaS事業者」という。)の管理下に置かれて運用されている。一方、クライアント管理システム20は、SaaS事業者とは異なる事業者(本発明の第1管理者に相当)の管理下に置かれて運用されている。従来は、同一の管理者によってサーバ及びクライアント管理システムの双方が管理運用された管理システムが主流であった。しかし、近年は、システムの設備投資負担を軽減することや、災害時の設備損壊及びデータ紛失といったリスクを分散することの重要性が高まっており、セキュリティ技術の向上により通信時のデータ漏洩の危険性も低くなったことも相まって、記憶領域の提供や利用者のデータの保管、顧客情報等のデータベース管理をSaaS事業者が請け負い、SaaS事業者がネットワークを通じて提供するアプリケーションサービスを利用者が利用するといった本実施形態のデータ管理システム10のようなシステムが主流になりつつある。このようなアプリケーションサービスの実例として、米国のセールスフォース・ドットコムインコーポレイテッドが提供するCRMソリューションや、米国のグーグルインコーポレイテッドが提供するグーグルカレンダー(ウェブカレンダーサービス)などがある。なお、グーグルはグーグルインコーポレイテッドの登録商標である。   In the present embodiment, the application server 15 manages a business operator (corresponding to a second administrator of the present invention, hereinafter referred to as a “SaaS business operator”) that provides an application service belonging to a category of so-called “Software as a Service”. It is put under operation. On the other hand, the client management system 20 is operated under the management of an operator different from the SaaS operator (corresponding to the first administrator of the present invention). Conventionally, a management system in which both a server and a client management system are managed and operated by the same administrator has been mainstream. However, in recent years, it has become more important to reduce the capital investment burden of the system and to distribute the risk of equipment damage and data loss in the event of a disaster. The SaaS provider undertakes the provision of storage areas, storage of user data, and database management of customer information, etc., and the users use application services provided by the SaaS provider through the network. Such a system as the data management system 10 of this embodiment is becoming mainstream. Examples of such application services include CRM solutions provided by Salesforce.com Inc. in the United States and Google Calendar (Web Calendar Service) provided by Google Incorporated in the United States. Google is a registered trademark of Google Incorporated.

アプリサーバ15は、データベース管理機能、データ検索機能、及びソート機能を有する。データベース管理機能は、インターネット12を経て外部デバイスから転送された顧客データやアドレスデータなどをデータベースとして内部或いは外部の記憶領域に蓄積保存する機能である。データ検索機能は、外部デバイスから転送された検索キーワードに基づいて上記データベースに対してキーワード検索を行う機能である。ソート機能は、外部デイバイスからソート対象となる項目が指定されたときに、その項目に関して上記データベース内の顧客データの順序の並べ替え(ソート)を行う機能である。アプリサーバ15は、インターネット12を通じてクライアント管理システム20に上記各機能を提供することができるように構成されている。そのため、上記各機能を実現するためのアプリケーションソフトウェアがアプリサーバ15にインストールされている。これにより、クライアント管理システム20は、アプリサーバ15が提供する上記各機能のネットワークサービスを利用することが可能となっている。以下に、アプリサーバ15及びクライアント管理システム20の各構成について詳細に説明する。   The application server 15 has a database management function, a data search function, and a sort function. The database management function is a function for accumulating and storing customer data, address data, and the like transferred from an external device via the Internet 12 as a database in an internal or external storage area. The data search function is a function for performing a keyword search on the database based on a search keyword transferred from an external device. The sort function is a function for rearranging (sorting) the order of customer data in the database with respect to the item when the item to be sorted is designated from the external device. The application server 15 is configured to provide each function described above to the client management system 20 through the Internet 12. Therefore, application software for realizing the above functions is installed in the application server 15. Thereby, the client management system 20 can use the network service of each function provided by the application server 15. Below, each structure of the application server 15 and the client management system 20 is demonstrated in detail.

図2に示されるように、アプリサーバ15は、CPUなどの制御部151と、ROM152と、RAM153と、HDDなどの大容量記憶媒体であるデータ記憶部154と、外部との通信を行う通信I/F155とを備えるコンピュータ(電子計算機)である。アプリサーバ15に備えられた各構成要素は、内部バスによって互いに通信可能に接続されている。データ記憶部154には、インターネット12を経て転送されてきたデータがデータベースとして蓄積記憶される。データ記憶部154に格納されるデータの種類は特に限定されないが、本実施形態では、図10(A)に示されるように、顧客番号、顧客名称、顧客住所、顧客に関するメモ(以下「顧客メモ」と称する。)、登録日(アップデートした日)の5つの項目からなるリスト形式の顧客データ(以下「顧客リスト」ともいう。)がテキスト形式でデータベース管理されているものとする。なお、データ記憶部154には、図示しないアプリケーション記憶領域が割り当てられており、この記憶領域に、上述したデータベース管理機能、データ検索機能、ソート機能を実現するためのアプリケーションのプログラムが格納されている。   As shown in FIG. 2, the application server 15 includes a control unit 151 such as a CPU, a ROM 152, a RAM 153, a data storage unit 154 that is a large-capacity storage medium such as an HDD, and a communication I that performs communication with the outside. / F155 is a computer (electronic computer). Each component provided in the application server 15 is connected to be communicable with each other via an internal bus. Data transferred via the Internet 12 is stored and stored in the data storage unit 154 as a database. The type of data stored in the data storage unit 154 is not particularly limited. In this embodiment, as shown in FIG. 10A, a customer number, a customer name, a customer address, a customer-related memo (hereinafter “customer memo”). It is assumed that customer data in a list format (hereinafter also referred to as “customer list”) consisting of five items of registration date (date of update) is database-managed in text format. Note that an application storage area (not shown) is allocated to the data storage unit 154, and application programs for realizing the above-described database management function, data search function, and sort function are stored in this storage area. .

図1に示されるように、クライアント管理システム20は、中継サーバ210と、情報管理サーバ220と、複数の端末装置230(230A,230B,230C)とによって構成されており、これらがLAN21によって互いに通信可能に接続されている。   As shown in FIG. 1, the client management system 20 includes a relay server 210, an information management server 220, and a plurality of terminal devices 230 (230A, 230B, 230C), which communicate with each other via a LAN 21. Connected as possible.

図2に示されるように、端末装置230は、CPUなどの制御部231と、ROM232と、RAM233と、HDD234と、キーボードなどの入力部235と、液晶ディスプレイなどのモニタ236と、外部との通信を行う通信I/F237とを備えるコンピュータ(電子計算機)であり、具体的には、パーソナルコンピュータやPDA、携帯電話、タブレット端末、スマートフォンなどが該当する。アプリサーバ15のネットワークサービスを利用しようとする利用者は、端末装置230を操作して中継サーバ210やアプリサーバ15に対して上述のデータベース管理機能やデータ検索機能、ソート機能に関する各種の要求を送信する。   As shown in FIG. 2, the terminal device 230 includes a control unit 231 such as a CPU, a ROM 232, a RAM 233, an HDD 234, an input unit 235 such as a keyboard, a monitor 236 such as a liquid crystal display, and external communication. A computer (electronic computer) including a communication I / F 237 that performs the above operations, specifically, a personal computer, a PDA, a mobile phone, a tablet terminal, a smartphone, and the like. A user who intends to use the network service of the application server 15 operates the terminal device 230 to transmit various requests regarding the above-described database management function, data search function, and sort function to the relay server 210 and the application server 15. To do.

情報管理サーバ220は、CPUなどの制御部221と、ROM222と、RAM223と、後述する基本情報が格納されたHDDなどの基本情報記憶部224と、外部との通信を行う通信I/F225とを備えるコンピュータ(電子計算機)である。基本情報記憶部224には、暗号化及び復号に用いられる暗号方式を指定するための暗号指定情報や、暗号化処理に用いられる複数の文字置換表などが基本情報として格納されている。上記暗号指定情報は、端末装置230を識別するためのユーザID等の識別情報や予め定められた複数の言語情報などと対応付けられた状態でテーブルデータとして基本情報記憶部224に記憶されている。上記テーブルデータは、後述する暗号方式の選択時に、端末装置230の識別情報に応じた暗号方式や、暗号化対象のデータで使用されている文字の言語に応じた暗号方式を選択する際に参照される。   The information management server 220 includes a control unit 221 such as a CPU, a ROM 222, a RAM 223, a basic information storage unit 224 such as an HDD storing basic information to be described later, and a communication I / F 225 that performs communication with the outside. It is a computer (electronic computer) provided. The basic information storage unit 224 stores, as basic information, encryption designation information for designating an encryption method used for encryption and decryption, a plurality of character substitution tables used for encryption processing, and the like. The encryption designation information is stored in the basic information storage unit 224 as table data in a state associated with identification information such as a user ID for identifying the terminal device 230 and a plurality of predetermined language information. . The table data is referred to when selecting an encryption method according to the identification information of the terminal device 230 or an encryption method according to the language of characters used in the data to be encrypted when selecting an encryption method to be described later. Is done.

基本情報記憶部224には、第1文字置換表と第2文字置換表とが記憶されている。第1文字置換表は後述する第1暗号方式による暗号化の際に用いられるものであり、第2文字置換表は後述する第2暗号方式による暗号化の際に用いられる。   The basic information storage unit 224 stores a first character replacement table and a second character replacement table. The first character replacement table is used for encryption by a first encryption method described later, and the second character replacement table is used for encryption by a second encryption method described later.

上記暗号指定情報は、端末装置230から中継サーバ210に対してデータのアップロード要求(データの書き込み要求)があったときに、中継サーバ210によって基本情報記憶部224から読み出される。例えば、端末装置230Aから中継サーバ210に対してアップロード要求があったときに、要求元の端末装置230Aの識別情報に対応する暗号指定情報、或いは暗号化対象のデータに使用されている言語に対応する暗号指定情報が上記テーブルデータから読み出されて、その暗号指定情報が情報管理サーバ220から中継サーバ210へ送信される。上記暗号指定情報は、端末装置230ごとに異なるものであってもよく、或いはクライアント管理システム20に属する全ての端末装置230について共通のものであってもよい。   The encryption designation information is read from the basic information storage unit 224 by the relay server 210 when there is a data upload request (data write request) from the terminal device 230 to the relay server 210. For example, when there is an upload request from the terminal device 230A to the relay server 210, it corresponds to the encryption designation information corresponding to the identification information of the requesting terminal device 230A or the language used for the data to be encrypted The encryption designation information to be read is read from the table data, and the encryption designation information is transmitted from the information management server 220 to the relay server 210. The encryption designation information may be different for each terminal device 230, or may be common to all the terminal devices 230 belonging to the client management system 20.

中継サーバ210は、CPUなどの制御部211と、ROM212と、RAM213と、各種アプリケーションが格納されたHDD214と、外部との通信を行う通信I/F215,216とを備えるコンピュータ(電子計算機)である。通信I/F215は、LAN21に接続するためのインターフェースであり、通信I/F216は、インターネット12に接続するためのインターフェースである。中継サーバ210には、暗号化処理や復号処理を行うアプリケーションや、アプリサーバ15及び端末装置230それぞれとの間で種々のデータや信号を中継するためのアプリケーションがインストールされており、それらのアプリケーションのプログラムはHDD214に格納されている。   The relay server 210 is a computer (electronic computer) that includes a control unit 211 such as a CPU, a ROM 212, a RAM 213, an HDD 214 that stores various applications, and communication I / Fs 215 and 216 that communicate with the outside. . The communication I / F 215 is an interface for connecting to the LAN 21, and the communication I / F 216 is an interface for connecting to the Internet 12. The relay server 210 is installed with applications that perform encryption processing and decryption processing, and applications for relaying various data and signals between the application server 15 and the terminal device 230, respectively. The program is stored in the HDD 214.

本実施形態では、暗号化処理のアプリケーションとして少なくとも次の2種類の暗号化プログラムがHDD214に格納されている。具体的には、第1暗号方式による暗号化を実行するためのプログラムと、第2暗号方式による暗号化を実行するためのプログラムとがHDD214に格納されている。第1暗号方式は、暗号化されたデータに対してソート処理はできないが検索処理は可能とする暗号方式である。第2暗号方式は、暗号化されたデータに対してソート処理及び検索処理を可能とする暗号方式である。これらの暗号化方式は、暗号化する対象に応じて使い分けられている。   In the present embodiment, at least the following two types of encryption programs are stored in the HDD 214 as applications for encryption processing. Specifically, a program for executing encryption by the first encryption method and a program for executing encryption by the second encryption method are stored in the HDD 214. The first encryption method is an encryption method that does not allow sort processing on encrypted data but allows search processing. The second encryption method is an encryption method that enables sort processing and search processing on encrypted data. These encryption methods are properly used according to the object to be encrypted.

上記第1暗号方式は、暗号化対象として入力されたテキストデータ(本発明の文字データに相当)を、全文検索などに用いられる所謂N−gram方式に基づいて連続するN個の文字で構成されるブロックに分割し、分割された各ブロックのテキストデータをAES128CFBモードで暗号化し、暗号化されたテキストデータに対して文字置換処理を行う方式である。一方、上記第2暗号方式は、暗号化対象として入力されたテキストデータを連続するN個の文字で構成されるブロックに分割し、その各ブロックのテキストデータに対して文字置換処理を行う方式である。これらの暗号方式は、日本語で構成された文章のようにわかち書きがされていない文章、つまり、単語間をスペースなどで区切らずに複数の単語を連続して表記する連続表記法で記載された文章のテキストデータに対して暗号化処理が行われる場合に選択される。わかち書きがされていない文章のテキストデータとしては、日本語による文章のテキストデータだけでなく、所謂CJK言語(中国語、日本語、韓国語)やタイ語などで作成され文章のテキストデータが該当する。なお、欧米言語からなる文章のテキストデータに対して暗号化処理が行われる場合は、第1暗号方式及び第2暗号方式とは異なる従来周知の暗号方式(AES等)が選択される。   The first encryption method is composed of N characters that are continuous from text data (corresponding to character data of the present invention) input as an encryption target based on a so-called N-gram method used for full-text search and the like. And the text data of each divided block is encrypted in the AES128CFB mode, and character replacement processing is performed on the encrypted text data. On the other hand, the second encryption method is a method in which text data input as an object of encryption is divided into blocks composed of consecutive N characters, and character replacement processing is performed on the text data of each block. is there. These ciphers were written in Japanese, which is not written like a sentence written in Japanese, that is, in a continuous notation method in which multiple words are written consecutively without separating the words with spaces or the like. This is selected when encryption processing is performed on text data of a sentence. Text data of sentences that are not written is not only text data of sentences in Japanese but also text data of sentences created in so-called CJK languages (Chinese, Japanese, Korean) or Thai. . Note that when encryption processing is performed on text data of texts in Western languages, a conventionally known encryption method (AES or the like) different from the first encryption method and the second encryption method is selected.

以下、図3乃至図10を参照しながら、データ管理システム10で実行される各種の処理手順について説明する。なお、以下の説明では、データ管理システム10において実行される通信(データや信号の送受信)は、国際標準化機構(ISO)や国際電気通信連合(ITU)などによって標準化された通信プロトコルに基づいて行われるものとし、その通信方法の詳細な説明については省略する。また、以下において、暗号化処理及び復号処理を実行する中継サーバ210の制御部211が本発明の暗号化手段及び復号手段に相当する。   Hereinafter, various processing procedures executed in the data management system 10 will be described with reference to FIGS. 3 to 10. In the following description, communication (data and signal transmission / reception) executed in the data management system 10 is performed based on a communication protocol standardized by the International Organization for Standardization (ISO) or the International Telecommunications Union (ITU). Detailed description of the communication method will be omitted. In the following, the control unit 211 of the relay server 210 that executes the encryption process and the decryption process corresponds to the encryption unit and the decryption unit of the present invention.

まず、図3及び図4を用いて、クライアント管理システム20からアプリサーバ15へデータがアップロードされるときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下の実施形態では、データ管理システム10は、各デバイス間の通信接続が確立され、アプリサーバ15によるネットワークサービスで使用されるユーザーインターフェースの一例である入力画面36(図10(B)参照)が端末装置230のモニタ236に表示された状態にあるものとする。また、以下においては、アプリサーバ15のデータ記憶部154(図2参照)に記憶された顧客データに関するデータベース(図10(A)参照)に対して新たな顧客データがアップロードされる例について説明する。また、当該アップロード時にデータ管理システム10で送受信される顧客データは、複数の日本語文字がUTF−8で定義される文字コードで表されたテキストデータとする。   First, an example of a processing procedure executed by the relay server 210 when data is uploaded from the client management system 20 to the application server 15 will be described in detail with reference to FIGS. 3 and 4. In the following embodiment, the data management system 10 has an input screen 36 (see FIG. 10B) that is an example of a user interface that is used in a network service by the application server 15 after establishing communication connection between devices. ) Is displayed on the monitor 236 of the terminal device 230. In the following, an example in which new customer data is uploaded to a database (see FIG. 10A) relating to customer data stored in the data storage unit 154 (see FIG. 2) of the application server 15 will be described. . The customer data transmitted / received by the data management system 10 at the time of uploading is text data in which a plurality of Japanese characters are represented by character codes defined by UTF-8.

利用者が端末装置230からアプリサーバ15へ新たな顧客データをアップロードする場合、まず、利用者は端末装置230を操作することによって、任意の顧客データとともにその顧客データのアップロード要求(本発明の保管要求に相当)を中継サーバ210へ送信する(図3参照)。具体的には、入力画面36(図10(B)参照)に設けられた顧客番号、顧客名称、顧客住所、顧客メモ、登録日などの項目(フィールド又はカラムとも呼ばれる。)の各入力欄に必要な事項が日本語で入力された後に、登録ボタン31が押し操作されると、端末装置230の制御部231は、入力された各項目のデータをUTF−8で定義される3バイト或いは4バイトの文字コードからなるテキストデータに変換して、アプリサーバ15に対するアップロード要求とともに中継サーバ210へ送信する。このとき、端末装置230の識別情報(例えばユーザID)が上記アップロード要求とともに送信される。なお、変換された各項目のデータ(顧客番号、顧客名称、顧客住所、顧客メモ、登録日それぞれの個別データ)はそれぞれが関連付けられた状態でひとまとまりの1件分の顧客データ(以下「レコード」という。)として取り扱われる。   When a user uploads new customer data from the terminal device 230 to the application server 15, first, the user operates the terminal device 230 to request upload of the customer data together with arbitrary customer data (storage of the present invention). (Corresponding to the request) is transmitted to the relay server 210 (see FIG. 3). Specifically, in each input column of items (also referred to as fields or columns) such as a customer number, customer name, customer address, customer memo, and registration date provided on the input screen 36 (see FIG. 10B). When the registration button 31 is pressed after necessary items are input in Japanese, the control unit 231 of the terminal device 230 causes the input data of each item to be 3 bytes or 4 defined by UTF-8. It is converted into text data composed of byte character codes, and transmitted to the relay server 210 together with an upload request to the application server 15. At this time, identification information (for example, user ID) of the terminal device 230 is transmitted together with the upload request. Note that the converted data of each item (customer number, customer name, customer address, customer memo, and individual data for each registration date) is a group of customer data (hereinafter referred to as "record" ").).

なお、UTF−8は、中国語、日本語、韓国語(CJK言語)の文字を表示することが可能であるため、我が国をはじめCJK言語の国では、コンピュータに利用させる文字コードとして多言語用文字コードであるUTF−8が使用されている。   In addition, since UTF-8 can display Chinese, Japanese, and Korean (CJK language) characters, in Japan and other CJK language countries, multilingual character codes can be used by computers. UTF-8, which is a character code, is used.

図4に示されるように、中継サーバ210では、端末装置230からのアップロード要求及び上記レコードが受信されると(S1のYES)、制御部211は、上記アップロード要求に対応する暗号方式を情報管理サーバ220に要求する(S2)。この要求時に、制御部211は、端末装置230の識別情報や、入力されたレコードに含まれるテキストデータの文字種別情報(例えば日本文データか英文データの区別)を情報管理サーバ220に送信する。なお、日本文データか英文データの区別は、使用されている文字コードから識別可能である。   As shown in FIG. 4, when the relay server 210 receives the upload request and the record from the terminal device 230 (YES in S1), the control unit 211 manages the encryption method corresponding to the upload request as information management. A request is made to the server 220 (S2). At the time of this request, the control unit 211 transmits the identification information of the terminal device 230 and the character type information of the text data included in the input record (for example, distinction between Japanese sentence data or English sentence data) to the information management server 220. The distinction between Japanese text data and English text data can be made from the character code used.

情報管理サーバ220では、中継サーバ210からの要求を受けると、制御部221は、アップロード要求に応じた暗号指定情報(暗号方式を指定するためのもの)を基本情報記憶部224から読み出す。具体的には、端末装置230の識別情報や入力されたレコードの文字種別情報に対応する暗号指定情報が基本情報記憶部224内のテーブルデータから読み出される。本実施形態では、入力されたレコードに含まれるテキストデータが日本語であるので、上述した第1暗号方式及び第2暗号方式を指定するための暗号指定情報が読み出され、また、これらの暗号方式に用いられる第1文字置換表及び第2文字置換表が読み出される。その後、その暗号指定情報及び文字置換表が中継サーバ210に送信される。   When the information management server 220 receives a request from the relay server 210, the control unit 221 reads out encryption designation information (for specifying an encryption method) corresponding to the upload request from the basic information storage unit 224. Specifically, the encryption designation information corresponding to the identification information of the terminal device 230 and the character type information of the input record is read from the table data in the basic information storage unit 224. In this embodiment, since the text data included in the input record is Japanese, the encryption designation information for designating the first encryption method and the second encryption method described above is read, and these encryptions are also read. The first character replacement table and the second character replacement table used in the method are read out. Thereafter, the encryption designation information and the character replacement table are transmitted to the relay server 210.

図4に示されるように、中継サーバ210では、情報管理サーバ220から暗号指定情報及び文字置換表が受信されると(S3のYES)、制御部211は、その暗号指定情報が示す暗号方式を特定する(S4)。具体的には、その暗号指定情報が示す上記第1暗号方式及び上記第2暗号方式を特定する。その後、上記レコードに含まれる複数の項目のデータの中から暗号化する対象が特定される(S5)。本実施形態では、上記レコードに含まれる複数の項目のうち、予め定められた顧客メモが第1暗号方式の対象として特定され、予め定められた顧客名称及び顧客住所(以下「顧客名称等」と称する。)が第2暗号方式の対象として特定される。その他の項目(顧客番号、登録日)は秘匿性が低いため、暗号化対象から外される。   As shown in FIG. 4, in the relay server 210, when the encryption designation information and the character replacement table are received from the information management server 220 (YES in S3), the control unit 211 changes the encryption method indicated by the encryption designation information. Specify (S4). Specifically, the first encryption method and the second encryption method indicated by the encryption designation information are specified. Thereafter, a target to be encrypted is specified from among a plurality of items of data included in the record (S5). In the present embodiment, a predetermined customer memo is specified as a target of the first encryption method among a plurality of items included in the record, and a predetermined customer name and customer address (hereinafter referred to as “customer name etc.”). Is specified as a target of the second encryption method. Other items (customer number, registration date) are excluded from encryption targets because of their low confidentiality.

その後、制御部211は、上記レコードのうち、暗号化対象に特定された項目のデータだけを暗号化する(S6)。本実施形態では、顧客メモのデータに対して第1暗号方式に基づく暗号化処理(以下「第1暗号化処理」と称する。)が行われ、顧客名称等のデータに対して第2暗号方式に基づく暗号化処理(以下「第2暗号化処理」と称する。)が行われる。この暗号化処理は、各項目のデータ毎に行われる。   Thereafter, the control unit 211 encrypts only the data of the item specified as the encryption target in the record (S6). In the present embodiment, encryption processing based on the first encryption method (hereinafter referred to as “first encryption processing”) is performed on the customer memo data, and the second encryption method is performed on the data such as the customer name. Is performed (hereinafter referred to as “second encryption process”). This encryption process is performed for each item of data.

顧客メモのデータに対する上記第1暗号化処理は、図9(A)のフローチャートに示される手順にしたがって行われる。具体的には、まず、暗号化対象である顧客メモのテキストデータ(UTF−8に基づいて文字コード化されたもの)が2−gram方式に基づいて連続する2個の文字(X,Y)で構成されるブロックに分割される(S41)。例えば、上記レコードの顧客メモの欄に、「東京都知事選挙に出馬した。」という日本語文章が入力されていた場合は、この文章は、(X,Y)={(東,京)(京,都)(都,知)(知,事)(事,選)(選,挙)(挙,に)(に,出)(出,馬)(馬,し)(し,た)}というように11個のブロックに分割される。以下、これらの各ブロックがUTF−8で表された文字コードをP(X,Y)と表す。   The first encryption process for the customer memo data is performed according to the procedure shown in the flowchart of FIG. Specifically, first, the text data of the customer memo to be encrypted (character data encoded based on UTF-8) is a sequence of two characters (X, Y) based on the 2-gram method. (S41). For example, if a Japanese sentence “I have run for the Tokyo Governor Election” has been entered in the customer memo field of the above record, this sentence will be (X, Y) = {(East, Kyoto) ( (Kyoto, Miyako) (Kyoto, Wisdom) (Kyoto, Things) (Things, Elections) (Elections, Raises) (Earth, Departure) (Departures, Horses) (Horse, Deer) Thus, it is divided into 11 blocks. Hereinafter, a character code in which each of these blocks is represented by UTF-8 is represented as P (X, Y).

次ぎに、制御部211によって、UTF−8で表された文字コードP(X,Y)が、ユニコード16で表される文字コードに変換される(S42)。変換後の文字コード、つまりユニコード16で表された文字コードをP’(X’,Y’)と表す。ユニコード16によれば、1文字が2バイトで表現される。したがって、UTF−8では3又は4バイトの文字コードで表された文字Xは、ユニコード16では2バイトの文字コードで表された文字X’となる。同様に、UTF−8では3又は4バイトの文字コードで表された文字Yは、ユニコード16では2バイトの文字コードで表された文字Y’となる。したがって、P’(X’,Y’)は4バイト(32ビット)で表されることになる。このようにステップS42の変換処理を行うことによって、暗号化後のデータの膨大化を抑制することができる。   Next, the control unit 211 converts the character code P (X, Y) represented by UTF-8 into a character code represented by Unicode 16 (S42). The character code after conversion, that is, the character code represented by Unicode 16 is represented as P '(X', Y '). According to Unicode 16, one character is represented by 2 bytes. Therefore, the character X represented by a 3 or 4-byte character code in UTF-8 is a character X ′ represented by a 2-byte character code in Unicode 16. Similarly, a character Y represented by a 3- or 4-byte character code in UTF-8 is a character Y ′ represented by a 2-byte character code in Unicode 16. Therefore, P ′ (X ′, Y ′) is represented by 4 bytes (32 bits). By performing the conversion process in step S42 in this way, it is possible to suppress an increase in data after encryption.

次ぎに、制御部211によって、変換後のP’(X’,Y’)が整数化される(S43)。ここで、整数化後の数値をQ(X’,Y’)と表す。このQ(X’,Y’)は、X’とY’との排他的論理和(排他的ビット和)により得られた演算値と65535とを乗算し、その演算結果にY’を加算して得られた数値であり、Q(X’,Y’)=(X’^Y’)*65535+Y’の数式により求められる。上記数式において(X’^Y’)は排他的論理和を示す。このように排他的論理和の演算が行われることにより、文字Xと文字Yとの前後位置関係がQ(X’,Y’)からは読み取られ難くなり、暗号化後のデータが容易に解読されなくなる。なお、ステップS43で得られた整数値は4バイト(32ビット)で表示される。つまり、ステップS43の整数化処理によって変換可能な整数値は、0〜232までの65535個の正の整数である。 Next, the converted P ′ (X ′, Y ′) is converted into an integer by the control unit 211 (S43). Here, the numerical value after being converted to an integer is represented as Q 1 (X ′, Y ′). This Q 1 (X ′, Y ′) multiplies the operation value obtained by exclusive OR (exclusive bit sum) of X ′ and Y ′ by 65535 and adds Y ′ to the operation result. It is a numerical value obtained in this way, and is obtained by the mathematical formula of Q 1 (X ′, Y ′) = (X ′ ^ Y ′) * 65535 + Y ′. In the above formula, (X ′ ^ Y ′) indicates exclusive OR. By performing the exclusive OR operation in this way, the positional relationship between the character X and the character Y becomes difficult to read from Q 1 (X ′, Y ′), and the encrypted data can be easily obtained. It will not be deciphered. The integer value obtained in step S43 is displayed in 4 bytes (32 bits). In other words, the integer value can be converted by an integer processing in step S43 is the 65535 positive integer of 0 to 2 32.

続いて、Q(X’,Y’)がAES128CFBモードで暗号化される(S44)。暗号化された4バイトのテキストデータは、次のステップS44において、テキストデータの1バイトずつに対して文字置換処理が行われる(S45)。具体的には、1バイトで表現できる256通りの数値それぞれに対応するように異なる文字や記号が予め定められた第1文字置換表が用意されており、その第1文字置換表に基づいて、上記4バイトのテキストデータの1バイトずつに対して、その1バイトが表す数値に対応する文字等が第1文字置換表から選択されて割り当てられる。 Subsequently, Q 1 (X ′, Y ′) is encrypted in the AES128CFB mode (S44). In the next step S44, the encrypted 4-byte text data is subjected to character replacement processing for each byte of the text data (S45). Specifically, a first character substitution table is prepared in which different characters and symbols are predetermined so as to correspond to each of 256 numerical values that can be expressed in one byte, and based on the first character substitution table, For each byte of the 4-byte text data, a character or the like corresponding to the numerical value represented by the 1 byte is selected from the first character replacement table and assigned.

そして、ステップS41で分割された全てのブロックに対して文字置換処理が終了すると(S46のYES)、隣接するブロックに対応するテキストデータが連結されて一つの暗号データ(本発明の暗号データに相当)が生成される(S47)。このようにして生成された暗号データは、元の「東京都知事選挙に出馬した。」という文章のテキストデータとはなっておらず、文字置換された理解不明な文字列となっている。   When the character replacement process is completed for all the blocks divided in step S41 (YES in S46), the text data corresponding to the adjacent blocks is connected to one encrypted data (corresponding to the encrypted data of the present invention). ) Is generated (S47). The encrypted data generated in this way is not the text data of the original sentence “I have run for the Tokyo Governor Election.”, But is an unknown character string with character replacement.

顧客名称等のデータに対する第2暗号化処理は、図9(B)のフローチャートに示される手順にしたがって行われる。具体的には、まず、上述したステップS41及びS42と同様にして、制御部211によって、暗号化対象の項目のテキストデータ(UTF−8に基づいて文字コード化されたもの)が2−gram方式に基づいて連続する2個の文字(X,Y)で構成されるブロックに分割され(S51)、その後、UTF−8で表された文字コードP(X,Y)が、ユニコード16で表される文字コードP’(X’,Y’)に変換される(S52)。   The second encryption process for data such as a customer name is performed according to the procedure shown in the flowchart of FIG. Specifically, first, similarly to steps S41 and S42 described above, the control unit 211 converts the text data of the item to be encrypted (character-coded based on UTF-8) into the 2-gram method. Is divided into blocks composed of two consecutive characters (X, Y) (S51), and then the character code P (X, Y) represented by UTF-8 is represented by Unicode 16. Character code P ′ (X ′, Y ′) is converted (S52).

次ぎに、制御部211によって、変換後のP’(X’,Y’)が整数化される(S53)。ここで、整数化後の数値をQ(X’,Y’)と表す。このQ(X’,Y’)は、X’に65535を乗じて得られた値にY’を加算して得られた数値であり、Q(X’,Y’)=65535*X’+Y’の数式により求められる。なお、ステップS53で得られた整数値は4バイト(32ビット)で表示される。 Next, P ′ (X ′, Y ′) after conversion is converted into an integer by the control unit 211 (S53). Here, the numerical value after the integerization is expressed as Q 2 (X ′, Y ′). This Q 2 (X ′, Y ′) is a numerical value obtained by adding Y ′ to a value obtained by multiplying X ′ by 65535, and Q 2 (X ′, Y ′) = 65535 * X It is calculated | required by numerical formula of '+ Y'. The integer value obtained in step S53 is displayed in 4 bytes (32 bits).

続いて、Q(X’,Y’)の4バイトのテキストデータは、そのテキストデータの1バイトずつに対して文字置換処理が行われる(S54)。具体的には、1バイトで表現できる256通りの数値それぞれに対応するように異なる文字や記号が予め定められた第2文字置換表(表1参照)が用意されており、その第2文字置換表に基づいて、上記4バイトのテキストデータの1バイトずつに対して、その1バイトが表す数値に対応する文字等が第2文字置換表から選択されて割り当てられる。なお、第2文字置換表は、表1に示されるように、文字コードが示す数値が小さいものから順に0〜255の番号が割り当てられている。その順番に対応するように文字が割り当てられるので、Q(X’,Y’)に対して文字置換処理が行われても、文字Xと文字Yとの前後位置関係が置換後のテキストデータから読み取れるようになっている。 Subsequently, for the 4-byte text data of Q 2 (X ′, Y ′), a character replacement process is performed for each byte of the text data (S54). Specifically, a second character substitution table (see Table 1) in which different characters and symbols are determined in advance so as to correspond to each of 256 numerical values that can be expressed in one byte is prepared. Based on the table, for each byte of the 4-byte text data, a character or the like corresponding to the numerical value represented by the one byte is selected from the second character replacement table and assigned. In the second character replacement table, as shown in Table 1, numbers 0 to 255 are assigned in order from the smallest numerical value indicated by the character code. Since the characters are assigned so as to correspond to the order, even if the character replacement process is performed on Q 2 (X ′, Y ′), the text data after the replacement of the positional relationship between the characters X and Y is replaced. It can be read from.

Figure 0005307199
Figure 0005307199

その後、ステップS51で分割された全てのブロックに対して文字置換処理が終了すると(S55のYES)、隣接するブロックに対応するテキストデータが連結されて一つの暗号データ(本発明の暗号データに相当)が生成される(S56)。このようにして生成されたテキストデータは、元の文章とは異なる理解不明な文字列となっている。   Thereafter, when the character replacement process is completed for all the blocks divided in step S51 (YES in S55), the text data corresponding to the adjacent blocks is connected to one encrypted data (corresponding to the encrypted data of the present invention). ) Is generated (S56). The text data generated in this way is an unknown character string that is different from the original sentence.

上記レコードにおける全ての暗号化対象(顧客名称、顧客住所、顧客メモ)のデータが暗号化されると、暗号化前のレコードと同様の関連性を各項目のデータ間に付与され、これらの各データそれぞれが関連付けられた状態でひとまとまりの1件のレコードとして取り扱われる。なお、このときに、第1暗号化対象の顧客メモの暗号データの前後に識別子としてプレフィックス(Prefix)及びサフィックス(Suffix)を付加し、また、第2暗号化対象の顧客名称及び顧客住所の暗号データそれぞれの前後に別の識別子としてプレフィックス及びサフィックスを付加してもよい。これにより、中継サーバ210は、アプリサーバ15から暗号化されたレコードが送られてきたときに、第1暗号化対象の項目と第2暗号化対象の項目とを容易に識別することが可能となる。   When all the data to be encrypted (customer name, customer address, customer memo) in the above record is encrypted, the same relationship as the record before encryption is given between the data of each item. Each piece of data is handled as a single record as a group. At this time, a prefix (Prefix) and a suffix (Suffix) are added as identifiers before and after the encrypted data of the customer memo to be encrypted first, and the encryption of the customer name and customer address to be encrypted second. A prefix and a suffix may be added as separate identifiers before and after each data. Thereby, the relay server 210 can easily identify the first encryption target item and the second encryption target item when the encrypted record is sent from the application server 15. Become.

図4に示されるステップS6の暗号化処理が終了すると、暗号化後の上記レコードがアップロード要求とともに中継サーバ210からインターネット12を経てアプリサーバ15に送信される(S7)。このときに送信されるレコードは、SSL(Secure Socket Layer)方式により更に暗号化されてもよく、また、SSLによる暗号がされないままアプリサーバ15に送信されてもよい。なお、ステップS1〜S7の一連の処理が本発明の第1ステップに相当する。   When the encryption process in step S6 shown in FIG. 4 is completed, the encrypted record is transmitted from the relay server 210 to the application server 15 via the Internet 12 together with the upload request (S7). The record transmitted at this time may be further encrypted by an SSL (Secure Socket Layer) method, or may be transmitted to the application server 15 without being encrypted by SSL. Note that a series of steps S1 to S7 corresponds to the first step of the present invention.

アプリサーバ15では、暗号化後のレコードを受信すると、制御部151は、そのレコードをデータ記憶部154に格納する(本発明の第2ステップに相当)。その後、アップロード完了通知がアプリサーバ15から中継サーバ210に送信される。中継サーバ210は、このアップロード完了通知を受信すると(S8のYES)、そのアップロード完了通知を端末装置230に送信する(S9)。   When the application server 15 receives the encrypted record, the control unit 151 stores the record in the data storage unit 154 (corresponding to the second step of the present invention). Thereafter, an upload completion notification is transmitted from the application server 15 to the relay server 210. When the relay server 210 receives the upload completion notification (YES in S8), the relay server 210 transmits the upload completion notification to the terminal device 230 (S9).

次に、図5及び図6を用いて、クライアント管理システム20からアプリサーバ15に対してデータ検索の要求がされたときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下においては、アプリサーバ15によるネットワークサービスで使用されるユーザーインターフェースの一例である検索画面37(図10(C)参照)が端末装置230のモニタ236に表示された状態にあるものとする。   Next, an example of a processing procedure executed by the relay server 210 when a data search request is issued from the client management system 20 to the application server 15 will be described in detail with reference to FIGS. 5 and 6. In the following, it is assumed that a search screen 37 (see FIG. 10C), which is an example of a user interface used in the network service by the application server 15, is displayed on the monitor 236 of the terminal device 230. .

利用者が端末装置230からアプリサーバ15に対してデータ検索を行う場合、まず、利用者は端末装置230を操作することによって、検索キーワード(本発明の検索キーワードに相当)とともに検索要求を中継サーバ210へ送信する(図5参照)。具体的には、図10(C)に示される検索画面37において、顧客名称、顧客住所、顧客メモのいずれかの項目の入力欄に検索キーワードが入力された後に、検査ボタン32が押し操作されると、端末装置230の制御部231は、入力された検索キーワードとアプリサーバ15に対する検索要求とを中継サーバ210へ送信する。   When a user performs a data search from the terminal device 230 to the application server 15, first, the user operates the terminal device 230 to relay a search request together with a search keyword (corresponding to the search keyword of the present invention). It transmits to 210 (refer FIG. 5). Specifically, on the search screen 37 shown in FIG. 10C, after the search keyword is input in the input field of any of the customer name, customer address, and customer memo, the inspection button 32 is pressed and operated. Then, the control unit 231 of the terminal device 230 transmits the input search keyword and the search request for the application server 15 to the relay server 210.

図6に示されるように、中継サーバ210では、端末装置230からの検索要求及び検索キーワードが受信されると(S31のYES)、制御部211は、上記検索要求に対応する暗号方式を情報管理サーバ220に要求する(S32)。この要求時に、制御部211は、端末装置230の識別情報(例えばユーザID)や、入力された検索キーワードの文字種別情報(例えば日本文データか英文データの区別)を情報管理サーバ220に送信する。   As shown in FIG. 6, when the relay server 210 receives the search request and the search keyword from the terminal device 230 (YES in S31), the control unit 211 manages the encryption method corresponding to the search request as information management. A request is made to the server 220 (S32). At the time of this request, the control unit 211 transmits the identification information (for example, user ID) of the terminal device 230 and the character type information of the input search keyword (for example, discrimination between Japanese sentence data or English sentence data) to the information management server 220. .

情報管理サーバ220では、中継サーバ210からの要求を受けると、制御部221は、検索要求に応じた暗号指定情報を基本情報記憶部224から読み出す。具体的には、端末装置230の識別情報や検索キーワードの文字種別情報に対応する暗号指定情報が基本情報記憶部224内のテーブルデータから読み出される。本実施形態では、入力された検索キーワードの文字種が日本語であると仮定する。この場合、上述した第1暗号方式及び第2暗号方式を指定するための暗号指定情報が読み出され、また、これらの暗号方式に用いられる第1文字置換表及び第2文字置換表が読み出される。その後、その暗号指定情報及び文字置換表が中継サーバ210に送信される。   When the information management server 220 receives a request from the relay server 210, the control unit 221 reads encryption designation information corresponding to the search request from the basic information storage unit 224. Specifically, the encryption designation information corresponding to the identification information of the terminal device 230 and the character type information of the search keyword is read from the table data in the basic information storage unit 224. In this embodiment, it is assumed that the character type of the input search keyword is Japanese. In this case, the encryption designation information for designating the first encryption method and the second encryption method is read, and the first character substitution table and the second character substitution table used for these encryption methods are read. . Thereafter, the encryption designation information and the character replacement table are transmitted to the relay server 210.

図6に示されるように、中継サーバ210では、情報管理サーバ220から暗号指定情報及び文字置換表が受信されると(S33のYES)、制御部211は、その暗号指定情報が示す上記第1暗号方式及び上記第2暗号方式を特定し(S34)、その後、検索キーワードを暗号化する(S35)。本実施形態では、顧客メモの欄に入力された検索キーワードは第1暗号方式にしたがって暗号化され、顧客名称及び顧客住所の欄に入力された検索キーワードは第2暗号方式にしたがって暗号化される。ここでの暗号化は、上記ステップS6で説明した暗号化と同じであり、図9に示される手順と同様であるので、ここでの説明は省略する。   As shown in FIG. 6, when the relay server 210 receives the encryption designation information and the character replacement table from the information management server 220 (YES in S33), the control unit 211 displays the first information indicated by the encryption designation information. The encryption method and the second encryption method are specified (S34), and then the search keyword is encrypted (S35). In this embodiment, the search keyword input in the customer memo column is encrypted according to the first encryption method, and the search keyword input in the customer name and customer address column is encrypted according to the second encryption method. . The encryption here is the same as the encryption described in step S6 above, and is the same as the procedure shown in FIG.

暗号化が終わると、図6に示されるように、暗号化された検索キーワード(以下「暗号キーワード」という。本発明の暗号キーワードに相当。)が検索要求とともに中継サーバ210からインターネット12を経てアプリサーバ15に送信される(S36)。なお、ステップS31〜S36の一連の処理が本発明の第3ステップに相当する。   When the encryption is completed, as shown in FIG. 6, an encrypted search keyword (hereinafter referred to as “encryption keyword”, which corresponds to the encryption keyword of the present invention) is sent from the relay server 210 to the application via the Internet 12 together with the search request. It is transmitted to the server 15 (S36). Note that a series of processing in steps S31 to S36 corresponds to the third step of the present invention.

アプリサーバ15では、暗号キーワードを受信すると、制御部151は、その暗号キーワードとデータ記憶部154(図2参照)内のデータベースとを照合して、暗号キーワードを含む暗号データを検索する(図5参照)。そして、検索によって暗号データが存在する場合は、その暗号データを含むレコードが中継サーバ210へ送信される(本発明の第4ステップに相当)。   In the application server 15, when the encryption keyword is received, the control unit 151 compares the encryption keyword with a database in the data storage unit 154 (see FIG. 2) and searches for encryption data including the encryption keyword (FIG. 5). reference). If the encrypted data exists by the search, a record including the encrypted data is transmitted to the relay server 210 (corresponding to the fourth step of the present invention).

図6に示されるように、中継サーバ210では、検索結果として上記レコードが受信されると(S37のYES)、受信したレコードの各項目の暗号データが制御部211によって復号される(S381)。このステップS38及びS381の処理が本発明の第5ステップに相当する。制御部211は、ステップS381の復号処理を実行する前に、レコードの各データの前後に上記識別子(プレフィックス及びサフィックス)があると判断した場合は、その識別子に応じた暗号化方式を各データごとに特定する。そして、その特定された暗号化方式の逆手順にしたがって各項目の暗号データが復号される。なお、この復号処理の具体的手法については、上記ステップS6の暗号化の逆手順であるため、ここでの説明は省略する。その後、復号されたオリジナルの各データを含むオリジナルのレコードが端末装置230に送信されて(S382)、端末装置230のモニタ236に表示される。   As shown in FIG. 6, in the relay server 210, when the record is received as a search result (YES in S37), the encrypted data of each item of the received record is decrypted by the control unit 211 (S381). The processes in steps S38 and S381 correspond to the fifth step of the present invention. If the control unit 211 determines that there is the identifier (prefix and suffix) before and after each data in the record before executing the decryption process in step S381, the control unit 211 changes the encryption method corresponding to the identifier for each data. To be specific. Then, the encrypted data of each item is decrypted according to the reverse procedure of the specified encryption method. Note that the specific method of the decryption process is the reverse procedure of the encryption in step S6, and thus the description thereof is omitted here. Thereafter, an original record including the decrypted original data is transmitted to the terminal device 230 (S382) and displayed on the monitor 236 of the terminal device 230.

一方、検索結果として上記レコードが受信されず(S37のNO)、アプリサーバ15から検索無し(ヒット無し)を意味する信号が受信されると(S391のYES)、その検索無しを示す信号が端末装置230に送信されて(S392)、端末装置230のモニタ236に検索無しのメッセージ情報が表示される。   On the other hand, if the record is not received as a search result (NO in S37) and a signal indicating no search (no hit) is received from the application server 15 (YES in S391), a signal indicating no search is sent to the terminal. The information is transmitted to the device 230 (S392), and message information without search is displayed on the monitor 236 of the terminal device 230.

次ぎに、図7及び図8を用いて、クライアント管理システム20からアプリサーバ15に対して顧客リスト(図10(A)参照)のソート(並べ替え)要求がされたときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下においては、図10(A)に示されるように顧客番号について昇順で並べられた顧客データが端末装置230のモニタ236にユーザーインターフェースとして表示された状態にあるものとする。   Next, using FIG. 7 and FIG. 8, when the client management system 20 requests the application server 15 to sort the customer list (see FIG. 10A), the relay server 210 executes it. An example of the processing procedure to be performed will be described in detail. In the following, it is assumed that customer data arranged in ascending order for customer numbers as shown in FIG. 10A is displayed on the monitor 236 of the terminal device 230 as a user interface.

利用者が端末装置230からアプリサーバ15に対してソート要求を出す場合、まず、利用者は端末装置230を操作することによって、ソート対象の項目(ソート項目)とともにソート要求を中継サーバ210へ送信する(図7参照)。具体的には、図10(A)に示される顧客リスト画面38において、顧客名称、顧客住所、登録日の各項目欄に設けられた上向き三角形状のキー33(33A,33B,33C)のいずれか、又は、顧客名称、顧客住所、登録日の各項目欄に設けられた下向き三角形状のキー34(34A,34B,34C)のいずれかが押し操作されると、端末装置230の制御部231は、押し操作された項目を示す項目情報とアプリサーバ15に対するソート要求とを中継サーバ210へ送信する(図7参照)。なお、キー33が押されると、その項目を昇順でソートする要求が送信され、キー34が押されると、その項目を降順でソートする要求が送信される。   When a user issues a sort request from the terminal device 230 to the application server 15, first, the user operates the terminal device 230 to transmit a sort request together with items to be sorted (sort items) to the relay server 210. (See FIG. 7). Specifically, in the customer list screen 38 shown in FIG. 10A, any of the upward triangular keys 33 (33A, 33B, 33C) provided in the item columns of the customer name, customer address, and registration date. Or, when any of the downward triangular keys 34 (34A, 34B, 34C) provided in the item columns of the customer name, customer address, and registration date is pressed, the control unit 231 of the terminal device 230 is operated. Transmits the item information indicating the pushed item and the sort request to the application server 15 to the relay server 210 (see FIG. 7). When the key 33 is pressed, a request for sorting the items in ascending order is transmitted. When the key 34 is pressed, a request for sorting the items in descending order is transmitted.

図8に示されるように、中継サーバ210では、端末装置230からのソート要求及び上記項目情報が受信されると(S62のYES)、制御部211は、受信した上記ソート要求及び項目情報をただちにアプリサーバ15へ転送する(S62)。   As shown in FIG. 8, when the relay server 210 receives the sort request and the item information from the terminal device 230 (YES in S62), the control unit 211 immediately receives the received sort request and item information. Transfer to the application server 15 (S62).

アプリサーバ15では、中継サーバ210からの要求を受けると、制御部151は、項目情報によって指定された項目(以下「指定項目」という。)について降順又は昇順でソートをし、その後、ソートされた順番及び上記指定項目を示す情報とともに、データ記憶部154内で検索対象となった全てのレコードが中継サーバ210へ送信される(図7参照)。   In the application server 15, upon receiving a request from the relay server 210, the control unit 151 sorts items specified by the item information (hereinafter referred to as “designated items”) in descending or ascending order, and then sorts them. Along with the information indicating the order and the specified items, all the records to be searched in the data storage unit 154 are transmitted to the relay server 210 (see FIG. 7).

図8に示されるように、中継サーバ210では、ソート結果として全てのレコードが受信されると(S63のYES)、受信したレコードに含まれる暗号データが制御部211によって復号される(S64)。なお、この復号の具体的手法については、上記ステップS6の暗号化の逆手順であるため、ここでの説明は省略する。その後、復号されたオリジナルのレコードとソート順序を示す情報とが端末装置230に送信される(S65)。そして、端末装置230では、ソート結果として上記ソート順にソートされた顧客リストが作成されて、その顧客リストがモニタ236に表示される(図7参照)。   As shown in FIG. 8, in the relay server 210, when all the records are received as the sorting result (YES in S63), the encrypted data included in the received record is decrypted by the control unit 211 (S64). Note that the specific method of the decryption is the reverse procedure of the encryption in step S6, and thus the description thereof is omitted here. Thereafter, the decrypted original record and the information indicating the sort order are transmitted to the terminal device 230 (S65). Then, in the terminal device 230, a customer list sorted in the sort order is created as a sorting result, and the customer list is displayed on the monitor 236 (see FIG. 7).

上述したように、本実施形態では、クライアント管理システム20からアプリサーバ15に新たな顧客データを保存(アップデート)する場合に、クライアント管理システム20の中継サーバ210で顧客データが暗号化され、その暗号データがアプリサーバ15に送信されて保存される。このため、仮にアプリサーバ15内のデータが漏洩しても、そのデータは暗号化されたものであるため、秘匿性の高い顧客データの内容が外部に知られることはない。また、データの暗号化及び復号が中継サーバ210で行われるため、SaaS事業者の管理下にあるアプリサーバ15のファームウェアやシステムはそのままで、本発明をデータ管理システム10で実現することができる。つまり、クライアント管理システム20の管理者(アプリサーバ15の利用者)は、アプリサーバ15を管理するASP事業者にアプリサーバ15のファームウェアなどを変更してもらわなくても、本発明によって、データセキュリティ性の高いデータサーバシステムを容易に構築することができる。   As described above, in this embodiment, when new customer data is stored (updated) from the client management system 20 to the application server 15, the customer data is encrypted by the relay server 210 of the client management system 20, and the encryption is performed. Data is transmitted to the application server 15 and stored. For this reason, even if data in the application server 15 is leaked, the data is encrypted, so that the content of highly confidential customer data is not disclosed to the outside. Further, since the data encryption and decryption are performed by the relay server 210, the present invention can be realized by the data management system 10 without changing the firmware and the system of the application server 15 under the management of the SaaS provider. That is, even if the administrator of the client management system 20 (the user of the application server 15) does not have the ASP operator who manages the application server 15 change the firmware of the application server 15, the data security according to the present invention. A highly reliable data server system can be easily constructed.

また、アプリサーバ15内で暗号データが復号されることなく検索処理が行われ、その検索結果が中継サーバ210で復号されるため、アプリサーバ15からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。   In addition, the search process is performed without decrypting the encrypted data in the application server 15, and the search result is decrypted by the relay server 210. Therefore, the data is encrypted while preventing leakage of data from the application server 15. It is possible to realize a search function that uses the data as a search target.

また、ソート対象の項目のデータは第2暗号方式によって暗号化されるので、アプリサーバ15内のデータベースは暗号化された状態でソート可能である。これにより、アプリサーバ15内で暗号データが復号されることなくソート処理が行われ、そのソート結果が中継サーバ210で復号されるため、アプリサーバ15からのデータの漏洩を防止しつつ、暗号化されたデータをソート対象とするソート機能を実現することが可能となる。   Moreover, since the data of the item to be sorted is encrypted by the second encryption method, the database in the application server 15 can be sorted in an encrypted state. As a result, the sort process is performed without decrypting the encrypted data in the application server 15, and the sort result is decrypted by the relay server 210. Therefore, the data is encrypted while preventing leakage of data from the application server 15. It is possible to realize a sorting function for sorting the processed data.

なお、上述の実施形態では、クライアント管理システム20がLAN21を介して中継サーバ210、情報管理サーバ220及び端末装置230を接続する構成となっているが、このような接続構成に限られない。例えば、端末装置230がインターネット12に接続されて、インターネット21を通じて中継サーバ210にアクセスするような接続構成であってもよい。また、端末装置230だけでなく、情報管理サーバ220もインターネット12を通じて中継サーバ210と通信可能な接続構成であってもよい。このような接続構成についても本発明は適用可能である。   In the above-described embodiment, the client management system 20 is configured to connect the relay server 210, the information management server 220, and the terminal device 230 via the LAN 21, but is not limited to such a connection configuration. For example, a connection configuration in which the terminal device 230 is connected to the Internet 12 and accesses the relay server 210 through the Internet 21 may be used. Further, not only the terminal device 230 but also the information management server 220 may have a connection configuration capable of communicating with the relay server 210 through the Internet 12. The present invention can also be applied to such a connection configuration.

また、上述の実施形態では、ステップS41において、暗号化対象の文字データを2−gram方式に基づいて連続する2個の文字(X,Y)で構成されるブロックに分割することとしたが、3−gram方式に基づいて3個の文字に分割してもよく、4−gram方式に基づいて4個の文字に分割してもよい。   In the above embodiment, in step S41, the character data to be encrypted is divided into blocks composed of two consecutive characters (X, Y) based on the 2-gram method. The character may be divided into three characters based on the 3-gram method, or may be divided into four characters based on the 4-gram method.

10:データ管理システム
12:インターネット
15:アプリケーションサーバ
20:クライアント管理システム
21:LAN
36:入力画面
37:検索画面
38:顧客リスト画面
210:中継サーバ
220:情報管理サーバ
230:端末装置
10: Data management system 12: Internet 15: Application server 20: Client management system 21: LAN
36: Input screen 37: Search screen 38: Customer list screen 210: Relay server 220: Information management server 230: Terminal device

Claims (3)

第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システムであって、
上記データ処理装置は、
単語間を区切らずに表記する連続表記法によって表された複数の文字からなる文字データをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化する暗号化手段と、
上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段と、を有し、
少なくとも上記文字データを含む保管対象データに対する保管要求が入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信するよう構成されており、
上記サーバ装置は、
上記データ処理装置から上記暗号データを受信した場合に該暗号データを予め定められた記憶装置に格納するよう構成されているデータ管理システム。
A data management system in which a data processing device managed by a first administrator and a server device managed by a second administrator different from the first administrator are connected to be communicable via a network. And
The data processing device
Character data composed of a plurality of characters represented by a continuous notation method that expresses without separating words is divided into a plurality of blocks composed of consecutive N characters based on the N-gram method, and encryption means for encrypting,
Decrypting means for decrypting the character data encrypted by the encrypting means by a procedure reverse to the encryption of the encrypting means,
When a storage request for storage target data including at least the character data is input, the encryption unit encrypts the character data included in the storage target data to generate encryption data, and the encryption data is stored in the server device. Is configured to send to
The server device is
A data management system configured to store the encrypted data in a predetermined storage device when the encrypted data is received from the data processing device.
上記データ処理装置は、
検索キーワードが入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信し、
上記サーバ装置から上記暗号キーワードに応じた暗号データを検索結果として受信した場合に該暗号データを上記復号手段に復号させるものであり、
上記サーバ装置は、
上記データ処理装置から上記暗号キーワードを受信した場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信するものである請求項1に記載のデータ管理システム。
The data processing device
When a search keyword is input, the encryption means encrypts the search keyword to generate an encryption keyword, and transmits the encryption keyword to the server device.
When the encryption data corresponding to the encryption keyword is received as a search result from the server device, the encryption data is decrypted by the decryption means,
The server device is
When the encryption keyword is received from the data processing device, the encryption data corresponding to the encryption keyword is searched from the storage device, and the searched encryption data is transmitted to the data processing device as a search result. The data management system according to claim 1 .
第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システムに適用されるデータ管理方法であって、
単語間を区切らずに表記する連続表記法によって表された複数の文字からなる文字データを含む保管対象データに対する保管要求が上記データ処理装置に入力された場合に、上記文字データをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化して暗号データを生成して該暗号データを上記サーバ装置に送信する第1ステップと、
上記データ処理装置から送信された上記暗号データが上記サーバ装置で受信された場合に該暗号データを予め定められた記憶装置に格納する第2ステップと、
検索キーワードが上記データ処理装置に入力された場合に該検索キーワードをN−gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化して暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信する第3ステップと、
上記データ処理装置から送信された上記暗号キーワードが上記サーバ装置で受信された場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信する第4ステップと、
上記サーバ装置から送信された上記暗号データが上記検索結果として上記データ処理装置で受信された場合に該暗号データを上記第1ステップにおける暗号化とは逆の手順で復号する第5ステップと、を備えるデータ管理方法。
A data processing device which is managed by the first manager, the communicatively connected data management system via a network and a server device managed by a different second administrator with the first manager An applied data management method,
When a storage request for storage target data including character data composed of a plurality of characters expressed by a continuous notation notating between words is input to the data processing device, the character data is converted into an N-gram method. A first step of decomposing the block into a plurality of blocks composed of consecutive N characters, encrypting each block to generate encrypted data, and transmitting the encrypted data to the server device;
A second step of storing the encrypted data in a predetermined storage device when the encrypted data transmitted from the data processing device is received by the server device;
Searches decomposes the query into a plurality of blocks composed of N consecutive characters based on N-gram scheme when it is input to the data processing apparatus, cryptographic keywords to encrypt each of blocks A third step of generating the encryption keyword and transmitting the encryption keyword to the server device;
When the encryption keyword transmitted from the data processing device is received by the server device, the encryption data corresponding to the encryption keyword is retrieved from the storage device, and the retrieved encryption data is used as a retrieval result to retrieve the data. A fourth step of transmitting to the processing device;
A fifth step of decrypting the encrypted data in a procedure reverse to the encryption in the first step when the encrypted data transmitted from the server device is received by the data processing device as the search result; Data management method provided.
JP2011156583A 2011-07-15 2011-07-15 Data management system and data management method Active JP5307199B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011156583A JP5307199B2 (en) 2011-07-15 2011-07-15 Data management system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011156583A JP5307199B2 (en) 2011-07-15 2011-07-15 Data management system and data management method

Publications (2)

Publication Number Publication Date
JP2013025361A JP2013025361A (en) 2013-02-04
JP5307199B2 true JP5307199B2 (en) 2013-10-02

Family

ID=47783685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011156583A Active JP5307199B2 (en) 2011-07-15 2011-07-15 Data management system and data management method

Country Status (1)

Country Link
JP (1) JP5307199B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015090993A (en) * 2013-11-05 2015-05-11 エヌ・ティ・ティ・ソフトウェア株式会社 Encryption control device, encryption control method and program
CN106411521B (en) * 2015-07-31 2020-02-18 阿里巴巴集团控股有限公司 Identity authentication method, device and system for quantum key distribution process
EP3392865B1 (en) * 2016-01-15 2021-06-02 Mitsubishi Electric Corporation Encryption device, encryption method, and encryption program
EP3438846B1 (en) 2016-03-28 2022-07-20 Hitachi, Ltd. Database system and data retrieval system
CN107526961B (en) * 2017-08-28 2021-03-16 郑州云海信息技术有限公司 Method and device for changing network parameters and user passwords of server
CN116566714A (en) * 2023-05-29 2023-08-08 深圳感臻智能股份有限公司 Intelligent house data transmission method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278970A (en) * 2001-03-16 2002-09-27 Ricoh Co Ltd Document managing system
JP2003178070A (en) * 2001-12-12 2003-06-27 Canon Inc Information retrieving device
JP2007272539A (en) * 2006-03-31 2007-10-18 Ns Solutions Corp Security device and application server system
CN101593196B (en) * 2008-05-30 2013-09-25 日电(中国)有限公司 Method, device and system for rapidly searching ciphertext

Also Published As

Publication number Publication date
JP2013025361A (en) 2013-02-04

Similar Documents

Publication Publication Date Title
US10097522B2 (en) Encrypted query-based access to data
US10021078B2 (en) System, apparatus and method for encryption and decryption of data transmitted over a network
CN107209787B (en) Improving searching ability of special encrypted data
JP5307199B2 (en) Data management system and data management method
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US11921883B2 (en) Contact discovery service with privacy aspect
US11941583B1 (en) Intelligent employment-based blockchain
CN102782692A (en) System, apparatus and method for encryption and decryption of data transmitted over a network
US10216940B2 (en) Systems, methods, apparatuses, and computer program products for truncated, encrypted searching of encrypted identifiers
WO2014141802A1 (en) Information processing device, information processing system, information processing method, and program
CN116383867A (en) Data query method, device, electronic equipment and computer readable medium
US11295635B2 (en) Data processing system and data processing method
CN112134882A (en) System and method for anonymously transferring data in a network
JP2015090993A (en) Encryption control device, encryption control method and program
JP2006189925A (en) Private information management system, private information management program, and private information protection method
JP5956092B1 (en) Server apparatus, information management system, information management method, and computer program
JP2012247882A (en) Matching system for information
RU2791954C1 (en) A method, system and machine-readable medium for filing anonymous corporate complaints
JP7176140B1 (en) Program, information processing device, information processing method
KR20230124206A (en) Document management service server for managing document files based on location information, and the operating method thereof
WO2024070290A1 (en) Data sharing system, data sharing method, and data sharing program
JP5344166B2 (en) Document management system, document management method, and program
JP2017085521A (en) Secret information management system
JP2024055413A (en) Electronic contract program, information processing device, information processing system manufacturing method, and information processing method
JP2024057139A (en) Electronic contract program, information processing device, information processing system manufacturing method, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20121213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130626

R150 Certificate of patent or registration of utility model

Ref document number: 5307199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250