"第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システムであって、上記データ処理装置は、複数の文字からなる文字データを暗号化する暗号化手段と、上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段と、を有し、少なくとも上記文字データを含む保管対象データに対する保管要求が入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信するよう構成されており、上記サーバ装置は、上記データ処理装置から上記暗号データを受信した場合に該暗号データを予め定められた記憶装置に格納するよう構成されているデータ管理システム。上記文字データは、単語間を区切らずに表記する連続表記法によって表されたものであり、上記暗号化手段は、上記保管対象データに含まれる文字データをN-gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化するものである請求項1に記載のデータ管理システム。上記データ処理装置は、検索キーワードが入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信し、上記サーバ装置から上記暗号キーワードに応じた暗号データを検索結果として受信した場合に該暗号データを上記復号手段に復号させるものであり、上記サーバ装置は、上記データ処理装置から上記暗号キーワードを受信した場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信するものである請求項1又は2に記載のデータ管理システム。上記暗号化手段は、上記保管対象データに含まれる文字データをN-gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれをを整数化処理した後に、整数化処理後のデータに示される数値を予め定めされた文字置換テーブルに基づいて特定された文字に置換するものであり、上記データ処理装置は、上記サーバ装置から暗号データを受信した場合に該暗号データを上記復号手段に復号させるものであり、上記サーバ装置は、予め定められた項目に対するソート要求に基づいて該項目に属する暗号データを所定のソート順序となるようにソートして、ソート後の順序を示すソート順序情報と共に暗号データを上記データ処理装置に送信するものである請求項1又は2に記載のデータ管理システム。第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されており、複数の文字からなる文字データを暗号化する暗号化手段及び上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段が上記データ処理装置に設けられたデータ管理システムに適用されるデータ管理方法であって、少なくとも上記文字データを含む保管対象データに対する保管要求が上記データ処理装置に入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信する第1ステップと、上記データ処理装置から送信された上記暗号データが上記サーバ装置で受信された場合に該暗号データを予め定められた記憶装置に格納する第2ステップと、検索キーワードが上記データ処理装置に入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信する第3ステップと、上記データ処理装置から送信された上記暗号キーワードが上記サーバ装置で受信された場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信する第4ステップと、上記サーバ装置から送信された上記暗号データが上記検索結果として上記データ処理装置で受信された場合に該暗号データを上記復号手段に復号させる第5ステップと、を備えるデータ管理方法。ところで、上記ネットワークサービスの利用者は、国外に設置されたネットワークサーバを利用する場合であっても、そのネットワークサーバが保管する利用者自身のデータを自由に取り扱うことが可能である。しかしながら、各国における法律の改正や社会情勢の変化などによって上記ネットワークサーバの管理体制が変化して、利用者自身のデータにもかかわらずデータの読み出しが制限されたり、場合によってはデータがインターネット上に漏出されたり、データが消去されたりといった不測の事態が発生するおそれがある。また、社会情勢の変化にともないネットワークサーバの管理者のモラルが低下すると、利用者のデータが管理者によって不当に開示されるという問題も生じ得る。このような問題に対しては、事前に暗号化されたデータをネットワークサーバに保管させる方法が有効である。例えば、特許文献1には、暗号化されたデータ及び索引情報がネットワークサーバに送信されると、ネットワークサーバが暗号化されたデータを保管するシステムが開示されている。しかしながら、特許文献1に記載のシステムは、暗号化されたデータだけでなく、これらのデータを索引するための索引情報が暗号化データに紐付けされた状態でネットワークサーバに保管される仕組みが採用されている。このような仕組みを実現するためには、ネットワークサーバのファームウェアまたはシステムを上記仕組みに合わせて変更する必要があるが、顧客管理アプリケーションなどのネットワークサービスの利用者が同サービスの提供者のネットワークサーバのファームウェアまたはシステムを変更するのは、実質的に不可能である。そこで、本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、顧客管理アプリケーションなどのネットワークサービスを提供する第三者のネットワークサーバのファームウェアやシステムの仕組みを変更することなく、第三者のネットワークサーバと利用者のデバイスとの間でデータの秘匿性を保持することが可能なデータ管理システム及びデータ管理方法を提供することにある。本発明は、第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されたデータ管理システムである。上記データ処理装置は、複数の文字からなる文字データを暗号化する暗号化手段と、上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段と、を有している。このデータ処理装置は、少なくとも上記文字データを含む保管対象データに対する保管要求が入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信するよう構成されている。上記サーバ装置は、上記データ処理装置から上記暗号データを受信した場合に該暗号データを予め定められた記憶装置に格納するよう構成されている。このように構成されたデータ管理システムでは、クライアント端末などからデータ処理装置に上記保管要求が入力されると、データ処理装置は上記保管要求に応じた保管対象データの文字データを上記暗号化手段に暗号化させる。このとき暗号化される文字データは、保管要求とともに入力されたものであってもよく、或いは保管要求とともに入力されたアドレスIPアドレス、メモリアドレス、ハードディスクのトラックアドレス等で特定される記憶領域に格納されたものであってもよい。この記憶領域は、第1管理者の管理下に置かれたものであり、データ処理装置内のメモリやHDD、或いはネットワーク上に設けられたのHDDなどが該当する。なお、文字データとは、文字で表現されたデータのことであり、文書データあるいはテキストデータと同義である。暗号化された文字データ暗号データは、ネットワークを経由して、サーバ装置に送信される。上記サーバ装置は、上記データ処理装置から送信されてきた上記暗号データを受信すると、この暗号データを予め定められた記憶装置に格納する。この記憶装置は第2管理者の管理下に置かれてものであり、例えばサーバ装置内に設けられたものや、或いはネットワーク上の所定のアドレスに設けられたものが該当する。記憶装置に格納された暗号データはサーバ装置によって保管される。このように本発明のデータ管理システムが構成されているため、第2管理者が管理するサーバ装置には暗号化された文字データが格納される。したがって、仮にサーバ装置内のデータが漏洩しても、それらのデータは暗号化されたものであるため、そのデータ内容が第1管理者以外の者に知られることはない。また、データの暗号化及び復号がデータ処理装置で行われるため、第2管理者の管理下にあるサーバ装置のファームウェアやシステムに変更を加えることなく、既存のデータサーバシステムに本発明を容易に適用することができる。なお、このデータ管理システムにおいて、データ処理装置は、上記保管対象データに対する読出要求が入力された場合に、上記読出要求を上記サーバ装置に送信するよう構成されている。この場合、サーバ装置は、上記データ処理装置から上記読出要求を受信した場合に、該読出要求に基づいて特定される上記暗号データを上記記憶装置から読み出して上記データ処理装置に送信する。そして、データ処理装置は、上記読出要求に応じて上記サーバ装置から送信された上記暗号データを受信した場合に、該暗号データを上記復号手段に復号させて元の文字データに戻す。上記文字データは、単語間を区切らずに表記する連続表記法によって表されたものである。すなわち、この文字データは、中国語、日本語、韓国語以下CJK言語と総称する。などのように分かち書き単語間をスペースなどで区切る書き方をせずに複数の単語を連続して表記する連続表記法で記載された文章が文字コード化されたテキストデータである。この場合、上記暗号化手段は、上記保管対象データに含まれる文字データをN-gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれを暗号化するものであることが好ましい。連続表記法を採用する言語の代表格は中国語、日本語、韓国語CJK言語である。CJK言語で作成された文章は、アルファベット文字を組み合わせて構成される欧米の言語以下欧米言語と略する。の文章とは異なり、わかち書きがされない。このような言語で使用される文字列を含む文字データは、上記暗号化手段によって、N-gram方式に基づいて連続するN個の文字で構成されるブロックに分解され、各ブロックそれぞれが暗号化される。このように暗号化されることにより、連続するN個の文字からなる1ブロックが一つの特徴部分として把握される。そのため、暗号化後の文字データ暗号データであっても、その特徴部分に基づいて、暗号化されたままの文字データ暗号データに対する部分一致検索処理や全文検索処理、更にはソート処理などの各処理が高い精度で実現可能となる。上記データ処理装置は、検索キーワードが入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信し、上記サーバ装置から上記暗号キーワードに応じた暗号データを検索結果として受信した場合に該暗号データを上記復号手段に復号させるものである。この場合、上記サーバ装置は、上記データ処理装置から上記暗号キーワードを受信した場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信するものであることが好ましい。これにより、サーバ装置内で暗号データが復号されることなく検索処理が行われ、その検索結果がデータ処理装置で復号される。そのため、サーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。上記暗号化手段は、上記保管対象データに含まれる文字データをN-gram方式に基づいて連続するN個の文字で構成される複数のブロックに分解し、各ブロックそれぞれをを整数化処理した後に、整数化処理後のデータに示される数値を予め定めされた文字置換テーブルに基づいて特定された文字に置換するものである。また、上記データ処理装置は、上記サーバ装置から暗号データを受信した場合に該暗号データを上記復号手段に復号させるものである。上記サーバ装置は、予め定められた項目に対するソート要求に基づいて該項目に属する暗号データを所定のソート順序となるようにソートして、ソート後の順序を示すソート順序情報と共に暗号データを上記データ処理装置に送信するものである。このように暗号化手段が構成されているため、サーバ装置において暗号データに対してソート処理が行われた場合に、その暗号データに対するソート順序と復号後の文字データに対するソート順序とが一致する。つまり、暗号データに対して行われたソート結果を復号後の文字データにも適用することができる。これにより、サーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータをソート対象とするソート機能を実現することが可能となる。本発明は、上述したデータ管理システムに適用されるデータ管理方法として捉えることもできる。このデータ管理方法が適用されるデータ管理システムは、第1管理者によって管理されているデータ処理装置と、上記第1管理者とは異なる第2管理者によって管理されているサーバ装置とがネットワークを介して通信可能に接続されており、複数の文字からなる文字データを暗号化する暗号化手段及び上記暗号化手段によって暗号化された文字データを上記暗号化手段の暗号化とは逆の手順で復号する復号手段が上記データ処理装置に設けられたデータ管理システムである。当該データ管理方法は、第1ステップ乃至第5ステップを有する。第1ステップは、少なくとも上記文字データを含む保管対象データに対する保管要求が上記データ処理装置に入力された場合に上記暗号化手段に上記保管対象データに含まれる文字データを暗号化させて暗号データを生成して該暗号データを上記サーバ装置に送信する。第2ステップは、上記データ処理装置から送信された上記暗号データが上記サーバ装置で受信された場合に該暗号データを予め定められた記憶装置に格納する。第3ステップは、検索キーワードが上記データ処理装置に入力された場合に上記暗号化手段に該検索キーワードを暗号化させて暗号キーワードを生成して該暗号キーワードを上記サーバ装置に送信する。第4ステップは、上記データ処理装置から送信された上記暗号キーワードが上記サーバ装置で受信された場合に上記記憶装置から上記暗号キーワードに応じた上記暗号データを検索して、検索された暗号データを検索結果として上記データ処理装置に送信する。第5ステップは、上記サーバ装置から送信された上記暗号データが上記検索結果として上記データ処理装置で受信された場合に該暗号データを上記復号手段に復号させる。これにより、仮にサーバ装置内のデータが漏洩しても、それらのデータは暗号化されたものであるため、そのデータ内容が第1管理者以外の者に知られることはない。また、データの暗号化及び復号がデータ処理装置で行われるため、第2管理者の管理下にあるサーバ装置のファームウェアやシステムに変更を加える必要もない。また、サーバ装置内で暗号データが復号されることなく検索処理が行われ、その検索結果がデータ処理装置で復号される。そのため、検索時においてもサーバ装置からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。本発明によれば、第2管理者のサーバ装置のファームウェアやシステムの仕組みを変更することなく、第2管理者のサーバ装置から第1管理者のデータの内容が漏洩することを防止してデータの秘匿性を保持することが可能となる。また、文字データが連続表記法によって作成された文章の文書データやテキストデータである場合は、その文字データをN-gram方式に基づいて分割されたブロックごとに暗号化することにより、連続するN個の文字からなる1ブロックが一つの特徴部分として把握される。そのため、文字データ暗号データであっても、それに対する部分一致検索処理、全文検索処理、ソート処理などの各処理を高精度で実現することができる。以下、適宜図面を参照して本発明の一実施形態に係るデータ管理システム10本発明のデータ管理システムの一例について説明する。図1に示されるように、データ管理システム10は、アプリケーションを提供するアプリケーションサーバ15と、クライアント管理システム20とによって構成されている。アプリサーバ15は、インターネット12本発明のネットワークの一例を介して、クライアント管理システム20の中継サーバ210本発明のデータ処理装置の一例と通信可能に接続されている。本実施形態では、アプリサーバ15は、所謂SoftwareasaServiceのカテゴリに属するアプリケーションサービスを提供する事業者本発明の第2管理者に相当、以下SaaS事業者という。の管理下に置かれて運用されている。一方、クライアント管理システム20は、SaaS事業者とは異なる事業者本発明の第1管理者に相当の管理下に置かれて運用されている。従来は、同一の管理者によってサーバ及びクライアント管理システムの双方が管理運用された管理システムが主流であった。しかし、近年は、システムの設備投資負担を軽減することや、災害時の設備損壊及びデータ紛失といったリスクを分散することの重要性が高まっており、セキュリティ技術の向上により通信時のデータ漏洩の危険性も低くなったことも相まって、記憶領域の提供や利用者のデータの保管、顧客情報等のデータベース管理をSaaS事業者が請け負い、SaaS事業者がネットワークを通じて提供するアプリケーションサービスを利用者が利用するといった本実施形態のデータ管理システム10のようなシステムが主流になりつつある。このようなアプリケーションサービスの実例として、米国のセールスフォースドットコムインコーポレイテッドが提供するCRMソリューションや、米国のグーグルインコーポレイテッドが提供するグーグルカレンダーウェブカレンダーサービスなどがある。なお、グーグルはグーグルインコーポレイテッドの登録商標である。アプリサーバ15は、データベース管理機能、データ検索機能、及びソート機能を有する。データベース管理機能は、インターネット12を経て外部デバイスから転送された顧客データやアドレスデータなどをデータベースとして内部或いは外部の記憶領域に蓄積保存する機能である。データ検索機能は、外部デバイスから転送された検索キーワードに基づいて上記データベースに対してキーワード検索を行う機能である。ソート機能は、外部デイバイスからソート対象となる項目が指定されたときに、その項目に関して上記データベース内の顧客データの順序の並べ替えソートを行う機能である。アプリサーバ15は、インターネット12を通じてクライアント管理システム20に上記各機能を提供することができるように構成されている。そのため、上記各機能を実現するためのアプリケーションソフトウェアがアプリサーバ15にインストールされている。これにより、クライアント管理システム20は、アプリサーバ15が提供する上記各機能のネットワークサービスを利用することが可能となっている。以下に、アプリサーバ15及びクライアント管理システム20の各構成について詳細に説明する。図2に示されるように、アプリサーバ15は、CPUなどの制御部151と、ROM152と、RAM153と、HDDなどの大容量記憶媒体であるデータ記憶部154と、外部との通信を行う通信I/F155とを備えるコンピュータ電子計算機である。アプリサーバ15に備えられた各構成要素は、内部バスによって互いに通信可能に接続されている。データ記憶部154には、インターネット12を経て転送されてきたデータがデータベースとして蓄積記憶される。データ記憶部154に格納されるデータの種類は特に限定されないが、本実施形態では、図10Aに示されるように、顧客番号、顧客名称、顧客住所、顧客に関するメモ以下顧客メモと称する。、登録日アップデートした日の5つの項目からなるリスト形式の顧客データ以下顧客リストともいう。がテキスト形式でデータベース管理されているものとする。なお、データ記憶部154には、図示しないアプリケーション記憶領域が割り当てられており、この記憶領域に、上述したデータベース管理機能、データ検索機能、ソート機能を実現するためのアプリケーションのプログラムが格納されている。図1に示されるように、クライアント管理システム20は、中継サーバ210と、情報管理サーバ220と、複数の端末装置230230A,230B,230Cとによって構成されており、これらがLAN21によって互いに通信可能に接続されている。図2に示されるように、端末装置230は、CPUなどの制御部231と、ROM232と、RAM233と、HDD234と、キーボードなどの入力部235と、液晶ディスプレイなどのモニタ236と、外部との通信を行う通信I/F237とを備えるコンピュータ電子計算機であり、具体的には、パーソナルコンピュータやPDA、携帯電話、タブレット端末、スマートフォンなどが該当する。アプリサーバ15のネットワークサービスを利用しようとする利用者は、端末装置230を操作して中継サーバ210やアプリサーバ15に対して上述のデータベース管理機能やデータ検索機能、ソート機能に関する各種の要求を送信する。情報管理サーバ220は、CPUなどの制御部221と、ROM222と、RAM223と、後述する基本情報が格納されたHDDなどの基本情報記憶部224と、外部との通信を行う通信I/F225とを備えるコンピュータ電子計算機である。基本情報記憶部224には、暗号化及び復号に用いられる暗号方式を指定するための暗号指定情報や、暗号化処理に用いられる複数の文字置換表などが基本情報として格納されている。上記暗号指定情報は、端末装置230を識別するためのユーザID等の識別情報や予め定められた複数の言語情報などと対応付けられた状態でテーブルデータとして基本情報記憶部224に記憶されている。上記テーブルデータは、後述する暗号方式の選択時に、端末装置230の識別情報に応じた暗号方式や、暗号化対象のデータで使用されている文字の言語に応じた暗号方式を選択する際に参照される。基本情報記憶部224には、第1文字置換表と第2文字置換表とが記憶されている。第1文字置換表は後述する第1暗号方式による暗号化の際に用いられるものであり、第2文字置換表は後述する第2暗号方式による暗号化の際に用いられる。上記暗号指定情報は、端末装置230から中継サーバ210に対してデータのアップロード要求データの書き込み要求があったときに、中継サーバ210によって基本情報記憶部224から読み出される。例えば、端末装置230Aから中継サーバ210に対してアップロード要求があったときに、要求元の端末装置230Aの識別情報に対応する暗号指定情報、或いは暗号化対象のデータに使用されている言語に対応する暗号指定情報が上記テーブルデータから読み出されて、その暗号指定情報が情報管理サーバ220から中継サーバ210へ送信される。上記暗号指定情報は、端末装置230ごとに異なるものであってもよく、或いはクライアント管理システム20に属する全ての端末装置230について共通のものであってもよい。中継サーバ210は、CPUなどの制御部211と、ROM212と、RAM213と、各種アプリケーションが格納されたHDD214と、外部との通信を行う通信I/F215,216とを備えるコンピュータ電子計算機である。通信I/F215は、LAN21に接続するためのインターフェースであり、通信I/F216は、インターネット12に接続するためのインターフェースである。中継サーバ210には、暗号化処理や復号処理を行うアプリケーションや、アプリサーバ15及び端末装置230それぞれとの間で種々のデータや信号を中継するためのアプリケーションがインストールされており、それらのアプリケーションのプログラムはHDD214に格納されている。本実施形態では、暗号化処理のアプリケーションとして少なくとも次の2種類の暗号化プログラムがHDD214に格納されている。具体的には、第1暗号方式による暗号化を実行するためのプログラムと、第2暗号方式による暗号化を実行するためのプログラムとがHDD214に格納されている。第1暗号方式は、暗号化されたデータに対してソート処理はできないが検索処理は可能とする暗号方式である。第2暗号方式は、暗号化されたデータに対してソート処理及び検索処理を可能とする暗号方式である。これらの暗号化方式は、暗号化する対象に応じて使い分けられている。上記第1暗号方式は、暗号化対象として入力されたテキストデータ本発明の文字データに相当を、全文検索などに用いられる所謂N-gram方式に基づいて連続するN個の文字で構成されるブロックに分割し、分割された各ブロックのテキストデータをAES128CFBモードで暗号化し、暗号化されたテキストデータに対して文字置換処理を行う方式である。一方、上記第2暗号方式は、暗号化対象として入力されたテキストデータを連続するN個の文字で構成されるブロックに分割し、その各ブロックのテキストデータに対して文字置換処理を行う方式である。これらの暗号方式は、日本語で構成された文章のようにわかち書きがされていない文章、つまり、単語間をスペースなどで区切らずに複数の単語を連続して表記する連続表記法で記載された文章のテキストデータに対して暗号化処理が行われる場合に選択される。わかち書きがされていない文章のテキストデータとしては、日本語による文章のテキストデータだけでなく、所謂CJK言語中国語、日本語、韓国語やタイ語などで作成され文章のテキストデータが該当する。なお、欧米言語からなる文章のテキストデータに対して暗号化処理が行われる場合は、第1暗号方式及び第2暗号方式とは異なる従来周知の暗号方式AES等が選択される。以下、図3乃至図10を参照しながら、データ管理システム10で実行される各種の処理手順について説明する。なお、以下の説明では、データ管理システム10において実行される通信データや信号の送受信は、国際標準化機構ISOや国際電気通信連合ITUなどによって標準化された通信プロトコルに基づいて行われるものとし、その通信方法の詳細な説明については省略する。また、以下において、暗号化処理及び復号処理を実行する中継サーバ210の制御部211が本発明の暗号化手段及び復号手段に相当する。まず、図3及び図4を用いて、クライアント管理システム20からアプリサーバ15へデータがアップロードされるときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下の実施形態では、データ管理システム10は、各デバイス間の通信接続が確立され、アプリサーバ15によるネットワークサービスで使用されるユーザーインターフェースの一例である入力画面36図10B参照が端末装置230のモニタ236に表示された状態にあるものとする。また、以下においては、アプリサーバ15のデータ記憶部154に記憶された顧客データに関するデータベース図10A参照に対して新たな顧客データがアップロードされる例について説明する。また、当該アップロード時にデータ管理システム10で送受信される顧客データは、複数の日本語文字がUTF-8で定義される文字コードで表されたテキストデータとする。利用者が端末装置230からアプリサーバ15へ新たな顧客データをアップロードする場合、まず、利用者は端末装置230を操作することによって、任意の顧客データとともにその顧客データのアップロード要求本発明の保管要求に相当を中継サーバ210へ送信する図3参照。具体的には、入力画面36図10B参照に設けられた顧客番号、顧客名称、顧客住所、顧客メモ、登録日などの項目フィールド又はカラムとも呼ばれる。の各入力欄に必要な事項が日本語で入力された後に、登録ボタン31が押し操作されると、端末装置230の制御部231は、入力された各項目のデータをUTF-8で定義される3バイト或いは4バイトの文字コードからなるテキストデータに変換して、アプリサーバ15に対するアップロード要求とともに中継サーバ210へ送信する。このとき、端末装置230の識別情報例えばユーザIDが上記アップロード要求とともに送信される。なお、変換された各項目のデータ顧客番号、顧客名称、顧客住所、顧客メモ、登録日それぞれの個別データはそれぞれが関連付けられた状態でひとまとまりの1件分の顧客データ以下レコードという。として取り扱われる。なお、UTF-8は、中国語、日本語、韓国語CJK言語の文字を表示することが可能であるため、我が国をはじめCJK言語の国では、コンピュータに利用させる文字コードとして多言語用文字コードであるUTF-8が使用されている。図4に示されるように、中継サーバ210では、端末装置230からのアップロード要求及び上記レコードが受信されるとS1のYES、制御部211は、上記アップロード要求に対応する暗号方式を情報管理サーバ220に要求するS2。この要求時に、制御部211は、端末装置230の識別情報や、入力されたレコードに含まれるテキストデータの文字種別情報例えば日本文データか英文データの区別を情報管理サーバ220に送信する。なお、日本文データか英文データの区別は、使用されている文字コードから識別可能である。情報管理サーバ220では、中継サーバ210からの要求を受けると、制御部221は、アップロード要求に応じた暗号指定情報暗号方式を指定するためのものを基本情報記憶部224から読み出す。具体的には、端末装置230の識別情報や入力されたレコードの文字種別情報に対応する暗号指定情報が基本情報記憶部224内のテーブルデータから読み出される。本実施形態では、入力されたレコードに含まれるテキストデータが日本語であるので、上述した第1暗号方式及び第2暗号方式を指定するための暗号指定情報が読み出され、また、これらの暗号方式に用いられる第1文字置換表及び第2文字置換表が読み出される。その後、その暗号指定情報及び文字置換表が中継サーバ210に送信される。図4に示されるように、中継サーバ210では、情報管理サーバ220から暗号指定情報及び文字置換表が受信されるとS3のYES、制御部211は、その暗号指定情報が示す暗号方式を特定するS4。具体的には、その暗号指定情報が示す上記第1暗号方式及び上記第2暗号方式を特定する。その後、上記レコードに含まれる複数の項目のデータの中から暗号化する対象が特定されるS5。本実施形態では、上記レコードに含まれる複数の項目のうち、予め定められた顧客メモが第1暗号方式の対象として特定され、予め定められた顧客名称及び顧客住所以下顧客名称等と称する。が第2暗号方式の対象として特定される。その他の項目顧客番号、登録日は秘匿性が低いため、暗号化対象から外される。その後、制御部211は、上記レコードのうち、暗号化対象に特定された項目のデータだけを暗号化するS6。本実施形態では、顧客メモのデータに対して第1暗号方式に基づく暗号化処理以下第1暗号化処理と称する。が行われ、顧客名称等のデータに対して第2暗号方式に基づく暗号化処理以下第2暗号化処理と称する。が行われる。この暗号化処理は、各項目のデータ毎に行われる。顧客メモのデータに対する上記第1暗号化処理は、図9Aのフローチャートに示される手順にしたがって行われる。具体的には、まず、暗号化対象である顧客メモのテキストデータUTF-8に基づいて文字コード化されたものが2-gram方式に基づいて連続する2個の文字X,Yで構成されるブロックに分割されるS41。例えば、上記レコードの顧客メモの欄に、東京都知事選挙に出馬した。という日本語文章が入力されていた場合は、この文章は、X,Y={東,京京,都都,知知,事事,選選,挙挙,にに,出出,馬馬,しし,た}というように11個のブロックに分割される。以下、これらの各ブロックがUTF-8で表された文字コードをPX,Yと表す。次ぎに、制御部211によって、UTF-8で表された文字コードPX,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の変換処理を行うことによって、暗号化後のデータの膨大化を抑制することができる。次ぎに、制御部211によって、変換後のP’X’,Y’が整数化されるS43。ここで、整数化後の数値をQ1X’,Y’と表す。このQ1X’,Y’は、X’とY’との排他的論理和排他的ビット和により得られた演算値と65535とを乗算し、その演算結果にY’を加算して得られた数値であり、Q1X’,Y’=X’^Y’65535Y’の数式により求められる。上記数式においてX’^Y’は排他的論理和を示す。このように排他的論理和の演算が行われることにより、文字Xと文字Yとの前後位置関係がQ1X’,Y’からは読み取られ難くなり、暗号化後のデータが容易に解読されなくなる。なお、ステップS43で得られた整数値は4バイト32ビットで表示される。つまり、ステップS43の整数化処理によって変換可能な整数値は、0~232までの65535個の正の整数である。続いて、Q1X’,Y’がAES128CFBモードで暗号化されるS44。暗号化された4バイトのテキストデータは、次のステップS44において、テキストデータの1バイトずつに対して文字置換処理が行われるS45。具体的には、1バイトで表現できる256通りの数値それぞれに対応するように異なる文字や記号が予め定められた第1文字置換表が用意されており、その第1文字置換表に基づいて、上記4バイトのテキストデータの1バイトずつに対して、その1バイトが表す数値に対応する文字等が第1文字置換表から選択されて割り当てられる。そして、ステップS41で分割された全てのブロックに対して文字置換処理が終了するとS46のYES、隣接するブロックに対応するテキストデータが連結されて一つの暗号データ本発明の暗号データに相当が生成されるS47。このようにして生成された暗号データは、元の東京都知事選挙に出馬した。という文章のテキストデータとはなっておらず、文字置換された理解不明な文字列となっている。顧客名称等のデータに対する第2暗号化処理は、図9Bのフローチャートに示される手順にしたがって行われる。具体的には、まず、上述したステップS41及びS42と同様にして、制御部211によって、暗号化対象の項目のテキストデータUTF-8に基づいて文字コード化されたものが2-gram方式に基づいて連続する2個の文字X,Yで構成されるブロックに分割されS51、その後、UTF-8で表された文字コードPX,Yが、ユニコード16で表される文字コードP’X’,Y’に変換されるS52。次ぎに、制御部211によって、変換後のP’X’,Y’が整数化されるS53。ここで、整数化後の数値をQ2X’,Y’と表す。このQ2X’,Y’は、X’に65535を乗じて得られた値にY’を加算して得られた数値であり、Q2X’,Y’=65535X’Y’の数式により求められる。なお、ステップS53で得られた整数値は4バイト32ビットで表示される。続いて、Q2X’,Y’の4バイトのテキストデータは、そのテキストデータの1バイトずつに対して文字置換処理が行われるS54。具体的には、1バイトで表現できる256通りの数値それぞれに対応するように異なる文字や記号が予め定められた第2文字置換表表1参照が用意されており、その第2文字置換表に基づいて、上記4バイトのテキストデータの1バイトずつに対して、その1バイトが表す数値に対応する文字等が第2文字置換表から選択されて割り当てられる。なお、第2文字置換表は、表1に示されるように、文字コードが示す数値が小さいものから順に0~255の番号が割り当てられている。その順番に対応するように文字が割り当てられるので、Q2X’,Y’に対して文字置換処理が行われても、文字Xと文字Yとの前後位置関係が置換後のテキストデータから読み取れるようになっている。その後、ステップS51で分割された全てのブロックに対して文字置換処理が終了するとS55のYES、隣接するブロックに対応するテキストデータが連結されて一つの暗号データ本発明の暗号データに相当が生成されるS56。このようにして生成されたテキストデータは、元の文章とは異なる理解不明な文字列となっている。上記レコードにおける全ての暗号化対象顧客名称、顧客住所、顧客メモのデータが暗号化されると、暗号化前のレコードと同様の関連性を各項目のデータ間に付与され、これらの各データそれぞれが関連付けられた状態でひとまとまりの1件のレコードとして取り扱われる。なお、このときに、第1暗号化対象の顧客メモの暗号データの前後に識別子としてプレフィックスPrefix及びサフィックスSuffixを付加し、また、第2暗号化対象の顧客名称及び顧客住所の暗号データそれぞれの前後に別の識別子としてプレフィックス及びサフィックスを付加してもよい。これにより、中継サーバ210は、アプリサーバ15から暗号化されたレコードが送られてきたときに、第1暗号化対象の項目と第2暗号化対象の項目とを容易に識別することが可能となる。図4に示されるステップS6の暗号化処理が終了すると、暗号化後の上記レコードがアップロード要求とともに中継サーバ210からインターネット12を経てアプリサーバ15に送信されるS7。このときに送信されるレコードは、SSLSecureSocketLayer方式により更に暗号化されてもよく、また、SSLによる暗号がされないままアプリサーバ15に送信されてもよい。なお、ステップS1~S7の一連の処理が本発明の第1ステップに相当する。アプリサーバ15では、暗号化後のレコードを受信すると、制御部151は、そのレコードをデータ記憶部154に格納する本発明の第2ステップに相当。その後、アップロード完了通知がアプリサーバ15から中継サーバ210に送信される。中継サーバ210は、このアップロード完了通知を受信するとS8のYES、そのアップロード完了通知を端末装置230に送信するS9。次に、図5及び図6を用いて、クライアント管理システム20からアプリサーバ15に対してデータ検索の要求がされたときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下においては、アプリサーバ15によるネットワークサービスで使用されるユーザーインターフェースの一例である検索画面37図10C参照が端末装置230のモニタ236に表示された状態にあるものとする。利用者が端末装置230からアプリサーバ15に対してデータ検索を行う場合、まず、利用者は端末装置230を操作することによって、検索キーワード本発明の検索キーワードに相当とともに検索要求を中継サーバ210へ送信する図5参照。具体的には、図10Cに示される検索画面37において、顧客名称、顧客住所、顧客メモのいずれかの項目の入力欄に検索キーワードが入力された後に、検査ボタン32が押し操作されると、端末装置230の制御部231は、入力された検索キーワードとアプリサーバ15に対する検索要求とを中継サーバ210へ送信する。図6に示されるように、中継サーバ210では、端末装置230からの検索要求及び検索キーワードが受信されるとS31のYES、制御部211は、上記検索要求に対応する暗号方式を情報管理サーバ220に要求するS32。この要求時に、制御部211は、端末装置230の識別情報例えばユーザIDや、入力された検索キーワードの文字種別情報例えば日本文データか英文データの区別を情報管理サーバ220に送信する。情報管理サーバ220では、中継サーバ210からの要求を受けると、制御部221は、検索要求に応じた暗号指定情報を基本情報記憶部224から読み出す。具体的には、端末装置230の識別情報や検索キーワードの文字種別情報に対応する暗号指定情報が基本情報記憶部224内のテーブルデータから読み出される。本実施形態では、入力された検索キーワードの文字種が日本語であると仮定する。この場合、上述した第1暗号方式及び第2暗号方式を指定するための暗号指定情報が読み出され、また、これらの暗号方式に用いられる第1文字置換表及び第2文字置換表が読み出される。その後、その暗号指定情報及び文字置換表が中継サーバ210に送信される。図6に示されるように、中継サーバ210では、情報管理サーバ220から暗号指定情報及び文字置換表が受信されるとS33のYES、制御部211は、その暗号指定情報が示す上記第1暗号方式及び上記第2暗号方式を特定しS34、その後、検索キーワードを暗号化するS35。本実施形態では、顧客メモの欄に入力された検索キーワードは第1暗号方式にしたがって暗号化され、顧客名称及び顧客住所の欄に入力された検索キーワードは第2暗号方式にしたがって暗号化される。ここでの暗号化は、上記ステップS6で説明した暗号化と同じであり、図9に示される手順と同様であるので、ここでの説明は省略する。暗号化が終わると、図6に示されるように、暗号化された検索キーワード以下暗号キーワードという。本発明の暗号キーワードに相当。が検索要求とともに中継サーバ210からインターネット12を経てアプリサーバ15に送信されるS36。なお、ステップS31~S36の一連の処理が本発明の第3ステップに相当する。アプリサーバ15では、暗号キーワードを受信すると、制御部151は、その暗号キーワードとデータ記憶部154図2参照内のデータベースとを照合して、暗号キーワードを含む暗号データを検索する図5参照。そして、検索によって暗号データが存在する場合は、その暗号データを含むレコードが中継サーバ210へ送信される本発明の第4ステップに相当。図6に示されるように、中継サーバ210では、検索結果として上記レコードが受信されるとS37のYES、受信したレコードの各項目の暗号データが制御部211によって復号されるS381。このステップS38及びS381の処理が本発明の第5ステップに相当する。制御部211は、ステップS381の復号処理を実行する前に、レコードの各データの前後に上記識別子プレフィックス及びサフィックスがあると判断した場合は、その識別子に応じた暗号化方式を各データごとに特定する。そして、その特定された暗号化方式の逆手順にしたがって各項目の暗号データが復号される。なお、この復号処理の具体的手法については、上記ステップS6の暗号化の逆手順であるため、ここでの説明は省略する。その後、復号されたオリジナルの各データを含むオリジナルのレコードが端末装置230に送信されてS382、端末装置230のモニタ236に表示される。一方、検索結果として上記レコードが受信されずS37のNO、アプリサーバ15から検索無しヒット無しを意味する信号が受信されるとS391のYES、その検索無しを示す信号が端末装置230に送信されてS392、端末装置230のモニタ236に検索無しのメッセージ情報が表示される。次ぎに、図7及び図8を用いて、クライアント管理システム20からアプリサーバ15に対して顧客リスト図10A参照のソート並べ替え要求がされたときに中継サーバ210で実行される処理手順の一例について詳細に説明する。なお、以下においては、図10Aに示されるように顧客番号について昇順で並べられた顧客データが端末装置230のモニタ236にユーザーインターフェースとして表示された状態にあるものとする。利用者が端末装置230からアプリサーバ15に対してソート要求を出す場合、まず、利用者は端末装置230を操作することによって、ソート対象の項目ソート項目とともにソート要求を中継サーバ210へ送信する図7参照。具体的には、図10Aに示される顧客リスト画面38において、顧客名称、顧客住所、登録日の各項目欄に設けられた上向き三角形状のキー3333A,33B,33Cのいずれか、又は、顧客名称、顧客住所、登録日の各項目欄に設けられた下向き三角形状のキー3434A,34B,34Cのいずれかが押し操作されると、端末装置230の制御部231は、押し操作された項目を示す項目情報とアプリサーバ15に対するソート要求とを中継サーバ210へ送信する図7参照。なお、キー33が押されると、その項目を昇順でソートする要求が送信され、キー34が押されると、その項目を降順でソートする要求が送信される。図8に示されるように、中継サーバ210では、端末装置230からのソート要求及び上記項目情報が受信されるとS62のYES、制御部211は、受信した上記ソート要求及び項目情報をただちにアプリサーバ15へ転送するS62。アプリサーバ15では、中継サーバ210からの要求を受けると、制御部151は、項目情報によって指定された項目以下指定項目という。について降順又は昇順でソートをし、その後、ソートされた順番及び上記指定項目を示す情報とともに、データ記憶部154内で検索対象となった全てのレコードが中継サーバ210へ送信される図7参照。図8に示されるように、中継サーバ210では、ソート結果として全てのレコードが受信されるとS63のYES、受信したレコードに含まれる暗号データが制御部211によって復号されるS64。なお、この復号の具体的手法については、上記ステップS6の暗号化の逆手順であるため、ここでの説明は省略する。その後、復号されたオリジナルのレコードとソート順序を示す情報とが端末装置230に送信されるS65。そして、端末装置230では、ソート結果として上記ソート順にソートされた顧客リストが作成されて、その顧客リストがモニタ236に表示される図7参照。上述したように、本実施形態では、クライアント管理システム20からアプリサーバ15に新たな顧客データを保存アップデートする場合に、クライアント管理システム20の中継サーバ210で顧客データが暗号化され、その暗号データがアプリサーバ15に送信されて保存される。このため、仮にアプリサーバ15内のデータが漏洩しても、そのデータは暗号化されたものであるため、秘匿性の高い顧客データの内容が外部に知られることはない。また、データの暗号化及び復号が中継サーバ210で行われるため、SaaS事業者の管理下にあるアプリサーバ15のファームウェアやシステムはそのままで、本発明をデータ管理システム10で実現することができる。つまり、クライアント管理システム20の管理者アプリサーバ15の利用者は、アプリサーバ15を管理するASP事業者にアプリサーバ15のファームウェアなどを変更してもらわなくても、本発明によって、データセキュリティ性の高いデータサーバシステムを容易に構築することができる。また、アプリサーバ15内で暗号データが復号されることなく検索処理が行われ、その検索結果が中継サーバ210で復号されるため、アプリサーバ15からのデータの漏洩を防止しつつ、暗号化されたデータを検索対象とする検索機能を実現することが可能となる。また、ソート対象の項目のデータは第2暗号方式によって暗号化されるので、アプリサーバ15内のデータベースは暗号化された状態でソート可能である。これにより、アプリサーバ15内で暗号データが復号されることなくソート処理が行われ、そのソート結果が中継サーバ210で復号されるため、アプリサーバ15からのデータの漏洩を防止しつつ、暗号化されたデータをソート対象とするソート機能を実現することが可能となる。なお、上述の実施形態では、クライアント管理システム20がLAN21を介して中継サーバ210、情報管理サーバ220及び端末装置230を接続する構成となっているが、このような接続構成に限られない。例えば、端末装置230がインターネット12に接続されて、インターネット21を通じて中継サーバ210にアクセスするような接続構成であってもよい。また、端末装置230だけでなく、情報管理サーバ220もインターネット12を通じて中継サーバ210と通信可能な接続構成であってもよい。このような接続構成についても本発明は適用可能である。また、上述の実施形態では、ステップS41において、暗号化対象の文字データを2-gram方式に基づいて連続する2個の文字X,Yで構成されるブロックに分割することとしたが、3-gram方式に基づいて3個の文字に分割してもよく、4-gram方式に基づいて4個の文字に分割してもよい。10:データ管理システム12:インターネット15:アプリケーションサーバ20:クライアント管理システム21:LAN36:入力画面37:検索画面38:顧客リスト画面210:中継サーバ220:情報管理サーバ230:端末装置"