図面 (/)

技術 ネットワークにわたって暗号鍵を更新するためのシステムおよび方法

出願人 ランディス・ギアイノベーションズインコーポレイテッド
発明者 デメテル,マイケルチャスコ,スティーブン
出願日 2014年11月11日 (4年8ヶ月経過) 出願番号 2016-530855
公開日 2016年12月1日 (2年7ヶ月経過) 公開番号 2016-537888
状態 特許登録済
技術分野 暗号化・復号化装置及び秘密通信
主要キーワード 公益事業会社 例示的実施 公共事業 電源喪失 資源提供者 満了期間 回復プロセス 定期的な間隔
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年12月1日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題・解決手段

ステムおよび方法が、ネットワークにわたる複数のクライアントデバイスのうちの1つとしてのクライアント・デバイスによって後続暗号鍵を生成するために提供される。各クライアント・デバイスは、認証サーバから同じ鍵生成情報および同じ鍵セットアップ情報を提供される。各クライアント・デバイスは、それ自身の鍵生成情報および鍵セットアップ情報を保持および記憶する。各クライアント・デバイスは、それ自身の情報を使用し、デバイスにわたり共通のまたは同じ後続の暗号鍵を生成する。これらの後続の暗号鍵は、認証サーバまたはその他のクライアント・デバイスからのさらなる命令または情報なしに、デバイスにわたり同じに生成および保持される。さらに、クライアント・デバイスは、情報を別のクライアント・デバイスと同期させることによって、現在の暗号鍵を回復することができる。

概要

背景

暗号鍵は、ネットワーク内のデバイスの間で安全に通信するために使用することができる。安全性を高めるために、暗号鍵は、現在の暗号鍵からは容易に判らない方式で定期的に変更される必要がある。いくつかのネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、各デバイスに更新された暗号鍵を送信することによって、鍵を定期的に更新する。他のネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、ネットワーク内のデバイスにコマンドを定期的に送信して、所定の方式で暗号鍵を更新するようにデバイスに指示する。これらの状況のいずれでも、暗号鍵の更新は、認証サーバからネットワークをわたってすべてのデバイスに至る通信を必要とする。大きなネットワークで、これは、大きな帯域幅を必要とし、ネットワークの性能に悪影響を及ぼす。

概要

ステムおよび方法が、ネットワークにわたる複数のクライアント・デバイスのうちの1つとしてのクライアント・デバイスによって後続の暗号鍵を生成するために提供される。各クライアント・デバイスは、認証サーバから同じ鍵生成情報および同じ鍵セットアップ情報を提供される。各クライアント・デバイスは、それ自身の鍵生成情報および鍵セットアップ情報を保持および記憶する。各クライアント・デバイスは、それ自身の情報を使用し、デバイスにわたり共通のまたは同じ後続の暗号鍵を生成する。これらの後続の暗号鍵は、認証サーバまたはその他のクライアント・デバイスからのさらなる命令または情報なしに、デバイスにわたり同じに生成および保持される。さらに、クライアント・デバイスは、情報を別のクライアント・デバイスと同期させることによって、現在の暗号鍵を回復することができる。

目的

本発明を限定または定義するためにではなくて、本願で開示される本発明の概念の理解を助けるための例を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

クライアントデバイスによって暗号鍵を生成するための方法であって、前記クライアント・デバイスが、ネットワーク内の複数のクライアント・デバイスのうちの1つであり、各クライアント・デバイスが、導出方法および導出インデックス調整のためのコンピュータ実行可能命令を含む鍵生成情報を提供され、認証サーバと前記クライアント・デバイスとの間に安全なチャネル確立するステップと、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む、鍵セットアップ情報を前記安全なチャネルを介して前記認証サーバから受信するステップと、前記クライアント・デバイスが前記鍵セットアップ情報を受信するのに応答して、前記導出方法、前記導出鍵、および前記導出インデックスを使用して最初の暗号鍵を生成するステップであり、前記クライアント・デバイスが、前記最初の暗号鍵を使用して、前記最初の満了期間の終了に先立って前記ネットワークにわたる前記複数のクライアント・デバイスのうちの少なくとも1つへのメッセージを暗号化する、ステップと、前記クライアント・デバイスが前記最初の満了期間が終了したと判定するのに応答して、前記導出インデックス調整によって前記認証サーバから前もって受信された前記導出インデックスを調整することによって現在の導出インデックスを生成するステップと、前記最初の満了期間および前記認証サーバから前もって受信された前記満了間隔に基づいて現在の満了期間を生成するステップと、前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して後続の暗号鍵を生成するステップであり、前記後続の暗号鍵が、前記現在の満了期間が終了するまで有効である、ステップとを含む、方法。

請求項2

前記現在の満了期間が終了したと前記クライアント・デバイスが判定するのに応答して、前記導出インデックス調整によって前記現在の導出インデックスを調整するステップと、前記認証サーバから前もって受信された前記満了間隔によって前記現在の満了期間を更新するステップと、前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して次の後続の暗号鍵を生成するステップであり、前記次の後続の暗号鍵が、前記現在の満了期間が終了するまで有効である、ステップとをさらに含む、請求項1に記載の方法。

請求項3

前記クライアント・デバイスが、公共事業メータである、請求項1に記載の方法。

請求項4

前記導出方法および前記導出インデックス調整が、インストールまたは製造中に各々の前記クライアント・デバイスに提供される、請求項1に記載の方法。

請求項5

前記導出方法が、疑似ランダム関数に基づく、請求項1に記載の方法。

請求項6

前記最初の暗号鍵および前記後続の暗号鍵が、それらが所定の長さを超えるときに、前記クライアント・デバイスによって前記所定の長さに切り詰められる、請求項1に記載の方法。

請求項7

前記鍵セットアップ情報が、反復の回数をさらに含み、前記最初の暗号鍵または前記後続の暗号鍵を生成するステップが、前記反復の回数前記疑似ランダム関数を繰り返すステップをさらに含む、請求項5に記載の方法。

請求項8

前記疑似ランダム関数が、SHA−256ベースのHMACである、請求項7に記載の方法。

請求項9

前記導出インデックスが整数であり、前記クライアント・デバイスが、前記導出方法で前記導出インデックスを使用する前に前記整数を2進列に変換する、請求項1に記載の方法。

請求項10

前記最初の暗号鍵を生成するステップが、前記導出方法でラベルを使用するステップをさらに含む、請求項1に記載の方法。

請求項11

第2のクライアント・デバイスから第1のクライアント・デバイスによって現在の暗号鍵を回復するための方法であって、前記第1のクライアント・デバイスが第1の現在の暗号鍵を記憶し、第1の鍵情報が、第1の現在の導出インデックス、第1の導出鍵、第1の導出方法、第1の導出インデックス調整、第1の現在の満了期間、および満了間隔を含み、前記第2のクライアント・デバイスが第2の現在の暗号鍵を記憶し、前記第2のクライアント・デバイスによって送信される暗号化されたメッセージであり、前記第2の現在の暗号鍵を使用して暗号化された前記メッセージを前記第1のクライアント・デバイスによって受信するステップと、前記第1の現在の暗号鍵が前記第2のクライアント・デバイスから受信された前記メッセージの検証に失敗したという前記第1のクライアント・デバイスによる判定に応答して、前記第1の導出方法、前記第1の導出鍵、および前記第1の導出インデックス調整によってインクリメントされた前記第1の現在の導出インデックスを使用してトライアル暗号鍵を生成するステップと、前記トライアル暗号鍵が前記第2のクライアント・デバイスから受信された前記メッセージの検証に成功したという前記第1のクライアント・デバイスによる判定に応答して、前記第1の現在の暗号鍵を前記トライアル暗号鍵で置き換えるステップと、前記第1の現在の導出インデックスを前記第1の導出インデックス調整によってインクリメントすることによって前記第1の現在の導出インデックスを調整するステップと、前記満了間隔によって前記第1の現在の満了期間を調整するステップとを含む、方法。

請求項12

前記トライアル暗号鍵が、前記第2のクライアント・デバイスから受信された前記メッセージの検証に失敗したという前記第1のクライアント・デバイスによる判定に応答して、前記第1の導出方法、前記第1の導出鍵、および前記第1の導出インデックス調整によってデクリメントされた前記第1の現在の導出インデックスを使用して第2のトライアル暗号鍵を生成するステップと、前記第2のトライアル暗号鍵が前記第2のクライアント・デバイスから受信された前記メッセージの検証に成功したという前記第1のクライアント・デバイスによる判定に応答して、前記第1のクライアント・デバイスが、前記第1の現在の暗号鍵を使用して暗号化された前記第2のクライアント・デバイスへのメッセージを送信するステップとをさらに含む、請求項11に記載の方法。

請求項13

前記第2のトライアル暗号鍵が、前記第2のクライアント・デバイスから受信された前記メッセージの検証に失敗したという前記第1のクライアント・デバイスによる判定に応答して、前記第1の導出方法、前の第1の導出鍵、および前記第1の現在の導出インデックスを使用して第3のトライアル暗号鍵を生成するステップと、前記第3のトライアル暗号鍵が前記第2のクライアント・デバイスから受信された前記メッセージの検証に成功したという前記第1のクライアント・デバイスによる判定に応答して、前記第1のクライアント・デバイスが、前記第3のトライアル暗号鍵を使用して暗号化された前記第2のクライアント・デバイスへのメッセージを送信するステップであり、前記メッセージが、前記第1の導出鍵、前記第1の現在の導出インデックス、および前記第1の現在の満了期間を含む、ステップとをさらに含む、請求項12に記載の方法。

請求項14

停電を経験し、現在のデバイス時間を有さないクライアント・デバイスによって現在の暗号鍵を回復するための方法であって、前記クライアント・デバイスが、導出方法および導出インデックス調整のためのコンピュータ実行可能命令を含む鍵生成情報と、導出鍵、現在の導出インデックス、現在の満了期間および満了間隔を含む鍵セットアップ情報とを記憶し、現在の時間を含む暗号化されたメッセージを受信するステップと、前記暗号化されたメッセージが、前記現在の暗号鍵を使用して検証できないという判定に応答して、受信された前記現在の時間、前記現在の満了期間、および前記満了間隔を使用して、前記停電以降に経験された間隔の数を判定するステップと、前記停電以降に終了した前記間隔の数によって前記現在の導出インデックスを調整するステップと、前記導出方法、前記導出鍵および前記現在の導出インデックスを使用して後続の暗号鍵を生成するステップと、前記暗号化されたメッセージが、前記後続の暗号鍵を使用して検証することができたという判定に応答して、前記現在のデバイス時間を受信された前記現在の時間にセットするステップと、前記現在の暗号鍵を前記後続の暗号鍵に更新するステップと、終了した前記間隔の数に基づいて前記現在の満了期間を調整するステップとを含む、方法。

請求項15

前記暗号化されたメッセージが、前記後続の暗号鍵を使用して検証できないという判定に応答して、ランダムな時間に前記クライアント・デバイスと認証サーバとの間に安全なチャネルを確立するステップと、前記安全なチャネルを介して鍵セットアップ情報を前記認証サーバから受信するステップと、前記認証サーバから受信された前記鍵セットアップ情報を使用して前記現在の暗号鍵を生成するステップとをさらに含む、請求項14に記載の方法。

請求項16

プロセッサおよびプロセッサ・ユニットメモリを含むプロセッサ・ユニットであり、前記プロセッサ・ユニット・メモリが、クライアント・デバイスの初期化のためのコンピュータ実行可能命令と導出方法および導出インデックス調整を含む鍵生成情報とを含み、前記プロセッサが、認証サーバからの鍵セットアップ情報であり、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む前記鍵セットアップ情報を含む通信であって、ネットワーク上の安全なチャネルを介する前記通信を受信することと、鍵セットアップ情報の受信に応答して、前記導出方法、前記導出鍵、および前記導出インデックスを使用して、前記最初の満了期間の終了に先立って前記ネットワークにわたる複数のクライアント・デバイスのうちの少なくとも1つのクライアント・デバイスへのメッセージを暗号化するために使用される最初の暗号鍵を生成することと、前記最初の満了期間が終了したという判定に応答して、前記導出インデックス調整によって前記認証サーバから前もって受信された導出インデックスを調整することによって現在の導出インデックスを生成することと、前記最初の満了期間および前記認証サーバから前もって受信された前記満了間隔に基づいて、現在の満了期間を生成することと、前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して、前記現在の満了期間が終了するまで有効な後続の暗号鍵を生成することとを行うために前記プロセッサ・ユニット・メモリからのコンピュータ実行可能命令を実行するように動作可能である、クライアント・デバイス。

請求項17

前記現在の満了期間が終了したという判定に応答して、前記導出インデックス調整によって前記現在の導出インデックスを調整することと、前記認証サーバから前もって受信された前記満了間隔によって前記現在の満了期間を更新することと、前記現在の満了期間が終了するまで有効な次の後続の暗号鍵を、前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して生成することとをさらに備える、請求項16に記載のクライアント・デバイス。

請求項18

前記導出インデックス調整が1であり、前記現在の導出インデックスが、前記導出インデックス調整による前記現在の導出インデックスのインクリメントに基づく、請求項17に記載のクライアント・デバイス。

請求項19

前記鍵生成情報が、前記クライアント・デバイスの初期化または製造のいずれかで提供される、請求項16に記載のクライアント・デバイス。

技術分野

0001

関連出願
本願は、参照により本明細書に組み込まれている、2013年11月15日に出願された、System and Method for Updating an Encription Key Across a Networkという名称の米国特許出願第61/904,829号の優先権を主張する。

0002

本開示は、概してネットワーク内のデバイスにわたって暗号鍵更新することに関し、より詳細には、デバイスで生成された鍵を更新された暗号鍵として使用することを対象とする。

背景技術

0003

暗号鍵は、ネットワーク内のデバイスの間で安全に通信するために使用することができる。安全性を高めるために、暗号鍵は、現在の暗号鍵からは容易に判らない方式で定期的に変更される必要がある。いくつかのネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、各デバイスに更新された暗号鍵を送信することによって、鍵を定期的に更新する。他のネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、ネットワーク内のデバイスにコマンドを定期的に送信して、所定の方式で暗号鍵を更新するようにデバイスに指示する。これらの状況のいずれでも、暗号鍵の更新は、認証サーバからネットワークをわたってすべてのデバイスに至る通信を必要とする。大きなネットワークで、これは、大きな帯域幅を必要とし、ネットワークの性能に悪影響を及ぼす。

課題を解決するための手段

0004

暗号鍵を生成し、クライアント・デバイスによってそれを更新するためのシステムおよび方法が開示される。暗号鍵は、定期的な間隔で各クライアント・デバイスによって独立して生成および更新されるが、それらの暗号鍵は、ネットワーク上のクライアント・デバイスにわたって共通であり続ける。

0005

例示的な方法で、各クライアント・デバイスは、導出方法および導出インデックス調整を含む鍵生成情報を提供される。安全なチャネルが、認証サーバとクライアント・デバイスとの間に確立される。認証サーバは、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む、鍵セットアップ情報を安全なチャネルを介して送信する。クライアント・デバイスは、それぞれの鍵生成情報および鍵セットアップ情報を保持および記憶するが、この情報は、クライアント・デバイスと認証サーバとの間の追加の通信なしにネットワーク内のデバイスにわたる安全な通信のために使用される後続の暗号鍵の生成を可能にするために、ネットワーク内のデバイスにわたり共通であり続ける。

0006

クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、クライアント・デバイスは、提供された導出方法と、導出鍵および導出インデックスを含む認証サーバから前もって受信された鍵セットアップ情報と、の少なくとも一部に基づいて、最初の暗号鍵を生成する。最初の暗号鍵は、ネットワークにわたる複数のクライアント・デバイスに共通であり、認証サーバから前もって受信された最初の満了期間の終了まで有効である。

0007

最初の満了期間が終了したというクライアント・デバイスの判定に応答して、クライアント・デバイスは、認証サーバから前もって受信された導出インデックスおよび導出インデックス調整に基づいて現在の導出インデックスを生成する。また、クライアント・デバイスは、最初の満了期間と認証サーバから受信された満了間隔とに基づいて、現在の満了期間を生成する。ここで、後続の暗号鍵が、提供された導出方法、認証サーバから前もって受信された導出鍵、および現在の導出インデックス、の少なくとも一部に基づいて、クライアント・デバイスによって生成される。各々の後続の暗号鍵は、暗号鍵がそのネットワークにわたるクライアント・デバイスに共通であり、現在の満了期間が終了するまで有効であるように、同様の方式で生成される。

0008

クライアント・デバイスが現在の満了期間が終了したと判定するのに応答して、クライアント・デバイスは、現在の満了期間および認証サーバから前もって受信された満了間隔に基づく値に現在の満了期間をリセットする。加えて、現在の導出インデックスが、現在の導出インデックスおよび導出インデックス調整に基づいて更新される。次の後続の暗号鍵が、更新された現在の導出インデックスを使用して生成され、現在の満了期間の終了まで有効である。

0009

また、認証サーバへのまたは認証サーバからの通信なしにクライアント・デバイスによって現在の暗号鍵を回復するための方法も開示される。例示的な方法は、クライアント・デバイスが、有効な現在の暗号鍵を生成するために、ネットワーク上のデバイスによって現在使用されている有効な現在の導出インデックスおよび有効な現在の満了期間にクライアント・デバイスの現在の導出インデックスおよびクライアント・デバイスの現在の満了期間を同期させるステップを含む。別の例示的な方法は、クライアント・デバイスが、現在の時間を含むメッセージを受信することによって、有効な現在の導出インデックス、現在の満了期間、および有効な現在の暗号鍵を生成するステップを含む。

0010

これらの例示的な態様および特徴は、本発明を限定または定義するためにではなくて、本願で開示される本発明の概念の理解を助けるための例を提供するために記載される。本発明の他の態様、利点、および特徴は、本願全体を検討した後に明らかとなろう。

0011

本開示のこれらのおよび他の特徴、態様、および利点は、以下のような添付の図面を参照して下記の発明を実施するための形態を読むときに、より深く理解される。

図面の簡単な説明

0012

ネットワークを介する認証サーバおよびクライアント・デバイスの構成を示す図である。
暗号鍵の生成および保持において認証サーバおよびクライアント・デバイスによって使用される情報を示す図である。
最初の暗号鍵および後続の暗号鍵の生成を示すフローチャートである。
クライアント・デバイスが暗号鍵を回復するステップを示すフローチャートである。
クライアント・デバイスが暗号鍵を回復するステップを示す図4Aのフローチャートの続きを示す図である。
クライアント・デバイスが停電の後に暗号鍵を回復するステップを示すフローチャートである。

実施例

0013

ネットワーク内のすべてのデバイスによって使用され得る、ネットワーク内のデバイスで最初の暗号鍵および後続の暗号鍵を生成するためのシステムおよび方法が提供される。ネットワーク上のこれらのデバイスの構成は、ネットワークを介して複数のクライアント・デバイスと通信する認証サーバを含む。ネットワークのデバイス(すなわち、認証サーバおよびクライアント・デバイス)は、有線および無線接続の両方を含む任意の既知の方式で接続することができ、IPプロトコルなどの任意の種類の通信プロトコルを使用することができる。

0014

複数のクライアント・デバイスは、ネットワークを介して互いにおよび認証サーバと通信する。ネットワーク内のデバイスは、同じ暗号鍵を使用し、したがって、デバイスにわたり共通の暗号鍵が、デバイス間の通信の安全性のために使用される。暗号鍵はまた、任意のクライアント・デバイスと認証サーバとの間の安全な通信のために使用され得る。

0015

暗号鍵生成
ネットワーク内の各々のクライアント・デバイスは、プロセッサおよびメモリを備える。各クライアント・デバイスには、導出アルゴリズムまたは方法および導出インデックス調整を含むがこれらに限定されない鍵生成情報が提供される。一つの実装形態では、導出方法は、NIST SP 800−108に基づく。他の実装形態では、導出方法は、FIPS 198−1に記載されるようなSHA−256ベースのHMACであることができる、疑似ランダム関数を使用することができる。しかし、他の疑似ランダム関数は、それらが暗号鍵の判定を困難にするのに十分なランダム化を提供する限り、使用され得る。たとえば、導出方法は、暗号鍵を生成するときにランダム化を導入するために、ストリングなどのラベルを使用することができる。鍵生成情報は、クライアント・デバイスの初期化の間にまたは製造中に提供されることができる。鍵生成情報は、各デバイスによってそれぞれのメモリ内に記憶される。

0016

ネットワーク上の認証サーバは、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む鍵セットアップ情報を、安全なチャネルを介して各クライアント・デバイスに送信する。提供された鍵生成情報のように、各クライアント・デバイスによって受信される鍵セットアップ情報もまた、各デバイスによってそれぞれのメモリに記憶される。

0017

クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、クライアント・デバイスは、独立して、最初の暗号鍵を生成する。最初の暗号鍵は、クライアント・デバイスに提供された導出方法と、導出鍵および認証サーバから前もって受信された導出インデックスを含むがこれらに限定されない鍵セットアップ情報と、の少なくとも一部に基づいて、各クライアント・デバイスによって生成される。

0018

各クライアント・デバイスは、同じ導出方法および同じ鍵セットアップ情報を提供されたので、各デバイスによって生成される最初の暗号鍵は、すべてのクライアント・デバイスについて共通または同一である。最初の暗号鍵は、各クライアント・デバイスに提供された最初の満了期間の終了まで有効である。直近に生成された暗号鍵は、メッセージを検証するために、そしてまたメッセージを暗号化および復号化するために、デバイスによって使用されるものであり、したがって、最初の暗号鍵が現在の暗号鍵でもよいことに留意されたい。「最初の暗号鍵」という専門用語が、異なる時間に生成される暗号鍵の生成の説明において容易に参照できるように本願では使用されている。

0019

認証サーバは、プロセッサおよびメモリを備え、各クライアント・デバイスによって独立して生成される最初の暗号鍵と、生成されるときに同一である最初の暗号鍵もまた生成する。これを行うために、認証サーバは、各クライアント・デバイスに提供される同じ鍵生成情報を提供される。認証サーバは、それ自体のメモリに鍵生成情報を記憶する。加えて、認証サーバは、それ自体のメモリに同じ鍵セットアップ情報を保持する。したがって、認証サーバは、提供された導出方法および鍵セットアップ情報の少なくとも一部に基づいて、最初の暗号鍵を生成することができる。認証サーバによって生成される最初の暗号鍵は、各クライアント・デバイスによって生成されるのと同一であり、最初の満了期間の終了まで有効である。

0020

複数のクライアント・デバイスおよび認証サーバを含むネットワーク上の各デバイスは、最初の暗号鍵を独立して生成する。各デバイスがそれぞれの最初の暗号鍵を独立して生成するが、すべてのデバイスの最初の暗号鍵は同一である。すべてのクライアント・デバイスによって受信され、認証サーバによって保持される最初の満了期間もまた同一であり、したがって、ネットワーク上のすべてのデバイスは同期され、最初の満了期間の最後まで最初の暗号鍵を使用して安全に通信することに留意されたい。

0021

デバイス、クライアント・デバイスまたは認証サーバのいずれかのデバイスが、最初の満了期間が終了したと判定するのに応答して、そのデバイスは、新しい暗号鍵を生成する。すべてのデバイスが、同一の最初の満了期間を使用して満了を判定するので、すべてのデバイスは、最初の満了期間が終了したと同時に判定する。最初の満了期間が終了すると、後続の暗号鍵を生成するために、いくつかのステップがデバイスによって実行される。現在の導出インデックスが、認証サーバから前もって受信された導出インデックスおよび提供された導出インデックス調整を使用し、各デバイスによって生成される。後続の暗号鍵の現在の満了期間が、最初の満了期間および認証サーバから前もって受信された満了間隔に基づいて生成される。

0022

現在の導出インデックスが生成されると、後続の暗号鍵が、提供された導出方法、認証サーバから前もって受信された導出鍵、および現在の導出インデックスの少なくとも一部に基づいて生成される。最初の暗号鍵のように、後続の暗号鍵が各デバイスによって独立して生成されたとしても、後続の暗号鍵はそのネットワーク内のデバイスにわたり同じである。直近に生成された後続の暗号鍵が、現在の暗号鍵になり得る。

0023

最初の暗号鍵と同様に、現在の暗号鍵は、現在の満了期間の最後まで有効である。すべてのデバイスによって生成される現在の満了期間は、最初の満了期間と認証サーバによって提供された満了間隔とを使用して生成されることに留意されたい。この情報は、各デバイスによって独立して記憶および保持されるが、それはネットワーク上のクライアント・デバイスに認証サーバによって提供されるため、その情報はデバイスにわたって同じである。したがって、ネットワーク上のすべてのデバイスは同期化され、現在の満了期間の最後まで現在の暗号鍵を使用して安全に通信する。

0024

デバイスが現在の満了期間が終了したと判定するのに応答して、そのデバイスは、前述と同じ方法を使用して別の新しい暗号鍵を生成する。これは導出インデックス調整によって現在の導出インデックスを更新するステップと、満了間隔によって現在の満了期間を更新するステップと、および導出方法、導出鍵、および更新された導出インデックスに基づいて次の後続の暗号鍵を生成するステップとを含む。次の後続の暗号鍵が現在の暗号鍵になり、更新された現在の満了期間まで有効になる。そして、再び、デバイスが更新された現在の満了期間が終了したと判定したとき、そのデバイスは、前述のように現在の暗号鍵になる次の後続の暗号鍵を生成する。

0025

各デバイスが、鍵生成情報と、鍵セットアップ情報と、現在の導出インデックスおよび現在の満了期間などの各デバイスによって生成されるその他の情報とを記憶および保持するため、現在の暗号鍵になり、現在の満了期間まで有効な後続の暗号鍵の生成のこの反復は、無期限に継続することができ、各デバイスによって独立して実行される。

0026

いくつかの実施形態で、最初の暗号鍵であっても後続の暗号鍵であっても、暗号鍵は、導出方法に基づいて生成される。すべてのデバイスは、一の導出方法を使用して共通の暗号鍵を生成することができる。当技術分野では知られているように、実行する反復の回数または生成する鍵の長さなど、追加情報が導出方法に提供され得る。使用される導出方法は、たとえ現在の暗号鍵が知られていても後続の暗号鍵の判定を困難にするのに十分なランダム化を提供しなくてはならない。追加情報が導出方法に提供される場合、各デバイスが暗号鍵を生成するために導出方法に提供することになる追加情報は、同一の暗号鍵がネットワーク上の複数のデバイスによって生成されることを保証するようなものでなければならない。

0027

他の実施形態で、導出方法の出力の長さが暗号鍵の所望の長さを超える場合、そのとき、クライアント・デバイスは、その導出方法の出力の一部のみを使用することができる。たとえば、所望の長さが128ビットであり、導出方法からの出力が256ビットである場合、そのとき、最初の128ビットが暗号鍵として使用され得る。所望の長さがあらかじめ定められており、導出方法および導出インデックス調整とともにデバイスに提供することができる。

0028

暗号鍵の回復
クライアント・デバイスのうちの1つが、現在の暗号鍵を使用して別のクライアント・デバイスからのメッセージを検証することができない場合、そのデバイスは現在の導出インデックスを同期させて有効な現在の暗号鍵を生成しようと試みることができる。現在の導出インデックスを同期させることによって、クライアント・デバイスは、認証サーバとのやり取りを必要とせずに、自身の現在の暗号鍵がその他のクライアント・デバイスの現在の暗号鍵と一致することを確実にすることができる。

0029

たとえば、デバイスAがメッセージをデバイスBに送信し、デバイスBがデバイスAからのメッセージを検証することができない場合、以下のステップが実行されてデバイスAおよびデバイスBの現在の導出インデックスを同期させることができる。本例では、現在の導出インデックスは、導出インデックス調整の値によってインクリメントされ、したがって、後続の暗号鍵の生成の反復ごとに、現在の導出インデックスは所定の量によってインクリメントする。この所定の量が、導出インデックス調整である。ステップは、以下のとおりである:

0030

*デバイスBが、デバイスAからメッセージを受信する。

0031

*デバイスBは、デバイスBの現在の暗号鍵を使用してデバイスAからのメッセージを検証することができない。

0032

*デバイスBは、導出インデックス調整によってインクリメントされた自身の現在の導出インデックスを使用して生成されたトライアル暗号鍵を使用して、メッセージの検証を試みる。したがって、デバイスBは、導出インデックス調整によってインクリメントされたそれ自体の導出インデックスを使用してトライアル暗号鍵を生成する。デバイスAからのメッセージの検証が、トライアル暗号鍵を使用して成功した場合、デバイスBは、それ自身の現在の暗号鍵としてトライアル暗号鍵を採用し、自身の現在の導出インデックスとしてインクリメントされた導出インデックスを採用する。デバイスBがデバイスAから受信したメッセージが、Bの現在の導出インデックスを更新するための情報を含む場合、デバイスBは、デバイスAから受信されたメッセージの処理を停止する。

0033

* Aからのメッセージの検証が、Bの現在の導出インデックスをインクリメントすることによって生成されたトライアル暗号鍵を使用して成功しない場合、次いで、デバイスBは、導出インデックス調整によってデクリメントされた自身の現在の導出インデックスを使用して異なるトライアル暗号鍵を生成する。したがって、Bは、導出インデックス調整によってデクリメントされたそれ自身の導出インデックスを使用してトライアル暗号鍵を生成する。このトライアル暗号鍵を使用するデバイスAからのメッセージの検証の成功は、デバイスAが、自身の現在の導出インデックスとして導出インデックスの前の値を使用していることを示す。デバイスBは、デバイスBの現在の暗号鍵で暗号化されたメッセージをデバイスAに送信することになる。デバイスAがこのメッセージをデバイスBから受信するとき、デバイスAはこのメッセージを検証することができないことになり、デバイスAはそれ自身の暗号鍵回復を開始することになる。

0034

* Aからのメッセージの検証が、Bの現在の導出インデックスをデクリメントすることによって生成されたトライアル暗号鍵を使用して成功しない場合、次いで、デバイスBは、前の導出鍵およびそれの現在の導出インデックスを使用して異なるトライアル暗号鍵を生成する。デバイスBが前の導出鍵を有さない場合、デバイスBは、デバイスAからのメッセージを無視する。デバイスAからのメッセージの検証が、前の導出鍵を使用して生成されたトライアル暗号鍵を使用して成功した場合、デバイスAは、前の導出鍵を使用していることとなる。デバイスBは、トライアル暗号鍵を使用して暗号化された自身の導出鍵を更新するために、デバイスAにメッセージを送信し、従って、デバイスAは、このメッセージを検証することができる。

0035

* Aからのメッセージの検証が、前の導出鍵および自身の現在の導出インデックスを使用して生成されたトライアル暗号鍵を使用して成功しなかった場合、デバイスBは、デバイスAからのメッセージを無視する。

0036

また、クライアント・デバイスが電源喪失を経験した場合、暗号鍵回復を実行することができる。デバイスが電源喪失を経験すると、それの内部クロックは現在のデバイス時間をもはや有していないことがある。一実施形態では、機能停止を経験し、オンラインになったクライアント・デバイスは、現在の時間を含むメッセージを受信した場合、暗号化を回復することができる。そのようなメッセージは、現在の暗号鍵を使用して検証することができる認証コードを含むビーコン・メッセージでもよい。

0037

オンラインになるデバイスが、ビーコン・メッセージを受信するとき、そのデバイスは、自身の現在の暗号鍵を使用してビーコン・メッセージの認証コードを検証しようと試みることになる。検証が成功した場合、そのデバイスは、自身の現在のデバイス時間としてビーコン・メッセージで指定された時間を受け入れることができる。それにより、そのデバイスは、現在の導出鍵、現在の導出インデックス、現在の満了期間および現在の暗号鍵を有する。

0038

ビーコン・メッセージの検証が失敗した場合、デバイスは、そのデバイスが電力を失って以降に終了した満了間隔の数を計算する。これは、ビーコン・メッセージ内の時間、現在の満了期間および満了間隔を使用して計算することができる。ビーコン・メッセージが時間を含まない場合、デバイスは、それが電力を失って以降に終了した満了間隔の数として1を使用することができる。

0039

現在の導出インデックスが、デバイスが電力を失って以降に終了した間隔の数によってインクリメントされる。後続の暗号鍵が、現在の導出鍵と停電以降に終了した間隔の数によってインクリメントされた現在の導出インデックスとを使用して生成される。ビーコン・メッセージの検証が、生成された後続の暗号鍵を使用して成功した場合、デバイスは、そのビーコン内の時間を受け入れる。加えて、そのデバイスは、現在の満了期間および満了間隔に基づいて現在の満了期間を生成する。そのデバイスはまた、現在の導出インデックスおよび現在の暗号鍵の自身の現在の値を生成されたばかりのものに更新する。

0040

ビーコン・メッセージの検証が、生成されたばかりの後続の暗号鍵で失敗した場合、そのビーコン・メッセージは無視される。本例では、デバイスはビーコン・メッセージを受信したので、そのデバイスは、隣接するデバイスが存在することを理解している。所定の時間(すなわち、30秒)の後に、デバイスが有効な時間を取得することができない場合、そのデバイスは、その後の24時間にわたりランダムな時間を生成することができる。その生成された時間に、デバイスは、認証サーバと認証を開始する。すべてのデバイスが同時に認証をしようとしないように、認証サーバと認証を開始する時間は、ランダムである。

0041

示された前の例では、クライアント・デバイスは、消費者による資源消費監視、制御、および測定するために公益事業会社および他の資源提供者によって使用され得るネットワーク内のメータでもよい。ここで、本発明の例示的実施形態が示された添付の図面を参照して、本発明を説明する。

0042

図1は、ネットワークを介する認証サーバおよびクライアント・デバイスの構成の一例である。認証サーバ120は、ネットワーク110を介して様々なクライアント・デバイス131〜134と通信する。任意のクライアント・デバイス131〜134は、ネットワーク110を介して任意の他のクライアント・デバイス131〜134または認証サーバ120と通信することができる。通信は、任意の適切なプロトコルおよび任意の適切なネットワーク構成を使用し、進めることができる。プロトコルは、802.15.4、PRIME、G3、およびTCP/IPおよびUDP/IPプロトコルを含むが、これらに限定されない。

0043

ネットワーク上のデバイスは、認証サーバ120およびクライアント・デバイス131〜134を含むが、これらに限定されない。ネットワーク110内のデバイス120、131〜134の間の安全な通信のために、デバイスは、暗号鍵を使用して、送信されるメッセージを暗号化し、受信されたメッセージを復号化する。さらなる安全性を実現するために、暗号鍵は、各デバイスによって、定期的に更新される。しかし、更新された暗号鍵は、ネットワーク110内のすべてのデバイス120、131〜134にわたりメッセージの暗号化および復号化を可能にするために、デバイス120、131〜134にわたり同じである。

0044

図2を参照すると、認証サーバ120は、プロセッサ211およびメモリ213を備える。認証サーバ120のプロセッサ211は、メモリ213に記憶された命令を実行する。認証サーバ120は、暗号鍵を生成するために自身のメモリ情報を保持する。その情報は、導出方法246および導出インデックス調整243を含むがこれらに限定されない鍵生成情報を含む。鍵生成情報は、インストールまたは製造時に認証サーバに提供され得る。

0045

加えて、認証サーバは、暗号鍵を生成するための追加情報を自身のメモリに保持する。この追加情報は、導出鍵241、導出インデックス242、満了期間244および満了間隔245を含むがこれらに限定されない、鍵セットアップ情報を含む。鍵生成情報のように、鍵セットアップ情報は、インストールまたは製造時に認証サーバに提供され得る。認証サーバはまた、認証サーバの現在のデバイス時間を保持するクロック251を備える。認証サーバの現在のデバイス時間を保持するクロックは、認証サーバの初期化またはインストール中にセットすることができる。加えて、クロックは、現在の時間を含むメッセージの受信時にセットまたはリセットすることができる。

0046

ネットワーク上に複数のクライアント・デバイス131〜133が存在してもよい。各クライアント・デバイス131〜133は、それぞれ、プロセッサ221、222、223およびメモリ231、232、233を備える。各プロセッサ221〜223は、クライアント・デバイス131〜133のそれぞれのメモリ231〜233に記憶された命令を実行する。本例では、クライアント・デバイス131、クライアント・デバイス132およびクライアント・デバイス133は同様であると仮定する。したがって、1つのクライアント・デバイスに関する説明は、すべてのクライアント・デバイス131〜133に適用可能である。

0047

各クライアント・デバイス131〜133は、導出方法246’、246’’、および246’’’、導出インデックス調整243’、243’’、および243’’を含むがこれらに限定されない鍵生成情報が提供される。認証サーバ120に提供される導出方法246、クライアント・デバイス131に提供される導出方法246’、クライアント・デバイス132に提供される導出方法246’’、およびクライアント・デバイス133に提供される導出方法246’’’は同一であることに留意されたい。同様に、認証サーバ120に提供される導出インデックス調整243、および、クライアント・デバイス131〜133の各々によって提供される導出インデックス調整243’、243’’、および243’’’は、同一である。各デバイス120、131、132、133は、ネットワーク110上のデバイス120、131、132、133にわたり共通である鍵生成情報を独立して記憶および保持する。加えて、各クライアント・デバイスは、各クライアント・デバイスの現在のデバイス時間を保持するクロック251’、251’’、および251’’’を備える。各デバイスの現在のデバイス時間は、クライアント・デバイスのインストールまたは初期化中に、最初にセットすることができる。また、各デバイスの現在のデバイス時間は、現在の時間を含むメッセージを受信したときに、セットすることができる。このメッセージは、認証サーバまたは別のクライアント・デバイスから受信することができる。現在の時間を含むメッセージの種類の一例は、ビーコン・メッセージである。

0048

さらなる参照のために、図2ハッシュマークを有する共通の参照番号は、各デバイスに独立して記憶および保持された共通の情報を示す。たとえば、図2を参照すると、認証サーバ内の導出鍵241、クライアント・デバイス131の導出鍵241’、クライアント・デバイス132の導出鍵241’’、および、クライアント・デバイス133の導出鍵241’’’は、すべて同一である。しかし、各デバイスは、それぞれのメモリ231〜233にこの情報のそれぞれ自身のコピーを保持する。

0049

ネットワーク110内のデバイスに共通の暗号鍵を生成するために、ネットワーク上の任意のクライアント・デバイス131〜133は、クライアント・デバイス131〜133と認証サーバ120との間の安全なチャネルの確立を要求する。たとえば、クライアント・デバイス131は、それ自体と認証サーバ120との間に安全なチャネルが確立されることを要求し得る。認証サーバ120は、次いで、クライアント・デバイス131にメッセージを送信する。このメッセージは、導出鍵241、導出インデックス242、満了期間244、および満了間隔245を含むがこれらに限定されない、鍵セットアップ情報を含む。クライアント・デバイス131は、自身のメモリ231に、この情報を導出鍵241’、導出インデックス242’、満了期間244’および満了間隔245’として、独立して記憶および保持する。認証サーバ120から任意のデバイス131〜133に送信される鍵セットアップ情報は同一であることに留意されたい。言い換えれば、各デバイスによって記憶および保持される鍵セットアップ情報は、すべてのデバイスに共通である。鍵生成情報のように、各デバイス120、131、132、133は、ネットワーク110上のデバイス120、131、132、133にわたり共通な鍵セットアップ情報を独立して記憶および保持する。

0050

クライアント・デバイス131が、鍵セットアップ情報を受信したと判定すると、クライアント・デバイス131は、提供された導出方法246’と導出鍵241’および導出インデックス242’を含む前もって受信された鍵セットアップ情報との少なくとも一部に基づいて、最初の暗号鍵248’を生成する。最初の暗号鍵250’を生成するこのプロセスは、すべてのクライアント・デバイス131〜133に共通であり、したがって、クライアント・デバイス131〜133の各々が、認証サーバ120から鍵セットアップ情報を受信したと独立して判定すると、そのデバイスは、すべてのデバイス131〜133に共通のそれ自身の最初の暗号鍵250’、250’’、および250’’’を生成することになる。言い換えれば、クライアント・デバイス131によって独立して生成される最初の暗号鍵250’は、クライアント・デバイス132によって生成される最初の暗号鍵250’’と同一であり、クライアント・デバイス133によって生成される最初の暗号鍵250’’’と同一であることになる。各クライアント・デバイス131〜133は、それぞれ、それ自身のメモリ231〜233にそれ自身の最初の暗号鍵250’、250’’、および250’’’を記憶する。

0051

最初の暗号鍵250’、250’’、および250’’’が現在の暗号鍵になることに留意されたい。すなわち、最初の暗号鍵は、満了期間244’、244’’、および244’’’まで、すべてのデバイスによって現在使用される暗号鍵である。各デバイスは、現在の暗号鍵248’、248’’、および248’’’と別個に最初の暗号鍵250’、250’’、および250’’’を記憶することができる。別法として、デバイスは、現在の暗号鍵として最初の暗号鍵を記憶および保持することができる。本実施形態では、図示はされていないが、最初の暗号鍵が現在の暗号鍵として記憶および保持されることになるので、デバイスのメモリは、最初の暗号鍵を含まないことになる。

0052

認証サーバ120はまた、クライアント・デバイスがそれらの最初の暗号鍵を生成するのと同一の方法で、それ自身の最初の暗号鍵250を生成することができる。最初の暗号鍵を生成するために必要とされる情報はデバイスにわたり同一であるので、認証サーバによって生成される最初の暗号鍵250は、各クライアント・デバイス131〜133によって独立して生成される最初の暗号鍵250’、250’’、250’’’と同じ値を有する。同様に、認証サーバ120は、最初の暗号鍵を現在の暗号鍵として記憶および保持することができる。

0053

最初の暗号鍵250は、それぞれ、認証サーバ120から受信され、各クライアント・デバイス121〜133によってそれ自身のメモリ231〜233に244’、244’’、244’’’として別個に記憶された、満了期間244の終了まで有効である。したがって、任意のクライアント・デバイス131〜133は、満了期間244が終了したかを判定することができる。クライアント・デバイス131が、満了期間244’が終了したと判定するとき、クライアント・デバイス131は、前もって提供された導出インデックス調整243’によって認証サーバ120から前もって受信された導出インデックス242’を修正することにより、現在の導出インデックス247’を生成することになる。他のクライアント・デバイス132、133もまた、それら自身の満了期間244’’、244’’’を使用し、いつ満了期間244が終了するかを判定することができ、それらはまた、デバイス131〜133にわたり同一であることになる現在の導出インデックス247’’および247’’’を生成することになる。

0054

認証サーバ120はまた、自身の満了期間244が終了したかを判定することによって、いつ自身の最初の暗号鍵250が失効するかを判定することができる。したがって、満了期間244、244’、244’’、および244’’’は同一であるので、すべてのデバイスの最初の暗号鍵250、250’、250’’、および250’’’は、同時に失効する。

0055

現在の導出インデックス247’の生成に加えて、クライアント・デバイス131は、認証サーバ120から前もって受信された満了期間244’および満了間隔245’に基づいて、現在の満了期間249’を生成することになる。同様に、認証サーバ120および他のデバイス132〜133はまた、同じ方式でそれらの現在の満了期間249、249’’、および249’’’を生成することになり、したがって、すべてのデバイスにわたり生成される現在の満了期間は、同じである。

0056

現在の導出インデックス247’および現在の満了期間249’の生成とともに、満了期間244’が終了したと判定したとき、クライアント・デバイス131は、提供された導出方法246’、認証サーバ120から前もって受信された導出鍵241’、および、現在の導出インデックス247’の少なくとも一部に基づいて、後続の暗号鍵を生成する。最近に生成されたこの後続の暗号鍵は、現在の暗号鍵248’になり、現在の満了期間249’まで有効である。この同じ手順が、ネットワーク上のすべてのその他のデバイスによって実行されて、現在の満了期間249、249’’、および249’’’まで有効であることになるそれぞれの現在の暗号鍵248、248’’、248’’’を生成する。

0057

認証サーバ120およびクライアント・デバイス131〜133を含むネットワーク110上のデバイスは、すべてのデバイスに共通な情報を有することにより、同期させられて暗号鍵を生成する。この共通の情報は、導出鍵241、導出インデックス242、導出インデックス調整243、満了期間244、満了間隔245、導出方法246、現在の導出インデックス247、現在の満了期間249を含むが、これらに限定されない。この情報は、各デバイスによって独立して保持されるが、デバイスの間で共通である。共通の情報の使用を介するこの同期化により、各デバイスは、ネットワーク内のデバイスの間で共通の現在の暗号鍵を独立して生成することができる。

0058

現在の暗号鍵248は、現在の満了期間249まで有効である。デバイスが、現在の満了期間249が終了したと判定するとき、後続の暗号鍵が生成される。各後続の暗号鍵は、それぞれの満了期間について有効である。たとえば、デバイス131が、現在の満了期間が達せられたので、現在の暗号鍵248’はもはや有効でないと判定するとき、クライアント・デバイス131は、次の後続の暗号鍵と、生成された次の後続の暗号鍵のそれぞれの満了期間とを生成することになる。次の後続の暗号鍵が、現在の暗号鍵248’になり、それぞれの満了期間が、現在の満了期間249’になる。

0059

次の後続の暗号鍵を生成するために、デバイス131は、それが導出インデックス調整243’によって自身のメモリ231に保持する現在の導出インデックス247’を修正することによって、新しい導出インデックスを生成する。たとえば、導出インデックス調整243’の値が1である場合、そのとき、新しい導出インデックスの値は、1インクリメントされた現在の導出インデックス247’の値であることになる。現在の導出インデックス247’は、新しい導出インデックスの値に更新され得る。したがって、クライアント・デバイス131は、次の後続の暗号鍵の生成で使用されることになる更新された現在の導出インデックス247’を有する。

0060

加えて、デバイス131は、次の後続の暗号鍵のそれぞれの満了期間を生成する。それぞれの満了期間は、デバイス131が自身のメモリ231に保持する現在の満了期間249’と、認証サーバから前もって受信され、デバイス131のメモリ231に保持された満了間隔245’とに基づいて生成される。それぞれの満了期間は、以下に説明されるように、生成されることになる次の後続の暗号鍵の満了期間である。したがって、現在の満了期間249’は、それぞれの満了期間の値に更新される。ここで、クライアント・デバイス131は、更新された現在の導出インデックス247’および現在の満了期間249’を有する。

0061

クライアント・デバイス131は、提供された導出方法246’、認証サーバから受信された導出鍵241’、および、クライアント・デバイスによって計算された現在の導出インデックス247’の少なくとも一部に基づいて、次の後続の暗号鍵を生成する。現在の暗号鍵248’の値が、次の後続の暗号鍵の値によって置き換えられる。言い換えれば、現在の暗号鍵248’が次の後続の暗号鍵に更新される。ここで、クライアント・デバイス131は、現在の満了期間249’が終了するまで有効な更新された現在の暗号鍵248’を有する。

0062

現在の満了期間が終了すると、現在の導出インデックス247’の更新、現在の満了期間249’の更新、および現在の暗号鍵248’になる次の後続の暗号鍵の生成のサイクルが、繰り返される。ネットワーク上のあらゆるデバイスは、現在の満了期間249、249’、249’’および249’’’が終了するたびに、それ自身の現在の暗号鍵248、248’、248’’、および248’’の生成の本手順を踏む。これにより、ネットワーク上のデバイスが、それらのデバイスに共通であり、デバイスの間の安全な通信のために使用することができる、現在の暗号鍵248、248’、248’’、および248’’’を独立して生成することを可能にする。

0063

図2は、導出インデックス242、242’、242’’、および242’’’と現在の導出インデックス247、247’、247’’、および247’’’とを有する各デバイスを示す。デバイスは、現在の暗号鍵を生成するために現在使用される導出インデックスであることになる1つの導出インデックスのみを記憶および保持することができることに留意されたい。したがって、導出インデックスが更新されるたびに、それは現在の導出インデックスとして記憶され、その結果、前の現在の導出インデックスを置き換えることになる。同様に、各デバイスは、満了期間244、244’、244’’、および244’’’と現在の満了期間249、249’、249’’、および249’’’との両方を保持してもしなくてもよい。本実施形態では、認証サーバから前もって受信された最初の満了期間は、現在の満了期間として記憶および保持され得る。また、満了期間が生成されるたびに、それは、前の現在の満了期間を置き換える現在の満了期間として記憶および保持されることになる。各デバイスはまた、現在の暗号鍵248、248’、248’’、および248’’’のみを記憶および保持することができる。同様に、各デバイスは、最初の暗号鍵250、250’、250’’、および250’’’と現在の暗号鍵248、248’、248’’、および248’’’とを保持してもしなくてもよい。本実施形態では、最初の暗号鍵は、現在の暗号鍵として記憶および保持することができる。後続の暗号鍵が生成されるとき、それは現在の暗号鍵を置き換えることになる。

0064

図3は、ネットワーク上のデバイスに共通の最初の暗号鍵および後続の暗号鍵を生成するためのプロセス300を示す。認証サーバとクライアント・デバイスとの間の安全なチャネルが、ステップ310で確立される。そのチャネルを確立するための要求は、サーバまたはクライアント・デバイスによって起こすことができる。

0065

安全なチャネルが確立された後、認証サーバが、ステップ320で、導出鍵、導出インデックス、満了期間、および満了間隔を含むがこれらに限定されないセットアップ情報を安全なチャネルを介してクライアント・デバイスに送信する。

0066

クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、ステップ330で、クライアント・デバイスは、提供された導出方法と、ステップ320で認証サーバから受信された導出鍵および導出インデックスに基づいて、最初の暗号鍵を生成する。最初の暗号鍵は、満了期間の終了まで、有効であり、ネットワーク上のデバイスをわたる安全な通信のために使用することができる。

0067

ステップ340で、クライアント・デバイスが、満了期間が終了したかを判定する。
満了期間が終了していない場合、最初の暗号鍵は有効であり、そのクライアント・デバイスは、ステップ350で最初の暗号鍵を使用し続ける。

0068

満了期間が終了した場合、ステップ360で、クライアント・デバイスは、導出インデックス調整によって認証サーバから前もって受信された導出インデックスを修正することによって、現在の導出インデックスを生成する。加えて、クライアント・デバイスは、満了期間とステップ320で認証サーバから前もって受信された満了間隔の少なくとも一部に基づいて、ステップ370で現在の満了期間を生成する。ステップ360での現在の導出インデックスの生成のステップと、ステップ370での現在の満了期間の生成のステップは、異なる順番で実行することができる。一実施形態では、満了期間は、現在の導出インデックスの生成の前または後に生成することができる。

0069

ステップ380では、最初の暗号鍵はもはや有効でないので、後続の暗号鍵が生成される。後続の暗号鍵は、提供された導出方法、ステップ320で認証サーバから前もって受信された導出鍵、および現在の導出インデックスの少なくとも一部に基づいて、生成される。各後続の暗号鍵は、ネットワークをわたってデバイスに共通であり、現在の満了期間の終了まで有効である。直近に生成された後続の暗号鍵が、現在の暗号鍵である。現在の暗号鍵になるこの最新の後続の暗号鍵は、現在の満了期間が終了するまで有効である。

0070

クライアント・デバイスが、現在の満了期間が終了したと判定するとき、ステップ360〜380が繰り返されて後続の暗号鍵を定期的に生成する。後続の暗号鍵を生成するためにクライアント・デバイスによって必要とされるすべての情報は、クライアント・デバイスによって記憶および保持されるので、クライアント・デバイスは、ネットワーク上の他のデバイスとの安全な通信のために使用するのに有効な後続の暗号鍵を独立して生成する。

0071

図4A〜4Bは、ネットワーク内のデバイスの間で現在使用されている暗号鍵を回復するためのプロセス400を示す。本プロセスは、トライアル暗号鍵を生成することによって認証サーバへのまたは認証サーバからの任意の通信が必要ない、クライアント・デバイスによる現在の暗号鍵の回復を目的とする。トライアル暗号鍵の使用を介して、デバイスは、有効な現在の暗号鍵を生成するために、自身の現在の導出インデックスおよび自身の現在の満了期間を、ネットワーク上のデバイスによって現在使用される有効な現在の導出インデックスおよび有効な現在の満了期間と同期させることができる。

0072

たとえば、ステップ410で、デバイスBは、デバイスAからメッセージを受信する。デバイスBは、デバイスBの現在の暗号鍵を使用してデバイスAから受信されたメッセージを検証することができない。

0073

本例では、デバイスBが自身の現在の暗号鍵を使用して受信されたメッセージを検証することができないことに応答して、デバイスBは、ステップ420でトライアル暗号鍵を生成する。トライアル暗号鍵は、トライアル導出インデックスを使用して生成される。トライアル導出インデックスは、導出インデックス調整によって導出インデックスをインクリメントすることによって生成される。したがって、このトライアル暗号鍵は、現在の満了期間が終了するとデバイスBが生成することになる後続の暗号鍵である。

0074

ステップ430でのトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスBが、ステップ470で示すように、自身の現在の暗号鍵をそのトライアル暗号鍵で置き換え、自身の現在の導出インデックスをそのトライアル導出インデックスで置き換え、その満了間隔に基づいて自身の現在の満了期間を調整することを示す。ステップ430で、トライアル暗号鍵を使用するメッセージの検証が失敗した場合、デバイスBは、ステップ440で第2のトライアル暗号鍵を生成することになる。第2のトライアル暗号鍵は、トライアル導出インデックスを使用して生成される。このトライアル導出インデックスは、導出インデックス調整によって導出インデックスをデクリメントすることによって生成される。したがって、このトライアル暗号鍵は、デバイスBが生成した前の暗号鍵である。言い換えれば、このトライアル暗号鍵は、現在の暗号鍵が使用されるより前にデバイスBによって使用された暗号鍵である。図4Aのステップ440の後、プロセス400は、図4Bのステップ450で継続する。

0075

図4Bを参照すると、ステップ450での第2のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスAが前の暗号鍵を使用している可能性を示す。したがって、デバイスBは、ステップ480でデバイスBの現在の暗号鍵で暗号化されたメッセージをデバイスAに送信する。デバイスAがデバイスBからこのメッセージを受信するとき、デバイスAは、それ自体の暗号鍵回復プロセスを開始することができる。第2のトライアル暗号鍵を使用するメッセージの検証が失敗した場合、ステップ460で、デバイスBは、前の導出鍵を使用して第3のトライアル暗号鍵を生成することになる。前の導出鍵は、現在使用される導出鍵の前にデバイスBによって使用された導出鍵でもよい。デバイスBが前の導出鍵を記憶しない場合、デバイスAからのメッセージは、無視または省略され得る。

0076

ステップ490での第3のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスAが前の導出鍵を使用している可能性を示す。したがって、デバイスBは、ステップ495に示すように、デバイスBの現在の導出鍵の値、デバイスBの現在の導出インデックス、およびデバイスBの現在の満了期間を含むメッセージをデバイスAに送信する。デバイスBからのこのメッセージは、第3のトライアル暗号鍵を使用して暗号化することができる。デバイスAがこのメッセージを受信するとき、デバイスAは、それを復号化してデバイスAに示す値を取得して、自身の現在の導出鍵、自身の現在の導出インデックス、および自身の現在の満了期間をデバイスBからのメッセージで受信されたものに更新する。

0077

第3のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功がない場合、デバイスBは、ステップ485に示すように、メッセージを無視することができる。

0078

図5は、デバイスが、停電、またはデバイスが現在のデバイス時間を保持させないであろうその他の状態を経験したときに、暗号鍵を回復するためのプロセス500を示す。本例では、ステップ510で、デバイスは、機能停止の後に電源投入し、現在のデバイス時間を有さない。そのデバイスは、現在の時間を含むメッセージを受信する。このメッセージは、ビーコン・メッセージで受信されてもよい。ビーコン・メッセージは、現在の暗号鍵を使用して検証することができる認証コードを含む。

0079

ステップ520で、オンラインになったデバイスがビーコン・メッセージを受信するとき、そのデバイスは、自身の現在の暗号鍵を使用してビーコン・メッセージを検証しようと試みることになる。検証が成功した場合、ステップ570で、デバイスは、そのデバイスの現在の時間として、ビーコン・メッセージで指定された時間を受け入れることができる。また、検証が成功したので、そのデバイスは、現在の導出鍵、現在の導出インデックス、現在の満了期間および現在の暗号鍵を有する。

0080

ステップ530で、ビーコン・メッセージの検証が失敗した場合、デバイスは、それが電力を失って以降に終了した満了間隔の数を計算する。これは、ビーコン・メッセージで受信された時間、現在の満了期間および満了間隔を使用して計算することができる。ビーコン・メッセージがその時間を含まない場合、デバイスは、それが電力を失って以降に終了した満了間隔の数として1を使用することができる。

0081

ステップ540で、デバイスは、それが電力を失って以降に終了した満了間隔の数によって、自身の現在の導出インデックスを調整する。現在の導出インデックスは、そのデバイスが電力を失って以降に終了した間隔の数によってインクリメントすることによって調整することができる。デバイスは、次いで、現在の導出鍵と調整されたばかりの現在の導出インデックスとを使用して後続の暗号鍵を生成する。ビーコン・メッセージの検証が、生成された後続の暗号鍵を使用して成功した場合、デバイスは、ステップ580で、自身の現在のデバイス時間としてビーコン・メッセージ内の時間を受け入れることができる。加えて、デバイスは、現在の満了期間および満了間隔に基づいて、現在の満了期間を生成することができる。デバイスは、現在の導出インデックスおよび現在の暗号鍵の自身の現在の値を生成されたばかりのものに更新する。

0082

ビーコン・メッセージの検証が、生成されたばかりの後続の現在の暗号鍵で失敗した場合、ビーコン・メッセージは無視される。本例では、ステップ560で、デバイスはビーコン・メッセージを受信したので、そのデバイスは、隣接するデバイスが存在することを理解している。所定の時間(すなわち、30秒)の後に、有効な時間を取得することができない場合、そのデバイスは、その後の24時間にわたりランダムな時間を生成する。生成された時間に、そのデバイスは、認証サーバと認証を開始して鍵セットアップ情報を受信して現在の暗号鍵を生成する。認証サーバと認証を開始する時間は、すべてのデバイスが同時に認証をしようとしないように、ランダムであるべきである。

0083

概論
与えられたこれらの例は、単に例示を目的とし、本発明をこれらのデバイスに限定するものではない。本主題は、特定の態様に関して詳細に説明されているが、当業者は、前述を理解したときに、そのような態様の改変形態変更形態および同等物を容易に生み出し得ることが、理解されよう。したがって、本開示は、限定ではなくて例示を目的として提示されており、当業者に容易に明らかになるであろう本主題へのそのような修正形態、変更形態、および/または追加の包含を排除しない。特に、導出インデックスまたは満了期間または暗号鍵を生成するために実行されるステップは、必ずしも指定された順番で実行される必要はない。たとえば、満了期間は、導出インデックスが生成される前または後に生成または更新されてもよい。また、導出インデックスは、満了期間の終了時に生成または更新されてもよく、あるいは、暗号鍵が生成された後の任意の時間に生成または更新されてもよい。導出インデックス調整は、インクリメントまたはデクリメントに限定されず、他の方法で導出インデックスを調整してもよい。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ