[0001] 本出願は、2012年3月20日に出願した米国仮出願第61/613,438号、2012年4月23日に出願した米国仮出願第61/637,234号および2013年3月15日に出願した米国出願第13/843,395号の優先権の利益を主張する。
[0004] ネットワークデバイスを構成するための様々な実施形態について開示する。いくつかの実施形態において、中間構成デバイス(intermediate configuration device)を使ってネットワークデバイスを構成するための方法は、構成デバイスによって、ネットワークデバイスとの短距離通信接続(short-range communication connection)を介して、通信ネットワークのネットワークデバイスとのペアリング動作(pairing operations)を開始することと、構成デバイスによって、ネットワークデバイスが登録状態(registered state)にあるか、それとも未登録状態(unregistered state)にあるか判断することと、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスとネットワークデバイスとの間の短距離通信チャネルを確立し、ネットワークデバイスを構成するためのネットワーク鍵を、短距離通信チャネルを介してネットワークデバイスに送信して、通信ネットワークに通信可能に接続することとを備える。
[0005] いくつかの実施形態において、この方法は、ネットワークデバイスが登録状態にあると判断された場合、ネットワークデバイスを登録解除(unregister)するかどうか判断することをさらに備える。
[0006] いくつかの実施形態において、ネットワークデバイスを登録解除するかどうか前記判断することは、ネットワークデバイスが、構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断することと、ネットワークデバイスが構成デバイスに登録されていると判断し、ネットワークデバイスを登録解除することを決定したことに応答して、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、短距離通信チャネルを介してネットワークデバイスに送信することとを備える。
[0007] いくつかの実施形態において、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを前記送信することは、ペアリング動作中にネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信することを備える。
[0008] いくつかの実施形態において、ネットワークデバイスとのペアリング動作を前記開始することは、ネットワークデバイスのデバイス識別子(device identifier)と複数の鍵とを交換し格納することによって、ネットワークデバイスとペアになること、並びに非対称暗号化方式(asymmetric encryption scheme)を使ってネットワークデバイスとペアになることのうち1つを備える。
[0009] いくつかの実施形態において、非対称暗号化方式を使ってネットワークデバイスと前記ペアになることは、構成デバイスの公開鍵(public key)をネットワークデバイスに格納することを備える。
[0010] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか前記判断することは、構成デバイスからネットワークデバイスに、第1の情報を含む第1のメッセージを送信することと、第1のメッセージに応答して受信された第2のメッセージに基づいて、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することとを備える。
[0011] いくつかの実施形態において、短距離通信接続は近距離通信(NFC)接続である。
[0012] いくつかの実施形態において、短距離通信接続は、Bluetooth(登録商標)通信接続、ZigBee(登録商標)通信接続、およびワイヤレスローカルエリアネットワーク(WLAN)通信接続のうちの1つである。
[0013] いくつかの実施形態において、短距離通信チャネルは、完全性(integrity)、暗号化、およびリプレイ保護(replay protection)に対するサポートを有する安全な短距離通信チャネルを備える。
[0014] いくつかの実施形態において、リプレイ保護は、シーケンス番号を使って実装される。
[0015] いくつかの実施形態において、リプレイ保護は、タイムスタンプを使って実装される。
[0016] いくつかの実施形態において、ネットワークデバイスを構成するための方法は、通信ネットワークのネットワークデバイスにおいて、短距離通信接続を介して、構成デバイスに登録するための、構成デバイスからの要求を受信することと、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、ネットワークデバイスが未登録状態にあると判断された場合、ネットワークデバイスが未登録状態にあるということを示すための応答を、構成デバイスに送信し、ネットワークデバイスと構成デバイスとの間の短距離通信チャネルを確立し、構成デバイスに登録するための少なくとも1つの鍵を、短距離通信チャネルを介して構成デバイスから受信することとを備える。
[0017] いくつかの実施形態において、登録するための要求は、構成デバイスの識別子を備える。
[0018] いくつかの実施形態において、登録するための要求は、構成デバイスの公開鍵を備える。
[0019] いくつかの実施形態において、登録するための要求は、乱数についての要求、または乱数を備える。
[0020] いくつかの実施形態において、ネットワークデバイスにおける乱数の受信に応答して、ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値(hashed value)を計算し、ハッシュ値を構成デバイスに送る。
[0021] いくつかの実施形態において、ネットワークデバイスにおける乱数についての要求の受信に応答して、構成デバイスに乱数を送る。
[0022] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか前記判断することは、ネットワークデバイスに格納された少なくとも1つのパラメータを、構成デバイスから受信したパラメータと比較することを備える。
[0023] いくつかの実施形態において、構成デバイスに応答を前記送ることは、ネットワークデバイスに格納された通信ネットワークのネットワーク鍵を構成デバイスに送ることをさらに備える。
[0024] いくつかの実施形態において、ネットワークデバイスに格納された通信ネットワークのネットワーク鍵を前記送ることは、構成デバイスにネットワーク鍵のハッシュ値を送ることをさらに備える。
[0025] いくつかの実施形態において、短距離通信チャネルを前記確立することは、鍵共有(key agreement)、鍵導出(key derivation)および鍵確認(key confirmation)手順を行って、安全な短距離通信チャネルを確立することを備える。
[0026] いくつかの実施形態において、この方法は、ネットワークデバイスにおいて、登録解除するための要求を構成デバイスから受信することと、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、ネットワークデバイスが登録状態にあると判断された場合、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されているかどうか判断することと、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると判断された場合、ネットワークデバイスに格納された少なくとも1つの鍵を削除することとをさらに備える。
[0027] いくつかの実施形態において、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると前記判断することは、登録動作中に、登録解除要求中で受信された少なくとも1つのパラメータを、ネットワークデバイスに格納されたパラメータと比較することを備える。
[0028] いくつかの実施形態において、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると前記判断することは、構成デバイスから受信されたメッセージに含まれる完全性フィールドが有効か、それとも無効か判断することを備える。
[0029] いくつかの実施形態において、中間構成デバイスを使ってネットワークデバイスを構成するための方法は、構成デバイスにおいて、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始することと、ネットワークデバイスから受信した応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスにネットワークデバイスを登録するための少なくとも1つの鍵を送ることと、通信ネットワークのネットワーク鍵がネットワークデバイスに格納されているかどうか判断することと、ネットワーク鍵がネットワークデバイスに格納されていると判断された場合、ネットワークデバイスからネットワーク鍵を受信することと、ネットワーク鍵がネットワークデバイスに格納されていないと判断された場合、ネットワークデバイスにネットワーク鍵を送ることとを備える。
[0030] いくつかの実施形態において、ネットワークデバイスからの応答は、ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える。
[0031] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか前記判断することは、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌル(null)のとき、ネットワークデバイスが未登録状態にあると判断すること、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルでないとき、ネットワークデバイスが登録状態にあると判断すること、およびネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値が、構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、ネットワークデバイスが構成デバイスに登録されていると判断することのうち1つまたは複数を備える。
[0032] いくつかの実施形態において、この方法は、安全な短距離通信チャネルを介して、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始することをさらに備える。
[0033] いくつかの実施形態において、この方法は、構成デバイスにおいて、ネットワークデバイスを登録解除するための、ネットワークデバイスとの第2のメッセージ交換を開始することと、ネットワークデバイスからの第2の応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが構成デバイスに登録されているかどうか判断することと、ネットワークデバイスが構成デバイスに登録されていると判断された場合、ネットワークデバイスを登録解除するための少なくとも1つの命令を送ることとをさらに備える。
[0034] いくつかの実施形態において、ネットワークデバイスからの第2の応答は、ネットワークデバイスに格納された少なくとも1つのパラメータのハッシュ値を備える。
[0035] いくつかの実施形態において、ネットワークデバイスからの第2の応答はネットワークデバイスのステータスを備え、ステータスは、ネットワークデバイスが構成デバイスに登録されているかどうかを示す。
[0036] いくつかの実施形態において、ネットワークデバイスを構成するための構成デバイスであって、構成デバイスは、ネットワークインターフェースと鍵管理ユニットとを備え、鍵管理ユニットは、ネットワークデバイスとの短距離通信接続を介して、通信ネットワークのネットワークデバイスとのペアリング動作を開始し、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスとネットワークデバイスとの間の短距離通信チャネルを確立し、ネットワークデバイスを構成するためのネットワーク鍵を、短距離通信チャネルを介してネットワークデバイスに送信して、通信ネットワークに通信可能に接続するように構成される。
[0037] いくつかの実施形態において、鍵管理ユニットは、ネットワークデバイスが登録状態にあると判断された場合、ネットワークデバイスを登録解除するかどうか判断するようにさらに構成される。
[0038] いくつかの実施形態において、ネットワークデバイスを登録解除するかどうか判断するように構成された鍵管理ユニットは、ネットワークデバイスが、構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断し、ネットワークデバイスが構成デバイスに登録されていると判断したこと、およびネットワークデバイスを登録解除することを決定したことに応答して、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、短距離通信チャネルを介してネットワークデバイスに送信するように構成された鍵管理ユニットを備える。
[0039] いくつかの実施形態において、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを送信するように構成された鍵管理ユニットは、ペアリング動作中にネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信するように構成された鍵管理ユニットを備える。
[0040] いくつかの実施形態において、ネットワークデバイスとのペアリング動作を開始するように構成された鍵管理ユニットは、ネットワークデバイスのデバイス識別子と複数の鍵とを交換し格納することによって、ネットワークデバイスとペアになること、および非対称暗号化方式を使ってネットワークデバイスとペアになることのうち1つを行うように構成された鍵管理ユニットを備える。
[0041] いくつかの実施形態において、非対称暗号化方式を使ってネットワークデバイスとペアになるように構成された鍵管理ユニットは、構成デバイスの公開鍵をネットワークデバイスに格納するように構成された鍵管理ユニットを備える。
[0042] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するように構成された鍵管理ユニットは、第1の情報を含む第1のメッセージを、構成デバイスからネットワークデバイスに送信し、第1のメッセージに応答して受信された第2のメッセージに基づいて、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するように構成された鍵管理ユニットを備える。
[0043] いくつかの実施形態において、短距離通信チャネルは、完全性、暗号化、およびリプレイ保護に対するサポートを有する安全な短距離通信チャネルを備える。
[0044] いくつかの実施形態において、通信ネットワークのネットワークデバイスであって、ネットワークデバイスは、ネットワークインターフェースと、登録管理ユニットとを備え、登録管理ユニットは、短距離通信接続を介して、構成デバイスに登録するための要求を受信し、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが未登録状態にあると判断された場合、ネットワークデバイスが未登録状態にあることを示すための応答を構成デバイスに送信し、ネットワークデバイスと構成デバイスとの間の短距離通信チャネルを確立し、構成デバイスに登録するための少なくとも1つの鍵を、短距離通信チャネルを介して構成デバイスから受信するように構成される。
[0045] いくつかの実施形態において、登録するための要求は、構成デバイスの識別子を備える。
[0046] いくつかの実施形態において、登録するための要求は、構成デバイスの公開鍵を備える。
[0047] いくつかの実施形態において、登録するための要求は、乱数についての要求、または乱数を備える。
[0048] いくつかの実施形態において、ネットワークデバイスにおける乱数の受信に応答して、登録管理ユニットは、ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を計算し、ハッシュ値を構成デバイスに送るように構成される。
[0049] いくつかの実施形態において、ネットワークデバイスにおける乱数についての要求の受信に応答して、登録管理ユニットは、構成デバイスに乱数を送るように構成される。
[0050] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するように構成された登録管理ユニットは、ネットワークデバイスに格納された少なくとも1つのパラメータを、構成デバイスから受信されたパラメータと比較するように構成された登録管理ユニットを備える。
[0051] いくつかの実施形態において、構成デバイスに応答を送るように構成された登録管理ユニットは、ネットワークデバイスに格納された通信ネットワークのネットワーク鍵を構成デバイスに送るように構成された登録管理ユニットをさらに備える。
[0052] いくつかの実施形態において、ネットワークデバイスに格納された通信ネットワークのネットワーク鍵を送るように構成された登録管理ユニットは、構成デバイスにネットワーク鍵のハッシュ値を送るように構成された登録管理ユニットをさらに備える。
[0053] いくつかの実施形態において、短距離通信チャネルを確立するように構成された登録管理ユニットは、鍵共有、鍵導出および鍵確認手順を行って、安全な短距離通信チャネルを確立するように構成された登録管理ユニットを備える。
[0054] いくつかの実施形態において、登録管理ユニットは、ネットワークデバイスにおいて、登録解除するための要求を構成デバイスから受信し、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが登録状態にあると判断された場合、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されているかどうか判断し、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると判断された場合、ネットワークデバイスに格納された少なくとも1つの鍵を削除するようにさらに構成される。
[0055] いくつかの実施形態において、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると判断するように構成された登録管理ユニットは、登録動作中に、登録解除要求中で受信された少なくとも1つのパラメータを、ネットワークデバイスに格納されたパラメータと比較するように構成された登録管理ユニットを備える。
[0056] いくつかの実施形態において、登録解除するための要求を送った構成デバイスにネットワークデバイスが登録されていると判断するように構成された登録管理ユニットは、構成デバイスから受信されたメッセージに含まれる完全性フィールドが有効か、それとも無効か判断するように構成された登録管理ユニットを備える。
[0057] いくつかの実施形態において、ネットワークデバイスを構成するための構成デバイスであって、構成デバイスは、ネットワークインターフェースと、鍵管理ユニットとを備え、鍵管理ユニットは、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始し、ネットワークデバイスから受信された応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが未登録状態にあると判断された場合、ネットワークデバイスを構成デバイスに登録するための少なくとも1つの鍵を送り、通信ネットワークのネットワーク鍵がネットワークデバイスに格納されているかどうか判断し、ネットワーク鍵がネットワークデバイスに格納されていると判断された場合、ネットワークデバイスからネットワーク鍵を受信し、ネットワーク鍵がネットワークデバイスに格納されていないと判断された場合、ネットワークデバイスにネットワーク鍵を送るように構成される。
[0058] いくつかの実施形態において、ネットワークデバイスからの応答は、ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える。
[0059] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するように構成された鍵管理ユニットは、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルのとき、ネットワークデバイスが未登録状態にあると判断すること、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルでないとき、ネットワークデバイスが登録状態にあると判断すること、およびネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値が、構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、ネットワークデバイスが構成デバイスに登録されていると判断することのうち1つまたは複数を行うように構成された鍵管理ユニットを備える。
[0060] いくつかの実施形態において、鍵管理ユニットは、安全な短距離通信チャネルを介して、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始するようにさらに構成される。
[0061] いくつかの実施形態において、鍵管理ユニットは、構成デバイスにおいて、ネットワークデバイスを登録解除するための、ネットワークデバイスとの第2のメッセージ交換を開始し、ネットワークデバイスからの第2の応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが構成デバイスに登録されていると判断し、ネットワークデバイスが構成デバイスに登録されていると判断された場合、ネットワークデバイスを登録解除するための少なくとも1つの命令を送るようにさらに構成される。
[0062] いくつかの実施形態において、機械実行可能命令を格納した非一時的機械可読記憶媒体であって、機械実行可能命令は、構成デバイスによって、ネットワークデバイスとの短距離通信接続を介して、通信ネットワークのネットワークデバイスとのペアリング動作を開始し、構成デバイスによって、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスとネットワークデバイスとの間の短距離通信チャネルを確立し、ネットワークデバイスを構成するためのネットワーク鍵を、短距離通信チャネルを介してネットワークデバイスに送信して、通信ネットワークに通信可能に接続するための命令を備える。
[0063] いくつかの実施形態において、命令は、ネットワークデバイスが登録状態にあると判断された場合、ネットワークデバイスを登録解除するかどうか判断するための命令をさらに備える。
[0064] いくつかの実施形態において、ネットワークデバイスを登録解除するかどうか判断するための前記命令は、ネットワークデバイスが、構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断し、ネットワークデバイスが構成デバイスに登録されていると判断し、ネットワークデバイスを登録解除することを決定したことに応答して、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、短距離通信チャネルを介してネットワークデバイスに送信するための命令を備える。
[0065] いくつかの実施形態において、ネットワークデバイスを登録解除するための少なくとも1つのメッセージを送信するための前記命令は、ペアリング動作中にネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信するための命令を備える。
[0066] いくつかの実施形態において、機械実行可能命令を格納した非一時的機械可読記憶媒体であって、機械実行可能命令は、構成デバイスにおいて、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始し、ネットワークデバイスから受信された応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスにネットワークデバイスを登録するための少なくとも1つの鍵を送り、通信ネットワークのネットワーク鍵がネットワークデバイスに格納されているかどうか判断し、ネットワーク鍵がネットワークデバイスに格納されていると判断された場合、ネットワークデバイスからネットワーク鍵を受信し、ネットワーク鍵がネットワークデバイスに格納されていないと判断された場合、ネットワークデバイスにネットワーク鍵を送るための命令を備える。
[0067] いくつかの実施形態において、ネットワークデバイスからの応答は、ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える。
[0068] いくつかの実施形態において、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するための前記命令は、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルのとき、ネットワークデバイスが未登録状態にあると判断するための命令、ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルでないとき、ネットワークデバイスが登録状態にあると判断するための命令、およびネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値が、構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、ネットワークデバイスが構成デバイスに登録されていると判断するための命令のうち1つまたは複数を備える。
[0069] いくつかの実施形態において、命令は、安全な短距離通信チャネルを介して、ネットワークデバイスを登録するための、ネットワークデバイスとのメッセージ交換を開始するための命令をさらに備える。
[0070] いくつかの実施形態において、命令は、構成デバイスにおいて、ネットワークデバイスを登録解除するための、ネットワークデバイスとの第2のメッセージ交換を開始し、ネットワークデバイスからの第2の応答において受信された少なくとも1つのパラメータに基づいて、ネットワークデバイスが構成デバイスに登録されているかどうか判断し、ネットワークデバイスが構成デバイスに登録されていると判断された場合、ネットワークデバイスを登録解除するための少なくとも1つの命令を送るための命令をさらに備える。
[0071] いくつかの実施形態において、ネットワークデバイスを構成するための構成デバイスであって、構成デバイスは、ネットワークデバイスとの短距離通信接続を介して、通信ネットワークのネットワークデバイスとのペアリング動作を開始するための手段と、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するための手段と、ネットワークデバイスが未登録状態にあると判断された場合、構成デバイスとネットワークデバイスとの間の短距離通信チャネルを確立するための手段と、ネットワークデバイスを構成するためのネットワーク鍵を、短距離通信チャネルを介してネットワークデバイスに送信して、通信ネットワークに通信可能に接続するための手段とを備える。
[0089] 以下の説明は、本発明の主題の技法を具体化する例示的なシステムと、方法と、技法と、命令シーケンスと、コンピュータプログラム製品とを含む。但し、説明する実施形態は、これらの具体的な詳細なしに実施され得ることを理解されたい。例えば、1つの通信ネットワーク内で1つのネットワークデバイスを安全に構成する鍵保持デバイス(key carrying device)を、複数の例が参照するが、他の実装形態において、鍵保持デバイスは、1つまたは複数の通信ネットワーク内で複数のネットワークデバイスを同時に構成できる。他の場合において、周知の命令インスタンス、プロトコル、構造、および技法は説明を不明瞭にしないため詳細に図示されていない。
[0090] いくつかの実施形態において、短距離通信をサポートする鍵保持デバイスは、安全な通信チャネルを介してネットワークデバイスにネットワーク鍵を送ることによって、通信ネットワークのネットワークデバイスを安全に構成できる。鍵保持デバイスは、ペアリングデータを交換すると共に、ネットワークデバイスおよび/または鍵保持デバイスにペアリングデータを格納することによって、鍵保持デバイスにネットワークデバイスを登録できる。ネットワークデバイスが鍵保持デバイスに登録されると、鍵保持デバイスは、通信ネットワークのネットワーク鍵をネットワークデバイスに送ることによって、通信ネットワークを用いてネットワークデバイスを安全に構成できる。鍵保持デバイスは、ペアリングデータと、ネットワークデバイスおよび/または鍵保持デバイスに格納されたネットワーク鍵とを削除することによって、鍵保持デバイスからネットワークデバイスを登録解除することもできる。
[0091] いくつかの実施形態において、鍵保持デバイスは、ネットワークデバイスを安全に構成するための1つまたは複数の構成技法を使用できる。例えば、第1の構成技法において、鍵保持デバイスは、完全性鍵、暗号化鍵、およびシーケンス番号を、ペアリングデータとして、鍵保持デバイスとネットワークデバイスとの両方に格納することによって、鍵保持デバイスにネットワークデバイスを登録できる。また、鍵保持デバイスは、ネットワークデバイスのデバイス識別子をペアリングデータの一部として格納でき、ネットワークデバイスは、鍵保持デバイスのデバイス識別子をペアリングデータの一部として格納できる。第2の構成技法において、鍵保持デバイスとネットワークデバイスは、鍵保持デバイスの公開鍵を、ペアリングデータとしてネットワークデバイスに格納することによって、ペアになることができる。第1の構成技法と第2の構成技法の両方において、鍵保持デバイスは次いで、ネットワークデバイスと1つまたは複数のメッセージを交換して、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか、および従って、ネットワークデバイスを登録するか、それとも登録解除する(または現在の構成を維持する)か判断できる。第3の構成技法において、鍵保持デバイスとネットワークデバイスは、秘密鍵(secret key)(例えば、登録鍵(registration key))をペアリングデータとして格納することによってペアになることができる。鍵保持デバイスは、1つまたは複数のメッセージを安全に交換して、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるかを、ペアリングデータに基づいて判断できる。一例において、鍵保持デバイスおよびネットワークデバイスは、ハッシュアルゴリズムを使用して、ペアリングデータ(例えば、登録鍵)および/またはネットワーク鍵を含むメッセージを安全に交換できる。ネットワークデバイスが未登録状態それとも登録状態にあるかという判断に基づいて、鍵保持デバイスは、それに従ってネットワークデバイスを登録し、または登録解除する(すなわち、現在の構成を維持する)ことができる。第4の構成技法において、鍵保持デバイスとネットワークデバイスは、鍵保持デバイスとネットワークデバイスの両方に秘密鍵(例えば、登録鍵)を、およびペアリングデータとしてネットワークデバイスにステータスフィールドを格納することによって、ペアになることができる。第4の構成技法において、ネットワークデバイスは、ハッシュアルゴリズムを使って、ペアリングデータ(例えば、登録鍵)および/またはネットワーク鍵を含む1つまたは複数のメッセージを、鍵保持デバイスと安全に交換できる。ネットワークデバイスは、ステータスフィールドを使って、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるかを、鍵保持デバイスに対して示すことができ、従って、ネットワークデバイスを登録するか、それとも登録解除するか判断できる。第5の構成技法は、ネットワークデバイスおよび鍵保持デバイスが、ペアリングデータおよび/またはネットワーク鍵を含むどのメッセージも交換する前に、安全な通信チャネルを確立し得ることを除いて、第4の構成技法と同様であり得る。ネットワークデバイスおよび鍵保持デバイスは、安全な通信チャネルを介して、ペアリングデータおよび/またはネットワーク鍵を含むメッセージを安全に交換できる。鍵保持デバイスを使用してネットワークデバイスを安全に構成する構成技法については、図1〜図24を参照して後でさらに説明する。
[0092] 図1は、通信ネットワーク内の鍵保持デバイスおよびネットワークデバイスの例示的ブロック図を示す。図1は、通信ネットワーク100を示す。例えば、通信ネットワーク100は、1つまたは複数のネットワーク通信規格を使うホームまたは企業ネットワークシステム(例えば、IEEE802.3、IEEE802.11またはWi−Fi(登録商標)、IEEE P1905.1、Broadband over Power Lineネットワーク規格、Ethernet(登録商標) over Coaxial cable、ZigBeeまたはIEEE802.15.4などのうち1つまたは複数に基づくネットワークシステム)であり得る。通信ネットワーク100は、鍵管理ユニット104と短距離通信ユニット106とを有する鍵保持デバイス102を含む。通信ネットワーク100はまた、登録管理ユニット109および短距離通信ユニット110を有するネットワークデバイス108と、登録管理ユニット117および短距離通信ユニット118を有するネットワークデバイス116と、登録管理ユニット113および短距離通信ユニット114を有するネットワークデバイス112とを含む。一実装形態において、鍵保持デバイス102は、鍵管理ユニット104と短距離通信ユニット106とを含む通信ユニット(例えば、集積回路、システムオンチップ、または回路板)を含み得る。
[0093] 鍵保持デバイス102は、短距離通信をサポートすると共に、通信ネットワーク100を管理する様々なタイプのネットワークデバイス、例えば、モバイル電話、タブレットコンピュータ、ノート型コンピュータ、スマートリモコンデバイスなどのうち1つでよい。鍵保持デバイス102は通常、ネットワークデバイスのステータス、登録確認、登録解除確認などをユーザに表示するためのディスプレイユニットを含む。鍵保持デバイス内の短距離通信ユニット106は、ネットワークデバイス108、116および112との帯域外通信リンク(すなわち、通信ネットワーク100によって使われるものとは異なる周波数帯の通信リンク)を確立できる。一実装形態において、短距離通信ユニット106は、帯域外通信リンクとして近距離通信(NFC)リンクを確立し、近距離通信インターフェースおよびプロトコル(例えば、NFCIP)を使用できる。他の実装形態において、短距離通信ユニット106は、他の短距離通信技術/プロトコル(例えば、Bluetoothなど)を使って通信を確立できる。
[0094] 鍵保持デバイス102の鍵管理ユニット104は、ネットワークデバイス(例えば、ネットワークデバイス116、112または108)と1つまたは複数のメッセージを交換して、ネットワークデバイスを安全に構成できる。いくつかの実装形態において、鍵保持デバイス102は、複数の通信ネットワークシステム内で同時にネットワークデバイスを構成する能力を有し得る。鍵管理ユニット104は、ネットワークデバイスと、安全な通信チャネルを確立できる。例えば、安全な通信チャネルはメッセージの暗号化と、メッセージについての完全性保護とをサポートし、悪意のある鍵保持デバイスによる反射攻撃(replay attacks)から保護できる。一実装形態において、短距離通信ユニット106がNFCリンクを確立すると、鍵管理ユニット104は、(例えば、楕円曲線Diffie−Hellman(ECDH)とAdvanced Encryption Standard(NFC−SEC−01)とを使うNFC−SEC暗号技術規格により)安全な通信チャネルを確立する。但し、他の実装形態において、他の安全なチャネル技法が使用され得る(例えば、Wi−Fi Simple Configuration(WSC)において規定される登録プロトコル)ことに留意されたい。いくつかの実装形態において、鍵管理ユニット104は、安全なチャネル鍵とシーケンス番号(例えば、シーケンス番号カウンタを使って生成される)とを使って、完全性およびリプレイ保護をもつ安全な通信チャネルを確立できる。シーケンス番号により、鍵保持デバイス102およびネットワークデバイス(例えば、ネットワークデバイス112)は、交換されるメッセージを追跡し、反射攻撃からの保護を提供することが可能になる。例えば、各交換されるメッセージは、シーケンス番号カウンタによって生成されたシーケンス番号を含んでよく、メッセージを送る/受信すると、シーケンス番号カウンタが増分され得る。鍵保持デバイス102およびネットワークデバイス112は、受信メッセージが、シーケンス番号カウンタの現在の値以下のシーケンス番号に関連付けられているかどうか判断できる。受信メッセージが、シーケンス番号カウンタの現在の値以下のシーケンス番号に関連付けられている場合、古いシーケンス番号は、悪意のあるデバイスによる反射攻撃を示し得る。鍵管理ユニット104は次いで、反射攻撃を避けるために、古いシーケンス番号をもつ受信メッセージを無視し得る。鍵保持デバイス102およびネットワークデバイス112は、反射攻撃を検出するための、シーケンス番号の使用に制限されない。いくつかの実装形態において、鍵保持102およびネットワークデバイス112は、タイムスタンプを使用して、反射攻撃を検出できる。
[0095] 鍵保持デバイス102の鍵管理ユニット104は、1つまたは複数のネットワーク鍵を生成し、格納するための能力を含み、ネットワークデバイスへ/からネットワーク鍵を送る/受信することが可能である。例えば、通信ネットワーク100を用いてネットワークデバイスが構成され、ユーザがネットワークデバイスを登録するのに鍵保持デバイス102を初めて使うとき、鍵管理ユニット104は、ネットワークデバイスから通信ネットワーク100のネットワーク鍵を受信し、ネットワーク鍵を格納し得る。一実装形態において、ユーザは、鍵保持デバイス102を有する通信ネットワーク100を用いて構成された1つまたは複数のネットワークデバイスを登録でき、ネットワーク鍵は、ネットワークデバイスと鍵管理ユニット104との間で転送されなくてよい。別の実施態様において、ユーザは、(通信ネットワーク100を用いて構成されていない)ネットワークデバイスを鍵保持デバイス102に登録でき、鍵管理ユニット104は、通信ネットワーク100のネットワーク鍵をネットワークデバイスに送り得る。いくつかの実装形態において、通信ネットワーク100がない場合、鍵保持デバイス102も、ネットワークデバイスのうちいずれも、ネットワーク鍵をもつことができず、ユーザは、1つまたは複数のネットワークデバイスを鍵保持デバイス102に登録し得る。鍵管理ユニット104は、新しいランダムなネットワーク鍵を生成し、ネットワーク鍵を、鍵保持デバイス102に登録されたネットワークデバイスの各々に送り、通信ネットワークをセットアップできる。いくつかの実装形態において、新しいランダムなネットワーク鍵を生成するのではなく、鍵管理ユニット104は、ネットワーク管理者から、または別の帯域外通信リンクを介してネットワークデバイスから、ネットワーク鍵を受信し得る。鍵管理ユニット104は、鍵保持デバイス102に登録されたネットワークデバイスについての情報を格納できる。また、鍵管理ユニット104は、鍵保持デバイス102に登録されたネットワークデバイスの各々について、ペアリング情報と、安全な通信チャネルについての情報(例えば、安全なチャネル鍵)とを格納できる。例えば、鍵管理ユニット104は、ネットワークデバイスのデバイス識別子に対応する安全なチャネル鍵を、鍵保持デバイス102のメモリにあるテーブルに格納できる。いくつかの実装形態において、鍵保持デバイス102は、鍵保持デバイス102の設定と情報とを、第2の鍵保持デバイスに、またはネットワーク内のサーバにエクスポートし、インポートし、バックアップするための機能をサポートできる。第2の鍵保持デバイスは次いで、1つまたは複数のネットワークデバイスを構成するのに使われ得る。様々なネットワーク構成技法に関する鍵保持デバイス102の付加的特徴および動作について、図2〜図23を参照して後でさらに説明する)。
[0096] ネットワークデバイス108、112および116は、例えば、ラップトップコンピュータ、テレビ、カメラ、ゲームコンソール、デジタルサーモスタット、電子ドアロックなど、通信ネットワーク100内の様々なタイプのネットワークデバイスであり得る。いくつかの実装形態において、ネットワークデバイス108、112および116は、マルチホームデバイスであってよく、複数の通信ネットワークシステムを用いて同時に構成され得る。一例において、ネットワークデバイス108、112および116は、IEEE P1905.1通信ネットワーク内のデバイスであり得る。いくつかの実装形態において、ネットワークデバイス116、112、および108の短距離通信ユニット118、114、および110はそれぞれ、鍵保持デバイス102の短距離通信ユニット106との短距離通信リンク(例えば、NFCリンク)を確立できる。ネットワークデバイス108、112および116は、後でさらに説明するように、鍵管理ユニット104からネットワーク鍵を受信し、鍵保持デバイス102に登録するための能力を含む。例えば、ネットワークデバイス116、112、および108内の登録管理ユニット117、113、および109はそれぞれ、鍵保持デバイス102に登録し、鍵保持デバイス102からネットワーク鍵を受信できる。いくつかの実装形態において、鍵保持デバイス102内の鍵管理ユニット104は、ネットワークデバイス116、112および108に対してネットワーク鍵を要求し得る。鍵保持デバイスがネットワーク鍵について要求すると、該当のネットワークデバイス116、112および108内の登録管理ユニット117、113、および109は、鍵管理ユニット104にネットワーク鍵を送り得る。ネットワークデバイス108、112および116は、鍵保持デバイス102に対応するペアリングデータを削除することによってリセットでき、そうすることによって鍵保持デバイス102から登録解除する。例えば、ネットワークデバイス108、112および116は、ハードウェア(例えば、リセットボタンなど)により、またはソフトウェア(例えば、プログラム命令など)によりリセットされ得る。いくつかの実装形態において、ネットワークデバイス108、112および116は、異なる色によりデバイスの状態を表示するための発光ダイオード(LED)を含み得る(例えば、未登録状態は赤色、登録状態は緑色、登録プロセスが進行中のときは黄色)。様々なネットワーク構成技法に関するネットワークデバイス108、112および116の付加的特徴および動作について、図2〜図23を参照して後でさらに説明する)。
[0097] 図2は、ネットワークデバイスを構成するための例示的動作のフロー図を示す。例えば、図2は、ネットワークデバイス112との短距離通信リンクが確立されると、鍵保持デバイス102(図1を参照して上述したように)において行われる動作を示す。簡単にするために、図2は、鍵保持デバイス102とネットワークデバイス112との間の安全な通信チャネルを確立するための手順は示さず、様々な構成技法の他の詳細は示していないが、これらについては、図3〜図23を参照して後で詳細に説明する。
[0098] ブロック202で、ネットワークデバイスを登録するか、それとも登録解除するか判断される。例えば、鍵保持デバイス102の鍵管理ユニット104が、ネットワークデバイス112を登録するか、それとも登録解除するか判断する。一実装形態において、鍵管理ユニット104は、ネットワークデバイス112を登録し、または登録解除するための入力をユーザから受信し得る。他の実装形態において、ユーザは、鍵保持デバイス102を、ネットワークデバイス112の所定の近さに置いて、短距離通信リンク(例えば、NFC)により、ネットワークデバイス112(未登録状態にある)の登録を自動的にトリガできる。同様に、鍵保持デバイス102がネットワークデバイス112の所定の近さに置かれているとき、鍵管理ユニット104は、自動的にネットワークデバイス112(登録状態にある)を登録解除できる。ネットワーク112を登録すると判断された場合、制御はブロック214に流れる。ネットワークデバイス112を登録解除すると判断された場合、制御はブロック204に流れる。
[0099] ブロック204で、ネットワークデバイスを登録解除するという判断に応答して、鍵保持デバイス102は、ネットワークデバイス112が登録状態にあるかどうか判断する。例えば、鍵管理ユニット104は、ネットワークデバイス112と1つまたは複数のメッセージを交換して、ネットワークデバイス112が登録状態にあるかどうか判断できる。いくつかの実装形態において、鍵管理ユニット104は、ネットワークデバイス112が登録状態にあるかどうか判断するために、メッセージの交換中にネットワークデバイス112から受信された情報を処理し得る。他の実装形態において、鍵管理ユニット104は、メッセージの交換中に、ネットワークデバイス112のステータスについての情報を受信できる。例えば、ネットワークデバイス112のステータスは、ネットワークデバイス112が登録状態にあるかどうかを示し得る。ネットワークデバイス112が登録状態にある場合、制御はブロック208に流れる。ネットワークデバイス112が登録状態にない場合、制御がブロック206に流れる。
[00100] ブロック206で、ネットワークデバイスの未登録ステータス(unregistered status)が表示される。一実装形態において、鍵保持デバイス102内のディスプレイユニットは、ネットワークデバイス112が登録解除されていることを表示できる。例えば、ブロック204で、ネットワークデバイス112が登録状態にないと判断すると、鍵管理104ユニットは、鍵保持デバイス102のディスプレイユニットに、ネットワークデバイス112が登録解除されていることを表示するよう命令し得る。いくつかの実装形態において、ネットワークデバイス112は、表示能力も有し、デバイスが登録解除されていることを表示できる。
[00101] ブロック208で、ネットワークデバイスが鍵保持デバイスに登録されているかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断する。例えば、鍵管理ユニット104は、初期メッセージ交換中にネットワークデバイス112から受信した情報を処理することによって、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断できる。いくつかの実装形態において、鍵管理ユニット104は、ネットワークデバイス112のステータスに関する、受信した情報に基づいて、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断し得る。ネットワークデバイス112が鍵保持デバイス102に登録されている場合、制御はブロック210に流れる。ネットワークデバイスが鍵保持デバイスに登録されていない場合、制御はブロック212に流れる。
[00102] ブロック210で、ネットワークデバイスを登録解除するための命令が送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための命令を送る。例えば、鍵管理ユニット104は、(鍵保持デバイス102に対応する)ネットワーク鍵とペアリングデータとを削除するための命令を、ネットワークデバイス112に送り得る。いくつかの実装形態において、鍵管理ユニット104はまた、鍵保持デバイス102に格納された、ネットワークデバイス112とペアになるためのどのペアリングデータも削除し得る。いくつかの実装形態において、ネットワークデバイス112の登録解除は、鍵保持デバイス102がそれ自体をネットワークデバイス112に対して安全に認証できる場合にのみ効果的であり得る。例えば、鍵保持デバイス102は、デバイス102が悪意のあるデバイスではないことを証明するために、ネットワークデバイス112と1つまたは複数のメッセージを交換すればよく、登録解除手順は、認証後に続けられ得る。
[00103] ブロック212で、ネットワークデバイスが鍵保持デバイスに登録されていないことを示すステータスが表示される。一実装形態において、鍵保持デバイス102内のディスプレイユニットが、ネットワークデバイス112が鍵保持デバイス102に登録されていないことを表示する。例えば、鍵管理ユニット104が、(ブロック208で行われた判断に依存して)ネットワークデバイス112が鍵保持デバイス102に登録されていないというメッセージを表示するよう、ディスプレイユニットに命令し得る。いくつかの実装形態において、ネットワークデバイス112も表示能力を有し、登録解除が許可されないことを示すために、鍵保持デバイス102に登録されていないことを表示できる。
[00104] ブロック214で、ネットワークデバイスを登録するという判断に応答して、鍵保持デバイス102は、ネットワークデバイス112が既に登録状態にあるかどうか判断する。例えば、鍵管理ユニット104が、ネットワークデバイス112と1つまたは複数のメッセージを交換して、ネットワークデバイス112が登録状態にあるかどうか判断できる。いくつかの実装形態において、鍵管理ユニット104は、ネットワークデバイス112が登録状態にあるかどうか判断するために、メッセージの交換中にネットワークデバイス112から受信された情報を処理し得る。他の実装形態において、鍵管理ユニット104は、メッセージの交換中に、ネットワークデバイス112のステータスについての情報を受信できる。例えば、ネットワークデバイス112のステータスは、ネットワークデバイス112が登録状態にあるかどうかを示し得る。ネットワークデバイス112が登録状態にある場合、制御はブロック216に流れる。ネットワークデバイス112が登録状態にない場合、制御はブロック218に流れる。
[00105] ブロック216で、ネットワークデバイスの登録済みステータスが表示される。一実装形態において、鍵保持デバイス102のディスプレイユニットが、ネットワークデバイス112が登録済みであることを表示する。例えば、鍵管理ユニット104は、(ブロック214で行われた判断に基づいて)ネットワークデバイス112が登録済みであることを表示するよう、ディスプレイユニットに命令し得る。いくつかの実装形態において、ネットワークデバイス112も表示能力を有し、登録済みステータスを表示できる。
[00106] ブロック218で、ネットワークデバイスがネットワーク鍵を含むかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112がネットワーク鍵を含むかどうか判断する。例えば、ネットワークデバイス112は、ネットワークデバイス112とのメッセージの交換中に受信した情報に基づいて、ネットワークデバイス112がネットワーク鍵を含むかどうか判断する。ネットワークデバイス112がネットワーク鍵を含む場合、制御はブロック220に流れる。ネットワークデバイス112がネットワーク鍵を含まない場合、制御はブロック222に流れる。
[00107] ブロック220で、ネットワークデバイスがネットワーク鍵を含む場合、ネットワークデバイスを登録するための命令が送られ、ネットワークデバイスからネットワーク鍵が受信される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための命令を送り、ネットワークデバイス112からネットワーク鍵を受信する。例えば、鍵管理ユニット104は、ネットワークデバイス112に格納されたペアリングデータを更新するための命令を送る。鍵管理ユニット104は、ネットワークデバイス112との安全な通信チャネルを確立し、安全な通信チャネルを介して、ネットワークデバイス112にあるペアリングデータを更新するための命令を送ることができる。鍵管理ユニット104は、安全な通信チャネルを介して、ネットワークデバイス112に対して通信ネットワーク100のネットワーク鍵も要求し得る。例えば、ネットワークデバイス112は、通信ネットワーク100を用いて既に構成されていてよく、通信ネットワーク100のネットワーク鍵はネットワークデバイス112に格納されていてよい。鍵管理ユニット104は、安全な通信チャネルを介してネットワークデバイス112から通信ネットワーク100のネットワーク鍵を受信でき、ネットワーク鍵を鍵保持デバイス102に格納し得る。
[00108] ブロック222で、ネットワークデバイスがネットワーク鍵を含む場合、ネットワークデバイスを登録するための命令が送られ、ネットワークデバイスにネットワーク鍵が送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための命令を送り、ネットワークデバイス112に通信ネットワーク100のネットワーク鍵を送る。例えば、鍵管理ユニット104は、ネットワークデバイス112にあるペアリングデータを更新するための命令を送る。鍵管理ユニット104は、ネットワークデバイス112との安全な通信チャネルを確立し、安全な通信チャネルを介して、ネットワークデバイス112にあるペアリングデータを更新するための命令を送ることができる。鍵管理ユニットは、安全な通信チャネルを介して、ネットワークデバイス112に通信ネットワーク100のネットワーク鍵も送ることができる。例えば、鍵保持デバイス102は、通信ネットワーク100を用いて構成されてよく、通信ネットワーク100のネットワーク鍵は、鍵保持デバイス102に格納できる。鍵保持デバイス102は、通信ネットワーク100のネットワーク鍵をネットワークデバイス112に送り得る。いくつかの実装形態において、鍵保持デバイス102は通信ネットワーク100を用いて構成されなくてよく、通信ネットワーク100のネットワーク鍵は鍵保持デバイス102に格納されなくてよい。鍵保持デバイス102は、新しいランダムなネットワーク鍵を生成し、ネットワーク鍵をネットワークデバイス112に送ることができる。
[00109] 図2のフロー図に記載した手順は本質的に例示であり、簡単にするために、全ての手順が図2のフロー図に記載されているとは限らないことに留意されたい。1つまたは複数の手順が、異なる順序で行われてよいことにさらに留意されたい。例えば、(ブロック220および222で)ネットワークデバイス112を登録するための命令は、ネットワークデバイス112がネットワーク鍵を含むかどうかの判断に先立って送られ得る。
[00110] 図3は、第1および第2の構成技法を使ってネットワークデバイスを構成するための例示的動作のフロー図を示す。図3は、通信デバイスを使ってネットワークデバイスを構成するための、第1の構成技法(図5〜図6において後で説明する)と第2の構成技法(図7〜図8において後で説明する)の両方に共通する例示的動作を記述する。一例において、通信デバイスは、本明細書に記載する通信ネットワークの鍵保持デバイス(例えば、図1に示す通信ネットワーク100の鍵保持デバイス102)と呼ばれ得る。通信デバイス(または鍵保持デバイス)は、通信ネットワーク(例えば、通信ネットワーク100)の構成デバイスとも呼ばれ得る。
[00111] ブロック302で、ネットワークデバイスとのペアリング動作が、短距離通信接続を介して通信デバイスにおいて開始される。一実装形態において、鍵保持デバイス102が、NFCを介してネットワークデバイス112とのペアリング動作を開始する。例えば、鍵保持デバイス102の鍵管理ユニット104が、ネットワークデバイス112の登録管理ユニット113とのペアリング動作を開始して、ネットワークデバイスを登録し、または登録解除し得る。いくつかの実装形態において、鍵管理ユニット104は、ユーザ入力に基づいて、登録管理ユニット113とのペアリング動作を開始し得る。他の実装形態において、鍵管理ユニット104は、鍵保持デバイス102がネットワークデバイス112の付近にあるとき、および短距離通信リンクが確立されるとすぐに、登録管理ユニット113とのペアリング動作を開始し得る。フローはブロック304に続く。
[00112] ブロック304で、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102がネットワークデバイス112に登録または登録解除要求を送信した後、ネットワークデバイス112から受信した1つまたは複数の応答メッセージに基づいて、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断する。例えば、鍵管理ユニット104は、1つまたは複数の登録または登録解除要求と応答メッセージとを、ネットワークデバイス112の登録管理ユニット113と交換して、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断できる。図5、図6、図7および図8は、段階A〜D2におけるそのようなメッセージ交換を示し、これについては後で詳細に説明する。ネットワークデバイス112が未登録状態にある場合、制御はブロック306に流れ、鍵管理ユニット104は登録手順を行い得る。ネットワークデバイス112が登録状態にある場合、制御はブロック312に流れ、鍵管理ユニット104は登録解除手順を行い得る。
[00113] ブロック306で、ネットワークデバイス112との安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112の登録管理ユニット113との安全な通信チャネルを確立する。例えば、鍵管理ユニット104は、鍵共有、鍵導出および鍵確認手順を行うことによって、安全な通信チャネルを確立できる。鍵管理ユニット104およびネットワークデバイス112は、安全な通信チャネルのための1つまたは複数の安全なチャネル鍵(例えば、完全性鍵、暗号化鍵、およびシーケンス番号カウンタ)を判断し、安全なチャネル鍵を保存できる。例えば、鍵管理ユニット104およびネットワークデバイス112は、図5および図7の段階Eで、鍵共有、鍵導出、および鍵確認手順を行う。フローはブロック308に続く。
[00114] ブロック308で、ネットワーク鍵が、ネットワークデバイスに送信される。一実装形態において、鍵管理ユニット104が、ブロック306で確立された安全な通信チャネルを介して、通信ネットワークのネットワーク鍵をネットワークデバイス112の登録管理ユニット113に送信する。例えば、図5および図7において、鍵管理ユニット104は、段階Fで登録管理ユニット113にネットワーク鍵を送信する。ネットワーク鍵を受信すると、登録管理ユニット113は、ネットワーク鍵を保存し、通信ネットワーク100を用いてネットワークデバイス112を構成する(例えば、通信ネットワーク100に加わる)ことができる。また、登録手順が完了すると、鍵管理ユニット104および登録管理ユニット113は、それぞれ、鍵保持デバイス102およびネットワークデバイス112に格納されたペアリングデータ(例えば、図5のデバイス識別子および安全なチャネル鍵、並びに図7の公開鍵)を更新できる。
[00115] ブロック312で、ネットワークデバイスが通信デバイスに登録されているかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断する。例えば、鍵管理ユニット104は、図6および図8の段階D1およびD2でのメッセージ交換に基づいて、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断できる。鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されているときだけ、登録解除手順を進め得る。ネットワークデバイス112が鍵保持デバイス102に登録されている場合、制御はブロック314に流れる。ネットワークデバイス112が鍵保持デバイス102に登録されていない場合、鍵管理ユニット104は登録解除手順を停止し得る。
[00116] ブロック314で、ネットワークデバイスを登録解除するための少なくとも1つのメッセージが、ネットワークデバイスに送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための少なくとも1つのメッセージを、ネットワークデバイス112内の登録管理ユニット113に送る。一実装形態において、鍵管理ユニット104は、安全な通信チャネルを介して、ネットワークデバイス112を登録解除するための命令を送ることができる。例えば、図6において、ネットワークデバイス112および鍵保持デバイス102は、安全なチャネル鍵を、ペアリングデータの一部として格納する。鍵管理ユニット104は、図6の段階E1〜Fに示すように、安全なチャネル鍵を使用して、安全な通信チャネルを確立し、安全な通信チャネルを介して、ネットワークデバイス112を登録解除するための命令を送ることができる。登録解除するための命令を受信すると、ネットワークデバイス112内の登録管理ユニット113は、登録解除命令が鍵保持デバイス102から受信されたかどうか判断し得る。登録管理ユニット113は、登録解除命令が鍵保持デバイス102から受信されたのではない場合、エラーにフラグを付け得る。別の実施態様において、鍵管理ユニット104は、図8の段階Eに示すように、鍵共有、鍵導出および鍵確認手順を行って、ユニット104のアイデンティティをネットワークデバイス112に対して証明できる。登録管理ユニット113は、鍵共有、鍵導出、および鍵確認手順が成功しなかった場合、登録解除手順を中止し得る。
[00117] 図3のフロー図に記載した手順は本質的に例示であり、簡単にするために、図3は、第1および第2の構成技法を実装するときに行われる動作全ての詳細を全て示しているとは限らないことに留意されたい。第1および第2の構成技法に関して鍵保持デバイス102およびネットワークデバイス112において行われる例示的動作の付加的詳細については、図5〜図8を参照して後でさらに説明する。
[00118] 図4は、第3、第4および第5の構成技法を使ってネットワークデバイスを構成するための例示的動作のフロー図を示す。図4は、通信デバイスを使ってネットワークデバイスを構成するための、第3の構成技法(図9〜図14において後で説明する)、第4の構成技法(図15〜図20において後で説明する)、および第5の構成技法(図21〜図23において後で説明する)に共通する例示的動作を記述する。一例において、通信デバイスは、本明細書に記載する通信ネットワークの鍵保持デバイス(例えば、図1に示す通信ネットワーク100の鍵保持デバイス102)と呼ばれ得る。通信デバイス(または鍵保持デバイス)は、通信ネットワーク(例えば、通信ネットワーク100)の構成デバイスとも呼ばれ得る。
[00119] ブロック402で、ネットワークデバイスとの第1のメッセージ交換が、通信デバイスにおいて開始される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112との第1のメッセージ交換を開始する。例えば、第1のメッセージ交換は、乱数と(乱数を使って暗号化された)暗号化データとを含み得る。第3、第4および第5の構成技法において、ペアリングデータは、鍵保持デバイス102に格納された登録鍵(RKk)と、ネットワークデバイス112に格納された登録鍵(RKn)とを含む。鍵保持デバイス102およびネットワークデバイス112は、それぞれ、ネットワーク鍵をNKおよびNK’として格納することもできる。第1のメッセージ交換中、鍵保持デバイス102は、乱数N1をもつ「hello」要求(本明細書において、登録または登録解除要求とも呼ばれ得る)を送ることができ、ネットワークデバイス112は、暗号化RKn、暗号化NK’および別の乱数N2で応答し得る(例えば、図9および図13の段階A〜Cに示すように)。ネットワークデバイス112は、鍵保持デバイス102に知られているハッシュアルゴリズムと、乱数N1とを使ってRKnを暗号化し得る。ネットワークデバイス112は、鍵保持デバイス102に知られているハッシュアルゴリズムを使ってNK’を暗号化してもよい。乱数N2は、鍵保持デバイス102によって、1つまたは複数のメッセージ交換において、ネットワークデバイス112に暗号化データを送るために使用できる。いくつかの実装形態において、第1のメッセージ交換は、鍵保持デバイス102からの、乱数についての要求、およびネットワークデバイス112からの、乱数を有する応答であり得る(図14および図20の段階A〜Cに、並びに図15および図18の段階A1〜A2に示すように)。いくつかの実装形態において、第1のメッセージ交換は、鍵保持デバイス102とネットワークデバイス112との間の安全な通信チャネルの確立であり得る(例えば、図21および図23の段階Aに示すように)。フローはブロック404に続く。
[00120] 段階404で、ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断される。一実装形態において、鍵管理ユニット104が、第1のメッセージ交換においてネットワークデバイス112から受信したデータを処理することによって、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断する。例えば、図9および図10は、段階DおよびKに、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断するための動作を示す。図13は、段階DおよびEに、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断するための動作を示す。いくつかの実装形態において、鍵管理ユニット104が、第1のメッセージ交換の後の後続メッセージ交換に基づいて、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断し得る。例えば、鍵管理ユニット104は、ネットワークデバイス112からネットワークデバイス112のステータスを受信し得る(図15、図18および図23の段階Hに、並びに図21の段階Iに示すように)。いくつかの実装形態において、鍵管理ユニット104は、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるか判断しなくてよく、代わりに鍵管理ユニット104は、ユーザからの入力に基づいて、ネットワークデバイス112を登録し、または登録解除するように進んでよい。例えば、図14および図20において、ネットワークデバイス112が登録状態にあるか、それとも未登録状態にあるかは判断されず、代わりに、段階Eで、登録解除要求がネットワークデバイス112に送られる。ネットワークデバイス112が登録状態にあると判断された場合、制御はブロック414に流れ、ネットワークデバイス112を登録解除するための登録解除手順が行われ得る。ネットワークデバイス112が未登録状態にあると判断された場合、制御はブロック406に流れ、ネットワークデバイス112を登録するための登録手順が行われ得る。
[00121] ブロック406で、ネットワークデバイスを登録するための少なくとも1つの登録鍵が、ネットワークデバイスに送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための少なくとも1つの登録鍵を、ネットワークデバイス112に送る。例えば、鍵管理ユニット104は、RKkをネットワークデバイス112に送り得る。鍵管理ユニット104は、(例えば、鍵共有、鍵導出および鍵確認手順を使って)安全な通信チャネルを確立し、安全な通信チャネルを介してRKkを送ることができる(例えば、図9の段階Hに、図16の段階N2、および図21の段階Bに示すように)。いくつかの実装形態において、鍵保持デバイス102に格納されたRKkがヌルのとき、鍵管理ユニット104は、新しいランダムなRKkを生成し、RKkをネットワークデバイス112に送り得る。フローはブロック408に続く。
[00122] ブロック408で、ネットワーク鍵がネットワークデバイスに格納されているかどうか判断される。一実装形態において、鍵管理ユニット104が、第1のメッセージ交換においてネットワークデバイス112から受信したデータを処理することによって、ネットワーク鍵がネットワークデバイス112に格納されているかどうか判断する。例えば、鍵管理ユニット104は、ネットワークデバイス112から受信した暗号化NK’がヌルかどうか判断する(例えば、図10の段階Mに、図16の段階Qに示すように)。いくつかの実装形態において、第1のメッセージ交換の後の後続メッセージ交換においてネットワークデバイス112によって送られるステータスは、ネットワーク鍵がネットワークデバイス112に格納されているかどうかを示し得る(例えば、図22の段階Lに示すように)。ネットワーク鍵がネットワークデバイス112に格納されていると判断すると、鍵管理ユニット104は、ネットワークデバイス112に格納されたネットワーク鍵を使用することを決定でき、制御はブロック410に流れる。ネットワーク鍵がネットワークデバイス112に格納されていない場合、制御はブロック412に流れる。
[00123] ブロック410で、ネットワーク鍵が、ネットワークデバイス112から受信される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112内の登録管理ユニット113からネットワーク鍵を受信する。例えば、鍵管理ユニット104は、ネットワーク鍵を受信するために、ネットワーク鍵「入手」要求を登録管理ユニット113に送り得る。いくつかの実装形態において、ネットワーク鍵入手要求は、暗号化RKkを含み得る(例えば、図11の段階O2および図16の段階Tに示すように)。RKkは、ネットワークデバイス112に知られているハッシュアルゴリズムを使って、およびネットワークデバイス112から受信したN2を使って暗号化され得る。いくつかの実装形態において、ネットワーク鍵入手要求は、安全な通信チャネルを介して送ることができ、暗号化RKkを含まなくてよい(図22の段階Nに示すように)。ネットワーク鍵入手要求に応答して、鍵管理ユニット104は、ネットワークデバイス112に格納されたネットワーク鍵を受信し、ネットワーク鍵を保存し得る。
[00124] ブロック412で、ネットワーク鍵が、ネットワークデバイスに送られる。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたネットワーク鍵をネットワークデバイス112内の登録管理ユニット113に送る。例えば、鍵管理ユニット104は、ネットワークデバイス112にネットワーク鍵「設定」要求を送り得る。ネットワーク鍵設定要求は、ネットワーク鍵と暗号化RKkとを含み得る(例えば、図12の段階Yおよび図17の段階ADに示すように)。RKkは、ネットワークデバイス112に知られているハッシュアルゴリズムを使って、およびネットワークデバイス112から受信したN2を使って暗号化され得る。いくつかの実装形態において、ネットワーク鍵設定要求は、安全な通信チャネルを介して送ることができ、暗号化RKkを含まなくてよい(例えば、図22の段階Uに示すように)。ネットワーク鍵設定要求に応答して、鍵管理ユニット104は、ネットワーク鍵がネットワークデバイス112に保存されているという確認応答を含み得るネットワーク鍵設定応答を、ネットワークデバイス112から受信できる。
[00125] ブロック414で、ネットワークデバイスが通信デバイスに登録されているかどうか判断される。一実装形態において、鍵管理ユニット104が、第1のメッセージ交換中に受信したデータを処理することによって、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断する。別の実施態様において、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断しなくてよく、代わりに鍵管理ユニット104は、ネットワークデバイス112に登録解除要求を送り得る。ネットワークデバイス112は、登録解除要求に基づいて、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断し得る(ブロック416に記載するように)。いくつかの実装形態において、鍵管理ユニット104は、ネットワークデバイス112から受信した(第1のメッセージ交換中に受信した)暗号化RKnが、(ネットワークデバイス112によってRKnを暗号化するために使用された同じ乱数とハッシュアルゴリズムとを使って暗号化された)暗号化RKkと一致するかどうか検証して、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断できる(例えば、図13の段階Eに示すように)。他の実装形態において、鍵管理ユニット104は、(例えば、図18の段階Iで)ネットワークデバイス112から受信したネットワークデバイス112のステータスに基づいて、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断できる。ネットワークデバイス112が鍵保持デバイス102に登録されている場合、制御はブロック416に流れる。ネットワークデバイス112が鍵保持デバイス102に登録されていない場合、鍵保持デバイス102は、ネットワークデバイス112を登録解除できない可能性がある。
[00126] ブロック416で、ネットワークデバイスを登録解除するための少なくとも1つの命令が送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための命令を送る。例えば、鍵管理ユニット104は、ネットワークデバイス112内の登録管理ユニット113に登録解除要求を送り得る。登録解除要求は、暗号化RKkを含み得る(図13の段階Gに、図14の段階Eに、図19の段階Lに、および図20の段階Eに示すように)。RKkは、ネットワークデバイス112に知られているハッシュアルゴリズムを使って、およびネットワークデバイス112から受信した乱数を使って暗号化され得る。いくつかの実装形態において、鍵管理ユニット104は、暗号化RKkを有する登録解除要求を必ずしも送らなくてよく、登録解除要求は、暗号化RKkではなくRKkを含んでよい(例えば、図23の段階Bに示すように)。いくつかの実装形態において、登録解除要求を受信すると、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断できる(例えば、図14の段階Fに、図19の段階Mに、図20の段階Fに、および図23の段階Eに示すように)。ネットワークデバイス112が鍵保持デバイス102に登録されている場合、登録管理ユニット113は、ネットワークデバイス112を登録解除するための1つまたは複数の動作を行い、鍵管理ユニット104に登録解除応答を送り得る。ネットワークデバイス112が鍵保持デバイス102に登録されていない場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていないことを鍵管理ユニット104に対して示し得る。
[00127] 図4のフロー図に記載した手順は本質的に例示であり、簡単にするために、図4は、第3、第4および第5の構成技法を実装するときに行われる動作全ての詳細を全て示しているとは限らないことに留意されたい。第3、第4および第5の構成技法に関して鍵保持デバイス102およびネットワークデバイス112において行われる例示的動作の付加的詳細については、図9〜図23を参照して後でさらに説明する。
[00128] 図5は、第1の構成技法を使ってネットワークデバイスを登録するための例示的動作のシーケンス図を示す。図5は、(図1を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102上に格納されたペアリングデータが、ネットワークデバイスのデバイス識別子(IDY)と、完全性鍵(KI)と、暗号化鍵(KE)と、シーケンス番号カウンタ(SN)とを含むとき、第1の構成技法を使用し得る。ネットワークデバイス112上に格納されたペアリングデータは、鍵保持デバイスのデバイス識別子(IDB)と、完全性鍵(KI’)と、暗号化鍵(KE’)と、シーケンス番号カウンタ(SN’)とを含み得る。IDY、KI、KE、SN、IDB、KI’、KE’、およびSN’は、鍵保持デバイス102およびネットワークデバイス112にペアリングデータを格納するための例示的変数を表すことに留意されたい。鍵保持デバイス102のデバイス識別子はIDAであり、ネットワークデバイス112のデバイス識別子はIDXであることにも留意されたい。鍵保持デバイス102は、鍵保持デバイス102に登録された複数のネットワークデバイスに対応する複数のペアリングデータセット(すなわち、IDY、KI、KE、およびSN)を格納することが可能であることにさらに留意されたい。図5は、一連の段階A〜I2における、ネットワークデバイス112を登録するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図5は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00129] 段階Aで、ネットワークデバイス112に登録要求が送られる。一実装形態において、鍵保持デバイス102内の鍵管理ユニット104が、登録管理ユニット113に登録要求を送る。例えば、登録要求は、IDAと、ネットワークデバイス112にあるペアリングデータを更新するための命令とを含み得る。
[00130] 段階Bで、IDBがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたIDBの値がヌルかどうか判断する。IDBがヌルの場合、登録管理ユニット113は、段階C2で、鍵管理ユニット104に応答を送る。IDBがヌルでない場合、登録管理ユニット113は、段階C1で、IDBがIDAに等しいかどうか判断し得る。
[00131] 段階C1で、IDBがIDAに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、IDBがIDAに等しいかどうか判断する。IDBがIDAに等しい場合、登録管理ユニット113は、段階D1で、鍵管理ユニット104に応答を送る。IDBがIDAに等しくない場合、登録管理ユニット113は、段階D2で、鍵管理ユニット104に応答を送る。
[00132] 段階C2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にOK応答を送る。例えば、OK応答は、ネットワークデバイス112が登録される準備ができているという確認応答を含んでよく、IDXを含んでもよい。
[00133] 段階D1で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が鍵保持デバイス102に既に登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00134] 段階D2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が別の鍵保持デバイスに登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00135] 段階Eで、安全な通信チャネルを確立するための鍵共有、鍵導出および鍵確認動作が行われる。一実装形態において、鍵管理ユニット104および登録管理ユニット113が、安全な通信チャネルを確立するための鍵共有、鍵導出および鍵確認動作を行う。例えば、鍵管理ユニット104および登録管理ユニット113は、安全なチャネル鍵(例えば、暗号化鍵、完全性鍵、およびシーケンス番号カウンタ)を判断できる。鍵管理ユニット104および登録管理ユニット113は、安全なチャネル鍵を使って安全な通信チャネルを確立できる。安全な通信チャネルは、鍵保持デバイス102とネットワークデバイス112との間で交換されるどのメッセージについても、完全性およびリプレイ保護を保証できる。鍵管理ユニット104および登録管理ユニット113は、鍵保持デバイス102とネットワークデバイス112との間に安全な通信チャネルが存在する限り、暗号化鍵と、完全性鍵と、シーケンス番号カウンタとを格納できる。鍵管理ユニット104および登録管理ユニット113は、段階I1およびI2において後で説明するように、安全なチャネル鍵をペアリングデータとして格納することもできる。
[00136] 段階Fで、安全な通信チャネルを介してネットワーク鍵が送られる。一実装形態において、鍵管理ユニット104が、安全な通信チャネルを介して、鍵保持デバイス102に格納された通信ネットワーク100のネットワーク鍵を登録管理ユニット113に送る。例えば、鍵管理ユニット104は、メッセージ生成のとき、シーケンス番号カウンタ(SN)の値とともに、メッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)中でネットワーク鍵を送り得る。ネットワークデバイス112および鍵保持デバイス102に格納されたシーケンス番号カウンタは、メッセージが生成される度に増分され得ることに留意されたい。
[00137] 段階Gで、ネットワーク鍵が鍵保持デバイス102から受信されたのかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断する。例えば、登録管理ユニット113は、段階Fで受信したメッセージ中のシーケンス番号カウンタの値を使用して、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断できる。登録管理ユニット113は、鍵保持デバイス102から受信された最後のメッセージの後、段階Fで受信したメッセージ中のシーケンス番号カウンタの値が順序通りであることを検証することによって、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断できる。ネットワーク鍵が鍵保持デバイス102から受信されたものでない場合、登録管理ユニット113は、段階H1で、鍵管理ユニット104にエラーメッセージを送り得る。ネットワーク鍵が鍵保持デバイス102から受信された場合、登録管理ユニット113は、段階H2で、安全な通信チャネルを介して鍵管理ユニット104に登録確認メッセージを送り得る。
[00138] 段階H1で、鍵保持デバイス102にエラーメッセージが送られる。一実装形態において、登録管理ユニット113が、段階Fでネットワークデバイス112に送られたネットワーク鍵が、鍵保持デバイス102からは送られなかったことを示すためのエラーメッセージを、鍵管理ユニット104に送る。いくつかの実装形態において、段階H1でエラーメッセージを受信すると、鍵管理ユニット104は、段階Fでの動作を繰り返して、登録管理ユニット113にネットワーク鍵を送り得る。
[00139] 段階H2で、安全な通信チャネルを介して、鍵保持デバイス102に登録確認メッセージが送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112においてNKの受信が成功したことを鍵管理ユニット104に対して示すための登録確認メッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)を、安全な通信チャネルを介して送る。
[00140] 段階I1で、鍵保持デバイス102にあるペアリングデータが更新される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納された(ネットワークデバイス112に対応する)ペアリングデータを更新する。例えば、鍵管理ユニット104は、IDYを(段階C2で受信した)IDXに等しく、KIを安全な通信チャネルの完全性鍵に等しく、KEを安全な通信チャネルの暗号化鍵に等しく、およびSNを安全な通信チャネルのシーケンス番号カウンタに等しく設定し得る。
[00141] 段階I2で、ネットワークデバイス112にあるペアリングデータが更新される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたペアリングデータを更新する。例えば、登録管理ユニット113は、IDBを(段階Aで受信した)IDAに等しく、KI’を安全な通信チャネルの完全性鍵に等しく、KE’を安全な通信チャネルの暗号化鍵に等しく、およびSN’を安全な通信チャネルのシーケンス番号カウンタに等しく設定し得る。
[00142] 図6は、第1の構成技法を使ってネットワークデバイスを登録解除するための例示的動作のシーケンス図を示す。図6は、(図5を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが図5に記載したペアリングデータと同様のとき、ネットワークデバイス112を登録解除するための第1の構成技法を使用できる。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、IDYはIDXに等しく、IDBはIDAに等しく、KI’は、登録中に確立された安全な通信チャネルの完全性鍵に等しいKIに等しく、KE’は、安全な通信チャネルの暗号化鍵に等しいKEに等しく、SN’は、安全な通信チャネルのシーケンス番号に等しいSNに等しいことに留意されたい。図6は、一連の段階A〜I2における、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図6は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00143] 段階Aで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵保持デバイス102内の鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、登録解除する(すなわち、ペアリングデータをクリアする)ための命令と、IDAとを含み得る。
[00144] 段階Bで、IDBがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたIDBの値がヌルかどうか判断する。IDBがヌルの場合、登録管理ユニット113は、段階C1で、鍵管理ユニット104に応答を送る。IDBがヌルでない場合、登録管理ユニット113は、段階C2で、IDBがIDAに等しいかどうか判断し得る。
[00145] 段階C1で、鍵保持デバイス102に応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット102に応答を送る。例えば、応答は、ネットワークデバイス102が登録解除されている(すなわち、どの鍵保持デバイスにも登録されていない)ことを鍵管理ユニット104に対して示し得る。
[00146] 段階C2で、IDBがIDAに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、IDBがIDAに等しいかどうか判断する。IDBがIDAに等しい場合、登録管理ユニット113は、段階D2で、鍵管理ユニット104に応答を送る。IDBがIDAに等しくない場合、登録管理ユニット113は、段階D1で、鍵管理ユニット104に応答を送る。
[00147] 段階D1で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が別の鍵保持デバイスに登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00148] 段階D2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にOK応答を送る。例えば、OK応答は、ネットワークデバイス112が登録解除される準備ができているという確認応答を含み得る。OK応答は、IDXも含み得る。
[00149] 段階E1で、ネットワークデバイス112用に安全なチャネル鍵が決定される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112用に安全なチャネル鍵を決定する。例えば、鍵管理ユニット104は、段階D2で受信したIDXに基づいて、安全なチャネル鍵を決定する。鍵管理ユニット104は、ネットワークデバイス112の登録中に、鍵保持デバイス102に格納された安全なチャネル鍵(例えば、完全性鍵、暗号化鍵、およびシーケンス番号カウンタ)をルックアップし得る。
[00150] 段階E2で、安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、段階E1で決定した安全なチャネル鍵を使って、登録管理ユニット113との安全な通信チャネルを確立する。安全な通信チャネルは、鍵保持デバイス102とネットワークデバイス112との間で交換されるメッセージについて、完全性およびリプレイ保護を保証できる。
[00151] 段階Fで、ネットワークデバイス112を登録解除するための1つまたは複数の命令が、安全な通信チャネルを介して送られる。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための1つまたは複数の命令を有するメッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)を、登録管理ユニット113に送り得る。例えば、メッセージは、ペアリングデータをクリアするための命令と、ネットワークデバイス112に格納されたネットワーク鍵とを含み得る。メッセージは、メッセージ生成のときのシーケンス番号カウンタ(SN)の値も含み得る。ネットワークデバイス112および鍵保持デバイス102に格納されたシーケンス番号カウンタは、メッセージが生成される度に増分され得ることに留意されたい。
[00152] 段階Gで、命令が鍵保持デバイス102から受信されたのかどうか判断される。一実装形態において、登録管理ユニット113が、命令が鍵保持デバイス102から受信されたかどうか判断する。例えば、登録管理ユニット113は、段階Fで受信したメッセージ中のシーケンス番号カウンタ(SN)の値を使用して、命令が鍵保持デバイス102から受信されたかどうか判断できる。登録管理ユニット113は、鍵保持デバイス102から受信された最後のメッセージの後、段階Fで受信したメッセージ中のシーケンス番号カウンタの値が順序通りであることを検証することによって、命令が鍵保持デバイス102から受信されたかどうか判断できる。命令が鍵保持デバイス102から受信されていない場合、登録管理ユニット113は、段階H1で、鍵管理ユニット104にエラーメッセージを送り得る。命令が鍵保持デバイス102から受信された場合、登録管理ユニット113は、段階H2で、安全な通信チャネルを介して鍵管理ユニット104に登録解除確認メッセージを送り得る。
[00153] 段階H1で、鍵保持デバイス102にエラーメッセージが送られる。一実装形態において、登録管理ユニット113が、段階Fで受信した命令が、鍵保持デバイス102からは送られなかったことを示すためのエラーメッセージを、鍵管理ユニット104に送る。いくつかの実装形態において、段階H1でエラーメッセージを受信すると、鍵管理ユニット104は、ネットワークデバイス112を登録解除するための命令を再送し得る。
[00154] 段階H2で、安全な通信チャネルを介して、鍵保持デバイス102に登録解除確認メッセージが送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112において、鍵保持デバイス102からの、登録解除するための命令の受信が成功したことを鍵管理ユニット104に示すための登録解除確認メッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)を、安全な通信チャネルを介して送る。
[00155] 段階I1で、鍵保持デバイス102にあるペアリングデータがクリアされる。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納された(ネットワークデバイス112に対応する)ペアリングデータをクリアする。例えば、鍵管理ユニット104は、IDYと、KIと、KEと、SNとをヌルに等しく設定し得る。
[00156] 段階I2で、ネットワークデバイス112に格納されたペアリングデータおよびネットワーク鍵がクリアされる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたペアリングデータをクリアする。例えば、登録管理ユニット113は、IDBと、KI’と、KE’と、SN’とをヌルに等しく設定し得る。登録管理ユニット113は、ネットワークデバイス112に格納されたネットワーク鍵(鍵保持デバイス102への登録中に受信された)を削除してもよい。
[00157] 図7は、第2の構成技法を使ってネットワークデバイスを登録するための例示的動作のシーケンス図を示す。図7は、(図1を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、ネットワークデバイス112上に格納されたペアリングデータが鍵保持デバイスの公開鍵を含むとき、第2の構成技法を使用できる。例えば、ネットワークデバイス112は、公開鍵を変数QBに格納し得る。鍵保持デバイス102の公開鍵はQAであり、ネットワークデバイス112が鍵保持デバイス102に登録されているとき、QBはQAと設定され得ることに留意されたい。第2の構成技法において、鍵保持デバイス102は、鍵保持デバイス102とペアリングされたネットワークデバイスについてのペアリングデータを格納しないことにも留意されたい。図7は、一連の段階A〜Iにおける、ネットワークデバイス112を登録するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図7は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00158] 段階Aで、ネットワークデバイス112に登録要求が送られる。一実装形態において、鍵保持デバイス102内の鍵管理ユニット104が、登録管理ユニット113に登録要求を送る。例えば、登録要求は、登録するための命令とQAとを含み得る。
[00159] 段階Bで、QBがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたQBの値がヌルかどうか判断する。QBがヌルの場合、登録管理ユニット113は、段階C2で、鍵管理ユニット104に応答を送る。QBがヌルでない場合、登録管理ユニット113は、段階C1で、QBがQAに等しいかどうか判断し得る。
[00160] 段階C1で、QBがQAに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、QBがQAに等しいかどうか判断する。QBがQAに等しい場合、登録管理ユニット113は、段階D1で、鍵管理ユニット104に応答を送る。QBがQAに等しくない場合、登録管理ユニット113は、段階D2で、鍵管理ユニット104に応答を送る。
[00161] 段階C2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に応答を送る。例えば、応答は、ネットワークデバイス112が鍵保持デバイス102に登録される準備ができているという確認応答を含み得る。
[00162] 段階D1で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が鍵保持デバイス102に既に登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00163] 段階D2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が別の鍵保持デバイスに登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00164] 段階Eで、安全な通信チャネルを確立するための鍵共有、鍵導出および鍵確認動作が行われる。一実装形態において、鍵管理ユニット104および登録管理ユニット113が、安全な通信チャネルを確立するための鍵共有、鍵導出および鍵確認動作を行う。例えば、鍵管理ユニット104および登録管理ユニット113は、安全なチャネル鍵(例えば、暗号化鍵、完全性鍵、およびシーケンス番号カウンタ)を判断できる。鍵管理ユニット104および登録管理ユニット113は、安全なチャネル鍵を使って安全な通信チャネルを確立できる。安全な通信チャネルは、鍵保持デバイス102とネットワークデバイス112との間で交換されるメッセージについて、完全性およびリプレイ保護を保証できる。鍵管理ユニット104および登録管理ユニット113は、鍵保持デバイス102とネットワークデバイス112との間に安全な通信チャネルが存在する限り、暗号化鍵、完全性鍵、およびシーケンス番号カウンタを格納できる。
[00165] 段階Fで、安全な通信チャネルを介してネットワーク鍵が送られる。一実装形態において、鍵管理ユニット104が、安全な通信チャネルを介して、鍵保持デバイス102に格納された通信ネットワーク100のネットワーク鍵を登録管理ユニット113に送る。例えば、鍵管理ユニット104は、メッセージ生成のとき、メッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)においてネットワーク鍵をシーケンス番号カウンタの値と共に送り得る。ネットワークデバイス112および鍵保持デバイス102に格納されたシーケンス番号カウンタは、メッセージが生成される度に増分され得ることに留意されたい。
[00166] 段階Gで、ネットワーク鍵が鍵保持デバイス102から受信されたのかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断する。例えば、登録管理ユニット113は、段階Fで受信したメッセージ中のシーケンス番号カウンタの値を使用して、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断できる。登録管理ユニット113は、鍵保持デバイス102から受信された最後のメッセージの後、メッセージ中のシーケンス番号カウンタの値が順序通りであることを検証することによって、ネットワーク鍵が鍵保持デバイス102から受信されたかどうか判断できる。ネットワーク鍵が鍵保持デバイス102から受信されたものでない場合、登録管理ユニット113は、段階H1で、鍵管理ユニット104にエラーメッセージを送り得る。ネットワーク鍵が鍵保持デバイス102から受信された場合、登録管理ユニット113は、段階H2で、安全な通信チャネルを介して鍵管理ユニット104に登録確認メッセージを送り得る。
[00167] 段階H1で、鍵保持デバイス102にエラーメッセージが送られる。一実装形態において、登録管理ユニット113が、段階Fでネットワークデバイス112から受信したネットワーク鍵が、鍵保持デバイス102から送られなかったことを示すためのエラーメッセージを、鍵管理ユニット104に送る。いくつかの実装形態において、段階H1でエラーメッセージを受信すると、鍵管理ユニット104は、ネットワーク鍵を登録管理ユニット113に再送し得る。
[00168] 段階H2で、安全な通信チャネルを介して、鍵保持デバイス102に登録確認メッセージが送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112においてネットワーク鍵の受信が成功したことを鍵管理ユニット104に示すための登録確認メッセージ(例えば、暗号化鍵を使って暗号化されたメッセージ)を、安全な通信チャネルを介して送る。
[00169] 段階Iで、ネットワークデバイス112にあるペアリングデータが更新され、ネットワーク鍵が保存される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたペアリングデータを更新する。例えば、登録管理ユニット113は、QBを(段階Aで受信した)QAに等しく設定して、ペアリングデータを更新し得る。登録管理ユニット113は、段階Fで鍵管理ユニット104から受信したネットワーク鍵をネットワークデバイス112に保存してもよい。
[00170] 図8は、第2の構成技法を使ってネットワークデバイスを登録解除するための例示的動作のシーケンス図を示す。図8は、(図7を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、ネットワークデバイス112上に格納されたペアリングデータが図7に記載したペアリングデータと同様のとき、ネットワークデバイス112を登録解除するための第2の構成技法を使用できる。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、QBはQAに等しいことに留意されたい。図8は、一連の段階A〜Gにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図8は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00171] 段階Aで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵保持デバイス102内の鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、登録解除する(すなわち、ペアリングデータをクリアする)ための命令と、QAとを含み得る。
[00172] 段階Bで、QBがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたQBの値がヌルかどうか判断する。QBがヌルの場合、登録管理ユニット113は、段階C1で、鍵管理ユニット104に応答を送る。QBがヌルでない場合、登録管理ユニット113は、段階C2で、QBがQAに等しいかどうか判断し得る。
[00173] 段階C1で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に応答を送る。例えば、応答は、ネットワークデバイス102が登録解除されている(すなわち、どの鍵保持デバイスにも登録されていない)ことを鍵管理ユニット104に対して示し得る。
[00174] 段階C2で、QBがQAに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、QBがQAに等しいかどうか判断する。QBがQAに等しい場合、登録管理ユニット113は、段階D1で、鍵管理ユニット104に応答を送る。QBがQAに等しくない場合、登録管理ユニット113は、段階D2で、鍵管理ユニット104に応答を送る。
[00175] 段階D1で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112が別の鍵保持デバイスに登録済みであることを示すための応答を、鍵管理ユニット104に送る。
[00176] 段階D2で、ネットワークデバイス112に応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に応答を送る。例えば、応答は、ネットワークデバイス112が登録解除される準備ができているという確認応答を含み得る。
[00177] 段階Eで、鍵共有、鍵導出および鍵確認動作が行われる。一実装形態において、鍵管理ユニット104および登録管理ユニット113が、鍵共有、鍵導出および鍵確認手順を行う。例えば、鍵管理ユニット104ユニットが、ユニット104のアイデンティティをネットワークデバイス112に対して証明するために、鍵共有、鍵導出、および鍵確認動作を開始できる(例えば、鍵確認の成功は、鍵保持デバイス102が、QBに関連付けられた秘密鍵(例えば、暗号化鍵)を知っているということを示すことになる)。いくつかの実装形態において、鍵管理ユニット104は、QBに関連付けられた秘密鍵を鍵保持デバイス102が知っているとき、(登録管理ユニット113に送られるメッセージ中の)完全性鍵(例えば、MAC)を有効と設定し得る。鍵保持デバイス102とネットワークデバイス112との間の鍵共有、鍵導出および鍵確認動作の成功により、ネットワークデバイス112は、鍵保持デバイス102を識別することが可能になり得る。
[00178] 段階F1で、鍵共有、鍵導出、および鍵確認動作が成功したかどうか判断される。一実装形態において、登録管理ユニット113が、鍵保持デバイス102との鍵共有、鍵導出、および鍵確認動作が成功したかどうか判断する。鍵共有、鍵導出、および鍵確認動作の成功により、登録管理ユニット113は、段階Aでの登録解除要求が鍵保持デバイス102から受信されたと判断できるようになり得る。いくつかの実装形態において、登録管理ユニット113は、段階Aでの登録解除要求が鍵保持デバイス102から受信されたと判断するために、鍵管理ユニット104から受信したメッセージ中の完全性鍵が有効かどうか判断する。鍵共有、鍵導出、および鍵確認動作が成功した場合、登録管理ユニット113は、(登録中に鍵保持デバイス102から受信した)ペアリングデータとネットワーク鍵とを段階F2でクリアする。鍵共有、鍵導出、および鍵確認動作が成功しなかった場合、登録管理ユニット113は、段階Gでネットワークデバイス112の登録解除を中止する。
[00179] 段階F2で、ネットワークデバイス112に格納されたペアリングデータおよびネットワーク鍵がクリアされる。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたペアリングデータとネットワーク鍵とをクリアする。例えば、登録管理ユニット113は、ネットワーク鍵を削除し、QBをヌルと設定し得る。いくつかの実装形態において、ペアリングデータとネットワーク鍵とをクリアすると、ネットワークデバイス112は、鍵保持デバイス102に確認メッセージを送り得る。
[00180] 段階Gで、登録解除が中止される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112の登録解除を中止する。例えば、段階F1で、鍵共有、鍵導出、および鍵確認動作が成功しなかったとき、登録管理ユニット113は、ネットワークデバイス112の登録解除を中止し得る。いくつかの実装形態において、登録管理ユニット113は、登録解除を中止すると、鍵管理ユニット104にエラーメッセージを送り得る。
[00181] 図9、図10、図11および図12は、第3の構成技法を使ってネットワークデバイスを登録するための例示的動作のシーケンス図を示す。図9、図10、図11および図12は、(図1を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102上に格納されたペアリングデータが登録鍵(RKk)を含み、ネットワークデバイス112上に格納されたペアリングデータが登録鍵(RKn)を含むとき、第3の構成技法を使用できる。鍵保持デバイス102およびネットワークデバイス112は、ネットワーク鍵(NK)とネットワーク鍵(NK’)とを格納することもできる。鍵保持デバイス102およびネットワークデバイス112は、RKkとRKnとを暗号化し、安全に交換するためのハッシュアルゴリズムに合意し得る。ハッシュアルゴリズムは、RKkとRKnとを暗号化するのに、乱数を使用し得る。例えば、乱数は、登録鍵と連結でき(すなわち、乱数のビットが、登録鍵に付加されて、連結された値を決定でき)、次いで、連結された値のハッシュ値が、登録鍵の暗号化値として算出され得る。乱数は、ネットワークデバイス112と鍵保持デバイス102との間のいかなる暗号化もなしで交換でき、ネットワークデバイス112および鍵保持デバイス102が、それらのデバイスの登録鍵を暗号化できるようにする。RKkおよびRKnは、それぞれ、鍵保持デバイス102およびネットワークデバイス112に登録鍵を格納するための例示的変数を表すことに留意されたい。同様に、NKおよびNK’は、それぞれ、鍵保持デバイス102およびネットワークデバイス112にネットワーク鍵を格納するための例示的変数を表す。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、RKkおよびRKnの値は等しいことにさらに留意されたい。また、ネットワークデバイス112が、鍵保持デバイス102によって管理される通信ネットワーク(すなわち、通信ネットワーク100)を用いて構成されているとき、NKおよびNK’の値は等しい。ネットワークデバイス112がどの鍵保持デバイスにも登録されていないとき、RKnおよびNK’はヌルでよいことにも留意されたい。いくつかの実装形態において、RKkおよびNKもヌルでよい(例えば、鍵保持デバイス102が通信ネットワーク100のネットワーク鍵をもたないとき)。但し、鍵保持デバイス102は、RKkおよび/またはNKの値がヌルのとき、RKkおよびNKのランダム値を生成するための能力を含む。図9、図10、図11および図12は、一連の段階A〜ADにおける、ネットワークデバイス112を登録するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図9、図10、図11および図12は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00182] 段階Aで、ネットワークデバイス112にhello要求が送られる。一実装形態において、鍵保持デバイス102内の鍵管理ユニット104が、登録管理ユニット113にhello要求を送る。例えば、hello要求は乱数N1を含み得る。乱数N1は、登録管理ユニット113によって、段階BでRKnを暗号化するために使用できる。
[00183] 段階Bで、RKnおよびNK’の暗号化値が算出される。一実装形態において、登録管理ユニット113が、RKnおよびNK’の暗号化値を算出する。例えば、登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値と、NK’のハッシュ値とを算出できる。RKnおよび/またはNK’がヌルのとき、RKnおよび/またはNK’の暗号化値もヌルでよいことに留意されたい。
[00184] 段階Cで、鍵保持デバイス102にhello応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にhello応答を送る。例えば、hello応答は、(段階Bで算出された)RKnおよびNK’の暗号化値と乱数N2とを含み得る。乱数N2は、鍵管理ユニット104によって、RKkを暗号化するために使用できる(段階O1において後で説明する)。
[00185] 段階Dで、RKnの暗号化値がヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Cで受信した)RKnの暗号化値がヌルかどうか判断する。RKnの暗号化値がヌルの場合、鍵管理ユニット104は、ネットワークデバイス112がどの鍵保持デバイスにも登録されていないと判断でき、鍵管理ユニット104はネットワークデバイス112を登録できる。例えば、RKnの暗号化値がヌルの場合、鍵管理ユニット104は、段階Eでの動作を行い得る。RKnの暗号化値がヌルでない場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイスに登録されていると判断でき、制御は、リンク2.1に流れ、ここで鍵管理ユニット104は、段階Kでの動作を行い得る。
[00186] 段階Eで、RKkがヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたRKkがヌルかどうか判断する。RKkがヌルの場合、鍵管理ユニット104は、段階Fでの動作を行い得る。RKkがヌルでない場合、鍵管理ユニット104は、段階Gでの動作を行い得る。
[00187] 段階Fで、ランダムなRKkが生成される。一実装形態において、鍵管理ユニット104が、擬似乱数アルゴリズムを使ってランダムなRKkを生成する。例えば、鍵保持デバイス102に登録鍵が存在しないとき、鍵管理ユニット104は、新しいランダムな登録鍵を生成すればよく、この鍵は、ネットワークデバイス112を鍵保持デバイス102に登録するために、登録管理ユニット113に送られ得る。いくつかの実装形態において、鍵管理ユニット104は、ランダムなRKkを、鍵保持デバイス102に格納されたRKkとして保存する。
[00188] 段階Gで、ネットワークデバイス112との安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、登録管理ユニット113との鍵共有、鍵導出、および鍵確認動作を行うことによって、安全な通信チャネルを確立できる。安全な通信チャネルにより、鍵管理ユニット104は、RKkを暗号化せずに、(段階Hで)登録管理ユニット113にRKkを送ることが可能になり得る。
[00189] 段階Hで、ネットワークデバイス112に登録要求が送られる。一実装形態において、鍵管理ユニット104が、安全な通信チャネルを介して登録管理ユニット113に登録要求を送る。例えば、登録要求はRKkを含み得る。
[00190] 段階Iで、RKkがネットワークデバイス112に保存される。一実装形態において、登録管理ユニット113が、段階Hでの登録要求中で鍵管理ユニット104から受信したRKkを保存する。例えば、登録管理ユニット113は、RKnをRKkに等しく設定して、RKkを保存し、鍵保持デバイス102に登録し得る。
[00191] 段階Jで、鍵保持デバイス102に登録応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録応答を送る。例えば、登録応答は、ネットワークデバイス112が鍵保持デバイス102に登録されていることを、鍵管理ユニット104に対して示し得る。段階Jで登録応答を受信すると、制御はリンク2.2に流れ、ここで鍵管理ユニット104は、段階Mでの動作を行い得る。
[00192] 段階Kで、RKnの暗号化値がRKkの暗号化値に等しいかどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Cで受信した)RKnの暗号化値がRKkの暗号化値に等しいかどうか判断する。鍵管理ユニット104は、ネットワークデバイス112との間で合意したハッシュアルゴリズムを使って、N1と連結されたRKkのハッシュ値を算出することによって、RKkの暗号化値を算出できる。RKnの暗号化値がRKkの暗号化値に等しい場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断でき、鍵管理ユニット104は段階Mでの動作を行い得る。RKnの暗号化値がRKkの暗号化値に等しくない場合、鍵管理ユニット104は、ネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されていると判断でき、鍵管理ユニット104は、段階Lで登録動作を停止し得る。
[00193] 段階Lで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102にネットワークデバイス112を登録するための動作を停止できる。
[00194] 段階Mで、NK’の暗号化値がヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Cで受信した)NK’の暗号化値がヌルかどうか判断する。NK’の暗号化値がヌルの場合、鍵管理ユニット104は、ネットワーク鍵がネットワークデバイス112に格納されていないと判断でき、制御はリンク4に流れ、ここで鍵管理ユニット104は、段階Vでの動作を行い得る。NK’の暗号化値がヌルでない場合、鍵管理ユニット104は、段階Nでの動作を行い得る。
[00195] 段階Nで、ネットワークデバイス112のネットワーク鍵を使うかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112のネットワーク鍵を使うかどうか判断する。例えば、鍵管理ユニット104は、通信ネットワーク100のネットワーク鍵が鍵保持デバイス102に格納されていないとき、ネットワークデバイス112に格納されたネットワーク鍵を使う(例えば、受信し、保存する)と判断できる。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使うと判断した場合、制御はリンク3に流れ、ここで鍵管理ユニット104は、段階O1での動作を行い得る。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使わないと判断した場合、制御はリンク4に流れ、ここで鍵管理ユニット104は、段階Vでの動作を行い得る。
[00196] 段階O1で、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意したハッシュアルゴリズムを使って、N2(すなわち、段階Cで受信したN2)と連結されたRKkのハッシュ値を算出する。
[00197] 段階O2で、ネットワーク鍵入手要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にネットワーク鍵入手要求を送る。例えば、ネットワーク鍵入手要求は、(段階O1で算出された)RKkの暗号化値を含む。ネットワーク鍵入手要求は、ネットワークデバイス112に格納されたNK’についての要求を含み得る。
[00198] 段階Pで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階O2で受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、ネットワーク鍵入手要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階Rでネットワーク鍵入手応答を送り得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階O2でのネットワーク鍵入手要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階Qでエラーを検出し得る。
[00199] 段階Qで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られたネットワーク鍵入手要求の結果として起きたエラーを検出できる。
[00200] 段階Rで、ネットワーク鍵入手応答がネットワークデバイス112に送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にネットワーク鍵入手応答を送る。例えば、段階Pで、RKkの暗号化値がRKnの暗号化値に等しいと登録管理ユニット113が判断したとき、ネットワーク鍵入手応答はNK’を含み得る。段階Pで、RKkの暗号化値がRKnの暗号化値に等しくないとき、ネットワーク鍵入手応答は、段階Qで検出されたエラーを含み得る。いくつかの実装形態において、登録管理ユニット113は、(例えば、鍵共有、鍵導出および鍵確認動作を行うことによって)鍵管理ユニット104との安全なチャネルを確立でき、安全な通信チャネルを介してネットワーク鍵入手応答を送ることができる。
[00201] 段階Sで、ネットワーク鍵入手応答がエラーを含むかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワーク鍵入手応答がエラーを含むかどうか判断する。例えば、鍵管理ユニット104は、ネットワーク鍵入手応答が、段階Qで登録管理ユニット113によって検出されたエラーを含むと判断できる。ネットワーク鍵入手応答がエラーを含む場合、鍵管理ユニット104は、段階Uで登録動作を停止し得る。ネットワーク鍵入手応答がエラーを含まない場合、鍵管理ユニット104は段階Tでの動作を行い得る。
[00202] 段階Tで、NK’が保存される。一実装形態において、鍵管理ユニット104が、段階Rで登録管理ユニット113からの登録応答において受信したNK’を保存する。例えば、鍵管理ユニット104は、NKをNK’に等しく設定して、NK’を保存し得る。
[00203] 段階Uで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102にネットワークデバイス112を登録するための登録動作を停止する。
[00204] 段階Vで、NKがヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたNKがヌルかどうか判断する。NKがヌルの場合、鍵管理ユニット104は、段階Wでの動作を行い得る。NKがヌルでない場合、鍵管理ユニット104は、段階Xでの動作を行い得る。
[00205] 段階Wで、ランダムなNKが生成される。一実装形態において、鍵管理ユニット104がランダムなNKを生成する。例えば、鍵管理ユニット104は、擬似乱数アルゴリズムを使って、ランダムなNKを生成できる。いくつかの実装形態において、鍵管理ユニット104は、ランダムなNKを、鍵保持デバイス102に格納されたNKとして保存する。段階Wの後、鍵管理ユニット104は、段階Xでの動作を行い得る。
[00206] 段階Xで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意したハッシュアルゴリズムを使って、N2(すなわち、段階Cで受信したN2)と連結されたRKkのハッシュ値を算出できる。
[00207] 段階Yで、ネットワーク鍵設定要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にネットワーク設定要求を送る。例えば、ネットワーク鍵設定要求は、NKと(段階Xで算出された)RKkの暗号化値とを含み得る。いくつかの実装形態において、ネットワーク鍵設定要求は、NKではなくNKの暗号化値を含み得る。他の実装形態において、鍵管理ユニット104は、登録管理ユニット113との安全な通信チャネルを確立し、安全な通信チャネルを介してネットワーク鍵設定要求を送ることができる。
[00208] 段階Zで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Yで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、段階Yでのネットワーク鍵設定要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階ABでNKを保存し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階Yでのネットワーク鍵設定要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階AAでエラーを検出し得る。
[00209] 段階AAで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られたネットワーク鍵設定要求の結果として起きたエラーを検出できる。
[00210] 段階ABで、NKが保存される。一実装形態において、登録管理ユニット113が、段階Yでのネットワーク鍵設定要求中で受信したNKを保存する。例えば、登録管理ユニット113は、NK’をNKに等しく設定して、NKをネットワークデバイス112に保存し得る。
[00211] 段階ACで、鍵保持デバイス102にネットワーク鍵設定応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にネットワーク鍵設定応答を送る。例えば、登録管理ユニット113が段階ABでNKを保存するとき、ネットワーク鍵設定応答は確認応答を含み得る。登録管理ユニット113が段階AAでエラーを検出したとき、ネットワーク鍵設定応答はエラーを含み得る。
[00212] 段階ADで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための登録動作を停止する。例えば、鍵管理ユニット104は、登録管理ユニット113からネットワーク鍵設定応答を受信すると、登録動作を停止し得る。いくつかの実装形態において、ネットワーク鍵設定応答がエラーを含むとき、鍵管理ユニット104は、登録管理ユニット113にネットワーク鍵設定要求を再送するための1つまたは複数の動作を行い得る。
[00213] 図13は、第3の構成技法を使ってネットワークデバイスを登録解除するための第1のオプションの例示的動作のシーケンス図を示す。図13は、(図9、図10、図11および図12を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが、図9、図10、図11および図12に記載したペアリングデータと同様であるとき、第3の構成技法を使ってネットワークデバイス112を登録解除するための第1のオプションを使用できる。第3の構成技法を使ってネットワークデバイス112を登録解除するための第1のオプションにおいて、鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断するための動作を行う。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、RKnはRKkに等しいことに留意されたい。図13は、一連の段階A〜Lにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図13は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00214] 段階Aで、ネットワークデバイス112にhello要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にhello要求を送る。例えば、hello要求は乱数N1を含み得る。乱数N1は、登録管理ユニット113によって、段階BでRKnを暗号化するために使用できる。
[00215] 段階Bで、RKnおよびNK’の暗号化値が算出される。一実装形態において、登録管理ユニット113が、RKnおよびNK’の暗号化値を算出する。例えば、登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値と、NK’のハッシュ値とを算出できる。RKnおよび/またはNK’がヌルのとき、RKnおよび/またはNK’の暗号化値もヌルでよいことに留意されたい。
[00216] 段階Cで、鍵保持デバイス102にhello応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にhello応答を送る。例えば、hello応答は、(段階Bで算出された)RKnおよびNK’の暗号化値と乱数N2とを含み得る。乱数N2は、鍵管理ユニット104によって、RKkを暗号化するために使用できる(段階Fにおいて後で説明する)。
[00217] 段階Dで、RKnの暗号化値がヌルかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Cで受信した)RKnの暗号化値がヌルかどうか判断する。RKnの暗号化値がヌルの場合、鍵管理ユニット104は、ネットワークデバイス112がどの鍵保持デバイスにも登録されていないと判断でき、鍵管理ユニット104は、段階Lで登録解除動作を停止し得る。RKnの暗号化値がヌルでない場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイスに登録されていると判断でき、鍵管理ユニット104は、段階Eでの動作を行い得る。
[00218] 段階Eで、RKnの暗号化値がRKkの暗号化値に等しいかどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Cで受信した)RKnの暗号化値がRKkの暗号化値に等しいかどうか判断する。鍵管理ユニット104は、ネットワークデバイス112との間で合意したハッシュアルゴリズムを使って、N1と連結されたRKkのハッシュ値を算出することによって、RKkの暗号化値を算出できる。RKnの暗号化値がRKkの暗号化値に等しい場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断でき、鍵管理ユニット104は、ネットワークデバイス112を登録解除し得る。RKnの暗号化値がRKkの暗号化値に等しくない場合、鍵管理ユニット104は、ネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されていると判断でき、鍵管理ユニット104は、段階Lで登録解除動作を停止し得る。
[00219] 段階Fで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意したハッシュアルゴリズムを使って、N2(すなわち、段階Cで受信したN2)と連結されたRKkのハッシュ値を算出する。
[00220] 段階Gで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、(段階Fで算出された)RKkの暗号化値と、RKnおよびNK’の値を削除するための要求とを含み得る。
[00221] 段階Hで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Gで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、登録解除要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階IでRKnおよびNK’の値を削除し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階Gでの登録解除要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階Jでエラーを検出し得る。
[00222] 段階Iで、RKnおよびNK’の値が削除される。一実装形態において、登録管理ユニット113がRKnおよびNK’の値を削除する。RKnおよびNK’の値が削除されると、ネットワークデバイス112はもはや鍵保持デバイス102に登録されておらず、登録管理ユニット113は、(段階Kにおいて後で説明するように)ネットワークデバイス112の登録解除を確認するための確認応答を鍵管理ユニット104に送ることができる。
[00223] 段階Jで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られた登録解除要求の結果として起きたエラーを検出できる。
[00224] 段階Kで、鍵保持デバイス102に登録解除応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録解除応答を送る。例えば、段階Iで登録管理ユニット113がRKnおよびNK’の値を削除したとき、登録解除応答は確認応答を含み得る。登録管理ユニット113が段階Jでエラーを検出したとき、登録解除応答はエラーを含み得る。
[00225] 段階Lで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。いくつかの実装形態において、鍵管理ユニット104は、(段階Kで受信された)登録解除応答がエラーを含むとき、登録管理ユニット113に登録解除要求を再送し得る。
[00226] 図14は、第3の構成技法を使ってネットワークデバイスを登録解除するための第2のオプションの例示的動作のシーケンス図である。図14は、(図9、図10、図11および図12を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが、図9、図10、図11および図12に記載したペアリングデータと同様であるとき、第3の構成技法を使ってネットワークデバイス112を登録解除するための第2のオプションを使用できる。第3の構成技法を使ってネットワークデバイス112を登録解除するための第2のオプションにおいて、ネットワークデバイス112は、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断するための動作を行う。鍵保持デバイス102から登録解除要求を受信すると、ネットワークデバイス112は、ネットワークデバイス112が鍵保持デバイス102に登録されているとネットワークデバイス112が判断したときだけ、登録解除動作を行い得る。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、RKnはRKkに等しいことに留意されたい。図14は、一連の段階A〜Jにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図14は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00227] 段階Aで、ネットワークデバイス112にナンス要求(nonce request)が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にナンス要求を送る。例えば、ナンス要求は、登録管理ユニット113に対する、乱数についての要求を含む。
[00228] 段階Bで、乱数が生成される。一実装形態において、登録管理ユニット113が、乱数(すなわち、N1)を生成する。例えば、登録管理ユニット113は、鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って登録鍵を暗号化するのにN1が使用され得るようなN1を生成し得る。
[00229] 段階Cで、ネットワークデバイス112にナンス応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にナンス応答を送る。例えば、ナンス応答は、(段階Bで生成された)N1を含み得る。
[00230] 段階Dで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って、N1(すなわち、段階Cで受信したN1)と連結されたRKkのハッシュ値を算出できる。
[00231] 段階Eで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、(段階Dで算出された)RKkの暗号化値と、RKnおよびNK’の値を削除するための要求とを含み得る。
[00232] 段階Fで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Eで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、(段階Eで受信された)登録解除要求が鍵保持デバイス102から受信されたと判断でき、登録管理ユニット113は、段階GでRKnおよびNK’の値を削除し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、登録解除要求が鍵保持デバイス102から受信されたのではない(そうではなく、悪意のあるデバイスから受信された)と判断でき、登録管理ユニット113は、段階Hでエラーを検出し得る。
[00233] 段階Gで、RKnおよびNK’の値が削除される。一実装形態において、登録管理ユニット113がRKnおよびNK’の値を削除する。RKnおよびNK’の値が削除されると、ネットワークデバイス112はもはや鍵保持デバイス102に登録されておらず、登録管理ユニット113は、(段階Iにおいて後で説明するように)ネットワークデバイス112の登録解除を確認するための確認応答を鍵管理ユニット104に送ることができる。
[00234] 段階Hで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスから受信した登録解除要求の結果として起きたエラーを検出できる。
[00235] 段階Iで、鍵保持デバイス102に登録解除応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録解除応答を送る。例えば、段階Gで登録管理ユニット113がRKnおよびNK’の値を削除したとき、登録解除応答は確認応答を含み得る。登録管理ユニット113が段階Hでエラーを検出したとき、登録解除応答はエラーを含み得る。
[00236] 段階Jで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。いくつかの実装形態において、鍵管理ユニット104は、(段階Iで受信された)登録解除応答がエラーを含むとき、登録管理ユニット113に登録解除要求を再送し得る。
[00237] 図15、図16および図17は、第4の構成技法を使ってネットワークデバイスを登録するための例示的動作のシーケンス図を示す。図15、図16および図17は、(図1を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102上に格納されたペアリングデータが登録鍵(RKk)を含み、ネットワークデバイス112上に格納されたペアリングデータが登録鍵(RKn)とネットワークデバイス112のステータス(Status)とを含むとき、第4の構成技法を使用できる。第4の構成技法において、ネットワークデバイス112は、ネットワークデバイス112のステータスを(例えば、ネットワークデバイス112が、鍵保持デバイス102に登録されているか、別の鍵保持デバイスに登録されているか、それとも登録解除されているか)判断するための動作を行う。ネットワークデバイス112は、そのステータスを(例えば、Statusを送ることによって)鍵保持デバイス102に送り得る。鍵保持デバイス102およびネットワークデバイス112は、ネットワーク鍵(NK)とネットワーク鍵(NK’)とを格納することもできる。鍵保持デバイス102およびネットワークデバイス112は、RKkとRKnとを暗号化し、安全に交換するためのハッシュアルゴリズムに合意し得る。ハッシュアルゴリズムは、RKkとRKnとを暗号化するのに、乱数を使用し得る。例えば、乱数は、登録鍵と連結でき(例えば、乱数のビットが、登録鍵に付加されて、連結された値を決定でき)、次いで、連結された値のハッシュ値が、登録鍵の暗号化値として算出され得る。乱数は、ネットワークデバイス112と鍵保持デバイス102との間のいかなる暗号化もなしで交換でき、ネットワークデバイス112および鍵保持デバイス102が、それらのデバイスの登録鍵を暗号化できるようにする。RKkおよびRKn、並びにStatusは、それぞれ、鍵保持デバイス102に登録鍵を、ネットワークデバイス112に登録鍵を、およびネットワークデバイス112のステータスを格納するための例示的変数を表すことに留意されたい。同様に、NKおよびNK’は、それぞれ、鍵保持デバイス102にネットワーク鍵を、およびネットワークデバイス112にネットワーク鍵を格納するための例示的変数を表す。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、Statusは「登録済み」と設定され、RKkおよびRKnの値は等しいことにさらに留意されたい。また、ネットワークデバイス112が、鍵保持デバイス102によって管理される通信ネットワーク(すなわち、通信ネットワーク100)を用いて構成されているとき、NKおよびNK’の値は等しい。ネットワークデバイス112がどの鍵保持デバイスにも登録されていないとき、Statusは「未登録」と設定されてよく、RKnおよびNK’はヌルでよいことにも留意されたい。いくつかの実装形態において、RKkおよびNKもヌルでよい(例えば、鍵保持デバイス102が通信ネットワーク100のネットワーク鍵をもたないとき)。但し、鍵保持デバイス102は、RKkおよび/またはNKの値がヌルのとき、RKkおよびNKのランダム値を生成するための能力を含む。図15、図16および図17は、一連の段階A1〜AIにおける、ネットワークデバイス112を登録するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図15、図16、図17は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00238] 段階A1で、ネットワークデバイス112にナンス要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にナンス要求を送る。例えば、ナンス要求は、ネットワークデバイス112に対する、乱数についての要求を含む。
[00239] 段階A2で、ネットワークデバイス112にナンス応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にナンス応答を送る。例えば、ナンス応答は、N1(登録管理ユニット113によって生成された乱数)を含み得る。N1は、鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って登録鍵を暗号化するために使用され得る。
[00240] 段階Bで、ネットワークデバイス112にhello要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にhello要求を送る。例えば、hello要求は、RKkの暗号化値と、Statusについての要求とを含み得る。鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使ってN1(すなわち、段階A2で受信したN1)と連結されたRKkのハッシュ値を算出することによって、RKkの暗号化値を算出できる。
[00241] 段階Cで、RKnがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、RKnがヌルであるかどうか判断する。例えば、登録管理ユニット113が、段階Bで受信されたRKnの暗号化値がヌルかどうか調べることによって、RKnがヌルであると判断できる。RKnがヌルの場合、登録管理ユニット113は、段階Dで、Statusを「未登録」と設定し得る。RKnがヌルでない場合、登録管理ユニット113は、段階Eで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断し得る。
[00242] 段階Dで、Statusが「未登録」と設定される。一実装形態において、登録管理ユニット113が、Statusを「未登録」と設定し、登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00243] 段階Eで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Bで受信した)RKnの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断でき、登録管理ユニット113は、段階Gで、Statusを「登録済み」と設定し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、ネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されると判断でき、登録管理ユニット113は、Statusを「異なるKCDに登録済み」と設定し得る。
[00244] 段階Fで、Statusが「異なるKCDに登録済み」と設定される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたStatusを、「異なるKCDに登録済み」に設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00245] 段階Gで、Statusが「登録済み」と設定される。一実装形態において、登録管理ユニット113が、Statusを「登録済み」と設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00246] 段階Hで、鍵保持デバイス102にhello応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にhello応答を送る。例えば、hello応答は、Statusと、NK’の暗号化値と、乱数(N2)とを含み得る。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、NK’の暗号化値を算出できる。N2は、鍵保持デバイス102によって、(段階Sにおいて後で説明するように)鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使ってRKkを暗号化するために使用できる。
[00247] 段階Iで、受信されたStatusが「未登録」かどうか判断される。一実装形態において、鍵管理ユニット104が、段階Hで受信したStatusが「未登録」かどうか判断する。Statusが「未登録」の場合、制御はリンク2に流れ、鍵管理ユニット104は段階Lでの動作を行い得る。Statusが「未登録」でない場合、鍵管理ユニット104は段階Jでの動作を行い得る。
[00248] 段階Jで、Statusが「異なるKCDに登録済み」かどうか判断される。一実装形態において、鍵管理ユニット104が、Statusが「異なるKCDに登録済み」かどうか判断する。Statusが「異なるKCDに登録済み」の場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されていないと判断すればよく、鍵管理ユニット104は、段階Kで登録動作を停止し得る。Statusが「異なるKCDに登録済み」でない場合、制御はリンク3に流れ、鍵管理ユニット104は、段階AAでの動作を行い得る。
[00249] 段階Kで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102にネットワークデバイス112を登録するための登録動作を停止する。
[00250] 段階Lで、RKkがヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたRKkがヌルかどうか判断する。RKkがヌルの場合、鍵管理ユニット104は、段階MでランダムなRKkを生成する。RKkがヌルでない場合、鍵管理ユニット104は、段階N1で安全な通信チャネルを確立する。
[00251] 段階Mで、ランダムなRKkが生成される。一実装形態において、鍵管理ユニット104が、擬似乱数アルゴリズムを使ってランダムなRKkを生成する。例えば、鍵保持デバイス102に登録鍵が存在しないとき、鍵管理ユニット104は、新しいランダムな登録鍵を生成すればよく、この鍵は、ネットワークデバイスを鍵保持デバイス102に登録するために、ネットワークデバイスに送られ得る。いくつかの実装形態において、鍵管理ユニット104は、ランダムなRKkを、鍵保持デバイス102に格納されたRKkとして保存する。
[00252] 段階N1で、ネットワークデバイス112との安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、登録管理ユニット113との鍵共有、鍵導出、および鍵確認動作を行うことによって、安全な通信チャネルを確立できる。安全な通信チャネルにより、鍵管理ユニット104は、ハッシュアルゴリズムを使ってRKkを暗号化せずに、(段階N2で)登録管理ユニット113にRKkを送ることが可能になり得る。
[00253] 段階N2で、ネットワークデバイス112に登録要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録要求を送る。登録要求はRKkを含み得る。
[00254] 段階Oで、RKkがネットワークデバイス112に保存される。一実装形態において、登録管理ユニット113が、段階N1で鍵管理ユニット104から受信したRKkを保存する。例えば、登録管理ユニット113は、RKkを保存するためにRKnをRKkとして設定し、Statusを「登録済み」と設定し得る。RKkを保存すると、ネットワークデバイス112は鍵保持デバイス102に登録され、登録管理ユニット113は、段階Pで鍵管理ユニット104に確認応答を送り得る。
[00255] 段階Pで、鍵保持デバイス102に登録応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録応答を送る。例えば、登録応答は、ネットワークデバイス112が鍵保持デバイス102に登録されているという確認応答を含み得る。いくつかの実装形態において、登録応答は、ネットワークデバイス112に格納されたStatusを含み得る。
[00256] 段階Qで、NK’の暗号化値がヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、段階Hで受信したNK’の暗号化値がヌルかどうか判断する。NK’の暗号化値がヌルの場合、鍵管理ユニット104は、ネットワークデバイス112がネットワーク鍵をもたないと判断し、制御はリンク3に流れ、ここで鍵管理ユニット104は、段階AAでの動作を行い得る。NK’の暗号化値がヌルでない場合、鍵管理ユニット104は、ネットワークデバイス112がネットワークデバイス112に格納されたネットワーク鍵をもつと判断し、鍵管理ユニット104は、段階Rでの動作を行い得る。
[00257] 段階Rで、ネットワークデバイス112のネットワーク鍵を使うかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112のネットワーク鍵を使うかどうか判断する。例えば、鍵管理ユニット104は、通信ネットワーク100のネットワーク鍵が鍵保持デバイス102に格納されていないとき、ネットワークデバイス112に格納されたネットワーク鍵を使う(例えば、受信し、保存する)と判断できる。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使わないと判断した場合、制御はリンク3に流れ、ここで鍵管理ユニット104は、段階AAでの動作を行い得る。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使うと判断した場合、鍵管理ユニット104は、段階Sでの動作を行い得る。
[00258] 段階Sで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って、N2(すなわち、段階Hで受信したN2)と連結されたRKkのハッシュ値を算出する。
[00259] 段階Tで、ネットワーク鍵入手要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にネットワーク鍵入手要求を送る。例えば、ネットワーク鍵入手要求は、(段階Sで算出された)RKkの暗号化値を含む。ネットワーク鍵入手要求は、ネットワークデバイス112に格納されたNK’についての要求を含み得る。
[00260] 段階Uで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Tで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、ネットワーク鍵入手要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階Wでネットワーク鍵入手応答を送り得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階Tでのネットワーク鍵入手要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階Vでエラーを検出し得る。
[00261] 段階Vで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られたネットワーク鍵入手要求の結果として起きたエラーを検出できる。
[00262] 段階Wの後、ネットワーク鍵入手応答がネットワークデバイス112に送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にネットワーク鍵入手応答を送る。例えば、段階Uで、RKkの暗号化値がRKnの暗号化値に等しいと登録管理ユニット113が判断したとき、ネットワーク鍵入手応答はNK’を含み得る。段階Uで、RKkの暗号化値がRKnの暗号化値に等しくないとき、ネットワーク鍵入手応答は、段階Vで検出されたエラーを含み得る。いくつかの実装形態において、ネットワーク鍵入手応答は、NK’ではなくNK’の暗号化値を含み得る。他の実装形態において、登録管理ユニット113は、鍵管理ユニット104との安全な通信チャネルを確立し、安全な通信チャネルを介してネットワーク鍵入手応答を送ることができる。
[00263] 段階Xで、ネットワーク鍵入手応答がエラーを含むかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワーク鍵入手応答がエラーを含むかどうか判断する。例えば、鍵管理ユニット104は、ネットワーク鍵入手応答が、段階Vで登録管理ユニット113によって検出されたエラーを含むと判断できる。ネットワーク鍵入手応答がエラーを含む場合、鍵管理ユニット104は、段階Zで登録動作を停止し得る。ネットワーク鍵入手応答がエラーを含まない場合、鍵管理ユニット104は段階Yでの動作を行い得る。
[00264] 段階Yで、NK’が保存される。一実装形態において、鍵管理ユニット104が、段階Wで登録管理ユニット113からの登録応答において受信したNK’を保存する。例えば、鍵管理ユニット104は、NKをNK’に等しく設定して、NK’を保存し得る。
[00265] 段階Zで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102にネットワークデバイス112を登録するための登録動作を停止する。
[00266] 段階AAで、NKがヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたNKがヌルかどうか判断する。NKがヌルの場合、鍵管理ユニット104は、段階ABでの動作を行い得る。NKがヌルでない場合、鍵管理ユニット104は、段階ACでの動作を行い得る。
[00267] 段階ABで、ランダムなNKが生成される。一実装形態において、鍵管理ユニット104がランダムなNKを生成する。例えば、鍵管理ユニット104は、擬似乱数アルゴリズムを使って、ランダムなNKを生成できる。いくつかの実装形態において、鍵管理ユニット104は、ランダムなNKを、鍵保持デバイス102に格納されたNKとして保存する。段階ABの後、鍵管理ユニット104は、段階ACでの動作を行い得る。
[00268] 段階ACで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って、N2(すなわち段階Hで受信したN2)と連結されたRKkのハッシュ値を算出できる。
[00269] 段階ADで、ネットワーク鍵設定要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にネットワーク設定要求を送る。例えば、ネットワーク鍵設定要求は、NKと(段階ACで算出された)RKkの暗号化値とを含み得る。いくつかの実装形態において、ネットワーク鍵設定要求は、NKではなくNKの暗号化値を含み得る。他の実装形態において、鍵管理ユニット104は、登録管理ユニット113との安全な通信チャネルを確立し、安全な通信チャネルを介してネットワーク鍵設定要求を送ることができる。
[00270] 段階AEで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階ADで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、段階ADでのネットワーク鍵設定要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階AFでNKを保存し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階ADでのネットワーク鍵設定要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階AGでエラーを検出し得る。
[00271] 段階AFで、NKが保存される。一実装形態において、登録管理ユニット113が、段階ADでのネットワーク鍵設定要求中で受信したNKを保存する。例えば、登録管理ユニット113は、NK’をNKに等しく設定して、NKをネットワークデバイス112に保存し得る。
[00272] 段階AGで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られたネットワーク鍵設定要求の結果として起きたエラーを検出できる。
[00273] 段階AHで、鍵保持デバイス102にネットワーク鍵設定応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にネットワーク鍵設定応答を送る。例えば、登録管理ユニット113が段階AFでNKを保存するとき、ネットワーク鍵設定応答は確認応答を含み得る。登録管理ユニット113が段階AGでエラーを検出したとき、ネットワーク鍵設定応答はエラーを含み得る。
[00274] 段階AIで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102にネットワークデバイス112を登録するための登録動作を停止する。例えば、鍵管理ユニット104は、登録管理ユニット113からネットワーク鍵設定応答を受信すると、登録動作を停止し得る。いくつかの実装形態において、ネットワーク鍵設定応答がエラーを含むとき、鍵管理ユニット104は、登録管理ユニット113にネットワーク鍵設定要求を再送するための1つまたは複数の動作を行い得る。
[00275] 図18および図19は、第4の構成技法を使ってネットワークデバイスを登録解除するための第1のオプションの例示的動作のシーケンス図を示す。図18および図19は、(図15、図16および図17を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが、図15、図16、および図17に記載したペアリングデータと同様であるとき、第4の構成技法を使ってネットワークデバイス112を登録解除するための第1のオプションを使用できる。第4の構成技法を使ってネットワークデバイス112を登録解除するための第1のオプションにおいて、鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断した後、登録解除要求を送ることができる。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているという情報を、ネットワークデバイス112から受信できる。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、Statusは「登録済み」と設定され、RKnはRKkに等しいことに留意されたい。図18および図19は、一連の段階A1〜Qにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図18および図19は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00276] 段階A1で、ネットワークデバイス112にナンス要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にナンス要求を送る。例えば、ナンス要求は、ネットワークデバイス112に対する、乱数についての要求を含む。
[00277] 段階A2で、ネットワークデバイス112にナンス応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にナンス応答を送る。例えば、ナンス応答は、N1(登録管理ユニット113によって生成された乱数)を含み得る。N1は、鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って登録鍵を暗号化するために使用され得る。
[00278] 段階Bで、ネットワークデバイス112にhello要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にhello要求を送る。例えば、hello要求は、RKkの暗号化値と、Statusについての要求とを含み得る。鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使ってN1(すなわち、段階A2で受信したN1)と連結されたRKkのハッシュ値を算出することによって、RKkの暗号化値を算出できる。
[00279] 段階Cで、RKnがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、RKnがヌルであるかどうか判断する。例えば、登録管理ユニット113は、ネットワークデバイス112に格納されたRKnがヌルかどうか調べることによって、RKnがヌルであると判断できる。RKnがヌルの場合、登録管理ユニット113は、段階Dで、Statusを「未登録」と設定し得る。RKnがヌルでない場合、登録管理ユニット113は、段階Eで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断し得る。
[00280] 段階Dで、Statusが「未登録」と設定される。一実装形態において、登録管理ユニット113が、Statusを「未登録」と設定し、登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00281] 段階Eで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Bで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断でき、登録管理ユニット113は、段階Gで、Statusを「登録済み」と設定し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、ネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されると判断でき、登録管理ユニット113は、段階FでStatusを「異なるKCDに登録済み」と設定し得る。
[00282] 段階Fで、Statusが「異なるKCDに登録済み」と設定される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたStatusを、「異なるKCDに登録済み」に設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00283] 段階Gで、Statusが「登録済み」と設定される。一実装形態において、登録管理ユニット113が、Statusを「登録済み」と設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00284] 段階Hで、鍵保持デバイス102にhello応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にhello応答を送る。例えば、hello応答は、Statusと、NK’の暗号化値と、乱数(N2)とを含み得る。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、NK’の暗号化値を算出できる。N2は、鍵保持デバイス102によって、(段階Kにおいて後で説明するように)鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使ってRKkを暗号化するために使用できる。
[00285] 段階Iで、Statusが「登録済み」かどうか判断される。一実装形態において、鍵管理ユニット104が、段階Hで受信したStatusが「登録済み」かどうか判断する。Statusが「登録済み」の場合、鍵管理ユニット104は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断し、制御はリンク5に流れ、ここで鍵管理ユニット104は段階Kでの動作を行い得る。Statusが「登録済み」でない場合、鍵管理ユニット104は、段階Jで登録解除動作を停止し得る。
[00286] 段階Jで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。
[00287] 段階Kで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って、N2(すなわち、段階Hで受信したN2)と連結されたRKkのハッシュ値を算出する。
[00288] 段階Lで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、(段階Kで算出された)RKkの暗号化値と、RKnおよびNK’の値を削除するための要求とを含み得る。
[00289] 段階Mで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Lで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N2と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、登録解除要求が(悪意のあるデバイスからではなく)鍵保持デバイス102から受信されたことを検証でき、登録管理ユニット113は、段階NでRKnおよびNK’の値を削除し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、段階Lでの登録解除要求が悪意のあるデバイスによって送られたと判断でき、登録管理ユニット113は、段階Oでエラーを検出し得る。
[00290] 段階Nで、RKnおよびNK’の値が削除される。一実装形態において、登録管理ユニット113がRKnおよびNK’の値を削除する。RKnおよびNK’の値が削除されると、ネットワークデバイス112はもはや鍵保持デバイス102に登録されておらず、登録管理ユニット113は、(段階Pにおいて後で説明するように)ネットワークデバイス112の登録解除を確認するための確認応答を鍵管理ユニット104に送ることができる。
[00291] 段階Oで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスによって送られた登録解除要求の結果として起きたエラーを検出できる。
[00292] 段階Pで、鍵保持デバイス102に登録解除応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録解除応答を送る。例えば、段階Nで登録管理ユニット113がRKnおよびNK’の値を削除したとき、登録解除応答は確認応答を含み得る。登録管理ユニット113が段階Oでエラーを検出したとき、登録解除応答はエラーを含み得る。
[00293] 段階Qで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。いくつかの実装形態において、鍵管理ユニット104は、(段階Pで受信された)登録解除応答がエラーを含むとき、登録管理ユニット113に登録解除要求を再送し得る。
[00294] 図20は、第4の構成技法を使ってネットワークデバイスを登録解除するための第2のオプションの例示的動作のシーケンス図を示す。図20は、(図15、図16および図17を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが、図15、図16、および図17に記載したペアリングデータと同様であるとき、第4の構成技法を使ってネットワークデバイス112を登録解除するための第2のオプションを使用できる。第4の構成技法を使ってネットワークデバイス112を登録解除するための第2のオプションにおいて、鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断することなく、登録解除要求を送ることができる。ネットワークデバイス112は、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断し、登録解除するべきRKnとNK’とを削除するための1つまたは複数の動作を行い得る。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、Statusは「登録済み」と設定され、RKnはRKkに等しいことに留意されたい。図20は、一連の段階A〜Jにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図20は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00295] 段階Aで、ネットワークデバイス112にナンス要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にナンス要求を送る。例えば、ナンス要求は、ネットワークデバイス112に対する、乱数についての要求を含む。
[00296] 段階Bで、乱数が生成される。一実装形態において、登録管理ユニット113が、乱数(すなわち、N1)を生成する。例えば、登録管理ユニット113は、鍵保持デバイス102とネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って登録鍵を暗号化するのにN1が使用され得るようなN1を生成し得る。
[00297] 段階Cで、ネットワークデバイス112にナンス応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にナンス応答を送る。例えば、ナンス応答は、(段階Bで生成された)N1を含み得る。
[00298] 段階Dで、RKkの暗号化値が算出される。一実装形態において、鍵管理ユニット104がRKkの暗号化値を算出する。例えば、鍵管理ユニット104は、ネットワークデバイス112との間で合意されたハッシュアルゴリズムを使って、N1(すなわち、段階Cで受信したN1)と連結されたRKkのハッシュ値を算出できる。
[00299] 段階Eで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、(段階Dで算出された)RKkの暗号化値と、RKnおよびNK’の値を削除するための要求とを含み得る。
[00300] 段階Fで、RKkの暗号化値がRKnの暗号化値に等しいかどうか判断される。一実装形態において、登録管理ユニット113が、(段階Eで受信した)RKkの暗号化値がRKnの暗号化値に等しいかどうか判断する。登録管理ユニット113は、鍵保持デバイス102との間で合意されたハッシュアルゴリズムを使って、N1と連結されたRKnのハッシュ値を算出することによって、RKnの暗号化値を算出できる。RKkの暗号化値がRKnの暗号化値に等しい場合、登録管理ユニット113は、(段階Eで受信された)登録解除要求が鍵保持デバイス102から受信されたと判断でき、登録管理ユニット113は、段階GでRKnおよびNK’の値を削除し得る。RKkの暗号化値がRKnの暗号化値に等しくない場合、登録管理ユニット113は、登録解除要求が鍵保持デバイス102から受信されたのではない(そうではなく、悪意のあるデバイスから受信された)と判断でき、登録管理ユニット113は、段階Hでエラーを検出し得る。
[00301] 段階Gで、RKnおよびNK’の値が削除される。一実装形態において、登録管理ユニット113がRKnおよびNK’の値を削除する。RKnおよびNK’の値が削除されると、ネットワークデバイス112はもはや鍵保持デバイス102に登録されておらず、登録管理ユニット113は、(段階Iにおいて後で説明するように)ネットワークデバイス112の登録解除を確認するための確認応答を鍵管理ユニット104に送ることができる。
[00302] 段階Hで、エラーが検出される。一実装形態において、登録管理ユニット113がエラーを検出する。例えば、登録管理ユニット113は、悪意のあるデバイスから受信した登録解除要求の結果として起きたエラーを検出できる。
[00303] 段階Iで、鍵保持デバイス102に登録解除応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録解除応答を送る。例えば、段階Gで登録管理ユニット113がRKnおよびNK’の値を削除したとき、登録解除応答は確認応答を含み得る。登録管理ユニット113が段階Hでエラーを検出したとき、登録解除応答はエラーを含み得る。
[00304] 段階Jで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。いくつかの実装形態において、鍵管理ユニット104は、(段階Iで受信された)登録解除応答がエラーを含むとき、登録管理ユニット113に登録解除要求を再送し得る。
[00305] 図21および図22は、第5の構成技法を使ってネットワークデバイスを登録するための例示的動作のシーケンス図を示す。図21および図22は、(図1を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102上に格納されたペアリングデータが登録鍵(RKk)を含み、ネットワークデバイス112上に格納されたペアリングデータが登録鍵(RKn)とネットワークデバイス112のステータス(Status)とを含むとき、第5の構成技法を使用できる。第5の構成技法において、鍵保持デバイス102は、ネットワークデバイス112を構成するための動作を鍵保持デバイス102が開始する前に、ネットワークデバイス112との安全な通信チャネルを確立する。鍵保持デバイス102およびネットワークデバイス112は、ペアリングデータに対して暗号化演算を行わずに、安全な通信チャネルを介して、鍵保持デバイス102およびネットワークデバイス112に格納されたペアリングデータを含む全てのメッセージを交換できる。鍵保持デバイス102およびネットワークデバイス112は、ネットワーク鍵(NK)とネットワーク鍵(NK’)とを格納することもできる。RKkおよびRKn、並びにStatusは、それぞれ、鍵保持デバイス102に登録鍵を、ネットワークデバイス112に登録鍵を、およびネットワークデバイス112のステータスを格納するための例示的変数を表すことに留意されたい。同様に、NKおよびNK’は、それぞれ、鍵保持デバイス102およびネットワークデバイス112にネットワーク鍵を格納するための例示的変数を表す。Statusは、登録要求が鍵保持デバイス102から受信されるとともにネットワークデバイス112が鍵保持デバイス102に既に登録済みのとき、ネットワーク鍵(例えば、通信ネットワーク100のネットワーク鍵)がネットワークデバイス112に格納されているかどうかを示すように設定され得ることにさらに留意されたい。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、RKkおよびRKnの値は等しい。ネットワークデバイス112が、鍵保持デバイス102によって管理される通信ネットワーク(すなわち、通信ネットワーク100)を用いて構成されているときも、NKおよびNK’の値は等しい。ネットワークデバイス112がどの鍵保持デバイスにも登録されていないとき、Statusは「未登録」と設定されてよく、RKnおよびNK’はヌルでよいことにも留意されたい。いくつかの実装形態において、RKkおよびNKもヌルでよい(例えば、鍵保持デバイス102が通信ネットワーク100のネットワーク鍵をもたないとき)。但し、鍵保持デバイス102は、RKkおよび/またはNKの値がヌルのとき、RKkおよびNKのランダム値を生成するための能力を含む。図21および図22は、一連の段階A〜Xにおける、ネットワークデバイス112を登録するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図21および図22は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00306] 段階Aで、ネットワークデバイス112との安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、登録管理ユニット113との鍵共有、鍵導出、および鍵確認動作を行うことによって、安全な通信チャネルを確立できる。安全な通信チャネルにより、鍵管理ユニット104および登録管理ユニット113が、ペアリングデータに対して暗号化演算を行わずに、ペアリングデータ(例えば、RKk、NK、NK’、およびStatusなど)を交換できるようになり得る。鍵保持デバイス102とネットワークデバイス112との間の安全な通信チャネルは、登録動作が完了されるまで存在し続けることができる。
[00307] 段階Bで、ネットワークデバイス112に登録要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録要求を送る。例えば、登録要求は、RKkと、RKkをネットワークデバイス112に保存するための要求とを含む。
[00308] 段階C1で、RKnがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたRKnがヌルかどうか判断する。RKnがヌルの場合、登録管理ユニット113は段階C2でRKkを保存し得る。RKnがヌルでない場合、登録管理ユニット113は、段階Dで、RKnがRKkに等しいかどうか判断し得る。
[00309] 段階C2で、RKkが保存される。一実装形態において、登録管理ユニット113が、段階Bで受信されたRKkを保存する。例えば、登録管理ユニット113は、RKnをRKkに等しく設定して、RKkを保存し得る。登録管理ユニット113がRKkを保存すると、ネットワークデバイス112は鍵保持デバイス102に登録される。段階C2の後、登録管理ユニット113は、段階FでNK’がヌルかどうか判断し得る。
[00310] 段階Dで、RKnがRKkに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、RKnが(段階Bで受信された)RKkに等しいかどうか判断する。RKnがRKkに等しい場合、登録管理ユニット113は、段階FでNK’がヌルかどうか判断し得る。RKnがRKkに等しくない場合、登録管理ユニット113は、ネットワークデバイス112が、鍵保持デバイス102以外の鍵保持デバイスに登録されていると判断でき、段階Eでの動作を行う。
[00311] 段階Eで、Statusが「異なるKCDに登録済み」と設定される。一実装形態において、登録管理ユニット113が、Statusを「異なるKCDに登録済み」と設定する。登録管理ユニット113は、段階Iで、鍵保持デバイス102にStatusを送り得る。
[00312] 段階Fで、NK’がヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたNK’がヌルかどうか判断する。NK’がヌルの場合、登録管理ユニット113は、ネットワーク鍵がネットワークデバイス112に格納されていないと判断し、段階Hでの動作を行い得る。NK’がヌルでない場合、登録管理ユニット113は、ネットワーク鍵がネットワークデバイス112に格納されていると判断し、段階Gでの動作を行い得る。
[00313] 段階Gで、Statusが「NKをもつ」と設定される。一実装形態において、登録管理ユニット113が、Statusを「NKをもつ」と設定する。登録管理ユニット113は、段階Iで、Statusを登録応答において送り得る。
[00314] 段階Hで、Statusが「NKをもたない」と設定される。一実装形態において、登録管理ユニット113が、Statusを「NKをもたない」と設定する。登録管理ユニット113は、段階Iで、Statusを登録応答において送り得る。
[00315] 段階Iで、鍵保持デバイス102に登録応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録応答を送る。例えば、登録応答は、ネットワークデバイス112に格納されたStatusを含み得る。
[00316] 段階Jで、Statusが「異なるKCDに登録済み」かどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Iで受信した)Statusが「異なるKCDに登録済み」かどうか判断する。Statusが「異なるKCDに登録済み」の場合、鍵管理ユニット104は、ネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されていると判断でき、鍵管理ユニット104は、段階Kで登録動作を停止し得る。Statusが「異なるKCDに登録済み」でない場合、制御はリンク6に流れ、登録管理ユニット113は、段階Lでの動作を行い得る。
[00317] 段階Kで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための登録動作を停止する。
[00318] 段階Lで、Statusが「NKをもつ」かどうか判断される。一実装形態において、鍵管理ユニット104が、(段階Iで受信した)Statusが「NKをもつ」かどうか判断する。Statusが「NKをもつ」である場合、鍵管理ユニット104は、ネットワーク鍵がネットワークデバイス112に格納されていると判断でき、鍵管理ユニット104は段階Mでの動作を行い得る。Statusが「NKをもたない」である場合、鍵管理ユニット104は、ネットワークデバイス112に格納されているネットワーク鍵はないと判断でき、鍵管理ユニット104は段階Rでの動作を行い得る。
[00319] 段階Mで、ネットワークデバイス112のネットワーク鍵を使うかどうか判断される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112のネットワーク鍵を使うかどうか判断する。例えば、鍵管理ユニット104は、通信ネットワーク100のネットワーク鍵が鍵保持デバイス102に格納されていないとき、ネットワークデバイス112に格納されたネットワーク鍵を使う(例えば、受信し、保存する)と判断できる。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使うと判断した場合、鍵管理ユニット104は、段階Nでネットワーク鍵入手要求を送り得る。鍵管理ユニット104がネットワークデバイス112のネットワーク鍵を使わないと判断した場合、鍵管理ユニット104は、段階Rでの動作を行い得る。
[00320] 段階Nで、ネットワーク鍵入手要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113にネットワーク鍵入手要求を送る。例えば、ネットワーク鍵入手要求は、NK’についての要求を含む。
[00321] 段階Oで、ネットワーク鍵入手応答がネットワークデバイス112から受信される。一実装形態において、鍵管理ユニット104が、登録管理ユニット113からネットワーク鍵入手応答を受信する。例えば、ネットワーク鍵入手応答は、ネットワークデバイス112に格納されたNK’を含む。第5の構成技法において、安全な通信チャネルは、悪意のあるデバイスから発したどのメッセージからの保護も保証するので、登録管理ユニット113は、ネットワーク鍵入手応答を送る前に、ネットワーク鍵入手要求が鍵保持デバイス102から受信されたと判断するための動作を行わなくてよいことに留意されたい。
[00322] 段階Pで、NK’が保存される。一実装形態において、鍵管理ユニット104が、段階Oで受信されたNK’を保存する。例えば、鍵管理ユニット104は、NKをNK’に等しく設定して、NK’を保存し得る。NK’を保存した後、鍵管理ユニット104は段階Qで登録動作を停止し得る。
[00323] 段階Qで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための登録動作を停止する。
[00324] 段階Rで、NKがヌルかどうか判断される。一実装形態において、鍵管理ユニット104が、鍵保持デバイス102に格納されたNKがヌルかどうか判断する。NKがヌルの場合、鍵管理ユニット104は、段階SでランダムなNKを生成できる。NKがヌルでない場合、鍵管理ユニット104は、段階Tでの動作を行い得る。
[00325] 段階Sで、ランダムなNKが生成される。一実装形態において、鍵管理ユニット104がランダムなNKを生成する。例えば、鍵管理ユニット104は、擬似乱数アルゴリズムを使って、ランダムなNKを生成できる。いくつかの実装形態において、鍵管理ユニット104は、ランダムなNKを、鍵保持デバイス102に格納されたNKとして保存する。段階Sの後、鍵管理ユニット104は、段階Tでの動作を行い得る。
[00326] 段階Tで、ネットワーク鍵設定要求が生成される。一実装形態において、鍵管理ユニット104がネットワーク鍵設定要求を生成する。例えば、ネットワーク鍵設定要求は、鍵保持デバイス102に格納されたNKを含み得る。
[00327] 段階Uで、ネットワーク鍵設定要求がネットワークデバイス112に送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に(段階Tで生成された)ネットワーク鍵設定要求を送る。
[00328] 段階Vで、NKが保存される。一実装形態において、登録管理ユニット113が、ネットワーク鍵設定要求中で受信したNKを保存する。例えば、登録管理ユニット113は、NK’をNKに等しく設定して、NKを保存し得る。NKを保存した後、登録管理ユニット113は、NKがネットワークデバイス112に保存されているという確認応答を、鍵管理ユニット104に送り得る。第5の構成技法において、安全な通信チャネルは、悪意のあるデバイスから発したどのメッセージからの保護も保証するので、登録管理ユニット113は、NKを保存する前に、ネットワーク鍵設定要求が鍵保持デバイス102から受信されたと判断するための動作を行わなくてよいことに留意されたい。
[00329] 段階Wで、鍵保持デバイス102にネットワーク鍵設定応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104にネットワーク鍵設定応答を送る。例えば、ネットワーク鍵設定応答は、NKがネットワークデバイス112に保存されたという確認応答を含む。いくつかの実装形態において、ネットワーク鍵設定応答は、ネットワークデバイス112でのNKの保存が成功しなかったとき、エラーも含み得る。
[00330] 段階Xで、登録動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録するための動作を停止する。いくつかの実装形態において、(段階Wで受信された)ネットワーク鍵設定応答においてエラーを受信すると、鍵管理ユニット104は、登録管理ユニット113にNKを再送し得る。
[00331] 図23は、第5の構成技法を使ってネットワークデバイスを登録解除するための例示的動作のシーケンス図を示す。図23は、(図21および図22を参照して上述した)鍵保持デバイス102とネットワークデバイス112とを含む。鍵保持デバイス102は、鍵保持デバイス102およびネットワークデバイス112上に格納されたペアリングデータが、図21および図22に記載したペアリングデータと同様であるとき、第5の構成技法を使ってネットワークデバイス112を登録解除できる。第5の構成技法において、鍵保持デバイス102は、ネットワークデバイス112を構成するための動作を鍵保持デバイス102が開始する前に、ネットワークデバイス112との安全な通信チャネルを確立する。鍵保持デバイス102およびネットワークデバイス112は、ペアリングデータに対して暗号化演算を行わずに、安全な通信チャネルを介して、鍵保持デバイス102およびネットワークデバイス112に格納されたペアリングデータを含む全てのメッセージを交換できる。ネットワークデバイス112は、鍵保持デバイス102から登録解除要求を受信すると、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断し、登録解除するべきRKnとNK’とを削除するための1つまたは複数の動作を行い得る。鍵保持デバイス102は、ネットワークデバイス112が鍵保持デバイス102に登録されているときのみ、ネットワークデバイス112を登録解除できる。ネットワークデバイス112が鍵保持デバイス102に登録されているとき、RKnはRKkに等しいことに留意されたい。図23は、一連の段階A〜Iにおける、ネットワークデバイス112を登録解除するための、鍵保持デバイス102とネットワークデバイス112との間の対話を示す。図23は、鍵管理ユニット104および登録管理ユニット113によって行われる動作を示すが、いくつかの実装形態において、これらの動作は、それぞれ、鍵保持デバイス102およびネットワークデバイス112内の他のユニットによって行われ得る。
[00332] 段階Aで、ネットワークデバイス112との安全な通信チャネルが確立される。一実装形態において、鍵管理ユニット104が、登録管理ユニット113との鍵共有、鍵導出、および鍵確認動作を行うことによって、安全な通信チャネルを確立できる。安全な通信チャネルにより、鍵管理ユニット104および登録管理ユニット113が、ペアリングデータに対して暗号化演算を行わずに、ペアリングデータ(例えば、RKk、Statusなど)を交換できるようになり得る。鍵保持デバイス102とネットワークデバイス112との間の安全な通信チャネルは、登録解除動作が完了されるまで存在し続けることができる。
[00333] 段階Bで、ネットワークデバイス112に登録解除要求が送られる。一実装形態において、鍵管理ユニット104が、登録管理ユニット113に登録解除要求を送る。例えば、登録解除要求は、RKkと、ネットワークデバイス112に格納されたRKnおよびNK’を削除するための要求とを含む。
[00334] 段階Cで、RKnがヌルかどうか判断される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたRKnがヌルかどうか判断する。RKnがヌルの場合、登録管理ユニット113は、段階Dでの動作を行い得る。RKnがヌルでない場合、登録管理ユニット113は、段階Eで、RKnがRKkに等しいかどうか判断し得る。
[00335] 段階Dで、Statusが「未登録」と設定される。一実装形態において、登録管理ユニット113が、Statusを「未登録」と設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00336] 段階Eで、RKnがRKkに等しいかどうか判断される。一実装形態において、登録管理ユニット113が、RKnが(段階Bで受信された)RKkに等しいかどうか判断する。RKnがRKkに等しい場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断でき、登録管理ユニット113は、段階Gでの動作を行い得る。RKnがRKkに等しくない場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていないと判断でき、登録管理ユニット113は、段階Fでの動作を行い得る。いくつかの実装形態において、登録管理ユニット113は、登録解除要求を含むメッセージに含まれる1つまたは複数の安全なチャネル鍵を、ネットワークデバイス112に格納された(段階Aで確立された安全なチャネルに対応する)安全なチャネル鍵と比較することによって、ネットワークデバイス112が鍵保持デバイス102に登録されているかどうか判断できる。メッセージに含まれる安全なチャネル鍵が、ネットワークデバイス112に格納された安全なチャネル鍵と一致する場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていると判断し得る。メッセージに含まれる安全なチャネル鍵が、ネットワークデバイス112に格納された安全なチャネル鍵と一致しない場合、登録管理ユニット113は、ネットワークデバイス112が鍵保持デバイス102に登録されていないと判断し得る。
[00337] 段階Fで、Statusが「異なるKCDに登録済み」と設定される。一実装形態において、登録管理ユニット113が、Statusを「異なるKCDに登録済み」と設定する。登録管理ユニット113は、段階Hで、鍵管理ユニット104にStatusを送り得る。
[00338] 段階Gで、RKnおよびNK’が削除され、Statusが「未登録」と設定される。一実装形態において、登録管理ユニット113が、ネットワークデバイス112に格納されたRKnおよびNK’の値を削除し、Statusを「未登録」と設定する。第5の構成技法において、安全な通信チャネルは、悪意のあるデバイスから発したどのメッセージからの保護も保証するので、登録管理ユニット113は、RKnおよびNK’の値を削除する前に、登録解除要求が鍵保持デバイス102から受信されたと判断するための動作を行わなくてよいことに留意されたい。
[00339] 段階Hで、鍵保持デバイス102に登録解除応答が送られる。一実装形態において、登録管理ユニット113が、鍵管理ユニット104に登録解除応答を送る。例えば、登録解除応答は、ネットワークデバイス112が登録されていない、またはネットワークデバイス112が(鍵保持デバイス102とは異なる)別の鍵保持デバイスに登録されていることを鍵管理ユニット104に対して示すためのStatusを含み得る。いくつかの実装形態において、登録解除応答は、ネットワークデバイス112において1つまたは複数の登録解除動作が成功しなかったとき、エラーも含み得る。
[00340] 段階Iで、登録解除動作が停止される。一実装形態において、鍵管理ユニット104が、ネットワークデバイス112を登録解除するための登録解除動作を停止する。いくつかの実装形態において、鍵管理ユニット104が段階Hでの登録解除応答においてエラーを受信すると、鍵管理ユニット104は、登録管理ユニット113に登録解除要求を再送し得る。
[00341] 図5〜図23に記載した構成技法は、本質的に例示であり、簡単にするために、図5〜図23は、鍵保持デバイス102およびネットワークデバイス112によって行われる全ての動作を必ずしも示しているとは限らないことに留意されたい。例えば、(図5および図6で上述した)第1の構成技法並びに(図7および図8で上述した)第2の構成技法は、ネットワーク鍵が鍵保持デバイス102に格納されていないとき、ネットワーク鍵を受信し、またはランダムなネットワーク鍵を生成するための動作を含まない。但し、鍵保持デバイス102は、ネットワーク鍵が鍵保持デバイス102に格納されていないとき、そのような動作を行うための能力を含むことに留意されたい。図5〜図23に示す動作は、異なる順序で行われ、鍵保持デバイス102およびネットワークデバイス112において並行して行われてよいことなどにも留意されたい。また、鍵保持デバイス102は、ネットワークデバイスを構成するための、一度に1つの構成技法の使用に制限されない。いくつかの実施形態において、鍵保持デバイス102は、2つ以上の構成技法を使用して、同じまたは異なる通信ネットワーク内でネットワークデバイスを構成できる。
[00342] 図1〜図23および本明細書において説明する動作は、実施形態の理解を助けることを意図する例であり、実施形態を限定するため、または特許請求の範囲を限定するために使用されるべきではないことを理解されたい。実施形態は、追加の動作を行うこと、より少ない動作を行うこと、各動作を異なる順序で行うこと、各動作を並行して行うこと、およびいくつかの動作を異なるように行うことが可能である。例えば、図2〜図4および/または図5〜図23の動作のうちいくつかは、図2〜図4に記載した手順を実装するように、修正されても、異なる決定ステップで置き換えられてもよい。図13および図14は、ネットワークデバイス112を登録解除するための第3の構成技法の代替実装形態を示す。同様に、図18および図19並びに図20は、ネットワークデバイス112を登録解除するための第4の構成技法の代替実装形態を示す。第2、第3、第4、および第5の構成技法は、NFC−SEC−01規格に準拠し得ることに留意されたい。第2、第3、第4および第5の構成技法においても、ペアリングデータは鍵保持デバイス102に格納されておらず、その結果、複数の鍵保持デバイスを使用して、鍵保持デバイス102と同期し直す必要なく、通信ネットワーク100内のネットワークデバイスを構成する。
[00343] 当業者によって諒解されるように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。従って、本発明の主題の態様は、完全なハードウェアの実施形態、ソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、本明細書では全て一般に「回路」、「モジュール」または「システム」と呼ばれ得るソフトウェア態様とハードウェア態様とを組み合わせた一実施形態の形態をとることができる。さらに、本発明の主題の態様は、媒体上でコンピュータ可読プログラムコードが具現化される1つまたは複数のコンピュータ可読媒体内で具現化されるコンピュータプログラム製品の形態をとることができる。
[00344] 1つまたは複数のコンピュータ可読媒体の任意の組合せを利用できる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、限定はしないが、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記の任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つもしくは複数の有線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組合せが含まれるはずである。この文書の文脈において、コンピュータ可読記憶媒体は、命令を実行するシステム、装置、もしくはデバイスにより、またはそれらとともに使用するためのプログラムを包含または格納できる、任意の有形媒体であり得る。
[00345] コンピュータ可読信号媒体は、例えば、帯域内で、または搬送波の一部として、その中に具現化されたコンピュータ可読プログラムコードを有する、伝搬されるデータ信号を含むことができる。そのような伝搬信号は、限定はしないが、電磁気、光、またはそれらの任意の適切な組合せを含む、様々な形態のうちのいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令を実行するシステム、装置、もしくはデバイスにより、またはそれらとともに使用するためのプログラムを通信、伝搬、または転送できる、任意のコンピュータ可読媒体であり得る。
[00346] コンピュータ可読媒体上で具現化されるプログラムコードは、限定はされないが、ワイヤレス、有線、光ファイバケーブル、RFなど、または上記の任意の適切な組合せを含む、任意の適切な媒体を使用して送信され得る。
[00347] 本発明の主題の態様のための動作を実行するためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語、例えばJava(登録商標)、Smalltalk、C++など、および従来の手続き型プログラミング言語、例えば「C」プログラミング言語または類似のプログラミング言語を含めて、1つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で実行されても、または部分的にユーザのコンピュータ上で実行されても、またはスタンドアロンのソフトウェアパッケージとして実行されても、または部分的にユーザのコンピュータにおいて、また部分的にリモートコンピュータ上で実行されても、または完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオにおいて、リモートコンピュータが、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続が(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。
[00348] 本発明の主題の態様は、本発明の主題の実施形態に従って、方法、装置(システム)およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して説明される。フローチャート図および/またはブロック図の各ブロック、およびフローチャート図および/またはブロック図におけるブロックの組合せはコンピュータプログラム命令によって実装され得ることを理解されよう。これらのコンピュータプログラム命令は、機械を製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに与えられてよく、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装するための手段を作成する。
[00349] これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに、特定の方法で機能するように命令できるコンピュータ可読媒体に格納されてよく、その結果、コンピュータ可読媒体に格納された命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装する命令を含む製造品を製造する。
[00350] コンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、一連の動作ステップが、コンピュータ、他のプログラマブル装置または他のデバイス上で実行されるようにして、コンピュータで行われるプロセスを作成でき、その結果、コンピュータまたは他のプログラマブル装置上で実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装するためのプロセスを提供する。
[00351] 図24は、例示的なネットワークデバイス2400を示す。いくつかの実装形態において、ネットワークデバイス2400は、短距離通信(例えば、NFC、Bluetooth、ZigBeeなど)をサポートする通信デバイスでよい。ネットワークデバイス2400は、(場合によっては、例えば、複数のプロセッサ、複数のコア、複数のノードを含み、かつ/またはマルチスレッドを実装する)プロセッサユニット2401を含む。ネットワークデバイス2400は、メモリ2403を含む。メモリ2403は、システムメモリ(例えば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM(登録商標)、NRAM、RRAM(登録商標)、SONOS、PRAMなどの1つもしくは複数)または機械可読媒体の上記で既に説明した考えられる実現形態の任意の1つもしくは複数であってもよい。ネットワークデバイス2400はまた、バス2411(PCI、PCI−Express、AHB(登録商標)、AXI(登録商標)、NoCなど)と、記憶デバイス(1つまたは複数)2409(例えば、SDカード、SIMカード、光学ストレージ、磁気ストレージなど)と、通信ユニット2405(例えば、GSM(登録商標)ユニット、CDMAユニット、FMユニット、Wi−Fiユニットなど)と、I/Oデバイス2407(例えば、タッチスクリーン、カメラ、マイクロフォン、スピーカなど)と、ネットワークインターフェース2420(例えば、Bluetoothインターフェース、NFCインターフェース、Wi−Fiインターフェース、電力線インターフェース、イーサネット(登録商標)インターフェース、フレームリレーインターフェース、SONETインターフェースなど)とを含む。通信ユニット2405は、短距離通信ユニット2413と管理ユニット2415とを含む。短距離通信ユニット2413は、1つまたは複数の短距離通信技法(例えば、NFC、ZigBee、Bluetoothなど)を実装するための構成要素を含む。管理ユニット2415は、(図1〜図23で上述したように)登録管理ユニットでも鍵管理ユニットでもよい。管理ユニット2415は、図1〜図23で上述した実施形態のうちいくつかを実装するための機能性を実施する。管理ユニット2415は、図5〜図23で上述した少なくとも5つの構成技法を使ってネットワークデバイスを安全に構成するのを円滑にする1つまたは複数の機能性を含み得る。
[00352] これらの機能のいずれかは、部分的に(または全体的に)、ハードウェアで、および/またはプロセッサユニット2401上もしくはメモリ2403内で実装され得る。例えば、機能は、特定用途向け集積回路を用いて実装され、プロセッサユニット2401、周辺デバイスまたはカード上のコプロセッサなどの中に論理で実装され得る。さらに、実現形態は、図24に示されていない、より少ないまたは追加の構成要素(例えば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど)を含むことができる。プロセッサユニット2401、記憶デバイス(1つまたは複数)2409、I/Oデバイス2407、ネットワークインターフェース2420および通信ユニット2405は、バス2411に結合される。バス2411に結合されるものとして示されるが、メモリ2403は、プロセッサユニット2401に結合され得る。
[00353] 実施形態は、様々な実装形態および利用形態に関して説明されるが、これらの実施形態は例示的なものであり、本発明の主題の範囲はそれらに限定されないことが理解されよう。概して、本明細書に記載する短距離ワイヤレス通信を使ってネットワークデバイスを安全に構成するための技法は、任意の1つまたは複数のハードウェアシステムに適応する設備によって実施されてもよい。多くの変形、変更、追加、および改良が可能である。
[00354] 複数の事例は、本明細書で単一の事例として説明する構成要素、操作または構造のために提供され得る。最後に、様々な構成要素と、動作と、データストアとの間の境界はいくぶん恣意的であり、特定の動作は、特定の例示的な構成のコンテキストで説明した。機能の他の割振りが想定され、本発明の主題の範囲内に入り得る。概して、例示的な構成において別個の構成要素として提示された構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示された構造および機能は、別個の構成要素として実装され得る。これらの、および他の変形、修正、追加、並びに改善が、本発明の主題の範囲内に入り得る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
中間構成デバイスを使ってネットワークデバイスを構成するための方法であって、
構成デバイスによって、前記ネットワークデバイスとの短距離通信接続を介して、通信ネットワークの前記ネットワークデバイスとのペアリング動作を開始することと、
前記構成デバイスによって、前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記構成デバイスと前記ネットワークデバイスとの間の短距離通信チャネルを確立することと、
前記ネットワークデバイスを構成するためのネットワーク鍵を、前記短距離通信チャネルを介して前記ネットワークデバイスに送信して、前記通信ネットワークに通信可能に接続することとを備える方法。
[C2]
前記ネットワークデバイスが前記登録状態にあると判断された場合、
前記ネットワークデバイスを登録解除するかどうか判断することをさらに備える、C1に記載の方法。
[C3]
前記ネットワークデバイスを登録解除するかどうか前記判断することが、
前記ネットワークデバイスが、前記構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断することと、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断し、前記ネットワークデバイスを登録解除することを決定したことに応答して、前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、前記短距離通信チャネルを介して前記ネットワークデバイスに送信することとを備える、C2に記載の方法。
[C4]
前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを前記送信することが、前記ペアリング動作中に前記ネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信することを備える、C3に記載の方法。
[C5]
前記ネットワークデバイスとのペアリング動作を前記開始することが、
前記ネットワークデバイスのデバイス識別子および複数の鍵を交換し格納することによって、前記ネットワークデバイスとペアになること、並びに
非対称暗号化方式を使って前記ネットワークデバイスとペアになることのうち1つを備える、C1に記載の方法。
[C6]
前記非対称暗号化方式を使って前記ネットワークデバイスと前記ペアになることが、前記構成デバイスの公開鍵を前記ネットワークデバイスに格納することを備える、C5に記載の方法。
[C7]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか前記判断することが、
第1の情報を含む第1のメッセージを、前記構成デバイスから前記ネットワークデバイスに送信することと、
前記第1のメッセージに応答して受信された第2のメッセージに基づいて、前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断することとを備える、C1に記載の方法。
[C8]
前記短距離通信接続が近距離通信(NFC)接続である、C1に記載の方法。
[C9]
前記短距離通信接続が、Bluetooth通信接続、ZigBee通信接続、およびワイヤレスローカルエリアネットワーク(WLAN)通信接続のうちの1つである、C1に記載の方法。
[C10]
前記短距離通信チャネルが、完全性、暗号化、およびリプレイ保護に対するサポートを有する安全な短距離通信チャネルを備える、C1に記載の方法。
[C11]
前記リプレイ保護が、シーケンス番号を使って実装される、C10に記載の方法。
[C12]
前記リプレイ保護が、タイムスタンプを使って実装される、C10に記載の方法。
[C13]
ネットワークデバイスを構成するための方法であって、
通信ネットワークの前記ネットワークデバイスにおいて、短距離通信接続を介して、前記構成デバイスに登録するための、構成デバイスからの要求を受信することと、
前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記ネットワークデバイスが前記未登録状態にあるということを示すための応答を、前記構成デバイスに送信することと、
前記ネットワークデバイスと前記構成デバイスとの間の短距離通信チャネルを確立することと、
前記構成デバイスに登録するための少なくとも1つの鍵を、前記短距離通信チャネルを介して前記構成デバイスから受信することとを備える方法。
[C14]
登録するための前記要求が前記構成デバイスの識別子を備える、C13に記載の方法。
[C15]
登録するための前記要求が前記構成デバイスの公開鍵を備える、C13に記載の方法。
[C16]
登録するための前記要求が、
乱数についての要求、または
乱数を備える、C13に記載の方法。
[C17]
前記ネットワークデバイスにおける前記乱数の受信に応答して、前記ネットワークデバイスに格納された前記少なくとも1つの鍵のハッシュ値を計算し、前記ハッシュ値を前記構成デバイスに送る、C16に記載の方法。
[C18]
前記ネットワークデバイスにおける、前記乱数についての前記要求の受信に応答して、前記構成デバイスに乱数を送る、C16に記載の方法。
[C19]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか前記判断することが、前記ネットワークデバイスに格納された少なくとも1つのパラメータを、前記構成デバイスから受信されたパラメータと比較することを備える、C13に記載の方法。
[C20]
前記構成デバイスに前記応答を前記送ることが、前記ネットワークデバイスに格納された前記通信ネットワークのネットワーク鍵を前記構成デバイスに送ることをさらに備える、C13に記載の方法。
[C21]
前記ネットワークデバイスに格納された前記通信ネットワークの前記ネットワーク鍵を前記送ることが、前記構成デバイスに前記ネットワーク鍵のハッシュ値を送ることをさらに備える、C20に記載の方法。
[C22]
前記短距離通信チャネルを前記確立することが、鍵共有、鍵導出および鍵確認手順を行い、安全な短距離通信チャネルを確立することを備える、C13に記載の方法。
[C23]
前記ネットワークデバイスにおいて、登録解除するための要求を前記構成デバイスから受信することと、
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断することと、
前記ネットワークデバイスが前記登録状態にあると判断された場合、
前記ネットワークデバイスが、登録解除するための前記要求を送った前記構成デバイスに登録されているかどうか判断することと、
前記ネットワークデバイスが、登録解除するための前記要求を送った前記構成デバイスに登録されていると判断された場合、前記ネットワークデバイスに格納された前記少なくとも1つの鍵を削除することとをさらに備える、C13に記載の方法。
[C24]
登録解除するための前記要求を送った前記構成デバイスに、前記前記ネットワークデバイスが登録されていると前記判断することが、登録動作中に、前記登録解除要求中で受信された少なくとも1つのパラメータを、前記ネットワークデバイスに格納されたパラメータと比較することを備える、C23に記載の方法。
[C25]
前記ネットワークデバイスが、登録解除するための前記要求を送った前記構成デバイスに登録されていると前記判断することが、前記構成デバイスから受信されたメッセージに含まれる完全性フィールドが有効か、それとも無効か判断することを備える、C23に記載の方法。
[C26]
中間構成デバイスを使ってネットワークデバイスを構成するための方法であって、
構成デバイスにおいて、前記ネットワークデバイスを登録するための、前記ネットワークデバイスとのメッセージ交換を開始することと、
前記ネットワークデバイスから受信された応答において受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断することと、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、前記構成デバイスに前記ネットワークデバイスを登録するための少なくとも1つの鍵を送ることと、
前記通信ネットワークのネットワーク鍵が前記ネットワークデバイスに格納されているかどうか判断することと、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていると判断された場合、前記ネットワークデバイスから前記ネットワーク鍵を受信することと、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていないと判断された場合、前記ネットワークデバイスにネットワーク鍵を送ることとを備える方法。
[C27]
前記ネットワークデバイスからの前記応答が、前記ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える、C26に記載の方法。
[C28]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか前記判断することが、
前記ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルのとき、前記ネットワークデバイスが前記未登録状態にあると判断すること、
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値がヌルでないとき、前記ネットワークデバイスが前記登録状態にあると判断すること、および
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値が、前記構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、前記ネットワークデバイスが前記構成デバイスに登録されていると判断することのうち1つまたは複数を備える、C26に記載の方法。
[C29]
安全な短距離通信チャネルを介して、前記ネットワークデバイスを登録するための、前記ネットワークデバイスとの前記メッセージ交換を開始することをさらに備える、C26に記載の方法。
[C30]
前記構成デバイスにおいて、前記ネットワークデバイスを登録解除するための、前記ネットワークデバイスとの第2のメッセージ交換を開始することと、
前記ネットワークデバイスからの第2の応答において受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが前記構成デバイスに登録されているかどうか判断することと、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断された場合、前記ネットワークデバイスを登録解除するための少なくとも1つの命令を送ることとをさらに備える、C26に記載の方法。
[C31]
前記ネットワークデバイスからの前記第2の応答が、前記ネットワークデバイスに格納された少なくとも1つのパラメータのハッシュ値を備える、C30に記載の方法。
[C32]
前記ネットワークデバイスからの前記第2の応答が前記ネットワークデバイスのステータスを備え、前記ステータスが、前記ネットワークデバイスが前記構成デバイスに登録されているかどうかを示す、C30に記載の方法。
[C33]
ネットワークデバイスを構成するための構成デバイスであって、
ネットワークインターフェースと、
鍵管理ユニットとを備え、前記鍵管理ユニットが、
前記ネットワークデバイスとの短距離通信接続を介して、通信ネットワークの前記ネットワークデバイスとのペアリング動作を開始し、
前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記構成デバイスと前記ネットワークデバイスとの間の短距離通信チャネルを確立し、
前記ネットワークデバイスを構成するためのネットワーク鍵を、前記短距離通信チャネルを介して前記ネットワークデバイスに送信して、前記通信ネットワークに通信可能に接続するように構成される、構成デバイス。
[C34]
前記鍵管理ユニットが、
前記ネットワークデバイスが前記登録状態にあると判断された場合、
前記ネットワークデバイスを登録解除するかどうか判断するようにさらに構成される、C33に記載の構成デバイス。
[C35]
前記ネットワークデバイスを登録解除するかどうか判断するように構成された前記鍵管理ユニットが、
前記ネットワークデバイスが、前記構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断し、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断し、前記ネットワークデバイスを登録解除することを決定したことに応答して、前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、前記短距離通信チャネルを介して前記ネットワークデバイスに送信するように構成された前記鍵管理ユニットを備える、C34に記載の構成デバイス。
[C36]
前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを送信するように構成された前記鍵管理ユニットが、前記ペアリング動作中に前記ネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信するように構成された前記鍵管理ユニットを備える、C35に記載の構成デバイス。
[C37]
前記ネットワークデバイスとのペアリング動作を開始するように構成された前記鍵管理ユニットが、
前記ネットワークデバイスのデバイス識別子および複数の鍵を交換し格納することによって、前記ネットワークデバイスとペアになること、並びに
非対称暗号化方式を使って前記ネットワークデバイスとペアになることのうち1つを行うように構成された前記鍵管理ユニットを備える、C33に記載の構成デバイス。
[C38]
前記非対称暗号化方式を使って前記ネットワークデバイスとペアになるように構成された前記鍵管理ユニットが、前記構成デバイスの公開鍵を前記ネットワークデバイスに格納するように構成された前記鍵管理ユニットを備える、C37に記載の構成デバイス。
[C39]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断するように構成された前記鍵管理ユニットが、
第1の情報を含む第1のメッセージを、前記構成デバイスから前記ネットワークデバイスに送信し、
前記第1のメッセージに応答して受信された第2のメッセージに基づいて、前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断するように構成された前記鍵管理ユニットを備える、C33に記載の構成デバイス。
[C40]
前記短距離通信チャネルが、完全性、暗号化、およびリプレイ保護に対するサポートを有する安全な短距離通信チャネルを備える、C33に記載の構成デバイス。
[C41]
通信ネットワークのネットワークデバイスであって、
ネットワークインターフェースと、
登録管理ユニットとを備え、前記登録管理ユニットが、
短距離通信接続を介して、構成デバイスに登録するための要求を受信し、
前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記ネットワークデバイスが前記未登録状態にあるということを示すための応答を、前記構成デバイスに送信し、
前記ネットワークデバイスと前記構成デバイスとの間の短距離通信チャネルを確立し、
前記構成デバイスに登録するための少なくとも1つの鍵を、前記短距離通信チャネルを介して前記構成デバイスから受信するように構成される、ネットワークデバイス。
[C42]
登録するための前記要求が前記構成デバイスの識別子を備える、C41に記載のネットワークデバイス。
[C43]
登録するための前記要求が前記構成デバイスの公開鍵を備える、C41に記載のネットワークデバイス。
[C44]
登録するための前記要求が、
乱数についての要求、または
乱数を備える、C41に記載のネットワークデバイス。
[C45]
前記ネットワークデバイスにおける前記乱数の受信に応答して、前記登録管理ユニットが、前記ネットワークデバイスに格納された前記少なくとも1つの鍵のハッシュ値を計算し、前記ハッシュ値を前記構成デバイスに送るように構成される、C44に記載のネットワークデバイス。
[C46]
前記ネットワークデバイスにおける前記乱数についての前記要求の受信に応答して、前記登録管理ユニットが、前記構成デバイスに乱数を送るように構成される、C44に記載のネットワークデバイス。
[C47]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断するように構成された前記登録管理ユニットが、前記ネットワークデバイスに格納された少なくとも1つのパラメータを、前記構成デバイスから受信されたパラメータと比較するように構成された前記登録管理ユニットを備える、C41に記載のネットワークデバイス。
[C48]
前記構成デバイスに前記応答を送るように構成された前記登録管理ユニットが、前記ネットワークデバイスに格納された前記通信ネットワークのネットワーク鍵を前記構成デバイスに送るように構成された前記登録管理ユニットをさらに備える、C41に記載のネットワークデバイス。
[C49]
前記ネットワークデバイスに格納された前記通信ネットワークの前記ネットワーク鍵を送るように構成された前記登録管理ユニットが、前記構成デバイスに前記ネットワーク鍵のハッシュ値を送るように構成された前記登録管理ユニットをさらに備える、C48に記載のネットワークデバイス。
[C50]
前記短距離通信チャネルを確立するように構成された前記登録管理ユニットが、鍵共有、鍵導出および鍵確認手順を行って、安全な短距離通信チャネルを確立するように構成された前記登録管理ユニットを備える、C41に記載のネットワークデバイス。
[C51]
前記登録管理ユニットが、
前記ネットワークデバイスにおいて、登録解除するための要求を前記構成デバイスから受信し、
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断し、
前記ネットワークデバイスが前記登録状態にあると判断された場合、
前記ネットワークデバイスが、登録解除するための前記要求を送った前記構成デバイスに登録されているかどうか判断し、
前記ネットワークデバイスが、登録解除するための前記要求を送った前記構成デバイスに登録されていると判断された場合、前記ネットワークデバイスに格納された前記少なくとも1つの鍵を削除するようにさらに構成される、C41に記載のネットワークデバイス。
[C52]
登録解除するための前記要求を送った前記構成デバイスに前記ネットワークデバイスが登録されていると判断するように構成された前記登録管理ユニットが、登録動作中に、前記登録解除要求中で受信された少なくとも1つのパラメータを、前記ネットワークデバイスに格納されたパラメータと比較するように構成された前記登録管理ユニットを備える、C51に記載のネットワークデバイス。
[C53]
登録解除するための前記要求を送った前記構成デバイスに前記ネットワークデバイスが登録されていると判断するように構成された前記登録管理ユニットが、前記構成デバイスから受信されたメッセージに含まれる完全性フィールドが有効か、それとも無効か判断するように構成された前記登録管理ユニットを備える、C51に記載のネットワークデバイス。
[C54]
ネットワークデバイスを構成するための構成デバイスであって、
ネットワークインターフェースと、
鍵管理ユニットとを備え、前記鍵管理ユニットが、
前記ネットワークデバイスを登録するための、前記ネットワークデバイスとのメッセージ交換を開始し、
前記ネットワークデバイスから受信された応答において受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、前記構成デバイスに前記ネットワークデバイスを登録するための少なくとも1つの鍵を送り、
前記通信ネットワークのネットワーク鍵が前記ネットワークデバイスに格納されているかどうか判断し、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていると判断された場合、前記ネットワークデバイスから前記ネットワーク鍵を受信し、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていないと判断された場合、前記ネットワークデバイスにネットワーク鍵を送るように構成される、構成デバイス。
[C55]
前記ネットワークデバイスからの前記応答が、前記ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える、C54に記載の構成デバイス。
[C56]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断するように構成された前記鍵管理ユニットが、
前記ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルのとき、前記ネットワークデバイスが前記未登録状態にあると判断すること、
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値がヌルでないとき、前記ネットワークデバイスが前記登録状態にあると判断すること、および
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値が、前記構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、前記ネットワークデバイスが前記構成デバイスに登録されていると判断することのうち1つまたは複数を行うように構成された前記鍵管理ユニットを備える、C54に記載の構成デバイス。
[C57]
前記鍵管理ユニットが、安全な短距離通信チャネルを介して、前記ネットワークデバイスを登録するための、前記ネットワークデバイスとの前記メッセージ交換を開始するようにさらに構成される、C54に記載の構成デバイス。
[C58]
前記鍵管理ユニットが、
前記構成デバイスにおいて、前記ネットワークデバイスを登録解除するための、前記ネットワークデバイスとの第2のメッセージ交換を開始し、
前記ネットワークデバイスからの第2の応答中の受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが前記構成デバイスに登録されていると判断し、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断された場合、前記ネットワークデバイスを登録解除するための少なくとも1つの命令を送るようにさらに構成される、C54に記載の構成デバイス。
[C59]
機械実行可能命令を格納した非一時的機械可読記憶媒体であって、前記機械実行可能命令が、
構成デバイスによって、前記ネットワークデバイスとの短距離通信接続を介して、通信ネットワークのネットワークデバイスとのペアリング動作を開始し、
前記構成デバイスによって、前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記構成デバイスと前記ネットワークデバイスとの間の短距離通信チャネルを確立し、
前記ネットワークデバイスを構成するためのネットワーク鍵を、前記短距離通信チャネルを介して前記ネットワークデバイスに送信して、前記通信ネットワークに通信可能に接続するための命令を備える、非一時的機械可読記憶媒体。
[C60]
前記命令が、
前記ネットワークデバイスが前記登録状態にあると判断された場合、
前記ネットワークデバイスを登録解除するかどうか判断するための命令をさらに備える、C59に記載の非一時的機械可読記憶媒体。
[C61]
前記ネットワークデバイスを登録解除するかどうか判断するための前記命令が、
前記ネットワークデバイスが、前記構成デバイスに登録されているか、それとも異なる構成デバイスに登録されているか判断し、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断し、前記ネットワークデバイスを登録解除することを決定したことに応答して、前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを、前記短距離通信チャネルを介して前記ネットワークデバイスに送信するための命令を備える、C60に記載の非一時的機械可読記憶媒体。
[C62]
前記ネットワークデバイスを登録解除するための少なくとも1つのメッセージを送信するための前記命令が、前記ペアリング動作中に前記ネットワークデバイスに格納されたデータを削除するための少なくとも1つの命令を送信するための命令を備える、C61に記載の非一時的機械可読記憶媒体。
[C63]
機械実行可能命令を格納した非一時的機械可読記憶媒体であって、前記機械実行可能命令が、
構成デバイスにおいて、前記ネットワークデバイスを登録するための、前記ネットワークデバイスとのメッセージ交換を開始し、
前記ネットワークデバイスから受信された応答において受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断し、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、前記構成デバイスに前記ネットワークデバイスを登録するための少なくとも1つの鍵を送り、
前記通信ネットワークのネットワーク鍵が前記ネットワークデバイスに格納されているかどうか判断し、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていると判断された場合、前記ネットワークデバイスから前記ネットワーク鍵を受信し、
前記ネットワーク鍵が前記ネットワークデバイスに格納されていないと判断された場合、前記ネットワークデバイスにネットワーク鍵を送るための命令を備える、非一時的機械可読記憶媒体。
[C64]
前記ネットワークデバイスからの前記応答が、前記ネットワークデバイスに格納された少なくとも1つの鍵のハッシュ値を備える、C63に記載の非一時的機械可読記憶媒体。
[C65]
前記ネットワークデバイスが前記登録状態にあるか、それとも前記未登録状態にあるか判断するための前記命令が、
前記ネットワークデバイスから受信された少なくとも1つの鍵のハッシュ値がヌルのとき、前記ネットワークデバイスが前記未登録状態にあると判断するための命令、
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値がヌルでないとき、前記ネットワークデバイスが前記登録状態にあると判断するための命令、および
前記ネットワークデバイスから受信された少なくとも1つの鍵の前記ハッシュ値が、前記構成デバイスにおいて格納された少なくとも1つの鍵のハッシュ値と一致するとき、前記ネットワークデバイスが前記構成デバイスに登録されていると判断するための命令のうち1つまたは複数を備える、C63に記載の非一時的機械可読記憶媒体。
[C66]
前記命令が、安全な短距離通信チャネルを介して、前記ネットワークデバイスを登録するための、前記ネットワークデバイスとの前記メッセージ交換を開始するための命令をさらに備える、C63に記載の非一時的機械可読記憶媒体。
[C67]
前記命令が、
前記構成デバイスにおいて、前記ネットワークデバイスを登録解除するための、前記ネットワークデバイスとの第2のメッセージ交換を開始し、
前記ネットワークデバイスからの第2の応答において受信された少なくとも1つのパラメータに基づいて、前記ネットワークデバイスが前記構成デバイスに登録されているかどうか判断し、
前記ネットワークデバイスが前記構成デバイスに登録されていると判断された場合、前記ネットワークデバイスを登録解除するための少なくとも1つの命令を送るための命令をさらに備える、C63に記載の非一時的機械可読記憶媒体。
[C68]
ネットワークデバイスを構成するための構成デバイスであって、
前記ネットワークデバイスとの短距離通信接続を介して、通信ネットワークの前記ネットワークデバイスとのペアリング動作を開始するための手段と、
前記ネットワークデバイスが登録状態にあるか、それとも未登録状態にあるか判断するための手段と、
前記ネットワークデバイスが前記未登録状態にあると判断された場合、
前記構成デバイスと前記ネットワークデバイスとの間の短距離通信チャネルを確立するための手段と、
前記ネットワークデバイスを構成するためのネットワーク鍵を、前記短距離通信チャネルを介して前記ネットワークデバイスに送信して、前記通信ネットワークに通信可能に接続するための手段とを備える構成デバイス。