(57)【要約】【課題】外部装置からプログラムをダウンロードする際のセキュリティ性を向上させることができる携帯可能電子装置、および電子回路を提供する。【解決手段】実施形態の携帯可能電子装置は、通信部と、記憶部と、管理部とを備える。通信部は、外部装置と通信する。管理部は、前記記憶部に認証アプリケーションが記憶された状態において、前記認証アプリケーションが実行されることにより前記外部装置と協働して行われる認証であって、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証が成功したとき、前記認証アプリケーションに対して所定の権限が付与されているか否かを判定し、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記通信部を介した前記外部装置からのプログラムのダウンロードを可能にする。【選択図】図５
2015135610.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信する通信部と、
記憶部と、
前記記憶部に認証アプリケーションが記憶された状態において、前記認証アプリケーションが実行されることにより前記外部装置と協働して行われる認証であって、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証が成功したとき、前記認証アプリケーションに対して所定の権限が付与されているか否かを判定し、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記通信部を介した前記外部装置からのプログラムのダウンロードを可能にする管理部と、
を備える携帯可能電子装置。
【請求項２】
前記管理部は、前記記憶部に前記認証アプリケーションが記憶されていない状態において、前記前記外部装置と協働して、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証を行い、前記認証が成功したとき、前記通信部を介して前記外部装置から前記認証アプリケーションをダウンロードするための処理を行う、
請求項１記載の携帯可能電子装置。
【請求項３】
前記管理部は、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記認証部により生成されたセッションキーであって、前記外部装置から受信するプログラムの復号と認証のうち少なくとも一方を行うことを可能とするセッションキーを前記記憶部に登録する、
請求項１または２記載の携帯可能電子装置。
【請求項４】
前記管理部は、前記認証アプリケーションに対して所定の権限が付与されていない場合に、前記セッションキーを前記記憶部に登録しない、
請求項３記載の携帯可能電子装置。
【請求項５】
記憶部を備え、
前記管理部は、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記認証部から認証の成功に伴って通知される情報に応じて、前記通信部を介した前記外部装置からのプログラムのダウンロードを許可する情報を前記記憶部に設定する、
請求項１から４のうちいずれか１項記載の携帯可能電子装置。
【請求項６】
前記管理部は、前記認証アプリケーションに対して所定の権限が付与されていない場合に、前記認証部から認証の成功に伴って通知される情報にかかわらず、前記通信部を介した前記外部装置からのプログラムのダウンロードを許可する情報を前記記憶部に設定しない、
請求項５記載の携帯可能電子装置。
【請求項７】
前記認証アプリケーションが実行されることにより機能する認証部であって、前記外部装置と協働して、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証を行い、認証が成功した場合に、所定の情報を前記管理部に通知すると共に、前記外部装置から受信する認証アプリケーションの復号と認証のうち少なくとも一方を可能とするセッションキーを生成して前記管理部に出力する認証部を更に備える、
請求項１から６のうちいずれか１項記載の携帯可能電子装置。
【請求項８】
前記管理部は、オペレーティングシステムが実行されることにより機能し、
前記認証部は、前記管理部が提供するＡＰＩによって前記管理部に情報を通知する、
請求項１から７のうちいずれか１項記載の携帯可能電子装置。
【請求項９】
前記管理部は、前記認証アプリケーションが前記記憶部に格納された状態において、前記所定の権限が付与されている認証アプリケーションとの協働によってのみ前記通信部を介した前記外部装置からのプログラムのダウンロードを行う、
請求項１から８のうちいずれか１項記載の携帯可能電子装置。
【請求項１０】
前記記憶部には、一または複数の認証アプリケーションのそれぞれに対して前記所定の権限が付与されているか否かを示す権限情報が格納され、
前記管理部は、前記権限情報を参照し、前記認証が成功した認証部を機能させる認証アプリケーションに対して所定の権限が付与されているか否かを判定する、
請求項１から９のうちいずれか１項記載の携帯可能電子装置。
【請求項１１】
外部装置と通信する通信部と、
記憶部と、
前記記憶部に認証アプリケーションが記憶された状態において、前記認証アプリケーションが実行されることにより前記外部装置と協働して行われる認証であって、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証が成功したとき、前記認証アプリケーションに対して所定の権限が付与されているか否かを判定し、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記通信部を介した前記外部装置からのプログラムのダウンロードを可能にする管理部と、
を備える電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、および電子回路に関する。
【背景技術】
【０００２】
従来、ＩＣ（Integrated  Circuit）カード等の携帯可能電子装置が普及している。携帯可能電子装置では、外部装置とデータを送受信する際の暗号の方式やユーザ認証等の認証の方式がオペレーティングシステムによって記述されている場合があり、これらを変更するにはオペレーティングシステムの変更が必要な場合があった。これに関連し、特権を有するアプリケーションである特権アプリケーションをダウンロードすることができる第一カードマネージャを有するＩＣカードの発明が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１７３４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、外部装置からプログラムをダウンロードする際のセキュリティ性を十分に確保することができないという問題があった。
上記の課題を解決するために、外部装置からプログラムをダウンロードする際のセキュリティ性を向上させることができる携帯可能電子装置、および電子回路を提供する。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、通信部と、記憶部と、管理部とを備える。通信部は、外部装置と通信する。管理部は、前記記憶部に認証アプリケーションが記憶された状態において、前記認証アプリケーションが実行されることにより前記外部装置と協働して行われる認証であって、ユーザ認証、前記外部機器の認証、前記外部機器と接続された他の機器の認証のうち少なくとも一つを含む認証が成功したとき、前記認証アプリケーションに対して所定の権限が付与されているか否かを判定し、前記認証アプリケーションに対して所定の権限が付与されている場合に、前記通信部を介した前記外部装置からのプログラムのダウンロードを可能にする。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係るＩＣカード１の機能構成の一例を示す図である。
【図２】ＥＥＰＲＯＭ４０に格納される情報の一例を示す図である。
【図３】ＲＡＭ５０に格納される情報の一例を示す図である。
【図４】ＲＯＭ６０に格納される情報の一例を示す図である。
【図５】ＩＣカード１が外部装置１００から新しい認証アプリケーション４２をダウンロードする様子を模式的に示す図である。
【図６】外部装置１００とＩＣカード１とが協働して行うダウンロード処理の流れの一例を簡易に示すシーケンス図である。
【図７】外部装置１００からＩＣカードに送信される認証コマンドの一例を示す図である。
【図８】ＩＣカード１から外部装置１００に返信されるレスポンスの一例を示す図である。
【図９】ＩＣカード１において認証アプリケーション４２により実現される処理の流れの一例を示すフローチャートである。
【図１０】ダウンロード可能通知が行われた場合に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。
【図１１】セッションキー通知が行われた場合に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。
【図１２】外部装置１００からダウンロード開始要求コマンドを受信したときに、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。
【図１３】認証アプリケーション４２のダウンロードが完了した後に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、図面を参照し、携帯可能電子装置、および電子回路の実施形態について説明する。以下の説明では、携帯可能電子装置の一例としてＩＣカードについて説明するが、これに限らず、携帯可能電子装置は携帯電話やタブレット端末等に適用されてもよい。ＩＣカードの用途としては、キャッシュカード、クレジットカード、交通系カード、免許証、住民ナンバーカード等、種々のものが挙げられる。
【０００８】
ＩＣカードは、外部装置からの電力供給を受けて活性化される（動作可能な状態になる）。例えば、接触型のＩＣカードである場合、ＩＣカードは、通信インターフェースとしてのコンタクト部を介して外部装置から動作電源及び動作クロックの供給を受けて活性化される。また、非接触型のＩＣカードである場合、ＩＣカードは、通信インターフェースとしてのアンテナ及び変復調回路などを介して外部装置からの電波を受信し、その電波に基づいて、図示しない電源部により動作用の電力及び動作クロックを生成して活性化する。
【０００９】
図１は、本実施形態に係るＩＣカード１の機能構成の一例を示す図である。ＩＣカード１は、例えば、電子回路１０を構成する通信部２０、ＣＰＵ（Central  Processing  Unit）３０、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）４０、ＲＡＭ（Random  Access  Memory）５０、およびＲＯＭ（Read  Only  Memory）６０と、通信用部材７０とを備える。ＩＣカード１は、プラスチックなどで形成されたカード状の筐体（本体）内に電子回路１０が埋設されている。電子回路１０は、通信用部材７０と接続された状態で筐体と一体的に形成される。
【００１０】
通信部２０は、通信用部材７０を用いて外部装置との間で通信を行う。ＩＣカード１が接触型のＩＣカードである場合、通信用部材７０は前述したコンタクト部を含む。一方、ＩＣカード１が非接触型のＩＣカードである場合、通信用部材７０は前述したアンテナを含み、通信部２０は変復調回路等を含む。
【００１１】
ＣＰＵ３０は、ＥＥＰＲＯＭ４０やＲＯＭ６０に格納されたプログラムを実行することにより、以下に説明する種々の制御を実現する。
【００１２】
図２は、ＥＥＰＲＯＭ４０に格納される情報の一例を示す図である。ＥＥＰＲＯＭ４０には、オペレーティングシステム６１（後述）によって管理されるアプリケーション管理情報４１、認証アプリケーション４２等が格納される。ここで、認証アプリケーション４２は、例えば、外部装置からＩＣカード１にダウンロードされたアプリケーションプログラムであり、ユーザ認証、外部装置の認証、外部装置がネットワークを介してサーバ装置等に接続されている場合、そのサーバ装置の認証等を行うための処理が記述されている。図２では、単独の認証アプリケーション４２を図示したが、複数の認証アプリケーション４２がＥＥＰＲＯＭ４０に格納されてよい。認証アプリケーション４２は、そのプログラムコードに加えて、公開鍵４２―１、秘密鍵４２―２、認証情報４２―３等の情報を包含している。以下、公開鍵４２―１を公開鍵（２）と称することがある。
【００１３】
アプリケーション管理情報４１は、ＥＥＰＲＯＭ４０に格納された認証アプリケーション４２等のアプリケーションプログラムのそれぞれについて、アプリケーション識別情報（ＡＩＤ；Application  Identifier）、アプリケーションプログラムが格納されたＥＥＰＲＯＭ４０の先頭アドレス、特権情報等が対応付けられた情報である。特権情報とは、アプリケーションプログラムがインストールされるときに、オペレーティングシステム６１によって設定されるものであり、プログラムをダウンロード可能な権限の委譲を示すものが含まれる。ＥＥＰＲＯＭ４０に格納される情報は、ＩＳＯ／ＩＥＣ  ７８１６、ＩＳＯ／ＩＥＣ  １４４４３、ＩＳＯ／ＩＥＣ  １０５３６、ＩＳＯ／ＩＥＣ  １５６９３、ＥＴＳＩ等の規格によって定義されている。なお、ＩＣカード１は、ＥＥＰＲＯＭ４０に代えて、フラッシュメモリ等の読み書き可能な不揮発性メモリを備えてもよい。
【００１４】
図３は、ＲＡＭ５０に格納される情報の一例を示す図である。ＲＡＭ５０は、ＣＰＵ３０が処理中の情報を一時的に格納するワーキングメモリとして機能する。ＲＡＭ５０には、例えば、カレントアプリケーション情報５１、ダウンロード可否フラグ５２、セッションキー格納領域５３、ダウンロード許可フラグ５４等が設定される。これらの情報は、オペレーティングシステム６１によって管理される。カレントアプリケーション情報５１には、現在アクティブに設定されている認証アプリケーション４２のＡＩＤ、および特権情報が格納される。カレントアプリケーション情報５１のうち、認証アプリケーション４２のＡＩＤは、ＳＥＬＥＣＴコマンドによって内容が決定される。また、ＡＩＤが決定されたときに、対応する特権情報がオペレーティングシステム６１によってＥＥＰＲＯＭ４０から読み出され、カレントアプリケーション情報５１の特権情報としてＲＡＭ５０に書き込まれる。ダウンロード可否フラグ５２は、通常時にはダウンロード不可状態に設定されており、認証アプリケーション４２から認証の成功に伴って行われる通知がなされたときに、ダウンロード可能状態に設定される。セッションキー格納領域５３には、認証アプリケーション４２によって生成されたセッションキーが格納される。ダウンロード許可フラグ５４は、通常時には不許可状態に設定されており、外部装置からのプログラムのダウンロードの準備が完了したときに許可状態に設定される。
【００１５】
図４は、ＲＯＭ６０に格納される情報の一例を示す図である。ＲＯＭ６０には、例えば、ＡＰＩ（Application  Programming  Interface）６２―１、ＡＰＩ６２―２等を認証アプリケーション４２に提供するオペレーティングシステム６１が格納される。オペレーティングシステム６１は、例えばJava（登録商標）Cardのように、認証アプリケーション４２等のプログラムをダウンロードして追加することが可能なオペレーティングシステムである。ＡＰＩ６２―１は、オペレーティングシステム６１に対するダウンロード可能状態通知を認証アプリケーション４２に行わせるためのＡＰＩである。ＡＰＩ６２―２は、オペレーティングシステム６１に対するセッションキー通知を認証アプリケーション４２に行わせるためのＡＰＩである。なお、オペレーティングシステム６１の一部または全部は、ＥＥＰＲＯＭ４０に格納されてもよい。
【００１６】
上記のように構成されるＩＣカード１は、外部装置から認証アプリケーション４２をダウンロードすることができる。図５は、ＩＣカード１が外部装置１００から新しい認証アプリケーション４２をダウンロードする様子を模式的に示す図である。外部装置１００は、例えば、認証用機器１１０と、ＣＰＵ１２０と、カードリーダライタ１３０と、記憶部１４０とを備える。
【００１７】
認証用機器１１０は、例えば、利用者がパスワードを入力するための入力装置、指紋や掌紋、虹彩パターン等の生体情報を取得するための生体情報取得装置等を含む。ＣＰＵ１２０は、記憶部１４０に格納されたプログラムを実行することにより、以下に説明する種々の制御を実現する。カードリーダライタ１３０は、ＩＣカード１の方式に応じた構成を有する。ＩＣカード１が接触型のＩＣカードである場合、カードリーダライタ１３０は、ＩＣカード１のコンタクト部と物理的かつ電気的に接続するための接触部を含む。また、ＩＣカード１が非接触型のＩＣカードである場合、カードリーダライタ１３０は、ＩＣカード１との無線通信を行うためのアンテナおよび通信制御部などを含む。カードリーダライタ１３０は、ＩＣカード１に対する電力供給、リセット制御、データの送受信、接触型の場合にはクロック供給等を行う。記憶部１４０は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＨＤＤ（Hard  Disk  Drive）等を含む。記憶部１４０には、ＩＣカード１に送信される新しい認証アプリケーション（新認証アプリケーション１５０）、ＩＣカード１に新認証アプリケーション１５０を送信するための処理を行う外部装置側認証アプリケーション１６０、その他の情報が格納されている。新認証アプリケーション１５０は、例えば、認証アプリケーション４２のバージョンアッププログラムである。新認証アプリケーション１５０は、その時点でＩＣカード１に格納されている認証アプリケーション４２を置換するものであってもよいし、認証アプリケーション４２を補完するものであってもよい。
【００１８】
図６は、外部装置１００とＩＣカード１とが協働して行うダウンロード処理の流れの一例を簡易に示すシーケンス図である。外部装置１００は、ＩＣカード１が通信接続されたことを検知すると（ステップＳ２００）、認証コマンドをＩＣカード１に送信する（ステップＳ２０２）。図７は、外部装置１００からＩＣカードに送信される認証コマンドの一例を示す図である。認証コマンドは、例えば、ＩＳＯ／ＩＥＣ  ７８１６―４に従ったフォーマットで生成される。認証コマンドは、ＣＬＡ（クラスバイト）、ＩＮＳ（インストラクションバイト）、Ｐ１（パラメータバイト１）、Ｐ２（パラメータバイト２）、Ｌｃ（データの長さ）、認証データ、公開鍵（１）、Ｌｅ（レスポンスの長さ）を含む。認証データは、認証用機器１１０により取得された情報であり、パスワードや生体情報等を含む。また、公開鍵（１）は、鍵共有暗号処理を行うために外部装置１００からＩＣカード１に送信される情報である。
【００１９】
認証コマンドを受信したＩＣカード１は、例えば後述する図９〜１１の処理を行って（ステップＳ２０４）、レスポンスを外部装置１００に送信する（ステップＳ２０６）。この処理の中には、外部装置１００が生成するセッションキーと対応するセッションキーの生成処理が含まれている。図８は、ＩＣカード１から外部装置１００に返信されるレスポンスの一例を示す図である。レスポンスは、公開鍵（２）、ＳＷ１（ステータスバイト１）、ＳＷ２（ステータスバイト２）を含む。外部装置１００は、レスポンスに含まれる公開鍵（２）と内部で保持する秘密鍵（不図示）に基づいてセッションキーを生成し（ステップＳ２０８）、ダウンロード開始要求コマンドをＩＣカード１に送信する（ステップＳ２１０）。
【００２０】
ダウンロード開始要求コマンドを受信すると、ＩＣカード１は、例えば後述する図１２の処理を行って（ステップＳ２１２）、ダウンロード許可状態となったことを外部装置１００に通知する（ステップＳ２１４）。これを受けて外部装置１００は、ダウンロードファイル（新認証アプリケーション１５０）と所定の認証コードを、セッションキーを用いて暗号化する（ステップＳ２１６）。そして、外部装置１００は、図７に示すコマンドに暗号化されたダウンロードファイルを含ませ、更に暗号化された認証コードを付加した情報をＩＣカード１に送信する（ステップＳ２１８）。ＩＣカード１は、内部で生成したセッションキーを用いて、ダウンロードファイルを復号すると共に、認証コードの正当性検証を行い、認証コードが正当であれば、ダウンロードファイルをＥＥＰＲＯＭ４０に格納して新しい認証アプリケーション４２として扱う（ステップＳ２２０）。新しい認証アプリケーション４２は、ＥＥＰＲＯＭ４０の空き領域に追加されてもよいし、古い認証アプリケーション４２を消去した領域に格納されてもよい。また、ＩＣカード１では、後述する図１３で示すように、新しい認証アプリケーション４２に特権情報を移す処理を行う（ステップＳ２２２）。
【００２１】
以下、図６のシーケンス図における各段階の処理について説明する。図９は、ＩＣカード１において認証アプリケーション４２により実現される処理の流れの一例を示すフローチャートである。本フローチャートの処理は、外部装置１００から認証コマンドを受信したときに開始される。まず、認証アプリケーション４２は、認証データに対する認証処理を行う（ステップＳ３００）。認証処理は、例えば、認証データに含まれるパスワードや生体データを、認証情報４２―３と比較することで行われる。なお、認証処理は外部装置１００の方で行われ、外部装置１００から「認証結果」がＩＣカード１に送信されるものとしてもよい。
【００２２】
認証アプリケーション４２は、ステップＳ３０２における認証が成功したか否かを判定する（ステップＳ３０２）。認証が成功した場合、認証アプリケーション４２は、公開鍵（１）の妥当性検証を行う（ステップＳ３０４）。公開鍵（１）の妥当性検証は、公開鍵（１）の鍵長や、公開鍵（１）のデータに含まれる特定の値を参照することにより行われる。認証アプリケーション４２は、公開鍵（１）が妥当であったか否かを判定する（ステップＳ３０６）。
【００２３】
公開鍵（１）が妥当であった場合、認証アプリケーション４２は、公開鍵（１）と秘密鍵４２―２とに基づいて、セッションキーを生成する（ステップＳ３０８）。セッションキーは、例えば、ＥＸ−ＯＲ、ＳＨＡ−１等の手法により生成される。そして、認証アプリケーション４２は、ＡＰＩ６２―１を利用してダウンロード可能通知を行い（ステップＳ３１０）、ＡＰＩ６２―２を利用してセッションキー通知を行い（ステップＳ３１２）、公開鍵（２）を外部装置１００に送信する（ステップＳ３１４）。
【００２４】
一方、ステップＳ３０４とステップＳ３０８のいずれかにおいて否定的な判定を得た場合、認証アプリケーション４２は、外部装置１００に対してエラー応答を行う（ステップＳ３１６）。
【００２５】
図１０は、ダウンロード可能通知が行われた場合に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。オペレーティングシステム６１は、カレントアプリケーション情報５１を参照し、通知元の認証アプリケーション４２にダウンロード権限を委譲しているか否かを判定する（ステップＳ４００）。通知元の認証アプリケーション４２にダウンロード権限を委譲している場合、オペレーティングシステム６１は、ダウンロード可否フラグ５２を、ダウンロード可能であることを示す状態に設定する（ステップＳ４０２）。一方、通知元の認証アプリケーション４２にダウンロード権限を委譲していない場合、オペレーティングシステム６１は、ダウンロード可否フラグ５２を、ダウンロード不可であることを示す状態に設定する（ステップＳ４０４）。
【００２６】
図１１は、セッションキー通知が行われた場合に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。オペレーティングシステム６１は、カレントアプリケーション情報５１を参照し、通知元の認証アプリケーション４２にダウンロード権限を委譲しているか否かを判定する（ステップＳ５００）。通知元の認証アプリケーション４２にダウンロード権限を委譲している場合、オペレーティングシステム６１は、セッションキー格納領域５３に、認証アプリケーション４２が生成したセッションキーを格納する（ステップＳ５０２）。一方、通知元の認証アプリケーション４２にダウンロード権限を委譲していない場合、オペレーティングシステム６１は、セッションキー格納領域５３をクリアする（ステップＳ５０４）。
【００２７】
図１２は、外部装置１００からダウンロード開始要求コマンドを受信したときに、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。オペレーティングシステム６１は、アプリケーション管理情報４１を参照し、ダウンロード権限を委譲した認証アプリケーションが存在するか否かを判定する（ステップＳ６００）。ダウンロード権限を委譲した認証アプリケーションが存在する場合、オペレーティングシステム６１は、ダウンロード可否フラグ５２がダウンロード可能状態に設定されているか否かを判定する（ステップＳ６０２）。ダウンロード可否フラグ５２がダウンロード可能状態に設定されている場合、オペレーティングシステム６１は、ダウンロード許可フラグ５４を、ダウンロード許可状態に設定する（ステップＳ６０４）。ダウンロード許可フラグ５４がダウンロード許可状態に設定された状態で、外部装置１００からダウンロードファイルを含むコマンドおよび認証コードを受信すると、オペレーティングシステム６１は、セッションキー格納領域５３に格納されたセッションキーを用いて、認証コードの正当性検証およびダウンロードファイルの復号を行い、復号されたダウンロードファイルをＥＥＰＲＯＭ４０に格納する。これによって、新認証アプリケーション１５０が外部装置１００からダウンロードされたことになる。
【００２８】
ステップＳ６００において、ダウンロード権限を委譲した認証アプリケーションが存在しないと判定された場合も、オペレーティングシステム６１は、ダウンロード許可フラグ５４を、ダウンロード許可状態に設定する（ステップＳ６０４）。この場合、オペレーティングシステム６１は、これまで説明した認証アプリケーション４２と同様の処理を既に行っており、セッションキーを生成してセッションキー格納領域５３に格納している。従って、外部装置１００からダウンロードファイルを含むコマンドおよび認証コードを受信すると、オペレーティングシステム６１は、セッションキー格納領域５３に格納されたセッションキーを用いて、認証コードの正当性検証およびダウンロードファイルの復号を行い、復号されたダウンロードファイルをＥＥＰＲＯＭ４０に格納する。
【００２９】
一方、ステップＳ６０２においてダウンロード可否フラグ５２がダウンロード可能状態に設定されていないと判定された場合、オペレーティングシステム６１は、ダウンロード許可フラグ５４をダウンロード許可状態に設定せず、本フローチャートの処理を終了する。
【００３０】
図１２に示す処理の結果、オペレーティングシステム６１から認証アプリケーション４２にダウンロード権限が委譲される前においては、オペレーティングシステム６１が単独で認証アプリケーション４２のダウンロードを行い、一度、オペレーティングシステム６１から認証アプリケーション４２にダウンロード権限が委譲された後においては、オペレーティングシステム６１と認証アプリケーション４２との協働によってのみ、認証アプリケーション４２のダウンロードが行われることになる。認証アプリケーション４２の処理を経なければ、ダウンロード可否フラグ５２がダウンロード可能状態に設定されず、その場合はダウンロード許可フラグ５４がダウンロード許可状態に設定されないからである。これによって、権限の委譲関係が複雑になるのを防止することができる。
【００３１】
図１３は、認証アプリケーション４２のダウンロードが完了した後に、オペレーティングシステム６１により実現される処理の流れの一例を示すフローチャートである。認証アプリケーション４２のダウンロードが完了すると、オペレーティングシステム６１は、権限移譲先の変更が必要か否かを判定する（ステップＳ７００）。係る判定は、例えば、外部装置１００から通知された情報、ダウンロード前の古い認証アプリケーション４２から通知された情報、或いはダウンロードされた新しい認証アプリケーション４２のプログラムＩＤ等を参照して行われる。また、認証アプリケーション４２のダウンロードに伴って、原則的に権限移譲先の変更を行うと定められている場合には、ステップＳ７００の判定は省略されてよい。権限移譲先の変更が必要と判定した場合、オペレーティングシステム６１は、アプリケーション管理情報４１の書き換えを行う（ステップＳ７０２）。すなわち、オペレーティングシステム６１は、古い認証アプリケーション４２の特権情報からダウンロード権限の委譲情報を削除し、新しい認証アプリケーション４２の特権情報にダウンロード権限の委譲情報を書き込む。
【００３２】
以上説明した少なくともひとつの実施形態によれば、外部装置１００と協働して認証アプリケーション４２により行われる認証が成功したとき、認証アプリケーション４２に対してダウンロード権限が委譲されている（所定の権限が付与されている）か否かを判定し、権限が委譲されている場合に、通信部２０を介した外部装置１００からのプログラムのダウンロードを可能にするため、外部装置１００からプログラムをダウンロードする際のセキュリティ性を向上させることができる。
【００３３】
また、実施形態によれば、認証が成功した認証アプリケーション４２に対してダウンロード権限が委譲されている場合に、外部装置１００から受信するプログラムを復号・認証可能なセッションキーをセッションキー格納領域５３に登録するため、外部装置１００からプログラムをダウンロードする際のセキュリティ性を更に高めることができる。
【００３４】
また、実施形態によれば、一度、オペレーティングシステム６１から認証アプリケーション４２にダウンロード権限が委譲された後においては、オペレーティングシステム６１と認証アプリケーション４２との協働によってのみ、認証アプリケーション４２のダウンロードが行われる。この結果、権限の委譲関係が複雑になるのを防止することができる。また、実施形態によれば、オペレーティングシステム６１が持っている認証機能よりも、強度の高い暗号処理を行うことが可能なアルゴリズムへの変更を行うことができ、かつ又は、認証対象とする機器またはユーザの対象を広げることができる。オペレーティングシステム６１が単独でダウンロードするための認証機能が残ってしまうと、その部分が、セキュリティ的に弱い部分になってしまう可能性があるからである。
【００３５】
なお、認証アプリケーション４２がＣＰＵ３０により実行されることで実現される機能が、「認証部」の一例であり、オペレーティングシステム６１がＣＰＵ３０により実行されることで実現される機能が、「管理部」の一例である。また、ＥＥＰＲＯＭ４０やＲＡＭ５０が、「記憶部」の一例である。
【００３６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３７】
１    ＩＣカード
１０  電子回路
２０  通信部
３０  ＣＰＵ
４０  ＥＥＰＲＯＭ
４１  アプリケーション管理情報
４２  認証アプリケーション
５０  ＲＡＭ
５１  カレントアプリケーション情報
５２  ダウンロード可否フラグ
５３  セッションキー格納領域
５４  ダウンロード許可フラグ
６０  ＲＯＭ
６１  オペレーティングシステム
６２―１、６２―２  ＡＰＩ
７０  通信用部材
１００  外部装置
【図１】
2015135610.tif 000003
【図２】
2015135610.tif 000004
【図３】
2015135610.tif 000005
【図４】
2015135610.tif 000006
【図５】
2015135610.tif 000007
【図６】
2015135610.tif 000008
【図７】
2015135610.tif 000009
【図８】
2015135610.tif 000010
【図９】
2015135610.tif 000011
【図１０】
2015135610.tif 000012
【図１１】
2015135610.tif 000013
【図１２】
2015135610.tif 000014
【図１３】
2015135610.tif 000015