説明

送信端末、受信端末、ID発番装置、および鍵送信方法

【課題】特定多数の装置間で暗号鍵を共有して通信を行うシステムにおいて、暗号鍵を少ないリソースで、かつセキュアに共有することができる送信端末を提供すること。
【解決手段】送信端末400は、マスク値ブロックを連結したランダムブロックを生成するランダムブロック生成部410と、受信端末のIDとランダムブロックとの排他的論理和結果に、所定の鍵埋め込みルールに従って暗号鍵を埋め込んで、問合せIDを生成する問合せID生成部420と、問合せIDを受信端末を含む複数の装置へ送信する送信部430とを有する。鍵埋め込みルールは、予め定められた、暗号鍵のビット位置と排他的論理和結果を分割したブロックの位置との間のブロック位置対応関係、および、暗号鍵のビット値とブロック内のビット位置との間のビット位置対応関係において、暗号鍵の各ビット値に対応する、ビット位置の値を反転させる規則である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定多数の装置間で暗号鍵を共有して通信を行うシステムにおける、送信端末、受信端末、ID発番装置、および鍵送信方法に関する。
【背景技術】
【0002】
特定多数の端末と、各端末との間で通信を行う装置とにより構成されるネットワークシステムは、数多く存在している。膨大な数のセンサと、各センサからデータを収集するデータ収集装置とを配置したセンサネットワークは、その一例である。
【0003】
このようなネットワークシステムは、一般的に、次の2つの要件が求められる。1つ目は、秘匿な(セキュアな)通信を行えることである。2つ目は、秘匿な通信を行うための鍵共有方式や暗号化方式が、軽量であることである。
【0004】
そこで、例えば、特許文献1に記載の技術(以下「従来技術」という)がある。従来技術は、端末のIDを構成するビット列を所定のビットサイズで複数のブロックに分割し、各ブロックが取り得る値の全てに対して、1対1に、暗号鍵の部品を割り当てておく。また、従来技術は、この各ブロックが取り得る値と暗号鍵の部品との対応関係を、暗号鍵を共有する端末間で事前に共有しておく。そして、従来技術は、この対応関係に基づいて、各端末内で、IDから暗号鍵を復元し、暗号化処理を行う。すなわち、従来技術は、端末の識別情報と暗号鍵との関係を階層化する。これにより、従来技術は、暗号鍵を直接に送受信することなく、かつ、IDの指定のみによって、特定多数の装置間で暗号鍵を共有することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−124884号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術は、複数の受信端末のうちの1つでも、端末IDとその暗号鍵との組が漏洩すると、他の受信端末の暗号鍵が推測され易くなる。これは、分割したIDと暗号鍵の部品が1対1の関係にあること、および、端末IDと暗号鍵の関係は常に固定であること、に起因する。すなわち、従来技術は、特定多数の装置間で暗号鍵を共有して通信を行うシステムにおいて、暗号鍵を少ないリソースで、かつセキュアに(軽量かつ秘匿化された状態で)共有することが難しいという課題を有する。
【0007】
本発明の目的は、特定多数の装置間で暗号鍵を共有して通信を行うシステムにおいて、暗号鍵を少ないリソースで、かつセキュアに共有することができる送信端末、受信端末、ID発番装置、および鍵送信方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の送信端末は、暗号鍵の送信を行う送信端末であって、マスク値ブロックをランダムに選択して連結したランダムブロックを生成するランダムブロック生成部と、前記暗号鍵を共有すべき受信端末のIDと前記ランダムブロックとの排他的論理和結果に対して、所定の鍵埋め込みルールに従って前記暗号鍵を埋め込んで得られるビット列を、問合せIDとして生成する問合せID生成部と、前記問合せIDを、前記受信端末を含む複数の装置に対して送信する送信部とを有し、前記所定の鍵埋め込みルールは、予め定められた、前記暗号鍵のビット位置と前記排他的論理和結果を分割したブロックの位置との間のブロック位置対応関係、および、前記暗号鍵のビット値と前記ブロック内のビット位置との間のビット位置対応関係において、前記暗号鍵の各ビット値に対応する、ビット位置の値を反転させる規則である。
【0009】
本発明の受信端末は、暗号鍵の受信を行う受信端末であって、前記受信端末に割り当てられた端末IDを保持する端末ID保持部と、自端末を宛先に含む情報を受信する受信部と、前記受信部を介して、上述の送信端末から、前記問合せIDを受信する問合せID解析部と、前記問合せIDと前記端末IDとの排他的論理和結果から、所定の鍵抽出ルールに従って前記暗号鍵の抽出を行う暗号鍵抽出部とを有し、前記端末IDは、前記受信端末が属するグループのグループIDとの排他的論理和結果が前記マスク値ブロックのみの連結から成るようなビット列であり、前記所定の鍵抽出ルールは、前記問合せIDと前記端末IDとの排他的論理和結果に対して、前記ブロック位置対応関係および前記ビット位置対応関係を適用したときに基の暗号鍵として得られるビット列を、前記暗号鍵として取得する規則である。なお、前記問合せIDの基となる前記IDは、前記グループIDであって、他のグループのグループIDとの排他的論理和結果が反転値ブロックのみの連結から成らないようなビット列である。また、前記送信端末の前記送信部は、前記問合せIDを、前記受信端末が属するグループの装置および前記他のグループの装置に対して送信する。
【0010】
本発明のID発番装置は、上記送信端末から前記問合せIDを受信する受信端末に対して端末IDの発番を行うID発番装置であって、割り当て済みの端末IDを管理するID管理部と、所定の発番ルールに従って、グループIDを選択するグループID選択部と、前記所定の発番ルールに従って、前記グループIDに属する端末IDを生成する端末ID生成部と、割り当て済みの端末IDと重複しないように、前記受信端末に対して前記端末IDを割り当てるID登録部とを有し、前記所定の発番ルールは、他のグループIDとの排他的論理和結果が反転値ブロックのみの連結から成らないようなビット列であるグループIDを選択し、選択されたグループIDとの排他的論理和結果がマスク値ブロックのみの連結から成るようなビット列を、端末IDとして生成する規則である。
【0011】
本発明の鍵送信方法は、暗号鍵の送信を行う送信端末における鍵送信方法であって、マスク値ブロックをランダムに選択して連結した、ランダムブロックを生成するステップと、前記暗号鍵を共有すべき受信端末のIDと前記ランダムブロックとの排他的論理和結果に対して、前所定の鍵埋め込みルールに従って前記暗号鍵を埋め込んで得られるビット列を、問合せIDとして生成するステップと、前記問合せIDを、前記受信端末を含む複数の受信端末に対して送信するステップとを有し、前記所定の鍵埋め込みルールは、予め定められた、前記暗号鍵のビット位置と前記排他的論理和結果を分割したブロックの位置との間のブロック位置対応関係、および、前記暗号鍵のビット値と前記ブロック内のビット位置との間のビット位置対応関係において、前記暗号鍵の各ビット値に対応する、ビット位置の値を反転させる規則である。
【発明の効果】
【0012】
本発明によれば、特定多数の装置間で暗号鍵を共有して通信を行うシステムにおいて、暗号鍵を少ないリソースで、かつセキュアに共有することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態1に係る送信端末、受信端末、およびID発番装置を含む通信システムの構成を示すシステム構成図
【図2】本発明の実施の形態1に係るID発番装置の構成を示すブロック図
【図3】本発明の実施の形態1における発番ルールの一例を説明するための図
【図4】本発明の実施の形態1に係る送信端末の構成を示すブロック図
【図5】本発明の実施の形態1における鍵埋め込みルールの一例を説明するための図
【図6】本発明の実施の形態1に係る受信端末の構成を示すブロック図
【図7】本発明の実施の形態1における鍵抽出ルールの一例を説明するための図
【図8】本発明の実施の形態1に係るID発番装置の動作の一例を示すフローチャート
【図9】本発明の実施の形態1に係る送信端末の動作の一例を示すフローチャート
【図10】本発明の実施の形態1に係る受信端末の動作の一例を示すフローチャート
【図11】本発明の実施の形態2に係る送信端末の構成を示すブロック図
【図12】本発明の実施の形態2における下りメッセージの構成の一例を示す図
【図13】本発明の実施の形態2における上りメッセージの構成の一例を示す図
【図14】本発明の実施の形態2に係る受信端末の構成を示すブロック図
【図15】本発明の実施の形態2に係る送信端末の動作の一例を示すフローチャート
【図16】本発明の実施の形態2に係る受信端末の動作の一例を示すフローチャート
【図17】本発明の実施の形態3に係る送信端末の構成を示すブロック図
【図18】本発明の実施の形態3における下りメッセージの構成の一例を示す図
【図19】本発明の実施の形態3に係る受信端末の構成を示すブロック図
【図20】本発明の実施の形態3に係る送信端末の動作の一例を示すフローチャート
【図21】本発明の実施の形態3に係る受信端末の動作の一例を示すフローチャート
【図22】本発明の実施の形態4に係る送信端末の構成を示すブロック図
【図23】本発明の実施の形態4に係る受信端末の構成を示すブロック図
【図24】本発明の実施の形態4に係る受信端末の動作の一例を示すフローチャート
【図25】本発明の実施の形態4に係る送信端末の動作の一例を示すフローチャート
【図26】本発明の実施の形態5に係る送信端末の構成を示すブロック図
【図27】本発明の実施の形態5におけるID変換テーブルの構成の一例を示す図
【図28】本発明の実施の形態5に係る受信端末の構成を示すブロック図
【発明を実施するための形態】
【0014】
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。
本発明の実施の形態1では、送信端末と受信端末との間で、暗号鍵の共有をセキュアに行う例について説明する。
本発明の実施の形態2では、共有された暗号鍵を用いて、送信端末からグループ単位で各受信端末が保持する端末データの収集を行う例について説明する。
本発明の実施の形態3では、共有された暗号鍵を用いて、送信端末から受信端末単位でデータ収集を行う例について説明する。
本発明の実施の形態4では、送信端末が、グループ単位で、受信端末に対して一斉に自己のグループIDおよび端末IDを生成させる例について説明する。
本発明の実施の形態5では、受信端末の位置など、暗号鍵を共有すべき受信端末(通信データを送信すべき受信端末)の条件に基づいて、宛先端末を決定する例について説明する。
【0015】
各実施の形態の説明に先立って、各実施の形態において用いる用語について説明する。
「所定のビットサイズ」は、暗号鍵の1ビットの情報を埋め込む対象となるデータのサイズであって、3以上の固定値である。
「反転値ブロック対」は、互いに反転の関係にある所定のビットサイズのブロックで構成される。
「反転値ブロック」は、反転値ブロック対に属する所定のビットサイズのブロックである。
「反転値ブロックの連結」は、同一の反転値ブロック対に属する反転値ブロックにより構成されたブロックである。
「マスク値ブロック対」は、反転値ブロック対のうち、全てのビット値が0であるブロックと、全てのビット値が1であるブロックとから成るブロック対(反転値ブロック対の一部)である。
「マスク値ブロック」は、マスク値ブロック対に属するブロックである。
なお、各実施の形態において、所定のビットサイズは、最小値の3として説明する。したがって、反転値ブロック対は、例えば、{000,111}や、{011,100}となり、マスク値ブロック対は、{000,111}となる。また、暗号鍵の共有に用いられる各装置のIDのビットサイズは、9として説明する。
「送信端末」は、暗号鍵の送信を行う端末である。
「受信端末」は、暗号鍵の受信を行う端末である。
「下りメッセージ」は、送信端末から受信端末へと送信されるメッセージである。
「上りメッセージ」は、受信端末から送信端末へと送信されるメッセージである。
【0016】
(実施の形態1)
本発明の実施の形態1は、送信端末と受信端末との間で、暗号鍵の共有をセキュアに行う例である。
【0017】
まず、本実施の形態に係る送信端末、受信端末、およびID発番装置を含む通信システムの構成について説明する。
【0018】
図1は、本実施の形態に係る送信端末、受信端末、およびID発番装置を含む通信システムの構成を示すシステム構成図である。
【0019】
図1において、通信システム100は、インターネット等の通信ネットワーク200にそれぞれ有線または無線により接続された、ID発番装置300、送信端末400、および第1〜第Nの受信端末500−1〜500−Nを有する。第1〜第Nの受信端末500−1〜500−Nは同一の構成を有するため、以下、適宜、「受信端末500」としてまとめて説明する。
【0020】
通信システム100は、例えば、上述の、膨大な数のセンサと、各センサからデータを収集するデータ収集装置とを配置したセンサネットワークシステムである。この場合、受信端末500は、通信機能を有するセンサであり、送信端末400は、センサからデータを収集するデータ収集装置である。
【0021】
ID発番装置300は、通信ネットワーク200を介して、各受信端末500(送信端末400を含めてもよい)に対するIDの発番を行う。但し、ID発番装置300は、後述の所定の発番ルール(以下、単に「発番ルール」という)に従ってIDの発番を行うことにより、秘匿化された状態での暗号鍵の共有を可能にする。
【0022】
なお、受信端末500のIDとは、受信端末500の識別子である端末IDである。但し、後述するが、この端末IDには、受信端末500が属するグループに関する情報(以降、グループIDと記載)を端末IDに含む。よって本実施の形態においは、ID発番装置300は、受信端末500のIDとして、端末IDを発番するが、この端末IDには、端末IDが割り当てられた受信端末500が属するグループのグループIDを一意に示すこととなる。したがって、本実施の形態において、端末IDの発番とは、端末IDの受信端末500への割り当ておよび通知と同時に、端末IDが属するグループIDの受信端末500への割り当ておよび通知を意味する。
【0023】
送信端末400は、通信ネットワーク200を介して、暗号鍵を共有すべき各受信端末500(以下、適宜「宛先端末」という)に対して暗号鍵の送信を行う。但し、送信端末400は、後述の所定の鍵埋め込みルールに従って、宛先端末のIDが含まれるビット列に暗号鍵を重畳することにより、宛先端末のIDおよび暗号鍵が秘匿化された状態で、暗号鍵の送信を行う。
【0024】
なお、ID発番装置300および送信端末400は、ネットワークアドレスなど、端末IDおよびグループIDとは別の識別情報により、各受信端末500を識別して個別に通信を行えるものとする。
【0025】
受信端末500は、通信ネットワーク200を介して、送信端末400から送信された暗号鍵の受信を行う。但し、受信端末500は、後述の所定の鍵抽出ルールに従って暗号鍵の受信を行うことにより、秘匿化された状態で、暗号鍵の受信および抽出を行う。
【0026】
このような通信システム100は、送信端末400と各受信端末500との間で、少ないリソースで、かつセキュアに、暗号鍵を共有することができる。
【0027】
以上で、本実施の形態に係る通信システムの構成についての説明を終える。
【0028】
なお、送信端末400および受信端末500は、同一の構成を有する装置であってもよい。すなわち、通信システム100に配置される複数の通信端末が、送信端末400の構成および受信端末500の構成の両方を備えていてもよい。更に、送信端末400および受信端末500の一方または両方を備えた通信端末が、ID発番装置300の機能を有してもよい。
【0029】
次に、各装置の構成について説明する。ID発番装置300、送信端末400、および受信端末500は、例えば、CPU(central processing unit)、およびRAM(random access memory)等の記憶媒体等を含むコンピュータである。この場合、各装置は、記憶する制御プログラムをCPUが実行することによって動作し、以下に説明する各機能部を実現する。
【0030】
図2は、ID発番装置300の構成を示すブロック図である。
【0031】
図2において、ID発番装置300は、ID管理部310、グループID選択部320、端末ID生成部330、およびID登録部340を有する。なお、ID発番装置300は、液晶ディスプレイおよびキースイッチなどのユーザインタフェース(UI、図示せず)を有する。
【0032】
ID管理部310は、割り当て済みの端末ID(グループID)を管理する。
【0033】
具体的には、例えば、ID管理部310は、発番ルールに従って作成されたグループIDのリストと、グループIDごとの端末IDのリストと、割り当て済みの端末IDのリストとを格納する。そして、ID管理部310は、他の機能部からの問合せに応じて、グループIDのリストや、問合せられた端末IDが割り当て可能であるか否か(割り当て済みか否か)についての回答など、必要な情報を返す。
【0034】
グループID選択部320は、各受信端末500に対して、発番ルールに従って、グループIDを選択する。
【0035】
具体的には、例えば、グループID選択部320は、ユーザインタフェースを用いて、上述のグループIDのリストをユーザに提示し、グループIDの選択を受け付ける。そして、グループID選択部320は、端末ID生成部330に対して、ユーザにより選択されたグループIDを出力し、端末IDの生成を指示する。
【0036】
端末ID生成部330は、受信端末500に対して、発番ルールに従って、グループIDに属する端末IDを生成する。
【0037】
具体的には、例えば、端末ID生成部330は、グループID選択部320からの指示を受けて、入力されたグループIDに属する端末IDを生成する。そして、端末ID生成部330は、ID登録部340に対して、生成した端末IDを出力し、端末IDの重複確認および登録を指示する。
【0038】
ID登録部340は、割り当て済みの端末IDと重複しないように、受信端末500に対して端末IDを割り当てる。
【0039】
具体的には、例えば、ID登録部340は、通信ネットワーク200に接続する通信インタフェース(図示せず)を有する。ID登録部340は、端末ID生成部330あるいはID登録部340からの指示を受けて、端末IDが割り当て可能か否かをID管理部310に問い合わせる。そして、ID登録部340は、割り当て可能である場合、対応する受信端末500へ送信し、ID管理部310に割り当て済みの端末IDとして登録する。また、ID登録部340は、割り当て不可能である場合、端末ID生成部330に対して、別の端末IDの生成を指示する。
【0040】
なお、ID登録部340は、ユーザインタフェースを用いて、登録結果をユーザに提示してもよい。また、端末ID生成部330は、逐次端末IDを生成するのではなく、既に用意された端末IDの中から端末IDを選択し、選択した端末IDを出力してもよい。この場合、端末ID生成部330は、例えば、ID管理部310から割り当て可能な端末IDの一覧を取得してユーザに提示して、端末IDの選択を受け付ける。なお、この場合、ID登録部340は、割り当て可能か否かの問い合わせを行わなくてもよい。
【0041】
図3は、上述の発番ルールの一例を説明するための図である。
【0042】
ID管理部310は、例えば、図3に示すグループIDのリスト611を格納する。リスト611に含まれるグループIDは、いずれのグループIDのペアの間で排他的論理和を行っても、その結果が、反転値ブロックのみの連結から構成されないようになっている。反転値ブロックとは、上述の通り、互いに反転の関係にある対のブロックで構成される反転値ブロック対に含まれるブロックである。
【0043】
例えば、図3に示すように、グループIDのリスト611は、「000000000」というグループIDと、「000000001」というグループIDとを記述する。これらの排他的論理和結果を、3桁ずつのブロックに分離して表示する(以下、各ビット列を、同様に3桁ずつ分離して記載する)と、「000 000 001」となる。
【0044】
すなわち、このグループIDの排他的論理和結果は、例えば、1つ目のブロック「000」と3つ目のブロック「001」とが互いに反転の関係となっておらず、反転値ブロックのみの連結から成っていない。
【0045】
なお、仮に、本実施の形態の発番ルールに従わずに、例えば「000000000」というグループIDと「000111000」というグループID(図示せず)とが発番されたとする。この場合、これらの排他的論理和結果は、3桁ずつのブロックに分離して表示すると、「000 111 000」となる。このグループIDの排他的論理和結果は、1つ目のブロック「000」と2つ目のブロック「111」と3つ目のブロック「000」はすべて互いに反転の関係となっている。すなわち、本実施の形態の発番ルールに従わないグループID同士の排他的論理和結果は、反転値ブロックのみの連結となる。本実施の形態の発番ルールに従って発番されたグループIDは、このような関係にはならない。
【0046】
発番ルールは、例えば、リスト611からグループIDを選択することを規定する。すなわち、発番ルールは、他のグループIDとの排他的論理和結果が、反転値ブロックのみの連結から成らないようなビット列であるグループIDを選択する規則を含む。また、発番ルールは、選択されたグループIDとの排他的論理和結果が、マスク値ブロックのみの連結から成るようなビット列を、端末IDとして生成する規則を含む。
【0047】
このような発番ルールに沿って端末IDを生成するため、図3に示すように、例えば、端末ID生成部330は、以下のような演算を行う。
【0048】
まず、端末ID生成部330は、「110 100 100」というグループID612に対して、{000,111}というマスク値ブロック対613を用いて、「111 000 111」というランダムブロック614を生成する。ランダムブロック614は、マスク値ブロック対(「000」および「111」)に属するマスク値ブロックをランダムに選択して連結したものである。そして、端末ID生成部330は、グループID612とランダムブロック614との排他的論理和をとり、「001 100 011」という端末ID615を生成する。
【0049】
ランダムブロックは、3つのブロックの組み合わせであるため、8パターンのビット列を取り得る。なお、端末ID生成部330は、端末IDが属するグループIDと一致するビット列は、端末IDに割り当てないようにしても良い。この場合、端末IDのリスト616に示すように、1つのグループIDに対して、グループIDと一致する1パターンを除いた、7パターンの端末IDが生成され得る。
【0050】
このようにして選択されるグループIDおよび生成される端末IDは、上述の発番ルールを満たす。すなわち、各端末IDは、その端末IDが属するグループID(グループ内の他の端末IDも)との排他的論理和結果が、マスク値ブロックしか含まなくなるという特徴を有する。そして、各端末IDは、他のグループID(他のグループの端末IDも)との排他的論理和をとったとき、マスク値ブロック以外のブロックを含むことになるという特徴を有する。
【0051】
このようなID発番装置300は、送信端末400と各受信端末500との間で、秘匿化された状態での暗号鍵の共有を可能にするような、端末ID(グループID)の発番を行うことができる。
【0052】
図4は、送信端末400の構成を示すブロック図である。
【0053】
図4において、送信端末400は、ランダムブロック生成部410、問合せID生成部420、および送信部430を有する。
【0054】
ランダムブロック生成部410は、マスク値ブロックをランダムに選択して連結したランダムブロックを生成する。
【0055】
具体的には、例えば、ランダムブロック生成部410は、問合せID生成部420からの要求を受けて、新たなランダムブロックを生成する。そして、ランダムブロック生成部410は、生成したランダムブロックを、問合せID生成部420へ出力する。
【0056】
問合せID生成部420は、暗号鍵を共有すべき受信端末500(以下、適宜「宛先端末」という)のIDとランダムブロックとの排他的論理和結果に対して、所定の鍵埋め込みルール(以下単に「鍵埋め込みルール」という)に従って暗号鍵を埋め込んで得られるビット列を、問合せIDとして生成する。
【0057】
具体的には、例えば、問合せID生成部420は、自己または他の機能部(図示せず)が保持または生成した暗号鍵を取得する。また、問合せID生成部420は、ユーザ操作や他の装置からの指示により、宛先端末のIDを取得する。なお、暗号鍵のビットサイズは、宛先端末のIDを構成するビット列を上述の所定のビットサイズで分割した際の分割数(本実施の形態では3)である。問合せID生成部420は、ランダムブロック生成部410からランダムブロックを取得する。そして、問合せID生成部420は、宛先端末のIDとランダムブロックとの排他的論理和結果に、鍵埋め込みルールに従って暗号鍵を埋め込み、問合せIDを生成する。そして、問合せID生成部420は、生成した問合せIDを、送信部430へ出力する。
【0058】
本実施の形態において、問合せID生成部420は、グループIDを、問合せIDの生成に用いるものとする。すなわち、送信端末400は、宛先端末として、特定のグループに属する全ての受信端末500を指定する。
【0059】
送信部430は、宛先端末を含む複数の装置に対して、下りメッセージを送信する。
【0060】
具体的には、例えば、送信部430は、通信ネットワーク200に接続する通信インタフェース(図示せず)を有する。送信部430は、問合せIDまたは問合せIDを付加した下りメッセージを、通信ネットワーク200にブロードキャスト(同報送信)する。下りメッセージのどの領域に問合せIDが記述されるかは、予め定められているものとする。後述するが、各受信端末500は、問合せIDが付加された下りメッセージが通信ネットワーク200にブロードキャストされたとき、その下りメッセージを受信し、問合せIDを抽出する。したがって、送信部430は、上記ブロードキャストにより、問合せIDを、宛先端末を含む複数の装置に対して送信する。
【0061】
図5は、上述の鍵埋め込みルールの一例を説明するための図である。
【0062】
鍵埋め込みルールは、予め定められた、暗号鍵の各ビット値に対応する、各ブロックのビット位置の値を反転させる規則である。この規則は、ブロック位置対応関係およびビット位置対応関係(以下「位置対応関係」と総称する)に基づく。ブロック位置対応関係とは、暗号鍵のビット位置と、宛先端末のIDとランダムブロックとの排他的論理和結果を上述の所定のビットサイズ(本実施の形態では3)ずつ分割したブロックの位置との間の、対応関係である。また、ビット位置対応関係は、暗号鍵のビット値とブロック内のビット位置との間の対応関係である。
【0063】
本実施の形態において、ブロック位置対応関係は、暗号鍵の前方からのビット順序が、上記排他的論理和結果を分割したブロックの前方からの順序と対応するような、対応関係とする。また、ビット位置対応関係は、暗号鍵のビット値「1」が、上記ブロック内の1ビット目に対応し、暗号鍵のビット値「0」が、上記ブロック内の2ビット目に対応するような、対応関係とする。
【0064】
このような鍵埋め込みルールに沿って問合せIDを生成するため、図5に示すように、ランダムブロック生成部410および問合せID生成部420は、例えば、以下のような演算を行う。
【0065】
ランダムブロック生成部410は、「010 111 110」というグループID621を取得したとする。この場合、ランダムブロック生成部410は、グループID621に対して、{000,111}というマスク値ブロック対622を用いて、「000 111 000」というランダムブロック623を生成する。この場合、問合せID生成部420は、「010 000 110」という、グループID621とランダムブロック623との排他的論理和結果624を算出する。
【0066】
そして、問合せID生成部420は、「1 1 0」という暗号鍵625を取得したとする。この場合、問合せID生成部420は、排他的論理和結果624に対して、反転ビット626を、1ブロック目から順に、「1ビット目、1ビット目、2ビット目」とする。すなわち、問合せID生成部420は、暗号鍵のm番目のビット値が1である場合、排他的論理和結果のm番目のブロックの1番目のビット値を反転させる。また、問合せID生成部420は、暗号鍵のm番目のビット値が0である場合、排他的論理和結果のm番目のブロックの2番目のビット値を反転させる。これにより、問合せID生成部420は、「110 100 100」という、暗号鍵625が埋め込まれた問合せID627を生成する。
【0067】
このような送信端末400は、宛先端末のIDおよび暗号鍵を秘匿化した状態で、宛先端末に対して暗号鍵を送信することができる。
【0068】
図6は、受信端末500の構成を示すブロック図である。
【0069】
図6において、受信端末500は、端末ID保持部510、受信部520、問合せID解析部525、および暗号鍵抽出部530を有する。
【0070】
端末ID保持部510は、受信端末500に割り当てられた端末ID(グループID)を保持する。
【0071】
具体的には、例えば、端末ID保持部510は、後述の受信部520を介してID発番装置300から自端末宛てに送信された端末IDを取得し、これを保持する。また、端末ID保持部510は、問合せID解析部525からの要求に応じて、保持する端末IDを問合せID解析部525へ出力する。
【0072】
受信部520は、自端末を宛先に含む情報を受信する。
【0073】
具体的には、例えば、受信部520は、通信ネットワーク200に接続する通信インタフェース(図示せず)を有する。受信部520は、ID発番装置300から自端末宛への割り当て対象となる端末IDが送信されたとき、その端末IDを受信し、端末ID保持部510へ出力する。また、受信部520は、送信端末400から、問合せIDが付加された下りメッセージが通信ネットワーク200にブロードキャストされたとき、その下りメッセージを受信し、問合せID解析部525へ出力する。
【0074】
問合せID解析部525は、受信部520を介して、送信端末400から、問合せIDを受信する。
【0075】
具体的には、例えば、問合せID解析部525は、受信部520から入力された下りメッセージから、問合せIDを取得する。そして、問合せID解析部525は、端末ID保持部510から端末ID(グループID)を取得し、下りメッセージの問合せIDと端末IDとに基づいて自端末が属するグループ(以下「自グループ」という)宛ての下りメッセージであるか否かを判断する。問合せID解析部525は、自グループ宛ての下りメッセージである場合には、問合せIDおよび端末IDを、暗号鍵抽出部530へ出力する。
【0076】
暗号鍵抽出部530は、問合せIDと端末IDとの排他的論理和結果から、所定の鍵抽出ルール(以下単に「鍵抽出ルール」という)に従って暗号鍵の抽出を行う。
【0077】
具体的には、例えば、暗号鍵抽出部530は、抽出した暗号鍵を、受信した通信データの復号や送信端末400へ送信する通信データの暗号化を行う機能部(図示せず)へ出力する。
【0078】
図7は、上述の鍵抽出ルールの一例を説明するための図である。
【0079】
鍵抽出ルールは、問合せIDと前記端末IDとの排他的論理和結果に対して、上述のブロック位置対応関係およびビット位置対応関係(位置対応関係)を適用したときに基の暗号鍵として得られるビット列を、暗号鍵として取得する規則である。
【0080】
このような鍵抽出ルールに沿って暗号鍵を抽出するため、図7に示すように、問合せID解析部525および暗号鍵抽出部530は、以下のような演算を行う。
【0081】
まず、問合せID解析部525は、「110 100 100」という問合せID631を抽出し、「101 000 001」という端末ID632を取得したとする。この場合、問合せID解析部525は、「011 100 101」という問合せID631と端末ID632との排他的論理和結果633を算出する。
【0082】
問合せIDと端末IDとの排他的論理和は、つまり、端末IDが属するグループIDと、ランダムブロックと、端末IDとの排他的論理和に、暗号鍵を埋め込んだビット列である。
【0083】
一方で、端末IDが属するグループIDと端末IDとの排他的論理和結果は、上述の通り、マスク値ブロックしか含まない。また、マスク値ブロックのみから成るビット列とマスク値ブロックのみから成るランダムブロックとの排他的論理和結果は、やはりマスク値ブロックしか含まない。
【0084】
したがって、端末IDが基のグループIDに属している場合、問合せIDと端末IDとの排他的論理和結果は、必ず、マスク値ブロックのみから成るビット列に暗号鍵が埋め込まれたビット列となる。
【0085】
更に、暗号鍵の埋め込みは、上述の通り、各ブロックの1ビット目または2ビット目を反転させて行われる。したがって、問合せIDと端末IDとの排他的論理和結果は、マスク値ブロックの1ビット目または2ビット目を反転させた4種類のブロック「100、010、011、101」しか含まなくなる。以降、この4種類のブロック「100、010、011、101」は、「宛先値ブロック群」と記載する。
【0086】
以下、マスク値ブロックの1ビット目または2ビット目を反転させたブロックは「宛先値ブロック」と記載する。宛先値ブロックは、つまり、上述のビット位置対応関係に従って暗号鍵のビット値をマスク値に埋め込んだ結果が、取り得る値である。
【0087】
したがって、図7に示すように、問合せID解析部525は、問合せID631と端末ID632との排他的論理和結果633が、宛先値ブロック群634{100,010,011,101}のみから成るか否かを判断する。そして、問合せID解析部525は、この判断をもって、問合せIDが自グループ宛てのものであるか否かを判断する。
【0088】
図7に示す例では、排他的論理和結果633は宛先値ブロック群634{100,010,011,101}のみから成る。したがって、問合せID解析部525は、問合せID631および端末ID632を、暗号鍵抽出部530へ出力する。
【0089】
暗号鍵抽出部530は、排他的論理和結果633のブロックごとに、反転しているビット位置を判定し、反転ビット636を、1ブロック目から順に、「1ビット目、1ビット目、2ビット目」と判定する。そして、暗号鍵抽出部530は、上述の位置対応関係から、「1 1 0」という暗号鍵637を抽出する。この暗号鍵637は、図5に示した、問合せIDに埋め込まれた暗号鍵625と同一である。
【0090】
なお、先でも述べたように、端末IDが基のグループIDに属していない場合、グループIDと端末IDとの排他的論理和結果は、必ずマスク値ブロック以外を含む。つまり、暗号鍵の抽出元となる問合せIDと端末IDとの排他的論理和結果は、宛先値ブロック以外のブロックを含むことになる。加えて、問合せIDと端末IDとの排他的論理和結果には、宛先値ブロックに一致するブロックが偶然含まれる場合もある。したがって、宛先端末以外の装置は、各ブロックのどのビット位置が反転されているのかを判断することができず、問合せIDに埋め込まれた暗号鍵を正しく抽出することはできない。
【0091】
また、問合せIDは、同一の宛先端末および暗号鍵であっても、ランダムブロックによりランダムに変化する。したがって、個々の問合せIDの宛先端末のグループIDおよび端末IDを特定することは難しい。
【0092】
したがって、第三者が、問い合わせIDから直接に暗号鍵を抽出したり、グループIDおよび端末IDに基づいて問合せIDから暗号鍵を推定したりすることは、非常に困難である。
【0093】
このような受信端末500は、送信端末400から自グループ宛ての問合せIDを受信し、受信した問合せIDから暗号鍵を正しく抽出することができる。
【0094】
以上で、装置の構成についての説明を終える。
【0095】
次に、各装置の動作について説明する。
【0096】
図8は、ID発番装置300の動作の一例を示すフローチャートである。
【0097】
まず、ステップS1010において、グループID選択部320は、端末IDの割り当てが必要か否かを判断する。端末IDの割り当てが必要な場合とは、例えば、ユーザインタフェースを介してユーザからの指示があった場合、受信端末500から要求があった場合、通信ネットワーク200への新たな受信端末500の接続が検出された場合である。グループID選択部320は、端末IDの割り当てが必要ではない場合(S1010:NO)、ステップS1020へ進む。また、グループID選択部320は、端末IDの割り当てが必要である場合(S1010:YES)、ステップS1030へ進む。
【0098】
ステップS1030において、グループID選択部320は、端末IDの割り当て対象となる受信端末500に対して、グループIDを選択する。
【0099】
そして、ステップS1050において、端末ID生成部330は、マスク値ブロックを用いて、ランダムブロックを生成する。
【0100】
そして、ステップS1060において、端末ID生成部330は、グループIDとランダムブロックとの排他的論理和結果を、端末IDとして生成する。
【0101】
そして、ステップS1070において、ID登録部340は、ID管理部310に問い合わせて、生成された端末IDに、既に登録されている端末IDとの重複があるか否かを判断する。ID登録部340は、ID端末の重複がある場合(S1070:YES)、ステップS1050へ戻り、端末ID生成部330に他の端末IDを生成させる。また、ID登録部340は、ID端末の重複がない場合(S1070:NO)、ステップS1080へ進む。
【0102】
ステップS1080において、ID登録部340は、割り当て対象となる受信端末500へ送信し、端末IDをID管理部310に登録して、当該受信端末500に端末IDを割り当てる。
【0103】
そして、ステップS1020において、グループID選択部320は、ユーザインタフェースを介したユーザ操作などにより、処理の終了を指示されたか否かを判断する。グループID選択部320は、処理の終了を指示されていない場合(S1020:NO)、ステップS1010へ戻る。また、グループID選択部320は、処理の終了を指示された場合(S1020:YES)、一連の処理を終了する。
【0104】
このような動作により、ID発番装置300は、各受信端末500に対して、重複しないように、秘匿化された状態での暗号鍵の共有を可能にするような端末IDを発番することができる。
【0105】
なお、ID登録部340は、端末IDを送信した受信端末500から、端末IDを受理したか否かを示す応答を受信し、受理された場合にのみ、端末IDの登録を行うようにしてもよい。また、ID登録部340は、ユーザインタフェースを介して、登録の成否などの情報をユーザに提示し、もしくは、不受理の場合にはステップS1050へ戻って別の端末IDが生成されるようにしてもよい。
【0106】
図9は、送信端末400の動作の一例を示すフローチャートである。
【0107】
まず、ステップS2010において、問合せID生成部420は、暗号鍵の送信が必要か否かを判断する。暗号鍵の送信が必要な場合とは、例えば、通信指示装置(図示せず)からグループIDと通信データを受け取って通信データの送信を指示された場合や、通信データの送信の対象となる新たなグループが発生した場合である。問合せID生成部420は、暗号鍵の送信が必要ではない場合(S2010:NO)、ステップS2020へ進む。また、問合せID生成部420は、暗号鍵の送信が必要である場合(S2010:YES)、ステップS2040へ進む。
【0108】
ステップS2040において、ランダムブロック生成部410は、マスク値ブロック対からマスク値ブロックをランダムに選択して、ランダムブロックを生成する。
【0109】
そして、ステップS2050において、問合せID生成部420は、グループIDとランダムブロックとの排他的論理和結果に、上述の鍵埋め込みルールで暗号鍵を埋め込んで、問合せIDを生成する。
【0110】
そして、ステップS2060において、送信部430は、問合せIDを、通信ネットワーク200にブロードキャストすることにより、宛先端末へ送信する。
【0111】
そして、ステップS2020において、問合せID生成部420は、送信端末400に備えられたユーザインタフェース(図示せず)を介したユーザ操作などにより、処理の終了を指示されたか否かを判断する。問合せID生成部420は、処理の終了を指示されていない場合(S2020:NO)、ステップS2010へ戻る。また、問合せID生成部420は、処理の終了を指示された場合(S2020:YES)、一連の処理を終了する。
【0112】
このような動作により、送信端末400は、暗号鍵の送信が必要となるごとに、異なる問合せIDで暗号鍵を送信することができる。
【0113】
図10は、受信端末500の動作の一例を示すフローチャートである。
【0114】
なお、受信端末500は、ID発番装置300から既に端末IDの割り当てを受け、これを保持しているものとする。また、受信端末500は、ID発番装置300から端末IDを受信したときに、これを受理するか否かを示す応答を返信してもよい。
【0115】
まず、ステップS3010において、受信部520は、送信端末400からブロードキャストされた下りメッセージを受信したか否かを判断する。受信部520は、下りメッセージを受信していない場合(S3010:NO)、ステップS3020へ進む。また、受信部520は、下りメッセージを受信した場合(S3010:YES)、ステップS3030へ進む。
【0116】
ステップS3030において、問合せID解析部525は、端末ID保持部510から自端末の端末IDを取得し、問合せIDと端末IDとの排他的論理和結果を算出する。
【0117】
そして、ステップS3040において、問合せID解析部525は、問合せIDと端末IDとの排他的論理和結果を、上述の所定のビットサイズ(本実施の形態では3)ごとに分割し、ブロック化する。
【0118】
そして、ステップS3050において、問合せID解析部525は、排他的論理和結果が宛先値ブロック群{100,010,011,101}の宛先値ブロックのみから成るか否かを判断する。具体的には、問合せID解析部525は、例えば、宛先値ブロック群を予め保持し、排他的論理和結果を分割した各ブロックを、各宛先値ブロックと比較する。問合せID解析部525は、排他的論理和結果が宛先値ブロックのみの連結から成らない場合(S3050:NO)、ステップS3020へ進む。また、問合せID解析部525は、排他的論理和結果が宛先値ブロックのみの連結から成る場合(S3050:YES)、ステップS3060へ進む。
【0119】
ステップS3060において、暗号鍵抽出部530は、問合せIDと端末IDとの排他的論理和結果から、上述の鍵抽出ルールで、暗号鍵を抽出する。
【0120】
そして、ステップS3020において、問合せID解析部525は、ユーザインタフェースを介したユーザ操作などにより、処理の終了を指示されたか否かを判断する。問合せID解析部525は、処理の終了を指示されていない場合(S3020:NO)、ステップS3010へ戻る。また、問合せID解析部525は、処理の終了を指示された場合(S3020:YES)、一連の処理を終了する。
【0121】
このような動作により、受信端末500は、送信端末400から自グループ宛ての問合せIDが送信されるごとに、これを受信し、暗号鍵を正しく抽出することができる。
【0122】
以上のように、本実施の形態に係る通信システム100は、特定多数の装置間で暗号鍵を共有して通信を行うことができる。また、通信システム100は、ビット列間の排他的論理和の性質を利用して、端末IDの発番、問合せIDの生成し、グループに属する受信端末のみが正しく暗号鍵の抽出が行えるようにするので、暗号鍵をセキュアに共有することができる。
【0123】
また、通信システム100は、従来技術のようにグループIDと暗号鍵の間には関係性を持たない。言い換えると、通信システム100は、例えグループIDと暗号鍵が漏洩した場合でも、その影響範囲を、同じグループに属する受信端末500に止めることができる。また、通信システム100は、通信の宛先となるグループIDを、従来技術のように平文で用いるのではなく、ランダムブロックでランダムに変換して通信で利用する。このため、通信システム100は、個々の下りメッセージがどのグループ宛てであるかを、そのグループに属さない端末に対しては秘密にすることができる。これにより、通信を傍受し悪用を考える悪意の第三者は任意の通信を特定することができない。すなわち、通信システム100は、従来技術に比べて、暗号鍵をよりセキュアに共有することができる。
【0124】
また、通信システム100は、各受信端末500の端末IDやグループIDを秘匿化することができるため、第三者による通信のトレースを防止することができる。
【0125】
また、通信システム100は、通信先の指定のために管理すべき項目がグループIDのみで良いため、送信端末400のメモリ量を節約することができる。更に、通信システム100は、グループIDと同一サイズのビット列に、グループIDと暗号鍵とを混ぜて埋め込んで送信することができるので、下りメッセージの長さを短縮することができる。すなわち、通信システム100は、暗号鍵を少ないリソースで共有することができる。
【0126】
なお、通信システム100は、ID発番装置300を必ずしも有さなくてもよい。この場合、各受信端末500に、例えば、製造時などに、上述の発番手法などを用いて発番された端末IDを予め保持させればよい。
【0127】
(実施の形態2)
本発明の実施の形態2は、共有された暗号鍵を用いて、送信端末から各受信端末が保持する端末データの収集をグループ単位で行う例である。本実施の形態に係る送信端末および受信端末は、実施の形態1の図1と同様の通信システムにおいて用いられるものである。
【0128】
また、本実施の形態において、各端末は、通信データの暗号化および復号に、共通の暗号化方式を用いるものとする。この暗号化方式は、例えば、AES暗号方式(Advanced Encryption Standard)や、DES暗号方式(Data Encryption Standard)を採用することができる。
【0129】
まず、本実施の形態に係る各装置の構成について説明する。
【0130】
図11は、本実施の形態に係る送信端末の構成を示すブロック図であり、実施の形態1の図4に対応するものである。図4と同一部分には同一符号を付し、これについての説明を省略する。
【0131】
図11において、送信端末400aは、暗号鍵生成部440a、データ暗号化部450a、受信部460a、およびデータ復号部470aを更に有する。
【0132】
本実施の形態において、送信端末400aは、通信指示装置700aから、指定したグループからデータを収集する旨の指示を受け付けるものとする。この指示の際、通信指示装置700aは、送信端末400aに対して、受信端末が保持する端末データの送信端末400aへの送信の指示(以下「上りデータ送信指示」という)を内容とする通信データとグループIDとを出力する。また、問合せID生成部420は、通信指示装置700aからグループIDを入力されるごとに、問合せIDを生成する必要があると判断し、暗号鍵生成部440aに対して暗号鍵の生成を指示する。なお、通信指示装置700aは、送信端末400aと一体的に設けられた装置であってもよいし、送信端末400aとは別に設けられた装置であってもよい。
【0133】
暗号鍵生成部440aは、ランダムなビット列を上述の暗号鍵として生成する。
【0134】
具体的には、例えば、暗号鍵生成部440aは、問合せID生成部420からの要求を受けて、暗号鍵のビットサイズ(本実施の形態では3)の乱数を発生させて、暗号鍵を生成する。そして、暗号鍵生成部440aは、生成した暗号鍵を、問合せID生成部420、データ暗号化部450a、およびデータ復号部470aへ出力する。
【0135】
データ暗号化部450aは、誤り検出符号が付加された通信データを、暗号鍵を用いて暗号化して、暗号化データを生成する。
【0136】
具体的には、例えば、データ暗号化部450aは、通信指示装置700aから通信データを入力されるごとに、その通信データに対応して暗号鍵生成部440aから入力された暗号鍵を用いて、通信データを暗号化する。このとき、データ暗号化部450aは、通信データに、まず、チェックサムを算出し、これを通信データに付加する。そして、データ暗号化部450aは、チェックサムが付加された通信データに対して、上述の共通の暗号化方式を用いて暗号化処理を行い、暗号化データEを生成する。そして、データ暗号化部450aは、生成した暗号化データを、送信部430へ出力する。
【0137】
チェックサムとは、誤り検出符号の一種であり、誤り検出の対象となるデータを数値とみなし、各ビットの和を計算した値である。すなわち、通信データの各ビットの和を、チェックサムと比較することにより、通信データに誤りがあるか否かを判断することができる。本実施の形態においては、チェックサムを付加することにより、暗号化データが正しく復号されたか否か、つまり、暗号鍵の共有が正しく行われたか否かを判断することが可能となる。
【0138】
送信部430は、問合せIDと暗号化データとを含む下りメッセージを生成し、複数の装置に対して送信する。
【0139】
具体的には、例えば、送信部430は、問合せIDと暗号化データEとを含む下りメッセージを生成して、宛先端末へ送信する。
【0140】
図12は、下りメッセージの構成の一例を示す図である。
【0141】
図12に示すように、下りメッセージ810は、問合せID811および暗号化データ812(E)を含む。問合せID811は、上述の通り、グループIDおよび暗号鍵を含む。また、暗号化データ812(E)は、上述の通り、チェックサムが付加(結合)された通信データを含む。そして、暗号化データ812(E)の生成に用いられた暗号鍵は、問合せID811に含まれている暗号鍵と同一である。下りメッセージ810から暗号鍵を抽出した受信端末は、例えば、その暗号鍵を用いて送信端末400aへ送信すべき通信データを暗号化し、上りメッセージに含めて送信端末400aへ送信する。
【0142】
図11の受信部460aは、受信端末500a(図14参照)から、通信データを暗号化した暗号化データを含む上りメッセージを受信する。
【0143】
具体的には、例えば、受信部460aは、通信ネットワーク200に接続する通信インタフェース(図示せず)を有する。受信部460aは、受信端末から送信端末400aへと送信される上りメッセージを受信する。上りメッセージには、チェックサムが付加された送信元の端末IDおよび通信データが、下りメッセージによって共有された暗号鍵を用いて暗号化され、暗号化データとして含まれている。そして、受信部460aは、受信した上りメッセージに含まれる暗号化データを、データ復号部470aへ出力する。
【0144】
図13は、上りメッセージの構成の一例を示す図である。
【0145】
図13に示すように、上りメッセージ820は、暗号化データ822(E')を含む。暗号化データ822(E')は、上述の通り、チェックサムが付加(結合)された、送信元(受信端末)の端末IDおよび通信データを含む。そして、暗号化データ822(E')の生成に用いられた暗号鍵は、受信端末が下りメッセージによって受信した暗号鍵と同一である。
【0146】
データ復号部470aは、上りメッセージに含まれる暗号化データを、暗号鍵を用いて復号する。
【0147】
具体的には、例えば、データ復号部470aは、暗号鍵生成部440aから入力された暗号鍵を用いて、受信部460aから入力された暗号化データを復号する。次に、データ復号部470aは、復号された送信元の端末IDおよび通信データに対して、同様に復号されたチェックサムを用いて、誤り検出を行う。そして、データ復号部470aは、誤りが検出されなかった場合、復号された端末IDおよび通信データを、例えば通信指示装置700aへ出力する。
【0148】
このような送信端末400aは、指定されたグループに対して、下りメッセージにより、秘匿化された状態で上りデータ送信指示を送信し、受信した上りメッセージから、端末データを正しく抽出することができる。
【0149】
図14は、本実施の形態に係る受信端末の構成を示すブロック図であり、実施の形態1の図6に対応するものである。図6と同一部分には同一符号を付し、これについての説明を省略する。
【0150】
図14に示すように、受信端末500aは、データ復号部540a、受信データ記録部550a、端末データ保持部560a、データ暗号化部570a、および送信部580aを有する。
【0151】
本実施の形態において、問合せID解析部525は、受信した下りメッセージが自グループ宛てのものであるとき(つまり、図10のS3050:YESのとき)、これを受信し、下りメッセージに含まれる暗号化データを、データ復号部540aへ出力する。暗号鍵抽出部530は、抽出した暗号鍵を、データ復号部540aおよびデータ暗号化部570aへ出力する。また、端末ID保持部510は、データ暗号化部570aからの要求に応じて、保持する端末IDを出力する。また、端末データ保持部560aは、データ暗号化部570aからの要求に応じて、端末データを出力する。
【0152】
データ復号部540aは、下りメッセージに含まれる暗号化データを、暗号鍵を用いて復号する。
【0153】
具体的には、例えば、データ復号部540aは、暗号鍵抽出部530から入力された暗号鍵を用いて、問合せID解析部525から入力された暗号化データを復号する。データ復号部540aは、復号されたデータに対して、同様に復号されたチェックサムを用いて、誤り検出を行う。そして、データ復号部540aは、誤りが検出されなかった場合、復号されたデータ(チェックサムは除いてもよい)を、受信データとして、受信データ記録部550aへ出力する。
【0154】
受信データ記録部550aは、復号されたデータを、受信データとして記録する。
【0155】
具体的には、例えば、受信データ記録部550aは、データ復号部540aから入力された受信データを、受信端末500aの内部のメモリなどに記録する。また、受信データ記録部550aは、受信データの内容に応じて各種処理を行う。
【0156】
本実施の形態において、受信データ記録部550aは、受信データの内容が上りデータ送信指示であった場合、これを検出するものとする。そして、この場合、受信データ記録部550aは、データ暗号化部570aに対して、端末データを取得し、これを通信データとして暗号化を行うことを指示するものとする。
【0157】
端末データ保持部560aは、送信端末400aへの送信の対象と成り得るデータを含むデータを、端末データとして保持する。送信端末400aが上述のセンサである場合、端末データは、例えば、センサが取得した測定データである。そして、端末データ保持部560aは、データ暗号化部570aからの要求に応じて、端末データをデータ暗号化部570aへ出力する。
【0158】
データ暗号化部570aは、暗号鍵を用いて、通信データを暗号化して、暗号化データを生成する。
【0159】
具体的には、例えば、データ暗号化部570aは、受信データ記録部550aからの指示を受けて、端末ID保持部510から端末IDを取得し、端末データ保持部560aから端末データを通信データとして取得する。データ暗号化部570aは、端末IDと通信データとを連結したデータに対して、誤り検出符号を付加する。データ暗号化部570aは、誤り検出符号を付加した通信データおよび端末送信データを、入力された暗号鍵を用いて暗号化して、暗号化データを生成する。そして、データ暗号化部570aは、生成した暗号化データを、送信部580aへ出力する。
【0160】
送信部580aは、暗号化データを含む上りメッセージを生成し、送信端末400aに対して送信する。
【0161】
具体的には、例えば、送信部580aは、通信ネットワーク200に接続する通信インタフェース(図示せず)を有する。送信部580aは、入力された暗号化データを含む上りメッセージ(図13参照)を生成し、送信端末400aへ送信する。
【0162】
このような受信端末500aは、下りメッセージから、自グループ宛ての上りデータ送信指示を正しく抽出し、上りメッセージにより、秘匿化された状態で端末データを送信することができる。
【0163】
以上で、本実施の形態に係る各装置の構成についての説明を終える。
【0164】
次に、本実施の形態に係る各装置の動作について説明する。
【0165】
図15は、送信端末400aの動作の一例を示すフローチャートであり、実施の形態1の図9に対応するものである。図9と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0166】
まず、ステップS2010aにおいて、問合せID生成部420およびデータ暗号化部450aは、グループを指定した上りデータ送信指示があるか否かを判断する。具体的には、問合せID生成部420およびデータ暗号化部450aは、通信指示装置700aから、グループIDと上りデータ送信指示の通信データとの組を入力されたか否かを判断する。
【0167】
問合せID生成部420およびデータ暗号化部450aは、当該指示がない場合(S2010a:NO)、後述のステップS2070aへ進む。また、問合せID生成部420およびデータ暗号化部450aは、当該指示がある場合(S2010a:YES)、ステップS2040〜S2050を経て、ステップS2051aへ進む。
【0168】
ステップS2051aにおいて、暗号鍵生成部440aは、ランダムなビット列を、暗号鍵として生成する。
【0169】
そして、ステップS2052aにおいて、データ暗号化部450aは、上りデータ送信指示の通信データ、およびチェックサムから、暗号鍵を用いて、暗号化データを生成する。具体的には、データ暗号化部450aは、端末IDと通信データとを連結したデータに対して、チェックサムを算出して付加する。そして、チェックサムが付加された端末IDおよび通信データを、暗号鍵により暗号化する。
【0170】
そして、ステップS2060aにおいて、送信部430は、問合せIDと暗号化データEとを含む下りメッセージ(図12参照)を、ブロードキャストにより、指定されたグループの受信端末500aへ送信する。
【0171】
そして、ステップS2070aにおいて、受信部460aは、上りメッセージ(図13参照)を受信したか否かを判断する。受信部460aは、上りメッセージを受信していない場合(S2070a:NO)、ステップS2020へ進む。また、受信部460aは、上りメッセージを受信した場合(S2070a:YES)、受信した上りメッセージに含まれる暗号化データをデータ復号部470aへ出力して、ステップS2080aへ進む。
【0172】
ステップS2080aにおいて、データ復号部470aは、暗号鍵を用いた暗号化データの復号と、復号された端末IDおよび通信データの誤り検出を行う。
【0173】
そして、ステップS2090aにおいて、データ復号部470aは、復号されたデータに誤りがあるか否かを判断する。データ復号部470aは、誤りがある場合(S2090a:YES)、ステップS2020へ進む。また、データ復号部470aは、誤りがない場合(S2090a:NO)、ステップS2100aへ進む。
【0174】
ステップS2100aにおいて、データ復号部470aは、復号した端末IDおよび通信データを組にして通信指示装置700aへ出力し、ステップS2020へ進む。
【0175】
このような動作により、送信端末400aは、指定されたグループから、端末データを収集することができる。
【0176】
図16は、受信端末500aの動作の一例を示すフローチャートであり、実施の形態1の図10に対応するものである。図10と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0177】
受信端末500aは、下りメッセージを受信した場合(S3010:YES)、ステップS3030〜S3060を経て、ステップS3070aへ進む。なお、受信端末500aは、暗号鍵を取得することができない場合(つまりステップS3050:NO)、ステップS3020へ進むようにしてもよい。
【0178】
ステップS3070aにおいて、データ復号部540aは、暗号鍵を用いた暗号化データの復号と、復号された端末IDおよび通信データの誤り検出を行う。
【0179】
そして、ステップS3080aにおいて、データ復号部540aは、復号された端末IDおよび通信データに誤りがあるか否かを判断する。データ復号部540aは、誤りがある場合(S3080a:YES)、ステップ3090aへ進む。また、データ復号部540aは、誤りがない場合(S3080a:NO)、ステップS3100aへ進む。
【0180】
ステップS3090aにおいて、データ復号部540aは、暗号鍵抽出部530に対し、誤りが検出されたデータと共に受信した暗号鍵を破棄させて、ステップS3020へ進む。これは、暗号鍵または通信データの少なくとも一方が誤っている可能性が高いからである。
【0181】
ステップS3100aにおいて、受信データ記録部550aは、復号された受信データを記録する。
【0182】
そして、ステップS3110aにおいて、受信データ記録部550aは、新たに記録した受信データ(下りメッセージに含まれていた通信データ)が、上りデータ送信指示であるか否かを判断する。受信データ記録部550aは、受信データが上りデータ送信指示ではない場合(S3110a:NO)、ステップS3020へ進む。また、受信データ記録部550aは、受信データが上りデータ送信指示である場合(S3110a:YES)、ステップS3120aへ進む。なお、受信データ記録部550aは、受信データが他の指示を含む場合には、その指示に応じた処理を行う。
【0183】
ステップS3120aにおいて、データ暗号化部570aは、端末データ保持部560aが保持する端末データを、通信データとして取得する。そして、データ暗号化部570aは、端末ID、通信データ、およびチェックサムから、暗号鍵を用いて、暗号化データを生成する。具体的には、データ暗号化部570aは、端末IDと通信データとを連結したデータに対して、チェックサムを算出して付加する。そして、チェックサムが付加された端末IDおよび通信データを、暗号鍵により暗号化する。
【0184】
そして、ステップS3130aにおいて、送信部580aは、暗号化データE'を含む上りメッセージ(図13参照)を、送信端末400aへ送信して、ステップS3020へ進む。
【0185】
このような動作により、受信端末500aは、自グループ宛ての上りデータ送信指示があったとき、端末データを送信端末400aへ送信することができる。
【0186】
以上で、本実施の形態に係る各装置の動作についての説明を終える。
【0187】
以上のように、本実施の形態に係る送信端末400aおよび受信端末500aを有する通信システムは、セキュアに共有された暗号鍵を用いて通信データの送受信を行うので、通信データを秘匿化された状態で送受信することができる。
【0188】
また、本通信システムは、受信端末500aにおいて、受信データが上りデータ送信指示であるとき、端末データを送信端末400aへ送信するので、グループ単位での情報収集を、簡単かつセキュアに行うことができる。
【0189】
また、本通信システムは、従来技術のように暗号鍵と端末IDとの関係を1対1に固定せず、暗号鍵を要求の度にランダムな値とする。このため、暗号鍵は、漏洩したとしても、他の要求時の暗号鍵の推測に用いることができない。したがって、本通信システムは、従来技術に比べて、より高い秘匿性を確保して、通信データの送受信を行うことができる。
【0190】
また、本通信システムは、通信データに誤り検出符号を付加したデータに対して暗号鍵を用いる。これにより、本通信システムは、暗号鍵が正しく用いられていない場合に、これを検出することができ、通信の信頼性および安全性を向上させることができる。
【0191】
なお、送信端末400aの暗号鍵生成部440aは、問合せIDのビットサイズおよび上述の所定のビットサイズが可変である場合には、問合せIDのビットサイズを所定のビットサイズで割り、暗号鍵のビットサイズを逐次算出してもよい。
【0192】
また、本通信システムにおいて、暗号鍵を用いた通信データの送信は、必ずしも、送信端末400aと受信端末500aの両方で行われなくてもよい。例えば、下り方向の通信データの送信を行わない場合には、送信端末400aのデータ暗号化部450aや、受信端末500aのデータ復号部540aおよび受信データ記録部550aは、必ずしも備えなくてもよい。また、上り方向の通信データの送信を行わない場合は、受信端末500aは、端末データ保持部560a、データ暗号化部570a、および送信部580aを備えなくてもよい。そして、送信端末400aは、受信部460aおよびデータ復号部470aは、備えなくてもよい。
【0193】
なお、送信端末400aは、暗号鍵と対応付けて、その暗号鍵を共有した相手先(端末グループ、受信端末500a)の識別情報を記憶しておき、通信ごとに暗号鍵を使い分けるようにしてもよい。または、送信端末400aは、暗号鍵を格納した下りメッセージごとに一意に定まる時間情報などの識別情報を付加してもよい。この場合、受信端末500aは、下りメッセージから取得した識別情報を、上りメッセージに付加することにより、どの下りメッセージ(どの暗号鍵)に対応する上りメッセージであるかを、送信端末400aに通知することができる。
【0194】
また、送信端末400aは、上りデータ送信指示以外の内容の通信データを送信してもよい。
【0195】
(実施の形態3)
本発明の実施の形態3は、共有された暗号鍵を用いて、送信端末から受信端末単位でデータ収集を行う例である。本実施の形態に係る送信端末および受信端末は、実施の形態1の図1と同様の通信システムにおいて用いられるものである。
【0196】
まず、各装置の構成について説明する。
【0197】
図17は、本実施の形態に係る送信端末の構成を示すブロック図であり、実施の形態2の図11に対応するものである。図11と同一部分には同一符号を付し、これについての説明を省略する。
【0198】
図17において、送信端末400bは、実施の形態2のデータ暗号化部450aに代えて、データ暗号化部450bを有する。
【0199】
本実施の形態において、送信端末400bは、通信指示装置700aから、指定した受信端末からデータを収集する旨の指示を受け付けるものとする。この指示の際、通信指示装置700aは、送信端末400bに対して、上りデータ送信指示を内容とする通信データと、収集対象となる受信端末の端末IDと、当該受信端末が属するグループのグループIDとを入力する。
【0200】
データ暗号化部450aは、自己の宛先を指定するデータを、暗号鍵を用いて暗号化して、暗号化データを生成する。
【0201】
具体的には、例えば、データ暗号化部450aは、通信指示装置700aから入力された、通信データと端末IDとを結合したデータを暗号化して、暗号化データを生成する。通信データに結合される端末IDは、つまり、情報収集の対象として指定された受信端末の端末IDである。この結果、送信部430が送信する下りメッセージに含まれる暗号化データには、端末IDが含まれることになる。
【0202】
図18は、下りメッセージの構成の一例を示す図であり、実施の形態2の図12に対応するものである。
【0203】
図18に示すように、本実施の形態における下りメッセージ830は、問合せID831および暗号化データ832(E)を含む。問合せID831は、上述の通り、グループIDおよび暗号鍵を含む。また、暗号化データ832(E)は、上述の通り、チェックサムが付加(結合)された通信データおよび受信端末の端末IDを含む。
【0204】
このような送信端末400bは、指定された受信端末に対して、下りメッセージにより、秘匿化された状態で上りデータ送信指示を送信し、受信した上りメッセージから、端末データを正しく抽出することができる。
【0205】
図19は、本実施の形態に係る受信端末の構成を示すブロック図であり、実施の形態2の図14に対応するものである。図14と同一部分には同一符号を付し、これについての説明を省略する。
【0206】
図19において、受信端末500bは、端末ID確認部590bを更に有する。
【0207】
本実施の形態において、端末ID保持部510は、問合せID解析部525およびデータ暗号化部570aだけでなく、端末ID確認部590bからも、その要求に応じて、保持する端末IDを出力する。また、データ復号部540aは、復号した通信データを、受信データ記録部550aではなく、端末ID確認部590bへ出力する。
【0208】
端末ID確認部590bは、復号されたデータが、自己の宛先として受信端末500b(自端末)を指定しているか否かを判断する。
【0209】
具体的には、例えば、端末ID確認部590bは、端末ID保持部510から自端末の端末IDを取得し、復号されたデータに、自端末の端末IDが含まれているか否かを判断する。そして、端末ID確認部590bは、自端末の端末IDが含まれている場合には、そのデータ(端末ID部分を除いてもよい)を、受信データとして、受信データ記録部550aへ出力する。この結果、受信データ記録部550aは、復号されたデータが、自己の宛先として受信端末500bを指定していることを条件として、当該復号されたデータを、受信データとして記録することになる。
【0210】
このような受信端末500bは、下りメッセージから、自端末宛ての上りデータ送信指示を正しく抽出し、上りメッセージにより、秘匿化された状態で端末データを送信することができる。
【0211】
以上で、各装置の構成についての説明を終える。
【0212】
次に、各装置の動作について説明する。
【0213】
図20は、送信端末400bの動作の一例を示すフローチャートであり、実施の形態2の図15に対応するものである。図15と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0214】
まず、ステップS2010bにおいて、問合せID生成部420およびデータ暗号化部450bは、受信端末500bを指定した、個別の上りデータ送信指示が必要か否かを判断する。具体的には、問合せID生成部420およびデータ暗号化部450bは、通信指示装置700aから、グループID、端末ID、および通信データの組を入力されたか否かを判断する。問合せID生成部420およびデータ暗号化部450bは、個別の上りデータ送信指示が必要ではない場合(S2010:NO)、ステップS2070aへ進む。また、問合せID生成部420およびデータ暗号化部450bは、個別の上りデータ送信指示が必要である場合(S2010b:YES)、ステップS2040〜S2051aを経て、ステップS2052bへ進む。
【0215】
ステップS2052bにおいて、データ暗号化部450bは、指定された端末ID、上りデータ送信指示の通信データ、およびチェックサムから、暗号鍵を用いて、暗号化データを生成する。具体的には、データ暗号化部450bは、端末IDと通信データとを連結したデータに対して、チェックサムを算出して付加する。そして、チェックサムが付加された端末IDおよび通信データを、暗号鍵により暗号化する。そして、データ暗号化部450bは、ステップS2060aへ進む。この結果、問合せIDと、宛先端末の端末IDおよびデータを含む暗号化データEとを含む下りメッセージ(図18参照)が、ブロードキャストにより宛先端末へ送信される。
【0216】
このような動作により、送信端末400bは、指定された受信端末500bから、端末データを収集することができる。
【0217】
図21は、受信端末500bの動作の一例を示すフローチャートであり、実施の形態2の図16に対応するものである。図16と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0218】
データ復号部540aは、復号された端末IDおよび通信データに誤りがない場合(S3080b:NO)、ステップS3091bへ進む。
【0219】
ステップS3091bにおいて、端末ID確認部590bは、下りメッセージに含まれていた端末IDと自端末の端末IDとを比較し、下りメッセージに含まれていた通信データが自端末宛てか否かを判断する。端末ID確認部590bは、通信データが自端末宛てではない場合(S3091b:NO)、ステップS3020へ進む。通信データが自端末宛てではない場合とは、例えば、通信データが、同じグループIDに属する他の装置宛てである場合である。また、端末ID確認部590bは、通信データが自端末宛てである場合(S3091b:YES)、ステップS3100aへ進む。この結果、受信データが上りデータ送信指示であった場合には、端末データが送信端末400bへ送信されることになる。
【0220】
このような動作により、受信端末500bは、自端末宛ての上りデータ送信指示があったとき、端末データを送信端末400bへ送信することができる。
【0221】
以上で、本実施の形態に係る各装置の動作についての説明を終える。
【0222】
以上のように、本実施の形態に係る送信端末400bおよび受信端末500bを有する通信システムは、特定の受信端末500bから、秘匿化された状態で、データ収集を行うことができる。また、これにより、グループ単位ではなく端末単位でのデータ収集が必要な場合に、不要な上りメッセージ送信を低減し、通信負荷を軽減することができる。
【0223】
なお、送信端末400bは、上りデータ送信指示以外の内容の通信データを送信してもよい。
【0224】
(実施の形態4)
本発明の実施の形態4は、送信端末が、グループ単位で、受信端末に対して一斉に自己のグループIDおよび端末IDを生成させる例である。本実施の形態に係る送信端末および受信端末は、実施の形態1の図1と同様の通信システムにおいて用いられるものである。但し、本実施の形態において、実施の形態1のID発番装置の機能のうち、端末IDの生成の機能は受信端末に配置され、端末IDの管理の機能は送信端末に配置されている。すなわち、本通信システムは、必ずしも、実施の形態1のID発番装置を備えなくてもよい。
【0225】
まず、本実施の形態に係る各装置の構成について説明する。
【0226】
図22は、本実施の形態に係る送信端末の構成を示すブロック図であり、実施の形態2の図11に対応するものである。図11と同一部分には同一符号を付し、これについての説明を省略する。
【0227】
図22において、送信端末400cは、ID管理部310c、グループID選択部320c、およびID登録部340cを更に有する。
【0228】
本実施の形態において、送信端末400cは、送信端末400cと一体的にまたは別に設けられた端末ID変更指示装置700cから、ID変更指示を受け付けるものとする。
【0229】
ID変更指示は、上述の所定の発番ルールに従って、受信端末のグループIDおよび端末IDを変更することの指示である。この指示の際、送信端末400aは、端末ID変更指示装置700cから、変更の対象となる受信端末(宛先端末)が属するグループIDと、端末IDの変更を指示する内容の通信データとを入力されるものとする。また、本実施の形態において、データ復号部470aは、復号した受信端末からの端末IDおよび通信データを、ID登録部340cへ出力する。
【0230】
ID管理部310cは、実施の形態1のID管理部310と同様の機能を有する。ID管理部310cは、割り当て済みの端末ID(グループID)を管理する。
【0231】
グループID選択部320cは、実施の形態1のグループID選択部320と同様の機能を有する。但し、グループID選択部320cは、上述の発番ルールに従って生成されるグループIDをユーザに提示するものとする。そして、グループID選択部320cは、ユーザから端末IDの一括変更の対象となるグループID(以下「変更対象グループID」という)の選択と、変更後のグループID(以下「新グループID」という)とを受け付けるものとする。
【0232】
具体的には、例えば、グループID選択部320cは、端末ID変更指示装置700cから、ID変更指示の開始の指示を受け付けるものとする。この指示の際、端末ID変更指示装置700cは、送信端末400cに対して、ID変更指示を内容とする通信データを出力する。グループID選択部320cは、このID変更指示を受けるごとに、ID管理部310cを用いて、上述の発番ルールに従って生成されたグループIDをユーザに提示する。そして、グループID選択部320cは、変更対象グループIDの選択および新グループIDの選択を、ユーザから受け付ける。そして、グループID選択部320cは、問合せID生成部420に対して、選択された変更対象グループIDを出力し、問合せIDの生成を指示する。更に、グループID選択部320cは、選択された新グループIDを、データ暗号化部450bへ出力し、暗号化を指示する。
【0233】
この結果、ID変更指示および新グループIDを含むデータが暗号化され、送信される。
【0234】
ID登録部340cは、実施の形態1のID登録部340と同様の機能を有する。ID登録部340cは、割り当て済みの端末IDと重複しないように、受信端末500cに対して、端末IDを割り当てる。
【0235】
具体的には、例えば、ID登録部340cは、ID変更指示に対する応答として送信された上りメッセージに含まれる、受信端末が新たに生成した端末IDの候補(以下「新端末ID」という)の重複を調べる。新端末IDが登録されている他の端末IDと重複している場合には、ID登録部340cは、登録失敗をユーザおよび受信端末に通知する。また、ID登録部340cは、新端末IDが登録されている他の端末IDと重複していない場合には、登録成功をユーザおよび受信端末に通知して、その端末IDの候補をID管理部310cに変更後の端末IDとして登録する。
【0236】
このような送信端末400cは、グループ単位で、各受信端末に対して、端末IDの生成を一括で指示し、秘匿化された状態での暗号鍵の共有を可能にするような端末ID(グループID)を登録することができる。すなわち、送信端末400cは、同一グループ内の複数の受信端末の端末IDを、一括で変更することができる。
【0237】
図23は、本実施の形態に係る受信端末の構成を示すブロック図であり、実施の形態2の図14に対応するものである。図14と同一部分には同一符号を付し、これについての説明を省略する。
【0238】
図23において、受信端末500cは、端末ID生成部330cを更に有する。
【0239】
なお、本実施の形態において、受信データ記録部550aは、下りメッセージの暗号化データ部分に含まれている新グループIDを、受信データと共に記録する。そして、受信データ記録部550aは、受信データにID変更指示が含まれていた場合、端末ID生成部330cに対して、新グループIDを出力し、当該新グループIDに属する端末IDの生成を指示する。
【0240】
端末ID生成部330cは、実施の形態1の端末ID生成部330と同様の機能を有する。端末ID生成部330cは、受信端末500c(自端末)に対して、上述の発番ルールに従って、新グループIDに属する端末IDを生成する。
【0241】
具体的には、例えば、端末ID生成部330cは、受信データ記録部550aからの指示を受けて、入力された新グループIDに属する端末IDを、発番ルールに従って生成する。そして、端末ID生成部330cは、生成した端末IDにより、端末ID保持部510が保持する端末IDを更新する。
【0242】
なお、受信データ記録部550aは、受信データに、自端末が生成した新端末IDの登録が失敗した旨の通知が含まれていたとき、端末ID生成部330cに対して、直前の端末IDに戻させることが望ましい。
【0243】
以上で、本実施の形態に係る各装置の構成についての説明を終える。
【0244】
次に、本実施の形態に係る各装置の動作について説明する。
【0245】
図24は、本実施の形態に係る受信端末の動作の一例を示すフローチャートであり、実施の形態2の図16に対応するものである。図16と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0246】
受信データ記録部550aは、自端末宛の下りメッセージに含まれていた受信データを記録すると(S3100)、ステップS3111cへ進む。
【0247】
ステップS3111cにおいて、受信データ記録部550aは、新たに記録した受信データが、ID変更指示であるか否かを判断する。受信データ記録部550aは、受信データがID変更指示ではない場合(S3111c:NO)、ステップS3020へ進む。また、受信データ記録部550aは、受信データがID変更指示である場合(S3111c:YES)、ステップS3113cへ進む。なお、受信データ記録部550aは、受信データが他の指示を含む場合には、その指示に応じた処理を行う。
【0248】
そして、ステップS3113cにおいて、端末ID生成部330cは、マスク値ブロック対を用いて、ランダムブロックを生成する。
【0249】
そして、ステップS3114cにおいて、端末ID生成部330cは、新グループIDとランダムブロックとの排他的論理和結果を、端末IDとして生成する。そして、端末ID生成部330cは、生成した端末IDで、端末ID保持部510が保持する端末IDを更新して、図16のステップS3120aへ進む。この結果、更新後の端末ID(以下「新端末ID」という)は、データ暗号化部570aで暗号化され、送信端末400cへ送信される。但し、端末ID保持部510は、変更後の端末IDが登録されるとは限らないため、登録確定の下りメッセージが送信端末400から返信されるまで、変更前の端末IDを併せて保持する。
【0250】
このような動作により、受信端末500cは、自端末が属するグループに対して送信端末400cからのID変更指示があったとき、指定された新グループIDに属する新端末IDを生成し、秘匿化された状態で送信端末400cへ送信することができる。また、受信端末500cは、秘匿化された状態での暗号鍵の共有を可能にするような、端末IDの生成を行うことができる。
【0251】
図25は、送信端末の動作の一例を示すフローチャートであり、実施の形態2の図15に対応するものである。図15と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【0252】
データ暗号化部450aは、問合せIDおよび暗号鍵を生成すると(S2051a)、ステップS2053cへ進む。
【0253】
ステップS2053cにおいて、データ暗号化部450aは、ID変更指示の通信データおよびチェックサムから、暗号鍵を用いて、暗号化データを生成する。そして、送信端末400cは、ステップS2070aを経て、ステップS2110cへ進む。
【0254】
ステップS2110cにおいて、ID登録部340cは、上りデータにおいて新端末IDを受信したか否かを判断する。具体的には、ID登録部340cは、上りデータに含まれていた通信データに、ID変更指示に対応する新端末IDが含まれているか否かを判断する。ID登録部340cは、新端末IDを受信していない場合(S2110c:NO)、ステップS2020へ進む。また、ID登録部340cは、新端末IDを受信した場合(S2110c:YES)、ステップS2120cへ進む。
【0255】
ステップS2120cにおいて、ID登録部340cは、ID管理部310cに問い合わせて、新端末IDに、既に登録されている端末IDとの重複があるか否かを判断する。ID登録部340は、ID端末の重複がない場合(S2120c:NO)、ステップS2130cへ進む。また、ID登録部340cは、ID端末の重複がある場合(S2120c:YES)、ステップS2140cへ進む。
【0256】
ステップS2130cにおいて、ID登録部340cは、受信した新端末IDをID管理部310cに登録して、当該受信端末500に端末IDを割り当てて、ステップS2020へ進む。
【0257】
また、ステップS2140cにおいて、ID登録部340は、受信した新端末IDをID管理部310cに登録せず、ユーザおよび受信端末500cに対して登録失敗となった旨を通知する。この結果、送信端末400cは、再度、ID変更指示をブロードキャストすることになる。
【0258】
このような動作により、送信端末400cは、グループを指定して、秘匿化された状態で、ID生成指示を行うことができる。また、送信端末400cは、受信端末500c側で生成される端末IDが重複しないように、端末IDの登録を行うことができる。
【0259】
以上のように、本実施の形態に係る送信端末400cおよび受信端末500cを有する通信システムは、送信端末400c側から、特定のグループに属する受信端末500cに対して、上述の発番ルールに沿ったグループID変更および端末ID変更を一括で指示することができる。また、これにより、本通信システムは、各受信端末500cの端末IDを、時限付きIDにすることが容易となり、通信のセキュリティを更に向上させることができる。
【0260】
なお、本実施の形態において、送信端末400cは、グループを指定してID変更指示を行ったが、実施の形態3と同様に、受信端末500cを指定して受信端末500c単位でID変更を行ってもよい。
【0261】
また、端末IDの生成および変更は、送信端末400cが行ってもよい。この場合、端末ID生成部330cは、送信端末400cに配置される。送信端末400cのデータ暗号化部450aは、受信端末500cの現在の端末IDと、新端末IDと、当該新端末IDへの変更の指示とを含むデータを、暗号化する。そして、受信端末500cの受信データ記録部550aは、受信データに含まれる当該指示に従って、端末ID保持部510の端末IDを更新する。
【0262】
また、ID管理部310cは、端末ID変更指示装置700cなど、他の装置に設けられていてもよい。
【0263】
また、送信端末400cは、グループIDはそのままで、端末IDのみを変更するようにしてもよい。この場合の変更において、発番ルールは、変更前の端末IDが属するグループIDとの排他的論理和結果がマスク値ブロックのみの連結から成るようなビット列を、新端末IDとして生成する規則となる。
【0264】
(実施の形態5)
本発明の実施の形態5は、受信端末の位置など、暗号鍵を共有すべき受信端末(通信データを送信すべき受信端末)の条件に基づいて、宛先端末を決定する例である。本実施の形態に係る送信端末および受信端末は、実施の形態1の図1と同様の通信システムにおいて用いられるものである。また、本実施の形態において、端末IDは、グループIDと一致するものとする。また、グループIDの割り当ては、可変であるものとする。
【0265】
図26は、本実施の形態に係る送信端末の構成を示すブロック図であり、実施の形態2の図11に対応するものである。図11と同一部分には同一符号を付し、これについての説明を省略する。
【0266】
図26において、送信端末400dは、条件取得部480dを更に有する。なお、送信端末400dは、実施の形態1〜実施の形態4で説明した各装置部を有し得るが、その図示および説明を省略する。
【0267】
本実施の形態において、送信端末400dは、通信指示装置700aから、受信端末への送信の対象となる通信データと併せて、宛先端末の端末状態の条件(以下「端末条件」という)を受け付けるものとする。ここでは、端末状態とは、位置情報、気温、電池残量など、時間に応じて変化し得る、受信端末ごとに定まる状態をいうものとする。具体的には、送信端末400dは、通信データと端末条件との組を、通信指示装置700aから入力する。本実施の形態においては、端末条件として位置情報が入力される場合について説明する。
【0268】
条件取得部480dは、暗号鍵を共有すべき受信端末の端末状態の条件(端末条件)を取得し、取得した条件の端末状態を示すビット列を、受信端末のID(本実施の形態ではグループID)として、問合せID生成部420へ出力する。
【0269】
具体的には、例えば、条件取得部480dは、入力され得る位置情報とグループIDとの対応関係を記述した、ID変換テーブルを予め格納している。条件取得部480dは、通信指示装置700aから、端末条件とて位置情報が入力されるごとに、ID変換テーブルを用いて、入力された位置情報をグループIDに変換する。そして、条件取得部480dは、変換により得られたグループIDを、通信指示装置700aから指定されたグループIDとして、問合せID生成部420へ出力する。
【0270】
図27は、ID変換テーブルの構成の一例を示す図である。
【0271】
図27に示すように、ID変換テーブル840は、位置情報841とグループID842とを対応付けて記述する。なお、位置情報841は、地区名称に限定されず、緯度経度情報などの他の情報であってもよいが、条件取得部480dが取得する位置情報から一意に特定される情報である。
【0272】
例えば、通信指示装置700aは、品川区内のセンサから測定データを取得使用とする場合、「品川区」という位置情報と、上りデータ送信指示とを、送信端末400dへ出力する。この場合、条件取得部480dは、「品川区」という位置情報に対応する「000 000 010」というグループIDを、問合せID生成部420へ出力する。
【0273】
このような送信端末400dは、端末条件に対応するグループを宛先として、通信データを送信することができる。
【0274】
図28は、本実施の形態に係る受信端末の構成を示すブロック図であり、実施の形態2の図14に対応するものである。図14と同一部分には同一符号を付し、これについての説明を省略する。
【0275】
図28において、受信端末500dは、端末状態取得部595dを有する。なお、受信端末500dは、実施の形態1〜実施の形態4で説明した各装置部を有し得るが、その図示および説明を省略する。
【0276】
端末状態取得部595dは、送信端末400dと同一のID変換テーブル(図27参照)予め格納する。端末状態取得部595dは、送信端末400dにおいて宛先端末の条件として指定され得る端末状態(本実施の形態では位置情報)を、例えば定期的に取得する。そして、端末状態取得部595dは、ID変換テーブルを用いて、取得した端末状態をグループIDに変換し、端末IDとして、端末ID保持部510に保持させる。
【0277】
例えば、受信端末500dを携帯するユーザが品川区内に居る場合、端末状態取得部595dは、「品川区」という位置情報を取得する。そして、端末状態取得部595dは、取得した「品川区」という位置情報に対応する「000 000 010」というグループIDを、端末ID保持部510へ出力する。
【0278】
このような受信端末500dは、送信端末400d側で指定した端末状態に該当する場合に、送信端末400dから送信された通信データを受信することができる。
【0279】
以上のように、本実施の形態に係る送信端末400dおよび受信端末500dを有する通信システムは、暗号鍵および通信データの送信先を、端末状態に基づいて指定することができる。
【0280】
なお、送信端末400dは、通信データの送信先としてではなく、上りデータ送信指示の対象として、受信端末500dを動的に指定してもよい。また、送信端末400dは、単に暗号鍵の送信先を、端末状態に基づいて指定してもよい。
【0281】
また、以上説明した実施の形態1〜実施の形態5において説明した所定のビットサイズやビット位置対応関係は、上述の例に限定されない。
【0282】
また、本発明に係る送信端末、受信端末、ID発番装置、および鍵送信方法は、上述のセンサシステム以外にも、特定多数の装置間で暗号鍵を共有して通信を行う各種のシステムに適用することができる。本発明が好適なシステムとしては、例えば、家庭用水道メータの検針メータ読み取りシステム、小学校における点呼システム、家電機器の電力使用量読み取りシステム、道路走行車両に対する渋滞情報配信システムが挙げられる。
【産業上の利用可能性】
【0283】
本発明に係る送信端末、受信端末、ID発番装置、および鍵送信方法は、特定多数の装置間で暗号鍵を共有して通信を行うシステムにおいて、暗号鍵を少ないリソースで、かつセキュアに共有することができる送信端末、受信端末、ID発番装置、および鍵送信方法として有用である。
【符号の説明】
【0284】
100 通信システム
200 通信ネットワーク
300 ID発番装置
310、310c ID管理部
320、320c グループID選択部
330、330c 端末ID生成部
340、340c ID登録部
400、400a、400b、400c、400d 送信端末
410 ランダムブロック生成部
420 問合せID生成部
430、580a 送信部
440a 暗号鍵生成部
450a、450b、570a データ暗号化部
460a、520 受信部
470a データ復号部
480d 条件取得部
500、500a、500b、500c、500d 受信端末
510 端末ID保持部
525 問合せID解析部
530 暗号鍵抽出部
540a データ復号部
550a 受信データ記録部
560a 端末データ保持部
590b 端末ID確認部
595d 端末状態取得部
700a 通信指示装置
700c 端末ID変更指示装置

【特許請求の範囲】
【請求項1】
暗号鍵の送信を行う送信端末であって、
マスク値ブロックをランダムに選択して連結したランダムブロックを生成するランダムブロック生成部と、
前記暗号鍵を共有すべき受信端末のIDと前記ランダムブロックとの排他的論理和結果に対して、所定の鍵埋め込みルールに従って前記暗号鍵を埋め込んで得られるビット列を、問合せIDとして生成する問合せID生成部と、
前記問合せIDを、前記受信端末を含む複数の装置に対して送信する送信部と、を有し、
前記所定の鍵埋め込みルールは、
予め定められた、前記暗号鍵のビット位置と前記排他的論理和結果を分割したブロックの位置との間のブロック位置対応関係、および、前記暗号鍵のビット値と前記ブロック内のビット位置との間のビット位置対応関係において、前記暗号鍵の各ビット値に対応する、ビット位置の値を反転させる規則である、
送信端末。
【請求項2】
ランダムなビット列を前記暗号鍵として生成する暗号鍵生成部、を更に有する、
請求項1記載の送信端末。
【請求項3】
前記IDは、前記受信端末が属するグループのグループIDであって、他のグループのグループIDとの排他的論理和結果が反転値ブロックのみの連結から成らないようなビット列であり、
前記送信部は、前記問合せIDを、前記受信端末が属するグループの装置および前記他のグループの装置に対して送信する、
請求項1記載の送信端末。
【請求項4】
誤り検出符号が付加された通信データを、前記暗号鍵を用いて暗号化して、暗号化データを生成するデータ暗号化部、を更に有し、
前記送信部は、
前記問合せIDと前記暗号化データとを含む下りメッセージを生成し、前記複数の装置に対して送信する、
請求項1記載の送信端末。
【請求項5】
前記通信データと、前記通信データの宛先となる前記受信端末を個別に指定するデータとを、前記暗号鍵を用いて暗号化して、前記暗号化データを生成するデータ暗号化部、を更に有し、
前記送信部は、
前記問合せIDと前記暗号化データとを含む下りメッセージを生成し、前記複数の装置に対して送信する、
請求項1記載の送信端末。
【請求項6】
前記受信端末から、通信データを暗号化した暗号化データを含む上りメッセージを受信する受信部と、
前記上りメッセージに含まれる暗号化データを、前記暗号鍵を用いて復号するデータ復号部と、を更に有する、
請求項1記載の送信端末。
【請求項7】
前記通信データは、前記通信データを受信した前記受信端末のグループIDおよび端末IDを、新たなグループIDと、所定の発番ルールに従って新たに生成した端末IDとに変更することの指示を含み、
前記所定の発番ルールは、
前記新たなグループIDとの排他的論理和結果がマスク値ブロックのみの連結から成るようなビット列を、新端末IDとして生成する規則である、
請求項4記載の送信端末。
【請求項8】
前記暗号鍵を共有すべき受信端末の端末状態の条件を取得し、取得した条件の端末状態を示すビット列を、前記受信端末のIDとして前記問合せID生成部へ出力する条件取得部、を更に有する、
請求項1記載の送信端末。
【請求項9】
暗号鍵の受信を行う受信端末であって、
前記受信端末に割り当てられた端末IDを保持する端末ID保持部と、
自端末を宛先に含む情報を受信する受信部と、
前記受信部を介して、請求項3記載の送信端末から、前記問合せIDを受信する問合せID解析部と、
前記問合せIDと前記端末IDとの排他的論理和結果から、所定の鍵抽出ルールに従って前記暗号鍵の抽出を行う暗号鍵抽出部と、を有し、
前記端末IDは、
前記受信端末が属するグループのグループIDとの排他的論理和結果が前記マスク値ブロックのみの連結から成るようなビット列であり、
前記所定の鍵抽出ルールは、
前記問合せIDと前記端末IDとの排他的論理和結果に対して、前記ブロック位置対応関係および前記ビット位置対応関係を適用したときに基の暗号鍵として得られるビット列を、前記暗号鍵として取得する規則である、
受信端末。
【請求項10】
前記問合せID解析部は、
前記送信端末から、前記問合せIDと暗号化データとを含む下りメッセージを受信し、
前記下りメッセージに含まれる暗号化データを、前記暗号鍵を用いて復号するデータ復号部と、
復号されたデータである通信データを記録する受信データ記録部と、を更に有し、
前記データ復号部は、
前記通信データから誤りが検出されたとき、前記暗号鍵を破棄する、
請求項9記載の受信端末。
【請求項11】
前記問合せID解析部は、
前記送信端末から、前記問合せIDと暗号化データとを含む下りメッセージを受信し、
前記下りメッセージに含まれる暗号化データを、前記暗号鍵を用いて復号するデータ復号部と、
復号されたデータが、自己の宛先として前記受信端末を指定しているか否かを判断する端末ID確認部と、
復号されたデータが、自己の宛先として前記受信端末を指定していることを条件として、前記復号されたデータを、受信データとして記録する受信データ記録部と、を更に有し、
前記受信データ記録部は、
前記受信データが、自己の宛先を指定し、かつ、当該宛先に前記受信端末が含まれないとき、前記受信データを記録しない、
請求項9記載の受信端末。
【請求項12】
前記受信端末の状態を取得し、取得した状態を示すビット列を、前記受信端末の端末IDに設定する端末状態取得部、を更に有する、
請求項9記載の受信端末。
【請求項13】
前記暗号鍵を用いて、通信データを暗号化して、暗号化データを生成するデータ暗号化部と、
前記暗号化データを含む上りメッセージを生成し、前記送信端末に対して送信する送信部と、を更に有する、
請求項9記載の受信端末。
【請求項14】
請求項1記載の送信端末から前記問合せIDを受信する受信端末に対して端末IDの発番を行うID発番装置であって、
割り当て済みの端末IDを管理するID管理部と、
所定の発番ルールに従って、グループIDを選択するグループID選択部と、
前記所定の発番ルールに従って、前記グループIDに属する端末IDを生成する端末ID生成部と、
割り当て済みの端末IDと重複しないように、前記受信端末に対して前記端末IDを割り当てるID登録部と、を有し、
前記所定の発番ルールは、
他のグループIDとの排他的論理和結果が反転値ブロックのみの連結から成らないようなビット列であるグループIDを選択し、選択されたグループIDとの排他的論理和結果がマスク値ブロックのみの連結から成るようなビット列を、端末IDとして生成する規則である、
ID発番装置。
【請求項15】
暗号鍵の送信を行う送信端末における鍵送信方法であって、
マスク値ブロックをランダムに選択して連結した、ランダムブロックを生成するステップと、
前記暗号鍵を共有すべき受信端末のIDと前記ランダムブロックとの排他的論理和結果に対して、前所定の鍵埋め込みルールに従って前記暗号鍵を埋め込んで得られるビット列を、問合せIDとして生成するステップと、
前記問合せIDを、前記受信端末を含む複数の受信端末に対して送信するステップと、を有し、
前記所定の鍵埋め込みルールは、
予め定められた、前記暗号鍵のビット位置と前記排他的論理和結果を分割したブロックの位置との間のブロック位置対応関係、および、前記暗号鍵のビット値と前記ブロック内のビット位置との間のビット位置対応関係において、前記暗号鍵の各ビット値に対応する、ビット位置の値を反転させる規則である、
鍵送信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate