JP4179563B2 - 暗号通信の暗号鍵を管理する技術 - Google Patents

暗号通信の暗号鍵を管理する技術 Download PDF

Info

Publication number
JP4179563B2
JP4179563B2 JP2006255183A JP2006255183A JP4179563B2 JP 4179563 B2 JP4179563 B2 JP 4179563B2 JP 2006255183 A JP2006255183 A JP 2006255183A JP 2006255183 A JP2006255183 A JP 2006255183A JP 4179563 B2 JP4179563 B2 JP 4179563B2
Authority
JP
Japan
Prior art keywords
key
encryption
communication
encryption key
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006255183A
Other languages
English (en)
Other versions
JP2008078952A (ja
Inventor
浩一 上條
正治 阪本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006255183A priority Critical patent/JP4179563B2/ja
Priority to CN2007101283012A priority patent/CN101150404B/zh
Priority to US11/853,932 priority patent/US7593528B2/en
Priority to US11/853,917 priority patent/US7590238B2/en
Publication of JP2008078952A publication Critical patent/JP2008078952A/ja
Application granted granted Critical
Publication of JP4179563B2 publication Critical patent/JP4179563B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Description

本発明は、暗号通信に関する。特に、本発明は、暗号通信の暗号鍵を管理または生成する技術に関する。
ブロードキャストした暗号化コンテンツを、一部のユーザによってのみ復号可能とする暗号化方式として、ブロードキャスト暗号が用いられている。ブロードキャスト暗号において、それぞれのユーザの通信装置は互いに異なる暗号鍵のセットを記憶しており、それらの暗号鍵は外部から読み出せないように管理されている。鍵を管理する管理装置は、全てのユーザの暗号鍵を記憶している。コンテンツ作成者は、暗号化コンテンツを配信したい場合、コンテンツを任意の暗号鍵(タイトル鍵と呼ぶ)で暗号化したうえで、暗号化コンテンツおよびそのタイトル鍵を管理装置に送信して、暗号化コンテンツの配信を依頼する。
管理装置は、復号を許可するユーザのみが有するそれぞれの暗号鍵によって、受け取ったタイトル鍵を暗号化して、暗号化したタイトル鍵のセット(MKB:Media key Blockと呼ばれる)を生成したうえで、暗号化コンテンツに対応付けてユーザにブロードキャストする。このように、ブロードキャスト暗号は、コンテンツの配信先を限定しなくとも、復号可能なユーザを任意に選択できるという特徴を有する。また、共通鍵暗号を基本とするから、暗号化によるデータサイズの増加が僅かであり、かつ、暗号化・復号化の処理負荷が小さいという利点を有する。実際に、この暗号化方式は、CPPM(Content Protection for Prerecorded Media)やCPRM(Content Protection for Recordable Media)等で既に実用化されている。
参考技術として、特許文献1〜2を挙げる。特許文献1および2の技術は、ツリー構造などの階層構造の各ノードに対応して暗号鍵を生成する場合に、上位階層のノードに対応する暗号鍵に基づいて、下位階層のノードに対応する暗号鍵を生成する。これにより、予め準備する暗号鍵の数を低減しつつも、ツリー構造のデータの任意の部分木を選択して特定のユーザに復号可能とすることなどが実現できる。
特開2005−051727号公報 特表2005−539423号公報
ブロードキャスト暗号において、通常、暗号化コンテンツは、全てのユーザのデバイス鍵を管理する管理装置によってのみ配信可能である。したがって、コンテンツ作成者がコンテンツを配信したい場合には、そのコンテンツを管理装置に送信して、管理装置における暗号化処理を依頼しなければならない。このため、コンテンツ作成者は複数存在する場合もあることから、管理装置に暗号化の処理負荷が集中する恐れがあった。また、管理装置がメンテナンスなどで停止している場合には、動作再開まで暗号化が遅れてしまっていた。
これらの問題は、管理装置が他の装置に対し暗号鍵の複製を与えて処理を分散すれば解決できるとも考えられる。しかしながら、暗号鍵の複製を複数の装置で共有すると、暗号鍵が漏洩するリスクが高まり、また、漏洩元の特定が難しくなるおそれがある。例えば、親会社の管理装置に記憶された暗号鍵を、子会社の装置において複製し、さらにそれを孫会社の装置において複製した場合に、暗号鍵が漏洩しても、それが子会社から漏洩したものか、孫会社から漏洩したものかを特定するのは困難である。さらに、ユーザの通信装置に記憶された暗号鍵は変更が困難であるから、漏洩した暗号鍵の使用を停止した結果、正常な暗号通信が不能となる場合がある。
上記の参考技術は、ツリー構造として管理する暗号鍵のセットを生成するためのものであり、ブロードキャスト暗号においては、ユーザの通信装置に記憶させるべき暗号鍵の作成処理に対応する。このため、管理装置に集中する負荷を軽減したり、鍵漏洩リスクを軽減したりすることはできない。
そこで本発明は、上記の課題を解決することのできるシステム、管理装置、第1通信装置、第2通信装置、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の1つの側面においては、第1通信装置と、第1通信装置および外部の第2通信装置の間で暗号通信をさせる管理装置とを備えるシステムであって、管理装置は、第2通信装置との間で共有している第1暗号鍵を記憶する鍵記憶部と、鍵記憶部から読み出した第1暗号鍵を鍵付きの一方向関数に与える演算を行って、その演算結果を第2暗号鍵として生成する鍵生成部と、第2暗号鍵および一方向関数の鍵を第1通信装置に出力する鍵出力部とを有し、第1通信装置は、管理装置から受け取った一方向関数の鍵を第2通信装置に送信して、第2通信装置に、記憶している第1暗号鍵を鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させる鍵生成制御部と、管理装置から受け取った第2暗号鍵を用いて第2通信装置との間で暗号通信をする暗号通信部とを有するシステムを提供する。また、当該システムとして情報システムを機能させるプログラムおよび方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報システム10と複数の第2通信装置30との接続関係を示す。情報システム10は、例えば企業グループを構成するグループ内などに設けられており、管理装置20と、複数の第1通信装置40とを有する。管理装置20は、例えば親会社などによって管理されており、複数の第1通信装置40のそれぞれは、例えばその子会社や関連会社(S−S)などによって管理されている。複数の第2通信装置30のそれぞれは、例えば個人利用者(u−u)によって管理されているパーソナルコンピュータまたは放送受信器である。そして、複数の第2通信装置30のそれぞれは、情報システム10の外部に設けられており、不特定多数人が利用し得る電気通信回線を介して情報システム10に接続されている。この電気通信回線は、たとえば、公衆電話回線、インターネット、または、公衆放送網などである。
管理装置20は、暗号通信の暗号鍵を少なくとも1つ管理しており、その暗号鍵はそれぞれの第2通信装置30との間で既に共有されている。例えば、第2通信装置30においてはそれが製品として出荷されるときに予め暗号鍵が記憶されており、その暗号鍵は外部から読み出しや書き換えができないように管理されている。そして、管理装置20は、ある第1通信装置40の要求に応じ、その第1通信装置40および第2通信装置30の間で暗号通信をさせる。例えば、管理装置20は、既に管理している暗号鍵に基づいて新たな暗号鍵を生成して第1通信装置40に与え、その新たな暗号鍵によって第1通信装置40により暗号通信をさせる。この際、管理装置20は、この新たな暗号鍵を生成するために使用した一方向関数の鍵を第1通信装置40に与えることで、第1通信装置40によってその鍵を通信先の第2通信装置30に送信させ、第2通信装置30においても新たな暗号鍵を生成可能とする。なお、一方向関数自体の演算内容は、管理装置20および何れの第2通信装置30からも参照可能に公開されていてよい。これによって、第2通信装置30に一方向関数の鍵が与えられれば、新たな暗号鍵の生成が第2通信装置30において可能となる。
このように、本実施形態に係る情報システム10は、既に共有されている暗号鍵に基づいて新たな暗号鍵を生成して提供することで、変更が困難な既存の暗号鍵の漏洩リスクを増加させることなく、コンテンツ配信および暗号化処理の負荷を多数の第1通信装置40に分散させることを目的とする。
図2は、管理装置20の機能構成を示す。管理装置20は、鍵記憶部200と、鍵生成部210と、生成鍵DB220と、鍵出力部230と、漏洩管理部240とを有する。鍵記憶部200は、複数の第2通信装置30に対しブロードキャストした暗号化データを一部の第2通信装置30に対し選択的に復号可能とするために、それぞれが管理装置20および少なくとも1の第2通信装置30の間で共有されている複数の第1暗号鍵を記憶している。これら複数の第1暗号鍵の構成を図3に例示する。
図3は、鍵記憶部200において階層構造に管理された第1暗号鍵の構成を示す。16個の第2通信装置30のそれぞれは、16人の利用者(u−u16)のそれぞれによって管理されている。そして、これら複数の第2通信装置30のそれぞれは、多分木構造(ここでは完全2分木構造)のデータにおけるそれぞれのリーフノードに対応付けられている。そして、鍵記憶部200は、複数の第1暗号鍵のそれぞれを、この多分木構造のデータにおける互いに異なるノードに対応付けて記憶している。ここでいうノードには、前記のリーフノードも含まれる。具体的には、ルートノードには第1暗号鍵Dが対応付けられ、その子ノードには第1暗号鍵DおよびDのそれぞれが対応付けられている。第1暗号鍵DからD15は各子孫ノードに対応付けられ、リーフノードには、第1暗号鍵D16からD31がそれぞれ対応付けられる。
それぞれの第2通信装置30には、その第2通信装置30に対応するリーフノードからルートノードに至る経路上の各ノードに対応するそれぞれの第1暗号鍵が予め配布されている。即ち例えば、利用者uの第2通信装置30には、第1暗号鍵D21、D10、D、DおよびDが配布されている。そして、鍵記憶部200には、これらの第1暗号鍵DからD31が、この多分木構造を識別可能なように管理されて記憶されている。例えば、鍵記憶部200は、図3に図示するノードのリンクの接続先から構成されるグラフ構造のデータを記憶してもよいし、それぞれの第1暗号鍵を、その第1暗号鍵を配布した第2通信装置30またはその利用者を識別する情報に対応付けて記憶してもよい。
このような構造により第1暗号鍵を管理することで、暗号化データ自体が全ての第2通信装置30に対しブロードキャストされたとしても、その暗号化データを復号可能な第2通信装置30を任意に選択できる。例えば、いま、利用者u、u、u、u、および、u15に対しては暗号化データを復号化させたくないとすれば、まず、管理装置20は、管理している全ての第1暗号鍵の中から、それらの利用者の第2通信装置30に対し配信された第1暗号鍵を除外する。この結果、図3中に二重線で示す経路上の第1暗号鍵、即ちD−D、D−D、D11、D15−D16、D19、D22−D23、およびD30は除外される。そして、管理装置20は、除外された残りの第1暗号鍵を、暗号化に用いる暗号鍵として選択する。好ましくは、管理装置20は、選択したこれらの第1暗号鍵の中に、祖先・子孫の関係にある複数の第1暗号鍵が含まれる場合には、それら複数の第1暗号鍵の中では最も祖先側に位置する第1暗号鍵のみを選択し、その他の第1暗号鍵を選択しない。この結果、図3中に※印で示したように、第1暗号鍵D、D10、D14、D17、D18およびD31が選択される。送信するデータをこれらそれぞれの第1暗号鍵で暗号化すれば、所望のそれぞれの利用者は、自己の有する何れかの暗号鍵によってそのデータを復号することができる。
図2に戻る。鍵生成部210は、複数の第2通信装置30との間の暗号通信の権限を委譲する要求を第1通信装置40から受け付ける。例えば、鍵生成部210は、複数の第2通信装置30のうち第1通信装置40によりブロードキャストされた暗号化データを復号可能とする第2通信装置30を指定する入力を、第1通信装置40から受け付けてもよいし、そのような暗号化データを復号可能とする第2通信装置30のグループを指定する入力を受け付けてもよい。鍵生成部210は、第2通信装置30が指定された場合には、指定されたその第2通信装置30との間で共有されている第1暗号鍵を鍵記憶部200から読み出して、読み出したその第1暗号鍵を鍵付きの一方向関数に与える演算を行う。そして、鍵生成部210は、その演算結果を第2暗号鍵として生成する。
鍵生成部210は、暗号化データを復号可能とする第2通信装置30のグループが指定された場合には、図3に示した多分木において指定されたそのグループを含む部分木内のそれぞれの第1暗号鍵を鍵記憶部200から読み出す。そして、鍵生成部210は、読み出したそれぞれの第1暗号鍵を鍵付きの一方向関数に与える演算を行い、そのそれぞれの演算結果を対応する第2暗号鍵として生成する。生成された第2暗号鍵、および、生成に際し用いられた一方向関数の鍵は、生成鍵DB220に記憶される。また、鍵出力部230は、第2暗号鍵および一方向関数の鍵を、委譲を要求した第1通信装置40に対し出力する。第2暗号鍵は複数組み合わせて出力されてよく、これらの第2暗号鍵の組合せを暗号鍵セット25とする。図3および図4を参照して、第2暗号鍵を生成する処理の一例を説明する。
図4は、第2暗号鍵の一例である暗号鍵セット25の構成を示す。この第2暗号鍵は、利用者u−u16から成るグループが指定された場合に、鍵生成部210によって、図3の点線の枠内に示すそれぞれの第1暗号鍵に基づいて生成される。即ち、鍵生成部210は、このグループが指定されると、指定されたこのグループを含む部分木内のそれぞれの第1暗号鍵を鍵記憶部200から読み出す。読み出される第1暗号鍵は、暗号鍵D、D、D、D12−D15、D24−D31のそれぞれである。
そして、鍵生成部210は、これらそれぞれの第1暗号鍵を、鍵付きの一方向関数に与える演算を行う。鍵付きの一方向関数とは、例えば、鍵付きのハッシュ関数であってもよいし、所定の暗号鍵に基づく暗号化関数であってもよい。また、一方向関数とは、入力値から出力値を生成することはできるが、出力値から入力値を生成することが不可能、または、極めて難しい演算を行う関数をいう。例えば、入力値から出力値を生成する処理に比べて、出力値から入力値を生成する処理に要する時間が極めて大きい演算を行う関数であってもよい。
第1暗号鍵を、鍵付きの一方向関数に与えて演算した演算結果は、第2暗号鍵として生成される。生成される第2暗号鍵は、暗号鍵D[1] 、D[1] 、D[1] 、D[1] 12−D[1] 15、D[1] 24−D[1] 31のそれぞれである。なお、第2暗号鍵は、第1暗号鍵や後述の第3暗号鍵と区別するために[1]の添え字を付して表記する。鍵付きの一方向関数を関数H()とし、その鍵をKh1とすると、第1暗号鍵Dから第2暗号鍵D[1] を生成する演算は以下の式のように表される。
[1] =H(Kh1,D
ここで、関数Hの演算内容は少なくとも管理装置20およびそれぞれの第2通信装置40の間では公開されている。
そして、それぞれの第2暗号鍵は、対応する第1暗号鍵によって構成され多分木構造と同様の多分木構造を構成する。鍵出力部230は、委譲を要求した第1通信装置40に対し、これらそれぞれの第2暗号鍵を出力する。好ましくは、鍵出力部230は、それぞれの第2暗号鍵を、この多分木構造を識別可能な情報に対応付けて出力する。例えば、鍵記憶部200は、図4に示すノードのリンクの接続先から構成されるグラフ構造のデータを記憶してもよいし、それぞれの第2暗号鍵を、対応する第1暗号鍵を配布した第2通信装置30またはその利用者を識別する情報に対応付けて記憶してもよい。
このような構造の第2暗号鍵を生成することで、暗号化データ自体が全ての第2通信装置30に対しブロードキャストされたとしても、その暗号化データを復号可能な第2通信装置30を任意に選択できる。例えば、いま、利用者u10、u15、およびu16に対しては暗号化データを復号化させたくないとすれば、まず、第1通信装置40の暗号通信部610は、これらの第2暗号鍵の中から、それらの利用者の第2通信装置30に対し配信された第2暗号鍵を除外する。この結果、図4中に二重線で示す経路上の第2暗号鍵、即ちD[1] 、D[1] 、D[1] 、D[1] 12、D[1] 15、D[1] 25、D[1] 30およびD[1] 31は除外される。そして、暗号通信部610は、除外された残りの第2暗号鍵を、暗号化に用いる暗号鍵として選択する。好ましくは、暗号通信部610は、選択したこれらの第2暗号鍵の中に、祖先・子孫の関係にある複数の第2暗号鍵が含まれる場合には、それら複数の第2暗号鍵の中では最も祖先側に位置する第2暗号鍵のみを選択し、その他の第2暗号鍵を選択しない。この結果、図4中に※印で示したように、第2暗号鍵D13、D14およびD24が選択される。送信するデータをこれらそれぞれの第2暗号鍵で暗号化すれば、暗号通信部610は、暗号通信の権限の委譲を受けたグループの少なくとも一部を任意に選択して、それらとの間で暗号通信をすることができる。
図2に戻る。生成鍵DB220は、鍵生成部210によって生成された第2暗号鍵を記憶する。図5に、記憶される第2暗号鍵の一例を示す。
図5は、生成鍵DB220のデータ構造の一例を示す。生成鍵DB220は、第2暗号鍵の生成に用いられた第1暗号鍵と、その第2暗号鍵自体と、その第2暗号鍵を生成するために用いた一方向関数の鍵(ハッシュ鍵)と、その第2暗号鍵の生成を要求しかつその第2暗号鍵を取得した第1通信装置の識別情報と、その第2暗号鍵によって暗号化されたデータを復号可能な利用者とを対応付けて記憶している。例えば、第2暗号鍵D[1] は、第1暗号鍵Dを、ハッシュ鍵をKh1とする鍵付きの一方向関数に与える演算によって生成される。そして、この第2暗号鍵D[1] を要求しかつこの第2暗号鍵を取得した第1通信装置の識別情報はSであり、この第2暗号鍵によって暗号化されたデータを復号できるのは利用者u−u16である。
第2暗号鍵を生成する要求を鍵生成部210が複数回受けると、生成鍵DB220は、それら複数の要求に応じ生成された第2暗号鍵を区別可能に記憶する。例えば、生成鍵DB220は、鍵生成部210が第1通信装置Sから第2暗号鍵の生成要求を受けると、その第1通信装置のために、別のハッシュ鍵Kh2を生成する。なお、ハッシュ鍵は一方向関数を使用する毎に、予め定められた規則に従って異なる値として生成されてもよいし、乱数によって生成されてもよい。そして、鍵生成部210は、その要求に応じて第1暗号鍵Dを読み出したとすれば、その第1暗号鍵Dを、このハッシュ鍵Kh2を用いた一方向関数に与える演算を行うことにより、第2暗号鍵D[1] を生成する。この場合、生成鍵DB220は、第1暗号鍵Dと、第2暗号鍵D[1] と、ハッシュ鍵Kh2と、第1通信装置のIDであるSと、その第2暗号鍵により暗号化されたデータを復号できる利用者u−uとを対応付けて記憶する。
図2に戻る。漏洩管理部240は、暗号鍵の漏洩についての利用者の入力に応じて、生成鍵DB220に記憶された情報に基づいて、その暗号鍵を使用不能とする処理を行う。例えば、漏洩管理部240は、何れかの第2暗号鍵が第三者に漏洩した結果として暗号通信に使用不能となったことを示す入力に応じ、その第2暗号鍵に対応する一方向関数の鍵を生成鍵DB220から読み出す。即ち、この一方向関数の鍵は、その第2暗号鍵を生成するために用いた一方向関数の鍵である。そして、漏洩管理部240は、読み出したこの鍵を、その第2暗号鍵に対応する第1暗号鍵で暗号化して、第2通信装置30に対し送信して、一方向関数のこの鍵で生成した第2暗号鍵は使用不能であることを第2通信装置30に通知する。そのように第1暗号鍵で暗号化したデータは、特定の利用者にのみ復号可能であるから、この送信はすべての第2通信装置30に対するブロードキャストであってよい。これを受けて、第2通信装置30は、受信した一方向関数の鍵を用いた一方向関数に対し、記憶している第1暗号鍵を与える演算を行い、演算結果として生成した第2暗号鍵を、以降の暗号通信に使用しない暗号鍵として管理する。例えば、第2通信装置30は、以降の暗号通信においてこの第2暗号鍵によってデータが暗号化されていた場合に、その暗号通信において受信したデータを破棄してもよい。
これに加えて、漏洩管理部240は、第1暗号鍵が第三者に漏洩したことを第1通信装置40に対し通知してもよい。具体的には、漏洩管理部240は、複数の第1暗号鍵のうち第三者に漏洩した結果として暗号通信に使用不能となった第1暗号鍵を受け取ると、その第1暗号鍵に対応して記憶されている第2暗号鍵を生成鍵DB220から読み出す。この第2暗号鍵は、この第1暗号鍵から鍵生成部210によって生成された第2暗号鍵である。そして、漏洩管理部240は、読み出したこの第2暗号鍵を無効とすることを第1通信装置40に通知するべく、この第2暗号鍵を示す信号を第1通信装置40に送信する。これを受けて、第1通信装置40は、この第2暗号鍵を当該第1通信装置40において無効とする処理を行う。たとえば、第1通信装置40は、その第2暗号鍵を削除してもよいし、その第2暗号鍵で暗号化された暗号化データを受信してもその暗号化データを破棄してもよい。
図6は、第1通信装置40の機能構成を示す。第1通信装置40は、鍵生成制御部600と、暗号通信部610と、鍵生成部620と、鍵出力部630とを有する。鍵生成制御部600は、管理装置20から受け取った一方向関数の鍵を第2通信装置30に送信し、第2通信装置30に、記憶している第1暗号鍵を鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させる。鍵生成制御部600は、この一方向関数の鍵を、宛先の第2通信装置30を特に限定せずに、複数の第2通信装置30に対しブロードキャストしてもよい。宛先を限定しなくとも、第1通信装置40が有している第2暗号鍵は管理装置20から委譲を受けたものだけであるから、第1通信装置40との通信が可能となる第2通信装置30も、管理装置20から暗号通信の権限の委譲を受けたものに限られる。また、送信されるこの一方向関数の鍵は、後述の送信データ45に含めて送信されてよい。暗号通信部610は、管理装置20から受け取った第2暗号鍵を用いて第2通信装置30との間で暗号通信をする。例えば、暗号通信部610は、この第2暗号鍵によりデータを暗号化して、特に宛先の第2通信装置30を限定せずにそれぞれの第2通信装置30に対しブロードキャストすることで、委譲を受けるべく指定した第2通信装置30のみとの間で暗号通信をする。この暗号通信による暗号化データを送信データ45とし、その一例を図7に示す。
図7は、送信データ45の具体例を示す。送信データ45は、第1通信装置40から第2通信装置30に対し送信されるデータであり、暗号通信部610による暗号通信のために送受信される暗号化データに加えて、鍵生成制御部600によって第2通信装置30において第2暗号鍵を生成させるために送信される一方向関数の鍵を含む。以下、具体的に説明する。送信データ45は、ハッシュ鍵700と、それぞれが暗号鍵Ktを第2暗号鍵で暗号化した複数の暗号済暗号鍵710と、送信すべきデータCを暗号鍵Ktで暗号化した暗号化コンテンツ720とを有する。但し、暗号済暗号鍵を生成するための暗号化関数をEnc()と表記し、この関数は管理装置20、第1通信装置40および第2通信装置30間で共有されているものとする。ハッシュ鍵700は、一方向関数の鍵の一例であり、一方向関数が鍵付きのハッシュ関数とすればそのハッシュ関数のハッシュ鍵であり、一方向関数が暗号化関数とすればその暗号鍵である。ハッシュ鍵700より先頭側に含まれる数値1は、送信データ45に含まれる一方向関数の鍵は、その数値1の次に配列される1つ目のデータのみの1個であることを示している。
つまり、この送信データ45を受信した第2通信装置30は、数値1の次に配列される1つ目のデータを一方向関数の鍵として、予め記憶している第1暗号鍵を一方向関数に与える演算を1回行えば、この送信データ45に含まれる暗号済暗号鍵710を復号化するための第2暗号鍵を生成することができる。なお、管理装置20から第2通信装置30に送信される送信データにおいては、送信データの先頭の数値は0となって送信データに一方向関数の鍵は含まれない。このように、送信データ内のデータフォーマットを一律に定めておくことで、第2通信装置30は、管理装置20および何れの第1通信装置40から受信したデータも、その送信元を特定する処理を要せずに適切に復号化できる。
送信データ45においてハッシュ鍵700の次に続くデータは、数値13、数値14および数値25である。これらの数値は、これらの数値に続く暗号済暗号鍵がどの第2暗号鍵で暗号化されているかを示す。即ち、数値13は、第1暗号鍵D13に基づく第2暗号鍵D[1] 13により、送信されるべきデータCを暗号化した暗号鍵Ktが暗号化されていることを示す。数値13に続く数値14は、その次の暗号済暗号鍵710が、第1暗号鍵D14に基づく第2暗号鍵D[1] 14により暗号化されていることを示し、数値14に続く数値25は、その次の暗号済暗号鍵710が、第1暗号鍵D25に基づく第2暗号鍵D[1] 25により暗号化されていることを示す。これらの第1暗号鍵D14および第1暗号鍵D25は、データCの復号化を許可する第2通信装置30には配信済みで、かつ、復号化を許可しない他の第2通信装置30には未配信である。したがって、データCの復号化を許可された第2通信装置30においては第2暗号鍵を適切に生成することができ、他の第2通信装置30においては第2暗号鍵を生成できず、即ちデータCを復号化することもできない。
このように、送信データ45中のデータを、送信すべきデータを暗号化したデータと、その暗号化に用いた暗号鍵を暗号化した暗号済暗号鍵との組合せによって構成すれば、送信すべきデータのデータサイズが大きい場合であっても、送信データのデータサイズの増加量を抑えることができる。また、この図7の例示のように、送信データ45中のデータを、データの内容を示す数値情報とデータ自体との組によって構成させることにより、一方向関数の鍵の数や暗号済暗号鍵の数に応じてデータの要素数が異なる場合であっても、受信側の第2通信装置30において統一した処理方法によって迅速かつ適切にデータを復号化できる。
図6に戻る。鍵生成部620および鍵出力部630は、この第1通信装置40が、他の第1通信装置40に対し、暗号通信の権限を委譲する場合に機能する。具体的には、鍵生成部620は、他の第1通信装置40から、暗号通信の権限を委譲する要求を受けると、管理装置20から受け取ったその第2暗号鍵を鍵付きの一方向関数に与える演算を行い、演算結果を第3暗号鍵として生成する。この一方向関数の鍵は、管理装置20において第2暗号鍵を生成する場合の一方向関数の鍵とは異なっていることが望ましい。そして、鍵出力部630は、生成したこの第3暗号鍵、管理装置20から受け取った一方向関数の鍵、および、第1通信装置40において鍵生成部620の演算に用いた一方向関数の鍵を、委譲を要求した当該他の第1通信装置40に対し出力する。第3暗号鍵は複数組み合わせて出力されてよく、これらの第3暗号鍵の組合せを暗号鍵セット48とする。
以上の説明における第1通信装置40は、暗号通信の権限の委譲を管理装置20から直接に受けるものであるが、これに代えて、第1通信装置40は、他の第1通信装置40から暗号通信の権限の委譲を受けるために、当該他の第1通信装置40から第3暗号鍵の入力を受けてもよい。この場合、具体的には、鍵生成制御部600は、当該他の第1通信装置40から一方向関数の2つの鍵、および、第3暗号鍵の入力を受ける。この一方向関数の2つの鍵は、第1暗号鍵から第2暗号鍵を生成するための一方向関数の鍵、および、第2暗号鍵から第3暗号鍵を生成するための一方向関数の鍵である。そして、鍵生成制御部600は、受け取った一方向関数の2つの鍵を第2通信装置30に送信し、第2通信装置30に、記憶している第1暗号鍵に、当該2つの鍵のそれぞれを付した2つの一方向関数のそれぞれを順次適用する演算をさせて、演算結果を第3暗号鍵として生成させる。そして、暗号通信部610は、受け取った第3暗号鍵を用いて第2通信装置30との間で暗号通信をする。
この場合、鍵生成部620および鍵出力部630は、第3暗号鍵を用いた暗号通信の権限を委譲する要求をさらに他の第1通信装置40から受けた場合に機能してもよい。具体的には、鍵生成部620は、さらに他の第1通信装置40から、暗号通信の権限を委譲する要求を受けると、当該他の第1通信装置40から受け取ったその第3暗号鍵を鍵付きの一方向関数に与える演算を行い、演算結果を第4暗号鍵として生成する。この一方向関数の鍵は、当該他の第1通信装置40において第3暗号鍵を生成する場合の一方向関数の鍵とも、当該他の第1通信装置40が受け取った一方向関数の鍵とも異なっていることが望ましい。そして、鍵出力部630は、生成したこの第4暗号鍵、当該他の第1通信装置40から受け取った一方向関数の鍵、および、当該第1通信装置40において鍵生成部620の演算に用いた一方向関数の鍵、および、当該他の第1通信装置40が一方向関数の鍵の入力を受けていた場合には入力を受けていたこれら全ての鍵を、さらに他の第1通信装置40に対し出力する。図8aおよび図8bに、第3暗号鍵および第4暗号鍵を比較して示す。
図8aは、第3暗号鍵の一例である暗号鍵セット48の構成を示す。本図には、第1通信装置40が他の第1通信装置40から要求を受けて、当該第1通信装置40が有する全ての第2暗号鍵のそれぞれに基づき生成した、複数の第3暗号鍵のそれぞれを示す。第3暗号鍵は、第1および第2暗号鍵と区別するために、第3暗号鍵である旨を示す添え字[2]を付して表記する。暗号鍵セット48は、第2暗号鍵D[1] 、D[1] 、D[1] 、D[1] 12−D[1] 15、D[1] 24−D[1] 31のそれぞれから生成された、第3暗号鍵D[2] 、D[2] 、D[2] 、D[2] 12−D[2] 15、D[2] 24−D[2] 31を有する。
第1通信装置40は、図8aの点線の枠内に示す第3暗号鍵による暗号通信の権限の委譲を、さらに他の第1通信装置40から受けると、図9aに示す第4暗号鍵を生成して出力する。
図8bは、さらに他の第1通信装置40に対し出力される第4暗号鍵の構成を示す。第4暗号鍵は、第1〜第3暗号鍵と区別するために、第4暗号鍵である旨を示す添え字[3]を付して表記する。出力される第4暗号鍵は、暗号鍵D[3] 、D[3] 12、D[3] 13、D[3] 24−D[3] 27から構成される。
このように、暗号通信の権限の委譲は、委譲元と委譲先とを親子関係とみなせば、何世代にもわたる祖先・子孫関係を構成してよい。本実施形態によれば、もとの第1暗号鍵の漏洩リスクを増加させることなく、このような何世代にもわたる委譲を実現することができる。
続いて、図8bおよび図9を参照して、この第4暗号鍵を用いた通信における送信データの一例を説明する。
図9は、図8bに示す暗号鍵に基づき暗号化された送信データの具体例を示す。いま、第4暗号鍵の委譲を受けた第1通信装置40が、利用者uおよび利用者u12によってのみ復号可能であり、利用者u10および利用者u11によっては復号できない暗号化データを生成したいとする。この場合、第1通信装置40は、受け取った第4暗号鍵から、利用者u10および利用者u11に対応するリーフノードのそれぞれからルートノードに至る経路上の各ノードに対応する第4暗号鍵を除外する。この結果、除外された残りの第4暗号鍵は、暗号鍵D[3] 24および暗号鍵D[3] 27であり、図8b中にはこれらの鍵を※印によって示す。そして、第1通信装置40の鍵生成制御部600は、宛先の第2通信装置30において第4暗号鍵を生成させるべく、第4暗号鍵と共に受け取った一方向関数の鍵であるハッシュ鍵910を送信データに含める。ハッシュ鍵910は、第1暗号鍵から第2暗号鍵を生成するための一方向関数の鍵であるKh1、第2暗号鍵から第3暗号鍵を生成するための一方向関数の鍵であるKh2、および、第3暗号鍵から第4暗号鍵を生成するための一方向関数の鍵であるKh3を含む。なお、図9に示す送信データは一方向関数の鍵を3個含むので、送信データの先頭にはその旨を示す数値3が含まれる。
また、暗号通信部610は、利用者uおよび利用者u12による復号化を可能とするべく、送信すべきデータC´を暗号化した暗号鍵Kt´を、選択した第4暗号鍵D[3] 24および暗号鍵D[3] 27のそれぞれによって暗号化して、暗号済暗号鍵920のそれぞれを生成し、送信データに含める。また、暗号通信部610は、送信すべきデータC´を暗号鍵Kt´により暗号化した暗号化コンテンツ930を生成し、送信データの末尾に含めて送信する。これを受けて、第2通信装置30の鍵生成部1020は、記憶している第1暗号鍵D24に、鍵Kh1、鍵Kh2および鍵Kh3のそれぞれを付した複数の一方向関数のそれぞれを順次適用する演算を行い、演算結果を第4暗号鍵D[3] 24として生成する。この演算は、以下の式のように表される。
[3] 24=H(Kh3,H(Kh2,H(Kh1,D24)))
そして、第2通信装置30の暗号通信部1030は、この第4暗号鍵D[3] 24によって、暗号済暗号鍵を復号化して、暗号鍵Kt´を生成する。そして、暗号通信部1030は、生成した暗号鍵Kt´によって暗号化コンテンツ930を復号化することによりデータC´を得る。この演算は、以下の式のように表される。
C´´=Dec(Dec(D[3] 24,Enc(D[3] 24,Kt´)),Enc(Kt´,C´))
この結果生成されるC´´は、送信されたデータC´と一致するから、第2通信装置30において正しくデータを復号できたこととなる。
以上、図8および図9を参照して説明したように、暗号通信の権限は管理装置20から複数の第1通信装置40を経由して何世代にも渡って順次委譲することができ、委譲した暗号鍵を用いた暗号通信は適切に行うことができる。なお、本例において、暗号通信の権限は、1つの管理装置20から複数の第1通信装置40を経由した直列的な経路で委譲されているが、これに代えて、1つの管理装置20または第1通信装置40が、複数の第1通信装置40に対し並列に暗号通信の権限を委譲してもよい。さらには、1つの第1通信装置40が、他の複数の第1通信装置40に対し、互いに重複する暗号通信の権限をそれぞれ委譲してもよい。このように、本実施形態に示す権限の委譲方式によれば、複数の第1通信装置40に対し柔軟に暗号通信の権限を割り当てることができる。
図10は、第2通信装置30の機能構成の一例を示す。第2通信装置30は、鍵記憶部1000と、鍵取得部1010と、鍵生成部1020と、暗号通信部1030とを有する。鍵記憶部1000は、管理装置20との間で共有している第1暗号鍵を記憶する。具体的には、鍵記憶部1000は、図3に例示した多分木において当該第2通信装置30に対応するリーフノードからルートノードに至る経路上のそれぞれの第1暗号鍵を記憶している。これらの第1暗号鍵は、第2通信装置30において外部から読み出し不能かつ書き換え不能に管理されたデバイス鍵であることが望ましい。鍵取得部1010は、管理装置20が第1通信装置40を当該第2通信装置30と通信させるために第1暗号鍵を与えて第2暗号鍵を生成した鍵付きの一方向関数の鍵を取得する。この鍵は、上述のように、暗号化コンテンツを含む送信データに含めて受信するものであってよい。また、鍵取得部1010は、第3暗号鍵を生成する状況においては2つの鍵を、第4暗号鍵を生成する状況においては3つの鍵を取得してよい。
鍵生成部1020は、鍵記憶部1000に記憶された第1暗号鍵を、鍵取得部1010が取得した鍵を付した一方向関数に与える演算を行って第2暗号鍵を生成する。一方向関数の鍵を複数取得している場合には、鍵生成部1020は、第1暗号鍵に対し、それら複数の鍵のそれぞれを付した複数の一方向関数のそれぞれを順次適用する演算を行って、第3暗号鍵または第4暗号鍵を生成してよい。また、鍵生成部1020は、複数の第1暗号鍵が記憶されている場合には、それぞれの第1暗号鍵に対し一方向関数をそれぞれ適用して複数の第2暗号鍵を生成してよい。暗号通信部1030は、生成した第2暗号鍵(あるいは、第3暗号鍵または第4暗号鍵)を用いて第1通信装置40と暗号通信する。
図11は、管理装置20によって暗号通信の権限が第1通信装置40に委譲される処理の流れを示す。鍵生成部210は、複数の第2通信装置30との間の暗号通信の権限を委譲する要求を第1通信装置40から受け付ける(S1100)。例えば、鍵生成部210は、複数の第2通信装置30のうち第1通信装置40によりブロードキャストされた暗号化データを復号可能とする第2通信装置30を指定する入力を、第1通信装置40から受け付けてもよいし、そのような暗号化データを復号可能とする第2通信装置30のグループを指定する入力を受け付けてもよい。鍵生成部210は、第2通信装置30が指定された場合には、指定されたその第2通信装置30との間で共有されている第1暗号鍵を鍵記憶部200から読み出す(S1110)。鍵生成部210は、暗号化データを復号可能とする第2通信装置30のグループが指定された場合には、図3に例示したような多分木において指定されたそのグループを含む部分木内のそれぞれの第1暗号鍵を鍵記憶部200から読み出す。
鍵生成部210は、読み出したそれぞれの第1暗号鍵を鍵付きの一方向関数に与える演算を行い、そのそれぞれの演算結果を対応する第2暗号鍵として生成する(S1120)。そして、鍵出力部230は、生成した第2暗号鍵を、委譲を要求した第1通信装置40に対し出力する(S1130)。また、鍵出力部230は、一方向関数の鍵を、第2通信装置30に受信させて第2通信装置30において第2暗号鍵を生成させるべく、第1通信装置40に対し出力する(S1130)。本実施形態において、鍵出力部230は、一方向関数の鍵を第1通信装置40に対し出力するが、これに代えて、鍵出力部230は、その一方向関数の鍵を、第1通信装置40を経由せずに第2通信装置30に対し直接出力してもよい。
図12は、委譲された権限に基づき第1通信装置40が暗号通信を開始するまでの処理の流れを示す。鍵生成制御部600は、暗号通信の委譲を要求を第2通信装置30のグループを指定して管理装置20に送信することで、第2暗号鍵を生成するために用いた一方向関数の鍵および複数の第2暗号鍵を第1通信装置40から取得する(S1200)。そして、鍵生成制御部600は、取得したこの一方向関数の鍵を、指定したそのグループに対し送信し、グループ内のそれぞれの第2通信装置30に、記憶している第1暗号鍵を鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させる(S1210)。鍵生成制御部600は、この処理を鍵取得後に直ちに行うのではなく、暗号通信開始時にこの鍵を送信データに含めて送信するような設定を暗号通信部610に対し行ってもよい。そして、暗号通信部610は、管理装置20から受け取った第2暗号鍵を用いてデータを暗号化して、それぞれの第2通信装置30に対しブロードキャストすることで、指定したグループ内の第2通信装置30のみとの間で暗号通信を開始する(S1220))。
図13は、第1通信装置40がさらに他の第1通信装置40に対し暗号通信の権限を委譲する処理の流れを示す。鍵生成部620は、他の第1通信装置40から、暗号通信の権限を委譲する要求を受け付ける(S1300)。そして、鍵生成部620は、管理装置20から受け取ったその第2暗号鍵を鍵付きの一方向関数に与える演算を行い、演算結果を第3暗号鍵として生成する(S1310)。そして、鍵出力部630は、管理装置20から受け取った一方向関数の鍵、および、第3暗号鍵を生成する演算に用いた一方向関数の鍵を、委譲を要求した当該他の第1通信装置40に対し出力する(S1320)。そして、鍵出力部630は、生成した第3暗号鍵を当該他の第1通信装置40に対し出力する(S1330)。
図14は、第2通信装置30が第1通信装置40と暗号通信する処理の流れを示す。鍵取得部1010は、管理装置20が第1通信装置40を当該第2通信装置30と通信させるために第1暗号鍵を与えて第2暗号鍵を生成した鍵付きの一方向関数の鍵を取得する(S1200)。この鍵は、上述のように、暗号化コンテンツを含む送信データに含めて受信するものであってよい。鍵生成部1020は、鍵記憶部1000に記憶された複数の第1暗号鍵のそれぞれを、鍵取得部1010が取得した鍵を付した一方向関数に与える演算を行って複数の第2暗号鍵のそれぞれを生成する(S1410)。そして、暗号通信部1030は、生成したこれらの第2暗号鍵を用いて第1通信装置40と暗号通信を開始する(S1420)。
以上の説明においては、第1通信装置が、管理装置または他の第1通信装置に対して、権限の委譲を要求するものであったが、逆に、委譲元の管理装置または当該他の第1通信装置が、当該管理装置に対し、委譲する権限の範囲を決定し、委譲のための処理を行ってもよい。
図15は、管理装置20、第2通信装置30または第1通信装置40として機能する情報処理装置900のハードウェア構成の一例を示す。情報処理装置900は、ホストコントローラ1582により相互に接続されるCPU1500、RAM1520、及びグラフィックコントローラ1575を有するCPU周辺部と、入出力コントローラ1584によりホストコントローラ1582に接続される通信インターフェイス1530、ハードディスクドライブ1540、及びCD−ROMドライブ1560を有する入出力部と、入出力コントローラ1584に接続されるROM1510、フレキシブルディスクドライブ1550、及び入出力チップ1570を有するレガシー入出力部とを備える。
ホストコントローラ1582は、RAM1520と、高い転送レートでRAM1520をアクセスするCPU1500及びグラフィックコントローラ1575とを接続する。CPU1500は、ROM1510及びRAM1520に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1575は、CPU1500等がRAM1520内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1580上に表示させる。これに代えて、グラフィックコントローラ1575は、CPU1500等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1584は、ホストコントローラ1582と、比較的高速な入出力装置である通信インターフェイス1530、ハードディスクドライブ1540、及びCD−ROMドライブ1560を接続する。通信インターフェイス1530は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1540は、情報処理装置900が使用するプログラム及びデータを格納する。CD−ROMドライブ1560は、CD−ROM1595からプログラム又はデータを読み取り、RAM1520又はハードディスクドライブ1540に提供する。
また、入出力コントローラ1584には、ROM1510と、フレキシブルディスクドライブ1550や入出力チップ1570等の比較的低速な入出力装置とが接続される。ROM1510は、情報処理装置900の起動時にCPU1500が実行するブートプログラムや、情報処理装置900のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1550は、フレキシブルディスク1590からプログラム又はデータを読み取り、入出力チップ1570を介してRAM1520またはハードディスクドライブ1540に提供する。入出力チップ1570は、フレキシブルディスク1590や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置900に提供されるプログラムは、フレキシブルディスク1590、CD−ROM1595、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1570及び/又は入出力コントローラ1584を介して、記録媒体から読み出され情報処理装置900にインストールされて実行される。プログラムが情報処理装置900等に働きかけて行わせる動作は、図1から図14において説明した管理装置20、第2通信装置30または第1通信装置40における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1590、CD−ROM1595の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置900に提供してもよい。
以上、本実施形態に係る情報システム10および第2通信装置30によれば、通信先との間で既に暗号鍵を共有している装置から、他の装置に対して、暗号鍵が漏洩するリスクを増加させることなく、暗号通信の権限を委譲可能とすることができる。これにより、第2通信装置30において暗号鍵が書き換え不能に管理されている場合など、一旦暗号鍵が漏洩してしまうと変更が極めて困難な場合においても、暗号化通信の権限を委譲可能とすることができる。この結果、管理装置20に集中していた暗号化の処理負荷を複数の第1通信装置40に分散することができる。また、委譲先の第1通信装置40の守秘管理が不十分な場合であって第1通信装置40における暗号鍵が漏洩してしまったり悪用されてしまう場合であっても、直ちにその暗号鍵の使用を中止して、新たな暗号鍵を作り直すことができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、情報システム10と複数の第2通信装置30との接続関係を示す。 図2は、管理装置20の機能構成を示す。 図3は、鍵記憶部200において階層構造に管理された第1暗号鍵の構成を示す。 図4は、第2暗号鍵の一例である暗号鍵セット25の構成を示す。 図5は、生成鍵DB220のデータ構造の一例を示す。 図6は、第1通信装置40の機能構成を示す。 図7は、送信データ45の具体例を示す。 図8aは、第3暗号鍵の一例である暗号鍵セット48の構成を示す。 図8bは、さらに他の第1通信装置40に対し出力される第4暗号鍵の構成を示す。 図9は、図8bに示す暗号鍵に基づき暗号化された送信データの具体例を示す。 図10は、第2通信装置30の機能構成の一例を示す。 図11は、管理装置20によって暗号通信の権限が第1通信装置40に委譲される処理の流れを示す。 図12は、委譲された権限に基づき第1通信装置40が暗号通信を開始するまでの処理の流れを示す。 図13は、第1通信装置40がさらに他の第1通信装置40に対し暗号通信の権限を委譲する処理の流れを示す。 図14は、第2通信装置30が第1通信装置40と暗号通信する処理の流れを示す。 図15は、管理装置20、第2通信装置30または第1通信装置40として機能する情報処理装置900のハードウェア構成の一例を示す。
符号の説明
10 情報システム
20 管理装置
25 暗号鍵セット
30 第2通信装置
40 第1通信装置
45 送信データ
48 暗号鍵セット
200 鍵記憶部
210 鍵生成部
220 生成鍵DB
230 鍵出力部
240 漏洩管理部
600 鍵生成制御部
610 暗号通信部
620 鍵生成部
630 鍵出力部
700 ハッシュ鍵
710 暗号済暗号鍵
720 暗号化コンテンツ
900 情報処理装置
910 ハッシュ鍵
920 暗号済暗号鍵
930 暗号化コンテンツ
1000 鍵記憶部
1010 鍵取得部
1020 鍵生成部
1030 暗号通信部

Claims (8)

  1. 複数の第1通信装置と、前記第1通信装置および外部の複数の第2通信装置の間で暗号通信をさせる管理装置とを備えるシステムであって、
    前記管理装置は、
    前記複数の第2通信装置に対しブロードキャストした暗号化データを一部の第2通信装置に対し選択的に復号可能とするために、それぞれが当該管理装置および少なくとも1の第2通信装置の間で共有されている複数の第1暗号鍵を記憶する鍵記憶部と、
    前記複数の第2通信装置のうち、暗号通信の権限を委譲する要求をした前記第1通信装置によりブロードキャストされる暗号化データを復号可能とする第2通信装置を指定する入力を受け取り、指定された前記第2通信装置との間で共有されている第1暗号鍵を前記鍵記憶部から読み出して、読み出した前記第1暗号鍵を鍵付きの一方向関数に与える演算を行い、その演算結果を第2暗号鍵として生成する鍵生成部と、
    前記第2暗号鍵および前記一方向関数の鍵を暗号通信の権限を委譲する要求をした前記第1通信装置に出力する鍵出力部と、を有し、
    前記管理装置に暗号通信の権限を委譲する要求をした前記第1通信装置は、
    前記管理装置から受け取った前記一方向関数の鍵を前記複数の第2通信装置に送信して、指定した前記第2通信装置に、記憶している第1暗号鍵を前記鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させる鍵生成制御部と、
    前記管理装置から受け取った前記第2暗号鍵によりデータを暗号化してブロードキャストすることで、指定された前記第2通信装置との間で暗号通信をする暗号通信部と
    を有するシステム。
  2. 前記鍵記憶部は、複数の第1暗号鍵のそれぞれを、多分木構造のデータにおける互いに異なるノードに対応付けて記憶しており、
    さらに、前記多分木構造のデータにおけるそれぞれのリーフノードには、それぞれの第2通信装置が対応付けられており、
    さらに、それぞれの第2通信装置には、当該第2通信装置に対応するリーフノードからルートノードに至る経路上の各ノードに対応するそれぞれの第1暗号鍵が予め配布されており、
    前記鍵生成部は、前記複数の第2通信装置のうち、暗号通信の権限を委譲する要求をした前記第1通信装置によりブロードキャストされる暗号化データを復号可能とする第2通信装置のグループを指定する入力を受け取り、前記多分木において指定された前記グループを含む部分木内のそれぞれの第1暗号鍵を前記鍵記憶部から読み出し、読み出したそれぞれの前記第1暗号鍵を前記鍵付きの一方向関数に与える演算を行い、そのそれぞれの演算結果を対応する第2暗号鍵として生成し、
    前記鍵出力部は、それぞれの前記第2暗号鍵および前記一方向関数の鍵を暗号通信の権限を委譲する要求をした前記第1通信装置に出力し、
    前記鍵生成制御部は、前記管理装置から受け取った前記一方向関数の鍵を前記複数の第2通信装置に送信し指定した前記グループ内のそれぞれの前記第2通信装置に、記憶している第1暗号鍵を前記鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させ、
    前記暗号通信部は、前記管理装置から受け取った複数の前記第2暗号鍵の少なくとも一部を用いてデータを暗号化してブロードキャストすることで、指定された前記グループの少なくとも一部との間で暗号通信をする
    請求項1に記載のシステム。
  3. 前記鍵生成制御部は、前記管理装置から受け取った前記一方向関数の鍵を指定された前記グループ内の前記第2通信装置に対し送信し、指定した前記グループ内のそれぞれの前記第2通信装置に、記憶している第1暗号鍵を前記鍵付きの一方向関数に与える演算をさせて、第2暗号鍵を生成させる
    請求項2記載のシステム。
  4. 前記暗号通信部は、データを暗号化した暗号鍵を、当該データの復号化を許可する第2通信装置には配信済みで、かつ、他の第2通信装置には未配信である第1暗号鍵から生成された第2暗号鍵によって暗号化して、暗号済暗号鍵を生成し、暗号化したデータに添付してブロードキャストし、
    前記鍵生成制御部は、前記暗号通信部がブロードキャストするデータに、さらに、前記管理装置から受け取った前記一方向関数の鍵を添付して送信する
    請求項2または3に記載のシステム。
  5. 前記管理装置は、前記複数の第1暗号鍵のうち第三者に漏洩した結果として暗号通信に使用不能となった第1暗号鍵を指定する入力を受け付け、指定された前記第1暗号鍵から前記鍵生成部によって生成された第2暗号鍵を無効とすることを前記第1通信装置に通知する漏洩管理部をさらに有する
    請求項1から4のいずれかに記載のシステム。
  6. 前記管理装置は、前記第2暗号鍵が第三者に漏洩した結果として暗号通信に使用不能となったことを示す入力に応じ、前記一方向関数の鍵を前記第1暗号鍵で暗号化して前記第2通信装置に送信し、前記一方向関数の鍵を用いて生成した第2暗号鍵は使用不能であることを前記第2通信装置に通知する漏洩管理部をさらに有する
    請求項1から4のいずれかに記載のシステム。
  7. 前記第1通信装置は、さらに、
    他の前記第1通信装置から暗号信号の委譲の要求を受け付けると、前記管理装置から受け取った前記第2暗号鍵を鍵付きの一方向関数に与える演算を行い、その演算結果を第3暗号鍵として生成する鍵生成部と、
    前記他の第1通信装置から暗号信号の委譲の要求を受け付けると、前記第3暗号鍵、前記管理装置から受け取った前記一方向関数の鍵、および、前記第1通信装置において前記鍵生成部の演算に用いた前記一方向関数の鍵を、暗号通信の委譲を要求した前記他の第1通信装置に出力する鍵出力部と、を有し、
    暗号通信の委譲を要求した前記他の第1通信装置において、
    前記鍵生成制御部は、受け取った前記一方向関数の2つの鍵を前記複数の第2通信装置に送信し、指定した前記第2通信装置に、記憶している第1暗号鍵に当該2つの鍵のそれぞれを付した2つの一方向関数のそれぞれを順次適用する演算をさせて演算結果を第3暗号鍵として生成させ、
    前記暗号通信部は、受け取った前記第3暗号鍵によりデータを暗号化してブロードキャストすることで、指定された前記第2通信装置との間で暗号通信をする
    請求項1から6のいずれかに記載のシステム。
  8. 前記第1暗号鍵は、前記第2通信装置において外部から読み出し不能かつ書き換え不能に管理されたデバイス鍵である、請求項1から7のいずれかに記載のシステム。
JP2006255183A 2006-09-21 2006-09-21 暗号通信の暗号鍵を管理する技術 Active JP4179563B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006255183A JP4179563B2 (ja) 2006-09-21 2006-09-21 暗号通信の暗号鍵を管理する技術
CN2007101283012A CN101150404B (zh) 2006-09-21 2007-07-06 管理和生成用于密码通信的设备密钥的系统和方法
US11/853,932 US7593528B2 (en) 2006-09-21 2007-09-12 Managing device keys in cryptographic communication
US11/853,917 US7590238B2 (en) 2006-09-21 2007-09-12 Managing device keys in cryptographic communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006255183A JP4179563B2 (ja) 2006-09-21 2006-09-21 暗号通信の暗号鍵を管理する技術

Publications (2)

Publication Number Publication Date
JP2008078952A JP2008078952A (ja) 2008-04-03
JP4179563B2 true JP4179563B2 (ja) 2008-11-12

Family

ID=39224981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255183A Active JP4179563B2 (ja) 2006-09-21 2006-09-21 暗号通信の暗号鍵を管理する技術

Country Status (3)

Country Link
US (2) US7593528B2 (ja)
JP (1) JP4179563B2 (ja)
CN (1) CN101150404B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899748B1 (fr) * 2006-04-07 2008-11-28 Thales Sa Schema de diffusion hybride efficace, adapte a une faible bande passante
US20100023752A1 (en) * 2007-12-27 2010-01-28 Motorola, Inc. Method and device for transmitting groupcast data in a wireless mesh communication network
US8422684B2 (en) * 2008-08-15 2013-04-16 International Business Machines Corporation Security classes in a media key block
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
WO2010100923A1 (ja) 2009-03-03 2010-09-10 Kddi株式会社 鍵共有システム
RU2527730C2 (ru) * 2009-04-01 2014-09-10 Телефонактиеболагет Л М Эрикссон (Пабл) Управление ключами безопасности в основанных на ims услугах широковещания и многоадресного вещания мультимедиа (mbms)
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
US8254580B2 (en) * 2009-09-30 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Key distribution in a hierarchy of nodes
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US8984111B2 (en) * 2012-06-15 2015-03-17 Symantec Corporation Techniques for providing dynamic account and device management
JP6129523B2 (ja) * 2012-11-19 2017-05-17 株式会社東芝 通信装置およびプログラム
CN103023989B (zh) * 2012-11-27 2015-11-25 北京百度网讯科技有限公司 用于终端的通信方法、通信系统和终端
CN105340212B (zh) * 2013-06-26 2019-05-28 诺基亚技术有限公司 用于生成在设备至设备通信中的密钥的方法和装置
GB2514428B (en) 2013-08-19 2016-01-13 Visa Europe Ltd Enabling access to data
CN103607279B (zh) * 2013-11-14 2017-01-04 中国科学院数据与通信保护研究教育中心 基于多核处理器的密钥保护方法及系统
KR102125562B1 (ko) * 2014-06-18 2020-06-22 삼성전자주식회사 키 공유 방법 및 장치
JP5705366B1 (ja) * 2014-12-11 2015-04-22 株式会社東芝 サーバ装置およびプログラム
JP5739078B1 (ja) * 2015-02-19 2015-06-24 株式会社東芝 サーバ装置、通信方法、およびプログラム
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service
CN105939353B (zh) * 2016-06-10 2022-03-25 北京数盾信息科技有限公司 一种基于gdoi协议下安全管理及信息反馈系统
EP3507701B1 (en) * 2016-09-02 2022-05-18 Conio Inc. Method and apparatus for restoring access to digital assets
EP3656081A1 (en) * 2017-07-18 2020-05-27 Legic Identsystems Ag Method and devices for communicating securely between devices
CN110999208A (zh) * 2017-08-02 2020-04-10 日本电信电话株式会社 加密通信装置、加密通信系统、加密通信方法及程序
US11100250B2 (en) * 2017-09-05 2021-08-24 Philips Healthcare Informatics, Inc. Controlling access to data in a health network
US11303447B2 (en) * 2018-05-11 2022-04-12 Syferex, LLC Authentication system using paired, role reversing personal devices
US11164182B2 (en) 2018-05-17 2021-11-02 Conio Inc. Methods and systems for safe creation, custody, recovery, and management of a digital asset
EP4062350A4 (en) 2019-11-22 2024-03-06 Conio Inc METHOD AND APPARATUS FOR BLOCKCHAIN AGNOSTIC SECURE MULTI-SIGNATURE MANAGEMENT OF DIGITAL ASSETS
TWI823536B (zh) * 2022-08-26 2023-11-21 新唐科技股份有限公司 加密傳輸系統及加密傳輸方法
CN117692902A (zh) * 2024-02-02 2024-03-12 深圳市迈腾电子有限公司 一种基于嵌入式家庭网关的智能家居的交互方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6687375B1 (en) * 1999-06-02 2004-02-03 International Business Machines Corporation Generating user-dependent keys and random numbers
US6965992B1 (en) * 2000-02-24 2005-11-15 3Com Corporation Method and system for network security capable of doing stronger encryption with authorized devices
JP4660899B2 (ja) * 2000-07-24 2011-03-30 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
KR100923805B1 (ko) * 2001-03-29 2009-10-27 파나소닉 주식회사 데이터를 암호화하여 데이터를 보호하는 데이터 보호시스템
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
US20040002387A1 (en) 2002-06-26 2004-01-01 Grady Daniel Patrick Card reader and scanner device and methods of using same
KR100924773B1 (ko) 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
US7751569B2 (en) * 2002-11-19 2010-07-06 Oracle America, Inc. Group admission control apparatus and methods
CN100499450C (zh) * 2003-04-22 2009-06-10 国际商业机器公司 数字资源的分层密钥生成方法及其设备
JP4208678B2 (ja) 2003-07-11 2009-01-14 キヤノン株式会社 鍵情報処理方法及びその装置、プログラム
EP1676281B1 (en) 2003-10-14 2018-03-14 Selander, Göran Efficient management of cryptographic key generations

Also Published As

Publication number Publication date
US7590238B2 (en) 2009-09-15
US20080075291A1 (en) 2008-03-27
US20080075288A1 (en) 2008-03-27
JP2008078952A (ja) 2008-04-03
CN101150404B (zh) 2010-10-27
CN101150404A (zh) 2008-03-26
US7593528B2 (en) 2009-09-22

Similar Documents

Publication Publication Date Title
JP4179563B2 (ja) 暗号通信の暗号鍵を管理する技術
US7346170B2 (en) Information processing system and method
US7269257B2 (en) System and method for processing information using encryption key block
US7167564B2 (en) Information processing system and method
US6911974B2 (en) Information processing system and method
US7957537B2 (en) Information processing system and method using encryption key block
EP1185021B1 (en) Information processing system and method
JP2001352321A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US7505599B2 (en) Information processing system and method for managing encrypted data with tag information
JP2010063105A (ja) 暗号化属性を用いて高速化された暗号法
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
JP6720107B2 (ja) 暗号処理方法、暗号処理システム、暗号化装置、復号装置、プログラム
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2003289297A (ja) データ配信システム
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP2019071552A (ja) 暗号通信方法、暗号通信システム、鍵発行装置、プログラム
JP2002198951A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP5524601B2 (ja) プログラム、電子機器、サーバシステム及び情報提供システム
JP2010288291A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2002198953A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP2005269587A (ja) 鍵共有システム、暗号システム、ファイル認証システム
JP2006270344A (ja) 情報処理システム、情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080822

R150 Certificate of patent or registration of utility model

Ref document number: 4179563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5