(57)【要約】  属性連携装置（２０）は、複数のデータ管理装置（３０）それぞれで管理される属性情報をあるデータ管理装置（３０）に送信して、属性情報によりデータへのアクセス条件を指定させた上で前記データを記憶させる。属性連携装置（２０）は、複数のデータ管理装置（３０）それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報をあるデータ管理装置（３０）に送信して、アクセス情報によりアクセス条件を満たすか判定させて、データへのアクセスを制御させる。
2017187552.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ管理装置のいずれかのデータ管理装置に、前記複数のデータ管理装置それぞれで管理される属性情報を送信して、送信された前記属性情報によりデータへのアクセス条件を指定させた上で前記データを記憶させる属性配信部と、
前記複数のデータ管理装置それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信して、前記アクセス情報により前記アクセス条件を満たすか判定させて、前記データへのアクセスを制御させる条件配信部と
を備える属性連携装置。
【請求項２】
前記属性配信部は、前記アクセス条件を設定して前記データを暗号化した暗号文を記憶させ、
前記条件配信部は、前記対象ユーザについての属性情報が設定された復号鍵を前記アクセス情報として、前記復号鍵で前記暗号文を復号させることにより、前記データへのアクセスを制御させる
請求項１に記載の属性連携装置。
【請求項３】
前記対象ユーザは、前記複数のデータ管理装置のいずれかのデータ管理装置に属しており、
前記条件配信部は、前記データ管理装置毎に、そのデータ管理装置で管理される前記対象ユーザについての属性情報を設定した復号鍵をそのデータ管理装置についてのアクセス情報として、前記対象ユーザが属するデータ管理装置に対応する復号鍵を送信する
請求項２に記載の属性連携装置。
【請求項４】
前記属性配信部は、前記データ管理装置毎に、そのデータ管理装置のマスタ公開鍵により前記データを暗号化した暗号文を記憶させ、
前記条件配信部は、前記データ管理装置毎に、そのデータ管理装置のマスタ秘密鍵により生成された前記復号鍵をそのデータ管理装置についてのアクセス情報とする
請求項３に記載の属性連携装置。
【請求項５】
前記属性連携装置は、さらに、
復号鍵の取得依頼が受け付けられると、前記復号鍵を生成する復号鍵生成部
を備え、
前記条件配信部は、前記復号鍵生成部によって生成された前記復号鍵で前記暗号文を復号させる
請求項２から４までのいずれか１項に記載の属性連携装置。
【請求項６】
前記属性配信部は、前記複数のデータ管理装置に共通のマスタ公開鍵により前記データを暗号化した暗号文を記憶させ、
前記条件配信部は、前記データ管理装置毎に、前記複数のデータ管理装置に共通のマスタ秘密鍵により生成された前記復号鍵をそのデータ管理装置についてのアクセス情報とする
請求項３に記載の属性連携装置。
【請求項７】
請求項１に記載の属性連携装置と、前記複数のデータ管理装置のいずれかである送信装置及び受信装置とを備える転送システムであり、
前記属性配信部は、前記属性情報を前記送信装置に送信し、前記条件配信部は、前記アクセス情報を前記受信装置に送信し、
前記送信装置は、前記属性情報によりデータへのアクセス条件を指定してデータをストレージ装置に記憶し、
前記受信装置は、前記アクセス情報が前記アクセス条件を満たす場合に、前記データへのアクセスが許可される転送システム。
【請求項８】
請求項２から６までのいずれか１項に記載の属性連携装置と、前記複数のデータ管理装置のいずれかである送信装置及び受信装置とを備える転送システムであり、
前記属性配信部は、前記属性情報を前記送信装置に送信し、前記条件配信部は、前記復号鍵を前記受信装置に送信し、
前記送信装置は、前記属性情報によりデータへの前記アクセス条件を指定させ、指定された前記アクセス条件を設定して前記データを暗号化した前記暗号文をストレージ装置に記憶し、
前記受信装置は、前記復号鍵で前記暗号文を復号する転送システム。
【請求項９】
コンピュータが、複数のデータ管理装置のいずれかのデータ管理装置に、前記複数のデータ管理装置それぞれで管理される属性情報を送信して、送信された前記属性情報によりデータへのアクセス条件を指定させた上で前記データを記憶させ、
コンピュータが、前記複数のデータ管理装置それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信して、前記アクセス情報により前記アクセス条件を満たすか判定させて、前記データへのアクセスを制御させる属性連携方法。
【請求項１０】
複数のデータ管理装置のいずれかのデータ管理装置に、前記複数のデータ管理装置それぞれで管理される属性情報を送信して、送信された前記属性情報によりデータへのアクセス条件を指定させた上で前記データを記憶させる属性配信処理と、
前記複数のデータ管理装置それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信して、前記アクセス情報により前記アクセス条件を満たすか判定させて、前記データへのアクセスを制御させる条件配信処理と
をコンピュータに実行させる属性連携プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のデータ管理装置でデータを管理する技術に関する。
【背景技術】
【０００２】
電子化されたデータをインターネットに接続されたクラウドストレージ又はファイルサーバと呼ばれるデータ管理装置に記憶し、ノートＰＣ、タブレット型デバイス、スマートフォンといった様々な機器から利用することがある。このようなデータの利用方法は利便性が高い一方、意図しないインターネット上の第３者にデータを閲覧されるリスクがある。そのため、機密データに関しては暗号化又はアクセス制限といった情報セキュリティの運用が必須である。【０００３】
特許文献１には、属性情報に基づき、データへのアクセス制御を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−００３３６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以前は、単一のデータ管理装置にデータが記憶されていたため、属性情報の整合性は単一のデータ管理装置内でとれていればよかった。しかし、複数のデータ管理装置間でデータを共有する場合、各データ管理装置で管理されている属性情報の整合性を取りながらアクセス制御を行う必要がある。
この発明は、複数のデータ管理装置間でデータを共有する場合に、各データ管理装置で管理されている属性情報の整合性をとりながらアクセス制御を実施可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る属性連携装置は、
複数のデータ管理装置のいずれかのデータ管理装置に、前記複数のデータ管理装置それぞれで管理される属性情報を送信して、送信された前記属性情報によりデータへのアクセス条件を指定させた上で前記データを記憶させる属性配信部と、
前記複数のデータ管理装置それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信して、前記アクセス情報により前記アクセス条件を満たすか判定させて、前記データへのアクセスを制御させる条件配信部と
を備える。
【発明の効果】
【０００７】
この発明では、データを記憶する場合には、各データ管理装置で管理される属性情報を送信してアクセス条件を指定させ、データにアクセスする場合には、各データ管理装置で管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信してアクセスを制御させる。これにより、各データ管理装置で管理されている属性情報の整合性をとりながらアクセス制御が実施可能である。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るデータ管理システム１０の構成図。
【図２】実施の形態１に係る属性連携装置２０の構成図。
【図３】実施の形態１に係るデータ管理装置３０の構成図。
【図４】実施の形態１に係る連携サービス登録処理のフローチャート。
【図５】実施の形態１に係る連携情報記憶部２２１に記憶される情報の説明図。
【図６】実施の形態１に係る鍵記憶部２２２に記憶される情報の説明図。
【図７】実施の形態１に係るユーザ登録処理のフローチャート。
【図８】実施の形態１に係る属性情報の例を示す図。
【図９】実施の形態１に係る鍵記憶部２２２に記憶される情報の説明図。
【図１０】実施の形態１に係る暗号化処理のフローチャート。
【図１１】実施の形態１に係る暗号文の説明図。
【図１２】実施の形態１に係る復号処理のフローチャート。
【図１３】変形例３に係る属性連携装置２０の構成図。
【図１４】変形例３に係るデータ管理装置３０の構成図。
【図１５】実施の形態２に係る属性連携装置２０の構成図。
【図１６】実施の形態２に係るユーザ登録処理のフローチャート。
【図１７】実施の形態２に係る復号処理のフローチャート。
【図１８】実施の形態３に係る連携サービス登録処理のフローチャート。
【図１９】実施の形態３に係るユーザ登録処理のフローチャート。
【図２０】実施の形態３に係る鍵記憶部２２２に記憶される情報の説明図。
【図２１】実施の形態３に係る暗号化処理のフローチャート。
【図２２】実施の形態３に係るデータ記憶部３２１に記憶される情報の説明図。
【図２３】実施の形態４に係る転送システム１１の構成図。
【図２４】実施の形態４に係る送信処理のフローチャート。
【図２５】実施の形態４に係る受信処理のフローチャート。
【図２６】実施の形態５に係るデータ管理システム１０の構成図。
【図２７】実施の形態５に係るストレージ装置８０の構成図。
【図２８】実施の形態５に係る属性連携装置２０の構成図。
【図２９】実施の形態５に係るデータ管理装置３０の構成図。
【図３０】実施の形態５に係る連携サービス登録処理のフローチャート。
【図３１】実施の形態５に係るユーザ登録処理のフローチャート。
【図３２】実施の形態５に係るアクセス情報記憶部２２３に記憶される情報の説明図。
【図３３】実施の形態５に係るデータ保管処理のフローチャート。
【図３４】実施の形態５に係るデータ取得処理のフローチャート。
【図３５】実施の形態６に係る転送システム１１の構成図。
【図３６】実施の形態６に係る送信処理のフローチャート。
【図３７】実施の形態６に係る受信処理のフローチャート。
【発明を実施するための形態】
【０００９】
実施の形態１．
実施の形態１では、関数型暗号を用いてデータを暗号化した上で記憶する例を説明する。関数型暗号については、国際公開２０１１／１３５８９５号に記載されている。データは、文書データ、音声データ、動画データといった各種電子データである。
【００１０】
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係るデータ管理システム１０の構成を説明する。
データ管理システム１０は、属性連携装置２０と、複数のデータ管理装置３０とを備える。属性連携装置２０と各データ管理装置３０とは、ネットワーク４０を介して接続されている。
各データ管理装置３０には、１人以上のユーザ５０が所属している。ユーザ５０は、所属するデータ管理装置３０にアクセスする。
【００１１】
図２を参照して、実施の形態１に係る属性連携装置２０の構成を説明する。
属性連携装置２０は、コンピュータである。図２では、属性連携装置２０は、１台のコンピュータによって構成されるが、属性連携装置２０は、複数台のコンピュータから構成されてもよい。
【００１２】
属性連携装置２０は、プロセッサ２１と、メモリ２２と、通信インタフェース２３とのハードウェアを備える。プロセッサ２１は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１３】
プロセッサ２１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ２１は、具体例としては、ＣＰＵ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１４】
メモリ２２は、属性連携装置２０の電源がオフの間も実行プログラム及びデータを保持し続けることが可能な不揮発性メモリと、属性連携装置２０の動作時にデータを高速に移動可能な揮発性メモリとで構成される。
不揮発性メモリは、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリである。不揮発性メモリは、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。
揮発性メモリは、具体例としては、ＤＤＲ２−ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ２  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＤＲ３−ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ３  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１５】
通信インタフェース２３は、各データ管理装置３０といった他の装置と通信するための装置である。通信インタフェース２３は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４の端子である。
【００１６】
属性連携装置２０は、機能構成要素として、連携管理部２１１と、マスタ鍵生成部２１２と、ユーザ管理部２１３と、復号鍵生成部２１４と、属性配信部２１５と、条件配信部２１６とを備える。連携管理部２１１と、マスタ鍵生成部２１２と、ユーザ管理部２１３と、復号鍵生成部２１４と、属性配信部２１５と、条件配信部２１６との各部の機能は、ソフトウェアにより実現される。
メモリ２２には、属性連携装置２０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１により読み込まれ実行される。また、メモリ２２は、連携情報記憶部２２１と、鍵記憶部２２２との機能を実現する。
【００１７】
図２では、プロセッサ２１は、１つだけ示されている。しかし、属性連携装置２０は、プロセッサ２１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、属性連携装置２０の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ２１と同じように、プロセッシングを行うＩＣである。
【００１８】
図３を参照して、実施の形態１に係るデータ管理装置３０の構成を説明する。
データ管理装置３０は、クラウドストレージ又はファイルサーバと呼ばれるコンピュータである。図３では、データ管理装置３０は、１台のコンピュータによって構成されるが、データ管理装置３０は、複数台のコンピュータから構成されてもよい。
【００１９】
データ管理装置３０は、プロセッサ３１と、メモリ３２と、通信インタフェース３３とのハードウェアを備える。プロセッサ３１は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２０】
プロセッサ３１は、プロセッシングを行うＩＣである。プロセッサ３１は、具体例としては、ＣＰＵ、ＤＳＰ、ＧＰＵである。
【００２１】
メモリ３２は、データ管理装置３０の電源がオフの間も実行プログラム及びデータを保持し続けることが可能な不揮発性メモリと、データ管理装置３０の動作時にデータを高速に移動可能な揮発性メモリとで構成される。
不揮発性メモリは、具体例としては、ＨＤＤ、ＳＳＤ、フラッシュメモリである。不揮発性メモリは、ＳＤメモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。
揮発性メモリは、具体例としては、ＤＤＲ２−ＳＤＲＡＭ、ＤＤＲ３−ＳＤＲＡＭである。
【００２２】
通信インタフェース３３は、属性連携装置２０といった他の装置と通信するための装置である。通信インタフェース３３は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４の端子である。
【００２３】
データ管理装置３０は、機能構成要素として、データ受付部３１１と、復号条件設定部３１２と、暗号化鍵取得部３１３と、暗号化部３１４と、復号鍵取得部３１５と、復号部３１６と、データ出力部３１７とを備える。データ受付部３１１と、復号条件設定部３１２と、暗号化鍵取得部３１３と、暗号化部３１４と、復号鍵取得部３１５と、復号部３１６と、データ出力部３１７との各部の機能は、ソフトウェアにより実現される。
メモリ３２には、データ管理装置３０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３１により読み込まれ実行される。また、メモリ３２は、データ記憶部３２１の機能を実現する。
【００２４】
図３では、プロセッサ３１は、１つだけ示されている。しかし、データ管理装置３０は、プロセッサ３１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、データ管理装置３０の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ３１と同じように、プロセッシングを行うＩＣである。
【００２５】
＊＊＊動作の説明＊＊＊
図４から図１１を参照して、実施の形態１に係るデータ管理システム１０の動作を説明する。
実施の形態１に係るデータ管理システム１０の動作は、実施の形態１に係るデータ管理方法に相当する。また、実施の形態１に係るデータ管理システム１０の動作は、実施の形態１に係るデータ管理プログラムの処理に相当する。
実施の形態１に係るデータ管理システム１０の動作は、連携サービス登録処理と、ユーザ登録処理と、暗号化処理と、復号処理とを含む。
【００２６】
＊＊連携サービス登録処理＊＊
図４を参照して、実施の形態１に係る連携サービス登録処理を説明する。
連携サービス登録処理は、属性連携装置２０で実行される。連携サービス登録処理では、新たに連携するデータ管理装置３０が属性連携装置２０に登録される。
【００２７】
（ステップＳ１０１：連携情報受付処理）
連携管理部２１１は、通信インタフェース２３を介して、データ管理装置３０の管理者によって入力された連携情報を受け付ける。連携情報は、データ管理装置３０を識別する装置ＩＤと、データ管理装置３０における属性情報の取得先を示すソース情報を含む。装置ＩＤは、事前に割り振られた識別子又はＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。ソース情報は、具体例としては、データ管理装置３０のディレクトリサーバのＵＲＬである。
属性情報は、ユーザ５０の属性を示す情報である。具体例としては、属性情報は、組織構成、役職である。実施の形態１では、属性情報は、［属性型］＝［属性値］という形式で表現する。
【００２８】
（ステップＳ１０２：ドメイン生成処理）
連携管理部２１１は、ステップＳ１０１で受け付けられた連携情報に対応するドメインを生成する。ドメインの生成方法は、各データ管理装置３０に一意のドメインが生成されれば、任意の方法で構わない。
ここでは、連携サービス登録処理が実行される度に、変数Ｘの値をインクリメントし、ｄｏｍａｉｎＸの“Ｘ”に変数Ｘの値を代入してドメインを生成する。そのため、ｄｏｍａｉｎ１，ｄｏｍａｉｎ２，．．．の順にドメインが生成される。
【００２９】
（ステップＳ１０３：連携情報記憶処理）
連携管理部２１１は、ステップＳ１０１で受け付けられた連携情報に含まれるＩＤ及びソース情報を、ステップＳ１０２で生成されたドメインと関連付けて、連携情報記憶部２２１に書き込む。その結果、図５に示すように、連携情報記憶部２２１には、データ管理装置３０に対応するドメイン毎に、装置ＩＤ及びソース情報が記憶される。
【００３０】
（ステップＳ１０４：マスタ鍵生成処理）
マスタ鍵生成部２１２は、ドメイン毎に、関数型暗号におけるＳｅｔｕｐアルゴリズムを実行して、暗号化鍵とマスタ秘密鍵とのマスタ鍵ペアを生成する。暗号化鍵は、関数型暗号において公開パラメータと呼ばれる場合もある。
連携管理部２１１は、生成されたマスタ鍵ペアを、ステップＳ１０２で生成されたドメインと関連付けて、鍵記憶部２２２に書き込む。その結果、図６に示すように、鍵記憶部２２２には、データ管理装置３０に対応するドメイン毎に、暗号化鍵とマスタ秘密鍵とのマスタ鍵ペアが記憶される。
【００３１】
＊＊ユーザ登録処理＊＊
図７を参照して、実施の形態１に係るユーザ登録処理を説明する。
ユーザ登録処理は、属性連携装置２０で実行される。ユーザ登録処理では、新たにデータ管理装置３０に属するユーザ５０が属性連携装置２０に登録される。
【００３２】
（ステップＳ２０１：ユーザ情報受付処理）
ユーザ管理部２１３は、通信インタフェース２３を介して、データ管理装置３０の管理者によって入力されたユーザ情報を受け付ける。ユーザ情報は、あるユーザ５０が使用しているデータ管理装置３０の装置ＩＤと、データ管理装置３０におけるユーザ５０のユーザＩＤとを含む。
【００３３】
（ステップＳ２０２：復号鍵生成処理）
復号鍵生成部２１４は、ステップＳ２０１で受け付けられたユーザ情報に含まれる装置ＩＤに対応するソース情報を、連携情報記憶部２２１から読み出す。復号鍵生成部２１４は、読み出されたソース情報が示す取得先から、ステップＳ２０１で受け付けられたユーザ情報に含まれるユーザＩＤに対応する属性情報を取得する。具体例としては、復号鍵生成部２１４は、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）  ＵＲＬを用いて、属性情報を取得する。例えば、「ｌｄａｐ：／／ｌｄａｐ．ｅｘａｍｐｌｅ．ｃｏｍ／ｄｃ＝  ｓａｍｐｌｅｃｌｏｕｄ，ｄｃ＝ｃｏｍ？ｄｅｐａｒｔｍｅｎｔ」と指定することにより、ＤＮがｄｃ＝ｓａｍｐｌｅｃｌｏｕｄ，ｄｃ＝ｃｏｍであるエントリのｄｅｐａｒｔｍｅｎｔ属性（所属部属性）が取得される。なお、ＤＮは、Ｄｉｓｔｉｎｇｕｉｓｈｅｄ  Ｎａｍｅの略であり、ｄｃは、Ｄｏｍａｉｎ−Ｃｏｍｐｏｎｅｎｔの略である。
例えば、ソース情報が示す取得先に、図８に示す属性情報が記憶されていたとする。そして、ユーザＩＤとして“Ａ１０００２”が取得されていたとする。すると、レコード番号が１の「ＩＤ＝Ａ１０００２，名＝佐藤哲也，部＝経理部，課＝予算課，役職＝課長」が属性情報として取得される。
【００３４】
復号鍵生成部２１４は、ステップＳ２０１で受け付けられたユーザ情報に含まれる装置ＩＤに対応するドメインを、連携情報記憶部２２１から読み出す。復号鍵生成部２１４は、読み出されたドメインに対応するマスタ秘密鍵を鍵記憶部２２２から読み出す。そして、復号鍵生成部２１４は、読み出されたマスタ秘密鍵を用いて、関数型暗号におけるＫｅｙＧｅｎアルゴリズムを実行して、取得された属性情報をパラメータとして復号鍵を生成する。復号鍵は、関数型暗号においてユーザ秘密鍵と呼ばれる場合もある。
復号鍵には、パラメータとされた属性情報が設定される。上記例であれば、復号鍵には、「ＩＤ＝Ａ１０００２，名＝佐藤哲也，部＝経理部，課＝予算課，役職＝課長」が設定される。
【００３５】
（ステップＳ２０３：復号鍵記憶処理）
ユーザ管理部２１３は、ステップＳ２０２で生成された復号鍵を、ユーザＩＤとともに、ステップＳ２０２で読み出されたドメインと関連付けて、鍵記憶部２２２に書き込む。その結果、図９に示すように、鍵記憶部２２２には、データ管理装置３０に対応するドメイン毎に、マスタ鍵ペアと、ユーザＩＤに対応付られた復号鍵とが記憶される。
【００３６】
＊＊暗号化処理＊＊
図１０を参照して、実施の形態１に係る暗号化処理を説明する。
暗号化処理は、属性連携装置２０と対象のデータ管理装置３０とで実行される。暗号化処理では、データが暗号化された上で記憶される。
（ステップＳ３０１：データ受付処理）
対象のデータ管理装置３０のデータ受付部３１１は、通信インタフェース３３を介して、データ管理装置３０のユーザ５０から記憶対象のデータの入力を受け付ける。
【００３７】
（ステップＳ３０２：属性取得処理）
データ受付部３１１は、通信インタフェース３３を介して、属性情報の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の属性配信部２１５は、連携情報記憶部２２１に記憶された全てのソース情報を読み出す。属性配信部２１５は、読み出された各ソース情報が示す取得先から、全ての属性情報を取得する。属性配信部２１５は、通信インタフェース２３を介して、取得された属性情報を取得元のドメインとともに、対象のデータ管理装置３０に送信する。これにより、データ受付部３１１は、各データ管理装置３０で管理される属性情報を取得する。
【００３８】
（ステップＳ３０３：復号条件受付処理）
対象のデータ管理装置３０の復号条件設定部３１２は、通信インタフェース３３を介して、データ管理装置３０のユーザ５０から、ステップＳ３０２で取得された各データ管理装置３０で管理される属性情報を組合せた復号条件の入力を受け付ける。
具体例としては、復号条件設定部３１２は、各データ管理装置３０で管理される属性情報の属性型を表示装置に表示し、属性型に対して復号条件に設定する属性値を指定させることにより、復号条件を入力させる。復号条件は、「部＝経理部  ＡＮＤ  課＝予算課」のように、［属性型］＝［属性値］の条件と、各条件を繋ぐ“ＡＮＤ”，“ＯＲ”といったオペレータと、論理式の評価の優先度を表す“（）”との組合せで表現される。なお、オペレータとして否定を表す“ＮＯＴ”が用いられる場合もある。
複数のデータ管理装置３０で管理される属性情報を組合せて復号条件が設定される場合には、例えば、各データ管理装置３０で管理される属性情報で設定された復号条件が“ＯＲ”で組合せられて設定される。
【００３９】
（ステップＳ３０４：暗号化鍵取得処理）
対象のデータ管理装置３０の暗号化鍵取得部３１３は、通信インタフェース３３を介して、復号条件に使用した属性情報のドメインが含められた、暗号化鍵の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の属性配信部２１５は、暗号化鍵の取得依頼に含まれるドメインの暗号化鍵を、鍵記憶部２２２から読み出す。暗号化鍵の取得依頼に複数のドメインが含まれる場合には、各ドメインの暗号化鍵が読み出される。属性配信部２１５は、通信インタフェース２３を介して、読み出された暗号化鍵をドメインとともに、対象のデータ管理装置３０に送信する。これにより、暗号化鍵取得部３１３は、復号条件に使用した属性情報のドメインの暗号化鍵を取得する。
【００４０】
（ステップＳ３０５：データ暗号化処理）
対象のデータ管理装置３０の暗号化部３１４は、ＡＥＳ（登録商標、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）又はＣａｍｅｌｌｉａ（登録商標）といった共通鍵暗号方式の共通鍵を、ランダムに生成する。暗号化部３１４は、ステップＳ３０１で受け付けられたデータを、生成された共通鍵で暗号化して暗号化データを生成する。
【００４１】
（ステップＳ３０６：鍵暗号化処理）
対象のデータ管理装置３０の暗号化部３１４は、ステップＳ３０５で生成された共通鍵を、ステップＳ３０３で受け付けられた復号条件をパラメータとして、ステップＳ３０４で取得された暗号化鍵を用いて関数型暗号におけるＥｎｃアルゴリズムを実行して暗号化して暗号化共通鍵を生成する。この際、ステップＳ３０４で複数のドメインの暗号化鍵が取得された場合には、暗号化鍵毎に暗号化共通鍵が生成される。
暗号化鍵には、パラメータとされた属性情報が埋め込まれる。例えば、暗号化鍵には、「部＝経理部  ＡＮＤ  課＝予算課」が設定される。暗号化鍵に設定された属性情報と、復号鍵に設定された属性情報とが対応する場合に限り、暗号文を復号鍵で復号できる。つまり、属性情報に基づく復号条件をパラメータとして関数型暗号で暗号化することにより、属性情報により共通鍵へのアクセス条件が指定される。共通鍵がなければ、暗号化データを復号できないので、属性情報によりデータへのアクセス条件が指定されたことになる。
【００４２】
（ステップＳ３０７：暗号文記憶処理）
対象のデータ管理装置３０の暗号化部３１４は、図１１に示すように、ドメインとステップＳ３０６で生成された暗号化共通鍵との組をヘッダ部に含め、ステップＳ３０５で生成された暗号化データをデータ部に含めた暗号文を、データ記憶部３２１に書き込む。
【００４３】
＊＊復号処理＊＊
図１２を参照して、実施の形態１に係る復号処理を説明する。
復号処理は、属性連携装置２０と対象のデータ管理装置３０とで実行される。復号処理では、記憶されたデータが読み出され復号される。
復号処理の前提として、対象のデータ管理装置３０にユーザ５０がログインしているものとする。例えば、ユーザＩＤ及びパスワードによる認証、生体認証、又は、ＩＣカードによる認証により、データ管理装置３０がユーザ５０を認証した上で、復号処理が開始される。ログインしているユーザ５０を対象ユーザと呼ぶ。
【００４４】
（ステップＳ４０１：暗号文読出処理）
対象のデータ管理装置３０の復号部３１６は、通信インタフェース３３を介して、対象ユーザから暗号文の指定を受け付ける。復号部３１６は、指定された暗号文をデータ記憶部３２１から読み出す。
なお、対象のデータ管理装置３０とは異なる他のデータ管理装置３０のデータ記憶部３２１に記憶された暗号文が指定されてもよい。この場合、復号部３１６は、通信インタフェース３３を介して、他のデータ管理装置３０のデータ記憶部３２１から指定された暗号文を読み出す。
【００４５】
（ステップＳ４０２：復号鍵取得処理）
対象のデータ管理装置３０の復号鍵取得部３１５は、通信インタフェース３３を介して、対象のデータ管理装置３０のドメインと、ステップＳ４０１で暗号文を指定したユーザ５０である対象ユーザのユーザＩＤとが含められた、復号鍵の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の条件配信部２１６は、復号鍵の取得依頼に含まれるドメインから、ユーザＩＤに対応する復号鍵を読み出す。条件配信部２１６は、通信インタフェース２３を介して、読み出された復号鍵をドメインとともに、対象のデータ管理装置３０に送信する。これにより、復号鍵取得部３１５は、暗号文のヘッダ部に含まれるドメインに対応した復号鍵を取得する。
なお、条件配信部２１６は、何らかの方法により対象ユーザの認証を行い、認証が取れた場合に、復号鍵を対象のデータ管理装置３０に送信するようにしてもよい。例えば、条件配信部２１６は、復号鍵の取得依頼を受信すると、パスワードの送信を要求し、ユーザＩＤとパスワードとの組によって対象ユーザを認証してもよい。
【００４６】
（ステップＳ４０３：鍵復号処理）
対象のデータ管理装置３０の復号部３１６は、ステップＳ４０１で読み出された暗号文のヘッダ部から、対象のデータ管理装置３０のドメインと同じ組の暗号化共通鍵を読み出す。復号部３１６は、関数型暗号におけるＤｅｃアルゴリズムを実行して、読み出された暗号化共通鍵を、ステップＳ４０２で取得された復号鍵で復号して、共通鍵を生成する。
【００４７】
（ステップＳ４０４：データ復号処理）
対象のデータ管理装置３０の復号部３１６は、ステップＳ４０１で読み出された暗号文のデータ部から暗号化データを読み出す。復号部３１６は、読み出された暗号化データを、ステップＳ４０３で生成された共通鍵で復号して、データを生成する。
【００４８】
（ステップＳ４０５：データ出力処理）
対象のデータ管理装置３０のデータ出力部３１７は、通信インタフェース３３を介して、ステップＳ４０４で生成されたデータを出力する。
【００４９】
ステップＳ４０２で取得された復号鍵は、対象ユーザについての属性情報が設定されたアクセス情報である。復号鍵により暗号化共通鍵を復号することは、アクセス情報により、暗号文に設定されたアクセス条件を満たすか判定することに相当する。そして、アクセス情報がアクセス条件を満たすと判定された場合には、復号鍵により暗号化鍵が復号でき、共通鍵が得られる。その結果、暗号化データを復号してデータを得ることができる。
【００５０】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係るデータ管理システム１０では、属性連携装置２０はいずれかのデータ管理装置３０に、複数のデータ管理装置３０それぞれで管理される属性情報を送信して、属性情報によりデータへのアクセス条件を指定させた上でデータを記憶させる。そして、属性連携装置２０は、いずれかのデータ管理装置３０に、複数のデータ管理装置３０それぞれで管理される属性情報のうち対象ユーザについての属性情報が設定されたアクセス情報を送信して、アクセス情報によりアクセス条件を満たすか判定させて、データへのアクセスを制御させる。
これにより、各データ管理装置３０で管理されている属性情報の整合性をとりながらアクセス制御が実施可能である。
【００５１】
実施の形態１に係るデータ管理システム１０では、データ管理装置３０毎にマスタ鍵ペアを管理し、データ記憶時にデータを公開する対象のデータ管理装置３０の暗号化鍵で暗号化した暗号文を生成する。これにより、意図しないデータ管理装置３０のユーザ５０にデータへのアクセスが許可されることを防止しつつ、ＲＳＡ暗号といった暗号方式を利用した場合に比べ、少ないマスタ鍵ペア及び復号鍵で運用することが可能である。
【００５２】
例えば、「職種＝管理職」という属性があった場合に、あるデータ管理装置３０Ａでは管理職に「課長」を含むが、他のデータ管理装置３０Ｂでは管理職に「課長」を含まないとする。この場合、従来のデータ管理技術では、あるユーザ５０が部長以上の属性を持つユーザ５０とファイルを共有するためにデータ管理装置３０Ｂで「職種＝管理職」という復号条件を設定した場合、データ管理装置３０Ａでは「課長」の属性を持つユーザ５０でも復号できてしまうといったことが起こり得た。
しかし、実施の形態１に係るデータ管理システム１０では、データ管理装置３０毎に管理された属性情報を用いて、アクセス情報である復号鍵と、アクセス条件が設定された暗号文とが生成される。そのため、このような意図しないユーザ５０が暗号文を復号できてしまうといったことを防止できる。
【００５３】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、データを共通鍵で暗号化し、共通鍵を関数型暗号で暗号化するハイブリット暗号を用いて暗号文を生成した。しかし、変形例１として、データが関数型暗号で暗号化されてもよい。
この場合、暗号化処理では、ドメイン毎に、そのドメインの暗号化鍵を用いてデータが暗号化された暗号文が生成されることになる。また、この場合、復号処理では、対象のデータ管理装置３０のドメインの暗号文が復号鍵で復号され、データが生成されることになる。
【００５４】
＜変形例２＞
実施の形態１では、暗号文はデータ記憶部３２１に記憶された。しかし、変形例２として、暗号文は、データ管理装置３０とは異なるストレージ装置に記憶されてもよい。
【００５５】
＜変形例３＞
実施の形態１では、属性連携装置２０及びデータ管理装置３０の各部の機能がソフトウェアで実現された。変形例３として、属性連携装置２０及びデータ管理装置３０の各部の機能はハードウェアで実現されてもよい。この変形例３について、実施の形態１と異なる点を説明する。
【００５６】
図１３及び図１４を参照して、変形例３に係る属性連携装置２０及びデータ管理装置３０の構成を説明する。
各部の機能がハードウェアで実現される場合、属性連携装置２０及びデータ管理装置３０は、プロセッサ２１，３１とメモリ２２，３２とに代えて、処理回路２４，３４を備える。処理回路２４，３４は、属性連携装置２０及びデータ管理装置３０の各部の機能と、メモリ１２の機能とを実現する専用の電子回路である。
【００５７】
処理回路２４，３４は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各部の機能を１つの処理回路２４，３４で実現してもよいし、各部の機能を複数の処理回路２４，３４に分散させて実現してもよい。
【００５８】
＜変形例４＞
変形例４として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、属性連携装置２０及びデータ管理装置３０の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００５９】
プロセッサ２１，３１とメモリ２２，３２と処理回路２４，３４とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
【００６０】
実施の形態２．
実施の形態１では、ユーザ登録処理において、登録されたユーザの復号鍵を生成し、鍵記憶部２２２に記憶しておいた。実施の形態２では、復号処理において復号鍵が必要になった時点で復号鍵が生成される点が実施の形態１と異なる。実施の形態２では、この異なる点を説明する。
【００６１】
＊＊＊構成の説明＊＊＊
図１５を参照して、実施の形態２に係る属性連携装置２０の構成を説明する。
属性連携装置２０の構成は、図２に示す属性連携装置２０と同じである。但し、ユーザ管理部２１３と復号鍵生成部２１４と条件配信部２１６との接続関係が異なる。
【００６２】
＊＊＊動作の説明＊＊＊
図１６から図１７を参照して、実施の形態２に係るデータ管理システム１０の動作を説明する。
実施の形態２に係るデータ管理システム１０の動作は、実施の形態２に係るデータ管理方法に相当する。また、実施の形態２に係るデータ管理システム１０の動作は、実施の形態２に係るデータ管理プログラムの処理に相当する。
実施の形態２に係るデータ管理システム１０の動作は、ユーザ登録処理と、復号処理とが実施の形態１と異なる。
【００６３】
＊＊ユーザ登録処理＊＊
図１６を参照して、実施の形態２に係るユーザ登録処理を説明する。
ステップＳ２１１の処理は、図７のステップＳ２０１の処理と同じである。
【００６４】
（ステップＳ２１２：ＩＤ記憶処理）
ユーザ管理部２１３は、ステップＳ２１１で受け付けられたユーザ情報に含まれる装置ＩＤに対応するドメインと、ユーザ情報に含まれるユーザＩＤとを関連付けて、鍵記憶部２２２に書き込む。
【００６５】
＊＊復号処理＊＊
図１７を参照して、実施の形態２に係る復号処理を説明する。
ステップＳ４１１の処理と、ステップＳ４１３からステップＳ４１５の処理とは、図１２のステップＳ４０１の処理と、ステップＳ４０３からステップＳ４０５の処理と同じである。
【００６６】
（ステップＳ４１２：復号鍵取得処理）
対象のデータ管理装置３０の復号鍵取得部３１５は、通信インタフェース３３を介して、対象のデータ管理装置３０のドメインと、ステップＳ４０１で暗号文を指定したユーザ５０である対象ユーザのユーザＩＤとが含められた、復号鍵の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の条件配信部２１６は、復号鍵の取得依頼に含まれるドメインに関連付けられて、復号鍵の取得依頼に含まれるユーザＩＤが鍵記憶部２２２に記憶されているか否か判定する。記憶されている場合、復号鍵生成部２１４は、復号鍵の取得依頼に含まれるドメインに対応するソース情報を、連携情報記憶部２２１から読み出す。復号鍵生成部２１４は、読み出されたソース情報が示す取得先から、復号鍵の取得依頼に含まれるユーザＩＤに対応する属性情報を取得する。復号鍵生成部２１４は、復号鍵の取得依頼に含まれるドメインに対応するマスタ秘密鍵を鍵記憶部２２２から読み出す。そして、復号鍵生成部２１４は、読み出されたマスタ秘密鍵を用いて、関数型暗号におけるＫｅｙＧｅｎアルゴリズムを実行して、取得された属性情報をパラメータとして復号鍵を生成する。
条件配信部２１６は、通信インタフェース２３を介して、生成された復号鍵をドメインとともに、対象のデータ管理装置３０に送信する。これにより、属性配信部２１５は、暗号文のヘッダ部に含まれるドメインに対応した復号鍵を取得する。
【００６７】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係るデータ管理システム１０では、復号処理において復号鍵が必要になった時点で復号鍵が生成される。これにより、鍵記憶部２２２に記憶する情報を減らすことができる。
【００６８】
実施の形態３．
実施の形態１では、データ管理装置３０毎に暗号化鍵とマスタ秘密鍵とのマスタ鍵ペアを生成した。実施の形態３では、各データ管理装置３０に共通のマスタ鍵ペアを生成する点が実施の形態１と異なる。実施の形態３では、この異なる点を説明する。
なお、実施の形態３では、実施の形態１を変形させた場合を説明するが、実施の形態２に同様の変形を加えることも可能である。
【００６９】
＊＊＊動作の説明＊＊＊
図１８から図２２を参照して、実施の形態３に係るデータ管理システム１０の動作を説明する。
実施の形態３に係るデータ管理システム１０の動作は、実施の形態３に係るデータ管理方法に相当する。また、実施の形態３に係るデータ管理システム１０の動作は、実施の形態３に係るデータ管理プログラムの処理に相当する。
実施の形態３に係るデータ管理システム１０の動作は、連携サービス登録処理と、ユーザ登録処理と、暗号化処理とが実施の形態１と異なる。
【００７０】
＊＊連携サービス登録処理＊＊
図１８を参照して、実施の形態３に係る連携サービス登録処理を説明する。
ステップＳ１２１からステップＳ１２３の処理は、図４のステップＳ１０１からステップＳ１０３の処理と同じである。
【００７１】
（ステップＳ１２４：マスタ鍵生成処理）
マスタ鍵生成部２１２は、関数型暗号におけるＳｅｔｕｐアルゴリズムを実行して、全てのデータ管理装置３０に共通の暗号化鍵とマスタ秘密鍵とのマスタ鍵ペアを生成する。
連携管理部２１１は、生成されたマスタ鍵ペアを鍵記憶部２２２に書き込む。
【００７２】
＊＊ユーザ登録処理＊＊
図１９を参照して、実施の形態３に係るユーザ登録処理を説明する。
ステップＳ２２１の処理とステップＳ２２３の処理とは、図７のステップＳ２０１の処理とステップＳ２０３の処理と同じである。
【００７３】
（ステップＳ２２２：復号鍵生成処理）
ステップＳ２２２の処理は、図７のステップＳ２０２の処理と原則として同じである。但し、復号鍵を生成する際には、どのドメインについても共通のマスタ秘密鍵を用いる点が異なる。
【００７４】
その結果、図２０に示すように、ステップＳ２２３の処理で、鍵記憶部２２２には、共通のマスタ鍵ペアが記憶されるとともに、ドメイン毎にユーザＩＤに対応付られた復号鍵が記憶される。
【００７５】
＊＊暗号化処理＊＊
図２１を参照して、実施の形態３に係る暗号化処理を説明する。
ステップＳ３２１からステップＳ３２３の処理と、ステップＳ３２５の処理と、ステップＳ３２７の処理とは、図１０のステップＳ３０１からステップＳ３０３の処理と、ステップＳ３０５の処理と、ステップＳ３０７の処理と同じである。
【００７６】
（ステップＳ３２４：暗号化鍵取得処理）
対象のデータ管理装置３０の暗号化鍵取得部３１３は、通信インタフェース３３を介して、暗号化鍵の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の属性配信部２１５は、共通の暗号化鍵を、鍵記憶部２２２から読み出す。属性配信部２１５は、通信インタフェース２３を介して、読み出された暗号化鍵を、対象のデータ管理装置３０に送信する。これにより、暗号化鍵取得部３１３は、共通の暗号化鍵を取得する。
【００７７】
（ステップＳ３２６：鍵暗号化処理）
対象のデータ管理装置３０の暗号化部３１４は、ステップＳ３２５で生成された共通鍵を、ステップＳ３２３で受け付けられた復号条件をパラメータとして、ステップＳ３２４で取得された共通の暗号化鍵を用いて関数型暗号におけるＥｎｃアルゴリズムを実行して暗号化して暗号化共通鍵を生成する。
【００７８】
その結果、図２２に示すように、ステップＳ３２７の処理で、データ記憶部３２１には、各ドメインに共通の暗号化共通鍵をヘッダ部に含め、暗号化データをデータ部に含めた暗号文が記憶される。
【００７９】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係るデータ管理システム１０では、共通のマスタ鍵ペアを用いる。これにより、鍵記憶部２２２に記憶する情報を減らすことができる。また、暗号文のヘッダ部には、１つの暗号化共通鍵だけが含まれる。そのため、データ記憶部３２１に記憶する情報を減らすことができる。
【００８０】
実施の形態４．
実施の形態４では、実施の形態１〜３で説明したデータ管理システム１０を応用し、あるデータ管理装置３０である送信装置６０から他のデータ管理装置３０である受信装置７０へデータを転送する転送システム１１について説明する。
実施の形態４では、実施の形態１で説明したデータ管理システム１０を応用した転送システム１１について説明する。しかし、実施の形態２，３で説明したデータ管理システム１０を同様に応用して転送システムを構成することも可能である。
実施の形態４では、実施の形態１と異なる点を説明する。
【００８１】
なお、実施の形態４では、変形例２で説明したように、データ管理装置３０のデータ記憶部３２１ではなく、データ管理装置３０とは異なるストレージ装置８０に暗号文が記憶されるものとして説明する。
【００８２】
＊＊＊構成の説明＊＊＊
図２３を参照して、実施の形態４に係る転送システム１１の構成を説明する。
転送システム１１は、属性連携装置２０と、複数のデータ管理装置３０と、ストレージ装置８０とを備える。属性連携装置２０と各データ管理装置３０とストレージ装置８０とは、ネットワーク４０を介して接続されている。
ここで、あるデータ管理装置３０が送信装置６０であり、他のデータ管理装置３０が受信装置７０である。送信装置６０は、データの送信元の装置であり、受信装置７０は、データの送信先の装置である。以下の説明では、送信装置６０のユーザ５０を送信ユーザと呼び、受信装置７０のユーザ５０を受信ユーザと呼ぶ。
【００８３】
＊＊＊動作の説明＊＊＊
図２４から図２５を参照して、実施の形態４に係る転送システム１１の動作を説明する。
実施の形態４に係る転送システム１１の動作は、実施の形態４に係る転送方法に相当する。また、実施の形態４に係る転送システム１１の動作は、実施の形態４に係る転送プログラムの処理に相当する。
実施の形態４に係る転送システム１１の動作は、連携サービス登録処理と、ユーザ登録処理と、送信処理と、受信処理とを含む。連携サービス登録処理と、ユーザ登録処理とは、実施の形態１と同じである。
【００８４】
＊＊送信処理＊＊
図２４を参照して、実施の形態４に係る送信処理を説明する。
送信処理は、送信装置６０で実行される。送信処理では、データが送信装置６０の送信ユーザから受信装置７０の受信ユーザに送信される。
【００８５】
ステップＳ３３１からステップＳ３３６の処理は、図１０のステップＳ３０１からステップＳ３０６の処理と同じである。なお、ステップＳ３３３では、復号条件として、暗号文の宛先となる受信ユーザの属性が指定される。
【００８６】
（ステップＳ３３７：暗号文記憶処理）
送信装置６０の暗号化部３１４は、図１１に示すように、ドメインとステップＳ３０６で生成された暗号化共通鍵との組をヘッダ部に含め、ステップＳ３０５で生成された暗号化データをデータ部に含めた暗号文を、通信インタフェース３３を介してストレージ装置８０にアップロードする。
すると、ストレージ装置８０から暗号文が記憶された位置を示すＵＲＬが送信装置６０に送信される。暗号化部３１４は、送信されたＵＲＬを受信装置７０の受信ユーザに送信する。具体例としては、暗号化部３１４は、ＵＲＬを示した電子メールを受信装置７０の受信ユーザ宛てに送信する。
【００８７】
＊＊受信処理＊＊
図２５を参照して、実施の形態４に係る受信処理を説明する。
受信処理は、受信装置７０で実行される。受信処理では、送信装置６０の送信ユーザから送信されたデータを受信装置７０の受信ユーザが受信する。
【００８８】
ステップＳ４３２からステップＳ４３５の処理は、図１２のステップＳ４０２からステップＳ４０５の処理と同じである。
【００８９】
（ステップＳ４３１：暗号文読出処理）
対象のデータ管理装置３０の復号部３１６は、通信インタフェース３３を介して、受信ユーザから暗号文の指定を受け付ける。ここでは、ステップＳ３３７で送信されたＵＲＬが示されることにより、暗号文が指定される。復号部３１６は、指定された暗号文をストレージ装置８０からダウンロードする。
【００９０】
なお、ステップＳ４３２では、ＵＲＬの送信元のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）を使用している場合にはクライアント証明書といった情報を用いて、受信ユーザを認証した上で、復号鍵を送信するようにしてもよい。
【００９１】
＊＊＊実施の形態４の効果＊＊＊
以上のように、実施の形態４に係る転送システム１１では、送信装置６０の送信ユーザから受信装置７０の受信ユーザにデータを転送することができる。特に、送信装置６０と受信装置７０とで属性情報が別々に管理されている場合であっても、適切なアクセス制御を実現した上で、データを転送することができる。
【００９２】
実施の形態５．
実施の形態１では、関数型暗号を用いてアクセス制御を行った。実施の形態５は、関数型暗号といった暗号を用いずアクセス制御を行う点が実施の形態１と異なる。実施の形態５では、この異なる点を説明する。
【００９３】
＊＊＊構成の説明＊＊＊
図２６を参照して、実施の形態５に係るデータ管理システム１０の構成を説明する。
データ管理システム１０は、ストレージ装置８０を備える点が図１に示すデータ管理システム１０と異なる。
ストレージ装置８０は、ネットワーク４０を介して、属性連携装置２０及び各データ管理装置３０と接続されている。
【００９４】
図２７を参照して、実施の形態５に係るストレージ装置８０の構成を説明する。
ストレージ装置８０は、各データ管理装置３０で管理されるデータを保管するコンピュータである。図２７では、ストレージ装置８０は、１台のコンピュータによって構成されるが、ストレージ装置８０は、複数台のコンピュータから構成されてもよい。
【００９５】
ストレージ装置８０は、プロセッサ８１と、メモリ８２と、通信インタフェース８３とのハードウェアを備える。プロセッサ８１は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００９６】
プロセッサ８１は、プロセッシングを行うＩＣである。プロセッサ８１は、具体例としては、ＣＰＵ、ＤＳＰ、ＧＰＵである。
【００９７】
メモリ８２は、ストレージ装置８０の電源がオフの間も実行プログラム及びデータを保持し続けることが可能な不揮発性メモリと、ストレージ装置８０の動作時にデータを高速に移動可能な揮発性メモリとで構成される。
不揮発性メモリは、具体例としては、ＨＤＤ、ＳＳＤ、フラッシュメモリである。不揮発性メモリは、ＳＤメモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。
揮発性メモリは、具体例としては、ＤＤＲ２−ＳＤＲＡＭ、ＤＤＲ３−ＳＤＲＡＭである。
【００９８】
通信インタフェース８３は、各データ管理装置３０と通信するための装置である。通信インタフェース８３は、具体例としては、Ｅｔｈｅｒｎｅｔ、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４の端子である。
【００９９】
ストレージ装置８０は、機能構成要素として、データ受付部８１１と、要求受付部８１２と、アクセス判定部８１３と、アクセス情報取得部８１４と、データ出力部８１５とを備える。データ受付部８１１と、要求受付部８１２と、アクセス判定部８１３と、アクセス情報取得部８１４と、データ出力部８１５との各部の機能は、ソフトウェアにより実現される。
メモリ８２には、ストレージ装置８０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ８１により読み込まれ実行される。また、メモリ８２は、データ記憶部８２１の機能を実現する。
【０１００】
図２７では、プロセッサ８１は、１つだけ示されている。しかし、ストレージ装置８０は、プロセッサ８１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、ストレージ装置８０の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ８１と同じように、プロセッシングを行うＩＣである。
【０１０１】
図２８を参照して、実施の形態５に係る属性連携装置２０の構成を説明する。
属性連携装置２０は、機能構成要素として、マスタ鍵生成部２１２と、復号鍵生成部２１４とを備えていない点が、図２に示す属性連携装置２０と異なる。また、属性連携装置２０は、鍵記憶部２２２に代えて、アクセス情報記憶部２２３を備える点が、図２に示す属性連携装置２０と異なる。
【０１０２】
図２９を参照して、実施の形態５に係るデータ管理装置３０の構成を説明する。
データ管理装置３０は、機能構成要素として、復号条件設定部３１２と、暗号化鍵取得部３１３と、暗号化部３１４と、復号鍵取得部３１５と、復号部３１６とに代えて、アクセス条件設定部３１８と、データ取得部３１９とを備える点が、図３に示すデータ管理装置３０と異なる。また、データ管理装置３０は、データ記憶部３２１を備えていない点が、図３に示すデータ管理装置３０と異なる。
【０１０３】
＊＊＊動作の説明＊＊＊
図３０から図３４を参照して、実施の形態５に係るデータ管理システム１０の動作を説明する。
実施の形態５に係るデータ管理システム１０の動作は、実施の形態５に係るデータ管理方法に相当する。また、実施の形態５に係るデータ管理システム１０の動作は、実施の形態５に係るデータ管理プログラムの処理に相当する。
実施の形態５に係るデータ管理システム１０の動作は、連携サービス登録処理と、ユーザ登録処理と、データ保管処理と、データ取得処理とを含む。
【０１０４】
＊＊連携サービス登録処理＊＊
図３０を参照して、実施の形態５に係る連携サービス登録処理を説明する。
ステップＳ１４１からステップＳ１４３の処理は、図４のステップＳ１０１からステップＳ１０３の処理と同じである。つまり、連携サービス登録処理は、ステップＳ１０４の処理がない点が実施の形態１と異なる。
【０１０５】
＊＊ユーザ登録処理＊＊
図３１を参照して、実施の形態５に係るユーザ登録処理を説明する。
ステップＳ２４１の処理は、図７のステップＳ２０１の処理と同じである。
【０１０６】
（ステップＳ２４２：アクセス情報生成処理）
ユーザ管理部２１３は、ステップＳ２４１で受け付けられたユーザ情報に含まれる装置ＩＤに対応するソース情報を、連携情報記憶部２２１から読み出す。ユーザ管理部２１３は、読み出されたソース情報が示す取得先から、ステップＳ２４１で受け付けられたユーザ情報に含まれるユーザＩＤに対応する属性情報を取得する。ユーザ管理部２１３は、取得された属性情報をアクセス情報とする。
【０１０７】
（ステップＳ２４３：アクセス情報記憶処理）
ユーザ管理部２１３は、ステップＳ２４１で受け付けられたユーザ情報に含まれる装置ＩＤに対応するドメインを、連携情報記憶部２２１から読み出す。ユーザ管理部２１３は、通信インタフェース２３を介して、アクセス情報を、ユーザＩＤ及びドメインに関連付けて、アクセス情報記憶部２２３に書き込む。その結果、図３２に示すように、アクセス情報記憶部２２３には、ドメイン毎に、ユーザＩＤに対応付られたアクセス情報が記憶される。
【０１０８】
＊＊データ保管処理＊＊
図３３を参照して、実施の形態５に係るデータ保管処理を説明する。
データ保管処理は、属性連携装置２０と対象のデータ管理装置３０とストレージ装置８０とで実行される。データ保管処理は、実施の形態１の暗号化処理に対応する処理であり、データがストレージ装置８０に記憶される。
【０１０９】
ステップＳ３４１からステップＳ３４２の処理は、図１０のステップＳ３０１からステップＳ３０２の処理と同じである。
【０１１０】
（ステップＳ３４３：アクセス条件受付処理）
対象のデータ管理装置３０のアクセス条件設定部３１８は、通信インタフェース３３を介して、データ管理装置３０のユーザ５０から、ステップＳ３４２で取得された各データ管理装置３０で管理される属性情報を組合せたアクセス条件の入力を受け付ける。
具体例としては、アクセス条件設定部３１８は、各データ管理装置３０で管理される属性情報の属性型を表示装置に表示し、属性型に対してアクセス条件に設定する属性値を指定させることにより、復号条件を入力させる。アクセス条件は、「部＝経理部  ＡＮＤ  課＝予算課」のように、［属性型］＝［属性値］の条件と、各条件を繋ぐ“ＡＮＤ”，“ＯＲ”といったオペレータと、論理式の評価の優先度を表す“（）”との組合せで表現される。なお、オペレータとして否定を表す“ＮＯＴ”が用いられる場合もある。
【０１１１】
（ステップＳ３４４：データ記憶処理）
対象のデータ管理装置３０のアクセス条件設定部３１８は、通信インタフェース３３を介して、ステップＳ３４１で受信されたデータと、ステップＳ３４３で受け付けられたアクセス条件とを、ストレージ装置８０に送信する。
ストレージ装置８０のデータ受付部８１１は、通信インタフェース８３を介して、送信されたデータ及びアクセス条件を受け付ける。そして、データ受付部８１１は、データとアクセス条件とを関連付けて、データ記憶部８２１に書き込む。
【０１１２】
＊＊データ取得処理＊＊
図３４を参照して、実施の形態５に係るデータ取得処理を説明する。
データ取得処理は、属性連携装置２０と対象のデータ管理装置３０とストレージ装置８０とで実行される。データ取得処理は、実施の形態１の復号処理に対応する処理であり、ストレージ装置８０に記憶されたデータが読み出される。
データ取得処理の前提として、対象のデータ管理装置３０にユーザ５０がログインしているものとする。例えば、ユーザＩＤ及びパスワードによる認証、生体認証、又は、ＩＣカードによる認証により、データ管理装置３０がユーザ５０を認証した上で、データ取得処理が開始される。ログインしているユーザ５０を対象ユーザと呼ぶ。
【０１１３】
（ステップＳ４４１：データ指定処理）
対象のデータ管理装置３０のデータ取得部３１９は、通信インタフェース３３を介して、対象ユーザからデータの指定を受け付ける。データ取得部３１９は、通信インタフェース３３を介して、受け付けられた対象のデータを特定する情報と、対象のデータ管理装置３０のドメインと、対象ユーザのユーザＩＤとが含められた、データの取得要求をストレージ装置８０に送信する。
【０１１４】
（ステップＳ４４２：アクセス情報取得処理）
ストレージ装置８０の要求受付部８１２は、通信インタフェース８３を介して、データの取得要求を受け付ける。アクセス情報取得部８１４は、通信インタフェース８３を介して、ステップＳ４４１で送信された対象のデータ管理装置３０のドメイン及び対象ユーザのユーザＩＤが含められた、アクセス情報の取得依頼を属性連携装置２０に送信する。
すると、属性連携装置２０の条件配信部２１６は、アクセス情報記憶部２２３における復号鍵の取得依頼に含まれるドメインから、ユーザＩＤに対応するアクセス情報を読み出す。条件配信部２１６は、通信インタフェース２３を介して、読み出されたアクセス情報をドメインとともに、ストレージ装置８０に送信する。これにより、アクセス情報取得部８１４は、暗号文のヘッダ部に含まれるドメインに対応したアクセス情報を取得する。
【０１１５】
（ステップＳ４４３：アクセス条件判定処理）
アクセス判定部８１３は、データの取得要求に含まれる情報から特定されるデータに関連付けられたアクセス条件を、データの取得要求に含まれるアクセス情報が満たすか否かを判定する。そして、アクセス条件をアクセス情報が満たす場合には、データ出力部８１５は、データ記憶部８２１からデータを読み出して、通信インタフェース８３を介して、対象のデータ管理装置３０に送信する。
【０１１６】
（ステップＳ４４４：データ出力処理）
対象のデータ管理装置３０のデータ出力部３１７は、通信インタフェース３３を介して、ステップＳ４４３で送信されたデータを出力する。
【０１１７】
＊＊＊実施の形態５の効果＊＊＊
以上のように、実施の形態５に係るデータ管理システム１０では、関数型暗号といった暗号を用いることなく、各データ管理装置３０で管理されている属性情報の整合性をとりながらアクセス制御が実施可能である。
【０１１８】
実施の形態６．
実施の形態６では、実施の形態５で説明したデータ管理システム１０を応用し、あるデータ管理装置３０である送信装置６０から他のデータ管理装置３０である受信装置７０へデータを転送する転送システム１１について説明する。実施の形態６では、実施の形態５と異なる部分を説明する。
【０１１９】
＊＊＊構成の説明＊＊＊
図３５を参照して、実施の形態６に係る転送システム１１の構成を説明する。
転送システム１１は、属性連携装置２０と、複数のデータ管理装置３０と、ストレージ装置８０とを備える。属性連携装置２０と各データ管理装置３０とストレージ装置８０とは、ネットワーク４０を介して接続されている。
ここで、あるデータ管理装置３０が送信装置６０であり、他のデータ管理装置３０が受信装置７０である。送信装置６０は、データの送信元の装置であり、受信装置７０は、データの送信先の装置である。以下の説明では、送信装置６０のユーザ５０を送信ユーザと呼び、受信装置７０のユーザ５０を受信ユーザと呼ぶ。
【０１２０】
＊＊＊動作の説明＊＊＊
図３６から図３７を参照して、実施の形態６に係る転送システム１１の動作を説明する。
実施の形態６に係る転送システム１１の動作は、実施の形態６に係る転送方法に相当する。また、実施の形態６に係る転送システム１１の動作は、実施の形態６に係る転送プログラムの処理に相当する。
実施の形態６に係る転送システム１１の動作は、連携サービス登録処理と、ユーザ登録処理と、送信処理と、受信処理とを含む。連携サービス登録処理と、ユーザ登録処理とは、実施の形態５と同じである。
【０１２１】
＊＊送信処理＊＊
図３６を参照して、実施の形態６に係る送信処理を説明する。
送信処理は、送信装置６０で実行される。送信処理では、データが送信装置６０の送信ユーザから受信装置７０の受信ユーザに送信される。
【０１２２】
ステップＳ３５１からステップＳ３５３の処理は、図３３のステップＳ３４１からステップＳ３４３の処理と同じである。なお、ステップＳ３５３では、アクセス条件として、データの宛先となる受信ユーザの属性が指定される。
【０１２３】
（ステップＳ３５４：データ記憶処理）
送信装置６０のアクセス条件設定部３１８は、データ及びアクセス条件を、通信インタフェース３３を介してストレージ装置８０にアップロードする。
すると、ストレージ装置８０からデータが記憶された位置を示すＵＲＬが送信装置６０に送信される。アクセス条件設定部３１８は、送信されたＵＲＬを受信装置７０の受信ユーザに送信する。具体例としては、アクセス条件設定部３１８は、ＵＲＬを示した電子メールを受信装置７０の受信ユーザ宛てに送信する。
【０１２４】
＊＊受信処理＊＊
図３７を参照して、実施の形態６に係る受信処理を説明する。
受信処理は、受信装置７０で実行される。受信処理では、送信装置６０の送信ユーザから送信されたデータを受信装置７０の受信ユーザが受信する。
【０１２５】
ステップＳ４５２からステップＳ４５４の処理は、図３４のステップＳ４４２からステップＳ４４４の処理と同じである。
【０１２６】
（ステップＳ４５１：データ指定処理）
対象のデータ管理装置３０のデータ取得部３１９は、通信インタフェース３３を介して、対象ユーザからデータの指定を受け付ける。ここでは、ステップＳ３３７で送信されたＵＲＬが示されることにより、データが指定される。
なお、ステップＳ４５２では、ＵＲＬの送信元のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）を使用している場合にはクライアント証明書といった情報を用いて、受信ユーザを認証してもよい。そして、受信ユーザの認証がとれた場合に、ステップＳ４５２以降の処理を実行するようにしてもよい。
【０１２７】
＊＊＊実施の形態６の効果＊＊＊
以上のように、実施の形態６に係る転送システム１１では、送信装置６０の送信ユーザから受信装置７０の受信ユーザにデータを転送することができる。特に、送信装置６０と受信装置７０とで属性情報が別々に管理されている場合であっても、適切なアクセス制御を実現した上で、データを転送することができる。
【符号の説明】
【０１２８】
１０  データ管理システム、１１  転送システム、２０  属性連携装置、２１  プロセッサ、２２  メモリ、２３  通信インタフェース、２１１  連携管理部、２１２  マスタ鍵生成部、２１３  ユーザ管理部、２１４  復号鍵生成部、２１５  属性配信部、２１６  条件配信部、２２１  連携情報記憶部、２２２  鍵記憶部、２２３  アクセス情報記憶部、３０  データ管理装置、３１  プロセッサ、３２  メモリ、３３  通信インタフェース、３１１  データ受付部、３１２  復号条件設定部、３１３  暗号化鍵取得部、３１４  暗号化部、３１５  復号鍵取得部、３１６  復号部、３１７  データ出力部、３１８  アクセス条件設定部、３１９  データ取得部、３２１  データ記憶部、４０  ネットワーク、５０  ユーザ、６０  送信装置、７０  受信装置、８０  ストレージ装置、８１  プロセッサ、８２  メモリ、８３  通信インタフェース、８１１  データ受付部、８１２  要求受付部、８１３  アクセス判定部、８１４  アクセス情報取得部、８１５  データ出力部、８２１  データ記憶部。
【図１】
2017187552.tif 000003
【図２】
2017187552.tif 000004
【図３】
2017187552.tif 000005
【図４】
2017187552.tif 000006
【図５】
2017187552.tif 000007
【図６】
2017187552.tif 000008
【図７】
2017187552.tif 000009
【図８】
2017187552.tif 000010
【図９】
2017187552.tif 000011
【図１０】
2017187552.tif 000012
【図１１】
2017187552.tif 000013
【図１２】
2017187552.tif 000014
【図１３】
2017187552.tif 000015
【図１４】
2017187552.tif 000016
【図１５】
2017187552.tif 000017
【図１６】
2017187552.tif 000018
【図１７】
2017187552.tif 000019
【図１８】
2017187552.tif 000020
【図１９】
2017187552.tif 000021
【図２０】
2017187552.tif 000022
【図２１】
2017187552.tif 000023
【図２２】
2017187552.tif 000024
【図２３】
2017187552.tif 000025
【図２４】
2017187552.tif 000026
【図２５】
2017187552.tif 000027
【図２６】
2017187552.tif 000028
【図２７】
2017187552.tif 000029
【図２８】
2017187552.tif 000030
【図２９】
2017187552.tif 000031
【図３０】
2017187552.tif 000032
【図３１】
2017187552.tif 000033
【図３２】
2017187552.tif 000034
【図３３】
2017187552.tif 000035
【図３４】
2017187552.tif 000036
【図３５】
2017187552.tif 000037
【図３６】
2017187552.tif 000038
【図３７】
2017187552.tif 000039
【国際調査報告】
2017187552.tif 000040
2017187552.tif 000041
2017187552.tif 000042
2017187552.tif 000043
2017187552.tif 000044
2017187552.tif 000045