(57)【要約】【課題】サーバがネットワークを介して提供するサービスを複数のユーザ端末が利用する状況においてデータを保護すること。【解決手段】各ユーザ端末２００は、固有の暗号・復号鍵が埋め込まれた暗号・復号器２１０を備え、サーバ１００は、プロセッサ１３０とシステムバスとの間に、データを暗号化又は復号するための暗号・復号器１１０と、暗号・復号器１１０がデータを暗号化又は復号する際に参照するテーブルであって、各ユーザ端末２００のために割り当てられた固有の暗号・復号鍵を格納する暗号・復号鍵テーブル１６０とを備える。【選択図】図１
2012085148.tif 000002
【特許請求の範囲】
【請求項１】
サーバがネットワークを介して提供するサービスを複数のユーザ端末が利用する状況においてデータを保護するデータ保護システムであって、
前記各ユーザ端末は、
固有の暗号・復号鍵が埋め込まれた暗号・復号器
を備え、
前記サーバは、
プロセッサとシステムバスとの間に、前記データを暗号化又は復号するための暗号・復号器と、
前記暗号・復号器が前記データを暗号化又は復号する際に参照するテーブルであって、前記各ユーザ端末のために割り当てられた固有の暗号・復号鍵を格納する暗号・復号鍵テーブルと
を備えるデータ保護システム。
【請求項２】
前記ユーザ端末の暗号・復号器に埋め込まれた暗号・復号鍵と、前記サーバの暗号・復号鍵テーブルに格納された当該ユーザ端末のために割り当てられた暗号・復号鍵とは共通の暗号・復号鍵である
請求項１に記載のデータ保護システム。
【請求項３】
前記各ユーザ端末の暗号・復号器と、前記サーバの暗号・復号器と、前記サーバの暗号・復号テーブルは、それぞれハードウェアである
請求項１又は２に記載のデータ保護システム。
【請求項４】
前記ユーザ端末の暗号・復号器は、予め設定されたサーバとのデータの送受信時のみ、当該データを暗号化又は復号する
請求項１から３のいずれか一項に記載のデータ保護システム。
【請求項５】
サーバがネットワークを介して提供するサービスを利用するユーザ端末であって、
固有の暗号・復号鍵が埋め込まれた暗号・復号器
を備えるユーザ端末。
【請求項６】
複数のユーザ端末にネットワークを介してサービスを提供するサーバであって、
プロセッサとシステムバスとの間に、前記データを暗号化又は復号するための暗号・復号器と、
前記暗号・復号器が前記データを暗号化又は復号する際に参照するテーブルであって、前記各ユーザ端末のために割り当てられた固有の暗号・復号鍵を格納する暗号・復号鍵テーブルと
を備えるサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保護システム、ユーザ端末、及びサーバに関する。特に、本発明は、サーバがネットワークを介して提供するサービスを複数のユーザ端末が利用する状況においてデータを保護するデータ保護システム、サーバがネットワークを介して提供するサービスを利用するユーザ端末、並びに複数のユーザ端末にネットワークを介してサービスを提供するサーバに関する。
【背景技術】
【０００２】
ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）の分野においては、ユーザが高価な計算機を所有していなくてもよいように、高性能なホスティングサーバやクラウド等の共有リソースを借用できるようなサービスが一般的になっている。それに伴い、このようなサービスにおいては、データ保護強化が重要な課題となる。
【０００３】
但し、暗号化等でデータ保護を強化した場合には、リソースの共有が困難になったり、暗号化処理でサーバの処理に影響を与えたりすることが考えられる。また、他のユーザによるなりすましや暗号鍵の盗聴対策、信頼できるサーバ管理者を選択することも重要課題である。
【０００４】
特許文献１には、データを保護強化する方法が提案されている。特許文献１においては計算機内のシステムバスや記憶装置上も暗号化されたデータを扱い、復号化されたデータは外部から参照できないような工夫が施されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２８５０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術においては、外部と暗号鍵を交換しなければならないため、なりすましや鍵の盗聴による不正アクセスからデータを保護することができない。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態によると、サーバがネットワークを介して提供するサービスを複数のユーザ端末が利用する状況においてデータを保護するデータ保護システムであって、各ユーザ端末は、固有の暗号・復号鍵が埋め込まれた暗号・復号器を備え、サーバは、プロセッサとシステムバスとの間に、データを暗号化又は復号するための暗号・復号器と、暗号・復号器がデータを暗号化又は復号する際に参照するテーブルであって、各ユーザ端末のために割り当てられた固有の暗号・復号鍵を格納する暗号・復号鍵テーブルとを備える。
【０００８】
本発明の第２の形態によると、サーバがネットワークを介して提供するサービスを利用するユーザ端末であって、固有の暗号・復号鍵が埋め込まれた暗号・復号器を備える。
【０００９】
本発明の第３の形態によると、複数のユーザ端末にネットワークを介してサービスを提供するサーバであって、プロセッサとシステムバスとの間に、データを暗号化又は復号するための暗号・復号器と、暗号・復号器がデータを暗号化又は復号する際に参照するテーブルであって、各ユーザ端末のために割り当てられた固有の暗号・復号鍵を格納する暗号・復号鍵テーブルとを備える。
【００１０】
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１１】
以上の説明から明らかなように、この発明においては、固有の暗号・復号鍵がユーザ端末毎に暗号・復号器に埋め込まれており、ユーザが鍵を任意に変更することは不可能であるため、あるユーザ端末にて暗号化されたデータ、或いはあるユーザがサーバ上で処理したデータを復号する手段は、当該ユーザ端末の暗号・復号器かサーバの暗号・復号器しかなく、他ユーザによるなりすましでもデータを読み出すことは不可能である。
【００１２】
また、鍵はあらかじめ埋め込まれているため、鍵の発行は不要なので鍵情報のやり取りも無く、ハードウェアで構成しておくことで外部から読み出すことも不可にできる。
【００１３】
更には、サーバ上で復号されたデータはプロセッサ内部しかないため、物理的な方法による復号されたデータの読み出しは不可であり、管理者もサーバのＩ／Ｏからモニタを介してデータを参照するため、暗号化されたデータを復号して参照する手段が無い。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係るデータ保護システムの利用環境の一例を示す図である。
【図２】ユーザ端末２００ａの暗号・復号器２１０ａの詳細な構成を示す図である。
【図３】ホスティングサーバ１００の暗号・復号器１１０の詳細な構成を示す図である。
【図４】暗号・復号器１１０、２１０の更に詳細な構成を示す図である。
【図５】ユーザ端末２００ａがホスティングサーバ１００にデータを送って、ホスティングサーバ１００上で処理した結果を入手するまでの動作フローを示す図である。
【図６】図５のステップＳ１００の動作における詳細な動作フローを示す図である。
【図７】図５のステップＳ２００の動作における詳細な動作フローを示す図である。
【図８】図５のステップＳ３００の動作における詳細な動作フローを示す図である。
【図９】図５のステップＳ４００の動作における詳細な動作フローを示す図である。
【発明を実施するための形態】
【００１５】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１６】
図１は、一実施形態に係るデータ保護システムの利用環境の一例を示す。ホスティングサーバ１００がネットワークを介して提供するサービスを複数のユーザ端末２００ａ〜ｃ（以下、ユーザ端末２００と総称する。）が利用する状況においてデータを保護するシステムである。なおまた、ホスティングサーバ１００は、この発明における「サーバ」の一例であってよい。
【００１７】
ホスティングサーバ１００は、暗号・復号器１１０、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）１２０、プロセッサ１３０、メモリ１４０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５０、及びアドレス・鍵テーブル１６０を備える。なおまた、アドレス・鍵テーブル１６０は、この発明における「暗号・復号鍵テーブル」の一例であってよい。
【００１８】
ユーザ端末２００ａは、暗号・復号器２１０ａ、Ｉ／Ｏ２２０ａ、プロセッサ２３０ａ、メモリ２４０ａ、及びＨＤＤ２５０ａを備える。
【００１９】
なおまた、ユーザ端末２００ａ以外のユーザ端末２００ｂ、ｃも、ユーザ端末２００ａが有する構成要素と同じ構成要素を有する。以後の説明では、ユーザ端末２００が有する構成要素がいずれのユーザ端末２００の構成要素であるかを区別する場合には、各構成要素を有するユーザ端末２００と同じ添え字（ａ、ｂ、ｃ）を各構成要素の末尾に付して区別する。例えば、暗号・復号器２１０ａ、暗号・復号器２１０ｂ、及び暗号・復号器２１０ｃは、それぞれユーザ端末２００ａ、ユーザ端末２００ｂ、及びユーザ端末２００ｃの構成要素であることを示す。
【００２０】
また、以後の説明において、添え字が付されていない構成要素の機能及び動作は、同じ符号が付されたいずれの構成要素の機能及び動作を示す。例えば、暗号・復号器２１０で説明された機能及び動作は、暗号・復号器２１０ａ、暗号・復号器２１０ｂ、及び暗号・復号器２１０ｃの機能及び動作を示す。
【００２１】
暗号・復号器２１０は、ＬＡＮポートの出口に備えられている。そして、暗号・復号器２１０には、固有の鍵が埋め込まれている。この例においては、暗号・復号器２１０ａには、鍵１が埋め込まれている。同様に、暗号・復号器２１０ｂには、鍵２が埋め込まれている。同様に、暗号・復号器２１０ｃには、鍵３が埋め込まれている。
【００２２】
なお、本実施形態においては、説明が煩雑になることを防ぐことを目的として、データ保護システムが一のホスティングサーバ１００を備える構成について説明したが、データ保護システムは、複数のホスティングサーバ１００を備えてよい。
【００２３】
図２は、ユーザ端末２００ａの暗号・復号器２１０ａの詳細な構成を示す。ユーザ端末２００ａは一般的な計算機の使用を想定しているが、Ｉ／Ｏ２２０ａに鍵１をハードウェア的に埋め込んだ暗号・復号器２１０ａを実装したネットワークカード２７０ａを搭載している。宛先判別部２１１ａはネットワークへ送信するフレームの宛先をチェックし、あらかじめ指定しておいたホスティングサーバ１００に該当すれば鍵１を参照して８ビット単位でデータの入れ替え（暗号化）を行う。同様に、宛先判別部２１１ａはネットワークから受信するフレームの送信元をチェックし、あらかじめ指定しておいたホスティングサーバ１００に該当すれば鍵１を参照して８ビット単位でデータの入れ替え（復号化）を行う。
【００２４】
図３は、ホスティングサーバ１００の暗号・復号器１１０の詳細な構成を示す。プロセッサ１３０は演算器１３１、プログラムカウンタ１３２、デコード部１３３、レジスタ１３４、Ｉキャッシュ１３５、Ｄキャッシュ１３６を有している一般的な構成である。システムバスとプロセッサ１３０の間に暗号・復号器１１０があり、データ判別部１１１はシステムバスから行き来する情報がデータか命令かを判別している。もし命令であった場合、暗号／復号を行わないが、もしデータであった場合、図１のアドレス・鍵テーブル１６０から参照した鍵を使用して８ビット単位でデータの入れ替え（暗号／復号）を行う。
【００２５】
図４は、暗号・復号器１１０、２１０の更に詳細な構成を示す。本実施例では８ビット単位でデータの入れ替え（暗号／復号）を行っているが、図４においては鍵から生成される制御ビットで２ビットずつデータを入れ替えている。具体的に入力７，８と出力ＶＩＩ、ＶＩＩＩにおいては、鍵２のケースでは８桁の２進数は００００００１０になるため、２ビットずつ区切ると入力７，８の制御ビットは１０となる。真理値表から１０での出力ＶＩＩは入力７のＮｏｔ（反転）になり、出力ＶＩＩＩは入力８のままとなる。このように鍵から８ビット単位でデータ操作を行って、暗号／復号を行う。
【００２６】
以上詳細に実施例の構成を述べたが、図３のプロセッサ１３０は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００２７】
なおまた、上記実施例のホスティングサーバ１００を計算機センターやシンクライアントサーバとしてもよい。また、ユーザ端末２００ｂ、ユーザ端末２００ｃについても、図２と同様に構成できる。図４の暗号・復号器１１０、２１０の構成も一例であって、本構成に限定しているわけではない。
【００２８】
図５は、ユーザ端末２００ａがホスティングサーバ１００にデータを送って、ホスティングサーバ１００上で処理した結果を入手するまでの動作フローを示す。まずはユーザ端末２００ａがホスティングサーバ１００にログインし（Ｓ１００）、ホスティングサーバ１００上で処理するデータＡをネットワーク経由で送信する（Ｓ２００）。それからホスティングサーバ１００上のリソースを使用してデータＡを処理した結果、データＡ’が生成される（Ｓ３００）。最後にデータＡ’をネットワーク経由でユーザ端末２００ａが受信する（Ｓ４００）。
【００２９】
図６は、図５のステップＳ１００の動作における詳細な動作フローを示す。ユーザ端末２００ａが所有している暗号・復号器２１０ａにはシリアルナンバーがふってあり、ホスティングサーバ１００にログインする際、ログイン名と共にシリアルナンバーも送信される（Ｓ１０１）。ホスティングサーバ１００上にはあらかじめシリアルナンバーと鍵を対応させる情報がハードウェア的に埋め込まれており、受け取ったシリアルナンバーから鍵を特定できる。またログイン名から、例えばＯＳタスクのユーザＩＤが割り振られる（Ｓ１０２）。ユーザＩＤに物理メモリ領域が割り当てられると、割り当てられた物理メモリアドレスと鍵を対応させたアドレス・鍵テーブル１６０を更新する（Ｓ１０３）。
【００３０】
図７は、図５のステップＳ２００の動作における詳細な動作フローを示す。ユーザ端末２００ａはＨＤＤ２５０ａに格納されているデータＡをネットワーク経由で送信する（Ｓ２０１）。ここで、ネットワークカード２７０ａ上の暗号・復号器２１０ａをデータＡが通過する際、宛先判別部２１１ａがフレームの宛先があらかじめ設定していたホスティングサーバ１００であるか否かをチェックする（Ｓ２０２）。もし宛先がホスティングサーバ１００であれば、鍵１でデータＡを暗号化してネットワークへ送出する（Ｓ２０３）。もし宛先がホスティングサーバ１００でなければ、データＡを暗号化せずにネットワークへ送出する（Ｓ２０４）。
【００３１】
図８は、図５のステップＳ３００の動作における詳細な動作フローを示す。ホスティングサーバ１００はユーザ端末２００ａからデータＡを受信する（Ｓ３０１）。さらにユーザ端末２００ａがホスティングサーバ１００にデータＡを処理する要求を出すと、プロセッサ１３０は演算の準備としてデータＡをレジスタ１３４にロードする命令を実行する（Ｓ３０２）。データＡがシステムバスを通って暗号・復号器１１０に到達すると、データ判別部１１１は通過するデータＡが命令かデータかをチェックする（Ｓ３０３）。もしデータであった場合（Ｓ３０３：Ｙｅｓ）、ロード命令が参照している物理メモリアドレスを確認し、アドレス・鍵テーブル１６０に該当するアドレスであれば（Ｓ３０４：Ｙｅｓ）、対応する鍵１を読み出し、鍵１でデータＡを復号するが（Ｓ３０５）、アドレス・鍵テーブル１６０に該当しないアドレスであれば（Ｓ３０４：Ｎｏ）、データＡを復号しない（Ｓ３０６）。もし命令であった場合も（Ｓ３０３：Ｎｏ）、データＡを復号しない（Ｓ３０６）。レジスタ１３４にデータＡがロードされたら、プロセッサ１３０は演算を行い、演算結果データＡ’をストアする命令を実行する（Ｓ３０７）。データＡ’がプロセッサ１３０から送出されて暗号・復号器１１０を通過する際も同様に、データ判別部１１１は通過するデータＡ’が命令かデータかをチェックする（Ｓ３０８）。もしデータであった場合（Ｓ３０８：Ｙｅｓ）、ストア命令が参照している物理メモリアドレスを確認し、アドレス・鍵テーブル１６０に該当するアドレスであれば（Ｓ３０９：Ｙｅｓ）、対応する鍵１を読み出し、鍵１でデータＡ’を暗号化するが（Ｓ３１０）、アドレス・鍵テーブル１６０に該当しないアドレスであれば（Ｓ３０９：Ｎｏ）、データＡ’を暗号化しない（Ｓ３１１）。もし命令であった場合も（Ｓ３０８：Ｎｏ）、データＡ’を暗号化しない（Ｓ３１１）。
【００３２】
図９は、図５のステップＳ４００の動作における詳細な動作フローを示す。ユーザ端末２００ａが演算結果のデータＡ’を要求すると（Ｓ４０１）、ホスティングサーバ１００はデータＡ’をユーザ端末２００ａ宛に送信する（Ｓ４０２）。ユーザ端末２００ａはデータＡ’をネットワークカード２７０ａで受信すると、暗号・復号器２１０ａの宛先判別部２１１ａがフレームの送信元があらかじめ設定していたホスティングサーバ１００であるか否かをチェックする（Ｓ４０３）。もし送信元がホスティングサーバ１００であれば（Ｓ４０３：Ｙｅｓ）、鍵１でデータＡ’を復号してＨＤＤ２５０ａに書き込む（Ｓ４０４）。もし送信元がホスティングサーバ１００でなければ（Ｓ４０３：Ｎｏ）、データＡ’を復号せずに自計算機のＨＤＤ２５０ａに書き込む（Ｓ４０５）。
【００３３】
以上説明したように、不揮発性メモリに書き込むようなハードウェア的に構成された固有の鍵がユーザ端末２００毎に暗号／復号器２１０に埋め込まれ、ユーザが鍵を任意に変更することは不可能であるため、あるユーザ端末２００にて暗号化されたデータを復号する手段は、当該ユーザ端末２００の暗号・復号器２１０かホスティングサーバ１００の暗号・復号器１１０しかなく、他ユーザによるなりすましでもデータを読み出すことは不可能である。
【００３４】
また、鍵はあらかじめ埋め込まれているため、鍵の発行は不要なので鍵情報のやり取りも無く、ハードウェアで構成しておくことで外部から読み出すことも不可にできる。
【００３５】
更には、ホスティングサーバ１００上で復号されたデータはプロセッサ１３０内部しかないため、物理的な方法による復号されたデータの読み出しは不可であり、管理者もホスティングサーバのＩ／Ｏからモニタを介してデータを参照するため、暗号化されたデータを復号して参照する手段が無い。
【００３６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００３７】
１００  ホスティングサーバ
１１０  暗号・復号器
１１１  データ判別部
１２０  Ｉ／Ｏ
１３０  プロセッサ
１３１  演算器
１３２  プログラムカウンタ
１３３  デコード部
１３４  レジスタ
１３５  Ｉキャッシュ
１３６  Ｄキャッシュ
１４０  メモリ
１５０  ＨＤＤ
１６０  アドレス・鍵テーブル
２００  ユーザ端末
２１０  暗号・復号器
２１１  宛先判別部
２２０  Ｉ／Ｏ
２３０  プロセッサ
２４０  メモリ
２５０  ＨＤＤ
２７０  ネットワークカード
【図１】
2012085148.tif 000003
【図２】
2012085148.tif 000004
【図３】
2012085148.tif 000005
【図４】
2012085148.tif 000006
【図５】
2012085148.tif 000007
【図６】
2012085148.tif 000008
【図７】
2012085148.tif 000009
【図８】
2012085148.tif 000010
【図９】
2012085148.tif 000011