(57)【要約】【課題】通信断やサーバ過負荷などによる可用性低下が発生しないユーザ端末、暗号化復号方法、及びプログラムを提供する。【解決手段】ユーザ端末Ｕ１は、関数型暗号による暗号化システムに利用されるユーザ端末であって、復号条件に基づいて復号可否を確認する条件確認機能部１０と、条件確認機能部１０により復号可能であることが確認された場合、その復号条件に応じた復号鍵ＤＳｋをプログラム組み込みのサービス秘密鍵ＳＳｋに基づいて生成する鍵生成部２１と、鍵生成部２１により生成された復号鍵ＤＳｋを用いてファイルを復号する暗号化・復号部２２とを備える。【選択図】図２
2018037767.tif 000002
【特許請求の範囲】
【請求項１】
関数型暗号による暗号化システムに利用されるユーザ端末であって、
復号条件に基づいて復号可否を確認する条件確認機能部と、
前記条件確認機能部により復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成部と、
前記鍵生成部により生成された復号鍵を用いてファイルを復号する暗号化復号部と
を備えることを特徴とするユーザ端末。
【請求項２】
前記復号条件は、インターネット、ＬＡＮ、及び当該ユーザ端末に分散して配置されることを特徴とする請求項１に記載のユーザ端末。
【請求項３】
前記復号条件をハッシュ化して暗号データに記載しておき、その暗号データに記載されているハッシュ値と復号テスト時に算出したハッシュ値とが一致する場合に復号可能であると判定することを特徴とする請求項１に記載のユーザ端末。
【請求項４】
関数型暗号による暗号化システムに利用されるユーザ端末の暗号化復号方法であって、
復号条件に基づいて復号可否を確認する条件確認ステップと、
前記条件確認スッテプにおいて復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成ステップと、
前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを復号する復号ステップと
を含むことを特徴とする暗号化復号方法。
【請求項５】
関数型暗号による暗号化システムに利用されるコンピュータに、
復号条件に基づいて復号可否を確認する条件確認ステップと、
前記条件確認スッテプにおいて復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成ステップと、
前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを復号する復号ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報漏洩対策を行う暗号化技術に関し、特に、ユーザに鍵管理を求めない関数型暗号によるユーザ端末、暗号化復号方法、及びプログラムに関する。
【背景技術】
【０００２】
情報漏洩を防止するため、ファイル暗号化が有効である（特許文献１〜３参照）。ユーザがパスワード等の復号鍵の管理をしなくても良い技術として、ＩＤベース暗号や属性ベース暗号、それらを発展させた関数型暗号が提案されている。これらの技術によれば、ユーザが復号鍵を管理する際に発生する「簡単なパスワード利用やパスワード文のメモによる機密性の低下」や「パスワードの忘却や保管データの紛失による可用性の低下」といった問題を回避できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３２４７５号公報
【特許文献２】特開２０１４−２０７５２１号公報
【特許文献３】特開２０１６−７６０２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、これらの技術では、鍵の管理をインターネット上の第三者が代行する構成が一般的である。そのため、通信断やサーバ過負荷などにより、インターネット上の鍵発行局やＩＤ認証局にアクセスできない場合、データの復号処理を実施できず、可用性が低下する。
【０００５】
本発明は、上述した従来の技術に鑑み、通信断やサーバ過負荷などによる可用性低下が発生しないユーザ端末、暗号化復号方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、第１の態様に係る発明は、関数型暗号による暗号化システムに利用されるユーザ端末であって、復号条件に基づいて復号可否を確認する条件確認機能部と、前記条件確認機能部により復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成部と、前記鍵生成部により生成された復号鍵を用いてファイルを復号する暗号化復号部とを備えることを要旨とする。
【０００７】
第２の態様に係る発明は、第１の態様に係る発明において、前記復号条件が、インターネット、ＬＡＮ、及び当該ユーザ端末に分散して配置されることを要旨とする。
【０００８】
第３の態様に係る発明は、第１の態様に係る発明において、前記復号条件をハッシュ化して暗号データに記載しておき、その暗号データに記載されているハッシュ値と復号テスト時に算出したハッシュ値とが一致する場合に復号可能であると判定することを要旨とする。
【０００９】
第４の態様に係る発明は、関数型暗号による暗号化システムに利用されるユーザ端末の暗号化復号方法であって、復号条件に基づいて復号可否を確認する条件確認ステップと、前記条件確認スッテプにおいて復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成ステップと、前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを復号する復号ステップとを含むことを要旨とする。
【００１０】
第５の態様に係る発明は、関数型暗号による暗号化システムに利用されるコンピュータに、復号条件に基づいて復号可否を確認する条件確認ステップと、前記条件確認スッテプにおいて復号可能であることが確認された場合、その復号条件に応じた復号鍵をプログラム組み込みのサービス秘密鍵に基づいて生成する鍵生成ステップと、前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを復号する復号ステップとを実行させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、通信断やサーバ過負荷などによる可用性低下が発生しないユーザ端末、暗号化復号方法、及びプログラムを提供することが可能である。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る暗号化システムの構成図である。
【図２】本発明の実施の形態に係る暗号化システムの機能ブロック図である。
【図３】本発明の実施の形態に係る暗号化システムの動作を示すフローチャートである。
【図４】本発明の実施の形態に係る暗号化システムの動作を示すフローチャートである。
【図５】比較例に係る暗号化システムの説明図である。
【図６】本発明の実施の形態に係る暗号化システムの説明図である。
【図７】本発明の実施の形態に係る暗号化システムの説明図である。
【図８】本発明の実施の形態に係る暗号化システムの説明図である。
【図９】本発明の実施の形態に係る暗号化システムの説明図である。
【図１０】本発明の実施の形態に係る暗号化システムの利用時のファイル操作手順の説明図である。
【図１１】本発明の実施の形態に係る暗号化システムの説明図である。
【図１２】本発明の実施の形態に係る暗号化システムの説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の実施の形態は、この発明の技術的思想を具体化するための暗号化システムを例示するものであり、装置の構成やデータの構成等は以下の実施の形態に限定されるものではない。
【００１４】
本発明の実施の形態に係る暗号化システムは、サーバ等による集中管理を必要としない暗号／復号システムである。すなわち、サーバ等の集中管理装置へのアクセス不可に起因する可用性リスクを回避するため、鍵生成機能（暗号／復号プログラム）を端末に内蔵し、また、復号条件をインターネット（ＷＡＮ）、ＬＡＮ、ＬＯＣＡＬに分散配置するようにしている。このように可用性対策を行うと、機密性が低下するおそれがあるが、鍵管理サーバ運用ではなく復号条件の複雑さにより機密性を確保し、また、復号条件への攻撃を防止するため条件のハッシュ化を行うようにしている。
【００１５】
これにより、本発明の実施の形態に係る暗号化システムによれば、利用端末の持ち出しやネットワーク・サーバ故障により鍵発行局などの外部システムと利用端末が通信できない場合もファイルの復号、暗号化を処理できるため、高い可用性を確保できる。また、暗号化システムとして、暗号化、復号の際に鍵発行局など（外部サービス）での処理を不要にできるため、外部サービスの構築、運用のコストを削減できる。また、ユーザが指定する復号条件に応じて機密性を確保できる。その条件として、例えば、外部認証サービスでの認証やファイル作成者による確認など、パスワード利用より高度な条件を指定できる。また、暗号文を復号する際にパスワードではなく条件適合によって復号可否が決定されるため、条件に依存してはユーザからの入力を必要としない利便性の高い暗号化システムを構築できる。
【００１６】
次に、関数型暗号について説明する。関数型暗号は、公開鍵暗号の発展形である。関数型暗号では、暗号化及び復号の少なくとも何れかの条件を、単一のパラメータや複数のパラメータとその論理演算式として与えることができる。論理演算式は、論理和（ＯＲ条件）、論理積（ＡＮＤ条件）、否定（ＮＯＴ条件）、及びそれらの組合せの少なくとも何れかからなる。単一のパラメータを利用するものはＩＤベース暗号と呼ばれ、複数のパラメータとその論理演算式で暗号化及び復号を行う方式は関数型暗号と呼ばれる。関数型暗号は、ＩＤベース暗号の拡張暗号と言える。ＩＤベース暗号及び関数型暗号では、あらかじめペアとなるマスター公開鍵、マスター秘密鍵のセットを生成し、マスター公開鍵、マスター秘密鍵とパラメータの演算によって、パラメータ毎に異なる公開鍵及び秘密鍵を生成する（参考文献１、２及び３参照）。参考文献４は、利用者端末装置の利用環境をパラメータとして、利用者端末装置上の任意のアプリケーションの起動を制御するファイルの暗号化及び復号を行うことで、複雑なアプリケーションの起動及び停止制御のためのロジックを実装することなく実現している。
[参考文献１]小林鉄太郎、山本剛、鈴木幸太郎、平田真一、「ＩＤベース暗号の応用とキーワード検索暗号」、ＮＴＴ技術ジャーナル、２０１０年、p.17〜20
[参考文献２]特開２０１１−００４３６６号公報
[参考文献３]国際公開第ＷＯ２０１０／１２３１２２号パンフレット
[特許文献４]特開２０１３−０７４３０２号公報
【００１７】
図１は、本発明の実施の形態に係る暗号化システムの構成図である。この暗号化システムでは、関数型暗号技術を利用する際に鍵管理サーバの役割を削減し、復号条件によって安全性を確保する。これにより、第三者サーバの必要性を無くし、可用性を向上させる。
【００１８】
具体的には、図１に示すように、ユーザオフィス１に設置されたユーザ端末Ｕ１，Ｕ２，Ｕ３がネットワーク２を介して条件提示サーバ３に接続されている。条件提示サーバ３は、条件を提示するサーバであり、ユーザ認証部３Ａ、時刻管理部３Ｂ、認可部３Ｃ等を備える。図中の実線部分は最低限必要な機器を表し、点線部分は追加が可能なシステムを表している。すなわち、最低限必要な機器は１台のユーザ端末Ｕ１のみであり、その他のユーザ端末Ｕ２，Ｕ３や条件提示サーバ３は、必要に応じて追加することが可能である。
【００１９】
図２は、本発明の実施の形態に係る暗号化システムの機能ブロック図である。ここでは、ユーザ端末Ｕ１を例示しているが、その他のユーザ端末Ｕ２，Ｕ３についても同様である。
【００２０】
ユーザ端末Ｕ１は、ユーザが操作するノートパソコン等の各種端末であって、条件確認機能部１０と、暗号化機能部２０と、ＨＤＤ３０とを備える。条件確認機能部１０は、条件を確認するための機能部であって、条件１確認部１０＿１，…，条件ｎ確認部１０＿ｎを備える。条件１確認部１０＿１，…，条件ｎ確認部１０＿ｎは、それぞれ、復号条件１，…，ｎに対応しているものとする。暗号化機能部２０は、ファイルを暗号化及び復号する機能部であって、鍵生成部２１と、暗号化・復号部２２と、ファイル管理部２３とを備える。ＨＤＤ３０は、平文ファイルＦ１や暗号ファイルＦ２等の各種データを記憶する記憶装置である。
【００２１】
鍵生成部２１は、サービス開始時にサービス公開鍵ＳＰｋ，サービス秘密鍵ＳＳｋを生成して保管する機能と、ユーザの要求に対して鍵を生成して返送する機能と、ユーザ環境内で生成したサービス公開鍵ＳＰｋ，サービス秘密鍵ＳＳｋをサービス利用者間で共有できるように共有、変換する機能とを備える。
【００２２】
条件１確認部１０＿１は、復号条件ｘ（利用中ユーザ名など）に合わせた情報を取得し、条件設定時に指定した手法（ＡＤ問い合わせ等)により正当性を確認する機能と、ユーザの操作、環境情報などを元に外部サーバに問い合わせを行い、応答を取得し、サーバ証明書等により応答の正当性を確認する機能と、条件に対して取得した情報を暗号化・復号部２２に対して転送する機能とを備える。その他の条件２確認部１０＿２，…，条件ｎ確認部１０＿ｎについても同様である。
【００２３】
暗号化・復号部２２は、条件確認機能部１０からの入力を元にファイルを復号する機能と、条件確認機能部１０からの入力を元にファイルを復号できるか判定する機能と、ユーザ指定の復号条件を用いてファイルを暗号化する機能と、デフォルトの復号条件を用いてファイルを暗号化する機能とを備える。
【００２４】
ファイル管理部２３は、ドキュメントファイルとシステムファイルを識別する機能と、ユーザがアクセスするフォルダにあるファイルの中に平文ドキュメントファイルがある場合、その平文ドキュメントファイルを自動暗号化する機能と、定期的にファイルをスキャンし、平文ドキュメントファイルを自動暗号化する機能とを備える。
【００２５】
もちろん、ユーザ端末Ｕ１や外部サーバにその他の機能部を備えてもよい。例えば、外部サーバにユーザ管理部を備えてもよい。ユーザ管理部は、利用ユーザを追加削除する機能と、利用条件を追加削除する機能とを備える。
【００２６】
図３は、本発明の実施の形態に係る暗号化システムの動作を示すフローチャートである。ここでは、ファイル読み出し操作が行われた場合について説明する。
【００２７】
まず、ファイルブラウザ、ファイル編集アプリケーションなど（以下、アプリケーション４０）を経由してファイルの読み込みが要求されると（ステップＳ１）、ファイルの読み出し要求を暗号化機能部２０でキャッチし、復号の要否を確認する（ステップＳ２）。ステップＳ２において復号が必要であることを確認した場合、ファイル復号に必要な条件を確認する（ステップＳ３）。ステップＳ３において復号可であることを確認した場合、条件に応じた鍵を生成し、暗号ファイルＦ２を復号し、平文ファイルＦ１をメモリ上等にキャッシュし（ステップＳ４）、アプリケーション４０へ平文キャッシュを返送し、ファイルオープンして処理を終了する（ステップＳ５）。ステップＳ３において復号不可であることを確認した場合、復号エラーを表示し（ステップＳ６）、暗号ファイルＦ２をアプリケーション４０へ返送して処理を終了する（ステップＳ７）。ステップＳ２において復号が不要であることを確認した場合も、暗号ファイルＦ２をアプリケーション４０へ返送して処理を終了する（ステップＳ７）。これにより、通常のファイル利用時には平文ファイルＦ１をアプリケーション４０に返送するのに対して、不正利用時、ファイル持ち出し時、転送時などには暗号ファイルＦ２をアプリケーション４０に返送することができる。
【００２８】
図４は、本発明の実施の形態に係る暗号化システムの動作を示すフローチャートである。ここでは、ファイル書き込み操作が行われた場合について説明する。
【００２９】
まず、アプリケーション４０を経由してファイルの書き込みが要求されると（ステップＳ１１）、ファイルの書き込み要求を暗号化機能部２０でキャッチし、暗号化の要否を確認する（ステップＳ１２）。ステップＳ１２において暗号化が必要であることを確認した場合、デフォルト復号条件を利用して平文ファイルＦ１を暗号化し（ステップＳ１３）、暗号ファイルＦ２をＨＤＤ３０に書き込む（ステップＳ１４）。ステップＳ１２において暗号化が不要であることを確認した場合、平文ファイルＦ１をＨＤＤ３０に書き込む（ステップＳ１５）。これにより、ドキュメントファイルは暗号ファイルＦ２として書き込むことができるのに対して、システムファイルなどは平文ファイルＦ１のまま書き込むことができる。
【００３０】
図５は、比較例に係る暗号化システムの説明図であり、既存技術の応用を示している。ここでは、ファイル書込み操作により、平文データが暗号化され、暗号データが生成される様子を示している（符号５１→５２→５３参照）。また、ファイル読み出し操作により、暗号データが復号され、平文データが生成される様子を示している（符号５３→５４→５５参照）。
【００３１】
既存技術を応用した場合、鍵を発行する第三者サーバが必要になり、コストが増加する（符号５６参照）。また、可用性を確保するシステムにおける復号条件ｆ（ｘ＝Ａ＆ｘｘ＝Ｂ）の取得方法と内容が具体化されていない（符号５３参照）。ｆは関数、ｘ及びｘｘは条件、Ａ及びＢは条件に相当するパラメータである。更に、復号条件ｆ（ｘ＝Ａ＆ｘｘ＝Ｂ）をそのまま暗号データに記載するため、偽装が可能で機密性が低下する（符号５３参照）。
【００３２】
図６は、本発明の実施の形態に係る暗号化システムの説明図である。ここでも、図５と同様、平文データが暗号化され、暗号データが生成される様子を示している（符号６１→６２→６３参照）。また、暗号データが復号され、平文データが生成される様子を示している（符号６３→６４→６５参照）。
【００３３】
既に説明した通り、既存技術を応用した場合、鍵を発行する第三者サーバが必要になり、コストが増加する。そこで、本実施例では、図６に示すように、サービス秘密鍵ＳＳｋを保持した鍵生成機能を復号機能と同一環境で実施するようにしている（符号６５参照）。言い換えると、鍵生成部２１を暗号化・復号部２２と同一環境のユーザ端末Ｕ１に備えている。これにより、復号の度に外部に問い合わせをせずに高速化を図ることが可能であり、また、鍵生成サーバが不要になる。更に、プログラム組み込みのサービス秘密鍵ＳＳｋに基づく復号鍵ＤＳｋを生成でき、暗号文の汎用性が向上するメリットもある。
【００３４】
なお、サービス秘密鍵ＳＳｋをサイドチャネル攻撃などにより取得されるリスクがあるが、復号の条件を秘匿化することで、サービス秘密鍵ＳＳｋ単体では暗号化データに対応した復号鍵ＤＳｋを生成できない。条件が判明すると、偽装などの攻撃が考えられ、安全性を確保できなくなるため、ハッシュ化しておくのが望ましい（後述する）。
【００３５】
図７は、本発明の実施の形態に係る暗号化システムの説明図である。既に説明した通り、既存技術では、可用性を確保するシステムにおける復号条件の取得方法と内容が具体化されていない。そこで、本実施例では、図７に示すように、復号条件の取得方法と内容を具体化している。図中の「○」は可能（推奨）を意味し、「△」は可能を意味し、「×」は不可を意味する。偽造が困難で、社内外で利用できる条件を前提に、必要に応じてオフライン利用をサポートする条件が望ましい。
【００３６】
例えば、自社利用ファイルについては、f(Oauth=A & SAML=B)のように、安全性の高い外部証明をメインに利用し、複数中分類を併用してもよい。また、他社共有ファイルについては、f(Oauth=A & SAML=B | Oauth=C & SAML=D)のように、自社利用ファイルをベースに、他社で利用できる外部証明を追加指定し、複数中分類を併用してもよい。また、自社オフライン持ち出しファイルについては、f(Oauth=A & SAML=B | mail=C & TPM=D & WiFi SSID=E)のように、自社利用ファイルをベースに、オフライン時は内部証明を追加し、複数中分類を併用してもよい。また、他社オフライン持ち出しファイルについては、f(Oauth=A & SAML=B | Oauth=C & SAML=D | mail=E & TPM=F & WiFi SSID=G)のように、他社共有ファイルをベースに、オフライン時は内部証明を追加し、複数中分類を併用してもよい。
【００３７】
図８は、本発明の実施の形態に係る暗号化システムの説明図である。既に説明した通り、既存技術では、可用性を確保するシステムにおける復号条件の取得方法と内容が具体化されていない。そこで、本実施例では、以下に説明するように、インターネットからの条件確認、ＬＡＮでの条件確認、Ｌｏｃａｌ（当該ユーザ端末）での条件確認を適宜選択することが可能となっている。
【００３８】
ここで、インターネットからの条件確認としては、ユーザ認証部３Ａに正規ユーザであることを確認してもらうこと、時刻管理部３Ｂから復号可能時刻であることを確認してもらうこと、認可部３Ｃからファイルへのアクセス可否を確認してもらうことが該当する。具体的には、図８に示すように、ＸＭＬ，ＲＥＳＴ，ＮＴＰなどのプロトコルによってサーバ応答結果を返送してもらう。条件比較は平文のみとなるので、復号可能環境での攻撃により偽装が可能となる。偽装対策のため、サーバ応答に含まれる電文以外にも電文への署名やＳＳＬなどの識別情報が添付された場合のみ利用するようにする。
【００３９】
また、ＬＡＮでの条件確認としては、オフィス内アクセスであることを周辺社員から確認してもらうことが該当する。具体的には、ＸＭＰＰなどのメッセンジャープロトコルによって同暗号化ツールを利用している環境内で作成者を探し、承認の要求とその応答をもらう。例えば、承認電文としては、ユーザが決めた合言葉などを用いることができる。
【００４０】
更に、Ｌｏｃａｌでの条件確認としては、環境情報（端末情報，位置情報）を条件に対応して利用すること、ユーザ情報（メールアドレス等一意に判定できる情報）を条件に対応して利用することが該当する。
【００４１】
図９は、本発明の実施の形態に係る暗号化システムの説明図である。ここでも、図６と同様、平文データが暗号化され、暗号データが生成される様子を示している（符号７１→７２→７３参照）。また、暗号データが復号され、平文データが生成される様子を示している（符号７３→７４→７５参照）。サービス秘密鍵ＳＳｋを保持した鍵生成機能を復号機能と同一環境で実施する点も同様である（符号７５参照）。
【００４２】
既に説明した通り、既存技術では、復号条件ｆ（ｘ＝Ａ＆ｘｘ＝Ｂ）をそのまま暗号データに記載するため、偽装が可能で機密性が低下する。そこで、本実施例では、条件をｃ＝（Ｈａｓｈ（ｘ＝Ａ＆ｘｘ＝Ｂ），ｘ＆ｘｘ）とし、ハッシュ値ｃを暗号データに記載するようにしている。そして、ハッシュ値ｃに含まれるｘ＆ｘｘに相当するパラメータを取得し、ハッシュを取ることで、条件に対応するパラメータを確認できなくする。復号テスト時はｘ＆ｘｘに対応するパラメータを代入し、ハッシュを取り、そのハッシュ値が暗号データに記載されているハッシュ値ｃと一致するか確認する。ハッシュが一致しない場合は復号鍵ＤＳｋを生成することなく復号エラーを表示してもよい。
【００４３】
このような構成によれば、サービス秘密鍵ＳＳｋがサイドチャネル攻撃で漏洩しても、復号条件が特定されない限り、暗号データを復号できる復号鍵ＤＳｋが生成できない。すなわち、システムとして、復号条件によって機密性を確保できる。鍵生成ではパラメータに対して復号鍵ＤＳｋを生成するため、暗号文内の条件文記載方法に影響を受けない。
【００４４】
以下、具体例を挙げながら本暗号化システムの構成を更に詳しく説明する。
【００４５】
図１０は、本発明の実施の形態に係る暗号化システムの利用時のファイル操作手順の説明図である。ここでは、ＬＡＮなどのネットワーク２Ａを介して接続されたユーザ端末Ｕ１とユーザ端末Ｕ１´との間でファイルを送受信する場合について説明する。
【００４６】
まず、ユーザ端末Ｕ１におけるファイル読み出し時について説明する。アプリケーション４０は、ファイルの読み出しを暗号化機能部２０に対して要求する。暗号化機能部２０は、要求のあったアプリケーションをファイル管理部２３で確認し、復号が必要な場合、ＨＤＤ３０から暗号ファイルＦ２を読み出し、条件確認機能部１０へ問い合わせる。条件確認機能部１０は、ファイルの復号条件とユーザ端末Ｕ１の環境条件から復号可否を確認し、復号可能の場合、環境条件を暗号化機能部２０へ返送する。暗号化機能部２０は、条件確認機能部１０から受信した環境条件を用いて鍵生成部２１で復号鍵を生成し、暗号化・復号部２２で復号する。復号済みデータはメモリ経由でアプリケーション４０へ返送される。アプリケーション４０は、暗号化機能部２０から受け取った平文データを読み込む。
【００４７】
次に、ユーザ端末Ｕ１におけるファイル書き込み時について説明する。アプリケーション４０は、ファイルの書き込みを暗号化機能部２０に対して要求する。暗号化機能部２０は、要求のあったファイル・アプリケーションをファイル管理部２３で確認し、暗号化対象の場合、デフォルトの復号条件を適用して暗号化する。暗号データはＨＤＤ３０へ書き込む。
【００４８】
次に、ユーザ端末Ｕ１’におけるファイル読み出し時について説明する。アプリケーション４０’は、ファイルの読み出しを暗号化機能部２０’に対して要求する。暗号化機能部２０’は、要求のあったアプリケーションをファイル管理部２３’で確認し、復号が必要な場合、ＨＤＤ３０’から暗号ファイルＦ２’を読み出し、条件確認機能部１０’へ問い合わせる。条件確認機能部１０’は、ファイルの復号条件とユーザ端末Ｕ１’の環境条件から復号可否を確認し、復号可能の場合、環境条件を暗号化機能部２０’へ返送する。暗号化機能部２０’は、条件確認機能部１０’から受信した環境条件を用いて鍵生成部２１’で復号鍵を生成し、暗号化・復号部２２’で復号する。復号済みデータはメモリ経由でアプリケーション４０’へ返送される。アプリケーション４０’は、暗号化機能部２０’から受け取った平文データを読み込む。
【００４９】
次に、ユーザ端末Ｕ１，Ｕ１’間のファイル送受信時について説明する。アプリケーション４０は、ファイルの読み出しを暗号化機能部２０に対して要求する。暗号化機能部２０は、要求のあったアプリケーションをファイル管理部２３で確認し、外部持ち出しなど復号が必要ない場合、ＨＤＤ３０から暗号ファイルＦ２を読み出し、ユーザに権限変更の要否を確認し、アプリケーション４０へ応答する。アプリケーション４０は、暗号ファイルＦ２を外部のアプリケーション４０’へ送信する。アプリケーション４０’は、暗号ファイルＦ２を受信し、ＨＤＤ３０’に保存する。
【００５０】
図１１は、本発明の実施の形態に係る暗号化システムの説明図である。この図に示すように、鍵発行局の構成としては暗号化ツール組み込みを採用するのが望ましい。すなわち、鍵発行局を持たずに、サービス秘密鍵ＳＳｋとサービス公開鍵ＳＰｋの双方を公開する。クライアント端末内で、自環境に対する復号鍵ＤＳｋを発行する。このような構成によれば、サービス秘密鍵ＳＳｋを安全性の担保にするのではなく、復号条件特定の複雑さを利用することで、共通の鍵発行局を用いなくても暗号化システムを利用できる。ただし、復号条件の特定、偽装が安全性に与える影響が大きいため、鍵生成機能を復号機能と同一環境で実施する必要がある。
【００５１】
図１２は、本発明の実施の形態に係る暗号化システムの説明図である。この図に示すように、復号条件に対する処理としてはハッシュ化を行うのが望ましい。すなわち、復号環境条件をハッシュ化して、ハッシュが一致する場合、復号可能とする。このような構成によれば、ハッシュ化により難読化し、偽装対策とオフラインでの復号可能性の双方を確保できる。ただし、条件に設定された数値の取りうる範囲がＭＤ５（“部長”）のように容易に推測できる物だけでは、総当りによる偽装の可能性があるため、簡単に確認できるもの以外に値域が広い条件も利用することを条件とする。
【００５２】
以上説明したように、本発明の実施の形態に係る暗号化システムが備えるユーザ端末Ｕ１は、関数型暗号による暗号化システムに利用されるユーザ端末であって、復号条件に基づいて復号可否を確認する条件確認機能部１０と、条件確認機能部１０により復号可能であることが確認された場合、その復号条件に応じた復号鍵ＤＳｋをプログラム組み込みのサービス秘密鍵ＳＳｋに基づいて生成する鍵生成部２１と、鍵生成部２１により生成された復号鍵ＤＳｋを用いてファイルを復号する暗号化・復号部２２とを備える。これにより、関数型暗号による暗号化システムを構築する場合でも、鍵発行局などの外部サーバが不要であるため、ネットワーク切断や該当サーバの過負荷によりシステムの「可用性」が低下する問題が発生しない。
【００５３】
また、復号条件は、インターネット、ＬＡＮ、及び当該ユーザ端末Ｕ１（Ｌｏｃａｌ）に分散して配置される。これにより、復号条件に合わせた情報をインターネット、ＬＡＮ、またはＬｏｃａｌから取得することができるため、ネットワーク切断や該当サーバの過負荷に影響を受けにくい。
【００５４】
また、復号条件をハッシュ化して暗号データに記載しておき、その暗号データに記載されているハッシュ値と復号テスト時に算出したハッシュ値とが一致する場合に復号可能であると判定する。これにより、ハッシュが一致しない場合は復号鍵ＤＳｋを生成することなく復号エラーを表示することができるため、復号処理を軽減することが可能である。もちろん、ハッシュ化することにより復号条件への攻撃を防止する効果もある。
【００５５】
なお、ここでは、関数型暗号による暗号化システムを例示したが、本発明はこれに限定されるものではない。例えば、ＩＤベース暗号や属性ベース暗号などによる暗号化システムに本発明を適用することも可能である。
【００５６】
また、本発明は、このようなユーザ端末Ｕ１として実現することができるだけでなく、このようなユーザ端末Ｕ１が備える特徴的な処理部をステップとする暗号化復号方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【符号の説明】
【００５７】
１…ユーザオフィス
Ｕ１，Ｕ２，Ｕ３…ユーザ端末
２…ネットワーク
３…条件提示サーバ
３Ａ…ユーザ認証部
３Ｂ…時刻管理部
３Ｃ…認可部
１０…条件確認機能部
２０…暗号化機能部
３０…ＨＤＤ
２１…鍵生成部
２２…暗号化・復号部
２３…ファイル管理部
Ｆ１…平文ファイル
Ｆ２…暗号ファイル
【図１】
2018037767.tif 000003
【図２】
2018037767.tif 000004
【図３】
2018037767.tif 000005
【図４】
2018037767.tif 000006
【図５】
2018037767.tif 000007
【図６】
2018037767.tif 000008
【図７】
2018037767.tif 000009
【図８】
2018037767.tif 000010
【図９】
2018037767.tif 000011
【図１０】
2018037767.tif 000012
【図１１】
2018037767.tif 000013
【図１２】
2018037767.tif 000014
【手続補正書】
【提出日】平成29年11月13日(2017.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
関数型暗号による暗号化システムに利用されるユーザ端末であって、
ファイルの復号条件と前記ユーザ端末の環境条件に基づいて復号可否を確認する条件確認機能部と、
前記条件確認機能部により復号可能であることが確認された場合、予め保持しているサービス秘密鍵に基づいて復号鍵を生成する鍵生成部と、
前記鍵生成部により生成された復号鍵を用いてファイルを復号する暗号化復号部と
を備え、
前記サービス秘密鍵を予め保持している前記鍵生成部を前記暗号化復号部と同一環境の前記ユーザ端末に備えている
ことを特徴とするユーザ端末。
【請求項２】
前記復号条件は、インターネット、ＬＡＮ、及び当該ユーザ端末に分散して配置されることを特徴とする請求項１に記載のユーザ端末。
【請求項３】
前記復号条件をハッシュ化して暗号データに記載しておき、その暗号データに記載されているハッシュ値と復号テスト時に算出したハッシュ値とが一致する場合に復号可能であると判定することを特徴とする請求項１に記載のユーザ端末。
【請求項４】
関数型暗号による暗号化システムに利用されるユーザ端末の暗号化復号方法であって、
前記ユーザ端末が、
ファイルの復号条件と前記ユーザ端末の環境条件に基づいて復号可否を条件確認機能部で確認する条件確認ステップと、
前記条件確認スッテプにおいて復号可能であることが確認された場合、予め保持しているサービス秘密鍵に基づいて復号鍵を鍵生成部で生成する鍵生成ステップと、
前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを暗号化復号部で復号する復号ステップと
を実行し、
前記サービス秘密鍵を予め保持している前記鍵生成部を前記暗号化復号部と同一環境の前記ユーザ端末に備えている
ことを特徴とする暗号化復号方法。
【請求項５】
請求項１から３に記載したユーザ端末としてコンピュータを機能させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、第１の態様に係る発明は、関数型暗号による暗号化システムに利用されるユーザ端末であって、ファイルの復号条件と前記ユーザ端末の環境条件に基づいて復号可否を確認する条件確認機能部と、前記条件確認機能部により復号可能であることが確認された場合、予め保持しているサービス秘密鍵に基づいて復号鍵を生成する鍵生成部と、前記鍵生成部により生成された復号鍵を用いてファイルを復号する暗号化復号部とを備え、前記サービス秘密鍵を予め保持している前記鍵生成部を前記暗号化復号部と同一環境の前記ユーザ端末に備えていることを要旨とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
第４の態様に係る発明は、関数型暗号による暗号化システムに利用されるユーザ端末の暗号化復号方法であって、前記ユーザ端末が、ファイルの復号条件と前記ユーザ端末の環境条件に基づいて復号可否を条件確認機能部で確認する条件確認ステップと、前記条件確認スッテプにおいて復号可能であることが確認された場合、予め保持しているサービス秘密鍵に基づいて復号鍵を鍵生成部で生成する鍵生成ステップと、前記鍵生成ステップにおいて生成された復号鍵を用いてファイルを暗号化復号部で復号する復号ステップとを実行し、前記サービス秘密鍵を予め保持している前記鍵生成部を前記暗号化復号部と同一環境の前記ユーザ端末に備えていることを要旨とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
第５の態様に係る発明は、第１から第３の態様に係る発明のユーザ端末としてコンピュータを機能させるためのプログラムであることを要旨とする。