(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-07
(45)【発行日】2025-02-18
(54)【発明の名称】認証情報の設定を仲介するための装置及び方法
(51)【国際特許分類】
H04L 9/08 20060101AFI20250210BHJP
H04L 9/32 20060101ALI20250210BHJP
【FI】
H04L9/08 C
H04L9/08 E
H04L9/32 200A
(21)【出願番号】P 2022186982
(22)【出願日】2022-11-23
(62)【分割の表示】P 2018127031の分割
【原出願日】2018-07-03
【審査請求日】2022-12-23
(73)【特許権者】
【識別番号】515068502
【氏名又は名称】株式会社ソラコム
(74)【代理人】
【識別番号】110003605
【氏名又は名称】弁理士法人六本木通り特許事務所
(72)【発明者】
【氏名】片山 暁雄
(72)【発明者】
【氏名】酒井 憲吾
(72)【発明者】
【氏名】ジョルジュ オリビエ コマ-モンド
【審査官】金沢 史明
(56)【参考文献】
【文献】国際公開第2016/024893(WO,A1)
【文献】国際公開第2010/128348(WO,A1)
【文献】特開2020-010099(JP,A)
【文献】中国特許出願公開第107104932(CN,A)
【文献】特開2018-082353(JP,A)
【文献】国際公開第2017/130292(WO,A1)
【文献】米国特許出願公開第2007/0178886(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
H04W 12/04
H04W 12/06
(57)【特許請求の範囲】
【請求項1】
IPネットワーク上で複数の
サービスプロバイダ装置が提供するサービス
を利用
可能なIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステ
ムであって、
前記IoT機器
は、前記複数のサービスプロバイダ装置のいずれかの送信先に初期設定要求を
送信し、
前記介在装置は、
前記
送信先から、鍵Idを含む初期設定情報を受信し、
前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に前記鍵Idとともに記憶される鍵又はこれに対応する鍵である第1の鍵を前記鍵Idにより取得し、
前記第1の鍵及びナンスに基づき第2の鍵を計算し、
前記第2の鍵を含む前記認証情報を前記サービスプロバイダ装置に送信す
る。
【請求項2】
請求項1に記載のシステムであって、
前記送信先は、前記IoT機器の管理者により指定されたものである。
【請求項3】
請求項1に記載のシステムであって、
前記送信先は、前記IoT機器に記憶された複数の送信先に含まれる。
【請求項4】
請求項1から3のいずれかに記載のシステムであって、
前記介在装置は、前記ナンスを前記サービスプロバイダ装置に送信す
る。
【請求項5】
請求項1から4のいずれかに記載のシステムであって、
前記IoT機器は、前記初期設定要求を前記認証情報の有効期限が切れたことに応じて送信する。
【請求項6】
IPネットワーク上で
複数のサービスプロバイダ装置が提供するサービス
を利用
可能なIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステ
ムにおける方法であって、
前記IoT機器
が、前記複数のサービスプロバイダ装置のいずれかの送信先に初期設定要求を
送信するステップと、
前記介在装置が、前記
送信先から、鍵Idを含む初期設定情報を受信するステップと、
前記介在装置が、前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に前記鍵Idとともに記憶される鍵又はこれに対応する鍵である第1の鍵を前記鍵Idにより取得するステップと、
前記介在装置が、前記第1の鍵及びナンスに基づき第2の鍵を計算するステップと、
前記介在装置が、前記第2の鍵を含む前記認証情報を前記サービスプロバイダ装置に送信するステップと
を含
む。
【請求項7】
コンピュータに、IPネットワーク上で
複数のサービスプロバイダ装置が提供するサービス
を利用
可能なIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステ
ムにおける方法を実行させるためのプログラムであって、前記方法は、
前記IoT機器
が、前記複数のサービスプロバイダ装置のいずれかの送信先に初期設定要求を
送信するステップと、
前記介在装置が、前記
送信先から、鍵Idを含む初期設定情報を受信するステップと、
前記介在装置が、前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に前記鍵Idとともに記憶される鍵又はこれに対応する鍵である第1の鍵を前記鍵Idにより取得するステップと、
前記介在装置が、前記第1の鍵及びナンスに基づき第2の鍵を計算するステップと、
前記介在装置が、前記第2の鍵を含む前記認証情報を前記サービスプロバイダ装置に送信するステップと
を含
む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証情報の設定を仲介するための装置及び方法に関し、より詳細には、IPネットワーク上で提供されるサービスのための認証情報の設定を仲介する装置及び方法に関する。
【背景技術】
【0002】
センシング技術、通信技術の進展に伴い、コンピュータネットワークに接続される機器が増え、あらゆるモノがネットワーク化されるInternet of Thingsという考え方が広まっている。以下では、インターネットに限らず、IPネットワークに直接的又は間接的に接続可能な機器を「IoT機器」という。
【0003】
IoT機器のためのサービスが日々、研究され開発されているが、これらのサービスを利用するためには、各IoT機器に、各サービス固有の認証情報を外部から盗み取られない形でセキュアに埋め込む必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、認証情報のセキュアな埋め込みを実現しようとすると、IoT機器の設計及び製造過程を複雑化させ、コストを増大させることからその導入は容易ではない。今後、2020年にはインターネットにつながるモノの数は200億個とも1000億個とも言われている中、機器数が爆発的に増大すればするほどこのコストも爆発的に増大することとなる。
【0005】
本発明は、このような問題点に鑑みてなされたものであり、その第1の目的は、IPネットワーク上で提供されるサービスのための認証情報の設定を容易にする装置、方法及びそのためのプログラムを提供することにある。
【0006】
また、本発明の第2の目的は、上記装置、方法及びそのためのプログラムにおいて利用可能なSIM認証プロセスを提供することにある。
【課題を解決するための手段】
【0007】
このような目的を達成するために、本発明の第1の態様は、IPネットワーク上でサービスを提供するサービスプロバイダ装置と、前記サービスを利用するIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステムを構成する介在装置であって、前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に鍵Idとともに記憶される暗号鍵又はこれに対応する鍵を第1の鍵として、鍵Idと前記第1の鍵に基づき計算された署名とを含む初期設定情報を受信し、前記鍵Idにより取得可能な前記第1の鍵に基づいて前記署名を検証し、前記第1の鍵及びナンスに基づき第2の鍵を計算し、前記第2の鍵を前記認証情報として前記サービスプロバイダ装置に送信することを特徴とする。
【0008】
また、本発明の第2の態様は、第1の態様において、前記初期設定情報は、前記IoT機器から前記初期設定情報を含む初期設定要求を受信した前記サービスプロバイダ装置から受信することを特徴とする。
【0009】
また、本発明の第3の態様は、第1又は第2の態様において、前記サービスプロバイダ装置は、前記介在装置との接続のためのクレデンシャルを有することを特徴とする。
【0010】
また、本発明の第4の態様は、第3の態様において、前記第2の鍵の送信の前に、前記クレデンシャルを用いた前記サービスプロバイダ装置の認証を行うことを特徴とする。
【0011】
また、本発明の第5の態様は、第1から第4のいずれかの態様において、前記ナンスは、前記介在装置が生成することを特徴とする。
【0012】
また、本発明の第6の態様は、第1から第5のいずれかの態様において、前記介在装置は、前記SIMにより接続可能なセルラーネットワークのコアネットワーク内に存在することを特徴とする。
【0013】
また、本発明の第7の態様は、第6の態様において、前記介在装置は、前記SIMに格納された秘密情報と同一の秘密情報を有し、前記暗号鍵は、前記SIMの認証プロセスの中で前記秘密情報に基づき計算されることを特徴とする。
【0014】
また、本発明の第8の態様は、第1から第7のいずれかの態様において、前記SIMの前記認証プロセスの中で、前記SIMで生成されるAUTSに基づく、前記SIM及び前記介在装置に記憶されたSQNの再同期を行うことを特徴とする。
【0015】
また、本発明の第9の態様は、IPネットワーク上でサービスを提供するサービスプロバイダ装置と、前記サービスを利用するIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステムを構成する介在装置における方法であって、前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に鍵Idとともに記憶される暗号鍵又はこれに対応する鍵を第1の鍵として、鍵Idと前記第1の鍵に基づき計算された署名とを含む初期設定情報を受信するステップと、前記鍵Idにより取得可能な前記第1の鍵に基づいて前記署名を検証するステップと、前記第1の鍵及びナンスに基づき第2の鍵を計算するステップと、前記第2の鍵を前記認証情報として前記サービスプロバイダ装置に送信するステップとを含むことを特徴とする。
【0016】
また、本発明の第10の態様は、コンピュータに、IPネットワーク上でサービスを提供するサービスプロバイダ装置と、前記サービスを利用するIoT機器と、前記IoT機器と前記サービスプロバイダ装置との間の接続のための認証情報の設定を仲介する介在装置とを備えるシステムを構成する介在装置における方法を実行させるためのプログラムであって、前記方法は、前記IoT機器が有するSIMの認証プロセスの中で生成され、前記IoT機器及び前記介在装置に鍵Idとともに記憶される暗号鍵又はこれに対応する鍵を第1の鍵として、鍵Idと前記第1の鍵に基づき計算された署名とを含む初期設定情報を受信するステップと、前記鍵Idにより取得可能な前記第1の鍵に基づいて前記署名を検証するステップと、前記第1の鍵及びナンスに基づき第2の鍵を計算するステップと、前記第2の鍵を前記認証情報として前記サービスプロバイダ装置に送信するステップとを含むことを特徴とする。
【発明の効果】
【0017】
本発明の一態様によれば、IoT機器が有するSIMの認証プロセスを応用することによって、当該IoT機器がたとえば工場出荷時にはサービスプロバイダ装置との間で認証情報の共有が出来ていなくとも、事後的に行うことが容易になる。
【図面の簡単な説明】
【0018】
【
図1】本発明の第1の実施形態にかかるIPネットワーク上で提供されるサービスのための認証情報の設定を仲介する装置を示す図である。
【
図2】本発明の第1の実施形態にかかる認証情報の設定を仲介する方法の概要を示す図である。
【
図3】本発明の第1の実施形態にかかる認証情報の設定を仲介する方法の一例を示す図である。
【
図4】本発明の第2の実施形態にかかるSIM認証プロセスを説明するための図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0020】
(第1の実施形態)
図1に、本発明の第1の実施形態にかかるIPネットワーク上で提供されるサービスのための認証情報の設定を仲介する装置を示す。装置100は、IoT機器110とセルラーネットワークに限らずIPネットワークを含むその他のコンピュータネットワークで通信可能であり、また、IoT機器110が利用するサービスを提供するサービスプロバイダ装置120とIPネットワークで通信可能である。IPネットワーク上でサービスを提供するサービスプロバイダ装置120と、当該サービスを利用するIoT機器110と、IoT機器110とサービスプロバイダ装置120との間の接続のための認証情報の設定を仲介する装置100とを備えるシステムが全体像となる。
【0021】
IoT機器110は、セルラーネットワークに接続するためのSIM110-1を有し、SIM110-1には、IMSI等の識別番号及びK値等の秘密情報が格納されている。本実施形態において、SIM110-1は装置100の運営者又はその関連会社により提供されたものであり、その識別番号及び秘密情報は装置100又は装置100からアクセス可能な記憶媒体又は記憶装置にも記憶されている。装置100は、この識別番号及び秘密情報を用いたSIM認証プロセスにより、IoT機器110の信頼性の検証を行う。SIM認証は、MILENAGEアルゴリズム等によるHLR/HSSを用いた従来のプロセスと同様に行うことができるが、いくつか本発明に固有の特徴を有する。この点は第2の実施形態において後述する。
【0022】
また、サービスプロバイダ装置120は、装置100の運営者がなんらかの方法によってサービスプロバイダに対して形成した信頼に基づく装置100との通信のためのクレデンシャルを有する。ここで「クレデンシャル」とはID及びパスワードをはじめとする認証に用いられる情報の総称である。サービスプロバイダは、装置100の運営者との間では公知の方法により安全にクレデンシャルの共有を行うことができる一方、IoT機器110との間では、個々のIoT機器110の製造時の漏洩のおそれがあり、そのおそれを可及的に抑制するためにはコストの増大を避けることができない。
【0023】
本発明では、IoT機器110とサービスプロバイダ装置120との間で共有された認証情報がない状況において、双方との間で正当なアクセスのための認証が可能な装置100を介在装置として仲介させることで、認証情報の設定がリモートで容易に可能になり、IoTシステムの実用的な普及を加速する。
【0024】
より詳細には、本実施形態では、SIM認証の結果として装置100及びIoT機器110に記憶される暗号鍵(cipher key)CK又はこれに対応する鍵をIoT機器110がさまざまなサービスを利用するためのマスターキー(親鍵)とする。そして、装置100及びIoT機器110において、IoT機器110が利用するサービス固有のアプリケーションキー(用途が特定された鍵)をマスターキーに基づいて生成し、サービスプロバイダ装置120に対しては装置100からセキュアな接続を通じてアプリケーションキーを送信することで、IoT機器110及びサービスプロバイダ装置120に対して共通の鍵を認証情報として設定することができる。
【0025】
本実施形態においては、暗号鍵CKを例として説明を行うが、SIM認証の結果として装置100及びIoT機器110に記憶される完全性保証鍵(integrity key)IK又はこれに対応する鍵をマスターキーとすることも考えられる。本明細書において、暗号鍵に対応する鍵の一例として完全鍵を位置付けることができる。
【0026】
装置100は、セルラーネットワークのコアネットワーク内に存在し、MNO(移動体通信事業者)の通信装置とすることができるほか、MNOの通信インフラに接続して無線通信サービスを提供する形態のMVNO(仮想移動体通信事業者)の通信装置とすることもでき、SIM110-1は、MNO又はMVNOにより提供されたSIMカードとすることができる。
【0027】
MNOとMVNOの間に、MVNOが円滑な事業を行うための支援サービスを提供するMVNE(仮想移動体通信サービス提供者)が介在し、MVNEがMNOの通信インフラに接続して無線通信サービスを提供するための通信インフラを有することもある。この場合には、装置100はMVNEの通信装置となり、SIM110-1はMVNEにより提供されるSIMカードとすることができる。
【0028】
また、装置100の全て又は一部は、クラウド上又はパブリッククラウド若しくはプライベートクラウド上のインスタンスとしてもよい。ここで、本明細書において「クラウド」とは、ネットワーク上で需要に応じてCPU、メモリ、ストレージ、ネットワーク帯域などのコンピューティングリソースを動的にプロビジョニングし、提供できるシステムを言う。たとえば、AWS等によりクラウドを利用することができる。また、「パブリッククラウド」とは、複数のテナントが利用可能なクラウドを言う。
【0029】
IoT機器110が有するSIM110-1は、物理的なSIMカードとすることができるが、IoT機器110に組み込まれた半導体チップ(「eSIM」とも呼ばれる。)とすることができ、また、IoT機器110のモジュール内のセキュアなエリアにソフトウェアを搭載し、当該ソフトウェア上に識別番号及び秘密情報を記憶することも可能であり、IoT機器110がSIM認証に必要となる値及びプログラムを保持する態様はさまざま考えられる。
【0030】
図2に、本実施形態にかかる認証情報の設定を仲介する方法の概要を示す。まず、IoT機器110が、サービスプロバイダ装置120に対し、ブートストラップリクエスト(初期設定要求)を送信する(図示せず)。行われるべき初期設定には、サービスを利用するためのアプリケーションキーのIoT機器110及びサービスプロバイダ装置120における設定が含まれ、IoT機器110がサービス利用時の接続に必要な接続情報の設定をさらに含むことができる。
【0031】
ブートストラップリクエストは、そのためのソフトウェアないしプログラムとしてブートストラップエージェントをIoT機器110にインストールしておき、IoT機器110の初回電源ON時に当該エージェントが起動して送信されるようにしたり、以下説明するように設定される認証情報の有効期限が切れたことに応じて送信されるようにしたりすることができる。
【0032】
初期設定要求の送信先は、たとえばIoT機器110で利用可能なサービスのための1又は複数のクライアントソフトウェアをIoT機器110にインストールしておき、当該ソフトウェア内にそれぞれ記憶しておいたり、IoT機器110で利用可能なサービスのための初期設定要求の1又は複数の送信先の一覧を記憶しておいたり、IoT機器110の管理者が介在装置100の利用者向けコンソールから直接的又は間接的に指定することができる。ブートストラップエージェントとクライアントソフトウェアとを必ずしも別個のプログラムとしなければならないわけではないが、本実施形態では、ブートストラップエージェントが初期設定要求の送信先を取得可能とする。
【0033】
初期設定要求には、初期設定情報として、マスターキー(「第1の鍵」とも呼ぶ。)を特定するためのキーId(鍵Id)が含まれ、マスターキー及び必要に応じて加えられるタイムスタンプに基づく署名が付加される。署名の生成にタイムスタンプが用いられる場合には、初期設定情報にタイムスタンプも含まれることになる。この点は後述もするが、SIM認証プロセスにおいて、生成されたマスターキーを装置100及びIoT機器110に記憶する際、キーIdも生成して両者を関連づけて記憶しておくことができる。
【0034】
次に、装置100は、サービスプロバイダ装置120から、初期設定情報を受信する(S201)。装置100は、初期設定情報を送信してきたサービスプロバイダ装置120を認証し(S202)、認証結果が肯定的である場合、キーIdに基づいてマスターキーを取得して署名の検証を行う(S203)。サービスプロバイダ装置120の認証と署名の認証とは順序を逆としてもよい。
【0035】
そして、装置100は、ナンスを生成し、マスターキー及び当該ナンスに基づいてアプリケーションキー(「第2の鍵」とも呼ぶ。)を計算する(S204)。そして、当該アプリケーションキー及び当該ナンスをサービスプロバイダ装置120に送信する(S205)。IoT機器110は、以下でさらに説明するようにサービスプロバイダ装置120からナンスを受信し、これを用いて装置100と同一のアルゴリズムによってアプリケーションキーを計算可能であり、これにより、IoT機器110とサービスプロバイダ装置120は共通の鍵を認証情報として共に設定することができる。
【0036】
ここで、ナンスの生成を装置100にて行っているところ、サービスプロバイダ装置120又はIoT機器110にて行い、所要の送受信を行うようにすることも考えられる。ナンス生成をサービスプロバイダ装置120又はIoT機器110にて行う場合、介在装置100の管理が必ずしも行き届かないことが考えられることから、安易なナンスが生成されるおそれがあり、そうすると異なるサービスには異なるアプリケーションキーを生成するのが望ましいところ、同一のものとなってしまったり、攻撃者がナンスの生成ロジックを推定可能となってしまったりする。
【0037】
介在装置100は、通信インターフェースなどの通信部101-1と、プロセッサ、CPU等の処理部101-2と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部101-3とを備え、記憶部101-3又は介在装置100からアクセス可能な記憶装置又は記憶媒体に記憶された上述及び後述の各処理を行うためのプログラムを処理部101-2において実行することによって以下で述べる各処理を実現することができる。介在装置100は、
図1に示すように、処理内容によって第1の装置101と第2の装置102に分離することが可能であるが、これらを単一の装置とすることも、さらに分離することも可能である。その他のデバイスについても、同様のハードウェアによって実現することができる。各装置で実行されるプログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
【0038】
図3に、本実施形態にかかる認証情報の設定を仲介する方法の具体例を示す。まず、IoT機器110が、「example.com/v1/path/to/something/」で指定されるサービスプロバイダ装置120の送信先にキーId等の初期設定情報を送信して初期設定要求を行う。
図3において{keyId}等のパラメータを示しているが、送受信されるすべてのパラメータを図示しているものではない。
【0039】
サービスプロバイダ装置120は、受け取った初期設定情報に基づいて、装置100に対して、アプリケーションキーの生成要求をする。装置100では、順序は可変であるが、初期設定情報に含まれる署名の検証、サービスプロバイダ装置120の認証、さらに必要に応じてサービスプロバイダ装置120の指定されたキーIdに対するアクセス権限の有無の確認が行われる。装置100は、各サービスプロバイダにクレデンシャルを提供するとともに、各サービスプロバイダがサービスを提供可能なマスターキー又はそのIdをアクセス権限として設定しておくことができる。より詳細には、第2の実施形態にて説明するAUTSを指定したSIM認証要求において当該認証の結果生成されるマスターキー又はその鍵Idにアクセス可能な1又はサービス又はサービスプロバイダを指定することが考えられる。
【0040】
署名は、例えば、マスターキー及び必要に応じて加えられるタイムスタンプを連結した値に対するハッシュ値又はダイジェスト値とすることができ、装置100においても同様の計算を行い、ハッシュ値又はダイジェスト値の一致・不一致により署名の検証を行うことができる。ハッシュ値を得るためのハッシュ関数としては、SHA-256を一例として挙げることができる。
【0041】
そして、装置100は、アプリケーションキーの計算に必要なナンスの生成を行う。ナンスは、たとえば[23, 130, 4, 247, …]のような乱数又は疑似乱数から生成される数字の列とすることができる。次いで、生成したナンスと受信した鍵Idにより取得可能なマスターキーとを用いて、アプリケーションキーの計算が行われる。具体例としては、これらの値を連結した値に対するハッシュ値とすることができる。当該アプリケーションキーは、装置100とサービスプロバイダ装置120との間のセキュアな通信路でサービスプロバイダ装置120に送信される。
【0042】
サービスプロバイダ装置120は、受信したアプリケーションキーを認証情報として設定するとともに、IoT機器110がサービスを利用するための接続情報をIoT機器110に対して送信し、これを受信したIoT機器110は、所要の設定を行う。接続情報には、接続先情報を含むことができ、接続先のURL又はIPアドレスが例として挙げられる。また、サービスプロバイダ装置120においてもアプリケーションキーの設定以外に必要な設定があれば、行われる。また、本実施形態において、接続情報には上記ナンスが含まれる。IoT機器110は、受信したナンスを用いてサービスプロバイダ装置120に設定されたアプリケーションキーと同一のアプリケーションキーを自ら計算する。
【0043】
一例として、IoT機器110に利用するサービスのためのクライアントソフトウェアがインストールされている場合、当該サービスのための接続情報が当該ソフトウェアによって読み込まれ、IoT機器110が当該サービスを自動的に利用可能となるようにしてもよい。この際、当該ソフトウェアはアプリケーションキーを用いた通信が可能である。
【0044】
IoT機器110は、所要の通信機能を有し、SIM認証及び初期設定を実行可能な任意の機器とすることができ、そのために、C、Java(登録商標)等のプログラミング言語によるソフトウェアが実行可能であることは求められる。Cの実装をラップする形で異なるプログラミング言語(Ruby、Go、Javascript(登録商標)等)を使った拡張も可能である。たとえば、Linux(登録商標)、Android(登録商標)等のOSがインストールされた機器とすることができる。
【0045】
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
【0046】
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
【0047】
(第2の実施形態)
第1の実施形態において説明した介在装置100によるIoT機器110が有するSIMのSIM認証は、HLR/HSSを用いた従来のプロセスと同様に行うことができるが、以下で説明する改善を加えることが可能である。
【0048】
図1に示すように、介在装置100は、処理内容によって第1の装置101と第2の装置102に分けることができ、本実施形態では、主にSIM認証において必要となるパラメータの生成を第2の装置102に担わせる。これは、通信キャリアのAuCの機能に少なくとも部分的に対応する。
【0049】
第2の装置102には、SIM110-1に格納されたIMSI等の識別番号及びK値等の秘密情報が記憶されており、さらにSIM110-1と第2の装置102との間で同期されるSQNが記憶されている。SQNは通常、IMSI等の識別番号を指定したSIM認証リクエストに伴い、SIM及びAuCにおいて同期してインクリメントされる。
【0050】
第1の実施形態において言及した暗号鍵CKの生成は、必ずしもセルラーネットワークに限らないコンピュータネットワークを介したIoT機器110と介在装置100又は第2の装置102との間に通信によって行い得ることから、何らかの形でIMSI等の識別番号を入手した、正当なSIMを持たない機器からの不正なリクエストによって第2の装置102が管理するSQNがインクリメントされ、IoT機器110におけるSQNとずれてしまう事態が考えられる。本実施形態では、このような不正なリクエストによるSQNに対する攻撃を抑制する。
【0051】
図4では、IoT機器110とIoT機器110が有するSIM110-1とを別個の要素として示している。これは、IoT機器110においてプログラムが実行されて行われる各処理と、当該IoT機器110がSIM110-1にアクセスしてSIM110-1の内部にて行われる各処理とを性質の異なるものとして区別することを目的としているが、いずれもIoT機器110上で行われる処理とみることもできることを付言する。IoT機器110を主語とする際、IoT機器110上で動作するSIM認証のためのプログラムを指していると解することもできる。また、
図4においては、第2の装置102を第1の装置101と分離して示しているところ、これも介在装置100上で行われる処理とみることもできることを付言する。また、以下では
図4を参照して説明を行うが、
図4は送受信されるすべてのパラメータを図示しているものではないことも付言する。
【0052】
まず、IoT機器110は、SIM110-1に対し、IMSIを要求する。SIM110-1は、IoT機器110に対し、IMSIの値を返す。IMSIを受け取ったIoT機器110は、第1の装置101に対し、SIM認証を要求する。第1の装置101は、第2の装置102に対し、AUTN、RAND、CK、IK、XRESを含む認証ベクトル(authentication vector)の生成を要求する。
【0053】
この認証ベクトル生成要求は、上述の不正なリクエストを抑制するために、SQNを無効な値に設定し、SQNに基づいて定まるAUTNがSIM認証を失敗させる値となるようにしている。SQNの値を0に設定すれば、SIM110-1に対して一度でもSIM認証が行われた場合、SQNが一致しないこととなる。また、第1の装置101でSQNの無効な値を指定するのではなく、第2の装置102において指定してもよく、より詳細には第2の装置102に記憶された正しいSQNを下回る値を指定するようにしてもよい。また、本実施形態におけるその目的に照らして、認証ベクトル全体を生成せずとも、以後の処理に必要なAUTN、RAND等のみを生成して第1の装置101に返すこともできる。
【0054】
第2の装置102から認証ベクトルを受信した第1の装置101は、AUTN及びRANDをIoT機器110に送信し、IoT機器110は、SIM110-1に対してAUTN及びRANDを渡して鍵計算を要求する。SIM110-1は、SQNが一致しないことからエラー時の処理として、SQNの同期を行うためのResync要求に必要なAUTSを生成してIoT機器110に与える。IoT機器110は、IMSI、RAND及びAUTSを指定して、第1の装置101に対して再度SIM認証を要求する。ここでAUTSは、SIM110-1に格納された秘密情報を知らなければ計算ができないパラメータである。
【0055】
第1の装置101は、AUTS及びRANDが指定されていることに応じて、第2の装置102に対し、再同期のためのResync要求を行う。第2の装置102は、AUTSの中にマスクされた形で含まれているSIM110-1のSQNを指定して認証ベクトルを生成し、第1の装置101に返す。第1の装置101は、受け取った暗号鍵CKを特定するための鍵Idを生成し、両者を関連づけて記憶する。また、XRESもこれらに関連づけて記憶する。
【0056】
第1の装置101は、鍵Id、AUTN及びRANDをIoT機器110に送信し、IoT機器110は、SIM110-1に対し、AUTN及びRANDを用いた鍵計算を依頼する。SIM110-1では、受け取ったAUTN及びRANDに加えて自らの記憶媒体又は記憶装置に記憶された秘密情報Kを用いてCK及びRESを計算して、IoT機器110に渡す。
【0057】
IoT機器110は、鍵Id及びRESを第1の装置101に送信して、生成されたCKの検証を要求する。第1の装置101では、鍵Idに基づいてXRESを取得して受信したRESと比較することによって検証を行い、一致する場合には鍵Idにより特定されるCKに検証済みのフラグを立てる。そして、第1の装置101は、IoT機器110に対してSIM認証の成功応答を必要に応じてCKの有効期限とともに送信し、IoT機器110では、鍵Idに関連づけてCKを記憶する。この際、IMSIとも関連づけてCKを記憶してもよい。
【0058】
本実施形態では、CK又はこれに対応する鍵を以後の処理でIoT機器110がさまざまなサービスを利用するためのマスターキーとして利用可能とすることによって、SIM認証要求を頻発させることなく、SIM認証により合意される鍵の応用を可能としている。
【0059】
加えて、本実施形態にかかるSIM認証プロセスでは、正当なSIMを有しない機器からの不正なSIM認証リクエストを抑止するために、敢えて鍵計算の前提となるSQN同期を失敗させて、正当なSIMしかアクセスができない秘密情報を必要とするResyncをトリガする。そして、Resyncが成功することを条件に以後のプロセスを実行させることで、上述の不正な攻撃を無効化可能である。
【符号の説明】
【0060】
100 介在装置
101 第1の装置
101-1 通信部
101-2 処理部
101-3 記憶部
102 第2の装置
110 IoT機器
110-1 SIM
120 サービスプロバイダ装置