(58)【調査した分野】(Int.Cl.,DB名)
マシン−対−マシン(Machine−to−Machine:M2M)サービスにおいてデバイスまたはゲートウェイでブートストラップ(bootstrapping)状態を消去する方法は、
M2M認証サーバ(Authentication Server)(MAS)またはM2Mサービスブートストラップ機能部(M2M Service Bootstrapping Function)(MSBF)から第1ペイロードを含む消去要請を受信するステップと、
前記消去要請の第1ペイロードに含まれるM2MノードID及びキーインデックスに基づいて秘密キーを獲得するステップと、
前記秘密キー、前記M2MノードID及びキーインデックスに基づいて、第1ハッシュ値を生成するステップと、
前記第1ハッシュ値を前記消去要請に含まれた第2ハッシュ値とマッチングさせるステップと、
前記マッチングの結果に基づいて前記消去要請を処理するステップと、
消去応答を前記MASまたは前記MSBFに送信するステップとを含み、
前記第1ハッシュ値は、ハッシュ=ハッシュ関数(Kmr、M2MノードID|キーインデックス|N臨時|類型)によって生成され、
前記「|」は、連鎖を意味し、前記N臨時は、前記MASまたは前記MSBFによって生成された臨時値を含み、前記類型は、前記第1ペイロードの類型を表す類型値を含むことを特徴とするブートストラップ状態消去方法。
前記制御機は、前記デバイスまたは前記ゲートウェイのローカルキーリポジトリから、前記M2MノードIDまたはキーインデックスに基づいて前記秘密キーを獲得することを特徴とする請求項9に記載のデバイスまたはゲートウェイ。
前記制御機は、前記デバイスまたは前記ゲートウェイのローカルキーリポジトリから、 前記M2MノードID及びキーインデックスに基づいて前記秘密キーを獲得することを特徴とする請求項13に記載のデバイスまたはゲートウェイ。
【発明を実施するための形態】
【0016】
添付図面を参照して、以下の詳細な説明は、本請求の範囲およびその均等な範囲によって限定された本発明の例示的な実施形態の包括的理解のために提供される。この詳細な説明は理解のために様々な特定の詳細を含むが、これら詳細は単に例示的なものと考えられる。したがって、この技術分野における通常の知識を有する者であれば、本明細書に説明された実施形態の様々な変更および変形が本発明の範囲と思想を逸脱しない範囲内で実現可能であることを認識することができる。さらに、周知の機能および構成に関する説明は明確化および簡潔さのために省略可能である。
【0017】
以下、詳細な説明および請求の範囲に使われた用語および単語は、書誌的意味(bibliographical meaning)に制限されず、本発明を明確にし、一貫した理解を可能にするために単に本発明者によって使われたに過ぎない。したがって、この技術分野における通常の知識を有する者であれば、本発明の例示的な実施形態の以下の詳細な説明は単に例示的な目的のために提供されたに過ぎず、添付した請求の範囲とその均等な範囲によって限定された本発明を制限するために提供されたものではないことを明確に理解することができる。
【0018】
単数形態の「一」および「前記」は、文脈が明確に別途に指示しない限り、複数の対象を含むと理解される。したがって、例えば、「成分表面(component surface)」とは、1つ以上のかかる表面を含む。
【0019】
本発明の例示的な実施形態により、消去手順は、このデバイス/ゲートウェイ、またはM2Mサービスブートストラップ機能部(MSBF)またはM2M認証サーバ(MAS)のようなネットワーク要素によって開始できる。本発明の例示的な実施形態により、この手順を開始する他のネットワーク要素はない。
【0020】
この消去手順がデバイス/ゲートウェイによって開始されると、この消去手順は、MSBFまたはMASのうちのいずれかに向かうことができる。本発明は、2つの可能性(possibility)をすべて含む。どれが用いられるかは、これら方式(scheme)を用いるアーキテクチャおよび展開方式によって決定される。
【0021】
前述した要素のうちのいずれかによって開始されると、この手順は、非認可(unauthorized)要素によるサービス拒否攻撃(denial−of service attack)に利用できないように、原本(origin)認証、無欠性(integrity)およびリプレイ(replay)保護を提供する。
【0022】
<実施例1:MSBFで開始された消去手順>
図2は、本発明の例示的な実施形態により実施例1のMSBFで開始された消去手順のための呼フローを示す。
【0023】
図2を参照すれば、MSBFがステップ210でM2Mブートストラップ手順を開始する。消去手順が行われるようにするために、このデバイス/ゲートウェイおよびMSBFはすでにブートストラップ手順を実行したものと仮定される。この手順は、ネットワークM2Mノードのような仲介者(intermediary)を伴うか、または伴わなくてもよい。
【0024】
ブートストラップ手順の終了時には、デバイス/ゲートウェイおよびMSBFは、Kmrと呼ばれる秘密キーを共有する。ブートストラップ手順に用いられる特定のプロトコールによって、追加のキー資料(EAPプロトコールが用いられる時には、例えば、拡張可能なマスターセッションキー(EMSK))もこれらの終端点(end−point)に存在し得る。
【0025】
MSBFがステップ220で消去手順を開始することを決定すると、MSBDは、消去要請をデバイス/ゲートウェイに送信する。この要請は、(
図1に示されるように)ネットワークM2Mノードのような仲介者を介してデバイス/ゲートウェイに中継(relayed)されるか、または直接デバイス/ゲートウェイに送信され得る。消去手順を開始する決定はMSBFに属するが、その決定プロセスの詳細は本詳細な説明の範囲外である。
【0026】
消去要請は、消去トークンと呼ばれるペイロード(payload)を含む。このトークンは、トークンの認証および無欠性に対する暗号プルーフ(cryptographic proof)と共に、送信者の意図を運搬する。
【0027】
消去トークンは、以下の情報要素を含み、また、追加の要素を含むことができる。
【0028】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子(identifier)を含む。
【0029】
キーインデックス(key index):この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス(IKmr))を含む。このインデックスは、同じキーに複数のインスタンス(instance)があり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数(hash function)に用いられるキーがインデックス値を有する時にのみ含まれ得、そうでなければ省略可能である。
【0030】
N
臨時:この情報要素は、送信者によって生成された数(number)を含む。送信者は、同じ臨時(nonce)値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに(randomly)、順次に(sequentially)、または任意の他のパターンで生成できる。
【0031】
類型(type):この情報要素は、要請の類型を示す値を含む。消去手順に変更(variation)が要求される時、この類型は、これらを区別することを助けることができる。
【0032】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0033】
以下の数式は、ハッシュ値を演算(computing)するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。この関数において、「|」は連鎖(concatenation)を示す。
【0034】
ハッシュ−関数は、一方向キー設定されたハッシュ関数(one−way keyed hash function)であり、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMSBFの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0035】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算(computation)にも含まれない。
【0036】
追加のパラメータ(数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、この数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0037】
消去要請は、PANA(PANA終了(Termination)要請または別のPANA要請パケットを介して運搬可能なPANA AVPの形態で)、Diameter/RADIUS(AVP/属性の形態で)、HTTPなどのような多くの異なるプロトコールのうちの1つを介して送信できる。
【0038】
ステップ230において、デバイス/ゲートウェイは、消去要請を受信する。
【0039】
ネットワークM2Mノードのような仲介者があれば、この仲介者がMSBFから消去要請を受信し、この消去要請をデバイス/ゲートウェイに中継する。この仲介者は、両側で要請を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MSBFに向かう側(MSBF−facing side)はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の例示的な実施形態により、この仲介者は省略可能であり、要請メッセージはMSBFからデバイス/ゲートウェイに直接送信できる。
【0040】
ステップ240において、デバイス/ゲートウェイは、消去要請を受信し、処理する。デバイス/ゲートウェイが消去要請を受信すると、デバイス/ゲートウェイは、要請を真(authentic)として受け入れる(accept)前にハッシュを検証(verify)する。
【0041】
デバイス/ゲートウェイは、ローカルキーリポジトリ(local key repository)から、ルックアップ(look up)のためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索(retrieve)する。マッチングする秘密キーがなければ、デバイス/ゲートウェイは、消去要請を無視(ignore)する。
【0042】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ220と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、デバイス/ゲートウェイは、この消去要請を無視する。このハッシュがマッチングするものであれば、デバイス/ゲートウェイは、当該入力される消去要請を有効なものとして受け入れる。
【0043】
デバイス/ゲートウェイは、そのローカル政策に基づいてこの消去要請を処理する方式を決定する。例えば、デバイス/ゲートウェイは、このような要請を拒否するように永久的に構成できる。このデバイス/ゲートウェイが消去要請を受け入れると、デバイス/ゲートウェイは、消去応答を送り返した後に、ブートストラップ状態を削除する。デバイス/ゲートウェイは、消去応答がMSBFによって受信されず、MSBFが消去要請を再送信(その処理は当該状態が存在することを要求することができる)する場合、当該状態を削除する前に遅延を設けることができる。
【0044】
デバイス/ゲートウェイは、消去応答をMSBFに送信する。この応答は、ネットワークM2Mノードのような仲介者を介して送信できる。消去応答は、消去トークンを含まなければならない。
【0045】
消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0046】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0047】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられたキーがインデックス値を有する時にのみ含まれ、そうでなければ省略される。
【0048】
N
臨時:この情報要素は、送信者によって生成された数を含む。送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0049】
類型:この情報要素は、応答の類型を示す値を含む。この情報要素は、「消去に成功する」、「ローカル政策によって消去が拒否される」などに対応する値を示すことができる。
【0050】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0051】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。この関数において、「|」は連鎖を示す。
【0052】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMSBFの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0053】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。
【0054】
追加のパラメータ(数式で「他のパラメータ」で示されている)が数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0055】
ステップ250において、消去応答は、消去要請を運搬したのと同じプロトコールを介して送信される。
【0056】
ネットワークM2Mノードのような仲介者があれば、この仲介者がデバイス/ゲートウェイから消去応答を受信し、この消去応答をMSBFに中継する。仲介者は、両側で応答を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MSBFに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の例示的な実施形態により、この仲介者は除去可能であり、応答メッセージはデバイス/ゲートウェイからMSBFに直接送信できる。
【0057】
MSBFが消去応答を受信すると、MSBFは、応答を真として受け入れる前にハッシュを検証する。MSBFは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングするキーがなければ、MSBFは、消去応答を無視する。
【0058】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ240と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、MSBFは、消去応答を無視する。
【0059】
ハッシュがマッチングするものであれば、MSBFは、当該入力される消去応答を有効なものとして受け入れる。MSBFは、受信された類型およびローカル政策に基づいてデバイス/ゲートウェイに関連づけられたブートストラップ状態ですべきことを決定する。
【0060】
<実施例2:MASで開始された消去手順>
図3は、本発明の例示的な実施形態により、実施例3のMASで開始された消去手順のための呼フローを示す。
【0061】
図4を参照すれば、MASは、ステップ310でM2Mサービス接続手順(Service Connect Procedure)を開始することを決定する。消去手順が行われるようにするために、デバイス/ゲートウェイおよびMASはすでにサービス接続手順を実行したものと仮定される。この手順は、ネットワークM2Mノードのような仲介者を伴うか、または伴わなくてもよい。
【0062】
サービス接続手順の前に、デバイス/ゲートウェイおよびMASは、Kmrと呼ばれる秘密キーをすでに共有する。サービス接続手順に用いられる特定のプロトコールによって、追加のキー資料(EAPプロトコールが用いられる場合、例えば、拡張可能なマスターセッションキー(EMSK))もこれらの終端点に存在し得る。
【0063】
MASが消去手順を開始することを決定すると、MASは、ステップ320で消去要請をデバイス/ゲートウェイに送信する。この要請は、(
図1に示されるように)ネットワークM2Mノードのような仲介者を介してデバイス/ゲートウェイに中継されるか、またはデバイス/ゲートウェイに直接送信できる。消去手順を開始する決定はMASに属するものであり、MASが消去手順を開始するか否かを決定する方式の詳細は本詳細な説明の範囲外である。
【0064】
消去要請は、消去トークンと呼ばれるペイロードを含む。このトークンは、トークンの認証および無欠性に対する暗号プルーフと共に、送信者の意図を運搬する。
【0065】
この消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0066】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0067】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ得、そうでなければ省略可能である。
【0068】
N
臨時:この情報要素は、送信者によって生成された数を含む。送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0069】
類型:この情報要素は、要請の類型を示す値を含む。消去手順に変更が要求される場合、この類型は、これらを区別することを助けることができる。
【0070】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0071】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。数式において、「|」は連鎖を示す。
【0072】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMASの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0073】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。
【0074】
追加のパラメータ(数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0075】
消去要請は、PANA(PANA終了(Termination)要請または別のPANA要請パケットを介して運搬可能なPANA AVPの形態で)、Diameter/RADIUS(AVP/属性の形態で)、HTTPなどのような多くの異なるプロトコールのうちの1つを介して送信できる。
【0076】
ステップ330において、デバイス/ゲートウェイは、消去要請を受信する。ネットワークM2Mノードのような仲介者がある場合、この仲介者がMASから消去要請を受信し、この消去要請をデバイス/ゲートウェイに中継する。仲介者は、両側で要請を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MASに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の例示的な実施形態により、この仲介者は除去可能であり、要請メッセージはMASからデバイス/ゲートウェイに直接送信できる。
【0077】
ステップ340において、デバイス/ゲートウェイは、消去要請を受信し、処理する。デバイス/ゲートウェイが消去要請を受信すると、デバイス/ゲートウェイは、要請を真として受け入れる前にハッシュを検証する。
【0078】
デバイス/ゲートウェイは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングする秘密キーがなければ、デバイス/ゲートウェイは、消去要請を無視する。
【0079】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ320と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、デバイス/ゲートウェイは、消去要請を無視する。ハッシュがマッチングするものであれば、デバイス/ゲートウェイは、当該入力される消去要請を有効なものとして受け入れる。
【0080】
デバイス/ゲートウェイは、ローカル政策に基づいて消去要請を処理する方式を決定する。例えば、デバイス/ゲートウェイは、このような要請を拒否するように永久的に構成できる。デバイス/ゲートウェイが消去要請を受け入れると、デバイス/ゲートウェイは、消去応答を送り返した後に、ブートストラップ状態を削除しなければならない。デバイス/ゲートウェイは、消去応答がMASによって受信されず、MASが消去要請を再送信(その処理は当該状態が存在することを要求する)した場合、当該状態を削除する前に遅延を設けることができる。
【0081】
デバイス/ゲートウェイは、消去応答をMASに送信する。この応答は、ネットワークM2Mノードのような仲介者を介して送信できる。消去応答は、消去トークンを含まなければならない。
【0082】
消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0083】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0084】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ得、そうでなければ省略可能である。
【0085】
N
臨時:この情報要素は、送信者によって生成された数を含む。送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0086】
類型:この情報要素は、応答の類型を示す値を含む。この情報要素は、「消去に成功する」、「ローカル政策によって消去が拒否される」などに対応する値を示すことができる。
【0087】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0088】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。数式において、「|」は連鎖を示す。
【0089】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMASの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0090】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。
【0091】
追加のパラメータ(数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0092】
ステップ350において、消去応答は、消去要請を運搬したのと同じプロトコールを介して送信される。
【0093】
ネットワークM2Mノードのような仲介者があれば、この仲介者がデバイス/ゲートウェイから消去応答を受信し、この消去応答をMASに中継する。この仲介者は、両側で応答を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MASに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の例示的な実施形態により、この仲介者は省略可能であり、応答メッセージはデバイス/ゲートウェイからMASに直接送信できる。
【0094】
MASが消去応答を受信すると、MASは、応答を真として受け入れる前にハッシュを検証する。MASは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングするキーがなければ、MASは、消去応答を無視する。
【0095】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ340と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、MASは、消去応答を無視する。
【0096】
ハッシュがマッチングするものであれば、MASは、入力される消去応答を有効なものとして受け入れる。MASは、受信された類型およびローカル政策に基づいてデバイス/ゲートウェイに関連づけられたブートストラップ状態ですべきことを決定する。
【0097】
<実施例3:MSBF手順でデバイス/ゲートウェイで開始された消去>
図4は、本発明の例示的な実施形態によりMSBF手順でデバイス/ゲートウェイで開始された消去のための呼フローを示す。
【0098】
ステップ410において、デバイス/ゲートウェイは、M2Mブートストラップ手順を開始する。消去手順が行われるようにするために、デバイス/ゲートウェイおよびMSBFはすでにブートストラップ手順を実行したものと仮定される。この手順は、ネットワークM2Mノードのような仲介者を伴うか、または伴わなくてもよい。
【0099】
ブートストラップ手順の終了時には、デバイス/ゲートウェイおよびMSBFは、Kmrと呼ばれる秘密キーを共有する。ブートストラップ手順に用いられる特定のプロトコールによって、追加のキー資料(EAPプロトコールが用いられる場合、例えば、拡張可能なマスターセッションキー(EMSK))もこれらの終端点に存在し得る。
【0100】
デバイス/ゲートウェイが消去手順を開始することを決定すると、デバイス/ゲートウェイは、ステップ420で消去要請をMSBFに送信する。この要請は、(
図1に示されるように)ネットワークM2Mノードのような仲介者を介してMSBFに中継されるか、または直接MSBFに送信され得る。消去手順を開始する決定はデバイス/ゲートウェイによって行われ、その詳細は本詳細な説明の範囲外である。
【0101】
消去要請は、消去トークンと呼ばれるペイロードを含む。このトークンは、トークンの認証および無欠性に対する暗号プルーフと共に、送信者の意図を運搬する。
【0102】
消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0103】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0104】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ得、そうでなければ省略可能である。
【0105】
N
臨時:この情報要素は、送信者によって生成された数を含む。送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0106】
類型:この情報要素は、要請の類型を示す値を含む。消去手順に変更が要求される場合、この類型は、これらを区別することを助けることができる。
【0107】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0108】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。数式において、「|」は連鎖を示す。
【0109】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMSBFの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0110】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。追加のパラメータ(数式で「他のパラメータ」で示されている)が数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略される。これは、潜在的な将来の拡張可能性を例示するために示される。
【0111】
消去要請は、PANA(PANA終了(Termination)要請または別のPANA要請パケットを介して運搬可能なPANA AVPの形態で)、Diameter/RADIUS(AVP/属性の形態で)、HTTPなどのような多くの異なるプロトコールのうちの1つを介して送信できる。
【0112】
ステップ430において、デバイス/ゲートウェイは、この消去要請を受信する。ネットワークM2Mノードのような仲介者があれば、この仲介者がデバイス/ゲートウェイから消去要請を受信し、この消去要請をMSBFに中継する。この仲介者は、両側で要請を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MSBFに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の他の例示的な実施形態により、この仲介者は省略可能であり、この要請メッセージはデバイス/ゲートウェイからMSBFに直接送信できる。
【0113】
ステップ440において、MSBFは、消去要請を受信し、処理する。MSBFが消去要請を受信すると、MSBFは、この要請を真として受け入れる前にハッシュを検証する。
【0114】
MSBFは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングする秘密キーがなければ、MSBFは、消去要請を無視する。
【0115】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ420と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、MSBFは、消去要請を無視する。
【0116】
ハッシュがマッチングするものであれば、MSBFは、入力される消去要請を有効なものとして受け入れる。
【0117】
MSBFは、ローカル政策に基づいて消去要請を処理する方式を決定する。例えば、MSBFは、この要請を拒否するように永久的に構成できる。MSBFが消去要請を受け入れると、MSBFは、消去応答を送り返した後に、デバイス/ゲートウェイのブートストラップ状態を削除する。MSBFは、消去応答がデバイス/ゲートウェイによって受信されず、デバイス/ゲートウェイが消去要請を再送信(その処理は当該状態が存在することを要求する)した場合、当該状態を削除する前に遅延を設けることができる。
【0118】
MSBFは、消去応答をデバイス/ゲートウェイに送信する。この応答は、ネットワークM2Mノードのような仲介者を介して送信できる。消去応答は、消去トークンを含む。
【0119】
消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0120】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0121】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ、そうでなければ省略される。
【0122】
N
臨時:この情報要素は、送信者によって生成された数を含む。この送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0123】
類型:この情報要素は、応答の類型を示す値を含む。この類型は、「消去に成功する」、「ローカル政策によって消去が拒否される」などに対応する値を示すことができる。
【0124】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0125】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。この数式において、「|」は連鎖を示す。
【0126】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。
【0127】
秘密−キーは、デバイス/ゲートウェイおよびMSBFの間に共有された秘密キーである。この秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0128】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。追加のパラメータ(この数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0129】
ステップ450において、消去応答は、消去要請を運搬したのと同じプロトコールを介して送信される。
【0130】
ネットワークM2Mノードのような仲介者があれば、この仲介者がMSBFから消去応答を受信し、この消去応答をデバイス/ゲートウェイに中継する。この仲介者は、両側で応答を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MSBFに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の他の例示的な実施形態により、この仲介者は省略可能であり、応答メッセージはMSBFからデバイス/ゲートウェイに直接送信できる。
【0131】
デバイス/ゲートウェイが消去応答を受信すると、デバイス/ゲートウェイは、この応答を真として受け入れる前にハッシュを検証する。デバイス/ゲートウェイは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングするキーがなければ、デバイス/ゲートウェイは、消去応答を無視する。
【0132】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ440と同じ数式で使用できる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、デバイス/ゲートウェイは、消去応答を無視する。
【0133】
ハッシュがマッチングするものであれば、デバイス/ゲートウェイは、当該入力される消去応答を有効なものとして受け入れる。デバイス/ゲートウェイは、受信された類型およびローカル政策に基づいて自身に関連づけられたブートストラップ状態ですべきことを決定する。
【0134】
<実施例4:MAS手順でデバイス/ゲートウェイで開始された消去>
図5は、本発明の例示的な実施形態によりMAS手順でデバイス/ゲートウェイで開始された消去のための呼フローを示す。
【0135】
ステップ510において、デバイス/ゲートウェイは、M2Mサービス接続手順を開始する。消去手順が行われるようにするために、このデバイス/ゲートウェイおよびMASはすでにサービス接続手順を実行したものと仮定される。この手順は、ネットワークM2Mノードのような仲介者を伴うか、または伴わなくてもよい。
【0136】
サービス接続手順の前に、デバイス/ゲートウェイおよびMASは、Kmrと呼ばれる秘密キーをすでに共有する。サービス接続手順に用いられる特定のプロトコールによって、追加のキー資料(EAPプロトコールが用いられる場合、例えば、拡張可能なマスターセッションキー(EMSK))もこれらの終端点に存在し得る。
【0137】
デバイス/ゲートウェイが消去手順を開始することを決定すると、デバイス/ゲートウェイは、ステップ520で消去要請をMASに送信する。この要請は、(
図1に示されるように)ネットワークM2Mノードのような仲介者を介してMASに中継されるか、またはMASに直接送信できる。消去手順を開始する決定はデバイス/ゲートウェイに属するものであり、その詳細は本詳細な説明の範囲外である。
【0138】
消去要請は、消去トークンと呼ばれるペイロードを含む。このトークンは、トークンの認証および無欠性に対する暗号プルーフと共に、送信者の意図を運搬する。
【0139】
消去トークンは、以下の情報要素を含み、追加の要素を含むことができる。
【0140】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0141】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ得、そうでなければ省略可能である。
【0142】
N
臨時:この情報要素は、送信者によって生成された数を含む。送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0143】
類型:この情報要素は、要請の類型を示す値を含む。消去手順に変更が要求されると、この類型は、これらを区別することを助けることができる。
【0144】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性、およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0145】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。数式において、「|」は連鎖を示す。
【0146】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。秘密−キーは、デバイス/ゲートウェイおよびMASの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0147】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。追加のパラメータ(数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0148】
消去要請は、PANA(PANA終了(Termination)要請または別のPANA要請パケットを介して運搬可能なPANA AVPの形態で)、Diameter/RADIUS(AVP/属性の形態で)、HTTPなどのような多くの異なるプロトコールのうちの1つを介して送信できる。
【0149】
ステップ530において、MASが消去要請を受信する。ネットワークM2Mノードのような仲介者があれば、この仲介者がデバイス/ゲートウェイから消去要請を受信し、この消去要請をMASに中継する。仲介者は、両側で要請を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MASに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の他の例示的な実施形態により、この仲介者は除去可能であり、要請メッセージはデバイス/ゲートウェイからMASに直接送信できる。
【0150】
ステップ540において、MASは、消去応答を受信し、処理する。MASが消去要請を受信すると、このMASは、この要請を真として受け入れる前にハッシュを検証する。MASは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングする秘密キーがなければ、MASは、消去要請を無視する。
【0151】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ520と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、MASは、消去要請を無視する。ハッシュがマッチングするものであれば、MASは、入力される消去要請を有効なものとして受け入れる。
【0152】
MASは、ローカル政策に基づいて消去要請を処理する方式を決定する。例えば、MASは、このような要請を拒否するように永久的に構成できる。MASが消去要請を受け入れると、このMASは、消去応答を送り返した後に、デバイス/ゲートウェイのブートストラップ状態を削除する。MASは、消去応答がデバイス/ゲートウェイによって受信されず、デバイス/ゲートウェイが消去要請を再送信(その処理は当該状態が存在することを要求する)した場合、当該状態を削除する前に遅延を設けることができる。
【0153】
MASは、消去応答をデバイス/ゲートウェイに送信する。この応答は、ネットワークM2Mノードのような仲介者を介して送信できる。消去応答は、消去トークンを含む。
【0154】
消去トークンは、以下の情報要素を含むことができ、追加の要素を含むことができる。
【0155】
M2MノードID:この情報要素は、消去されるデバイス/ゲートウェイM2Mノードの識別子を含む。
【0156】
キーインデックス:この情報要素は、共有された秘密キーのインデックス(例えば、Kmrインデックス)を含む。このようなインデックスは、同じキーに複数のインスタンスがあり得る時に用いられる。各インスタンスは、キーインデックスの助けによって他のインスタンスと区別される。この情報要素は、ハッシュ関数に用いられるキーがインデックス値を有する時にのみ含まれ、そうでなければ省略される。
【0157】
N
臨時:この情報要素は、送信者によって生成された数を含む。この送信者は、同じ臨時値が自身または他の終端点によって前と同じ秘密キー値で使用されないことを保障する。この値は、ランダムに、順次に、または任意の他のパターンで生成できる。
【0158】
類型:この情報要素は、応答の類型を示す値を含む。この類型は、「消去に成功する」、「ローカル政策によって消去が拒否される」などに対応する値を示すことができる。
【0159】
ハッシュ:この情報要素は、消去トークンに原本認証、無欠性およびリプレイ保護を提供するために暗号的に生成されたハッシュ値を含む。
【0160】
以下の数式は、ハッシュ値を演算するのに用いられる:ハッシュ=ハッシュ−関数(秘密−キー、M2MノードID|キーインデックス|N
臨時|類型|他のパラメータ)。数式において、「|」は連鎖を示す。
【0161】
ハッシュ−関数は、一方向キー設定されたハッシュ関数、例えば、HMAC−SHA256である。
【0162】
秘密−キーは、デバイス/ゲートウェイおよびMASの間に共有された秘密キーである。秘密−キーは、Kmr、EMSK、または別の共有された秘密キーであり得る。この数式のかかる変更は有効である。
【0163】
M2MノードID、キーインデックス、N
臨時、および類型は、前述した情報要素の値である。これら情報要素のうちのいずれかがトークンに存在しなければ、これら情報要素はハッシュ演算にも含まれない。追加のパラメータ(数式で「他のパラメータ」で示されている)がこの数式に追加できる。このようなパラメータが要求されなければ、この数式において、「|他のパラメータ」部分は省略可能である。これは、潜在的な将来の拡張可能性を例示するために示される。
【0164】
ステップ550において、消去応答は、消去要請を運搬したのと同じプロトコールを介して送信される。
【0165】
ネットワークM2Mノードのような仲介者があれば、この仲介者がMASから消去応答を受信し、この要請をデバイス/ゲートウェイに中継する。この仲介者は、両側で応答を運搬する2つの異なる種類のプロトコールを処理しなければならないことがある。例えば、MASに向かう側はRADIUSを用いることができ、デバイス/ゲートウェイに向かう側はPANAを用いることができる。本発明の例示的な実施形態により、この仲介者は省略可能であり、応答メッセージはMASからデバイス/ゲートウェイに直接送信できる。
【0166】
デバイス/ゲートウェイが消去応答を受信すると、デバイス/ゲートウェイは、この応答を真として受け入れる前にハッシュを検証する。デバイス/ゲートウェイは、ローカルキーリポジトリから、ルックアップのためにM2MノードIDおよびキーインデックス(存在する場合)を用いて秘密キーを検索する。マッチングするキーがなければ、デバイス/ゲートウェイは、消去応答を無視する。
【0167】
マッチングするキーが見つかると、マッチングするキーがハッシュ値を生成するために、ステップ540と同じ数式で用いられる。演算されたハッシュが消去要請でハッシュ値とマッチングしなければ、デバイス/ゲートウェイは、消去応答を無視する。
【0168】
ハッシュがマッチングするものであれば、デバイス/ゲートウェイは、当該入力される消去応答を有効なものとして受け入れる。このデバイス/ゲートウェイは、受信された類型およびローカル政策に基づいて自身に関連づけられたブートストラップ状態ですべきことを決定する。
【0169】
図6Aおよび
図6Bは、本発明の例示的な実施形態により要請および応答メッセージを処理するフローチャートを示す。
【0170】
図6Aおよび
図6Bを参照すれば、要請受信機は、消去要請を受信する個体(例えば、デバイス/ゲートウェイで開始された消去手順の場合、MSBFおよびMAS)である。応答受信機は、要請を送信し、応答を受信する個体(デバイス/ゲートウェイで開始された消去手順の場合、例えば、デバイス/ゲートウェイ)である。
【0171】
本発明の例示的な実施形態は、M2MシステムがM2Mデバイス/ゲートウェイの自動化されたブートストラップを用いるものであるか、または(例えば、製造時間の間)予め提供されたものであるかにかかわらずM2Mシステムに適用可能である。本発明の例示的な実施形態により、任意の方法がブートストラップおよび接続手順(例えば、PANA、TLS、GBA)として使用できる。本発明の例示的な実施形態は、M2M状態を生成するのにどのような方法を用いるかにかかわらず使用できる。
【0172】
本発明が特定の例示的な実施形態を参照して図示および説明されたが、この技術分野における通常の知識を有する者であれば、添付した請求の範囲およびその均等な範囲を逸脱しない範囲内でこれら形態および詳細に様々な変形が実現可能であることを理解することができる。