(57)【特許請求の範囲】
【請求項１】
外部機器と通信する情報処理端末であって、
自端末に組み込む設定またはプログラムを示すデータである組込データが、自端末の初期化後に書き込まれたデータが消去される記憶領域である揮発性記憶領域に書き込まれた場合、上記初期化の後も書き込まれたデータが消去されない記憶領域である不揮発性記憶領域に当該組込データを複製する複製部と、
上記複製部が上記組込データを上記不揮発性記憶領域に複製した場合、または上記複製部が上記複製を行った後に上記初期化が実行された場合に、上記組込データを自端末に組込む設定部と、
上記組込データの代わりに上記組込データを暗号化した暗号化データと、上記暗号化データのハッシュ値をさらに暗号化した暗号化ハッシュ値とを上記外部機器から取得して上記揮発性記憶領域に書き込むデータ書込部と、
上記暗号化データが上記揮発性記憶領域に書き込まれた場合、上記暗号化データのハッシュ値を算出するハッシュ値算出部と、
上記暗号化データが上記揮発性記憶領域に書き込まれた場合、上記暗号化データを組込データに復号するとともに、上記暗号化ハッシュ値を上記暗号化データのハッシュ値に復号する復号部と、を備え、
上記複製部は、上記ハッシュ値算出部が算出したハッシュ値と、上記復号部が復号したハッシュ値とが一致する場合に、上記組込データを複製し上記不揮発性記憶領域に書き込むことを特徴とする情報処理端末。
【請求項２】
上記揮発性記憶領域への上記組込データの書き込みが開始されたことを通知する書込開始通知部を備えることを特徴とする、請求項１に記載の情報処理端末。
【請求項３】
上記設定部が上記組込データの組込みを完了したことを通知する組込完了通知部を備えることを特徴とする、請求項１または２に記載の情報処理端末。
【請求項４】
請求項１に記載の情報処理端末としてコンピュータを機能させるための制御プログラムであって、上記複製部、上記設定部、上記データ書込部、上記ハッシュ値算出部、および上記復号部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話機、多機能携帯電話端末(スマートフォン等)、および携帯情報端末など、自端末の機能に係る各種設定またはアプリケーションのインストールが行われる情報処理端末および情報処理端末の制御プログラムに関する。
【背景技術】
【０００２】
近年、多機能携帯電話端末(スマートフォン等)に代表されるように、多種多様なデバイス、ツール、およびアプリケーションを組込んだ情報処理端末が開発されている。このような情報処理端末において、上記デバイス、ツール、およびアプリケーションのインストールや設定などは、端末のメーカーが予め行っておくもの、およびユーザが個人で行うものの他、当該端末の販売者がユーザに端末を販売する前に行うものがある。
【０００３】
スマートフォンの場合を例にとると、メーカーの工場で製造されたスマートフォンは、所定のアプリケーションプログラムおよび各種設定をプリインストールされた状態で工場出荷される。スマートフォンを販売する業者は工場出荷されたスマートフォンを入荷しこれをユーザに販売する。また上記業者は、当該ユーザにスマートフォンを受け渡す前にスマートフォンに対しキッティングを施すことがある。ここで、「キッティング」とは、スマートフォンを使用する前に、スマートフォンに予め組み込んでおきたいアプリケーションのインストールや、予め設定しておきたい設定などを行う処理を意味する。ユーザに受け渡されたスマートフォンには、工場出荷時にプリインストールされたアプリケーションおよび設定と、キッティングによって組み込まれたアプリケーションおよび設定とが含まれていることになる。
【０００４】
また近年、電子機器に保存したデータの復元に係る各種技術が開発されている。例えば、特許文献１には、ハードウェアを交換した場合に、交換後もハードウェアをカスタマイズされた状態に復帰させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１１３７１号公報（２０１０年９月２４日公開）
【特許文献２】特開２００７−０８３５９５号公報（２００７年４月  ５日公開）
【特許文献３】特開２０１１−０９０４８１号公報（２０１１年５月  ６日公開）
【特許文献４】特開２００４−１１０９６２号公報（２００４年４月  ８日公開）
【特許文献５】特開２００１−３５０６４４号公報（２００１年１２月２１日公開）
【特許文献６】特開２００１−３１８７８９号公報（２００１年１１月１６日公開）
【特許文献７】特開平８−３１４７４５号公報（１９９６年１１月２９日公開）
【特許文献８】特開平６−２３６２８４号公報（１９９４年８月２３日公開）
【特許文献９】特開２００１−３１８７８９号公報（２００１年１１月１６日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法でキッティングを行った場合、端末を初期化するとキッティングにより組み込まれた設定などが消去され工場出荷時の設定に戻ってしまうという問題があった。以下、図９を用いて従来のキッティングにおける問題点について具体的に説明する。図９は、従来の方法でキッティングを行う場合の端末５００の記憶部５０２を示す図である。図９の（ａ）はキッティング前、（ｂ）はキッティング後、そして（ｃ）はキッティング後に端末５００を初期化（オールリセット）した場合の記憶部５０２を示している。
【０００７】
スマートフォンや携帯電話などの端末５００は、一般的に記憶部５０２のようにシステムエリアと、ユーザエリアとに分けられた記憶部を持つ。システムエリアは、端末５００の工場出荷時にデータが書き込まれる領域であり、工場出荷以降は、データの書き込みおよび消去が制限された記憶領域である。一方、ユーザエリアは自由にデータの書き込みおよび消去が可能な記憶領域であり、工場出荷以降に端末５００が取得または生成したデータが書き込まれる記憶領域である。ＰＣ５０１は端末５００とadb（Android（登録商標）Debug Bridge）モードなどの通信方式で接続し、キッティングに係るデータ５０３を転送する（図９の（ａ））。転送されたデータはユーザエリアに書き込まれる（図９の（ｂ））。この状態で端末５００がオールリセットされると、ユーザエリアに書き込まれたデータ５０３は消去される。したがって、キッティングにより組み込まれた設定などは消去されてしまい、端末５００は工場出荷時の設定に戻ってしまう（図９の（ｃ））。
【０００８】
この問題を解決するためには、例えばキッティング時に、端末に組込みたいデータをシステム領域に書き込むことが考えられる。しかしながら上述のように、システムエリアは工場出荷後は書込みおよび消去が制限されているので、当該エリアにデータを書き込むためには、当該制限を解除するための特別な処理やデータ転送の設定が必要であった。
【０００９】
本発明は上記問題点に鑑みたものであり、その目的は初期化しても復元可能な設定をキッティングにより組み込むことが可能な情報処理端末などを実現することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一態様に係る情報処理端末は、外部機器と通信する情報処理端末であって、自端末に組み込む設定またはプログラムを示すデータである組込データが、自端末の初期化後に書き込まれたデータが消去される記憶領域である揮発性記憶領域に書き込まれた場合、上記初期化の後も書き込まれたデータが消去されない記憶領域である不揮発性記憶領域に当該組込データを複製する複製部と、上記複製部が上記組込データを上記不揮発性記憶領域に複製した場合、または上記複製部が上記複製を行った後に上記初期化が実行された場合に、上記組込データを自端末に組込む設定部と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明の一態様によれば、情報処理端末に対し、初期化しても復元可能な設定をキッティングにより組み込むことが可能になるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態１に係るスマートフォンの要部構成を示すブロック図である。
【図２】上記スマートフォンの記憶部の記憶領域の種類を示す図である。
【図３】上記スマートフォンに対しキッティングを行う場合の、上記スマートフォンにおける処理の流れを示すフローチャートである。
【図４】上記スマートフォンに対するキッティングの前後における、上記スマートフォンの記憶部および上記スマートフォンの画面表示を示す図である。
【図５】キッティングデータの暗号化および復号の処理手順と、暗号化データのハッシュ値の比較判定とを示す図である。
【図６】上記スマートフォンをオールリセットする場合の、上記スマートフォンの処理の流れを示すフローチャートである。
【図７】上記スマートフォンをオールリセットを行った場合の、上記スマートフォンの記憶部を示す図である。
【図８】自動設定処理の流れを示すフローチャートである。
【図９】従来の方法でキッティングを行う場合の端末の記憶部を示す図である。
【発明を実施するための形態】
【００１３】
〔実施形態１〕
以下、本実施形態に係る情報処理端末を多機能携帯電話端末(スマートフォン)にて実現した例について、図１〜９を用いて説明する。まず始めに、本実施形態に係るスマートフォン１の要部構成について図１を用いて説明する。
【００１４】
≪要部構成≫
図１は、本実施形態に係るスマートフォン１の要部構成を示す図である。なお、図１ではスマートフォン１と接続されたＰＣ２も併せて記載している。パーソナルコンピュータ（ＰＣ）２は、スマートフォン１にキッティングデータ３３（後述）を転送するための汎用コンピュータである。ＰＣ２は、スマートフォン１と通信可能に接続されている。なお、キッティングデータ３３をスマートフォン１に送信可能であるならばＰＣ２とスマートフォン１との通信方法は特に限定されない。上記通信方法としては、例えばＭＴＰ（Media Transfer Protocol）モードやａｄｂ（Android Debug Bridge）モードでの通信が挙げられる。ＭＴＰモードは、Ｗｉｎｄｏｗｓ（登録商標）コンピュータの標準機能である。したがってＰＣ２はＭＴＰモードで通信する場合、スマートフォン１と通信するための特別なドライバ等をインストールしなくても良いという利点がある。以降の説明では、ＰＣ２は、スマートフォン１とＭＴＰモードの通信形式でデータ通信を行うこととする。
【００１５】
スマートフォン１は、少なくとも無線通信が可能な情報処理端末であり、工場出荷後にキッティングが可能な端末である。ここで、「キッティング」とは、スマートフォン１を使用する前に、スマートフォン１に予め設定しておきたい設定や、予め組み込んでおきたいアプリケーションのインストールなどを実行する処理を意味する。スマートフォン１は詳細には、通信部２０と、記憶部３０と、制御部１０と、表示部４０とを有する。
【００１６】
通信部２０は、スマートフォン１とＰＣとの通信を行うものである。記憶部３０は、スマートフォン１にて使用される各種データを記憶する記憶装置である。なお、本実施形態では、記憶部３０はスマートフォン１に内蔵された記憶装置であるとして説明を行う。しかしながら、記憶部３０は例えばＳＤカード（登録商標）などスマートフォン１に着脱可能な記録装置（記録媒体）であっても構わない。記憶部３０の記憶領域は、システムエリアと、キッティングエリア（不揮発性記憶領域）と、ユーザエリア（揮発性記憶領域）とに分割されている。
【００１７】
（記憶部の記憶領域）
以下、記憶部３０の記憶領域について図２を用いて説明する。図２は、記憶部３０の記憶領域の種類を示す図である。システムエリアは、スマートフォン１をオールリセット（初期化）した場合でも、当該エリアに書き込まれたデータが消去されない不揮発性の領域である。ここで、「オールリセット」とは、スマートフォン１が、ユーザにより記憶部３０に記憶させられたデータ（後述するユーザエリアに書き込まれたデータ）を全て消去することにより、スマートフォン１の状態を初回起動時の状態に戻す処理を示す。なお、「初回起動」とは、工場出荷以降に、スマートフォン１の電源が初めてＯＮになり、ＯＳ（operation system）が起動することを意味する。システムエリアにはスマートフォン１の基幹プログラムおよびツールに係るデータ、ならびに、工場出荷時にスマートフォン１にプリインストールされたアプリおよび各種設定パラメータが記憶されている。
【００１８】
キッティングエリアもシステムエリアと同様、不揮発性の記憶領域である。すなわち、スマートフォン１がオールリセットされた場合でも、キッティングエリアに書き込まれたデータは消去されない。なお、キッティングエリアは、後述する複製部１３４によってのみデータの書き込みが可能な記憶領域であることが望ましい。一方、ユーザエリアは揮発性の記憶領域である。すなわち、スマートフォン１がオールリセットされた場合、ユーザエリアに書き込まれたデータは消去される。また、ユーザエリアはキッティングエリアと異なりデータの書き込みが制限されない記憶領域である。ユーザエリアには、スマートフォン１の初回起動後（またはオールリセット後）にユーザがインストールしたアプリケーションプログラムやユーザが設定したパラメータ、およびユーザが記憶部３０に記憶させたデータファイルなどが書き込まれる。
【００１９】
（記憶部３０に書き込まれるデータ）
次に、記憶部３０に書き込まれるデータについて説明する。記憶部３０には、キッティングアプリプログラム３１と、キッティングサービスプログラム３２と、キッティングデータ３３（組込データ）とが書き込まれる。また、本実施形態において記憶部３０には、キッティングアプリ（後述）の起動設定を示す情報（図示せず）が書込まれる。
【００２０】
キッティングアプリプログラム３１は、キッティングアプリのプログラムである。ここで、「キッティングアプリ」とは、スマートフォン１が初回起動された、またはオールリセットされた場合に起動し、後述するキッティングサービスに当該サービスが行う処理を指示するアプリケーションである。また、キッティングサービスプログラム３２は、キッティングアプリの指示に応じて所定の処理を行うキッティングサービスのプログラムである。キッティングアプリプログラム３１およびキッティングサービスプログラム３２は、スマートフォン１の工場出荷時に記憶部３０のシステム領域に書き込まれる。換言すると、これらのプログラムはスマートフォン１の初回起動時にシステム領域にプリインストールされたプログラムである。
【００２１】
一方、キッティングデータ３３は、キッティングによりスマートフォン１に組み込む設定またはプログラムを示すデータである。本実施形態において、キッティングデータ３３は暗号化されたデータ（暗号化データ）としてＰＣ２から転送される。キッティングデータ３３は、ネットワーク設定の設定値（パラメータ）を含むことが望ましい。ここで、「ネットワーク設定」とは、スマートフォン１が他の装置と通話およびデータ通信の少なくともいずれかを行うことを可能にするための、パラメータの設定を意味する。なお、キッティングデータ３３はネットワーク設定の設定値以外にも、キッティングによりインストールするアプリケーションプログラムや、キッティングによりユーザの使用前にスマートフォン１において行う設定（例えば画面表示に係る設定や、通常使用するアプリケーションの設定など）を示す情報を含んでいてもよい。具体的には、キッティングデータ３３はＷｉｆｉ（登録商標）設定、ブラウザの設定、ホームページの設定、ブックマークの設定、メニュー画面などの背景画像（壁紙）の設定、メニュー画面のアイコン配置に係る設定などを含んでいてもよい。
【００２２】
作業用データ３４は、キッティングデータ３３のキッティングに係る処理に用いるデータである。本実施形態では、作業用データ３４は具体的には、暗号化データのハッシュ値をさらに暗号化したデータ（暗号化ハッシュ値）と、キッティングデータ３３に含まれるファイルの一覧を示すファイル一覧データとを含む。ファイル一覧データには、キッティングの際に利用するファイルのファイル名が記載されている。例えば、ファイル一覧データには、キッティングデータ３３のバージョンおよびフォーマットを記載したファイル、ＡＰＮ情報記載ファイル、ブックマーク情報記載ファイル、壁紙情報記載ファイルなどの設定ファイル、アプリケーションプログラムのファイル、壁紙画像の実体データなどのファイル名が記載されている。
【００２３】
制御部１０は、スマートフォン１を統括的に制御するものである。制御部１０は更に詳しくは、データ書込部１４と、アプリ実行部１２と、サービス実行部１３と、初期化実行部１１とを含む。
【００２４】
データ書込部１４は、ＰＣなどの外部機器から通信部２０を介して受信した、暗号化されたキッティングデータ（暗号化データ）および作業用データ３４を、記憶部３０のユーザエリアに書き込むものである。
【００２５】
アプリ実行部１２は、記憶部３０に書き込まれたキッティングアプリプログラム３１を読み出して実行するものである。換言すると、アプリ実行部１２はキッティングアプリを動作させるものである。アプリ実行部１２は、キッティングアプリの機能を実現するために、起動無効化部１２１と、キッティングエリア書込判定部１２２とを含んでいる。
【００２６】
起動無効化部１２１は、起動設定を変更するものである。ここで、「起動設定」とは、スマートフォン１の電源がＯＮになった場合にキッティングアプリを自動的に起動する（ＯＮ）か否か（ＯＦＦ）を示す値である。起動設定の初期値（工場出荷時の設定値）はＯＮである。起動無効化部１２１は、アプリ実行部１２によりキッティングアプリが起動されると、起動設定をＯＦＦに設定するとともに、当該設定を記憶部３０のユーザエリアに書き込む。上述のように、ユーザエリアに書き込まれた情報はオールリセットにより消去されるので、結果的にキッティングアプリは、スマートフォン１の初回起動時と、オールリセット後のスマートフォン１の最初の起動時とに起動する。
【００２７】
キッティングエリア書込判定部１２２は、キッティングデータ３３がキッティングエリアに書き込まれているか否かを判定するものである。キッティングアプリが起動すると、キッティングエリア書込判定部１２２はキッティングエリアにキッティングデータ３３が書込まれているか否かを判定し、判定結果をサービス実行部１３に通知する。なお、キッティングエリア書込判定部１２２はキッティングデータ３３ではなく、キッティングデータ３３とともに転送される作業用データ３４がキッティングエリアに書き込まれているか否かを判定し、当該判定結果をサービス実行部１３に送信してもよい。
【００２８】
サービス実行部１３は、記憶部３０に書き込まれたキッティングサービスプログラム３２を読み出して実行するものである。換言すると、サービス実行部１３はキッティングサービスを動作させるものである。サービス実行部１３は、キッティングサービスの機能を実現するために、ユーザエリア監視部１３１と、復号部１３２（ハッシュ値算出部、復号部）と、データチェック部１３３と、複製部１３４と、設定部１３５とを含んでいる。
【００２９】
なお、サービス実行部１３は、キッティングエリア書込判定部１２２の判定結果に応じて、キッティングサービスの各種機能のうち実行する機能を決定する。より具体的には、キッティングエリアにキッティングデータ３３（または作業用データ３４）が書込まれていない場合、サービス実行部１３はユーザエリア監視部１３１における処理を開始する。一方、キッティングエリアにキッティングデータ３３（または作業用データ３４）が書込まれている場合、サービス実行部１３は設定部１３５の処理を開始する。
【００３０】
ユーザエリア監視部１３１は、記憶部３０のユーザエリアに対する暗号化データの書き込みを検知するものである。ユーザエリア監視部１３１は、キッティングサービスの動作中、所定の時間間隔または所定のタイミングで、ユーザエリアに暗号化データが書き込まれたか否かを確認する。ユーザエリアに暗号化データが書き込まれた場合、ユーザエリア監視部１３１は、復号部１３２に暗号化データを復号するように指示する。なお、ユーザエリア監視部１３１は暗号化データとともにユーザエリアに書き込まれる作業用データ３４に基づいて、暗号化データがユーザエリアに存在するか否かを判定してもよい。具体的には、ユーザエリア監視部１３１は、作業用データ３４がユーザエリアに書き込まれている場合は暗号化データがユーザエリアに書き込まれたと判定し、書き込まれていない場合には、暗号化データがユーザエリアに書き込まれていないと判定し、当該判定結果を復号部１３２に送信してもよい。
【００３１】
復号部１３２は、暗号化データを復号するものである。また、復号部１３２は、暗号化データおよび暗号化ハッシュ値を用いて、当該暗号化データを復号したデータ（復号データ）が正規のデータ（正規の供給者が生成したデータ）であるか否かを検証するものである。復号部１３２におけるデータの復号処理および正規データか否かの検証に係る処理については、後で詳述する。復号データが正規のデータである、すなわちキッティングデータ３３である場合、復号部１３２は当該復号データ（キッティングデータ３３）および作業用データ３４をデータチェック部１３３に送る。
【００３２】
データチェック部１３３は、復号部１３２から取得したキッティングデータ３３のバージョン情報およびフォーマット情報を参照することにより、キッティングデータ３３がスマートフォン１の機種に対応したバージョンおよびフォーマットであるか否かを判定するものである。キッティングデータ３３がスマートフォン１の機種に対応するバージョンおよびフォーマットである場合、データチェック部１３３は複製部１３４にキッティングデータ３３および作業用データ３４を送る。一方、キッティングデータ３３がスマートフォン１の機種に対応しないバージョンまたはフォーマットである場合、データチェック部１３３は複製部１３４にキッティングデータ３３および作業用データ３４を送信せず処理を終了する。
【００３３】
なお、複製部１３４にキッティングデータ３３および作業用データ３４を送信しない場合、サービス実行部１３はキッティングサービスプログラム３２の実行を終了する。すなわち、キッティングサービスを終了させる。
【００３４】
複製部１３４は、データチェック部１３３から取得したキッティングデータ３３を記憶部３０のキッティング領域に複製するものである。また複製部１３４は、当該複製の終了後に、ユーザエリアに書き込まれている暗号化データおよび作業用データ３４を削除する。複製部１３４はキッティングエリアへのキッティングデータ３３および作業用データ３４の複製と、ユーザエリアの暗号化データおよび作業用データ３４の削除とが完了すると、設定部１３５に設定データの示す設定値の反映を指示する。
【００３５】
設定部１３５は、キッティングエリアに書き込まれたキッティングデータ３３を読み出し、キッティングデータ３３が示す設定（およびアプリケーション）をスマートフォン１に組込むものである。設定部１３５は、複製部１３４またはユーザエリア監視部１３１からの指示を受けて、上記組込みを行う。設定部１３５が具体的にどのような設定またはアプリケーションをスマートフォン１に組込むのかについては、後で詳述する。設定部１３５は、上記組込が完了した場合に、当該組込の完了を表示制御部１５に通知する。
【００３６】
初期化実行部１１は、スマートフォン１のオールリセットを実行するものである。初期化実行部１１は、ユーザによりオールリセットを指示する操作が行われると、当該操作に応じて記憶部３０のユーザエリアに書き込まれたデータを消去する。これにより、スマートフォン１における各種設定およびスマートフォン１に含まれるアプリケーションは、工場出荷時の状態に戻る。
【００３７】
表示制御部１５は、キッティングデータ３３の転送開始と、キッティングデータ３３の組込完了とを示す表示を表示部４０に行わせるものである。表示制御部１５は、データ書込部１４から、キッティングデータ３３および作業用データのユーザエリアへの書き込みを開始した旨を通知されると、上記書込みの開始を示す画像を表示部４０に表示させる。また、表示制御部１５は、設定部１３５からキッティングデータ３３の組込が完了した旨を通知されると、上記組込が完了したことを示す画像を表示部４０に表示させる。もしくは、表示制御部１５は、表示部４０に、上記書込みの開始を示す画像の表示を停止させる。
【００３８】
表示部４０（書込開始通知部、組込完了通知部）は、表示制御部１５の制御にしたがって画像を表示するものである。
【００３９】
≪キッティング時の処理の流れ≫
次に、キッティング時のスマートフォン１の動作について、図３および図４を用いて説明する。図３は、スマートフォン１に対しキッティングを行う場合の、スマートフォン１における処理の流れを示すフローチャートである。なお、図６の点線で囲った処理は、キッティングサービスの機能として実行される処理を示す。
【００４０】
スマートフォン１が初回起動時にキッティングアプリを起動する（Ｓ１００）。すなわち、アプリ実行部１２はキッティングアプリプログラム３１を読み出し、キッティングアプリとしての各種処理を開始する。具体的には、キッティングエリア書込判定部１２２は、キッティングエリアにキッティングデータ３３が書き込まれているか否かを判定する。ここで、図３に示した例はスマートフォン１に対しこれからキッティングを行う例であるため、Ｓ１００の時点ではキッティングデータ３３はキッティングエリアに書き込まれていない。したがって、キッティングエリア書込判定部１２２はサービス実行部１３に、キッティングエリアにキッティングデータ３３が書き込まれていない旨を通知する。また、Ｓ１００の時点で起動無効化部１２１は、キッティングアプリの起動設定をＯＦＦとする。
【００４１】
サービス実行部１３は、キッティングエリア書込判定部１２２の通知を受けてキッティングサービスを起動する（Ｓ１０２）。具体的には、ユーザエリア監視部１３１はキッティングサービスの一機能として、ユーザエリアの監視を開始する。スマートフォン１はこのように、キッティングサービスを起動した（ユーザエリアの監視を行っている）状態で、ＰＣ２との接続およびキッティングデータ３３の転送が開始されるまで待機する。
【００４２】
このような状態で、ＰＣ２とスマートフォン１とが接続されると（Ｓ１０４）、スマートフォン１は通信部２０を介し、ＰＣ２とのデータ通信（ＭＴＰモードでの通信）を開始する。具体的には、スマートフォン１のデータ書込部１４は通信部２０を介しＰＣからキッティングデータ３３および作業データを受信する（Ｓ１０６）。そしてデータ書込部１４は、受信したキッティングデータ３３および作業用データの、ユーザエリアへの書き込みを開始する。また、データ書込部１４は当該書き込みの開始時に、表示制御部１５に対し、書き込み開始を通知する。そして、表示制御部１５は表示部４０に、キッティングを開始したことを示す画像を表示させる。例えばスマートフォン１は自端末の表示部に「設定中」と表示することにより、キッティングデータ３３のユーザエリアへの書き込み（および当該書き込みに続く処理）を開始したことをユーザに通知する。
【００４３】
ユーザエリア監視部１３１は、ユーザエリアにファイル一覧データ（control.xml）が書き込まれるまで待機する（Ｓ１０８でＮＯ）。ファイル一覧データが書込まれると、ユーザエリア監視部１３１は当該データを検知し（Ｓ１０８でＹＥＳ）参照することにより、復号すべき（キッティング対象となる）暗号化データと、当該暗号化データに対応する暗号化ハッシュ値とを特定する。そして、ユーザエリア監視部１３１は、上記暗号化データおよび暗号化ハッシュ値を復号するように復号部１３２に指示する。なお、上記暗号化データおよび暗号化ハッシュ値がそれぞれ複数ある（暗号化データおよび暗号化ハッシュ値の組み合わせが複数ある）場合、ユーザエリア監視部１３１は各組み合わせについて、順次復号するよう復号部１３２に指示する。
【００４４】
復号部１３２はユーザエリア監視部１３１の上記指示を受けると、暗号化データおよび暗号化ハッシュ値を復号する（Ｓ１１２）。また、復号部１３２は復号したキッティングデータ３３が正規のキッティングデータ（スマートフォン１のメーカーが作成したキッティングデータ３３）であるか否かを確認する（Ｓ１１４）。ここで、復号したキッティングデータ３３が正規のデータである場合、復号部１３２は復号したキッティングデータ３３をデータチェック部１３３に送信する。一方、復号したキッティングデータ３３が正規のキッティングデータでない場合、復号部１３２はデータチェック部１３３にキッティングデータ３３を送信せず、次の暗号化データの復号を行う。
【００４５】
データチェック部１３３は、復号部１３２から復号されたキッティングデータ３３を取得すると、キッティングデータ３３のバージョンおよびフォーマットがスマートフォン１に対応したバージョンおよびフォーマットであるか否かを確認する（Ｓ１１６）。キッティングデータ３３のバージョンおよびフォーマットがスマートフォン１に対応している場合（Ｓ１１８でＹＥＳ）、データチェック部１３３は複製部１３４に対しキッティングデータ３３を送信するとともに、キッティングデータ３３および作業用データ３４の複製を指示する。一方、キッティングデータ３３のバージョンまたはフォーマットがスマートフォン１に対応していない場合（Ｓ１１８でＮＯ）、データチェック部１３３は複製部１３４に上記指示を行わず、復号部１３２から次のキッティングデータ３３が送られてくるまで待機する。
【００４６】
複製部１３４は、データチェック部１３３から指示を受けると、キッティングデータ３３をキッティングエリアに書き込む。すなわち、キッティングデータ３３をキッティングエリアに複製する（Ｓ１２０）。サービス実行部１３は、全ての暗号化データについてＳ１１２〜Ｓ１２０の処理を繰り返す（Ｓ１２２でＮＯ）。全ての暗号化データについてＳ１１２〜Ｓ１２０の処理が完了すると（Ｓ１２２でＹＥＳ）、複製部１３４は設定部１３５にキッティングデータ３３の組み込みを指示する。設定部１３５は複製部１３４の上記指示を受け、キッティングデータ３３の組み込み処理（自動設定処理）を行う（Ｓ１２４）。なお、自動設定処理の詳細については後述する。最後に、設定部１３５は上記自動設定処理が完了すると、当該完了を表示制御部１５に通知する。表示制御部１５は上記通知を受けると、表示部４０に、キッティングが完了したことを示す画像を表示させる。例えばスマートフォン１は表示部４０の「設定中」という文字の表示を消す（表示させる画像を変更する）ことで、キッティングが完了したことを示す。
【００４７】
以上の処理により、スマートフォン１はＰＣ２との通信において、特別なデバイスやツール等を使用せずとも（ＰＣ２にデバイスやツールを新たにインストールせずとも）、ＰＣ２に予め備わっている通信方式（ＭＴＰなど）で暗号化データおよび作業用データを取得（ユーザエリアに書き込み）することができる。さらに、スマートフォン１は当該暗号化データから復号したキッティングデータ３３と作業用データとをキッティングエリアに複製することで、スマートフォン１がオールリセットされてもキッティングデータ３３が消去されない状態にすることができる。
【００４８】
なお、スマートフォン１は本発明を実現するにあたり、図３に示すフローチャートにおける各ステップのうち、Ｓ１０６、Ｓ１０８、Ｓ１２０、およびＳ１２４を少なくとも行えばよい。換言すると、スマートフォン１においてＳ１０６、Ｓ１０８、Ｓ１２０、およびＳ１２４以外のステップは必須ではない。
【００４９】
また、図３の例ではＳ１１２〜Ｓ１２０の処理を、キッティングデータ３３それぞれについて（１ファイルずつ）行うこととした。しかしながら、暗号化データが複数ある場合、ユーザエリア監視部１３１はこれら複数の暗号化データ（および対応する暗号化ハッシュ値）の復号をまとめて復号部１３２に指示してもよい。
【００５０】
≪キッティング時の記憶領域および画面表示≫
図４は、キッティングの前後における、スマートフォン１の記憶部３０およびスマートフォン１の画面表示を示す図である。なお、同図にてＰＣ２の画面上に表示されるウィンドウａ１〜ａ５は、ＭＴＰモードで接続中のスマートフォン１の、記憶部３０のユーザエリアをＰＣ２側からファイル管理ツール（例えばWindows（登録商標）のエクスプローラ）にて閲覧した場合のウィンドウを示している。ウィンドウａ１〜ａ４に表示されている「□kittingdata」は暗号化データをまとめたデータフォルダを示す。また、「□kitthinghash」は、暗号化ハッシュ値をまとめたデータフォルダを示す。また、「control.xml」は作業用データ３４のファイル一覧データを示す。また、「Ａ００１０２」〜「Ａ００１０４」は、キッティングの進捗を示すファイルであり、キッティング開始時（ＰＣ２からのデータ転送開始時）にサービス実行部１３にて自動生成されるファイルである。
【００５１】
図４の（ａ）は、データ書込部１４が暗号化データの書き込みを完了した時点（図３のＳ１０８でＹＥＳ）のスマートフォン１の表示画面と記憶部３０とを示している。上述の通り、ＰＣ２から取得した暗号化データおよび作業用データは、データ書込部１４によりユーザエリアに書き込まれるので、ウィンドウａ１には図示の通り、kittingdataフォルダと、kittinghashフォルダおよびcontrol.xmlファイルとが表示される。また、スマートフォン１の表示部４０は、データ書込部１４によるデータの書き込みが開始されたときから「設定中」と文字の表示を開始する。
【００５２】
図４の（ｂ）は、複製部１３４によりキッティングデータ３３の複製が行われたとき（図３のＳ１２０）のスマートフォン１の表示画面と記憶部３０とを示している。図４の（ａ）にてユーザエリアに書き込まれていた暗号化データは復号部１３２により復号されキッティングデータ３３として、複製部１３４によって作業用データとともにキッティングエリアへと書き込まれる。この段階ではユーザエリアに書き込まれたデータは変化していないので、ウィンドウａ２はウィンドウａ１と同様のフォルダおよびファイルを表示する。
【００５３】
図４の（ｃ）は、複製部１３４の処理が完了した時点でのスマートフォン１の表示画面と記憶部３０とを示す。複製部１３４により、ユーザエリアに書き込まれた暗号化データおよび作業用データは消去されるため、ウィンドウａ３にはキッティングの進捗を示すファイルのみが表示される。ここで、当該ファイルのファイル名は、キッティングの進捗に応じて変更される。すなわち、図４の（ｂ）の時点でファイル名が「Ａ００１０２」であったファイルが、複製部１３４の処理（ユーザエリアの暗号化データ消去）が完了したことを示す「Ａ００１０３」へと変更される。
【００５４】
図４の（ｄ）は、自動設定処理（図３のＳ１２４）が開始された時点でのスマートフォン１の表示画面および記憶部３０を示す。自動設定処理が開始されると、設定部１３５は、スマートフォン１の各種設定へキッティングデータ３３に含まれる設定値を反映させ始める。なお、反映される設定値は図示の通り、ユーザエリアに書き込まれる。図４の（ｅ）は、自動設定処理が終了した後のスマートフォン１の表示画面および記憶部３０を示す。自動設定処理が終了する、すなわち、上述した設定値の反映が終了すると、スマートフォン１の表示部４０は、表示制御部１５の指示に従い、図７の（ｄ）の時点まで表示していた「設定中」との文字の表示を消す。また、キッティングの進捗を示すファイルのファイル名は、キッティングデータの仕向け、バージョン、キッティングが正常に終了したことが分かるファイル名「Ａ００１０１」へと変更される。
【００５５】
（暗号化および復号化処理）
続いて、ＰＣ２から転送される暗号化データおよび暗号化ハッシュ値に施されている暗号化と、復号部１３２が行う復号（図３のＳ１１２）およびキッティングデータ３３が正規データか否かの判定（図３のＳ１１４）について、図５を用いて説明する。図５は、キッティングデータ３３の暗号化および復号の処理手順と、暗号化データのハッシュ値の比較判定とを示す図である。まず始めに、ＰＣ２から転送する暗号化データおよび暗号化ハッシュ値の作成方法について説明する。なお、図中の「a.apk」はアプリケーションファイルを示し、「aa.apk」は「a.apk」を暗号化したデータ（暗号化データ）である。
【００５６】
スマートフォン１のメーカー（またはメーカーにより承認を受けた企業など）は、コンピュータを用いてまずキッティングデータ３３（a.apk）を暗号化する（同図の（１））。このときの暗号化の方式は特に限定されないが、暗号化の処理速度の速い共通鍵暗号化方式（ＡＥＳ１２８）が好ましい。次に、メーカー等は、暗号化データ（aa.apk）から暗号化データのハッシュ値（ＳＨＡ−２５６等）を生成する（同図の（２））。そして、当該ハッシュ値を秘密鍵（ＲＳＡ−２０４８）で暗号化することにより（同図の（３））、暗号化ハッシュ値を生成（算出）する。メーカー等が作成したデータのうち、暗号化データと暗号化ハッシュ値とが、メーカーからスマートフォン１の販売者などキッティングの実行者にわたる。そして、暗号化データおよび暗号化ハッシュ値は、キッティングの際にスマートフォン１に転送される。
【００５７】
スマートフォン１において図３に示したようにキッティングが開始されると、スマートフォン１はＰＣ２を介して暗号化データおよび暗号化ハッシュ値を取得する。そして、図３のＳ（Ｓ１１２）において、復号部１３２が暗号化データおよび暗号化ハッシュ値の復号を行い、図３のＳ１１４にてハッシュ値の比較判定を行う。具体的には、復号部１３２は、aa.apkからaa.apkのハッシュ値（ＳＨＡ−２５６等）を生成する（図５の（４））。また復号部１３２は、暗号化ハッシュ値を公開鍵で復号しaa.apkのハッシュ値（復号したハッシュ値）を特定する。そして復号部１３２は、両者のハッシュ値を比較する。換言すると、復号部１３２は、（４）の処理で生成したハッシュ値と、（５）の処理で復号したハッシュ値とが一致するか否か判定する（６）。
【００５８】
このように、本実施形態では、メーカーのＰＣ等にて秘密鍵で暗号化された暗号化ハッシュ値をスマートフォン１に送信し、復号部１３２にて公開鍵で復号する。また、復号部１３２はさらに、公開鍵で復号したハッシュ（aa.apkのハッシュ値）と、スマートフォン１にて生成したハッシュ値との比較照合を行う。なお、復号部１３２は暗号化データ自体も共通鍵を用いてキッティングデータ３３へと復号し、上述のように複製部１３４にキッティングエリアに格納させる。
【００５９】
キッティングデータ３３は、ＰＣ２からスマートフォン１に転送した場合、スマートフォン１のオールリセットでも消去されない記憶領域（キッティングエリア）に書き込まれる。換言すると、キッティングデータ３３に悪意のあるプログラムや設定が含まれていた場合、当該キッティングデータ３３を一旦スマートフォン１に転送してしまうと、消去するのが困難になる。これに対し、上述のようにキッティングデータ３３をメーカー側で暗号化しておき、スマートフォン１にて復号させることにより、キッティングデータ３３が正規のデータ（メーカーなどの正規の作成者により作成されたキッティングデータ３３）であることを確認することができキッティングの安全性が高まる。
【００６０】
また、一般的に秘密鍵から公開鍵を生成することは容易であるが、公開鍵から秘密鍵を生成することは困難である。したがって、例えばスマートフォン１のrootが奪取されるなどして復号部１３２が用いる鍵が流出した場合でも、秘密鍵を生成することはできない。そのため、秘密鍵を用いて生成する暗号化ハッシュ値を生成できず、よって非正規のキッティングデータ３３が正規データであると改ざんされることを防ぐことができる。
【００６１】
≪オールリセット時の処理≫
続いて、スマートフォン１をオールリセットした場合の、当該スマートフォン１の処理動作について図６〜７を用いて説明する。図６は、スマートフォン１をオールリセットする場合の、スマートフォン１の処理の流れを示すフローチャートである。また図７は、オールリセットを行った場合の記憶部３０を示す図である。なお、図６の二重線で囲った処理は、キッティングアプリの機能として実行される処理を示す。一方、図６の点線で囲った処理は、キッティングサービスの機能として実行される処理を示す。
【００６２】
オールリセットを指示する操作（例えば端末のメニュー画面からオールリセットを選択する操作）がスマートフォン１に対し行われると（Ｓ２００）、初期化実行部１１は当該操作に応じてオールリセットを実行する（Ｓ２０２）。図７の（ａ）は、オールリセットを行った際の記憶部３０を示している。図示の通り、オールリセットが実行されると、記憶部３０のユーザエリアに書き込まれたデータが消去される。またこのとき、ユーザエリアに書き込まれていた、キッティングアプリの起動設定の値（ＯＦＦ）も消去され初期値（ＯＮ）に戻る。
【００６３】
そのため、オールリセットに伴ってスマートフォン１が再起動された場合、アプリ実行部１２によりキッティングアプリが起動する（Ｓ２０４）。キッティングアプリが起動すると、キッティングエリア書込判定部１２２は、キッティングエリアにキッティングデータ３３が書き込まれているか否かを判定する（Ｓ２０６）。ここで、図６に示す例では、スマートフォン１は初回起動後にオールリセットされているため、記憶部３０のキッティングエリアにはキッティングデータ３３が書き込まれている（図７の（ａ））。したがって、キッティングエリア書込判定部１２２はキッティングエリアにキッティングデータ３３が書き込まれていると判定し（Ｓ２０６でＹＥＳ）、当該判定結果をサービス実行部１３に通知する。
【００６４】
サービス実行部１３は、キッティングサービスを起動させると、自動設定処理を行う（Ｓ１２４）。図７の（ｂ）は、自動設定処理を実行中の記憶部３０を示している。図示の通り、サービス実行部１３の設定部１３５は、キッティングエリアに書き込まれたキッティングデータ３３を参照し、当該データの示す設定およびアプリケーションのインストールを行う。図７の（ｃ）は、当該設定およびインストールが全て反映された時点の記憶部３０を示す。図示の通り、記憶部３０のユーザエリアには、キッティングデータ３３に応じて設定値（またはアプリケーション）が反映される。自動設定処理が終了すると、サービス実行部１３はキッティングサービスの起動を停止し、アプリ実行部１２もキッティングアプリの起動を停止する。なお、キッティングアプリの終了前に、起動無効化部１２１はキッティングアプリの次回からの起動を無効化する（Ｓ２１０）。
【００６５】
一方、キッティングエリアにキッティングデータ３３が書き込まれていない（Ｓ２０６でＮＯ）場合、スマートフォン１に対しキッティングが行われていないと考えられる。このような場合、キッティングエリア書込判定部１２２は以降の処理を行わず、アプリ実行部１２はキッティングアプリを終了する。なおこの場合も、起動無効化部１２１はキッティングアプリの終了前にキッティングアプリの次回からの起動を無効化する（Ｓ２１０）。
【００６６】
以上の処理により、スマートフォン１は、オールリセットを実行した際にも、キッティングエリアに書き込まれたキッティングデータ３３から、当該キッティングデータ３３が示す設定またはアプリケーションのインストールを自動的に行うことができる。すなわち、スマートフォン１はオールリセットを実行した際も、キッティングされた設定およびアプリケーションを復元することができる。
【００６７】
なお、スマートフォン１は本発明を実現するにあたり、図６に示すフローチャートにおける各ステップのうち、Ｓ２０２、Ｓ２０６、およびＳ１２４の処理を少なくとも行えばよい。換言すると、スマートフォン１においてＳ２０２、Ｓ２０６、およびＳ１２４以外のステップは必須ではない。
【００６８】
≪自動設定処理≫
最後に、設定部１３５が行う自動設定処理について、図８を用いて説明する。図８は、図３および図６に記載の自動設定処理（Ｓ１２４）の流れを示すフローチャートである。まず始めに、設定部１３５はキッティングデータ３３に格納されたあらかじめ決められた名前の、設定または処理を規定したファイルを確認する（Ｓ３００）。
【００６９】
次に、設定部１３５はキッティングデータ３３にネットワーク設定に係るデータが含まれているか否かを確認する（Ｓ３０２）。ネットワーク設定に係るデータが含まれている場合（Ｓ３０２でＹＥＳ）、設定部１３５はネットワーク設定のうち、任意または所定の設定値を規定する部分に、キッティングデータ３３が示す設定値を反映させることによりネットワーク設定を行う（Ｓ３０４）。一方ネットワーク設定に係るデータが含まれていない場合（Ｓ３０２でＮＯ）、設定部１３５は上記Ｓ３０４の処理を行わず、次のステップに進む。
【００７０】
以降、設定部１３５はキッティングデータ３３が示す各種設定およびキッティング対象となるアプリケーションのインストールを順次行う。具体的には、設定部１３５はキッティングデータ３３に無線ＬＡＮ（例えばＷｉｆｉ（登録商標）など）設定の設定値が含まれているか否かを判定し（Ｓ３０６）、含まれている場合は当該キッティングデータ３３が示す設定値を無線ＬＡＮ設定に反映させることにより無線ＬＡＮ設定を行う（Ｓ３０８）。また、設定部１３５はキッティングデータ３３にアプリケーションプログラムのデータが含まれているか否かを判定し（Ｓ３１０）、含まれている場合は上記アプリケーションをスマートフォン１にインストールする（Ｓ３１２）。なお、設定部１３５はキッティングデータ３３に、所定のアプリケーション（オールリセット時に組込まれている標準アプリケーションなど）のアンインストール指示を示すデータが含まれる場合、当該所定のアプリケーションをアンインストールしてもよい（Ｓ３１２）。
【００７１】
さらに、設定部１３５はスマートフォン１の通常使用のブラウザ（以降、標準ブラウザと称する）に係る設定を行ってもよい。例えば、設定部１３５はキッティングデータ３３に標準ブラウザのホームページ設定に係るデータが含まれているか否かを判定し（Ｓ３１４）、含まれている場合はキッティングデータ３３が示す設定値（ホームページのＵＲＬなど）を反映させることにより、ホームページ設定を行ってもよい（Ｓ３１６）。また、標準ブラウザにおけるブックマークページに係る設定値（ＵＲＬ等）がキッティングデータ３３に含まれているか否かを判定し（Ｓ３１８）、含まれている場合は当該設定値を反映させることにより、ブックマーク設定を行っても良い（Ｓ３２０）。
【００７２】
さらに設定部１３５は、キッティングデータ３３がメニュー画面のアプリケーションアイコンの配置順序および配置位置など、スマートフォン１におけるアプリケーションの配置に係る設定値を含むか否かを判定し（Ｓ３２２）、含む場合は当該設定値を反映させることにより、アプリケーションアイコンの初期配置を設定してもよい（Ｓ３２４）。
【００７３】
なお、スマートフォン１は本発明を実現するにあたり、図８に示すフローチャートにおける各ステップのうち、Ｓ３０２およびＳ３０４、もしくはＳ３０６およびＳ３０８の少なくともいずれかの処理を行えばよい。換言すると、スマートフォン１において、Ｓ３０２またはＳ３０６のようにキッティングデータ３３から設定値を読み出す処理と、Ｓ３０４またはＳ３０８のように上記設定値を反映させるステップ以外のステップは必須ではない。また、設定部１３５が図８に示した判定処理を行う順序は特に限定されない。さらに、設定部１３５が図８に示した、キッティングデータ３３に基づく設定（またはアプリケーションのインストール）処理の順序も特に限定されない。
【００７４】
〔実施形態２〕
なお、キッティングアプリプログラム３１およびキッティングサービスプログラム３２は工場出荷時にスマートフォン１にプリインストールされる代わりに、ＰＣ２からキッティングデータ３３および作業用データ３４とともに転送されてもよい。この場合、キッティングアプリプログラム３１の実現するキッティングアプリは、起動時にキッティングアプリプログラム３１およびキッティングサービスプログラム３２を複製し、キッティングエリアにコピーする機能を有する。また、キッティングアプリプログラム３１の実現するキッティングアプリは、キッティングエリアへのデータ書込みを許可する旨を示す、特別なデジタル署名が施されている。データ書込部１４は取得したキッティングアプリプログラム３１およびキッティングサービスプログラム３２をユーザエリアに書き込む。アプリ実行部１２はキッティングアプリプログラム３１がユーザエリアに書き込まれるとキッティングアプリを起動し、当該アプリの機能として、キッティングアプリプログラム３１およびキッティングサービスプログラム３２をキッティングエリアに書込む。
【００７５】
これにより、工場出荷時にスマートフォン１にキッティングアプリプログラム３１およびキッティングサービスプログラム３２をプリインストールしていない場合でも、スマートフォン１はＰＣ２からダウンロードしたキッティングアプリプログラム３１およびキッティングサービスプログラム３２を用いて、実施形態１にて説明したキッティング時の処理や、オールリセット時の処理を行うことができる。つまり、スマートフォン１は工場出荷時に、キッティングを行うためのデータをプリインストールしていない場合でも、上記キッティングおよびオールリセット時の処理を行うことができる。
【００７６】
〔実施形態３〕
なお、上記各実施形態で説明したキッティング方法は、Ｓｉｍフリーのスマートフォンにおいて特に有効である。以下、Ｓｉｍフリーのスマートフォンに本発明を適用した場合の利点について、Ｓｉｍロックされたスマートフォンとその特性を比較しながら説明する。Ｓｉｍロックされた（大手通信事業者向けモデルの）スマートフォンでは、工場出荷時に記憶部のシステムエリアに対し、スマートフォンの標準アプリケーションと、通信事業者固有の設定およびアプリケーション（例えば、Ｓｉｍカードとスマートフォンとの紐付けを行う機能など）がプリインストールされる。
【００７７】
また、Ｓｉｍロックされたスマートフォンを販売する場合、販売者はスマートフォンと、当該スマートフォンの通信契約の内容（通信事業者およびスマートフォンの利用者の情報）が記憶されたＳｉｍカードとをセットで販売する。そのため、ユーザは購入したスマートフォンに特段の設定を施さずとも、通信事業者固有の設定でスマートフォンの通信を使用することができる。そして、上述のように事業者固有の設定は工場出荷時にシステムエリアに書き込まれているので、スマートフォンを初期化した場合でも上記設定は復元される。
【００７８】
一方、通信事業者に依存しない（Ｓｉｍフリーの）スマートフォンの場合、当該スマートフォンを販売するＭＶＮＯ（Mobile Virtual Network Operator：仮想移動体通信事業者）などは、Ｓｉｍカードとスマートフォンとを別個に販売する場合がある。もしくは、ユーザがＳｉｍカードをすでに所持しており、Ｓｉｍフリーの端末のみを購入する場合もある。このような場合、工場出荷時に通信事業者固有の設定およびアプリケーションをプリインストールすることは困難である。ゆえに、Ｓｉｍフリーのスマートフォンでは、工場出荷時に標準アプリケーションはプリインストールされるが、通信事業者固有のネットワーク設定などはプリインストールされない。そのため、一部のＭＶＮＯなどは、スマートフォンや通信事業者の仕様に合わせた設定のキッティングを行っている。しかしながら、従来のキッティング方法ではキッティングを行っても、スマートフォンのオールリセットにより設定が工場出荷時に戻ってしまうという問題があった。
【００７９】
これに対し、上記各実施形態に記載のスマートフォン１およびキッティング方法では、スマートフォン１がオールリセットされても復元される設定を、ＰＣ２で特別な設定や処理を行わずにキッティングすることができる。したがって、スマートフォン１がＳｉｍフリーのスマートフォンである場合でも、ＭＶＮＯなどはスマートフォン１を購入したユーザのＳｉｍカードとスマートフォン１との紐付けや、スマートフォン１の通信に利用する通信事業者の固有設定などをネットワーク設定として、上記各実施形態にて説明した方法でキッティングすることにより、オールリセットされても復元されるようにネットワーク設定をキッティングすることができる。
【００８０】
〔ソフトウェアによる実現例〕
スマートフォン１の制御ブロック（特に制御部１０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００８１】
後者の場合、スマートフォン１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８２】
〔まとめ〕
本発明の態様１に係る情報処理端末（スマートフォン１）は、外部機器（ＰＣ２）と通信する情報処理端末であって、自端末に組み込む設定またはプログラムを示すデータである組込データ（キッティングデータ３３）が、自端末の初期化（オールリセット）後に書き込まれたデータが消去される記憶領域である揮発性記憶領域（ユーザエリア）に書き込まれた場合、上記初期化の後も書き込まれたデータが消去されない記憶領域である不揮発性記憶領域（キッティングエリア）に当該組込データを複製する複製部（複製部１３４）と、上記複製部が上記組込データを上記不揮発性記憶領域に複製した場合、または上記複製部が上記複製を行った後に上記初期化が実行された場合に、上記組込データを自端末に組込む設定部（設定部１３５）と、を備える。
【００８３】
上記構成によると、情報処理端末は、外部機器から取得した組込データを揮発性領域に書き込み、その後複製部により不揮発性領域へ複製する。これにより複製部は、情報処理端末が初期化されてもデータが消去されない記憶領域に、組込データを書き込むことができる。そして、設定部は、不揮発性記憶領域に書き込まれた組込データを情報処理端末に組込むことができる。また設定部は、情報処理端末の初期化の際にも同様に、不揮発性記憶領域に書き込まれた組込データを情報処理端末に組込むことができる。
【００８４】
これにより、情報処理端末に対し、初期化しても復元可能な設定をキッティングにより組み込むことができる。さらに、外部機器は、組込データの転送に係る特別なツールやデバイスを備えていなくても、当該記憶領域へのデータ書込み、すなわち外部機器からのデータ転送が可能である。
【００８５】
本発明の態様２に係る情報処理端末は、上記態様１において、上記組込データの代わりに上記組込データを暗号化した暗号化データと、上記暗号化データのハッシュ値をさらに暗号化した暗号化ハッシュ値とを上記外部機器から取得して上記揮発性記憶領域に書き込むデータ書込部（データ書込部１４）と、上記暗号化データが上記揮発性記憶領域に書き込まれた場合、上記暗号化データのハッシュ値を算出するハッシュ値算出部（復号部１３２）と、上記暗号化データが上記揮発性記憶領域に書き込まれた場合、上記暗号化データを組込データに復号するとともに、上記暗号化ハッシュ値を上記暗号化データのハッシュ値に復号する復号部（復号部１３２）と、を備え、上記複製部は、上記ハッシュ値算出部が算出したハッシュ値と、上記復号部が復号したハッシュ値とが一致する場合に、上記組込データを複製し上記不揮発性記憶領域に書き込んでもよい。
【００８６】
組込データは、情報処理端末のオールリセットでもデータが消去されない不揮発性記憶領域に書き込まれる。換言すると、組込データに悪意のあるプログラムや設定が含まれていた場合、当該組込データを一旦情報処理端末に転送してしまうと、消去するのが困難になる虞がある。一方、上記構成によると、組込データは情報処理端末に送信する前に予め暗号化されており、情報処理端末の復号部は暗号化データおよび暗号化ハッシュ値を復号する。そして複製部は、暗号化データのハッシュ値と、暗号化ハッシュ値を復号したものとが一致する場合、組込データを複製する。したがって、複製部は、組込データが正規のデータ（メーカーなどの正規の作成者により作成されたデータ）である場合に組込データを複製することができる。
【００８７】
なお、本発明の情報処理端末は、上記態様２において、上記暗号化ハッシュ値は秘密鍵を用いて暗号化されたものであり、上記復号部は上記暗号化ハッシュ値を、公開鍵を用いて復号してもよい。
【００８８】
上記構成によると、復号部は、秘密鍵を用いて予め暗号化された組込データを、公開鍵を用いて復号する。
【００８９】
一般的に公開鍵から秘密鍵を生成することは困難である。したがって、例えば情報処理端末が保持する鍵が流出しても、流出した公開鍵から秘密鍵を生成することは困難である。したがって、上記構成によれば、暗号が第３者に解読されることを防ぐことができ、よって組込データの改ざんを防ぐことができる。
【００９０】
本発明の態様３に係る情報処理端末は、上記態様１から２のいずれか一態様において、上記揮発性記憶領域への上記組込データの書き込みが開始されたことを通知する書込開始通知部（表示部４０）を備えていてもよい。
【００９１】
上記構成によると、書込開始通知部は、組込データを情報処理端末に送信した外部機器のユーザ、または情報処理端末のユーザに対し、情報処理端末における組込データの書き込み開始を示すことができる。
【００９２】
本発明の態様４に係る情報処理端末は、上記態様１から３のいずれか一態様において、上記設定部が上記組込データの組込みを完了したことを通知する組込完了通知部（表示部４０）を備えていてもよい。
【００９３】
上記構成によると、組込完了通知部は、組込データを情報処理端末に送信した外部機器のユーザ、または情報処理端末のユーザに対し、情報処理端末における組込データの組込みが完了したことを示すことができる。
【００９４】
本発明の各態様に係る情報処理端末は、コンピュータによって実現してもよく、この場合には、コンピュータを上記情報処理端末が備える各部（ソフトウェア要素）として動作させることにより上記情報処理端末をコンピュータにて実現させる情報処理端末の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００９５】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【００９６】
本発明は、携帯電話機、多機能携帯電話端末(スマートフォン等)、および携帯情報端末など複数の設定またはアプリケーションが組み込まれた情報処理端末に好適に利用することができる。特に、ＭＶＮＯが取り扱うＳｉｍフリーのスマートフォンなど、工場出荷時には通信事業者に係るネットワーク設定を施していない端末に対し好適に利用することができる。
【符号の説明】
【００９７】
１  スマートフォン（情報処理端末）
２  ＰＣ（外部機器）
１０  制御部
１１  初期化実行部
１２  アプリ実行部
１２１  起動無効化部
１２２  キッティングエリア書込判定部
１３  サービス実行部
１３１  ユーザエリア監視部
１３２  復号部（ハッシュ値算出部、復号部）
１３３  データチェック部
１３４  複製部
１３５  設定部
１４  データ書込部
１５  表示制御部
２０  通信部
３０  記憶部
３１  キッティングアプリプログラム
３２  キッティングサービスプログラム
３３  キッティングデータ（適用データ）
４０  表示部（書込開始通知部、組込完了通知部）
【図１】
0006393171.tif 000002
【図２】
0006393171.tif 000003
【図３】
0006393171.tif 000004
【図４】
0006393171.tif 000005
【図５】
0006393171.tif 000006
【図６】
0006393171.tif 000007
【図７】
0006393171.tif 000008
【図８】
0006393171.tif 000009
【図９】
0006393171.tif 000010