特許第6055919号(P6055919)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧
<>
  • 特許6055919-鍵クラウドシステムおよび復号方法 図000002
  • 特許6055919-鍵クラウドシステムおよび復号方法 図000003
  • 特許6055919-鍵クラウドシステムおよび復号方法 図000004
  • 特許6055919-鍵クラウドシステムおよび復号方法 図000005
  • 特許6055919-鍵クラウドシステムおよび復号方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6055919
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】鍵クラウドシステムおよび復号方法
(51)【国際特許分類】
   G06F 21/60 20130101AFI20161219BHJP
   H04L 9/08 20060101ALI20161219BHJP
【FI】
   G06F21/60 320
   H04L9/00 601F
   H04L9/00 601C
【請求項の数】4
【全頁数】14
(21)【出願番号】特願2015-527308(P2015-527308)
(86)(22)【出願日】2014年7月16日
(86)【国際出願番号】JP2014068851
(87)【国際公開番号】WO2015008769
(87)【国際公開日】20150122
【審査請求日】2015年11月27日
(31)【優先権主張番号】特願2013-149150(P2013-149150)
(32)【優先日】2013年7月18日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】山本 具英
(72)【発明者】
【氏名】山本 剛
(72)【発明者】
【氏名】小林 鉄太郎
【審査官】 戸島 弘詩
(56)【参考文献】
【文献】 特開2007−074106(JP,A)
【文献】 特開2004−159159(JP,A)
【文献】 米国特許出願公開第2011/0225423(US,A1)
【文献】 クラウド鍵管理型暗号 情報漏えいや鍵紛失の恐れがない復号処理のアウトソーシングを実現,BUSINESS COMMUNICATION,日本,株式会社ビジネスコミュニケーション社,2012年10月 1日,第49巻,第10号,第20〜21頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/00
G09C1/00−5/00
H04K1/00−3/00
H04L9/00−9/38
H04L12/721
(57)【特許請求の範囲】
【請求項1】
j∈{1,…,J}であり、i∈{1,…,J}であり、Jは2以上の整数であり、
復号鍵DK(j)を格納し、前記復号鍵DK(j)を用いたクラウド鍵管理型の復号サービスを提供する複数個の鍵クラウド装置KC(j)と、
前記鍵クラウド装置KC(j)に格納された前記復号鍵DK(j)に対応する暗号化鍵EK(j)を用いて生成された名前情報N(j)と、前記鍵クラウド装置KC(j)のアドレス情報A(j)と、を対応付けて格納するディレクトリサービス装置と、
何れかの暗号化鍵EK(i)を用いて暗号化された暗号文C(i)が入力されるクライアント装置と、を有し、
前記復号鍵DK(j)は秘密情報であり、前記暗号化鍵EK(j)は公開情報であり、
前記クライアント装置は、前記暗号文C(i)に埋め込まれた前記暗号化鍵EK(i)を用いて名前情報N(i)を生成し、前記名前情報N(i)を前記ディレクトリサービス装置に送信し、
前記ディレクトリサービス装置は、前記名前情報N(i)に対応付けられた前記アドレス情報A(i)を抽出し、前記アドレス情報A(i)を前記クライアント装置に送信し、
前記クライアント装置は、前記アドレス情報A(i)で特定される前記鍵クラウド装置KC(i)に、前記暗号文C(i)をかく乱した情報を送信し、
前記鍵クラウド装置KC(i)は、自己訂正技術により、格納した復号鍵DK(i)を用い、前記復号鍵DK(i)の情報を前記クライアント装置に与えることなく、前記クライアント装置で前記暗号文C(i)の復号値を得るための情報を前記クライアント装置に与える、鍵クラウドシステム。
【請求項2】
請求項1の鍵クラウドシステムであって、
前記名前情報N(j)は、前記復号鍵DK(j)に対応する暗号方式S(j)を表す識別子ID(j)を含み、
前記名前情報N(i)は、前記復号鍵DK(i)に対応する暗号方式S(i)を表す識別子ID(i)を含み、
前記復号鍵DK(i)を格納する前記鍵クラウド装置KC(i)は、前記暗号方式S(i)の復号サービスを提供する、鍵クラウドシステム。
【請求項3】
鍵クラウドシステムの復号方法であって、
j∈{1,…,J}であり、i∈{1,…,J}であり、Jは2以上の整数であり、
前記鍵クラウドシステムは、
復号鍵DK(j)を格納し、前記復号鍵DK(j)を用いたクラウド鍵管理型の復号サービスを提供する複数個の鍵クラウド装置KC(j)と、
前記鍵クラウド装置KC(j)に格納された前記復号鍵DK(j)に対応する暗号化鍵EK(j)を用いて生成された名前情報N(j)と、前記鍵クラウド装置KC(j)のアドレス情報A(j)と、を対応付けて格納するディレクトリサービス装置と、
何れかの暗号化鍵EK(i)を用いて暗号化された暗号文C(i)が入力されるクライアント装置と、を有し、
前記復号鍵DK(j)は秘密情報であり、前記暗号化鍵EK(j)は公開情報であり、
前記復号方法は、
前記クライアント装置が、前記暗号文C(i)に埋め込まれた前記暗号化鍵EK(i)を用いて名前情報N(i)を生成し、前記名前情報N(i)を前記ディレクトリサービス装置に送信するステップと、
前記ディレクトリサービス装置が、前記名前情報N(i)に対応付けられた前記アドレス情報A(i)を抽出し、前記アドレス情報A(i)を前記クライアント装置に送信するステップと、
前記クライアント装置が、前記アドレス情報A(i)で特定される前記鍵クラウド装置KC(i)に、前記暗号文C(i)をかく乱した情報を送信するステップと、
前記鍵クラウド装置KC(i)が、自己訂正技術により、格納した復号鍵DK(i)を用い、前記復号鍵DK(i)の情報を前記クライアント装置に与えることなく、前記クライアント装置で前記暗号文C(i)の復号値を得るための情報を前記クライアント装置に与えるステップと、を有する復号方法。
【請求項4】
請求項3の復号方法であって、
前記名前情報N(j)は、前記復号鍵DK(j)に対応する暗号方式S(j)を表す識別子ID(j)を含み、
前記名前情報N(i)は、前記復号鍵DK(i)に対応する暗号方式S(i)を表す識別子ID(i)を含み、
前記復号鍵DK(i)を格納する前記鍵クラウド装置KC(i)は、前記暗号方式S(i)の復号サービスを提供する、復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウド鍵管理型の復号サービスを行う技術に関する。
【背景技術】
【0002】
ネットワークでサーバ装置等の機器を一意に指定するための情報には、FQDN(Fully Qualified Domain Name)やnetbios名などの名前情報(論理的名称)と、IPアドレスなどの機器に固有のアドレス情報がある。ここで、IPアドレスなどのアドレス情報は静的であり、その変更を行うことは容易ではない。そのため通常は、通信時にFQDNやnetbios名などの名前情報で機器名を指定し、DNS(Domain Name System)やWINS(Windows(登録商標) Internet Name Service)などの名前解決を利用してIPアドレスなどのアドレス情報に変換し、そのアドレス情報を使って機器と通信を始める。例えばDNSでは、クライアントがLANやWANで指定されたDNSサーバにFQDNの名前解決を依頼するとDNSのルートサーバ装置からのヒエラルキをたどったり、上位サーバ装置に名前解決を依頼したりすることなどで、先のDNSサーバ装置はFQDNに対応するIPアドレスをクライアントに返すことができる(特許文献1等参照)。
【0003】
一方、復号鍵(例えば、共通鍵暗号方式の場合は共通鍵、公開鍵暗号方式の場合は秘密鍵)の鍵管理問題を解決するクラウド鍵管理型暗号が提案され、そのシステム(クラウド鍵システム)について概要が論文等で発表されている(非特許文献1等参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012‐238935号公報
【非特許文献】
【0005】
【非特許文献1】「オンライン環境でのデータ保護の課題を抜本的に解決する『クラウド鍵管理型暗号方式』を開発」、NTT技術ジャーナル、2012年5月、pp.46−47.
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来提案されていたクラウド鍵システムは、物理的に一つの鍵クラウド装置が暗号化コンテンツの復号サービスを提供するものであった。そのため、復号サービスを受けようとするクライアント装置は、その一つの鍵クラウド装置の名前情報さえ保持していれば、その鍵クラウド装置にアクセスし、復号サービスを受けることができた。
【0007】
一方、複数個の鍵クラウド装置をネットワーク上に論理的、物理的に分散配置し、各鍵クラウド装置がそれぞれの復号鍵を用いた復号サービスを提供するクラウド鍵システムを構築することも想定できる。このような場合、或る暗号化コンテンツの復号サービスを受けようとするクライアント装置は、複数個の鍵クラウド装置のうち、その暗号化コンテンツに対応する復号サービスを提供する鍵クラウド装置にアクセスする必要がある。物理的に一つの鍵クラウド装置のみが暗号化コンテンツの復号サービスを提供する場合であっても、クライアント装置がその鍵クラウド装置の名前情報を知らない場合もある。
【0008】
本発明は、鍵クラウド装置がそれぞれの復号鍵を用いた復号サービスを提供する場合において、クライアント装置が暗号化コンテンツに対応する復号サービスを提供する鍵クラウド装置に容易にアクセスすることが可能な技術を提供する。
【課題を解決するための手段】
【0009】
暗号化コンテンツを復号するための復号鍵に対応する値を用いて生成された名前情報を用い、この復号鍵を用いたクラウド鍵管理型の復号サービスを提供する鍵クラウド装置のアドレス情報を得る。
【発明の効果】
【0010】
これにより、クライアント装置が暗号化コンテンツに対応する復号サービスを提供する鍵クラウド装置に容易にアクセスすることができる。
【図面の簡単な説明】
【0011】
図1図1は、実施形態の鍵クラウドシステムの構成を例示したブロック図である。
図2図2Aは、実施形態のディレクトリサービス装置の構成を例示したブロック図である。図2Bから図2Eは、実施形態の名前情報を例示した図である。
図3図3Aは、暗号化を行うクライアント装置の構成を例示したブロック図である。図3Bは、復号サービスを受けるクライアント装置の構成を例示したブロック図である。図3Cは、復号サービスを提供する鍵クラウド装置の構成を例示したブロック図である。
図4図4は、実施形態の登録処理を説明するための図である。
図5図5は、実施形態の鍵クラウド処理を説明するための図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。
<構成>
図1に例示するように、本形態の鍵クラウドシステム1は、システムを管理する管理装置11、暗号化を行うJ個のクライアント装置13−1〜13−J、クラウド鍵管理型の復号サービスを受けるクライアント装置14、クラウド鍵管理型の復号サービスを提供するJ個の鍵クラウド装置15−1〜15−J、および鍵クラウド装置15−1〜15−Jの名前解決を行うディレクトリサービス装置12を有し、これらはネットワークを介して通信可能に構成されている。ただしJ≧1であり、例えばJ≧2である。なお、図1ではJ個のクライアント装置13−1〜13−Jを例示しているが、暗号化を行うJ+1個以上のクライアント装置13が存在してもよい。例えば、各クライアント装置13−j(ただし、j∈{1,…,J})がそれぞれ複数個存在し、各jに対応するグループを構成してもよい。また、図1では1個のクライアント装置14を例示しているが、復号サービスを受ける2個以上のクライアント装置が存在してもよい。また、図1ではJ個の鍵クラウド装置15−1〜15−Jを例示しているが、復号サービスを提供するJ+1個以上の鍵クラウド装置が存在してもよい。さらに、図1では1個のディレクトリサービス装置12のみを例示しているが、アドレス情報が階層的に構成されている場合には、それぞれの階層の名前解決を行うための上位のディレクトリサービス装置が1個以上存在していてもよい。
【0013】
図2Aに例示するように、ディレクトリサービス装置12は、記憶部121、入力部122、出力部123、登録処理部124、および検索部125を有する。図3Aに例示するように、クライアント装置13−j(ただし、j∈{1,…,J})は、記憶部131−j、入力部132−j、出力部133−j、および暗号化部134−jを有する。図3Bに例示するように、クライアント装置14は、記憶部141、入力部142、出力部143、名前情報生成部144、および復号処理部145を有する。図3Cに例示するように、鍵クラウド装置15−j(ただし、j∈{1,…,J})は、記憶部151−j、入力部152−j、出力部153−j、および復号能力提供部154−jを有する。
【0014】
管理装置11、ディレクトリサービス装置12、クライアント装置13−1〜13−J、クライアント装置14、および鍵クラウド装置15−1〜15−Jのそれぞれは、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。コンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。例えば、管理装置11はサーバ装置であり、ディレクトリサービス装置12の具体例はDNSサーバ装置やWINSサーバ装置などであり、クライアント装置13−1〜13−Jやクライアント装置14は端末装置であり、鍵クラウド装置15−1〜15−Jはサーバ装置である。
【0015】
<鍵設定処理>
管理装置11は、所定の暗号方式S(j)(ただし、j∈{1,…,J})で暗号化を行って暗号化コンテンツC(j)を生成するための暗号化鍵EK(j)、および暗号化コンテンツC(j)を復号するための復号鍵DK(j)を設定する。暗号方式S(1),・・・,S(J)は互いに同一であってもよいし、同一でなくてもよい。暗号化鍵EK(1),・・・,EK(J)は互いに衝突困難(collision-resistant)であり、復号鍵DK(1),・・・,DK(J)は互いに衝突困難である。好ましくは、暗号化鍵EK(1),・・・,EK(J)は互いに異なり、復号鍵DK(1),・・・,DK(J)は互いに異なる。
【0016】
暗号方式S(j)の具体例は、公開鍵暗号方式、IDベース暗号方式、関数型暗号方式、共通鍵暗号方式などである。例えば、暗号方式S(j)が公開鍵暗号方式である場合、暗号化鍵EK(j)は公開鍵であり、復号鍵DK(j)はこの公開鍵に対応する秘密鍵である。暗号方式S(j)がIDベース暗号方式である場合、暗号化鍵EK(j)はメールアドレス等の識別子であり、復号鍵DK(j)はこの識別子に対応する秘密鍵である。暗号方式S(j)が関数型暗号方式である場合、暗号化鍵EK(j)は属性等を表すベクトルであり、復号鍵DK(j)はこのベクトルに対応する秘密鍵である。暗号方式S(j)が共通鍵暗号方式である場合、暗号化鍵EK(j)および復号鍵DK(j)は共通鍵であり、EK(j)=DK(j)である。復号鍵DK(j)は、すべての暗号方式において秘密情報である。一方、暗号化鍵EK(j)は、公開鍵暗号方式、IDベース暗号方式、および関数型暗号方式では公開情報であるが、共通鍵暗号方式では秘密情報である。
【0017】
暗号化鍵EK(j)(ただし、j∈{1,…,J})は、クライアント装置13−j(図3A)の記憶部131−jに格納される。復号鍵DK(j)(ただし、j∈{1,…,J})は、鍵クラウド装置15−jの記憶部151−jに格納される。
【0018】
<登録処理>
図4に例示するように、管理装置11は、復号鍵DK(j)(ただし、j∈{1,…,J})に対応する値での登録要求を出力する(ステップS101)。この登録要求は、復号鍵DK(j)に対応する値と、復号鍵DK(j)を用いたクラウド鍵管理型の復号サービスを提供する鍵クラウド装置15−jに固有のアドレス情報A(j)(例えば、IPアドレス)とを含む。
【0019】
復号鍵DK(1)に対応する値,・・・,復号鍵DK(J)に対応する値は、互いに衝突困難であり、圧倒的な確率で互いに異なる値である。例えば、復号鍵DK(j)に対応する値は公開情報であり、この復号鍵DK(j)に対応する値のみから復号鍵DK(j)を特定することは困難である。例えば、暗号方式S(j)が公開鍵暗号方式、IDベース暗号方式、または関数型暗号方式である場合、復号鍵DK(j)に対応する値は、それぞれ、公開鍵、識別子、またはベクトル等の暗号化鍵EK(j)である。暗号方式S(j)が共通鍵暗号方式である場合、復号鍵DK(j)に対応する値は、共通鍵である暗号化鍵EK(j)(=DK(j))に対応する鍵識別子である。
【0020】
登録要求は、ネットワークを通じて送信され、ディレクトリサービス装置12(図2A)の入力部122に入力され、登録処理部124に送られる(ステップS102)。登録処理部124は、登録要求が含む復号鍵DK(j)(第2復号鍵)に対応する値を用い、鍵クラウド装置15−j(第2鍵クラウド装置)に対応する名前情報N(j)(第2名前情報)を生成する(ステップS103)。鍵クラウド装置15−jに対応する名前情報N(j)は、復号鍵DK(j)に対応する値から得られ、ディレクトリサービス装置12で登録可能な文字列(例えば16進のASCII文字列)からなる。また、鍵クラウド装置15−1に対応する名前情報N(1),・・・,鍵クラウド装置15−Jに対応する名前情報N(J)は、互いに衝突困難であり、圧倒的な確率で互いに相違する。
【0021】
鍵クラウド装置15−jに対応する名前情報N(j)の例は、復号鍵DK(j)に対応する値を表す情報または復号鍵DK(j)に対応する値を表す情報の一部を含む文字列である。図2Bの例では、ディレクトリサービス装置12の権威ドメインが“ntt.local”であり、“local”をトップレベルドメイン、“ntt”をセカンドレベルドメイン、暗号化鍵EK(j)である公開鍵を表す16進の文字列“37”をサードレベルドメインとする階層型のドメイン名を名前情報N(j)としている。この例の場合、登録処理部124は、事前設定された権威ドメイン“ntt.local”と、入力された公開鍵を表す16進の文字列“37”とを用い、名前情報“37.ntt.local”を生成する。
【0022】
名前情報N(j)の他の例は、復号鍵DK(j)に対応する値の暗号学的なハッシュ値を表す情報、またはこのハッシュ値を表す情報の一部を含む文字列である。復号鍵DK(j)に対応する値の暗号学的なハッシュ値とは、復号鍵DK(j)に対応する値に、SHA−1等の暗号学的なハッシュ関数を作用させて得られる関数値を意味する。暗号学的なハッシュ値は衝突困難性(collision resistance)を持つ。一般に暗号化鍵EK(j)の長さが長いほど安全性は高い。一方で名前情報が長いほど登録すべきデータ量は多く、名前情報の長さの上限が定められている場合もある。復号鍵DK(j)に対応する値の暗号学的なハッシュ値を表す情報またはその一部を含む名前情報とすることで、高い安全性を確保しつつ、名前情報の長さを短縮できる。図2Cの例では、“local”をトップレベルドメイン、“ntt”をセカンドレベルドメイン、16進の文字列“37”の暗号学的なハッシュ値を表す文字列“***”をサードレベルドメインとする階層型のドメイン名を名前情報N(j)としている。図2Dの例では、文字列“0x37”の暗号学的なハッシュ値を表す文字列“***”の一部“**”をサードレベルドメインとする階層型のドメイン名を名前情報N(j)としている。これらの例の場合、登録処理部124は、事前設定された権威ドメイン“ntt.local”と、事前設定された暗号学的なハッシュ関数と、入力された公開鍵を表す文字列“0x37”とを用い、名前情報“***.ntt.local”や“**.ntt.local”を生成する。
【0023】
名前情報N(j)の他の例は、さらに復号鍵DK(j)に対応する暗号方式S(j)を表す識別子ID(j)を含む文字列である。すなわち、名前情報N(j)は、復号鍵DK(j)に対応する値を表す情報または復号鍵DK(j)に対応する値を表す情報の一部、および/または、復号鍵DK(j)に対応する値の暗号学的なハッシュ値を表す情報またはハッシュ値を表す情報の一部に加え、さらに識別子ID(j)を含んでいてもよい。図2Eの例では、“local”をトップレベルドメイン、“ntt”をセカンドレベルドメイン、暗号化鍵EK(j)である公開鍵を表す16進の文字列“37”と識別子ID(j)との連結値をサードレベルドメインとする階層型のドメイン名を名前情報N(j)としている。この例の場合、登録処理部124は、事前設定された権威ドメイン“ntt.local”と、入力された公開鍵を表す16進の文字列“37”と、この公開鍵に対応する識別子ID(j)を用い、名前情報“37|ID(j).ntt.local”を生成する。ただし「α|β」は文字列αとβとの連結(concatenation)を表す。
【0024】
登録処理部124は、各j∈{1,…,J}について、生成した名前情報N(j)(第2名前情報)と、登録要求が含む鍵クラウド装置15−j(第2鍵クラウド装置)に固有のアドレス情報A(j)(第2アドレス情報)と、を対応付けて記憶部21に格納する(ステップS104)。例えば、登録処理部124は、名前情報N(j)である図2Bに例示した“37.ntt.local”と、アドレス情報A(j)であるIPアドレス“192.168.1.54”と、を対応付けて記憶部21に格納する
【0025】
<復号サービスの提供処理>
暗号化を行う何れかのクライアント装置13−j(図3A)の入力部132−jに平文のコンテンツが入力され、暗号化部134−jに送られる。暗号化部134−jは、記憶部131−jから読み込んだ暗号化鍵EK(j)を用い、暗号方式S(j)に則ってコンテンツを暗号化し、暗号化コンテンツC(j)を生成して出力する。暗号化コンテンツC(j)には、前述した「復号鍵DK(j)に対応する値」が埋め込まれている。例えば暗号方式S(j)が、公開鍵暗号方式、IDベース暗号方式、または関数型暗号方式である場合、暗号化鍵EK(j)が「復号鍵DK(j)に対応する値」として暗号化コンテンツC(j)に埋め込まれている。例えば暗号方式S(j)が共通鍵暗号方式である場合、暗号化鍵EK(j)=DK(j)に対応する鍵識別子が「復号鍵DK(j)に対応する値」として暗号化コンテンツC(j)に埋め込まれている。暗号化コンテンツC(j)は、出力部133−jに送られ、出力部133−jから出力される。
【0026】
暗号化コンテンツC(j)は、ネットワークを通じて送信され、クライアント装置14(図3B)の入力部142に入力される(ステップS111)。
【0027】
暗号化コンテンツC(j)に「復号鍵DK(j)に対応する値」として埋め込まれた暗号化鍵EK(j)またはそれに対応する鍵識別子は名前情報生成部144に送られる。名前情報生成部144は、暗号化鍵EK(j)またはそれに対応する鍵識別子(復号鍵DK(j)に対応する値)を用い、復号鍵DK(j)を用いたクラウド鍵管理型の復号サービスを提供する鍵クラウド装置15−jの名前情報N(j)を生成して出力する(ステップS112)。ステップS112での名前情報N(j)の生成方法は、登録処理のステップS103での名前情報N(j)の生成方法と同じである。生成された名前情報N(j)は出力部143に送られ、出力部143は、この名前情報N(j)を含む名前解決要求をディレクトリサービス装置12に対して出力する(ステップS113)。なお、出力部143がディレクトリサービス装置12のアドレス情報を知っている場合には、出力部143はそのアドレス情報を用いてディレクトリサービス装置12に名前情報を送る。DNSサーバ装置のように上位のディレクトリサービス装置が存在する場合には、出力部143がルートのディレクトリサービス装置からのヒエラルキをたどったり、上位のディレクトリサービス装置に名前解決を依頼したりすることなどで、ディレクトリサービス装置12のアドレス情報を取得してもよい。
【0028】
名前解決要求は、ネットワークを通じて送信され、ディレクトリサービス装置12の入力部122に入力され、それが含む名前情報N(j)が検索部125に送られる(ステップS114)。検索部125は、入力された名前情報N(j)を用いて記憶部121を検索し、入力された名前情報N(j)に対応するアドレス情報A(j)を得て(入力された名前情報N(j)に対応する第2アドレス情報をアドレス情報A(j)として得て)出力する(ステップS115)。例えば、検索部125は、入力された名前情報N(j)に一致する記憶部121内の名前情報を特定し、特定した名前情報に対応付けられたアドレス情報A(j)を得て出力する。例えば、記憶部121で名前情報“37.ntt.local”とアドレス情報“192.168.1.54”とが対応付けられており、検索部125に名前情報“37.ntt.local”が入力された場合、検索部125はアドレス情報“192.168.1.54”を得て出力する。得られたアドレス情報A(j)は、復号鍵DK(j)を用いたクラウド鍵管理型の復号サービスを提供する鍵クラウド装置15−jのアドレス情報である。アドレス情報A(j)は、出力部123に送られて出力される(ステップS116)。
【0029】
アドレス情報A(j)は、ネットワークを通じて送信され、クライアント装置14の入力部142に入力され、復号処理部145に送られる(ステップS117)。復号処理部145は、アドレス情報A(j)を用い、出力部14からネットワーク経由で鍵クラウド装置15−jに接続する。これに対し、鍵クラウド装置15−j(図3C)の復号能力提供部154−jは、出力部153−jからネットワーク経由で復号処理部145に復号サービスを提供し、復号処理部145はこの復号サービスの提供を受けることで、暗号化コンテンツC(j)の復号結果を得て出力する(ステップS118,S119)。
【0030】
復号サービスの提供は、例えば、公知の自己訂正技術を用いて行われる(例えば国際公開WO/2012/057134,WO/2011/086992,WO/2012/121152等参照)。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う(正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る)技術である。自己訂正技術を用いた復号サービスでは、鍵クラウド装置15−jが復号鍵DK(j)の情報を外部のクライアント装置14に与えることなく、鍵クラウド装置15−jが、クライアント装置14で暗号化コンテンツC(j)(復号対象の暗号文)の復号値を得るための情報をクライアント装置14に与える処理を含む。好ましくは、鍵クラウド装置15−jは、暗号化コンテンツC(j)の情報をクライアント装置14から得ることなく(例えば、暗号化コンテンツC(j)をかく乱した情報を得て)、暗号化コンテンツC(j)の復号値を得るための情報をクライアント装置14に与える。
【0031】
以下に自己訂正技術を用いた復号サービスの提供処理を例示する。以下の例では、G,Hが群、f(x)が群Hの元である暗号文xを特定の復号鍵DK(j)で復号して群Gの元を得るための復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数である。ただし、以下の例は本発明を限定するものではなく、その他の自己訂正技術が用いられてもよい。
ステップ118a:復号処理部145は、暗号化コンテンツC(j)に対応する、群Hの元である第一入力情報τ及び第二入力情報τを出力する。例えば、f(x)が準同型関数、群Hが巡回群、巡回群Hの生成元がμ、r1,r2が0以上のランダムな自然数、τ=μr1、τ=μr2である。また、a,bの一方が1などの定数であってもよい。第一入力情報τ及び第二入力情報τは鍵クラウド装置15−jに送られる。
【0032】
ステップ119a:復号能力提供部154−jは、送られた第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部154−jは、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。「或る確率」は100%未満であり0%以上の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。第一出力情報zはクライアント装置14に送られる。
【0033】
ステップ119b:復号能力提供部154−jは、送られた第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第二出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部154−jは、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。第二出力情報zはクライアント装置14に送られる。
【0034】
ステップ118b:復号処理部145は、送られた第一出力情報zから計算結果u=f(x)を生成する。例えば、ν=f(μ)であり、u=zν−r1である。生成された計算結果uは復号処理部145の記憶部(図示せず)に格納される。
ステップ118c:復号処理部145は、送られた第二出力情報zから計算結果v=f(x)を生成する。例えば、v=zν−r2である。生成された計算結果vは復号処理部145の記憶部(図示せず)に格納される。
【0035】
ステップ118d:復号処理部145は、記憶部に格納されている何れかのu及びvの組がu=vを満たすかを判定し、満たした場合に、u=vを満たすu及びvの組およびa’a+b’b=1を満たす整数a’,b’についてのub’a’を復号値として出力する。ステップ118a〜118d,119a,119bの処理を所定回数繰り返しても計算結果u及びvがu=vを満たさなかった場合、復号処理部145は、復号が不可能である旨のエラー情報を出力する。なお、復号処理部145の記憶部(図示せず)に1個以上のvが格納されている場合には、ステップ118bとステップ118cとの間でもステップ118dの処理が行われてもよい。
【0036】
自己訂正技術を用いた復号サービスが提供される場合、復号処理部145は、正しい復号値を得るか、或いは、復号が不可能である旨の結果を得る。復号処理部145が誤った復号値を得る確率は無視できるほど小さい。よって、自己訂正技術を用いた復号サービスが提供される場合、クライアント装置14は、公開鍵等の「復号鍵DK(j)に対応する値」の正当性や鍵クラウド装置15−jの正当性を確認しなくても、誤った復号値が正しい復号値であると詐称されることはない。そのため、公開鍵証明書の検証や認証処理を行う必要がない。
【0037】
<変形例等>
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記の実施形態では自己訂正技術を用いて復号サービスが提供される例を示した。しかしながら、自己訂正技術を用いることなく復号サービスが提供されてもよい。例えば、復号サービスを受けるクライアント装置が、アドレス情報A(j)を用い、ネットワーク経由で鍵クラウド装置15−jに接続し、暗号化コンテンツC(j)を鍵クラウド装置15−jに送信し、鍵クラウド装置15−jが復号鍵DK(j)を用いて暗号化コンテンツC(j)を復号し、それによって得られた復号値を当該クライアント装置に送信してもよい。
【0038】
また、管理装置11、ディレクトリサービス装置12、クライアント装置13−1〜13−J、クライアント装置14、および鍵クラウド装置15−1〜15−Jの一部からなる組み合わせが、同一のコンピュータ上で実装されてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
【0039】
名前情報は、上述したFQDNなどのドメイン名やnetbios名などに限定されない。例えば、ユーザIDや装置ID等の識別子が名前情報でもよい。アドレス情報は、上述したIPアドレスに限定されない。例えば、メールアドレス、MACアドレス等がアドレス情報であってもよい。
【0040】
また自己訂正技術は前述したものに限定されない。例えば、群Hが群Gの直積群G×G、群Gが巡回群、巡回群Gの生成元がμ、暗号文x=(c,c),(V,W)が群Hの元、f(V,W)=Yであり、r4〜r7が0以上の自然数の乱数であり、τ=(cr4,cr4μr5)であり、τ=(cr6,cr6μr7)であり、u=z−r4μ−r5、v=z−r6μ−r7であってもよい。
【0041】
その他上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0042】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【0043】
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0044】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
【0045】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【0046】
<付記>
[項目(Item)1]
復号鍵に対応する値を用いて生成された名前情報を入力とし、前記復号鍵を用いたクラウド鍵管理型の復号サービスを提供する鍵クラウド装置のアドレス情報を得る、ディレクトリサービス装置。
[項目2]
項目1のディレクトリサービス装置であって、
第2復号鍵に対応する値を用いて生成された第2名前情報と、前記第2復号鍵を用いたクラウド鍵管理型の復号サービスを提供する第2鍵クラウド装置の第2アドレス情報と、を対応付けて格納する記憶部と、
入力された前記名前情報を用いて前記記憶部を検索し、前記名前情報に対応する前記第2アドレス情報を前記アドレス情報として得る検索部と、
を有するディレクトリサービス装置。
[項目3]
項目1または2のディレクトリサービス装置であって、
前記復号サービスは、自己訂正技術を用い、前記鍵クラウド装置が前記復号鍵の情報を外部のクライアント装置に与えることなく、前記クライアント装置で暗号文の復号値を得るための情報を前記クライアント装置に与える処理を含む、ディレクトリサービス装置。
[項目4]
項目1から3の何れかのディレクトリサービス装置であって、
前記第2復号鍵に対応する値を用いて前記第2名前情報を生成し、生成した前記第2名前情報と、前記第2復号鍵を用いたクラウド鍵管理型の復号サービスを提供する第2鍵クラウド装置の第2アドレス情報と、を対応付けて前記記憶部に格納する登録処理部を有する、ディレクトリサービス装置。
[項目5]
項目1から4の何れかのディレクトリサービス装置であって、
前記名前情報は、前記復号鍵に対応する値を表す情報または前記復号鍵に対応する値を表す情報の一部を含む、ディレクトリサービス装置。
[項目6]
項目1から5の何れかのディレクトリサービス装置であって、
前記名前情報は、前記復号鍵に対応する値の暗号学的なハッシュ値を表す情報または前記ハッシュ値を表す情報の一部を含む、ディレクトリサービス装置。
[項目7]
項目1から6の何れかのディレクトリサービス装置であって、
前記名前情報は、前記復号鍵に対応する暗号方式を表す識別子を含む、ディレクトリサービス装置。
[項目8]
項目1から7の何れかのディレクトリサービス装置であって、
前記復号鍵が前記鍵クラウド装置に格納された秘密情報であり、前記復号鍵に対応する値が公開情報である、ディレクトリサービス装置。
[項目9]
項目1から8の何れかのディレクトリサービス装置であって、
前記復号鍵が秘密鍵であり、前記復号鍵に対応する値が公開鍵である、ディレクトリサービス装置。
【符号の説明】
【0047】
1 鍵クラウドシステム
12 ディレクトリサービス装置
13−1〜13−J,14 クライアント装置
15−1〜15−J 鍵クラウド装置
図1
図2
図3
図4
図5