【実施例1】
【0023】
図1は、本実施形態の実施例1に係る通信端末装置10の概略構成図である。
図1において、通信端末装置(以下、通信端末と称する)10は、第1情報処理部11と第2情報処理部12とROM(Read Only Memory:リードオンリメモリ)13とフラッシュメモリ14と通信モジュール15とDRAM(Dynamic Random Access Memory:ダイナミックランダムアクセスメモリ)16とSIMカード30を有する。通信端末10は、SIMカード30を使用して該SIMカード30に該当する無線通信ネットワークを利用する。
【0024】
第1情報処理部11と第2情報処理部12とは、それぞれに情報処理を行う。第1情報処理部11の情報処理の動作空間は、第2情報処理部12の情報処理の動作空間と分離される。第1情報処理部11は耐タンパー性を有するように構成される。第2情報処理部12は耐タンパー性を有さない。第1情報処理部11と第2情報処理部12とは、それぞれに異なるハードウェア資源(CPU(Central Processing Unit)、メモリ等)で構成されてもよく、又は、同一のハードウェア資源で構成されるものであって該ハードウェア資源を時間的に分割して使用したり(例えばCPUを時間的に分けて使用したり)空間的に分割して使用したり(例えばメモリ領域を分けて使用したり)するものであってもよい。
【0025】
本実施形態では、第2情報処理部12は耐タンパー性を有さない。このため、第2情報処理部12が保持するデータは、外部からの攻撃等により漏洩したり改ざんされたりする危険性がある。一方、第1情報処理部11は耐タンパー性を有するので、第1情報処理部11が保持するデータは改ざんや漏洩が防止される。
【0026】
ROM13は読み出し専用の不揮発性メモリであり、ROM13にはデータの書き込みができない。したがって、ROM13に書き込まれているデータの改ざんはできない。ROM13に対しては、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされないように構成される。このため、第2情報処理部12はROM13にアクセスできないので、第2情報処理部12からのアクセスによってROM13のデータが漏洩する危険性はない。
【0027】
フラッシュメモリ14は書き込みと読み出しが可能な不揮発性メモリである。フラッシュメモリ14には、第1情報処理部11と第2情報処理部12の両方から、それぞれにアクセス可能である。このため、フラッシュメモリ14に保持されるデータは、第2情報処理部12からのアクセスによって漏洩したり改ざんされたりする危険性がある。
【0028】
DRAM16は書き込みと読み出しが可能な揮発性メモリである。DRAM16には、第1情報処理部11と第2情報処理部12の両方から、それぞれにアクセス可能である。第1情報処理部11と第2情報処理部12とは、例えばDRAM16を介して、データの交換を行うことができる。
【0029】
図2は、
図1に示されるDRAM16のメモリ領域の構成例を示す図である。DRAM16のメモリ領域には、
図2に例示されるように、セキュア領域161が設けられる。セキュア領域161に対しては、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされないように構成される。このため、第2情報処理部12はセキュア領域161にアクセスできないので、第2情報処理部12からのアクセスによってセキュア領域161のデータが漏洩したり改ざんされたりする危険性はない。一方、DRAM16のメモリ領域のうちセキュア領域161以外の非セキュア領域162には、第1情報処理部11と第2情報処理部12の両方から、それぞれにアクセス可能である。このため、非セキュア領域162に保持されるデータは、第2情報処理部12からのアクセスによって漏洩したり改ざんされたりする危険性がある。
【0030】
セキュア領域161は、例えば第2情報処理部12からアクセス可能なDRAM16のアドレス空間をハードウェア的に非セキュア領域162のアドレス空間に限定しておくことにより、実現される。
【0031】
説明を
図1に戻す。通信モジュール15は、無線通信ネットワークに接続して通信を行う。SIMカード30は、通信事業者の無線通信ネットワーク(例えば携帯電話網など)の加入者に対して発行されたものである。SIMカード30は、通信端末10に対して着脱が可能である。通信モジュール15は、通信端末10に装着されたSIMカード30を使用することにより、該SIMカード30に該当する無線通信ネットワークに接続し通信することができる。
【0032】
図3は、本実施形態の実施例1に係るSIMカード30の概略構成図である。
図3において、SIMカード30は、CPU31とROM32とフラッシュメモリ33とDRAM34と入出力インタフェース35を有する。各部はデータを交換できるように構成されている。CPU31はROM32やフラッシュメモリ33に記憶されたプログラムを実行する。ROM32、フラッシュメモリ33、DRAM34は、それぞれデータを記憶する。
【0033】
入出力インタフェース35は、SIMカード30が装着された通信端末10の通信モジュール15との間でデータの入出力を行う。SIMカード30は、通信モジュール15を介して、第2情報処理部12との間でデータの交換を行う。また、SIMカード30は、通信モジュール15および第2情報処理部12を介して、第1情報処理部11との間でデータの交換を行う。
【0034】
SIMカード30のメモリの中には、外部から書き換えるためには通信事業者の許可が必要なセキュア領域が在る。したがって、そのセキュア領域は耐タンパー性を有する。本実施例1では、フラッシュメモリ33のメモリ領域に対して、セキュア領域を設ける。そのフラッシュメモリ33のセキュア領域には、例えば、セキュアブート測定データを保存したり、SIMカード30に該当する無線通信ネットワーク経由で通信事業者装置から通信端末10にダウンロードされたセキュアなデータを保存したりすることが挙げられる。
【0035】
図4は、本実施形態の実施例1に係る通信端末10における機能の構成を示す図である。
図4において、ROM13はマスタ鍵Kmを記憶する。マスタ鍵Kmは、通信端末10の製造時または工場出荷時などに安全にROM13に書き込まれる。ROM13には、第1情報処理部11からアクセスできるが、第2情報処理部12からはアクセスできないので、マスタ鍵Kmが読み出されるのは第1情報処理部11からであることが保証される。
【0036】
フラッシュメモリ14は、通信端末10の秘密鍵Ksがマスタ鍵Kmで暗号化された暗号化秘密鍵Km(Ks)を記憶する。暗号化秘密鍵Km(Ks)は、通信端末10の製造時、工場出荷時または販売時にフラッシュメモリ14に書き込まれたり、通信端末10に装着されたSIMカード30に該当する無線通信ネットワーク経由で通信事業者装置から通信端末10にダウンロードされてフラッシュメモリ14に書き込まれたりする。
【0037】
フラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)を復号するためには、ROM13に格納されているマスタ鍵Kmが必要である。そのマスタ鍵Kmに対して、第1情報処理部11はアクセスできるが、第2情報処理部12はアクセスできないので、通信端末10において、フラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)を復号できるのは第1情報処理部11であって、第2情報処理部12はフラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)を復号できない。これにより、フラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)が通信端末10において復号された場合、該復号を行ったのは、耐タンパー性を有する第1情報処理部11であることが確かである。
【0038】
第1情報処理部11は、秘密鍵管理部111と署名生成部112と共通鍵管理部113を有する。第1情報処理部11は、秘密鍵管理部111、署名生成部112および共通鍵管理部113の各機能を実現するためのプログラムをCPUが実行することによりその機能を実現させる。
【0039】
秘密鍵管理部111は、マスタ鍵Kmを使用した暗号化秘密鍵Km(Ks)の復号と、復号された秘密鍵Ksの管理とを行う。秘密鍵管理部111は、復号された秘密鍵Ksを、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存する。秘密鍵Ksを保存する揮発性メモリ領域として、第1情報処理部11内の揮発性メモリ領域やDRAM16のセキュア領域161が挙げられる。また、秘密鍵Ksは、揮発性メモリ領域に格納されるので、通信端末10の電源オフにより消去される。
【0040】
署名生成部112は、SIMカード30から受信された乱数nonceに対して秘密鍵Ksを使用した電子署名を行う。この電子署名では、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存される秘密鍵Ksを使用して、乱数nonceを暗号化することにより、暗号化乱数Ks(nonce)を生成する。暗号化乱数Ks(nonce)は、第1情報処理部11からSIMカード30へ送信される。
【0041】
共通鍵管理部113は、SIMカード30から受信された暗号化共通鍵Kp(Kc)の復号と、復号された共通鍵Kcの管理とを行う。暗号化共通鍵Kp(Kc)は、通信端末10の公開鍵Kpを使用して暗号化されている。暗号化共通鍵Kp(Kc)の復号には、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存される秘密鍵Ksが使用される。第1情報処理部11は、復号された共通鍵Kcを、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存する。共通鍵Kcを保存する揮発性メモリ領域として、第1情報処理部11内の揮発性メモリ領域やDRAM16のセキュア領域161が挙げられる。また、共通鍵Kcは、揮発性メモリ領域に格納されるので、通信端末10の電源オフにより消去される。
【0042】
SIMカード30は、端末認証部310と端末公開鍵リスト記憶部320と共通鍵生成管理部330と共通鍵暗号化部340を有する。端末認証部310は、乱数生成部311と署名検証部312を有する。端末認証部310は本発明に係る端末認証装置に相当する。共通鍵生成管理部330および共通鍵暗号化部340は、本発明に係る共通鍵生成管理装置に相当する。SIMカード30は、端末認証部310(乱数生成部311、署名検証部312)、共通鍵生成管理部330および共通鍵暗号化部340の各機能を実現するためのプログラムをCPU31が実行することによりその機能を実現させる。
【0043】
乱数生成部311は、乱数nonceを生成する。乱数nonceは、通信端末10の認証にために一時的に使用されるものであり、SIMカード30から第1情報処理部11へ送信される。署名検証部312は、第1情報処理部11から受信された暗号化乱数Ks(nonce)に対する電子署名の検証を行う。この電子署名の検証では、通信端末10の公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号し、この復号の結果が乱数生成部311で生成された乱数nonceに一致するかを確かめる。電子署名の検証が成功した場合には、通信端末10の認証が成功となる。
【0044】
端末公開鍵リスト記憶部320は、端末公開鍵リストを記憶する。端末公開鍵リストは、通信端末10のメーカ毎や機種毎に生成された公開鍵の一覧である。端末公開鍵リスト記憶部320は、フラッシュメモリ33のセキュア領域に設けられる。したがって、端末公開鍵リストは、通信事業者の許可がない限り、外部から書き換えられない。一方、通信事業者の許可があれば、例えばSIMカード30に該当する無線通信ネットワーク経由で通信事業者装置から通信端末10にダウンロードされた更新データによって端末公開鍵リストを書き換えることは可能である。端末公開鍵リストは、SIMカード30の製造時、工場出荷時または販売時にフラッシュメモリ33のセキュア領域に書き込まれたり、SIMカード30に該当する無線通信ネットワーク経由で通信事業者装置から通信端末10にダウンロードされてフラッシュメモリ33のセキュア領域に書き込まれたりする。
【0045】
共通鍵生成管理部330は、共通鍵Kcとして使用される乱数の生成と、共通鍵Kcの管理とを行う。共通鍵暗号化部340は、共通鍵生成管理部330により生成された共通鍵Kcを暗号化する。この共通鍵Kcの暗号化では、通信端末10の公開鍵Kpを使用して共通鍵Kcを暗号化し、暗号化共通鍵Kp(Kc)を生成する。暗号化共通鍵Kp(Kc)は、SIMカード30から第1情報処理部11へ送信される。
【0046】
次に
図5を参照して、本実施形態の実施例1に係る通信端末関連付けの動作を説明する。
図5は、本実施形態の実施例1に係る通信端末関連付け処理のシーケンスチャートである。SIMカード30が装着された通信端末10は、起動時に、
図5の処理を開始する。
【0047】
(ステップS11) 第1情報処理部11は、ROM13からマスタ鍵Kmを読み出し、フラッシュメモリ14から暗号化秘密鍵Km(Ks)を読み出す。次いで、第1情報処理部11は、マスタ鍵Kmを使用して暗号化秘密鍵Km(Ks)を復号する。第1情報処理部11は、復号された秘密鍵Ksを安全な揮発性メモリ領域に格納する。この安全な揮発性メモリ領域として、第1情報処理部11内の揮発性メモリ領域やDRAM16のセキュア領域161が挙げられる。これにより、秘密鍵Ksは安全に保存される。また、秘密鍵Ksは、揮発性メモリ領域に格納されるので、通信端末10の電源オフにより消去される。
【0048】
(ステップS12) SIMカード30は、乱数nonceを生成する。次いで、SIMカード30は、乱数nonceを第1情報処理部11へ送信する。また、SIMカード30は、当該乱数nonceを一時的なメモリ領域に格納する。
【0049】
(ステップS13) 第1情報処理部11は、SIMカード30から受信された乱数nonceに対して、秘密鍵Ksを使用した電子署名を行う。この電子署名では、ステップS11で安全な揮発性メモリ領域に格納した秘密鍵Ksを使用して乱数nonceを暗号化することにより、暗号化乱数Ks(nonce)を生成する。次いで、第1情報処理部11は、暗号化乱数Ks(nonce)をSIMカード30へ送信する。
【0050】
(ステップS14) SIMカード30は、第1情報処理部11から受信された暗号化乱数Ks(nonce)に対する電子署名の検証を行う。この電子署名の検証方法として例えば以下の二通りの方法1,2が挙げられる。
【0051】
(電子署名の検証方法1)
SIMカード30において、国際移動体装置識別番号(International Mobile Equipment Identity:IMEI)を検索キーにして、端末公開鍵リストから検索キーに該当する公開鍵Kpを検索できるように、端末公開鍵リスト検索機能を設けておく。そして、ステップS13において、第1情報処理部11は、暗号化乱数Ks(nonce)と自通信端末10のIMEIをSIMカード30へ送信する。IMEIの送信は平文のままでよい。次いで、ステップS14において、SIMカード30は、第1情報処理部11から受信されたIMEIに該当する公開鍵Kpを、端末公開鍵リストから取得する。そして、SIMカード30は、該取得した公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号する。次いで、この復号の結果が、ステップS12で一時的なメモリ領域に格納された乱数nonceに一致するかを判定する。この判定の結果、両者が一致した場合には電子署名の検証が成功し、両者が不一致した場合には電子署名の検証が失敗する。
【0052】
(電子署名の検証方法2)
SIMカード30は、端末公開鍵リストに含まれる公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号する。該復号に使用される公開鍵Kpは、所定の順番で、又は、無作為に、端末公開鍵リストから選択される。次いで、その復号の結果が、ステップS12で一時的なメモリ領域に格納された乱数nonceに一致するかを判定する。この判定の結果、両者が一致した場合には電子署名の検証が成功する。一方、両者が不一致した場合には、端末公開鍵リストに含まれる次の公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号する。この公開鍵Kpの選択と復号を繰り返し、端末公開鍵リストに含まれる全ての公開鍵Kpについて、各復号の結果が、ステップS12で一時的なメモリ領域に格納された乱数nonceに不一致した場合には、電子署名の検証が失敗する。
【0053】
暗号化乱数Ks(nonce)に対する電子署名の検証が成功した場合には、通信端末10の認証が成功となり、ステップS15に進む。一方、電子署名の検証が失敗した場合には、通信端末10の認証が失敗となり、
図5の処理を終了する。通信端末10の認証が失敗した場合には、SIMカード30と通信端末10との関連付けが失敗となり、当該SIMカード30と当該通信端末10の組み合わせでは利用不可能とする。
【0054】
(ステップS15) SIMカード30は、共通鍵Kcとして使用される乱数を生成する。次いで、SIMカード30は、共通鍵Kcを安全な領域に格納する。この安全な領域として、フラッシュメモリ33のセキュア領域が挙げられる。
【0055】
(ステップS16) SIMカード30は、共通鍵Kcを暗号化する。この共通鍵Kcの暗号化では、フラッシュメモリ33のセキュア領域に格納されている端末公開鍵リストから、通信端末10の公開鍵Kpを読み出す。次いで、通信端末10の公開鍵Kpを使用して共通鍵Kcを暗号化し、暗号化共通鍵Kp(Kc)を生成する。次いで、SIMカード30は、暗号化共通鍵Kp(Kc)を第1情報処理部11へ送信する。
【0056】
(ステップS17) 第1情報処理部11は、SIMカード30から受信された暗号化共通鍵Kp(Kc)を復号する。この暗号化共通鍵Kp(Kc)の復号では、ステップS11で安全な揮発性メモリ領域に格納した秘密鍵Ksを使用して暗号化共通鍵Kp(Kc)を復号する。第1情報処理部11は、復号された共通鍵Kcを安全な揮発性メモリ領域に格納する。この安全な揮発性メモリ領域として、第1情報処理部11内の揮発性メモリ領域やDRAM16のセキュア領域161が挙げられる。これにより、共通鍵Kcは安全に保存される。また、共通鍵Kcは、揮発性メモリ領域に格納されるので、通信端末10の電源オフにより消去される。
【0057】
安全な揮発性メモリ領域に格納された共通鍵Kcは、例えば、第1情報処理部11がセキュアブートを行った時に測定された結果であるセキュアブート測定データの暗号化に使用される。該共通鍵Kcで暗号化された暗号化セキュアブート測定データは、第1情報処理部11からSIMカード30へ送信され、SIMカード30上で安全に保存される。SIMカード30に保存された暗号化セキュアブート測定データは、SIMカード30の安全な領域に格納されている共通鍵Kcを使用して復号することが可能である。
【0058】
上述した実施例1によれば、通信端末10の秘密鍵Ksと公開鍵Kpを使用する公開鍵暗号を使用して、SIMカード30に関連付ける通信端末10の認証を行う。その秘密鍵Ksは、マスタ鍵Kmを用いて暗号化された暗号化秘密鍵Km(Ks)として、通信端末10のフラッシュメモリ14に保存される。そして、マスタ鍵Kmを用いた暗号化秘密鍵Km(Ks)の復号は、耐タンパー性を有する第1情報処理部11によって行われる。
【0059】
ここで、マスタ鍵Kmは、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされないROM13に保存されている。よって、通信端末10において、フラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)の復号を行ったのは、耐タンパー性を有する第1情報処理部11であることが確かである。これにより、耐タンパー性を有する第1情報処理部11によって行われたSIMカード30との関連付けの認証は信頼できるので、SIMカード30と通信端末10との1対1の関連付けの信頼性が向上するという効果が得られる。
【0060】
また、復号された秘密鍵Ksは、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存される。一方、通信端末10の公開鍵Kpは、SIMカード30上で安全に保存され、通信事業者の許可がない限り外部から書き換えられない。これにより、SIMカード30に関連付ける通信端末10の認証に使用された、通信端末10の秘密鍵Ksと公開鍵Kpの安全性が保障される。
【0061】
また、SIMカード30に関連付ける通信端末10の認証が成功した場合には、認証が成功したSIMカード30と通信端末10の間で、認証に使用された通信端末10の秘密鍵Ksと公開鍵Kpを使用して共通鍵が安全に共有される。一方、その認証が失敗した場合には、SIMカード30と通信端末10の間で共通鍵は共有されない。これにより、SIMカード30の共通鍵を有する通信端末10の信頼性が保証される。
【実施例2】
【0062】
図6は、本実施形態の実施例2に係る通信端末関連付けシステムの概略構成図である。この
図6において、実施例1に係る
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。実施例2では、サーバ装置(以下、サーバと称する)50が、SIMカード100に関連付ける通信端末10の認証を行う。通信端末10は、実施例1と同様であるが、通信端末10に装着されるSIMカード100は従来のものである。通信端末10は、SIMカード100を使用して該SIMカード100に該当する無線通信ネットワークを利用する。通信端末10の第1情報処理部11は、サーバ50との間で、SIMカード100との関連付けに係る認証を行う。
【0063】
通信端末10とサーバ50とは、無線通信ネットワーク60を介してデータの交換を行う。無線通信ネットワーク60は、通信端末10に装着されたSIMカード100に該当するものである。通信モジュール15は、通信端末10に装着されたSIMカード100を使用することにより、無線通信ネットワーク60に接続して通信する。
【0064】
図7は、本実施形態の実施例2に係るサーバ50の概略構成図である。
図7において、サーバ50は、情報処理部51と記憶部52と通信部53を有する。各部はデータを交換できるように構成されている。情報処理部51は情報処理を行う。記憶部52はデータを記憶する。通信部53は、無線通信ネットワーク60を介して通信端末10と通信する。
【0065】
サーバ50は、無線通信ネットワーク60を介した通信により、通信端末10の第2情報処理部12との間でデータの交換を行う。また、サーバ50は、無線通信ネットワーク60を介した通信により、第2情報処理部12を介して第1情報処理部11との間でデータの交換を行う。
【0066】
図8は、本実施形態の実施例2に係る通信端末関連付けシステムにおける機能の構成を示す図である。この
図8において、実施例1に係る
図4の各部に対応する部分には同一の符号を付けている。
図8において、通信端末10に係る第1情報処理部11、ROM13およびフラッシュメモリ14に関する構成は、実施例1と同様である。
【0067】
図8において、サーバ50は、実施例1に係る
図4のSIMカード30と同様の構成を有する。サーバ50は、端末認証部310(乱数生成部311、署名検証部312)、共通鍵生成管理部330および共通鍵暗号化部340の各機能を実現するためのプログラムを情報処理部51のCPUが実行することによりその機能を実現させる。
【0068】
乱数生成部311は、乱数nonceを生成する。乱数nonceは、通信端末10の認証にために一時的に使用されるものであり、サーバ50から第1情報処理部11へ送信される。署名検証部312は、第1情報処理部11から受信された暗号化乱数Ks(nonce)に対する電子署名の検証を行う。この電子署名の検証では、通信端末10の公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号し、この復号の結果が乱数生成部311で生成された乱数nonceに一致するかを確かめる。電子署名の検証が成功した場合には、通信端末10の認証が成功となる。
【0069】
端末公開鍵リスト記憶部320は、端末公開鍵リストを記憶する。端末公開鍵リスト記憶部320は、サーバ50の記憶部52に設けられる。サーバ50において、端末公開鍵リストは、読み出し専用のファイルとして記憶部52に保存される。これにより、端末公開鍵リストは書き換えが禁止されるので、端末公開鍵リストの改ざんが防止される。
【0070】
共通鍵生成管理部330は、共通鍵Kcとして使用される乱数の生成と、共通鍵Kcの管理とを行う。共通鍵暗号化部340は、共通鍵生成管理部330により生成された共通鍵Kcを暗号化する。この共通鍵Kcの暗号化では、通信端末10の公開鍵Kpを使用して共通鍵Kcを暗号化し、暗号化共通鍵Kp(Kc)を生成する。暗号化共通鍵Kp(Kc)は、サーバ50から第1情報処理部11へ送信される。
【0071】
図8において、サーバ50は、実施例1に係る
図4のSIMカード30と同様に、通信端末10の第1情報処理部11との間で、通信端末10に装着されたSIMカード100に関連付ける認証を行う。そして、サーバ50は、その認証が成功した場合には、認証が成功した通信端末10との間で、認証に使用された通信端末10の秘密鍵Ksと公開鍵Kpを使用して共通鍵を共有する。この共有される共通鍵は、認証が成功した通信端末10に装着されているSIMカード100に固有のものとしてサーバ50内に安全に保存される。一方、その認証が失敗した場合には、通信端末10とサーバ50の間で共通鍵は共有されない。
【0072】
図9は、本実施形態の実施例2に係る通信端末関連付け処理のシーケンスチャートである。この
図9において、実施例1に係る
図5の各ステップに対応する部分には同一の符号を付けている。
【0073】
SIMカード100が装着された通信端末10は、起動時に、
図9の処理を開始する。また、通信端末10からは、起動時に、サーバ50に対して端末起動通知メッセージが送信される。サーバ50は、その端末起動通知メッセージを受信すると、
図9の処理を開始する。
【0074】
(ステップS11) ステップS11の第1情報処理部11による秘密鍵復号処理は実施例1と同じである。
【0075】
(ステップS12) サーバ50は、乱数nonceを生成する。次いで、サーバ50は、乱数nonceを第1情報処理部11へ送信する。また、サーバ50は、当該乱数nonceを一時的なメモリ領域に格納する。
【0076】
(ステップS13) 第1情報処理部11は、サーバ50から受信された乱数nonceに対して、秘密鍵Ksを使用した電子署名を行う。この電子署名では、ステップS11で安全な揮発性メモリ領域に格納した秘密鍵Ksを使用して乱数nonceを暗号化することにより、暗号化乱数Ks(nonce)を生成する。次いで、第1情報処理部11は、暗号化乱数Ks(nonce)をサーバ50へ送信する。
【0077】
(ステップS14) サーバ50は、第1情報処理部11から受信された暗号化乱数Ks(nonce)に対する電子署名の検証を行う。この電子署名の検証では、記憶部52に格納されている端末公開鍵リストから、通信端末10の公開鍵Kpを読み出す。次いで、通信端末10の公開鍵Kpを使用して暗号化乱数Ks(nonce)を復号する。次いで、この復号の結果が、ステップS12で一時的なメモリ領域に格納された乱数nonceに一致するかを判定する。この判定の結果、両者が一致した場合には電子署名の検証が成功し、両者が不一致した場合には電子署名の検証が失敗する。電子署名の検証が成功した場合には、通信端末10の認証が成功となり、ステップS15に進む。一方、電子署名の検証が失敗した場合には、通信端末10の認証が失敗となり、
図5の処理を終了する。通信端末10の認証が失敗した場合には、SIMカード100と通信端末10との関連付けが失敗となり、当該SIMカード100と当該通信端末10の組み合わせでは利用不可能とする。
【0078】
(ステップS15) サーバ50は、共通鍵Kcとして使用される乱数を生成する。次いで、サーバ50は、共通鍵Kcを安全な領域に格納する。この共通鍵Kcは、認証が成功した通信端末10に装着されているSIMカード100に固有のものとして保存される。
【0079】
(ステップS16) サーバ50は、共通鍵Kcを暗号化する。この共通鍵Kcの暗号化では、記憶部52に格納されている端末公開鍵リストから、通信端末10の公開鍵Kpを読み出す。次いで、通信端末10の公開鍵Kpを使用して共通鍵Kcを暗号化し、暗号化共通鍵Kp(Kc)を生成する。次いで、サーバ50は、暗号化共通鍵Kp(Kc)を第1情報処理部11へ送信する。
【0080】
(ステップS17) 第1情報処理部11は、サーバ50から受信された暗号化共通鍵Kp(Kc)を復号する。この暗号化共通鍵Kp(Kc)の復号では、ステップS11で安全な揮発性メモリ領域に格納した秘密鍵Ksを使用して暗号化共通鍵Kp(Kc)を復号する。第1情報処理部11は、復号された共通鍵Kcを安全な揮発性メモリ領域に格納する。この安全な揮発性メモリ領域として、第1情報処理部11内の揮発性メモリ領域やDRAM16のセキュア領域161が挙げられる。これにより、共通鍵Kcは安全に保存される。また、共通鍵Kcは、揮発性メモリ領域に格納されるので、通信端末10の電源オフにより消去される。
【0081】
図9の処理においては、サーバ50は、実施例1に係る
図5のSIMカード30と同様に、通信端末10の第1情報処理部11との間で、端末認証に係る処理(ステップS12、S14)を行う。次いで、サーバ50は、その認証が成功した場合には、通信端末10の第1情報処理部11との間で、共通鍵を共有する処理(ステップS15、S16)を行う。一方、その認証が失敗した場合には、通信端末10とサーバ50の間で共通鍵は共有されない。
【0082】
本実施例2によれば、上述した実施例1と同様に、SIMカード100に関連付ける通信端末10の認証の際に、通信端末10において、フラッシュメモリ14に格納されている暗号化秘密鍵Km(Ks)の復号を行ったのは、耐タンパー性を有する第1情報処理部11であることが確かとなる。これにより、耐タンパー性を有する第1情報処理部11によって行われたSIMカード100との関連付けの認証は信頼できるので、SIMカード100と通信端末10との1対1の関連付けの信頼性が向上するという効果が得られる。例えば、従来のSIMカード100と通信端末10との関連付けのために、通信端末10がSIMカード100から該SIMカード100の固有値であるICCID(IC Card IDentifier)やIMSI(International Mobile Subscriber Identity)を読み取って保持する場合に、本実施例2に係る認証が成功した通信端末10は耐タンパー性を有する第1情報処理部11を有することが確かであるので、該第1情報処理部11がSIMカード100からICCIDやIMSIを読み取って保持することにより、SIMカード100と通信端末10との1対1の関連付けが確かなものとなる。
【0083】
また、復号された秘密鍵Ksは、第1情報処理部11からアクセスされ且つ第2情報処理部12からアクセスされない揮発性メモリ領域に保存される。一方、通信端末10の公開鍵Kpは、サーバ50上で安全に保存される。これにより、SIMカード100に関連付ける通信端末10の認証に使用された、通信端末10の秘密鍵Ksと公開鍵Kpの安全性が保障される。
【0084】
また、SIMカード100に関連付ける通信端末10の認証が成功した場合には、認証が成功した通信端末10とサーバ50の間で、認証に使用された通信端末10の秘密鍵Ksと公開鍵Kpを使用して共通鍵が安全に共有される。一方、その認証が失敗した場合には、通信端末10とサーバ50の間で共通鍵は共有されない。これにより、SIMカード100の共通鍵を有する通信端末10の信頼性が保証される。
【0085】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0086】
例えば、上述した実施例1と実施例2を組み合わせてもよい。この実施例1と実施例2を組み合わせた例を以下に説明する。
【0087】
通信端末10は、起動時に、自己に装着されているSIMカードが実施例1に係るSIMカード30であるか、それとも従来のSIMカード100であるかを判別する。そして、この判別の結果、通信端末10は、自己に装着されているSIMカードが実施例1に係るSIMカード30である場合には実施例1に係る
図5の処理を開始する。これにより、SIMカード30と通信端末10の間で実施例1に係る
図5の処理が行われる。
【0088】
一方、通信端末10は、自己に装着されているSIMカードが従来のSIMカード100である場合には、サーバ50に対して端末起動通知メッセージを送信し、実施例2に係る
図9の処理を開始する。これにより、サーバ50と通信端末10の間で実施例2に係る
図9の処理が行われる。
【0089】
この実施例1と実施例2を組み合わせた例によれば、通信端末10に関連付けるSIMカードは、実施例1に係るSIMカード30または従来のSIMカード100のいずれであってもよく、通信端末10との1対1の関連付けの信頼性を向上させる効果が得られる。
【0090】
また、上述した通信端末10、SIMカード30、サーバ50を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
【0091】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0092】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。