(57)【要約】【課題】  ユーザが要求する処理の処理時間を短縮させる。【解決手段】  携帯電話機は、ＵＩＭに対して定期的にＳＴＡＴＵＳコマンドを発行する（ステップＳ１１）。ＳＴＡＴＵＳコマンドを受信したＵＩＭは、ＳＴＡＴＵＳコマンドに対応する処理を開始するとともに（ステップＳ１２）、鍵候補生成処理に含まれる複数の処理工程のうちの一処理工程を実行する（ステップＳ１３）。ＵＩＭは、ＳＴＡＴＵＳコマンドに対する応答を携帯電話機に送信する（ステップＳ１４）。これにより、鍵対生成コマンドが発行された場合には、鍵候補生成処理を省略することができる。【選択図】  図４
2006228146.tif 000002
【特許請求の範囲】
【請求項１】
移動通信端末に装着可能なＩＣカードであって、
前記移動通信端末から定期的に発行される第１のコマンドを受信するコマンド受信手段と、
前記コマンド受信手段により前記第１のコマンドが受信された場合に、前記第１のコマンドとは異なる第２のコマンドに対応する処理を実行させる第２のコマンド処理実行手段と、を備え、
前記第２のコマンド処理実行手段は、前記コマンド受信手段により前記第１のコマンドが受信されてから、当該第１のコマンドに対応する処理の実行結果を前記移動通信端末に応答するまでの期間である応答期間内に、前記第２のコマンドに対応する処理を実行することを特徴とするＩＣカード。
【請求項２】
前記第２のコマンド処理実行手段は、複数の前記応答期間を利用して前記第２のコマンドに対応する処理を実行することを特徴とする請求項１記載のＩＣカード。
【請求項３】
前記第２のコマンドに対応する処理は、複数の処理工程を有し、
前記第２のコマンド処理実行手段は、前記複数の処理工程のうち、一の前記応答期間内に実行可能な一または複数の処理工程を実行することによって前記第２のコマンドに対応する処理を実行することを特徴とする請求項２記載のＩＣカード。
【請求項４】
前記第２の処理は、公開鍵および秘密鍵に割り当てられる鍵候補を生成するための処理であることを特徴とする請求項１〜３のいずれか１項に記載のＩＣカード。
【請求項５】
前記第２のコマンド処理実行手段は、前記鍵候補の残数に応じて前記第２のコマンドに対応する処理を実行するか否かを決定することを特徴とする請求項４記載のＩＣカード。
【請求項６】
前記第１のコマンドは、ＩＣカードが外されたことを検出するためのコマンドであることを特徴とする請求項１〜５のいずれか１項に記載のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動通信端末に装着可能なＩＣカードに関する。
【背景技術】
【０００２】
近年、ＩＴ化が急速に進み、パーソナルコンピュータや携帯電話機と公衆データ通信網（例えばインターネット）等を用いたオンライン・リアルタイム処理による電子商取引が盛んに行われるようになった。このような電子商取引においては、個人情報や決済情報などの電子データのやり取りが公衆データ通信網等を介して行われるため、高度なセキュリティが要求される。ここで、電子データをやり取りする際に、電子データの作成者を証明し、電子データが作成者以外により改ざんされていないことを証明するための技術として、電子署名がある。この電子署名は、例えば、公開鍵と秘密鍵とが鍵対として用いられる公開鍵暗号方式を利用して実現される。このような公開鍵暗号方式を利用した電子署名は、携帯電話機において電子データをやり取りする際にも用いられている。携帯電話機に装着されるＵＩＭ（User Identity Module）等のＩＣカードには、電子署名に用いられる鍵対について、一般にＩＣカード生産時に予め一対または複数対分格納するか、ＩＣカード内部で鍵対の生成を可能とする実装であるかのどちらかとなっている。なお、携帯電話機用ＩＣカードに対する公開鍵暗号方式の応用に関する技術は、例えば、特許文献１等に開示されている。
【特許文献１】特開２００２−２４４５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＵＩＭで保持している鍵対は、ＵＩＭ内部のメモリエリアサイズにより格納する鍵対数に限りがあるため、ＵＩＭ内部で鍵対を生成する方式と、ＵＩＭ内部では鍵対を生成しない方式に分けることができる。ＵＩＭ内部では鍵対を生成しない方式、すなわちＵＩＭ生産時にＵＩＭに鍵対を格納する方式では、格納している鍵対を全て使用した場合、当該ＵＩＭの運用中に新たな鍵対を外部から追加で格納する（使用済みの鍵対を廃棄して新たに鍵対を格納する）か、当該ＵＩＭ自体を廃棄して新たなＵＩＭを使用することとなる。
【０００４】
また、ＵＩＭ内部で鍵対を生成する方式であっても、その都度鍵対を生成する方法、鍵対または鍵対の元となる鍵候補を予め複数作り置きしてＵＩＭ内部で保持しておき、鍵対を生成する時点で鍵対または鍵候補から鍵対を生成して使用する方法が考えられる。一般に鍵対生成には時間を要するが、それは鍵対の元となる鍵候補の生成に一般に数十秒程度の時間を要するためである。
【０００５】
ＵＩＭ内部で鍵対を生成する方式では、ＵＩＭ内部で鍵対を生成している間、ユーザの待ち時間が発生する。携帯電話機は電波を用いて通信回線を確保および保持しているが、鍵対の生成の処理については、ＵＩＭのコマンド処理時間が増大することに起因した回線切断の頻度が高くなり、システムの不安定要因となる可能性がある。
【０００６】
そこで、本発明は、上述した課題を解決するために、ユーザが要求する処理の処理時間を短縮させることができるＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のＩＣカードは、携帯電話機を含む移動通信端末に装着可能なＩＣカードであって、移動通信端末から定期的に発行される第１のコマンドを受信するコマンド受信手段と、コマンド受信手段により第１のコマンドが受信された場合に、第１のコマンドとは異なる第２のコマンドに対応する処理を実行させる第２のコマンド処理実行手段とを備え、上記第２のコマンド処理実行手段は、コマンド受信手段により第１のコマンドが受信されてから、当該第１のコマンドに対応する処理の実行結果を移動通信端末に応答するまでの期間である応答期間内に、第２のコマンドに対応する処理を実行することを特徴とする。
【０００８】
この発明によれば、第２のコマンド処理実行手段を備えることによって、コマンド受信手段により第１のコマンドが受信された場合に、第１のコマンドとは異なる第２のコマンドに対応する処理を、第１のコマンドに対する応答期間内に実行させることができる。したがって、第２のコマンドが投入される以前に、この第２のコマンドに対応する処理を予め実行させておくことができるため、第２のコマンドが投入されたときに実行される処理の処理時間を短縮することができる。
【０００９】
本発明のＩＣカードにおいて、上記第２のコマンド処理実行手段は、複数の第１のコマンドに対する応答期間を利用して第２のコマンドに対応する処理を実行することが好ましい。
【００１０】
このようにすれば、第２のコマンドに対応する処理の処理時間が増大する場合であっても、第１のコマンドに対する複数の応答期間を利用して第２のコマンドに対応する処理を実行させることができ、第２のコマンドの処理時間を短縮することができる。
【００１１】
本発明のＩＣカードにおいて、上記第２のコマンドに対応する処理は、複数の処理工程を有し、上記第２のコマンド処理実行手段は、複数の処理工程のうち、第１のコマンドに対する一の応答期間内に実行可能な一または複数の処理工程を実行することによって第２のコマンドに対応する処理を実行することが好ましい。
【００１２】
このようにすれば、第２のコマンドに対応する処理を複数の処理工程に分割することができ、第１のコマンドに対する複数の応答期間を利用して順次複数の処理工程を実行させていくことができる。
【００１３】
本発明のＩＣカードにおいて、上記第２のコマンドに対する処理は、鍵対の元として割り当てられる鍵候補を生成するための処理であることが好ましい。
【００１４】
このようにすれば、一般に数十秒程度の処理時間を要する鍵候補の生成処理を、第２のコマンドが投入される以前に、予め実行させておくことができる。
【００１５】
本発明のＩＣカードにおいて、上記第２のコマンド処理実行手段は、鍵候補の残数に応じて、第１のコマンドを受信された場合に、第２のコマンドに対応する処理を実行するか否かを決定することが好ましい。
【００１６】
このようにすれば、第１のコマンドを受信して鍵候補の残数が所定の残数以下である場合にのみ第２のコマンドに対応する処理を実行させることができるため、無駄な処理を極力省くことができ、ＩＣカード全体の処理効率をさらに向上させることができる。
【００１７】
本発明のＩＣカードにおいて、上記第１のコマンドは、ＩＣカード（UIM）が移動通信端末のＵＩＭインタフェース部（インタフェースデバイス）から取り外されたことを検出するためのコマンドであることが好ましい。
【００１８】
インタフェースデバイスからＩＣカードが取り外されたことを検出するためのコマンドは、一般に、数秒ごと、あるいは数十秒ごとにインタフェースデバイスから発行されるため、定期的かつ短い間隔で第２のコマンドに対応する処理を実行させることができる。
【発明の効果】
【００１９】
本発明に係るＩＣカードによれば、ユーザが要求する処理の処理時間を短縮させる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係るＩＣコードの実施形態を図面に基づき説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
【００２１】
図１は、携帯電話機１０およびこの携帯電話機１０に差し込み可能なＵＩＭ２０の構成を例示する図である。携帯電話機１０は、自機が在圏する無線エリアをカバーする基地局（不図示）と無線通信を行い、通話サービスあるいはパケット通信サービス等の移動通信サービスを受ける移動通信端末である。ＵＩＭ２０は、携帯電話機１０に差し込まれる接触型ＩＣカードであり、携帯電話機１０のユーザに関する加入者情報が格納されている。また、ＵＩＭ２０には、公開鍵暗号方式における鍵対および鍵候補が格納される。なお、ＵＩＭ２０と携帯電話機１０の連係動作において公開鍵暗号方式を実現する場合には、例えば、公知技術であるＲＳＡ（Rivest Shamir Adleman）暗号技術を採用することができる。このＲＳＡでは、鍵候補として素数（例えば1024ビット長の公開鍵であればこの素数の長さは512ビット長程度でありかつ正の整数である）が用いられている。したがって、本実施形態においても、鍵候補として素数を用いることにする。
【００２２】
図１に示すように、携帯電話機１０は、物理的には、例えば、ＣＰＵ１１、ＲＯＭやＲＡＭ等のメモリ１２、外部と通信するための通信ＩＦ（InterFace）１３、およびＵＩＭ２０とデータのやり取りをするためのＩＦＤ（InterFace Device）１４から構成される。
【００２３】
また、ＵＩＭ２０は、物理的には、例えば、ＣＰＵ２１、ＲＯＭやＲＡＭ等のメモリ２２、ＥＥＰＲＯＭ等の不揮発性メモリ２４、および携帯電話機１０とのデータのやり取りを制御するＩ／Ｏ制御部２３から構成される。ＵＩＭ２０の不揮発性メモリ２４には、公開鍵と秘密鍵に割り当てられる鍵候補を記憶するための鍵候補記憶領域が設けられている。
【００２４】
なお、本実施形態においては、移動通信端末の具体例として携帯電話機を用いて説明するが、移動通信端末の具体例はこれに限らず、例えば、もっぱらデータ通信を行うことを目的としたＰＣＭＣＩＡインタフェースを有しパーソナルコンピュータと接続して使用される移動通信端末、あるいはＩＣカードインタフェースを有する携帯型情報端末（PDA）、パーソナルコンピュータ、ＰＣＭＣＩＡインタフェースを有しパーソナルコンピュータと接続して使用される無線通信機器（これには無線ローカルエリアネットワークに接続するための機能を有する機器も含む）であってもよい。また、本実施形態においては、ＩＣカードの具体例としてＵＩＭを用いて説明するが、ＩＣカードの具体例はこれに限らず、例えば、ＵＳＩＭ、ＳＩＭにも適用することができ、さらに、キャッシュカード、クレジットカード、交通乗車券、行政機関の発行する証明書（住民基本台帳カードや運転免許証も含む）、その他身分を証明する文書（IDカード）等にＩＣチップを埋め込んだＩＣカードであってもよい。
【００２５】
次に、図２を参照してＵＩＭ２０の機能構成について説明する。図２に示すように、ＵＩＭ２０は、コマンド受信部２５（コマンド受信手段）と、コマンド実行部２６（第２のコマンド処理実行手段）と、応答送信部２７とを有する。
【００２６】
コマンド受信部２５は、携帯電話機１０により発行されたコマンドを受信する。携帯電話機１０により発行されるコマンドとしては、例えば、ＳＴＡＴＵＳコマンドや鍵対生成コマンドがある。
【００２７】
ＳＴＡＴＵＳコマンドは、携帯電話機１０からＵＩＭ２０が外れたかどうかを検出するためのコマンドであり、定期的に発行されるコマンドである。このＳＴＡＴＵＳコマンドの発行間隔は、例えば、待ち受け時やパケット通信中は、３０秒ごとに１回発行され、音声通話中は、５秒ごとに１回発行される。
【００２８】
鍵対生成コマンドは、公開鍵と秘密鍵からなる鍵対を生成するためのコマンドである。この鍵対生成コマンドとしては、例えば、“ＧＥＮＥＲＡＴＥ  ＰＵＢＬＩＣ  ＫＥＹ  ＰＡＩＲコマンド”が該当する。
【００２９】
コマンド実行部２６は、携帯電話機１０から受信したコマンドに対応する処理を実行する。コマンド実行部２６は、コマンド受信部２５によってＳＴＡＴＵＳコマンドが受信された場合には、ＳＴＡＴＵＳコマンドに対応する処理を実行するとともに、鍵対生成コマンドに対応する処理を実行する。この鍵対生成コマンドに対応する処理は、コマンド受信部２５によりＳＴＡＴＵＳコマンドが受信されてから、このＳＴＡＴＵＳコマンドに対応する処理の実行結果を携帯電話機１０に応答するまでの期間である応答期間内に実行される。
【００３０】
本実施形態においては、鍵対生成コマンドに対応する処理として、公開鍵と秘密鍵を活性化する際に用いられる鍵候補を生成する鍵候補生成処理を有する場合について説明する。
【００３１】
この鍵候補生成処理は、一般に数十秒程度の処理時間を要するため、ＳＴＡＴＵＳコマンドの応答期間内に全ての処理を実行することができない。したがって、本実施形態においては、鍵候補生成処理に含まれる処理工程を、ＳＴＡＴＵＳコマンドの一応答期間内に処理することが可能な処理工程に分割し、この分割した各処理工程を一応答期間に割り当てることとした。したがって、鍵候補生成処理は、複数の応答期間を利用して順次実行されることになる。すなわち、コマンド実行部２６は、コマンド受信部２５によりＳＴＡＴＵＳコマンドが受信された場合には、鍵候補生成処理に含まれる複数の処理工程のうちの一処理工程を実行することになる。各処理工程において実行された結果は、ＵＩＭ２０のメモリ２２内のＲＡＭや不揮発性メモリ２４に一時的に格納される。
【００３２】
ここで、本実施形態における鍵候補生成処理の概要について説明する。鍵候補生成処理では、いきなり素数を生成するのではなく、いったんＩＣカード内部の乱数生成機能により適切な数を生成し、この乱数が素数であるか否かを判定し、素数であると判定された場合に限りその乱数を鍵候補として不揮発性メモリ２４に記憶させる。なお、乱数が素数でないと判定された場合には、改めて乱数により適当な数を生成して素数判定を行う。
【００３３】
次に、図３を参照して、鍵候補生成処理に含まれる複数の処理工程の内容について具体的に説明する。図３に示すように、まず、一の処理工程として、作業エリアを初期化する工程がある（工程Ｓ１）。また、他の処理工程として、乱数ｐを生成する工程がある（工程Ｓ２）。この乱数ｐは、例えば、５１２ビット長の正の正数として生成される。
【００３４】
また、他の処理工程として、乱数ｐを除算する際の除数ｑを初期化する工程がある（工程Ｓ３）。図３に示す鍵候補生成処理では、除数ｑを徐々に増加（インクリメント）させながら素数判定していく方法を採用している。したがって、この方法により素数判定を行う場合には、最小の除数となる“２”を初期値として初期化するのが好適である。
【００３５】
また、他の処理工程として、乱数ｐを除数ｑで割ったときの余りを算出し、余りが０であるか否かを判定する工程がある（工程Ｓ４）。具体的には、“ｐｍｏｄ ｑ”により余りを算出する。その結果、余りが０である場合（余りが発生しない場合）、すなわち、乱数ｐが除数ｑで割り切れた場合に、乱数ｐが素数ではないことが判明する。この場合には、処理が工程Ｓ２に移行する。
【００３６】
また、他の処理工程として、除数ｑを再設定する工程がある（工程Ｓ５）。この工程Ｓ５は、上記工程Ｓ４において余りが０ではない場合（割り切れない場合）に行われる工程である。除数ｑは、例えば、“ｑ＋１”により再設定される。ただし、除数ｑを再設定する際に、例えば、既に使用した除数ｑの公倍数については、再設定候補から外す等の最適化を図ることによって鍵候補生成処理の処理効率を向上させることができる。
【００３７】
また、他の処理工程として、除数ｑが乱数ｐの半分よりも大きいか否かを判定する工程がある（工程Ｓ６）。この工程Ｓ６も、上記工程Ｓ５と同様に工程Ｓ４において余りが０ではない場合に行われる工程である。除数ｑが乱数ｐの半分よりも大きい場合には、これ以上除数ｑを再設定して増加させたとしても、もはや乱数ｐを割り切ることができないことは明確である。したがって、除数ｑが乱数ｐの半分よりも大きい場合には、この時点で乱数ｐが素数であると判定する。
【００３８】
さらに、他の処理工程として、乱数ｐを鍵候補として不揮発性メモリ２４の鍵候補記憶領域に記憶させる工程がある（工程Ｓ７）。この工程Ｓ７は、上記工程Ｓ６において除数ｑが乱数ｐの半分よりも大きいと判定された場合に行われる工程である。
【００３９】
このように鍵候補生成処理には、上述した７つの処理工程が含まれている。したがって、コマンド実行部２６は、コマンド受信部２５によりＳＴＡＴＵＳコマンドが受信された場合には、鍵候補生成処理に含まれる７つの処理工程のうちの一処理工程のみを実行することになる。これにより、定期的に発行されるＳＴＡＴＵＳコマンドの応答期間を利用して、順次鍵候補生成処理の一部が実行されていくため、鍵候補生成処理により生成された鍵候補を、不揮発性メモリ２４の鍵候補記憶領域に蓄積させていくことができる。したがって、鍵対生成コマンドが投入されたときには、この不揮発性メモリ２４の鍵候補記憶領域に蓄積されている鍵候補を用いて、公開鍵および秘密鍵に割り当てることができる。すなわち、図３に示す鍵候補生成処理を実行しない分、鍵対生成コマンドが投入されたときに実行される処理の処理時間を短縮させることができる。
【００４０】
なお、鍵候補生成処理を複数の処理工程に分割する際の単位は、上述したＳ１〜Ｓ７の各処理工程単位には限られない。ＳＴＡＴＵＳコマンドの応答期間に応じて、適宜、上述したＳ１〜Ｓ７の各処理工程を組み合わせることや、上述したＳ１〜Ｓ７の各処理工程をさらに細分化してもよい。
【００４１】
また、図２に示すコマンド実行部２６は、コマンド受信部２５によって鍵対生成コマンドが受信された場合に、２つの鍵候補を秘密鍵に割り当て、この秘密鍵の積を算出することにより公開鍵を生成する。なお、公開鍵が所定の長さであるかどうかを判定する処理をさらに行うこととしてもよい。
【００４２】
この際、不揮発性メモリ２４の鍵候補記憶領域に記憶されている鍵候補が２未満であるときには、鍵候補生成処理を実行してから、公開鍵および秘密鍵を活性化する処理を行う。一方、不揮発性メモリ２４の鍵候補記憶領域に記憶されている鍵候補が２以上であるときには、記憶されている鍵候補を用いて公開鍵および秘密鍵を活性化させる。鍵候補が２以上記憶されていれば、その記憶されている鍵候補を用いて公開鍵および秘密鍵を活性化させることができるため、鍵候補生成処理を省略することができる。したがって、鍵候補生成処理を省略した分、処理時間を短縮させることができる。
【００４３】
図２に示す応答送信部２７は、携帯電話機１０により発行されたコマンドに対する応答を当該携帯電話機１０に送信する。応答送信部２７は、鍵対生成コマンドに対する応答を送信する際には、この応答の内容に活性化した公開鍵を含めて携帯電話機１０に送信する。
【００４４】
次に、図４および図５を参照して、本実施形態における携帯電話機１０およびＵＩＭ２０の動作について説明する。
【００４５】
まず、図４を参照して、携帯電話機１０からＳＴＡＴＵＳコマンドが発行される場合の動作について説明する。
【００４６】
携帯電話機１０は、ＵＩＭ２０に対して定期的にＳＴＡＴＵＳコマンドを発行する（ステップＳ１１）。これにより、ＵＩＭ２０のコマンド受信部２５は、携帯電話機１０により発行されたＳＴＡＴＵＳコマンドを受信する。
【００４７】
次に、ＵＩＭ２０のコマンド実行部２６は、コマンド受信部２５により受信されたＳＴＡＴＵＳコマンドに対応する処理を開始するとともに（ステップＳ１２）、鍵候補生成処理に含まれる複数の処理工程のうちの一処理工程を実行する（ステップＳ１３）。
【００４８】
次に、ＵＩＭ２０の応答送信部２７は、ＳＴＡＴＵＳコマンドに対する応答を携帯電話機１０に送信する（ステップＳ１４）。
【００４９】
このように動作させることによって、定期的に発行されるＳＴＡＴＵＳコマンドに対する応答期間を利用して、鍵候補生成処理を分割処理させることが可能となる。したがって、処理に時間を要する鍵候補生成処理を、ユーザからの鍵対生成指示とは無関係に予め実施しておくことができるため、ユーザから鍵対生成指示が出されたときには、処理に時間を要する鍵候補生成処理を省略することができる。すなわち、鍵対生成処理に要する時間を短縮させることができる。
【００５０】
次に、図５を参照して、携帯電話機１０から鍵対生成コマンドが発行される場合の動作について説明する。
【００５１】
携帯電話機１０は、ユーザの操作指示にしたがって、ＵＩＭ２０に対して鍵対生成コマンドを発行する（ステップＳ２１）。これにより、ＵＩＭ２０のコマンド受信部２５は、携帯電話機１０により発行された鍵対生成コマンドを受信する。
【００５２】
次に、ＵＩＭ２０のコマンド実行部２６は、不揮発性メモリ２４の鍵候補記憶領域に鍵候補が２以上記憶されているか否かを判定する（ステップＳ２２）。この判定がＮＯである場合（ステップＳ２２；ＮＯ）に、コマンド実行部２６は、上述した鍵候補生成処理（図３参照）を実行し（ステップＳ２３）、その後、上述したステップＳ２２に処理を移行する。上述した鍵候補生成処理を実行することによって、この処理で生成された鍵候補が、不揮発性メモリ２４の鍵候補記憶領域に記憶されることになる。
【００５３】
一方、上述したステップＳ２２における判定で、鍵候補が２以上あると判定された場合（ステップＳ２２；ＹＥＳ）に、コマンド実行部２６は、不揮発性メモリ２４の鍵候補記憶領域に記憶されている鍵候補から、２つの鍵候補を取り出し、この鍵候補を秘密鍵に割り当てて活性化する（ステップＳ２４）。また、コマンド実行部２６は、ステップＳ２４にて割り当てた秘密鍵の積を公開鍵に割り当てる（ステップＳ２５）。
【００５４】
次に、ＵＩＭ２０の応答送信部２７は、鍵対生成コマンドに対する応答を携帯電話機１０に送信する（ステップＳ２６）。なお、この応答には、活性化された公開鍵が含まれる。
【００５５】
このように動作させることによって、鍵対生成コマンドが発行されたときに、鍵候補が２以上記憶されている場合には、この記憶されている鍵候補のうち適切な２つの鍵候補を秘密鍵に割り当て、この秘密鍵の積を算出することで公開鍵を生成して鍵候補を活性化させることができる。これにより、処理に時間を要する鍵候補生成処理を省略することができる。すなわち、鍵生成処理を短縮させることができる。
【００５６】
以上のように、ＵＩＭ２０にコマンド実行部２６を備えることによって、コマンド実行部２６によりＳＴＡＴＵＳコマンドが受信された場合に、鍵対生成コマンドにより実行される鍵候補生成処理に含まれる複数の処理工程のうちの一または複数の処理工程を、ＳＴＡＴＵＳコマンドに対する応答期間内に実行させることができる。したがって、鍵対生成コマンドが投入される以前に、鍵対生成コマンドにより実行される鍵候補生成処理を予め実行させておくことができるため、鍵対生成コマンドが投入されたときに実行される処理の処理時間を短縮することができる。
【００５７】
なお、上述した実施形態におけるコマンド実行部２６は、ＳＴＡＴＵＳコマンドが発行された場合に、鍵候補生成処理に含まれる複数の処理工程のうちの一処理工程を実行しているが、発行するコマンドはＳＴＡＴＵＳコマンドに限られず、また、実行する処理は鍵候補生成処理には限られない。すなわち、発行するコマンドは、定期的に発行されるコマンドであるかないかには特段依存せず、実行する処理がどのコマンドに対応して実行されるのかが対応づけられていればよい。例えば、ＳＥLＥＣＴコマンド、ＲＥＡＤ ＢＩＮＡＲＹコマンド、または、ＲＥＡＤ ＲＥＣＯＲＤコマンドが発行されるたびに実行することもできる。また、実行する処理は、ユーザから実行指示を受けたときに開始される処理であればよい。これにより、本来は、ユーザから実行指示を受けたときに処理が開始される処理を、定期的に発行されるコマンドの応答期間を利用して事前に分割処理させておくことができる。したがって、ユーザから実行指示を受けたときには、事前に分割処理させた処理を省略することができるため、その分、処理時間を短縮させることができる。すなわち、ユーザが要求する処理の処理時間を短縮させることができる。ただし、ＳＴＡＴＵＳコマンドは、数秒または数十秒ごとに発行されるコマンドであるため、定期的かつ短い間隔で鍵候補生成処理を実行させるためには効果的なコマンドである。また、鍵候補生成処理は、一般に数十秒程度の処理時間を要するため、ユーザから実行指示を受けたときの処理時間を短縮させるためには効果的な処理である。
【００５８】
また、上述した実施形態においては、鍵候補生成処理を複数の処理工程に分割して実行しているが、これに限られない。例えば、コマンドの応答期間内に全ての処理を実行することができる場合には、分割せずに全ての処理を実行することとしてもよい。
【００５９】
また、上述した鍵候補生成処理においては、乱数ｐを除数ｑで順次割り算していくことにより、生成した乱数を素数と判定しているが、素数を判定する方法は、これに限らない。例えば、ＡＫＳ（Agrawal-Kayal-Saxena）素数判定法や、ＡＰＲ（Adleman-Pomerance-Rumely）判定法により素数を生成してもよい。
【００６０】
また、上述した実施形態においては、ＳＴＡＴＵＳコマンドが発行されるたびに、鍵対生成コマンドに対応する処理を実行しているが、これに限られず、例えば、不揮発性メモリ２４の鍵候補記憶領域に記憶されている鍵候補が予め定められた所定の数以下である場合にのみ実行することとしてもよく、また、不揮発性メモリ２４の鍵候補記憶領域に鍵候補がそれ以上格納できない場合には実行しないこととしてもよい。すなわち、鍵候補の残数に応じて、鍵対生成コマンドに対応する処理を実行するか否かを決定することとしてもよい。これにより、鍵候補の残数が所定の残数以下である場合に鍵候補生成処理を実行させることや、鍵候補の残数が所定の残数以上である場合に鍵候補生成処理を実行させないことができるため、無駄な処理を極力省くことができ、ＵＩＭ２０全体の処理効率をさらに向上させることができる。
【００６１】
また、上述した実施形態においては、定期的に発行されるＳＴＡＴＵＳコマンドに対する応答期間を利用して、鍵候補生成処理を分割処理させることとしているが、分割処理の実行／非実行を、例えば、ユーザにより設定されたモードにしたがって切り替える等して任意に制御できることとしてもよい。
【図面の簡単な説明】
【００６２】
【図１】発明の実施形態における携帯電話機およびＵＩＭの構成を例示する図である。
【図２】図１に示すＵＩＭの機能構成を示すブロック図である。
【図３】鍵候補生成処理の流れを説明するためのフローチャートである。
【図４】本実施形態における携帯電話機およびＵＩＭの動作を説明するためのシーケンス図である。
【図５】本実施形態における携帯電話機およびＵＩＭの動作を説明するためのシーケンス図である。
【符号の説明】
【００６３】
１０・・・携帯電話機、２０・・・ＵＩＭ、２１・・・ＣＰＵ、２２・・・メモリ、２３・・・Ｉ／Ｏ制御部、２４・・・不揮発性メモリ、２５・・・コマンド受信部、２６・・・コマンド実行部、２７・・・応答送信部。
【図１】
2006228146.tif 000003
【図２】
2006228146.tif 000004
【図３】
2006228146.tif 000005
【図４】
2006228146.tif 000006
【図５】
2006228146.tif 000007