(57)【特許請求の範囲】
【請求項１】
ユーザ端末とファイル保管装置とを備え、
前記ユーザ端末は、
復号条件をフォルダ名とするフォルダを表示し、ユーザのドラッグ＆ドロップの操作により前記フォルダに入力された暗号化対象のファイルを暗号化して、属性情報が前記復号条件を満たす場合に復号可能な暗号文を生成する暗号化部
を備え、
前記ファイル保管装置は、
前記暗号化部によって生成された暗号文を、その暗号文の復号条件を示す情報とともに保管する暗号文保管部
を備え、
前記ユーザ端末は、さらに、
前記属性情報を前記ファイル保管装置へ送信する属性情報送信部
を備え、
前記ファイル保管装置は、さらに、
前記復号条件を示す情報に基づき、前記暗号文保管部が保管する暗号文のうち、前記属性情報送信部が送信した属性情報が復号条件を満たす暗号文の識別情報を抽出する暗号文抽出部と、
前記暗号文抽出部が抽出した暗号文の識別情報を示すリストを前記ユーザ端末へ送信するリスト送信部と
を備え、
前記ユーザ端末は、さらに、
前記リスト送信部が送信したリストが示す識別情報を復号条件毎にフォルダに分類した状態で表示するリスト表示部
を備えるファイル保管システム。
【請求項２】
前記ユーザ端末は、暗号化ファイルを前記フォルダに表示し、ユーザのドラッグ＆ドロップの操作により前記フォルダの外に移動した前記暗号化ファイルをユーザの属性情報が埋め込まれた復号鍵を用いて復号する
請求項１記載のファイル保管システム。
【請求項３】
前記リスト送信部は、復号条件毎に分類して前記識別情報を示すリストを送信する
請求項１又は２に記載のファイル保管システム。
【請求項４】
前記リスト送信部は、前記識別情報毎に、前記暗号文の復号条件を示すリストを送信し、
前記リスト表示部は、前記識別情報を、復号条件とともに表示する
請求項１から３までのいずれか１項に記載のファイル保管システム。
【請求項５】
前記暗号文保管部は、前記暗号文を前記復号条件毎に分類して保管する
請求項１から４までのいずれか１項に記載のファイル保管システム。
【請求項６】
暗号化方式として関数型暗号を用いる請求項１から５までのいずれか１項に記載のファイル保管システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファイルを暗号化して保管する技術に関する。
【背景技術】
【０００２】
近年、電子データファイル（以下、単にファイルという）をインターネットにおけるファイルサーバに保管し、様々な機器（例えば、ノートＰＣ、タブレット型デバイス、スマートフォン）からアクセスする場面がある。
このようなファイルの利用方法は利便性が高い一方、意図しない第三者にファイルを閲覧されるリスクがある。そのため、機密性の高いファイルに関しては、暗号化やアクセス制限といった情報セキュリティ技術を用いて機密性を保つ運用が必須である。【０００３】
従来のファイルサーバでは、管理者がフォルダ構成を管理し、フォルダ毎（あるいは、ファイル毎）にアクセス権の管理を行っている。さらに、機密性の高いファイルをファイルサーバに保管する場合、クライアントでファイルを暗号化した上でファイルサーバへ送信し、ファイルサーバに暗号化したファイルを保管している。
これにより、機密性の高いファイルが意図しない第三者に閲覧されることを防止している。【０００４】
特許文献１〜３には、機密ファイルをファイルサーバに保管する技術に関する記載がある。特許文献１〜３には、フォルダ毎にアクセス権を管理することや、ファイルを暗号化して保管することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０３１８６２号公報
【特許文献２】特開２０１０−２４４４３２号公報
【特許文献３】特開２０１１−２１６０３４号公報
【非特許文献】
【０００６】
【非特許文献１】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ、Ｋａｔｓｕｙｕｋｉ  Ｔａｋａｓｈｉｍａ著、「Ｆｕｌｌｙ  Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  Ｄｅｃｉｓｉｏｎａｌ  Ｌｉｎｅａｒ  Ａｓｓｕｍｐｔｉｏｎ」、Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ  −  ＣＲＹＰＴＯ  ２０１０、ｐ．１９１−２０８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ファイルサーバの管理者がフォルダ毎のアクセス権の管理をする場合、認証サーバやアクセス制御サーバ等を設けて、ユーザやフォルダやアクセス権等の管理を行う必要がある。そのため、ユーザの増加やファイルの増加に伴い、管理する情報量が増加してしまい、運用に負荷がかかる。【０００８】
また、ファイルを暗号化して保管する場合、復号させたいユーザ毎に暗号鍵及び復号鍵を変える必要がある。そして、復号に必要な復号鍵を各ユーザに予め配布しておく必要がある。そのため、ファイルの増加に伴い、管理する鍵の量が増加してしまい、運用に負荷がかかる。【０００９】
この発明は、従来のファイルサーバの使い勝手を損なうことなく、アクセス権や鍵の管理等の運用負荷を下げることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係るデータ保管システムは、
暗号文に設定された復号条件を復号鍵に設定された属性情報が満たす場合に、前記暗号文を前記復号鍵で復号可能な暗号化方式により暗号化された暗号文を保管するファイル保管装置と、前記ファイル保管装置が保管するファイルへアクセスするユーザ端末とを備えるファイル保管システムであり、
前記ユーザ端末は、
ユーザの属性情報を前記ファイル保管装置へ送信する属性情報送信部
を備え、
前記ファイル保管装置は、
暗号文を保管する暗号文保管部と、
前記暗号文保管部が保管する暗号文のうち、前記属性情報送信部が送信した属性情報が復号条件を満たす暗号文の識別情報を抽出する暗号文抽出部と、
前記暗号文抽出部が抽出した暗号文の識別情報を示すリストを前記ユーザ端末へ送信するリスト送信部と
を備え、
前記ユーザ端末は、さらに、
前記リスト送信部が送信したリストが示す識別情報を復号条件毎に分類した状態で表示するリスト表示部
を備えることを特徴とする。
【発明の効果】
【００１１】
この発明に係るファイル保管システムでは、暗号文に設定された復号条件を復号鍵に設定された属性情報が満たす場合に、暗号文を復号鍵で復号可能な暗号化方式を用いる。これにより、アクセス権の管理は不要となり、管理する鍵の数も少なくて済む。
また、この発明に係るファイル保管システムでは、ユーザ端末から送信された属性情報が復号条件を満たす暗号文のリストを復号条件毎に分類して表示する。これにより、フォルダの管理は不要となる。また、従来のファイルサーバと同様にファイルが分類された状態で表示されるため、使い勝手が損なわれることもない。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るファイル保管システム１の構成図。
【図２】実施の形態１に係るユーザ端末１０の機能を示す機能ブロック図。
【図３】実施の形態１に係る暗号化ファイル１００４の構成図。
【図４】実施の形態１に係るファイルリスト１００６の表示形式を示す図。
【図５】実施の形態１に係るファイル保管装置２０の機能を示す機能ブロック図。
【図６】実施の形態１に係る鍵生成装置４０の機能を示す機能ブロック図。
【図７】実施の形態１に係る鍵生成装置４０及びユーザ情報管理装置５０の機能を示す機能ブロック図。
【図８】実施の形態１で想定する、ユーザ属性１００５の表現に使用される属性型及び属性値の一覧。
【図９】実施の形態１で想定するユーザの一覧。
【図１０】実施の形態１に係る公開パラメータ１００３の配布処理を示すフローチャート。
【図１１】実施の形態１に係る復号鍵１００７の配布処理を示すフローチャート。
【図１２】実施の形態１に係る属性情報保管部５０１に保管された情報の例を示す図。
【図１３】実施の形態１に係るフォルダ作成処理を示すフローチャート。
【図１４】実施の形態１に係る暗号化処理を示すフローチャート。
【図１５】実施の形態１に係る復号処理を示すフローチャート。
【図１６】実施の形態１に係るファイルリスト１００６の例を示す図。
【図１７】実施の形態１に係るファイルリスト１００６の表示例を示す図。
【図１８】実施の形態１に示したユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０のハードウェア構成の例を示す図。
【発明を実施するための形態】
【００１３】
実施の形態１．
実施の形態１では、クライアント・サーバモデルにおいて、ファイルをクライアント（ユーザ端末）がネットワークに接続されたサーバ（ファイルサーバ）に保管する場合の保管方法（暗号化方法）と、保管された暗号化ファイルの利用方法（復号方法）とについて説明する。
【００１４】
実施の形態１では、暗号化方式として、関数型暗号（例えば、非特許文献１参照）を用いる。
関数型暗号は公開鍵暗号の一種である。関数型暗号は、現在主流で使われているＲＳＡ暗号とは異なり、ファイルの暗号化時に設定されたパラメータと、復号鍵に設定されたパラメータとの間に所定の関係が成立する場合に、暗号化されたファイルを復号鍵で復号することができる暗号である。
例えば、ファイルの暗号化時に「部＝総務部  ＡＮＤ  課＝人事課」のような論理式をパラメータとして設定し、復号鍵には所有者を表す属性情報「部＝総務部，課＝経理課」をパラメータとして設定しておく。そして、暗号化時に設定された論理式と復号鍵に設定された属性情報との関係が真になる場合のみ、暗号化されたファイルを復号鍵で復号することができる。
つまり、関数型暗号では、暗号文に設定された復号条件を復号鍵に設定された属性情報が満たす場合に、暗号文を復号鍵で復号可能である。
【００１５】
なお、暗号文に設定された復号条件を復号鍵に設定された属性情報が満たす場合に、暗号文を復号鍵で復号可能な暗号化方式であれば、関数型暗号以外の暗号化方式を用いてもよい。
【００１６】
図１は、実施の形態１に係るファイル保管システム１の構成図である。
ファイル保管システム１は、１つ以上のユーザ端末１０と、ファイル保管装置２０とが、ネットワーク３０を介して接続されている。
また、鍵生成装置４０とユーザ情報管理装置５０とがユーザ端末１０と、ネットワーク３０を介して接続されている。鍵生成装置４０とユーザ情報管理装置５０とは、ネットワーク３０のファイル保管装置２０側（例えば、インターネット側）からはアクセスできないように構成されている。
【００１７】
ユーザ端末１０は、通信機能を備えた機器である。ユーザ端末１０は、例えば、デスクトップＰＣ，ノートＰＣ、スマートフォン、タブレット端末等である。
【００１８】
ファイル保管装置２０は、一般的なファイルサーバである。ファイル保管装置２０は、複数台のコンピュータから構成されていてもよい。
【００１９】
ネットワーク３０は、例えば、インターネットや、専用回線で構築されたネットワークである。
【００２０】
鍵生成装置４０は、暗号鍵を管理するサーバである。鍵生成装置４０は、複数台のコンピュータから構成されていてもよい。鍵生成装置４０は、暗号化やアクセス制御等により、暗号鍵類を秘密に管理する。
【００２１】
ユーザ情報管理装置５０は、組織情報を管理するディレクトリサーバである。ユーザ情報管理装置５０は、例えば、ＬＤＡＰ（ＬＩＧＨＴＷＥＩＧＨＴ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）やＭｉｃｒｏｓｏｆｔ社のＡＤ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ）のようなディレクトリサーバである。
【００２２】
一般的に、鍵生成装置４０やユーザ情報管理装置５０は、組織内で厳重に管理されているため、インターネット等の公衆ネットワークには接続されていないことが多い。しかし、十分な情報セキュリティ対策を実施した上で、鍵生成装置４０やユーザ情報管理装置５０にインターネットからアクセスできるように構成してもよい。
【００２３】
図２は、実施の形態１に係るユーザ端末１０の機能を示す機能ブロック図である。
ユーザ端末１０は、ファイルリスト表示部１０１（リスト表示部）、暗号化部１０２、鍵保管部１０３、暗号化データ送信部１０４、ファイルリスト要求部１０５（属性情報送信部）、ファイルリスト受信部１０６（リスト受信部）、復号部１０７を備える。
【００２４】
ファイル１００１は、ファイル保管システム１を用いて暗号化して保管される対象の電子データファイルである。ファイル１００１は、いわゆる電子データファイルであればよく、例えば、文書ファイル、音声ファイル、動画ファイルである。
【００２５】
復号条件１００２は、ファイル１００１をどのユーザ端末１０のユーザが閲覧可能なのかを示すデータである。復号条件１００２は、論理式の形で表現され、例えば、「部＝経理部  ＡＮＤ  課＝予算課」のように［属性型］＝［属性値］と、それらをつなぐオペレータと、論理式の評価の優先度を示す「括弧“（）”」との組み合わせで表現される。オペレータには、例えば、論理積を表す「ＡＮＤ」、論理和を表す「ＯＲ」、否定を表す「ＮＯＴ」等がある。
【００２６】
公開パラメータ１００３は、ファイル保管システム１において１つだけ存在する公開鍵暗号の公開鍵（暗号鍵）である。公開パラメータ１００３は、秘匿すべき情報ではないため、任意の場所（例えば、ファイル保管システム１を構成するＰＣ、外部ストレージ、インターネットに接続されたサーバ）に保管され、任意に取得可能となっている。
【００２７】
暗号化ファイル１００４（暗号文）は、公開パラメータ１００３と復号条件１００２とを用いて暗号化されたファイル１００１である。
図３に示すように、暗号化ファイル１００４は、ヘッダ部１００４ａとデータ部１００４ｂとを有している。ヘッダ部１００４ａには、暗号化した際に指定した復号条件１００２が格納されている。データ部１００４ｂには、暗号化されたファイル１００１（暗号化データ１０２１）が格納される。
【００２８】
ユーザ属性１００５は、ユーザ端末１０に紐付けられたユーザの属性情報である。ユーザ属性１００５は、例えば、企業であれば、所属部、所属課、名前、社員ＩＤ等で表現される。
【００２９】
ファイルリスト１００６は、ファイル保管装置２０に保管されている暗号化ファイル１００４のうち、暗号化ファイル１００４に設定されている復号条件１００２に、ある特定のユーザ属性１００５がマッチする（すなわち、復号可能な）暗号化ファイル１００４の一覧である。
ファイルリスト１００６の表現形式は、例えば、“［復号条件］￥［ファイル名］”のように、暗号化ファイル１００４のヘッダ部１００４ａに格納されている復号条件１００２をフォルダ名としたファイルパスの形式とする。
【００３０】
復号鍵１００７は、ユーザに紐付けられた暗号化ファイル１００４を復号するための鍵である。復号鍵１００７には、ユーザ属性１００５が埋め込まれている。復号鍵１００７は、埋め込まれたユーザ属性１００５が、暗号化ファイル１００４に設定されている復号条件１００２にマッチする場合、暗号化ファイル１００４を復号可能である。
【００３１】
ファイルリスト表示部１０１は、ファイルリスト１００６の内容を表示する。
図４に示すように、ファイルリスト表示部１０１は、例えば、フォルダ構造でファイルリスト１００６の内容を表示する。フォルダアイコンには復号条件１００２であることが分かるラベルが表示され、フォルダアイコンの中に暗号化ファイル１００４を表すファイルアイコンが表示される。
【００３２】
暗号化部１０２は、ファイル１００１と公開パラメータ１００３と復号条件１００２とを入力として、復号条件１００２をパラメータとしてファイル１００１を暗号化する。
【００３３】
鍵保管部１０３は、ユーザ端末１０に紐付けられているユーザ属性１００５と復号鍵１００７と公開パラメータ１００３とを保管する。
【００３４】
暗号化データ送信部１０４は、暗号化ファイル１００４をファイル保管装置２０へ送信する。
【００３５】
ファイルリスト要求部１０５は、鍵保管部１０３からユーザ属性１００５を取り出し、ファイル保管装置２０へ送信して、ファイルリスト１００６を要求する。
【００３６】
ファイルリスト受信部１０６は、ファイルリスト要求部１０５が送信したユーザ属性１００５に対して、ファイル保管装置２０から返却されるファイルリスト１００６を受信する。
【００３７】
復号部１０７は、鍵保管部１０３が保管した復号鍵１００７を取り出し、取り出した復号鍵１００７により暗号化ファイル１００４を復号してファイル１００１に戻す。
【００３８】
図５は、実施の形態１に係るファイル保管装置２０の機能を示す機能ブロック図である。
ファイル保管装置２０は、暗号化データ受信部２０１、暗号化ファイル保管部２０２（暗号文保管部）、ファイルリスト要求受信部２０３（属性情報受信部）、復号可能判定部２０４（暗号文抽出部）、ファイルリスト生成部２０５（リスト生成部、リスト送信部）を備える。
【００３９】
暗号化データ受信部２０１は、ユーザ端末１０から暗号化ファイル１００４を受信する。
【００４０】
暗号化ファイル保管部２０２は、暗号化データ受信部２０１が受信した、１つ以上の暗号化ファイル１００４を保管する。ここでは、暗号化ファイル保管部２０２は、暗号化ファイル１００４を分類することなく（フォルダ分けすることなく）、保管しておけばよい。
【００４１】
ファイルリスト要求受信部２０３は、ユーザ端末１０からユーザ属性１００５を、ファイルリスト１００６の要求として受信する。
【００４２】
復号可能判定部２０４は、復号条件１００２とユーザ属性１００５とから、ユーザ属性１００５が復号条件１００２にマッチしているかを判定し、判定結果２００１をファイルリスト生成部２０５に返却する。
判定結果２００１は、真偽（ＴＲＵＥ／ＦＡＬＳＥ）のどちらかを示すデータである。
【００４３】
ファイルリスト生成部２０５は、ファイルリスト要求受信部２０３が受信したユーザ属性１００５に基づき、ファイルリスト１００６を生成する。
ファイルリスト生成部２０５は、暗号化ファイル保管部２０２が保管した暗号化ファイル１００４を取り出し、さらに暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出す。ファイルリスト生成部２０５は、取り出した復号条件１００２と、ファイルリスト要求受信部２０３から受信したユーザ属性１００５とを復号可能判定部２０４に転送し、判定結果２００１を得る。ファイルリスト生成部２０５は、この操作を暗号化ファイル保管部２０２に保管されている全ての暗号化ファイル１００４に対して実施し、判定結果２００１がＴＲＵＥの暗号化ファイル１００４の一覧をファイルリスト１００６としてユーザ端末１０に返却する。
【００４４】
図６は、実施の形態１に係る鍵生成装置４０の公開パラメータを生成する処理に関する機能を示す機能ブロック図である。図７は、実施の形態１に係る鍵生成装置４０及びユーザ情報管理装置５０の復号鍵を生成する処理に関する機能を示す機能ブロック図である。
鍵生成装置４０は、マスタ鍵生成部４０１、マスタ鍵保管部４０２、公開パラメータ発行部４０３、ユーザ認証部４０４、ユーザ属性取得部４０５、復号鍵生成部４０６を備える。
ユーザ情報管理装置５０は、属性情報保管部５０１、ユーザ属性検索部５０２を備える。
【００４５】
マスタ公開鍵４００１及びマスタ秘密鍵４００２は、鍵生成装置４０で初めに（ファイル保管システム１を導入した際の初期設定時等に）生成され、保持される。マスタ公開鍵４００１及びマスタ秘密鍵４００２は、通常、ファイル保管システム１に対して１組だけ生成される。マスタ公開鍵４００１は、公開情報である。マスタ秘密鍵４００２は、全ての復号鍵１００７を生成することを可能とする情報であるため、鍵生成装置４０が秘密に保管しておく。
【００４６】
公開パラメータ取得要求４００３は、ユーザ端末１０が公開パラメータ１００３を取得するために発行する要求データである。公開パラメータ取得要求４００３は、例えば、ユーザ端末１０と鍵生成装置４０との間の通信に、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いるのであれば、公開パラメータ１００３の取得先を示す公開パラメータ取得ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）とすることができる。
【００４７】
ユーザＩＤ４００４は、ユーザを一意に識別することができる情報である。ユーザＩＤ４００４は、例えば、社員番号やメールアドレスである。
【００４８】
マスタ鍵生成部４０１は、マスタ公開鍵４００１とマスタ秘密鍵４００２とのペア（以降、マスタ鍵ペアと呼ぶ）を生成する。
【００４９】
マスタ鍵保管部４０２は、マスタ鍵生成部４０１が生成したマスタ鍵ペアを保管する。
【００５０】
公開パラメータ発行部４０３は、マスタ公開鍵４００１に鍵生成装置４０が電子署名を施すことで公開パラメータ１００３を生成する。公開パラメータ発行部４０３は、公開パラメータ１００３を、ＷＥＢ、メール送信、データ記録媒体による配布等の手段を用いて公開する。
【００５１】
ユーザ認証部４０４は、ユーザ端末１０から受信したユーザＩＤ４００４を認証する。ユーザ認証部４０４は、例えば、電子証明書を用いて認証してもよいし、パスワードを用いて認証してもよい。
【００５２】
ユーザ属性取得部４０５は、ユーザ情報管理装置５０からユーザＩＤ４００４をキーとして、ユーザ属性１００５を取得する。
【００５３】
復号鍵生成部４０６は、マスタ秘密鍵４００２とユーザ属性１００５とを用いて復号鍵１００７を生成する。
【００５４】
属性情報保管部５０１は、ユーザの属性情報（例えば、氏名、年齢、性別、所属部、所属課、役職等）を保管する。ユーザの属性情報は、企業等の組織で管理されているものであり、予め全ユーザのユーザ属性１００５が保管されているものとする。
【００５５】
ユーザ属性検索部５０２は、ユーザＩＤ４００４をキーとして属性情報保管部５０１からユーザ属性１００５を検索する。
【００５６】
実施の形態１に係るファイル保管システム１の動作について説明する。
まず、ここで想定するユーザ属性１００５やユーザの情報について説明した上で、ファイル保管システム１の動作について説明する。ファイル保管システム１の動作は、公開パラメータ及び復号鍵の配布処理と、フォルダ作成処理と、暗号化処理と、復号処理とに分けられる。
【００５７】
図８は、実施の形態１で想定する、ユーザ属性１００５の表現に使用される属性型及び属性値の一覧である。
ユーザ属性１００５は「属性型＝属性値」の形式で表現し、例えば、「部＝経理部、課＝予算課」のように複数の属性を持つことも可能である。
【００５８】
図９は、実施の形態１で想定するユーザの一覧である。
各ユーザにはそれぞれユーザ属性が割り当てられている。該当する属性が無い場合はＮＵＬＬシンボルが属性値となっている。これらの情報はユーザ情報管理装置５０に予め保管されているものとする。
【００５９】
＜公開パラメータ及び復号鍵の配布処理＞
公開パラメータ及び復号鍵の配布処理は、公開パラメータ１００３及び復号鍵１００７をユーザ端末１０に配布する処理である。
公開パラメータ及び復号鍵の配布処理は、ファイル保管システム１を導入した際の初期設定時に実行されてもよいし、暗号化処理、復号処理において、公開パラメータ１００３及び復号鍵１００７が必要になったときに実行されてもよい。
【００６０】
上述した通り、ファイル保管システム１では、関数型暗号を利用する。関数型暗号では、まずマスタ鍵ペアが生成される。次に、ユーザ属性１００５とマスタ秘密鍵４００２とから復号鍵１００７（関数型暗号では、これをユーザ秘密鍵と呼ぶ）が生成される。
なお、マスタ鍵ペアは、ファイル保管システム１毎に１ペア用いられる。複数のファイル保管システム１のマスタ鍵ペアを１つの鍵生成装置４０が生成してもよい。この場合、鍵生成装置４０は、ファイル保管システム１とマスタ鍵ペアとを関連付けておく。
【００６１】
図１０は、実施の形態１に係る公開パラメータ１００３の配布処理を示すフローチャートである。
（Ｓ１０１）
ユーザ端末１０は、鍵生成装置４０の公開パラメータ発行部４０３に対し公開パラメータ取得要求４００３を送信する。
【００６２】
（Ｓ１０２）
鍵生成装置４０の公開パラメータ発行部４０３は、ユーザ端末１０から受信した公開パラメータ取得要求４００３に対応したマスタ公開鍵４００１をマスタ鍵保管部４０２から取り出す。そして、公開パラメータ発行部４０３は、取り出したマスタ公開鍵４００１に対して電子署名を施して公開パラメータ１００３を生成し、ユーザ端末１０に返却する。
【００６３】
これら一連の動作は、例えば、ＨＴＴＰを用いた場合、ユーザ端末１０が公開パラメータ取得ＵＲＬにアクセスすると、公開パラメータ１００３がユーザ端末１０にダウンロードされるという動作となる。
【００６４】
図１１は、実施の形態１に係る復号鍵１００７の配布処理を示すフローチャートである。
（Ｓ２０１）
ユーザ端末１０は、鍵生成装置４０に対しユーザＩＤ４００４を送信する。すると、鍵生成装置４０のユーザ認証部４０４は、ユーザＩＤ４００４を受信し、ユーザＩＤ４００４を送信してきたユーザが本人であるか否かを確認する。ユーザが本人であることが確認できると、ユーザ認証部４０４は、ユーザＩＤ４００４をユーザ属性取得部４０５に転送する。
【００６５】
（Ｓ２０２）
鍵生成装置４０のユーザ属性取得部４０５は、ユーザＩＤ４００４をユーザ情報管理装置５０のユーザ属性検索部５０２へ送信する。ユーザ属性検索部５０２は、受信したユーザＩＤ４００４をキーとしてユーザＩＤ４００４に対応するユーザ属性１００５を属性情報保管部５０１から検索し、得られたユーザ属性１００５を鍵生成装置４０のユーザ属性取得部４０５に返却する。そして、ユーザ属性取得部４０５は、ユーザ情報管理装置５０から取得したユーザ属性１００５を、復号鍵生成部４０６に転送する。
例えば、属性情報保管部５０１に、図１２に示した情報が保管されているものとする。ユーザ属性検索部５０２がユーザＩＤ４００４として「ＫＳ１００１」を鍵生成装置４０から受信した場合、ユーザ属性検索部５０２は「名＝鈴木健一、部＝経理部、課＝ＮＵＬＬ、役職＝部長」というユーザ属性１００５を返却する。
【００６６】
（Ｓ２０３）
復号鍵生成部４０６は、ユーザ情報管理装置５０から取得したユーザ属性１００５と、マスタ鍵保管部４０２に保管しているマスタ秘密鍵４００２とから復号鍵１００７を生成する。
【００６７】
（Ｓ２０４）
鍵生成装置４０の復号鍵生成部４０６は、生成した復号鍵１００７をユーザ端末１０に返却する。
【００６８】
＜フォルダ作成処理＞
フォルダ作成処理は、ユーザ端末１０において暗号化ファイル１００４を生成するために使用されるフォルダを作成する処理である。
フォルダの作成処理は、暗号化ファイル１００４を生成する際に実行される。既に、作成すべきフォルダが存在する場合には、同じフォルダを作成する必要はない。
【００６９】
図１３は、実施の形態１に係るフォルダ作成処理を示すフローチャートである。
（Ｓ３０１）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザの指示に従い、新しいフォルダを作成する命令を実行する。
【００７０】
（Ｓ３０２）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザの指示に従い、新規に作成するフォルダのフォルダ名として設定する復号条件１００２を入力する。上述した通り、復号条件１００２は、属性型と、属性値と、論理演算子（例えば、ＡＮＤ／ＯＲ／ＮＯＴ）と、括弧（優先して演算することを表す）とから構成される。復号条件１００２は、例えば、経理部の管理職（部長，課長）に復号させたい場合は、「部＝経理部  ＡＮＤ  （役職＝部長  ＯＲ  役職＝課長）」のように記述される。
【００７１】
（Ｓ３０３）
ユーザ端末１０のファイルリスト表示部１０１は、入力された復号条件１００２をフォルダ名とするフォルダを作成する。
【００７２】
＜暗号化処理＞
暗号化処理は、ファイル１００１を暗号化して暗号化ファイル１００４を生成し、ファイル保管装置２０に保管する処理である。
【００７３】
図１４は、実施の形態１に係る暗号化処理を示すフローチャートである。
（Ｓ４０１）
ユーザは、暗号化対象のファイル１００１を、自分自身のみが復号できるように暗号化するか、他のユーザにも復号できるように暗号化するかを決定する。前者の場合はＳ４０３に進み、後者の場合はＳ４０２に進む。
【００７４】
（Ｓ４０２）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザが希望する復号条件１００２が設定されたフォルダが表示されている場合はＳ４０５に進み、表示されていない場合はＳ４０４に進む。
【００７５】
（Ｓ４０３）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザの指示に従い、所定のローカルフォルダ（復号条件１００２として自分自身のユーザ属性１００５が設定されているフォルダ）に、暗号化対象のファイル１００１を入力する。ユーザは、例えば、所定のローカルフォルダに、暗号化対象のファイル１００１をドラッグ＆ドロップすることによって、暗号化対象のファイル１００１を自分自身のみが復号できるように暗号化することを指定する。
【００７６】
（Ｓ４０４）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザが希望する復号条件１００２を設定したフォルダを新規に作成する。フォルダの作成は、図１３に示す処理により行われる。ユーザ端末１０のファイルリスト表示部１０１は、フォルダを作成したら、ステップＳ４０５に進む。
【００７７】
（Ｓ４０５）
ユーザ端末１０のファイルリスト表示部１０１は、ユーザの指示に従い、希望する復号条件１００２が設定されたフォルダに、暗号化対象のファイル１００１を入力する。ユーザは、例えば、希望する復号条件１００２が設定されたフォルダに、暗号化対象のファイル１００１をドラッグ＆ドロップすることによって、希望する復号条件１００２と暗号化対象のファイル１００１とを指定する。
【００７８】
（Ｓ４０６）
ユーザ端末１０の暗号化部１０２は、入力されたファイル１００１と、入力されたフォルダに設定された復号条件１００２と、鍵保管部１０３に保管された公開パラメータ１００３とを用いて、ファイル１００１を復号条件１００２で示されたユーザが復号できるように暗号化し、暗号化ファイル１００４を生成する。
【００７９】
（Ｓ４０７）
ユーザ端末１０の暗号化データ送信部１０４は、暗号化ファイル１００４をファイル保管装置２０へ送信する。
ファイル保管装置２０の暗号化データ受信部２０１は、暗号化ファイル１００４を受信し、受信した暗号化ファイル１００４を暗号化ファイル保管部２０２に転送する。暗号化ファイル保管部２０２は、暗号化ファイル１００４を保管する。
【００８０】
＜復号処理＞
復号処理は、ファイル保管装置２０に保管された暗号化ファイル１００４を取得して、取得した暗号化ファイル１００４を復号しファイル１００１を生成する処理である。
【００８１】
図１５は、実施の形態１に係る復号処理を示すフローチャートである。
（Ｓ５０１）
ユーザ端末１０のファイルリスト要求部１０５は、鍵保管部１０３からユーザ属性１００５を取り出し、ファイル保管装置２０へ送信する。
【００８２】
（Ｓ５０２）
ファイル保管装置２０のファイルリスト要求受信部２０３は、ユーザ端末１０からユーザ属性１００５を受信し、受信したユーザ属性１００５をファイルリスト生成部２０５に転送する。
ファイルリスト生成部２０５は、暗号化ファイル保管部２０２に保管された暗号化ファイル１００４のヘッダ部１００４ａに保管された復号条件１００２を取り出す。ファイルリスト生成部２０５は、ユーザ属性１００５と、復号条件１００２とを復号可能判定部２０４に転送する。復号可能判定部２０４は、受信したユーザ属性１００５が復号条件１００２に合致しているか判定し、合致していれば「復号可能」、合致していなければ「復号不可能」とする判定結果２００１をファイルリスト生成部２０５に返却する。
ファイルリスト生成部２０５は、暗号化ファイル保管部２０２に保管されている全ての暗号化ファイル１００４に対して復号可能判定を実施し、復号可能な暗号化ファイル１００４群をファイルリスト１００６としてユーザ端末１０に返却する。
ファイルリスト１００６は、例えば、図９に示すユーザ「鈴木健一」（名＝鈴木健一、部＝経理部、課＝ＮＵＬＬ、役職＝部長）の場合は、図１６に示すような内容となる。
【００８３】
（Ｓ５０３）
ユーザ端末１０のファイルリスト受信部１０６は、ファイル保管装置２０からファイルリスト１００６を受信し、受信したファイルリスト１００６をファイルリスト表示部１０１に転送する。ファイルリスト表示部１０１は、受信したファイルリスト１００６に含まれる暗号化ファイル１００４のファイル名等の識別情報をフォルダ表示する。
ファイルリスト表示部１０１は例えば、図１６に示すようなファイルリスト１００６の場合は、図１７に示すように表示する。
【００８４】
（Ｓ５０４）
ファイルリスト表示部１０１は、ユーザの指示に従い、表示した暗号化ファイル１００４のうち、復号したい暗号化ファイル１００４を復号部１０７に転送する。ユーザは、例えば、復号したい暗号化ファイル１００４をフォルダの外にドラッグ＆ドロップすることにより、復号したい暗号化ファイル１００４を復号部１０７に転送する。
【００８５】
（Ｓ５０５）
復号部１０７は、鍵保管部１０３から復号鍵１００７を取り出し、ファイルリスト表示部１０１から転送された暗号化ファイル１００４を復号鍵１００７を使って復号する。復号部１０７は、復号が成功すると、ファイル１００１が得られるので、得られたファイル１００１を所定の場所（例えば、暗号化ファイル１００４がドロップされた場所）に保管する。
【００８６】
以上のように、例えば、フォルダにファイル１００１をドラッグ＆ドロップするという操作で、ファイル１００１を暗号化することができる。同様に、例えば、フォルダから暗号化ファイル１００４をドラッグ＆ドロップするという操作で、暗号化ファイル１００４を復号することができる。
【００８７】
実施の形態１に係るファイル保管システム１では、アクセス制御機能を持つ暗号化方式でファイル１００１が暗号化される。つまり、実施の形態１に係るファイル保管システム１では、暗号化ファイル１００４にアクセス制御機能が埋め込まれている。そのため、初めの復号鍵１００７の配布時に確実にユーザ認証を実施しておくことで、以降の暗号化処理や復号処理においてユーザ認証を実施する必要がない。これにより、運用において認証サーバが不要となり、運用負荷を下げることができる。
【００８８】
また、アクセス制御機能を持つ暗号化方式でファイル１００１が暗号化されるため、各ファイルについて、復号させたいユーザ毎に復号鍵を用意する必要がなく、復号鍵の管理負荷も下がる。
【００８９】
また、実施の形態１に係るファイル保管システム１では、暗号化ファイル１００４のヘッダ部１００４ａに保管された復号条件１００２と、ユーザ属性１００５とから復号可能な暗号化ファイル１００４を特定し、復号条件１００２をフォルダ名として、特定された暗号化ファイル１００４をフォルダ表示する。これにより、ファイル保管装置２０は、フォルダ分けして暗号化ファイル１００４を保管しておく必要がなく、ファイル保管装置２０における暗号化ファイル１００４のフォルダ管理の運用負荷を下げることができる。
【００９０】
また、実施の形態１に係るファイル保管システム１では、ユーザがアクセス権（復号条件１００２）を設定したフォルダにファイル１００１をドラッグ＆ドロップし、アクセス権情報を入力パラメータとする暗号化方式で暗号化する。これにより、アクセス制御をユーザ主導で行うことができる。
【００９１】
なお、復号処理（図１５のＳ５０１）において、ユーザ端末１０からファイル保管装置２０へ送信されるユーザＩＤ４００４が詐称される恐れがある。しかし、仮に、ユーザ端末１０からファイル保管装置２０へ送信されるユーザＩＤ４００４が詐称されたとしても、実際の復号条件１００２に合致しない暗号化ファイル１００４が取得されるだけである。つまり、関数型暗号で暗号化された暗号化ファイル１００４は、ユーザＩＤ４００４を詐称したユーザの復号鍵１００７では復号することはできない。したがって、関数型暗号と組み合わせることによってアクセス権を暗号化ファイル１００４とリンクさせることが可能となり、安全なファイル保管システム１を構築することができる。
【００９２】
また、上記説明では、復号処理において、ファイル保管装置２０は、復号条件１００２を満たす暗号化ファイル１００４群をファイルリスト１００６として、ユーザ端末１０へ送信した。
しかし、ファイル保管装置２０は、復号条件１００２を満たす暗号化ファイル１００４群に代えて、復号条件１００２を満たす暗号化ファイル１００４のファイル名等の識別情報群をファイルリスト１００６として、ユーザ端末１０へ送信してもよい。この場合、ユーザ端末１０では、一旦ファイルリスト１００６を表示して、復号したい暗号化ファイル１００４が選択されると、選択された暗号化ファイル１００４の識別情報をファイル保管装置２０へ送信する。そして、ファイル保管装置２０は、送信された識別情報が示す暗号化ファイル１００４を、ユーザ端末１０へ送信する。
暗号化ファイル１００４群をファイルリスト１００６として送信する場合、復号条件１００２を満たす暗号化ファイル１００４が多数あると、ファイル保管装置２０からユーザ端末１０へ送信されるデータ量が多くなり、ネットワーク３０に負荷がかかってしまう。しかし、識別情報群をファイルリスト１００６として送信すれば、ファイル保管装置２０からユーザ端末１０へ送信されるデータ量が多くならず、ネットワーク３０に負荷がかかることもない。
【００９３】
また、上記説明では、ファイル保管装置２０は、復号可能判定部２０４が復号可能判定を行うことにより、ユーザ端末１０に紐付けられたユーザが復号可能な暗号化ファイル１００４のみをユーザ端末１０に返却していた。
しかし、必ずしもファイル保管装置２０で復号可能判定を実行しなくてもよい。つまり、ユーザ端末１０からファイルリスト１００６の要求があった場合に、ファイル保管装置２０は、復号可能判定を実施せず、全ての暗号化ファイル１００４をユーザ端末１０に返却してもよい。そして、ユーザ端末１０のファイルリスト表示部１０１で、実際に復号を実施し、復号が成功した暗号化ファイル１００４だけを表示してもよい。
【００９４】
また、上記説明では、ファイル保管装置２０の暗号化ファイル保管部２０２は、暗号化ファイル１００４をフォルダ分けすることなく保管しておけばよいとした。
しかし、現実的にはある程度フォルダ分けして暗号化ファイル１００４を保管した方が都合がよいこともある。そこで、ファイル保管装置２０の暗号化ファイル保管部２０２は、暗号化ファイル１００４の復号条件１００２に基づきグループ化してフォルダ分けして保管してもよい。この場合、復号可能判定部２０４は、ユーザ属性１００５と復号条件１００２とに基づき復号可能判定を実施する場合に、同一の復号条件１００２のグループ（すなわち、同一のフォルダ内の暗号化ファイル１００４）に対しては、１回だけ復号可能判定を行えばよい。これにより、復号可能判定処理を効率的に行うことができる。
【００９５】
また、上記説明では、コンピュータに保管するファイル１００１の暗号化方法及び復号方法を説明した。ここで、ファイル１００１は、単に電子データのことを表しているのであり、単にデータと読み替えても構わない。つまり、上述したファイル保管システム１は、電子データとアクセス権の２つの情報を持つデータ保管形態であれば応用可能である。例えば、データベースシステムに対しファイル保管システム１を応用することも可能である。
【００９６】
図１８は、実施の形態１に示したユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０のハードウェア構成の例を示す図である。
ユーザ端末１０は、デスクトップＰＣ，ノートＰＣ、スマートフォン、タブレット端末等のコンピュータである。ファイル保管装置２０は、ファイルサーバ等のコンピュータである。鍵生成装置４０、ユーザ情報管理装置５０は、アプリケーションサーバ、データベースサーバ等のコンピュータである。ユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０の各要素をプログラムで実現することができる。
ユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００９７】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等である。外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置等である。主記憶装置９０３は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。通信装置９０４は、例えば通信ボード等である。入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【００９８】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、ファイルリスト表示部１０１、暗号化部１０２、鍵保管部１０３、暗号化データ送信部１０４、ファイルリスト要求部１０５、ファイルリスト受信部１０６、復号部１０７、暗号化データ受信部２０１、暗号化ファイル保管部２０２、ファイルリスト要求受信部２０３、復号可能判定部２０４、ファイルリスト生成部２０５、マスタ鍵生成部４０１、マスタ鍵保管部４０２、公開パラメータ発行部４０３、ユーザ認証部４０４、ユーザ属性取得部４０５、復号鍵生成部４０６、属性情報保管部５０１、ユーザ属性検索部５０２として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、上記プログラムを実行する。
また、実施の形態１の説明において、ファイル１００１、復号条件１００２、公開パラメータ１００３、暗号化ファイル１００４、ユーザ属性１００５、ファイルリスト１００６、復号鍵１００７、判定結果２００１、マスタ公開鍵４００１、マスタ秘密鍵４００２、公開パラメータ取得要求４００３、ユーザＩＤ４００４等として説明している情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
【００９９】
なお、図１８の構成は、あくまでもユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０のハードウェア構成の一例を示すものであり、ユーザ端末１０、ファイル保管装置２０、鍵生成装置４０、ユーザ情報管理装置５０のハードウェア構成は図１８に記載の構成に限らず、他の構成であってもよい。
【符号の説明】
【０１００】
１  ファイル保管システム、１０  ユーザ端末、２０  ファイル保管装置、３０  ネットワーク、４０  鍵生成装置、５０  ユーザ情報管理装置、１０１  ファイルリスト表示部、１０２  暗号化部、１０３  鍵保管部、１０４  暗号化データ送信部、１０５  ファイルリスト要求部、１０６  ファイルリスト受信部、１０７  復号部、２０１  暗号化データ受信部、２０２  暗号化ファイル保管部、２０３  ファイルリスト要求受信部、２０４  復号可能判定部、２０５  ファイルリスト生成部、４０１  マスタ鍵生成部、４０２  マスタ鍵保管部、４０３  公開パラメータ発行部、４０４  ユーザ認証部、４０５  ユーザ属性取得部、４０６  復号鍵生成部、５０１  属性情報保管部、５０２  ユーザ属性検索部、１００１  ファイル、１００２  復号条件、１０２１  暗号化データ、１００３  公開パラメータ、１００４  暗号化ファイル、１００４ａ  ヘッダ部、１００４ｂ  データ部、１００５  ユーザ属性、１００６  ファイルリスト、１００７  復号鍵、２００１  判定結果、４００１  マスタ公開鍵、４００２  マスタ秘密鍵、４００３  公開パラメータ取得要求、４００４  ユーザＩＤ。
【図１】
0006049908.tif 000002
【図２】
0006049908.tif 000003
【図３】
0006049908.tif 000004
【図４】
0006049908.tif 000005
【図５】
0006049908.tif 000006
【図６】
0006049908.tif 000007
【図７】
0006049908.tif 000008
【図８】
0006049908.tif 000009
【図９】
0006049908.tif 000010
【図１０】
0006049908.tif 000011
【図１１】
0006049908.tif 000012
【図１２】
0006049908.tif 000013
【図１３】
0006049908.tif 000014
【図１４】
0006049908.tif 000015
【図１５】
0006049908.tif 000016
【図１６】
0006049908.tif 000017
【図１７】
0006049908.tif 000018
【図１８】
0006049908.tif 000019