前述した問題に対して現在利用可能な1つのアプローチでは、一時的な国際移動体加入者識別番号(IMSI)が提供され、これがネットワークで検出されたとき、エンドユーザの認証とトラフィックに用いられる永続的なIMSI及びMSISDNがSMカードに割り当てられる。この一般的なタイプの手法は、特許文献1に記載されており、譲受人によって動的SIM割り当てと呼ばれている。しかしながら、これはMSISDNのコストを回避する一方で、ネットワーク要素に一時的及び永続的なアイデンティティの両方を処理させるという要求が求められることになるので、ネットワーク内におけるSIM関連データのプロビジョニングに関係する問題を悪化させる。
当業者が認識するように、本明細書で使用される「SIM」は、SIMカード、いわゆるeSIM(デバイスに組み込まれることのあるモジュール)、いわゆるsoftSIM若しくは仮想SIM(通信モジュールなどのデバイスのモジュール内などに記憶されることのあるソフトウェアSIMであって、任意選択で、無線でダウンロードされることのあるソフトウェアSIM)、又はいわゆるセキュアエレメントを含み得る。ここで説明しているテクノロジは、SIMカード以外のSIMにも適用できる。したがって、SIMは、たとえば、UICC(ユニバーサル集積回路カード)、eUICC、iUICCなどにおいて具現化することができる。
したがって、改善された解決策、特に、最終的に必要とはならない可能性のある巨大なデータベースなどのインフラストラクチャをサポートすることに付随するコストを伴わずに、モノのインターネットによって想定される潜在的に接続されるSIMを有する機器の数に拡張可能な解決策が必要とされている。
したがって、本発明の第1の態様によれば、SIMを有効化するためのシステムが提供され、当該システムは、モバイルネットワーク上での使用が承認されるよりも多くのSIMを含み、前記システムは、それぞれが第1のSIM識別子を与えるように構成された複数のSIMを備え、当該第1のSIM識別子のうちの1つ又はそれ以上は、当該複数のSIMの中で再利用され、当該複数のSIMのうちの1つは、当該複数のSIMのうちの別の1つと同じSIM識別子を与えることがある。当該システムは、有効化を要求するSIMから当該第1のSIM識別子を受信し、それに応じて、有効化を要求する当該SIMに新しいSIM識別子を与えるように構成されたSIM承認サーバを備え、当該新しいSIM識別子は、有効化を要求する当該SIMが当該モバイルネットワーク上でトラフィックを通信可能にする。
一実施形態では、当該第1のSIM識別子を再使用することによって、当該システムがすべてのSIMを有効化可能である必要がない。その代わりに、インフラストラクチャにおけるプロビジョニングは、より少数のSIMに対してのみ行われ、次いで有効化の時に特定のSIMに割り当てられてもよい。
一実施形態では、特定の第1のSIM識別子がいったんSIMを有効化するために使用されると、それは再使用することができないので、個々のSIMは、後述するように代わりに使用される別の第1のSIM識別子を生成するメカニズムを有する。
当業者であれば分かるように、IMSIはSIM(及び/又は関連する機器)を識別し、MSISDN、本質的には(時間とともに変化する可能性がある)電話番号に対する鍵として働く。典型的には、アーキテクチャに関連づけられた一組の鍵、たとえば、ユーザ機器セキュリティ鍵(K)、並びに、完全性鍵(IK)及び暗号化鍵(CK)のような派生鍵もある。それゆえ、インフラストラクチャにおけるプロビジョンは、たとえば、SIMが有効化されたときに有効化されたSIM/機器に転送することができるように、IMSI及び/又はMSISDNデータを記憶することを含むことがある。本発明の一実施形態は、その一部のみが最終的に有効化されるある一組のSIMのために記憶しなければならない可能性のあるデータの量を2又は3桁節約することができる。
いくつかの好ましい実施形態では、第1のSIM識別子と新しいSIM識別子のそれぞれは、IMSIを含む。通常、SIMは接続機器に関連づけられている。それゆえ、第1のSIM識別子(認証IMSI)は、関連づけられた接続機器がモバイルネットワークに接続してネットワークと通信することを可能にし得る。したがって、有効化要求は、接続機器がネットワークと通信できるようにするために、モバイルネットワークとの試行的認証を含むことができる。これが成功した場合、SIM承認サーバから間接的又は直接的に新しい識別子又は「トラフィックIMSI」(及び好ましくはMSISDN)を受信することによってSIMを有効化することができる(多くのネットワークトポロジが可能であることが理解されよう。)。しかしながら、認証が失敗した場合、これは、これと同じ第1のSIM識別子(認証IMSI)を使用して、別のSIMが以前にそれ自体を成功裏に有効化したことを示し得る。後述するように、SIMの間で第1のSIM識別子の再利用があるので、このようなことは生じ得る。
好ましい実施形態では、第1のSIM識別子は、定義された一組の値、たとえば、可能なIMSIの値の定義された範囲内の値を有する。しかしながら、好ましくは新しいSIM識別子は、この定義された一組の値の範囲内にはなく、このことは、IMSIが与えられたときに当該IMSIが第1のSIM識別子(認証IMSI)であるか「トラフィックIMSI」であるかの判定を可能にする。これにより、認証要求がトラフィックIMSIによる通常の認証要求であるかSIM有効化要求であるかをSIM、サーバ又は他のネットワークエンティティが判定することが可能になるので、有効化プロセスが促進される。後者の場合、SIMは、有効化を再度試みるための異なる第1のSIM識別子を提供することができる。実施形態では、上述のユーザ機器セキュリティ鍵(K)、後述の3GPP MILENAGE秘密鍵(OPc)等の1つ又は複数の鍵も異なる第1のSIM識別子と共に生成することができる。
当業者は、SIMの有効化のための元の要求の失敗が、第1のSIM識別子に応答したネットワークからの認証失敗信号、「トラフィックIMSI」を受信することの失敗、又は他の方式等のいくつかの方法により識別され得ることを理解するだろう。当業者はまた、UE/SIMとモバイルネットワークとの間のメッセージの交換が最も関連のあるメッセージに焦点を合わせるために幾分単純化されていることを認識するであろう。実際には、他のさまざまなメッセージも交換される。
いくつかの好ましい実施形態では、SIMは、SIMのための、又はSIMを表すためのプロセッサ制御コード及び/又はデータを記憶する関連づけられたコンピュータ可読記憶媒体を有する。当業者であれば、このメモリは必ずしもそうである必要はないが、物理的なSIMカードの上にあり、又はその一部であり得ることを理解するであろう。原則として、一組の第1のSIM識別子の一部又は全部をこのメモリに記憶することができるが、好ましくは、このメモリに記憶されたコードを実行してアルゴリズムによって当該組からの第1のSIM識別子を生成する。このコードは、たとえば、コードが呼び出されるたびに異なる識別子を生成するなど、第1のSIM識別子の連なりを生成するように構成され得る。識別子の連なりは、順序付けられた連なり、たとえば一連の数であってもよく、又は実質的にランダムであってもよい。当該アルゴリズムは、生成された識別子が許可された当該組の全体に及ぶという少なくとも合理的な確率があることが好ましい。実施形態では、このことは、たとえば単純な場合には単純に範囲を通してインクリメントすることによって保証することができる。
それゆえ、関連する態様では、本発明は、モバイルネットワーク上での使用が承認されるよりも多くのSIMを含む、SIMを有効化するためのシステムで使用するためのSIMを提供する。当該SIMは、SIMを有効化するための第1のSIM識別子であって、定義された一組の値の範囲内の値を有する第1のSIM識別子を生成し、当該SIMの有効化の後にSIM承認サーバから受信した新しいSIM識別子により当該第1のSIM識別子を更新するプロセッサ制御コードを記憶する関連づけられたコンピュータ可読記憶媒体を備える。
前述のように、実施形態では、第1のSIM識別子と新しいSIM識別子はそれぞれIMSIを含む。好ましくは、また前述のように、プロセッサ制御コードはさらに、当該SIMの認証のための最初の第1のSIM識別子によるモバイルネットワークとの1又は複数の要求の失敗に応答して、定義された一組の値(又はそのような値の連なり)からの別の第1のSIM識別子を生成するように構成される。
本発明はまた、上述のようにSIMを有する接続機器を提供する。当該機器は、単に例として、消費者用又は商業用電子機器、機械又は感知機器、ゲーム用、健康関連又は医療用機器、車両、電球、ロック等の家庭用又はユーティリティ機器、衣類又はスポーツ用機器等を含む任意の機器を含みことができる
本発明はさらに、SIMを有効化するためのシステムで使用するためのSIM承認サーバを提供し、当該システムは、モバイルネットワーク上での使用が承認されるよりも多くのSIMを含む。当該SIM承認サーバは、有効化を要求するSIMからの第1のSIM識別子を受信し、それに応答して、有効化を要求する当該SIMに新しいSIM識別子を提供するプロセッサ制御コードを記憶するコンピュータ可読記憶媒体を備える。ここで、前記第1のSIM識別子は、有効化を要求し得るSIMの数より小さい数の一組の第1のSIM識別子からのものであり、有効化を要求する2つのSIMが同一の第1のSIM識別子を与えることがある。当該新しいSIM識別子は、前記一組の可能な第1のSIM識別子の範囲内にはなく、当該新しいSIM識別子は、有効化を要求するSIMにモバイルネットワーク上でのトラフィックの通信を可能とするために、モバイルネットワークによって認証可能である。
本発明の実施形態は、SIMがネットワークを介してトラフィックを送信可能にするために、本質的には変更されていないが、上述したSIM承認サーバが結合されたモバイル通信ネットワークと共に用いることができる。上述のSIM承認サーバの実施形態は、そのような既存のネットワーク機構と論理的に及び/又は物理的に一緒に又は別々に実装することができる。
関連する態様では、本発明は、接続機器がモバイルネットワークを介してトラフィックを通信することができるように、当該接続機器を有効化する方法を提供し、その方法は、SIMであって、一組の可能な第1のSIM識別子から選択された第1のSIM識別子を提供するように構成されたSIMを有する機器を使用し、当該第1のSIM識別子を有する有効化要求を当該機器からモバイルネットワークに送信し、当該有効化要求に対する応答であって、新しいSIM識別子を含む応答を受信し、当該機器がモバイルネットワークを介してトラフィックを通信することができるように当該機器を有効化し、当該機器の有効化が行われなかった場合、当該一組の可能な第1のSIM識別子から異なる第1のSIM識別子を選択することを含む。当該有効化は、当該SIMを当該新しいSIM識別子で更新することを含む。
前述のように、いくつかの好ましい実装形態では、本方法は、それぞれがそれぞれのSIMを有する複数の接続機器を備えるシステムで使用される。第1のSIMが有効化されることがあり、次いで、本方法は、有効化を要求する後続の機器/SIMの第1のSIM識別子が、(前に有効化された機器/SIMの第1のSIM識別子と同一であるなど)前に有効化された機器/SIMの第1のSIM識別子と衝突するときに検出することができる。そのような衝突は、たとえば、その次に接続する機器/SIMの認証の失敗を検出することによって検出することができる。この場合、本方法は、別の試行のために異なる第1のSIM識別子を生成することによって検出された衝突を解決することが好ましい。
本発明はまた、上述の方法を実施するためのプロセッサ制御コードを記憶するコンピュータプログラム製品を提供する。
またさらなる態様では、本発明は、上記の方法によって有効化される接続機器を提供する。
さらなる態様において、いくつかの実施形態は、マイクロプロセッサなどのプロセッサと、通信インターフェースなどの通信ユニットと、メモリ、ハードディスクなどの記憶装置又は記憶媒体などの記憶ユニットとを備える機器を提供する。当該プロセッサは、潜在的なそのようなSIM識別子の予測可能なシーケンスなどの既知のアイデンティティのシーケンスから、前述のSIM識別子などのアイデンティティを生成するように適合されている。当該機器は、たとえば通信ユニットを介して、当該アイデンティティをネットワークに送信するように適合されている。
プロセッサは、SIMによって又はSIM上に提供されてもよく、又は、関連づけられたSIMを有する接続機器によって提供されてもよく、又は、処理機能は、当業者に既知の方式で互いに通信する複数の結合要素にわたって分散されてもよい。
標準的な電気通信ネットワークを介してインターネットなどのIPネットワークへの接続を可能にするために、機器は通常、たとえば既に概略を述べ、その詳細を後述する1つ又は複数の異なる識別子及び/又は認証鍵を使用することができる。いくつかの実施形態では、SIMはIMSI及び関連する鍵を記憶する。
いくつかの実施形態では、複数の機器が展開され、各機器には、いくつかの異なるSIM識別子をシーケンスで生成するためのアルゴリズムが提供される。それゆえ、各機器はさまざまな異なる識別子を繰り返すことができるが、各識別子が機器に記憶されている必要はない。一実施形態では、同じアルゴリズムを用いて展開された(すなわち、同じシーケンスの識別子を繰り返すことのできる)機器の数は、シーケンス内の識別子の数を超える。それゆえ、機器の総数のためにではなく、シーケンス内の数の識別子のためにインフラストラクチャを整備することができる。いくつかの実施形態では、どの機器が最初に有効化されるのか、あるいはどの機器がそもそも有効化されるのかが分からないため、各機器には、接続するための機会が同様に与えられる。
いくつかの実施形態では、機器は、認証要求をネットワークに送信し、認証要求の拒否を受信したことに応じて、一連の既知のアイデンティティ(identity)からさらなるアイデンティティを生成するように適合される。
以前に第1のSIM識別子とも呼んだ上記の識別子(identifier)は、認証識別子と考えることができる。いくつかの実施形態では、機器は、第1のSIM識別子を有する認証要求をネットワークに送信し、いったん認証要求が受諾されると、ネットワークから当該シーケンスの一部ではない新しい識別子を受信するように適合されている。この新しいSIM識別子はトラフィック識別子と見なすことができる。機器は、それ以降、機器の識別子としてこの新しいSIM識別子を使用するように適合されていることが好ましい。
いくつかの実施形態では、既知のアイデンティティのシーケンスは、一定数の整数だけ離れたアイデンティティを含むことができる。SIM又は機器は、当該シーケンスを昇順又は降順で繰り返すことができる。代替的には、SIM又は機器は、当該シーケンスからランダムにアイデンティティを選択することができる。
好ましい実施形態では、当該シーケンスに既知の開始点及び/又は終了点がある。これにより、機器又はネットワークは、(当該シーケンスから)生成されたアイデンティティを処理しているのか、「通常の」(トラフィック)アイデンティティを処理しているのかを容易に識別することが可能となる。この一般的な手法で有利な点は、機器は多数のアイデンティティを生成することができるが、シーケンスを生成するためのストレージ要求は、シーケンス全体が個別の数として記憶された場合に必要とされるストレージの量よりも少ないことである。
いくつかの実施形態では、ネットワーク上の機器を認証するために、ネットワークと機器とは、たとえば当業者に知られている方法で、及び/又は、特にセキュリティアーキテクチャに関するさまざまな移動体通信の仕様書に記載されている方法で、同一又は補完的な暗号鍵にアクセスできる。一実施形態では、鍵を記憶する代わりに、プロセッサは、生成されたアイデンティティから鍵を生成するように適合されている。一実施形態では、鍵は、ネットワーク共有鍵及び現在のアイデンティティから生成されてもよい。
アイデンティティは、IMSIであり得るか、又はそれを含み得る。より具体的には、アイデンティティは、一対のIMSI-MSISDNであり得るか、又はそれを含み得る。
別の態様では、データベースと、プロセッサと、機器と通信するためのネットワークへのインターフェースとを備えるSIM承認サーバが提供される。前記サーバは、機器から識別子を含む認証要求を受信し、鍵を取り出すために前記データベース内で前記識別子を一致させ、前記識別子及び前記鍵を使用して前記機器を認証するように適合されている。前記鍵は、前記識別子との一致が決定されると提供され、より具体的には生成される。
上記の手法は、一旦識別子が一致したならば鍵が生成されることを可能にする。データベース内にすべての識別子のための鍵を記憶する必要がないため、これによりネットワークにおけるメモリがさらに節約される。
さらなる態様及び実施形態は、データベースと、機器と通信するためのネットワークインターフェースとを備えるサーバを提供する。前記サーバは、第1の機器から識別子を含む認証要求を受信し、前記識別子を含む認証要求を第2の機器から受信し、前記データベース内で前記識別子を一致させて鍵を取り出し、前記識別子及び前記鍵を使用して前記第1及び第2の機器との認証手順を実行し、前記第1の機器の認証を受け入れ、ネットワークとのさらなる通信に使用するために前記第1の機器に新しい識別子を送信し、前記第2の機器の認証を拒絶するように適合される。
一態様によれば、モバイルネットワークでの使用が承認されるよりも多くのSIMを含むSIMを有効化するためのシステムが提供される。当該システムは、それぞれが認証識別子を提供するように構成された複数のSIMを備え、当該認証識別子の1つ又は複数は、複数のSIMのうちの1つが当該複数のSIMのうちの別の1つと同一の認証識別子を与えることがあるように当該複数のSIMの間で再利用される。当該複数のSIMの当該認証識別子は、定義された一組の値の範囲内の値を有する。当該システムは、SIM承認サーバを備え、当該SIM認証サーバは、認証を要求するSIMから当該認証識別子を受信し、SIMを有効化するために当該認証識別子が使用されたか否かを判定し、有効化の成功に応答して、有効化を要求する当該SIMにトラフィック識別子を提供するように構成される。当該トラフィック識別子は、当該定義された一組の値の範囲内になく、有効化を要求する当該SIMに、当該モバイルネットワークを介してトラフィックを通信することを可能にする。そして、当該有効化の失敗に応答して、有効化を要求する当該SIMは、定義された一組の値から当該SIM承認サーバに異なる認証識別子を提供するように構成され、当該異なる認証識別子は、少なくとも、当該SIM承認サーバに前に送信された当該認証識別子に基づいて生成される。
当該認証識別子及び当該トラフィック識別子は、それぞれIMSIを含むことができる。
有効化を要求するSIMは、当該認証識別子を使用して当該モバイルネットワークに認証要求を開始することにより有効化を要求するように構成され得る。
異なる認証識別子は、前にSIM承認サーバに送信された認証識別子の最下位の桁を設定した量だけインクリメントまたはデクリメントすることにより生成してもよい。代替的には、SIM承認サーバに前に送信された認証識別子の最下位の桁をランダムに選択された量だけインクリメントまたはデクリメントすることにより、異なる認証識別子を生成することができる。
当該認証識別子は、複数の認証識別子で構成されるプールに割り当てられてもよく、当該プールは、複数の認証識別子で構成される複数のプールの1つであり、各プールは、一組の一意の認証識別子を含み、さらに、当該異なる認証識別子は、複数のプールの中のさらなるプールに割り当てられる。当該認証識別子は、プール識別子の桁と、製造時に有効化を要求するSIMにランダムに割り当てられた複数の下位の桁とを有することができ、当該異なる認証識別子は、当該プール識別子の桁をインクリメントまたはデクリメントすることにより生成される。
複数の認証識別子のプールの中のいずれかのプール内の各認証識別子は、素数であるか、素数を使用した乗算に基づいて生成することができる。
有効化を要求するSIMは、当該複数のSIMのうちの1つによる有効化の要求の失敗に応答して、当該有効化要求に使用された識別子が認証識別子であるかトラフィック識別子であるかを決定し、有効化要求に使用された識別子が認証識別子である場合、異なる認証識別子を提供するように構成される。
当該SIMカードのそれぞれは、定義された一組の値の範囲から複数の認証識別子を生成するためのプロセッサ制御コードを記憶する関連づけられたコンピュータ可読記憶媒体を有してもよい。
別の態様によれば、モバイルネットワークでの使用が承認されるよりも多くのSIMを含む、SIMを有効化するためのシステムで使用するためのSIMが提供される。当該SIMは、プロセッサ制御コードを記憶する関連づけられたコンピュータ可読記憶媒体を有し、これは、定義された一組の値の範囲内の値を有するSIMの有効化のための認証識別子を生成し、当該認証識別子を含む有効化要求をモバイルネットワークのSIM承認サーバに送信し、SIMの有効化の成功後に、SIM承認サーバから受信したトラフィック識別子で認証識別子を更新し、SIMの有効化の失敗に応答して、当該定義された一組の値から異なる認証識別子を生成し、当該異なる認証識別子を当該SIM承認サーバに送信する。当該異なる認証識別子は、SIM承認サーバに前に送信された認証識別子に基づいて生成される。
当該認証識別子およびトラフィック識別子は、それぞれIMSIを含んでもよい。
別の態様によれば、本明細書に記載のSIMを備える接続機器が提供される。
別の態様によれば、機器がモバイルネットワークを介してトラフィックを通信できるように接続機器を有効化する方法が提供される。当該方法は、一組の可能な認証識別子から選択された認証識別子を提供するように構成されたSIMを有する機器を使用し、当該認証識別子を含む有効化要求を当該機器から当該モバイルネットワーク内のSIM承認サーバに送信し、当該SIM承認サーバから当該有効化要求に対する応答を受信し、有効化の成功に応じて、当該応答にトラフィック識別子が含まれる場合、当該機器がモバイルネットワークを介してトラフィックを通信できるように当該機器を有効化する。当該有効化は、当該トラフィック識別子で当該SIMを更新することを含み、当該トラフィック識別子は当該一組の可能な可能な第1のSIM識別子の範囲外である。当該方法は、当該機器の有効化が行われなかった場合、当該一組の可能な認証識別子から異なる認証識別子を選択し、当該異なる認証を当該SIM承認サーバに提供する。当該異なる認証識別子は、当該SIM承認サーバに前に送信された認証識別子に基づいて生成される。
当該認証識別子およびトラフィック識別子は、それぞれIMSIを含んでもよい。
利用可能な認証識別子よりも多くの接続機器が存在する場合があり、当該方法はさらに、それぞれがそれぞれのSIMを有する複数の接続機器を使用し、当該新しいSIM識別子を受信することにより当該接続機器の1つを有効化し、有効化を要求する後続の接続機器の認証識別子が、前に有効化された接続機器の第1のSIM識別子と衝突するときを検出し、そして、当該後続の接続機器に対して異なる認証識別子を決定することにより、検出された衝突を解決する。本発明のこの態様の実施形態は、ともに同じIMSIを使用してネットワーク上で認証を試みる2つの機器を処理することができる。この実施形態では、各機器は同じ識別子を繰り返し用いるため、この状況は予期される。このような衝突が発生した場合、システムは両方の識別子の認証手順に従って、両方の識別子が本物であることを確認する。しかしながら、1つの機器のみにトラフィックIDが提供され、他の機器からの認証要求は拒否される。この認証要求の拒否は、他の機器にさらなる識別子を生成させる。
当業者は、上述のシステム、方法、サーバ、機器、及びカードを実装するためのプロセッサ制御コードが、たとえば、汎用コンピュータ、モバイルコンピューティング又は通信機器、又はデジタル信号プロセッサ(DSP)又は複数のプロセッサの上で実行され得ることを理解するであろう。コードは、ディスク、CD又はDVD-ROMなどの非一時的な物理データキャリア、不揮発性メモリ(たとえば、フラッシュ)などのプログラムされたメモリ、又は読み取り専用メモリ(ファームウェア)に提供されてもよい。本発明の実施形態を実装するためのコード(及び/又はデータ)は、Cなどの従来のプログラミング言語(インタープリタ型又はコンパイル型)のソースコード、オブジェクトコード又は実行可能コード、又はアセンブリコード、又はハードウェア記述言語のコードを含み得る。当業者には理解されるように、そのようなコード及び/又はデータは、互いに通信している複数の結合された構成要素間に分散させることができる。
当業者は同様に、サーバに対する言及がなされる場合、これは1つ又は複数のサーバに対するものであり得ることを理解するであろう。この場合も、機能は機器間で分散されている可能性がある。同様に、記憶/処理機能のうちのいくつか又はすべてが、パブリッククラウド又はプライベートクラウドであり得るクラウド内で提供され得る。本明細書で使用されるとき、「クラウド」は、たとえば、ネットワーク上の需要に従って、動的にプロビジョニングを実行し、CPU、メモリ、ストレージ、及びネットワーク帯域幅などのコンピューティングリソースを提供することができるシステムを意味する。当業者はまた、サーバソフトウェアが同時にクライアントソフトウェアを実行している物理的なコンピュータ又はコンピュータシステム上に実装され得ることを理解するであろう。
本明細書では、以下の定義/例が使用される。
・OTA:Over The Air。これは、SIMに更新を送信する任意の手法を網羅する(SMS、USSD、BIP-CAT_TP、BIP-HTTPsなど)。
・認証IMSI:SIM認証目的にのみ使用される実施形態におけるアイデンティティ(IMSI)。 エンドユーザに他のネットワークアクセスを許可しないのが好ましい。
・トラフィックアイデンティティ:データの閲覧、電話の発信、SMSの送受信などの機能にSIMを使用できるようにするためにエンドユーザが使用するアイデンティティ(IMSI)。
・IMSI:たとえば、IMSI:XXX YY 1234567890として定義されてもよい。
XXX:MCCを表す
YY:MNCを表す
1234567890:個々のオペレータにより定められる一連の数字であるMSINを表す。
・MCC:Mobile Country Code
・MNC:Mobile Network Code
・MSIN:Mobile Station Identification Number
図1を参照すると、これは、SIMがネットワークに登録されることを可能にする標準的な認証プロセスのフローチャートを示す。ここで、ネットワーク上のSIMの登録は、加入に関連づけられたSIMがネットワークを使用してトラフィックを通信することをネットワークが可能にする一組のメッセージを伴う。
図1に示すように、SIM識別子に応答して、ネットワークはSIMに認証要求を発し、その結果を評価して認証を承認するか拒否するかを決定する。これは標準的なネットワークの振る舞いであり、後述する本発明の実施形態は、この振る舞いを変更する必要はない。代わりに、本発明の実施形態では、SIM識別子が「禁止された」範囲、すなわちネットワークを介してトラフィックを通信することをネットワークがSIMに可能にしないIMSI番号の範囲内(上記の定義により、これらは「認証IMSI」である。)にあるか否かを判定するためのメカニズムとして、SIM識別子に基づくSIMの承認の試みに対する受容又は拒否を使用する。SIMがSIM承認サーバによって承認されたときにIMSIがそのような「禁止」範囲内にある場合(後述)、それは「作動中」のトラフィックSIMを提供される。
この例では、機器は、それがネットワークと通信することを可能にするSIMを含み、プロセッサがSIM上又はSIMに関連して設けられる。SIMは、機器に挿入される物理的なSIMカード又は機器に埋め込まれる物理的なモジュールとすることができ、SIMはまた、機器に記憶され、機器から物理的に分離できない純粋なソフトウェアとすることができる。
図1のプロセスの前に、SIMの認証のために、少なくとも1つの秘密鍵(K)がユーザ機器(UE)/SIMとネットワークオペレータとの間で共有される。鍵Kは、ネットワークオペレータのデータベース、たとえばネットワークオペレータの認証センタに記憶することができ、SIMが最初に機器に設置されたときに当該SIMに提供されてもよい。
ステップS101において、機器はSIMからIMSIを取り出し、次いでIMSIをネットワークプロバイダに送信する。IMSIを受信すると、ネットワークプロバイダはデータベースを検索してSIMから受信したIMSIを一致させ、対応する鍵IKを取り出す。IKは、前にSIMとネットワークプロバイダとの間で共有されていた鍵Kから生成される。
次に、ネットワークプロバイダは、乱数(RAND)を生成し、RAND及びIKから別の数を計算する。計算された番号は、最初のセクション(ネットワークからのRES)と暗号化鍵CKの2つのセクションに分けられる。
次に、オペレータネットワークは、ステップS103でRANDを機器に送信し、当該機器はそれをSIMに渡す。SIMはそのIKでそれに署名し、SIMからのRESとCKの2つのセクションに再び分けられた、計算された数を生成する。次に、SIMからのRESが機器に渡され、次いで、当該機器はそれをステップS105においてネットワークオペレータに渡す。
次に、ネットワークオペレータは、2つのRES番号(ネットワークからのRESとSIMからのRES)を比較する。2つの番号が一致するとSIMは認証され、当該機器は、オペレータのネットワークへのアクセスを許可される。CKは、機器とネットワークとの間の以後のすべての通信を暗号化するために使用される。
上記のプロセスが完了すると、機器は、ネットワークと通信することができる。
ここで図2aを参照すると、これは、本発明の一実施形態によるSIMを有効化するためのシステム100のブロック図を示す。このシステムは、従来のネットワーク要素を有し、複数の接続機器102を含むモバイル機器と通信するための(そのうち1つだけが例示の目的で示されている)複数の基地局114aを有するモバイル通信ネットワーク114を備える。図示の例では、ネットワーク114は、インターネット116にも連結されている。
各接続機器102は、ネットワーク114と通信して無線データ通信リンク102cを機器に提供する移動局102aを備え、また、関連づけられたSIM102bを備える。
システムはまた、SIMを有効化するためのSIM承認サーバ110を備える。図示のように、これは別個の要素として示されているが、実際には、これは既存のネットワーク機器又はサーバ上で動作する追加のソフトウェア構成要素として実装することができる。SIM承認サーバ110は、後で詳しく説明するように、プロセッサ、ワーキングメモリ、及び、認承(認証)IMSIを受け取り、承認(認証)IMSI間の衝突を検出し、SIM102bを有効化するためのSIMデータを提供するためのコードを記憶する不揮発性プログラムメモリを備える。SIM承認サーバ110は、認証IMSI、トラフィックIMSI及びMSISDNの組、並びに任意の必要な暗号鍵を記憶する(同様に別個の物理的要素である必要はない)データベース112に結合されている。トラフィックIMSI及びMSISDNの組は、やはり後述するように、ネットワーク114を介してトラフィックを通信する際に使用するために、有効化されたSIMにIMSI及びMSISDNを提供するために使用される。
図2bは、SIM102bの例示的なSIMカードのブロック図を示す。 SIMカードは、ワーキングメモリ122に結合されたプロセッサ120と、EEPROMなどの不揮発性データストア124と、ROMなどの永久プログラムメモリ126とを有する。SIMカードはまた、電力を受け取り、それが関連づけられている機器からコマンドを受け取り、それに応答を提供するためのインターフェース128を有する。永続的プログラムメモリ126は、ネットワーク/デバイスインターフェースコードと、たとえばJava(登録商標)Cardを含むオペレーティングシステムと、必須ではないが典型的にはSimアプリケーションツールキット(STK)とを記憶する。不揮発性データストア124は通常、ユーザの電話帳情報、設定データ、ソフトウェアパッチなどを記憶する。
図示のように、SIM102bは、本発明の一実施形態を実装するように構成され、認証IMSIを生成するためのさらなるコード、SIMカードの認証の失敗を検出するためのコード、及びSIMカードに対する新しいアイデンティティを生成するためのコードを含む。図示のように、このコードは永続的プログラムメモリ126内に存在するが、代替的に、それは部分的に又は全体的に不揮発性データストア124内に記憶することができる。
前述のように、図2bはSIM102bをSIMカードとして示しているが、その機能はeSIM又はソフトSIMとして等しく実装することができる。
本発明の一実施形態を実施するための手順のフロー図を示す。より詳細な実施形態は後述する。図2cを参照すると、手順は、SIM102bが定義された一組の許可されたIMSI、及び必要ならばIMSIのための暗号データなどの付随データから認証IMSIを生成することから始まる(S200)。代替的に、初期認証IMSIをSIMに予め記憶しておくことができる。
そして、SIMは、モバイル機器を介して、認証サーバ110に向けたSIM有効化要求をネットワーク114に送信する(S202)。サーバは、その認証IMSIが既に使用されているかどうかを判定し(S204)、それに応じて有効化要求に応答し、認証IMSIが既に使用されている場合はSIMの認証に失敗し、そうでなければトラフィックIMSI(及びMSISDN)を与える。SIMは応答を受信し(S206)、有効化が成功したか否かを判定する(S208)。有効化が成功した場合、SIMは新しい(トラフィック)IMSI及びMSISDNで更新され、追加的に、新しいIMSIを使用してネットワークと通信するために必要な暗号データなどの他のデータも更新する(S210)。有効化が失敗した場合、SIMは新しい、異なる認証IMSI、及び必要に応じて関連づけられたSIMデータを生成し(S212)、再び試行することで(S214)、有効化要求にループバックする(S202)。
上記で説明したように、SIMの1つの機能は、機器がネットワークを介して通信することを可能にするIMSI及び鍵IKを記憶することである。図2のシステムでは、アルゴリズムは、IMSIのシーケンスを生成するように構成されている。IMSIのシーケンスは、シーケンス内のIMSI間に関係があるように決定され、したがって、各IMSIではなく、IMSIのシーケンスがどのように生成されるかを定義する規則がSIMに記憶されている。したがって、各IMSIをSIMに記憶する必要はない。
まず、アルゴリズムが001; 002; 003のようなIMSIのシーケンスを生成するように構成されている簡単な例を考えてみましょう。機器が最初に起動されると、SIMはまずIMSI 001を機器に与える。以下の説明では、これを認証IDと呼ぶ。
開始時に、IDの認証は、図1を参照して説明したものと同様のプロセスに従う。IMSIはステップS101で送信され、ネットワークプロバイダに送信される。ネットワークプロバイダで受信されると、IMSIは標準の認証の場合と同じ方式でデータベース内で照合される。しかしながら、ステップS105の後、SIMが認証されると、新しいIMSIがネットワークによってSIMに与えられ、これは機器とのすべてのさらなる通信に使用されるトラフィックIMSIである。トラフィックIMSIがどのように供給されるかについては、図8を参照して説明する。
一実施形態では、複数のSIMが提供され、各SIMは同じアルゴリズムを有し、同じIMSIのシーケンスを繰り返す。これにより、シーケンス内のIMSIの数だけインフラストラクチャを整備すればよい。このアルゴリズムで供給されるSIMの数は、シーケンス内のIMSIの数よりも大きい。当該SIMがインターネットを介した通信に使用されてもされなくてもよい機器に与えられる場合、これは、SIMの総数ではなく、シーケンス内のインデックスの数に対してインフラストラクチャを整備することだけが必要であることを意味する。
ただし、2つのSIMが同じIMSIを使用してネットワーク上で同時に認証されることはできない。したがって、次に、2つのSIMが同じIMSIで認証を試みる状況を処理するためのプロセスについて説明する。
図3は、衝突検出の原理を説明する概略図である。領域301は、上記のアルゴリズムを有する複数のSIM 001、002…999を示している。この単純化された例では、生成されたIMSIとMSISDNの組は、001から003までの値を有する。図3の例では、SIMは両方とも、IMSI/MSISDNの組001、001を使用して認証要求をネットワーク303に送信する。同じアイデンティティを有する2つのSIMがネットワーク上で検出され、これらのアイデンティティがネットワーク303によって認識されると、認証データベース305は、両方の要求が不正でない機器からの認証要求であることを確認するために、図1を参照して説明した標準的な認証プロトコルを使用して両方の要求を検証する。
最初のIDが認証されると、認証センタは新しいID(IMSI/MSISDNペア)のダウンロードをSIMに指示する。これは図4に示され、同じ参照番号は図3のそれらと同じ特徴を示す。図4において、SIM 001の認証は成功し、トラフィックIDはこの場合IMSI/MSISDNペア 004/004として示される。たとえば、OTAを使用してSIM 001にダウンロードされる。この新しいIDは、SIMがそれが収容されている機器がネットワーク303を介して通信することを可能にすることを可能にするためにネットワークに供給される。
ただし、認証センタは、同じIMSI又はIMSI/MSISDMペアを持つ他の有効な要求の認証を拒否する。これは、認証プロセスにより多くの時間を要求するメッセージを送信することを任意に含み得る。 プロセスは、最終的にすべての認証要求に有効なトラフィックアイデンティティが与えられるまで、後述するように続く。
上述したように、同じアイデンティティ(IMSI)が複数のSIMによって複製され再利用されるので、それは、ネットワークにおいて認証の失敗を引き起こす可能性がある。この点については、追って詳述する。いくつかのネットワークインフラストラクチャ、特にHLR/VLRは、SIMアクティベーションプロセスの外観を与える可能性がある複数の認証要求をもたらす可能性がある。しかしながら、そのような「二次的要求」は重複として識別されてもよく、次いで認証センタはこれらを拒否するように指示されてもよい。
図5は、第2の同一のIDがネットワークで受信されるプロセスフローを示す。プロセスは、ステップS105までは図1に関して説明したものと同じである。しかしながら、この段階では、IDは以前に処理されているため、認証は失敗する。この状況では、SIMが、認証が失敗したことを示すメッセージをネットワークから受信すると、SIMで実行されるプロセスP1を開始する。
図6は、プロセスP1の一例を示す。ステップS401において、SIMファイルシステムは、認証失敗があったことを示すように更新し、これは次にステップS403においてアルゴリズムを開始する。アルゴリズムは、後述するようにシーケンスから新しいIDを選択するように機能する。ステップS405において、現在のIMSI(すなわち拒絶されたもの)が範囲内にあるかどうかを見るために確認される。アルゴリズムは、そのようなリサイクル可能な認証目的のために純粋に使用されるために特定の範囲のIMSIを維持する必要がある。したがって、当該範囲はIMSI Start、IMSI Endなどの境界によって定義される。そのような範囲から外れるIMSIは、SIM内のアルゴリズムによって処理されない。
現在のIMSIが範囲内にある場合、アルゴリズムはステップS407で新しいアイデンティティを生成する最初のステップで始まる。ここでは、IMSI、秘密鍵及び他のSIMデータなどの新しいパラメータが生成される。記憶されているIMSIを取り出すのではなく、シーケンスからIMSIを生成するようにアルゴリズムが構成されているので、IMSIは前のIMSIに基づいて生成される。一実施形態では、SIMによって生成することができるIMSIは、1、2.....10のように1桁ずつ離れており、そして次のIMSIは前のIMSIに「1」を加えて(すなわち、前のIMSIの最下位の桁をインクリメントして)生成される。しかしながら、シーケンスで生成されたIMSIに対してそのような順序に従うべき要求はなく、後続のIMSIは、前のIMSIを設定した量だけ増分又は減分することによって生成され得る。さらなる実施形態では、IMSIは固定範囲内にあり、IMSI間に固定の増分/減分があるが、シーケンス内で次にどのIMSIが生成されるかはランダムに選択される。したがって、たとえば、アルゴリズムが2つのSIM上で同時に実行されるとき、2つのSIMが異なるIMSIを生成し、したがって衝突を回避する可能性が高い。すなわち、IMSIは、ランダムに選ばれた量だけ前のIMSIの最下位の桁をインクリメント又はデクリメントして、前のIMSIから生成することができる。
アイデンティティ生成プロセス中に、認証IMSIが生成される。このことは、認証目的の秘密鍵がこれらすべてのIMSIで同じである必要があるか、又は各IMSIに固有になるように更新される必要がある。
一実施形態では、これらの鍵の固有の組み合わせがセキュリティ目的のために使用される。一実施形態では、鍵ペアはリアルタイムで生成される。鍵ペアをリアルタイムで生成することは、事前に生成されたペアを保存するためにSIM上に追加のメモリを設ける必要がないという利点を有する。また、事前に生成されたペアを記憶するためにネットワーク上に追加の記憶容量を提供する必要もない(データベース内で一致が見つかれば、ネットワーク側で鍵を生成することができる。)。
図7は、鍵ペアがリアルタイムでどのように生成され得るかを示す。プロセスはステップS407で開始される。ステップS451において、上述したように新しいIMSIが生成される。IMSIを生成するために使用され得るアルゴリズムの可能な例は、1又は他の何らかの合意された値だけIMSIを増分若しくは減分すること、又は上述のように一連のIMSIからランダムに次のIMSIを選択することである。
次に、ステップS453において、秘密鍵が生成される。この秘密鍵Kは、SIMとネットワークとの間で共有されるので、機器及びネットワークの両方で生成されることが好ましいことに留意されたい。たとえば、現在のIMSI、共通ネットワーク「OP」鍵(LTEセキュリティアーキテクチャで定義されおり、これは限定された認証にのみ有用である可能性がある)などの共通入力を使用して鍵を作成することができる。例示的な暗号化アルゴリズムは、XOR機能、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)などを含む。
ステップS455において、秘密鍵OPcが生成される。この鍵は、たとえば3GPP MILENAGEアルゴリズムにおいて、IK鍵を生成するために使用され得る(図1に関して上記参照)。OPc鍵は、入力としてOP及びKの両方を使用する標準的なアルゴリズムを使用して生成することができる。やはり、前述のように共通の入力を使用して様々なアルゴリズムを作成することができる。最後に、ステップS457において、特定の動作環境において好ましくはすべての認証IMSIに共通であるべき他のパラメータが生成される。
再び図6に戻って、新しいアイデンティティが生成されると、SIM上のプロセッサは、ステップS409で新しく生成されたアイデンティティに沿ってアイデンティティを更新するように構成される。次に、ステップS411でSIMリフレッシュ動作がトリガされる。これはSIMを新しいアイデンティティでリセットする役割を果たす。ステップS413において、SIMは、機器から基本ファイルIMSI読み取りプロシージャを受信する。これでP1アルゴリズムは終了する。
ステップS405において、現在のIMSIが認証範囲内にない(すなわち、「実際」のトラフィックIMSIを認証することができなかった)場合、IMSIを更新する試みはなく、通常の認証が再試行される。
図8は、図1を参照して説明したものと類似しているがアルゴリズムP1を組み込むように拡張された認証フローを示す。図3及び図4を参照して上述したように、ステップS501において、認証は2つのSIMからのIDの重複により拒否される。次に、図6及び図7を参照して説明したように、アルゴリズムP1がトリガされる。次いで、ステップS503において、アルゴリズムの出力がSIMから機器を介してネットワークに提供される。再度、認証プロセスが開始され、たとえば、ステップS505でネットワークからSIMに乱数が送信され、ステップS507でその結果がSIMから返される。これはネットワークが生成した結果と比較される。
衝突が検出されなかった場合、認証が進み、(この例では)次のステップで、認証中に生成されたIK及びCKを使用してトラフィックアイデンティティが割り当てられる。SIMが上記のメカニズムを介してネットワークに対して認証されると、トラフィックIMSIがネットワークによって作成/選択される。 次いで、ステップS509において、このトラフィックIMSIは、いくつかの実施形態において標準化されたOTAメカニズムを介して、たとえばSMS、USSD又はBIPチャネルを使用して、SIMにダウンロードされ得る。その後、SIMはファイルシステムに保存されている関連するパラメータを更新し、その後、標準のSIM認証とライフサイクルに従ってトラフィックIMSIを使用する。
トラフィックIMSIがSIMを更新するために使用されたことを条件に、今度はステップS511で、トラフィックIMSIをネットワークに送信するSIMにより認証プロセスはもう一度進む。再びステップS513で乱数が機器に送り返され、最終的にステップS515で機器からの結果がネットワークに送信される。このプロセスの後、SIMと連携している機器は、それ以降のすべての通信にトラフィックIMSIを使用する。
ここで、ステップS451で実行される認証IMSI生成に戻る。
発明者らは、新しいIMSIの生成が、前のIMSIの最下位の桁の単純なインクリメント又はデクリメントによって実施される実施形態において、複数のSIMが認証されており、ある時点でそれらの1つが衝突したとすると、増加/減少機能を使用する場合、これは、指飛躍的にIMSIを衝突させる可能性があることを見出した。これを以下の表に示す。
第1段階では、SIM1は(IMSI XXXYY9876543210を使用して)認証を試みるが、XXXYY9876543210が別のSIM、たとえば(表に示されない)SIMAを有効化するために使用されているため、認証が失敗する。そこで、SIM1は、IMSIをXXXYY9876543211にインクリメントする。
第2段階で、SIM1は(インクリメントされたIMSI XXXYY9876543211を使用して)認証を試みるが、XXXYY9876543211が別のSIM(SIM2)を有効化するために同時に使用されているため、認証が衝突する。SIM2は(IMSI XXXYY9876543211を使用して)認証を試みるが、XXXYY9876543211が別のSIM(SIM1)を有効化するために使用されているため、認証が衝突する。SIM1はIMSIをXXXYY9876543212にインクリメントし、SIM2はIMSIをXXXYY9876543212にインクリメントする。
上記により、複数のSIMが同じIMSIを使用して認証を試行する状況が発生する(第3段階を参照)。
XXXYY9876543212がSIM3の有効化に使用されている場合、XXXYY9876543212を使用したSIM1およびSIM2による認証の試行により衝突が発生し、SIMは別の認証試行で使用するために(同じ)IMSIをインクリメントする必要がある。
衝突中、永続的なIMSIをダウンロードするための通信に使用されるIMSIは1つだけである。これには時間がかかり、この時間の間、他のSIMがネットワークを利用できないため、同じIMSIでネットワーク接続を試行するSIMが多数存在するポイントまでSIMが急速にインクリメントしていく。
これにより、(i)同じIMSIを有する非常に多くのSIMからの認証要求に対応するためのネットワークの輻輳(及びローミングネットワークにおける混乱)と、(ii)同じIMSIを使用しており、よって同時に扱うすることができないという状況にそれらのSIMがあることを理由として、SIMに恒久的なIMSIを提供するのに要する長い時間が生じる。
このような状況を回避するために、SIMの製造中に疑似乱数ジェネレータを使用して、当該SIMのIMSIの一部として使用される乱数をそれぞれに割り当てる。これを認証に失敗した場合に新しいIMSIを生成するアルゴリズムと組み合わせて、衝突の可能性を減らす。
さらに6桁目を標準のIMSIに加えて、残りの9つの数値の範囲を使用して、流通し得る999999999個のIMSIを生成することができる。
したがって、IMSIの定義は次のようになる。YYYZZ N XXXXXXXXXであり、ここで、
・YYY =モバイルカントリーコード(MCC)
・ZZ =モバイルネットワークコード(MNC)
・N =ランダム生成の目的で使用されているIMSIの範囲を示す新しい桁。たとえば、数字Nを0に設定して認証識別子を示し、その他の数字を設定してトラフィック識別子を示してもよい。
・XXXXXXXXX = IMSIの生成に使用される乱数。
この場合、擬似乱数ジェネレータを使用して、製造中のSIMを多様化して、XXXXXXXXXのランダムな9桁バージョンが生成される。次に、アルゴリズムは、製造中のランダムなIMSI SIMの組と衝突する可能性が低い次の数を生成することができる。
このアルゴリズムは、認証の失敗につながったIMSIを入力として受け取り、別の有効化要求で使用するための新しいIMSIを出力として与える。
新しいIMSIを生成すると、SIMが一意のIMSIを持つようになり、製造状態にあるIMSIと衝突する可能性が低くなる。これを実現するために、IMSIはプールに分割され、各プールは、アルゴリズムが使用された回数を表す。したがって、
プール1:製造時のIMSIの状態
プール2:アルゴリズムを1回使用後のIMSIの状態
プール3:アルゴリズムを2回使用後のIMSIの状態
等々のようになる。
各プールは、複数の一意のIMSIで構成される。つまり、各IMSIは単一のプールにのみ割り当てられる。
たとえば、複数のIMSIで構成されるプールが10個ある場合、別のSIMと衝突する可能性のあるIMSIを生成する前に、アルゴリズムが10回のイテレーションを繰り返す必要があることを意味する。
インクリメントは、複数のIMSIで構成される10個のプールを作成するためにロジックとして使用することができるが、これは最後の桁ではなく7桁目をインクリメントすることによって行われる。つまり、YYYZZNAXXXXXXXXにおいてAがA(プール識別子の桁)はインクリメントされる桁を表す。したがって、Aの数字は製造状態に0として割り当てられ、アルゴリズムの反復ごとにインクリメントされるため、(10回のイテレーションまで)毎回一意のIMSIの組が生成される。ただし、このアプローチでは、1桁がアルゴリズム用に取られるため、IMSIの乱数生成の範囲を9桁ではなく8桁に制限する。
別のアプローチでは、プール内のそれぞれの数は素数であるか、または素数を使用した乗算に基づいて生成される。素数を使用する乗算は、(i)素数をそれ自体で乗算する、(ii)素数に素数の倍数を掛ける、(iii)素数に別の素数を掛けることの1つを含むことができる。
たとえば、以下に示すように、IMSIをプールに割り当てることができる。
プール1(素数):002、003、005、007…
プール2(素数にそれ自体を掛けたもの):004、009、025、049…
プール3(プール2の結果にその平方根を乗算):008、027、125、343…
プール4(順番に次に高い素数を掛けた素数):006、015、035、077…
このように、各プールは一組の一意の数になる。つまり、各IMSIは単一のプールにのみ割り当てられる。明らかなように、000から009の間で生成されたすべての数は異なるプールに属し、各プールに一意に配置できる。上記のプールへのIMSIの割り当ては単に概念を説明する例であることが理解されるだろう。
アルゴリズムは固定されており、アルゴリズムの入力は可変である。したがって、上記の素数の例を使用すると、アルゴリズムは、元の素数を入力として受け取り、各IMSIが異なるプールに入るようにIMSIのシーケンスを生成する。(認証に失敗した場合)。
上記の素数の例では、IMSIが002のSIMは、認証に失敗した場合、アルゴリズムが3回使用されることでIMSI 004、008、006を生成する。この例のアルゴリズム自体は、「プール2はプール1の数をそれ自体で乗算した結果、プール3はプール2の結果にその平方根(元のプール1の数)を乗算した結果、プール4は、元の素数(元のプール1の数)に、素数のシーケンスで次に高い素数を掛けた積である」という定義である。
アルゴリズムは既知であるため、認証に失敗したIMSIと、このIMSIが由来するプールの知識を持っていることにより、次のプールから新しいIMSIを導出することができる(アルゴリズムは、この情報に基づいて実行される計算を知っている。)。新しいIMSIを決定するためにアルゴリズムによって実行される計算では、認証に失敗したIMSIまたは製造時にSIMに割り当てられた元のIMSIを使用する場合がある。一部のシナリオでは、認証に失敗したIMSIは、製造時にSIMに割り当てられた元のIMSIである場合がある。
好ましくは、IMSIは少なくとも4つのプールに割り当てられる。
上記のアルゴリズム機能により、飛躍的にIMSIの衝突が回避されることが明らかである。
上記の手法は、SIMに関連づけられた位置情報を使用してIMSIのサイロを作成して、トラフィックを簡単に識別し、IMSIの衝突の影響を特定の地域に制限することで強化される。特に、このアルゴリズムは、認証の失敗につながったIMSIを入力として受け取り、追加の入力として位置情報を受け取り、別の有効化要求で使用する新しいIMSIを出力として提供する。
プールを生成するためのアルゴリズムの定義の1つとして、セルID、ネットワークID、国コード(MCC)、ロケーションエリアコード(LAC)などのSIMの位置を使用することができる。これらのIMSIの値は、他のアルゴリズムの定義において使用するために取っておくことができる。たとえばMCCを使用する場合、001〜999(MCCの範囲)の値は、「ロケーションアルゴリズムプール定義」で使用するために取っておくことができる。そのため、指定されたXXXXXXXXXの数にMCCを掛けると、結果の値は一意のプールに残るが、位置情報を使用して区別される。使用中のIMSIを国ごとに区別することが望ましい場合は、MCC識別子(001から999)を持つIMSIのプールを確保できる。これにより、ある国で衝突が発生しても、範囲が著しく異なるため、他の国に影響を与えない。
アルゴリズムは、SIM認証要求のタイムスタンプを利用して、新しいIMSIを生成することもできる。特に、アルゴリズムは、認証の失敗につながったIMSIを入力として受け取り、SIMからネットワークへの失敗した認証要求のタイムスタンプを追加の入力として受け取って、別の有効化要求で使用する新しいIMSIを出力として提供する。ネットワークがIMSIを拒否した場合、SIMはそのタイムスタンプを新しいIMSIの生成に使用することができる。タイムスタンプも知っているネットワークは、ネットワーク内で新しいIMSIを生成するとともに、認証要求の準備をすることができる。これにより、(特定のSIMに対して正しいIMSIを予測する機能を防ぐために)セキュリティ上の利点をもたらす認証の正確な時間の結果であるランダム性がIMSI生成に有利に導入される。
上記のシステム/手順は、たとえば、1つ又は複数のSIMがいずれ使用されるのか、使用されるとしていつ使用されるのかが分からない場合などに、複数のSIMを機器に展開することを可能にする。たとえば、100万個のSIMのバッチの所与のIMSIの範囲XXXYY0000000000〜XXXYY0000999999について、XXXYY0000000000〜XXXYY0000009999という1万個の「認証IMSI」を使用することができ、その結果、(関連データの)データストレージを2桁低減することができる。製造時に上記範囲がSIMに均等に分配されると仮定すると、T0において、同じ認証IMSIが100個のSIMによってパーソナライズ/再使用され得る(1,000,000/10,000=100)。つまり、1つのIDが1つのSIMカードに対応する場合、100万のIDとは対照的に最初に1万個のIDを処理するためのインフラストラクチャを整備するだけで足りる。
インターネット対応機器が販売されるとき、ユーザがインターネット対応機能を使用したいと思うかどうか、又はいつその機能を使用したいと思うかが明確でないことがよくある。たとえば、はじめに述べたタクシーメーターの例を参照すると、メーターは、外部の情報源に接続しなくてもタクシーで完璧に機能することがある。しかしながら、一部のタクシー運転手又は一部のタクシー会社は、タクシーメーターとなんらかのセントラルロケーションとの間の通信を望むかもしれない。すべてのタクシーメーターに有効なトラフィックIDを提供するには、かなり大きなインフラストラクチャが必要となるだろう。これは、すべてのタクシーメーターがすぐに接続を使用した場合には正当化されるが、実際には多くのタクシーメーター、特に最初はタクシーメーターがこの機能を必要としない場合がある。発明者らが説明した技術はすべてのタクシーメーターに接続する能力を提供するが、すぐに接続するためにそれらのうちのほんの一部、たとえば1/00のためにインフラストラクチャを整備することのみが必要である。さらに、各メーターが全範囲のIMSIにアクセスできるため、どのメーターが最初に接続するかを知る必要はない。
本発明の一実施形態の別の利点は、ネットワークの動作速度が増すことである。必要とされる追加のインフラストラクチャと同様に、正しい一致を検索するためにより大きなデータベースにアクセスする必要があるため、必要な追加のメモリスペースがシステムの速度を低下させる。
また、メーターを追加するたびにネットワークに接続する必要がある場合と比較して、コストを削減できる。さらに、たとえすべてのメーターが結局それらの接続性を使用することになっていたとしても、完全なインフラストラクチャをすぐに整備する必要はないだろう。たとえばコネクテッドカーのようないくつかの複雑なコネクテッド製品では、SIMは、自動車が購入可能になる非常に長い期間の前に自動車販売店に提供されることがあり、おそらく自動車が販売された後も非常に長期間使用されないことがある。
本発明の実施形態の利点のいくつかがタクシーメーターの例を用いて説明されてきたが、同様の利点が他の多くの用途においても提供され得ることが理解されるであろう。
したがって、上記方法の実施形態は、ネットワーク内に同数のIMSIをプロビジョニングする必要なしに、膨大な数のIoT機器を配置することを可能にする。このように、IoT企業はアクティブなSIMカードの代金を払うだけでよく、その費用は収益に比例するため、ここで説明するテクノロジでは前払い費用と繰り返し発生する費用の両方を大幅に削減できる。このテクノロジは、新しいトラフィックアイデンティティの取得と管理も合理化する。これは、アイデンティティが認証アイデンティティとトラフィックアイデンティティに分類されるため、事前に認証アイデンティティを使用できるためである。
トラフィックIDは認証IDの認証後にのみ送信されるので、上述の技術はまた、接続機器のセキュリティにとって明らかな利点を有する。ネットワーク登録データは製造元からネットワークオペレータに渡されないため、これはより安全なプロセスである。
多くの変形及び拡張が可能である。たとえば、当業者は、生成されたSIM IDのすべてが最終的に使用される場合、それでもなお、たとえばこれらの機器(より詳細にはそれらのSIM)を更新することによってさらなる機器を接続できるようにすることが可能である。一実施形態では、これは、追加のデータ(一組の第1のSIM識別子の更新された定義、たとえば、当該組を定義する範囲の新しい下限及び/又は上限など)及び/又は新しい若しくは更新されたアルゴリズム(更新されたプロセッサ制御コード)をSIMに提供して、当該SIMが異なるシーケンスのIMSIを生成することを可能にすることを含み得る。
本発明のさらなる態様に示す。
1.SIMを有効化するためのシステムであって、前記システムは、モバイルネットワークでの使用が承認されるよりも多くのSIMを備え、
第1のSIM識別子を提供するように構成された複数のSIMであって、前記複数のSIMのうちの1つが前記複数のSIMのうちの別のSIMと同じSIM識別子を提供し得るように、それらのうちの1又は複数が前記複数のSIM間で再利用される複数のSIMと、
有効化要求するSIMから前記第1のSIM識別子を受信し、それに応答して、有効化を要求する前記SIMに新しいSIM識別子を提供するように構成されたSIM承認サーバと
を備え、
前記新しいSIM識別子は、有効化を要求する前記SIMに、前記モバイルネットワークを介してトラフィックを通信することを可能にする。
2.第1項記載のシステムにおいて、前記第1のSIM識別子及び前記新しいSIM識別子がそれぞれIMSIを含む。
3.第1項又は第2項記載のシステムにおいて、前記複数のSIMの前記第1のSIM識別子は、一組の定義された値の範囲内の値を有し、前記新しいSIM識別子は、前記一組の定義された値の範囲内にない。
4.第3項記載のシステムにおいて、有効化を要求する前記SIMは、前記第1のSIM識別子を使用して前記モバイルネットワークに認証要求を開始することにより有効化を要求するように構成される。
5.先行するいずれかの項に記載のシステムにおいて、前記第1のSIM識別子を含む有効化要求の失敗に応答して、有効化を要求する前記SIMは、前記SIM承認サーバに異なる前記第1のSIM識別子を提供するように構成される。
6.先行するいずれかの項に記載のシステムにおいて、有効化を要求する前記SIMが、前記複数のSIMのうちの1つによる有効化要求の失敗に応答して、前記有効化の要求に使用された識別子が前記第1のSIM識別子であったか前記新しいSIM識別子であったかを判定し、前記第1のSIM識別子が前記有効化の要求に使用されたときに異なる前記第1のSIM識別子を提供するように構成される。
7.先行するいずれかの項に記載のシステムにおいて、前記SIMカードのそれぞれが、一組の定義された値の範囲内から複数の前記第1のSIM識別子を生成するためのプロセッサ制御コードを記憶する関連づけられたコンピュータ可読記憶媒体を有する。
8.SIMを有効化するシステムで使用するためのSIMであって、前記システムは、モバイルネットワークでの使用が承認されるよりも多くのSIMを備え、前記SIMは、
一組の定義された値の範囲内の値を有する、前記SIMを有効化するための第1のSIM識別子を生成し、
前記第1のSIM識別子を、前記SIMの有効化後にSIM承認サーバから受信した新しいSIM識別子で更新する
ためのプロセッサ制御コードを記憶する関連づけられたコンピュータ可読記憶媒体を備える。
9.第8項に記載のSIMにであって、前記第1のSIM識別子及び前記新しいSIM識別子がそれぞれIMSIを含む。
10.第8項又は第9項記載のSIMであって、前記プロセッサ制御コードは、一組の定義された値の範囲内から前記第1のSIM識別子のシーケンスを生成するようにさらに構成され、
最初の前記第1のSIM識別子による前記SIMのモバイルネットワークでの認証要求の失敗に応答して第2の前記第1のSIM識別子が生成される。
11.第8項、第9項及び第10項のいずれかに記載のSIMを有する接続機器。
12.SIMを有効化するためのシステムであって、モバイルネットワークでの使用が承認されるよりも多いSIMを含むシステムにおいて使用するためのSIM承認サーバであって、前記SIM承認サーバは、有効化を要求するSIMからの第1の識別子を受信し、それに応じて、有効化を要求する前記SIMに新しいSIM識別子を提供するプロセッサ制御コードを記憶するコンピュータ可読記憶媒体を含み、前記第1のSIM識別子は、有効化を要求し得るSIMの数よりも少ない数の一組の第1のSIM識別子からのものであり、したがって、有効化を要求する前記SIMのうちの2つが同じ前記第1のSIM識別子を提供することがあり、前記新しいSIM識別子は、可能な前記一組の第1のSIM識別子の範囲内になく、前記モバイルネットワークによって認証可能であり、有効化を要求する前記SIMがモバイルネットワークを介してトラフィックを通信できるようにする。
13.接続機器がモバイルネットワークを介してトラフィックを通信できるように接続機器を有効化化する方法であって、可能な一組の第1のSIM識別子から選択された第1のSIM識別子を提供するように構成されるSIMを有する機器を使用し、前記第1のSIM識別子を有する有効化要求を前記機器からモバイルネットワークに送信し、前記有効化要求への応答を受信し、前記応答が新しいSIM識別子を含む場合、前記機器がモバイルネットワークを介してトラフィックを通信できるように前記機器を有効化し、前記機器の前記有効化が行われない場合、可能な前記一組の第1のSIM識別子から異なる第1のSIM識別子を選択し、前記有効化は、前記新しいSIM識別子で前記SIMを更新することを含む。
14.第13項に記載の方法であって、前記第1のSIM識別子及び前記新しいSIM識別子がそれぞれIMSIを含む。
15A.第13項又は第14項記載の方法であって、利用可能な第1のSIM識別子よりも多い数の複数の接続機器を有効化するために、それぞれがそれぞれのSIMを有する前記複数の接続機器を使用し、前記新しいSIM識別子を受信することにより前記接続機器の1つを有効化し、前に有効化された接続機器の第1の識別子と有効化を要求する後続の接続機器の第1のSIM識別子との衝突を検出し、前記後続の接続機器のために異なる第1のSSIM識別子を決定することにより検出された衝突を解決する。
15B.第13項から第15A項のいずれかに記載の方法を実施するためのプロセッサ制御コードを記憶するコンピュータプログラム製品。
16.既知のアイデンティティのシーケンスからアイデンティティを生成するように適合されたプロセッサを含む関連づけられたSIMを有する機器であって、前記アイデンティティをネットワークに送信するように適合されている。
17.第16項の関連づけられたSIMを有する機器であって、前記プロセッサは、認証要求をネットワークに送信し、前記認証要求の拒否を受信したことを条件に、既知のアイデンティティの前記シーケンスからさらなるアイデンティティを生成するようにさらに適合されている。
18.第16項又は第17項岸あの関連づけられたSIMを有する機器であって、既知のアイデンティティの前記シーケンスのそれぞれが、前記アイデンティティの他の少なくとも1つに対して既知の関係を有する。
19.第18項に記載のSIMが関連づけられた装置であって、アイデンティティの前記シーケンスに既知の開始点及び終了点が存在する。
20.第16項から第19項のいずれかに記載のSIMが関連づけられた機器であって、数の前記シーケンスを生成するためのストレージ要件は、シーケンス全体が個別の数として記憶された場合に必要なストレージの量よりも少ない。
21.第16項記載の関連づけられたSIMを有する機器であって、前記プロセッサは、前記生成されたアイデンティティから鍵を生成するように適合されている。
22.前記鍵は、ネットワーク共有鍵および現在のアイデンティティから生成される。
23.第16項から第22項のいずれかに記載の関連づけれたSIMを有する機器であって、前記アイデンティティはIMSIである。
24.第16項から第22項のいずれかに記載の関連づけれたSIMを有する機器であって、前記アイデンティティは、IMSI-MSISDNペアである。
25.第16項から第24項のいずれかに記載の関連づけれたSIMを有する機器であって、前記機器は、認証要求をネットワークに送信し、前記認証要求が受け入れられたことを条件に、前記ネットワークからの前記シーケンスの一部ではない新しい識別子を受信するように適合されている。
26.第25項に記載の関連づけれたSIMを有する機器であって、前記機器は、前記機器の識別子として前記新しい識別子を使用するように適合されている。
27.第16項から第26項のいずれかに記載の関連づけれたSIMを有する機器であって、前記SIMはSIMカードを備え、前記プロセッサは前記SIMカード上に提供される。
28.データベースと、プロセッサと、機器と通信するための通信インターフェースとを備えるSIM承認サーバであって、機器から識別子を含む認証要求を受信し、前記データベース内で前記識別子を一致させて鍵を取り出し、前記識別子及び前記鍵を使用して前記機器を認証し、前記鍵は、前記識別子との一致が決定されたことを条件に生成される。
29.データベースと、プロセッサと、機器と通信するための通信インターフェースとを備えるサーバであって、前記サーバは、第1の機器から識別子を含む認証要求を受信し、第2の機器から前記識別子を含む認証要求を受信し、前記データベース内で前記識別子を一致させて鍵を取り出し、前記識別子及び前記鍵を使用して、前記第1及び第2の機器と認証手順を実行し、前記第1の機器の認証を受け入れ、ネットワークとのさらなる通信に使用するために前記第1の機器に新しい識別子を送信し、前記第2の機器の認証を拒否するように適合される。
疑いなく、他の多くの効果的な代替案が当業者には見出されるだろう。本発明は、記載された実施形態に限定されず、当業者に明らかな、添付の特許請求の範囲の精神及び範囲内の変形を包含することが理解されるであろう。